{"version":3,"sources":["Cleanup.js","Model.js","Scroll.js","JackpotInfo.js","DataLayer.js","Overlay.js","ErrorOverlay.js","JokerOverlay.js","StorageCheck.js","Params.js","Resize.js","NumberUtils.js","DateUtils.js","Utils.js","AccountIntegration.js","Confirm.js","Shake.js","HammerTime.js","LottiePlayer.js","SubscriptionValidationOverlay.js","Countdown.js","SelectDropdown.js","ReceiveWinnerMessage.js","Svg.js","Button.js","Dropdown.js","ModalDialog.js","Dictionary.js","Request.js","Texts.js","Alerts.js","Card.js","Reepay.js","Payment.js","AllOrNothingDictionary.js","AllOrNothingUtils.js","AllOrNothingApi.js","AllOrNothingInfo.js","AllOrNothingGame.js","KenoDictionary.js","KenoUtils.js","KenoApi.js","KenoInfo.js","KenoGame.js","EurojackpotDictionary.js","EurojackpotUtils.js","EurojackpotApi.js","EurojackpotInfo.js","EurojackpotGame.js","LottoDictionary.js","LottoUtils.js","SaturdayLottoApi.js","WednesdayLottoApi.js","LottoInfo.js","LottoGame.js","VikingLottoDictionary.js","VikingLottoUtils.js","VikingLottoApi.js","VikingLottoInfo.js","VikingLottoGame.js","PrintWrapper.js","GenericOverlay.js","NotificationBox.js","UIHelpers.js","MultiClientDictionary.js","LottieTopSpot.js","AccordionInfoOverlay.js","MultiBannerSpot.js","PackageGame.js","WizardPackageGame.js","ModelStorage.js","Api.js","Basket.js","GameController.js","Info.js","CreditCard.js","LoggedInOrOut.js","State.js","SubscriptionChecks.js","Tracking.js","Vars.js","AppBasketChecker.js","WeekPackageChecker.js","Subscription.js","Price.js","SubscriptionPeriods.js","GoTo.js","ModifiedGameAdd.js","ModifiedGameDelete.js","ModifiedGameNumbers.js","ModifiedGame.js","GameDetails.js","Games.js","ModifiableGames.js","SubscriptionDates.js","SubscriptionProperties.js","Helpers.js","GameLine.js","Gradient.js","RotarySelector.js","SimpleCubeLoader.js","GameSelector.js","StepInfo.js","FooterSection.js","CheckButton.js","Joker.js","Client.js","LightningClient.js","MultiClient.js","NumberBoxAnimation.js","InputRange.js","Checkbox.js","Loader.js","SimpleLoader.js","Error.js","JackpotRangeSlider.js","JokerToggle.js","SeparatorLine.js","PaymentMethods.js","ProceedBar.js","StepsIndicator.js","Step.js","Outputs.js","FlipClock.js","Modal.js","Header.js","Receipt.js","YourNextDraws.js","ToolTip.js","Jackpot.js","FundingErrorOverlay.js","PaymentMethodButton.js","ListItem.js","PauseOverlay.js","ReactivateOverlay.js","TerminateOverlay.js","TotalPricePerWeek.js","ChangeFunding.js","ChangePayout.js","AllornothingClassicClient.js","EurojackpotClassicClient.js","EurojackpotLuckyClient.js","EurojackpotSystemClient.js","LottoClassicClient.js","LottoLuckyClient.js","LottoSystemClient.js","VikinglottoClassicClient.js","VikinglottoLuckyClient.js","VikinglottoSystemClient.js","BoxWhite.js","ChooseGames.js","GamePad.js","Hero.js","HeroPackages.js","NumPad.js","Slider.js","TopNav.js","Loading.js","PriceChangeOverlay.js","ErrorMessage.js","GameCardEditClassicRows.js","GameCardEditJoker.js","GameCardEditRows.js","GameCardEditSystem.js","GameCardEditNumbers.js","GameCard.js","GamePayment.js","Notification.js","SubscriptionCard.js","Authentication.js","BasketOverview.js","ChangeFundingReceipt.js","ChangeFundingAndPayout.js","ChangeFundingAndPayoutReceipt.js","ChangePaymentPlan.js","ChangePaymentPlanReceipt.js","ChangePayoutReceipt.js","Created.js","Funding.js","GapFunding.js","GapFundingOverview.js","GapFundingReceipt.js","MakePaymentPlan.js","NoValidBankAccount.js","ReactivateReceipt.js","SubscriptionDetails.js","SubscriptionTerminated.js","SubscriptionTransactions.js","SubscriptionsNotAvailable.js","TopSpot.js","AddNewSubscriptionGame.js","ModifyGame.js","ModifyGameReceipt.js","TerminateSubscription.js","TerminateGameReceipt.js","TerminateSubscriptionReceipt.js","Subscriptions.js","ConvertOverview.js","ConvertDecide.js","Overview.js","Pause.js","Faq.js","PlusBulletPoints.js","ChooseGame.js","GameClients.js","Final.js","LightningJoker.js","LightningRows.js","Budget.js","FavoriteGame.js","Intro.js","NumberOfGames.js","Packages.js","Risk.js","DialogFlow.js","Wizard.js","PreviousSubscriptions.js","Game.js","CurrentJackpots.js","AddSubscriptionCta.js","PackageRotator.js","AudioListSpot.js","MultiTeaserCardsView.js","CampaignInformOverlay.js","SubscriptionBuilder.js"],"names":["defineDs","keys","Object","localStorage","now","Date","getTime","i","length","key","substring","item","JSON","parse","getItem","timestamp","RegExp","id","test","location","search","console","warn","removeItem","e","m","Cleanup","modelName","constructor","generateId","replace","c","r","Math","random","toString","cache","construct","content","state","save","record","this","prop","init","prototype","data","stringify","toJSON","setItem","update","updatedRecord","forEach","get","query","type","cached","val","json","bulk","push","filter","match","first","second","delete","new","callbacks","window","addEventListener","amount","$element","callback","Storage","TimeUtils","Utils","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","name","poolSizeDecimalsRequested","secondPrizeRequested","toLowerCase","indexOf","split","shift","join","items","GameId","currentDateTime","getCurrentDateTime","gameStopDate","gamestopExceeded","poolSize","PoolSizeDecimal","PoolSizeFormatted","poolSizeSecondPrize","SecondPrizePoolSizeDecimal","SecondPrizePoolSizeFormatted","numberFormat","poolSizeDecimal","poolSizeFormatted","minimumPoolSize","minimumPoolSizeDecimal","feedValid","str","Array","storeToCache","set","ready","Promise","resolve","reject","$jackpotInfo","document","querySelector","domData","innerHTML","domJson","pushJackpots","cacheData","getDynamicFeed","sitecoreEnv","pulje","iter","index","lastIndex","handleBarString","parseInt","localDataLayer","returnAsArray","array","isArray","event","payload","getDataLayer","ecommerce","dataLayer","variantName","brand","rows","playType","systemName","variant","slice","charAt","eurojackpotDrawDay","categoryName","category","quantity","getSystemCombinationAmount","rowPrice","feedData","numberOfDraws","draws","promoView","productArray","promotions","promoClick","productImpression","impressions","productDetail","detail","products","addToCart","add","removeFromCart","remove","checkout","step","option","actionField","purchaseCompleted","revenue","totalPrice","firstInteraction","lastInteraction","purchase","activeOverlays","template","$container","$wrapper","getElementById","classList","$overlayElement","clear","deferred","startComputation","removeOverlay","parentNode","removeChild","lowerOverlay","class","endComputation","bind","splice","redraw","className","promise","handleClose","render","$component","component","controller","view","mount","show","preventDefault","$overlay","createElement","body","appendChild","otherOverlay","action","self","$gameOverlay","concat","confirm","dismiss","dictionary","href","header","onclick","style","Render","JackpotInfo","DataLayer","game","d","jokerFeed","useDoubleSelector","gameVersionNo","jokerSaturday","jokerWednesday","noOpenDrawSaturday","openDraw","noOpenDrawWednesday","poolLabelSaturday","poolLabelWednesday","poolSizeSaturday","poolSizeWednesday","totalJokerPrice","jokerSaturdayPicked","jokerWednesdayPicked","jokerMultiplier","verticalType","pushVirtualPage","datalayerVirtualPage","wednesdayDrawDate","saturdayDrawDate","isSaturdayDrawBeforeWednesdayDraw","setButton","getCtaLabel","then","nodes","container","context","count","rendered","$button","element","jokerToggle","generatedJokerRows","parentElement","price","jokerPrice","withJokerWednesdayAndNoJokerSaturday","withJokerSaturdayAndNoJokerWednesday","availableJokerDay","jokerDrawDates","dayName","toggleWednesdayJoker","toggleSaturdayJoker","toggleButton","isJokerSelected","Boolean","closingTime","getDate","getMonth","config","depend","ev","stopPropagation","src","alt","trust","jokerLabel","date","pool","buttons","eventSyntax","label","getJokerRowsSummary","_document$querySelect","toggle","Overlay","ErrorOverlay","supported","MithrilParams","destruct","params","segments","properties","singles","segment","detect","extract","param","_location$hash","additional","existing","final","hash","hasParamsInHash","map","property","single","history","replaceState","title","pathname","removeParams","urlParams","existingUrlParam","includes","finalURL","setTimeout","uniqueParams","querySplit","paramsSplit","unique","formatCurrency","arguments","undefined","decimals","Number","isNaN","Intl","NumberFormat","currency","minimumFractionDigits","maximumFractionDigits","format","formatNumber","number","prefixNumberWithZeros","digits","padStart","NumberUtils","getYear","isDateInvalid","getFullYear","getWeekNumber","utcDate","UTC","dayNum","getUTCDay","setUTCDate","getUTCDate","yearStart","getUTCFullYear","ceil","formatDateDayMonthYear","DateTimeFormat","day","month","year","formatDateWeekDay","weekday","formatDateYearMonthDay","isWeekEndOfYearAndMonthIsJanuary","parseISO8601","dateObject","toLocaleString","timeZone","hours","minutes","seconds","timezone","timeOffset","parts","Error","parseTimeZone","monthName","formatISO8601","options","includeDate","includeTime","includeTimePrefix","includeYear","includeDayName","dayNameSeparatorFromDate","parsed","output","shortenMonthNames","shortenDate","getLongDate","addYear","dateObj","toISOString","toUpperCase","getNumberOfDaysInMonth","formatDateDayMonth","formatDateMonthYear","formatDateDayDateMonthYear","dayString","dateString","getDifferenceInMonths","date1","date2","months","d1","d2","getMatchingDateFromWeekAndYear","week","arrayOfDates","dateToMatch","getWeekAndYearFromHash","hashMatch","isSameDay","setWeekAndYearToHash","pushState","DateUtils","formatNaming","excludedNames","camelCase","allornothing","pascalCase","keno","kebabCase","alternative","alternativeNameFormat","_objectSpread3","openCoupon","protocol","hostname","getQueryParam","args","decodeURIComponent","prepareParamString","isMobile","isTabletDevice","elementFullyScrolledInViewport","selector","elem","getElementsByClassName","bounding","getBoundingClientRect","left","abs","width","right","innerWidth","Event","LoginCache","SitecoreAuth","LoginController","isSynced","subscribe","getUserData","userObj","getUserObj","customerInfo","getLoginStatus","loggedIn","triggerBalanceUpdate","DSAPI","Account","doBalanceUpdate","checkBalance","requiredAmount","debug","balance","openLogin","loginSuccessUrl","cancelUrl","openDeposit","url","DS","Config","PRETTYPREFIX","encodeURIComponent","instantAmount","openAccountPage","logout","AccountIntegration","authFailed","checkAuthAndBalance","isLoggedIn","checkAuth","balanceOk","error","getPurchaseError","errorType","handlePurchaseError","errorMessage","showErrorCallback","shakeCount","shakeState","ondevicemotion","accelerationIncludingGravity","x","y","z","a","MutationObserver","WebKitMutationObserver","b","DocumentTouch","documentElement","Hammer","f","g","navigator","userAgent","h","WebGLRenderingContext","getContext","time","getTouchAction","checkStyleString","getAttribute","shouldHammer","hasParent","target","lastStart","touchHandler","top","pos","focus","click","scrolled","touchStart","styleWatcher","styleUpdater","updateNext","hadTouchNone","oldValue","setAttribute","installStartEvents","installEndEvents","installObserver","observer","observe","subtree","attributes","attributeOldValue","attributeFilter","install","t","exports","_typeof","Symbol","iterator","REACT_ELEMENT_TYPE","_jsx","for","defaultProps","s","children","n","o","$$typeof","ref","props","_owner","_asyncIterator","asyncIterator","call","TypeError","_AwaitValue","wrapped","_AsyncGenerator","value","done","next","arg","_invoke","return","_wrapAsyncGenerator","apply","_awaitAsyncGenerator","_asyncGeneratorDelegate","throw","asyncGeneratorStep","_asyncToGenerator","_classCallCheck","_defineProperties","enumerable","configurable","writable","defineProperty","_createClass","_defineEnumerableProperties","getOwnPropertySymbols","_defaults","getOwnPropertyNames","getOwnPropertyDescriptor","_defineProperty","_extends","assign","hasOwnProperty","_objectSpread","ownKeys","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_inherits","create","_setPrototypeOf","_inheritsLoose","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_isNativeReflectConstruct","Reflect","sham","Proxy","valueOf","_construct","Function","_isNativeFunction","_wrapNativeSuper","Map","has","_instanceof","hasInstance","_interopRequireDefault","__esModule","default","_getRequireWildcardCache","WeakMap","_interopRequireWildcard","_newArrowCheck","_objectDestructuringEmpty","_objectWithoutPropertiesLoose","_objectWithoutProperties","propertyIsEnumerable","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_createSuper","_superPropBase","_get","_set","_taggedTemplateLiteral","freeze","raw","_taggedTemplateLiteralLoose","_readOnlyError","_writeOnlyError","_classNameTDZError","_temporalUndefined","_tdz","_temporalRef","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_slicedToArrayLoose","_iterableToArrayLimitLoose","_toArray","_iterableToArray","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","_arrayLikeToArray","_maybeArrayLike","from","_createForOfIteratorHelper","_createForOfIteratorHelperLoose","_skipFirstGeneratorNext","_toPrimitive","toPrimitive","String","_toPropertyKey","_initializerWarningHelper","_initializerDefineProperty","initializer","_applyDecoratedDescriptor","reverse","reduce","_classPrivateFieldLooseKey","_classPrivateFieldLooseBase","_classPrivateFieldGet","_classApplyDescriptorGet","_classExtractFieldDescriptor","_classPrivateFieldSet","_classApplyDescriptorSet","_classPrivateFieldDestructureSet","_classApplyDescriptorDestructureSet","_classStaticPrivateFieldSpecGet","_classCheckPrivateStaticAccess","_classCheckPrivateStaticFieldDescriptor","_classStaticPrivateFieldSpecSet","_classStaticPrivateMethodGet","_classStaticPrivateMethodSet","__destrObj","_classStaticPrivateFieldDestructureSet","_decorate","_getDecoratorsApi","initializeInstanceElements","elements","decorateClass","_coalesceClassElements","_createElementDescriptor","initializeClassElements","F","runClassFinishers","finishers","elementsDefinitionOrder","kind","placement","defineClassElement","descriptor","static","own","addElementPlacement","_hasDecorators","decorateElement","extras","decorateConstructor","decorators","fromElementDescriptor","toElementFinisherExtras","finisher","l","p","fromClassDescriptor","toClassDescriptor","toStringTag","toElementDescriptors","toElementDescriptor","disallowProperty","_optionalCallableProperty","_coalesceGetterSetter","find","_isDataDescriptor","_classPrivateMethodGet","_classPrivateMethodSet","_wrapRegExp","exec","groups","_extendStatics","__extends","_assign","__rest","__decorate","decorate","__param","__metadata","metadata","__awaiter","__generator","sent","trys","ops","pop","__createBinding","__exportStar","__values","__read","__spread","__spreadArrays","__spreadArray","__await","v","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__setModuleDefault","__importStar","__importDefault","__classPrivateFieldGet","__classPrivateFieldSet","isCEPolyfill","customElements","polyfillWrapFlushCallback","reparentNodes","nextSibling","insertBefore","removeNodes","marker","nodeMarker","markerRegex","boundAttributeSuffix","Template","createTreeWalker","strings","values","nextNode","nodeType","hasAttributes","endsWith","u","lastAttributeNameRegex","removeAttribute","tagName","currentNode","P","_","S","E","A","w","createMarker","C","createTextNode","T","previousSibling","k","D","isTemplatePartActive","createComment","walkerNodeFilter","removeNodesFromTemplate","nextActiveIndexInTemplateParts","countNodes","insertNodeIntoTemplate","directives","directive","isDirective","noChange","nothing","TemplateInstance","__parts","processor","setValue","commit","_clone","cloneNode","importNode","nodeName","handleTextExpression","insertAfterNode","handleAttributeExpressions","adoptNode","upgrade","policy","trustedTypes","createPolicy","createHTML","commentMarker","TemplateResult","getHTML","lastIndexOf","substr","getTemplateElement","SVGTemplateResult","super","firstChild","isPrimitive","isIterable","AttributeCommitter","dirty","_createPart","AttributePart","_getValue","committer","NodePart","__pendingValue","appendInto","startNode","endNode","appendIntoPart","__insert","insertAfterPart","__commitText","__commitTemplateResult","Node","__commitNode","__commitIterable","templateFactory","BooleanAttributePart","PropertyCommitter","PropertyPart","eventOptionsSupported","capture","removeEventListener","EventPart","eventName","eventContext","__boundHandleEvent","handleEvent","once","passive","__options","getOptions","templateCaches","stringsArray","keyString","render$1","DefaultTemplateProcessor","defaultTemplateProcessor","litHtmlVersions","html","svg","getTemplateCacheKey","compatibleShadyCSSVersion","ShadyCSS","prepareTemplateDom","shadyTemplateFactory","TEMPLATE_TYPES","removeStylesFromLitTemplates","Set","querySelectorAll","shadyRenderSet","prepareTemplateStyles","textContent","nativeShadow","scopeName","host","createDocumentFragment","styleElement","_a","JSCompiler_renameProperty","defaultConverter","toAttribute","fromAttribute","notEqual","defaultPropertyDeclaration","attribute","converter","reflect","hasChanged","STATE_HAS_UPDATED","STATE_UPDATE_REQUESTED","STATE_IS_REFLECTING_TO_ATTRIBUTE","STATE_IS_REFLECTING_TO_PROPERTY","finalized","UpdatingElement","HTMLElement","initialize","observedAttributes","finalize","_classProperties","_attributeNameForProperty","_attributeToPropertyMap","_ensureClassProperties","createProperty","noAccessor","getPropertyDescriptor","requestUpdateInternal","getPropertyOptions","_valueHasChanged","_propertyValueFromAttribute","_propertyValueToAttribute","_updateState","_updatePromise","_enableUpdatingResolver","_changedProperties","_saveInstanceProperties","_instanceProperties","_applyInstanceProperties","connectedCallback","enableUpdating","disconnectedCallback","attributeChangedCallback","_attributeToProperty","_propertyToAttribute","_reflectingProperties","_hasRequestedUpdate","_enqueueUpdate","requestUpdate","updateComplete","performUpdate","hasUpdated","shouldUpdate","_markUpdated","firstUpdated","updated","_getUpdateComplete","size","legacyCustomElement","define","standardCustomElement","customElement","standardProperty","legacyProperty","internalProperty","renderRoot","legacyQuery","standardQuery","queryAsync","queryAll","standardEventOptions","legacyEventOptions","eventOptions","ElementProto","Element","legacyMatches","msMatchesSelector","webkitMatchesSelector","queryAssignedNodes","assignedNodes","flatten","ELEMENT_NODE","matches","supportsAdoptingStyleSheets","ShadowRoot","Document","CSSStyleSheet","constructionToken","CSSResult","cssText","styleSheet","_styleSheet","replaceSync","unsafeCSS","textFromCSSResult","css","litElementVersions","renderNotImplemented","LitElement","getStyles","styles","_getUniqueStyles","reduceRight","unshift","_styles","cssRules","createRenderRoot","adoptStyles","attachShadow","mode","adoptedStyleSheets","_needsShimAdoptedStyleSheets","ScopingShim","prepareAdoptedCssText","localName","commonjsGlobal","globalThis","global","createCommonjsModule","path","require","commonjsRequire","getCjsExportFromNamespace","lottie","module","svgNS","locationHref","initialDefaultFrame","_useWebWorker","subframeEnabled","idPrefix","expressionsPlugin","isSafari","cachedColors","bmRnd","bmPow","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","ProjectInterface","createSizedArray","defaultCurveSegments","degToRads","PI","roundCorner","roundValues","round","styleDiv","position","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","BMAnimationConfigErrorEvent","createElementID","_count","HSVtoRGB","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","BaseEvent","triggerEvent","_cbs","createTypedArray","Uint8ClampedArray","Float32Array","Int16Array","createNS","createElementNS","createTag","DynamicPropertyContainer","addDynamicProperty","dynamicProperties","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","getBlendMode","blendModeEnums","lineCapEnum","lineJoinEnum","Matrix","cos","sin","tan","_t","shear","_identityCalculated","M","_identity","getInverseMatrix","applyToPointArray","isIdentity","reset","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","clone","cloneFromProps","equals","inversePoints","inversePoint","j","charCodeAt","fromCharCode","seedrandom","entropy","Uint8Array","crypto","msCrypto","getRandomValues","plugins","screen","int32","quick","double","pass","BezierFactory","getBezierEasing","_p","_mSampleValues","_precomputed","_precompute","_getTForX","_calcSampleValues","extendPrototype","getDescriptor","createProxyFunction","bezFunction","bezierLengthPool","newElement","percents","lengths","addedLength","segmentLength","points","partialLength","point","getSegmentsLength","segmentsLengthPool","_length","totalLength","getNewSegment","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","requestAnimationFrame","cancelAnimationFrame","clearTimeout","bez","dataManager","onmessage","postMessage","_workerSelf","Worker","Blob","URL","createObjectURL","completed","tt","td","hasMask","masksProperties","pt","ty","layers","refId","shapes","__used","ks","it","assets","chars","__converted","closed","cl","singleShape","completeData","__complete","checkColors","checkChars","checkPathProperties","checkShapes","completeLayers","assetLoader","getResponseHeader","responseType","response","responseText","load","XMLHttpRequest","onreadystatechange","readyState","status","open","send","fullPath","animation","onComplete","onError","loadAnimation","origin","loadData","completeAnimation","getFontProperties","fStyle","weight","fWeight","FontManager","fontFamily","innerText","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","offsetWidth","node","parent","fFamily","fClass","font","fonts","typekitLoaded","isLoaded","_warned","initTime","setIsLoadedBinded","setIsLoaded","checkLoadedFontsBinded","checkLoadedFonts","isModifier","isZeroWidthJoiner","isCombinedCharacter","addChars","ch","addFonts","list","loaded","monoCase","sansCase","fPath","fOrigin","rel","helper","getCharData","getFontByName","fName","measureText","getComputedTextLength","PropertyFactory","offsetTime","propType","pv","keyframes","keyframesMetadata","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","atan2","asin","acos","keyframeMetadata","comp","renderedFrame","_caching","interpolateValue","mult","globalData","frameId","effectsSequence","lock","setVValue","_isFirstFrame","kf","vel","addEffect","st","getProp","TransformPropertyFactory","pre","appliedTransformations","px","py","pz","rx","ry","rz","or","sk","sa","_isDirty","applyToMatrix","precalculateMatrix","autoOriented","frameRate","getValueAtTime","autoOrient","_addDynamicProperty","getTransformProperty","ShapePath","_maxLength","setPathData","setLength","pointPool","doubleArrayLength","setXYAt","setTripleAt","ShapePropertyFactory","interpolateShape","paths","localShapeCollection","shapePool","releaseShapes","addShape","shapeCollectionPool","newShapeCollection","convertEllToPath","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","os","convertRectToPath","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","ShapeModifiers","ob","modifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","RoundCornersModifier","PuckerAndBloatModifier","RepeaterModifier","ShapeCollection","DashProperty","dataProps","renderer","dashStr","dashArray","dashoffset","GradientProperty","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","initModifierProperties","addShapeToModifier","shape","setAsAnimated","processKeys","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","release","processShapes","totalShapeLength","addShapes","addPaths","addSegment","addSegmentFromArray","rd","processPath","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","elemsData","_currentCopies","_elements","_groups","resetElements","_processed","cloneElements","changeGroupRender","_render","ix","nm","reloadShapes","op","mProps","comparePoints","buildShapeString","audioControllerFactory","audios","audioFactory","_volume","_isMuted","addAudio","pause","resume","setRate","createAudio","Howl","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","ImagePreloader","height","fillStyle","fillRect","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","setInterval","getBBox","_imageLoaded","clearInterval","assetData","assetsPath","img","_footageLoaded","testImageLoaded","createFootageData","images","loadAssets","_createImageData","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","createImgData","crossOrigin","createImageData","setAttributeNS","_elementHelper","append","imageLoaded","footageLoaded","setCacheType","featureSupport","maskType","filtersFactory","TextAnimatorProperty","_hasMaskedPath","_frameId","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","TextAnimatorDataProperty","sw","sc","fc","fh","fs","fb","TextSelectorProp","getTextSelectorProp","LetterProps","TextProperty","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","of","sz","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","searchProperties","maskManager","getMaskProperty","getMeasures","mHelper","tLength","pi","I","R","V","O","L","B","N","G","H","q","W","U","Y","X","$","K","J","Q","Z","et","defaultPropsArray","rt","at","nt","animatorJustifyOffset","getMult","anIndexes","totalChars","line","ind","extra","an","ot","ht","atan","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","fontManager","rn","updateDocumentData","recalculate","canResizeFont","setMinimumFontSize","_currentTextLength","finalS","finalE","xe","ne","sm","textProperty","poolFactory","pooling","factory","markerParser","trim","tm","duration","dr","cm","BaseRenderer","SVGRenderer","animationItem","svgElement","description","layerElement","renderConfig","preserveAspectRatio","imagePreserveAspectRatio","contentVisibility","progressiveLoad","hideOnTransparent","viewBoxOnly","viewBoxSize","focusable","filterSize","frameNum","defs","pendingElements","destroyed","rendererType","CanvasRenderer","clearCanvas","dpr","wrapper","devicePixelRatio","currentGlobalAlpha","contextData","CVContextData","transformMat","HybridRenderer","threeDElements","camera","supports3d","MaskElement","storedData","maskElement","viewData","solidPath","inv","lastPath","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","addRenderableComponent","HierarchyElement","FrameElement","TransformElement","RenderableElement","RenderableDOMElement","ProcessedElement","SVGStyleData","lvl","hd","pElem","msElem","SVGShapeData","caches","transformers","lStr","SVGTransformData","SVGStrokeStyleData","SVGFillStyleData","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","checkLayers","ip","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","AudioElement","FootageElement","buildAllItems","includeLayers","setProjectInterface","projectInterface","initItems","buildElementParenting","setAsParent","setHierarchy","addPendingElement","searchExtraCompositions","xt","initExpressions","registerComposition","setupGlobalData","getAssetData","getAssetsPath","imageLoader","imagePreloader","audioController","fr","compSize","NullElement","SVGShapeElement","SVGTextLottieElement","IImageElement","SVGCompElement","ISolidElement","configAnimation","updateContainerSize","appendElementInPos","setMatte","layerId","checkParenting","renderFrame","currentFrame","prepareFrame","getBaseElement","hide","CVShapeElement","CVTextElement","CVImageElement","CVCompElement","CVSolidElement","ctxTransform","cTr","canvasContext","ctxOpacity","globalAlpha","cO","restore","cArrPos","duplicate","saved","savedOp","blendMode","mozTransformOrigin","transformCanvas","sx","tx","isDashed","offsetHeight","canvas","beginPath","rect","closePath","clip","clearRect","ddd","addTo3dContainer","getThreeDContainerByPos","HShapeElement","HTextElement","HCameraElement","HImageElement","HCompElement","HSolidElement","startPos","endPos","perspectiveElem","createThreeDContainer","webkitTransform","build3dContainers","resizerElem","overflow","setup","webkitPerspective","perspective","finalTransform","mat","mProp","getMaskelement","initHierarchy","hierarchy","_isParent","initFrame","prepareProperties","initTransform","_matMdf","_opMdf","ao","renderTransform","globalToLocal","initRenderable","isInRange","hidden","isTransparent","renderableComponents","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","renderRenderable","sourceRectAtTime","getLayerSize","textData","initElement","initBaseData","initRendererElement","createContainerElements","createRenderableComponents","createContent","baseElement","renderElement","renderInnerContent","innerElem","destroyBaseElement","stops","setGradientData","setGradientOpacity","gf","cst","lc","lj","ml","ms","ost","maskId","SVGElementsRenderer","createRenderFunction","ShapeTransformManager","sequences","sequenceList","transform_key_count","CVShapeData","styledShapes","transforms","addTransformSequence","trNodes","BaseElement","SVGBaseElement","IShapeElement","ITextElement","ICompElement","sourceRect","_isPlaying","_canPlay","audio","_currentTime","_placeholder","footageData","textSpans","renderType","shapesData","stylesList","shapeModifiers","itemsData","processedElements","animatedContents","SVGTintFilter","filterManager","matrixFilter","effectElements","SVGFillFilter","SVGGaussianBlurEffect","feGaussianBlur","SVGStrokeEffect","initialized","SVGTritoneFilter","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feOffset","feFlood","feMergeNode","feMerge","originalNodeAdded","processSequence","processSequences","getNewKey","checkMasks","layerInterface","LayerExpressionInterface","registerMaskInterface","EffectsExpressionInterface","createEffectsInterface","registerEffectsInterface","compInterface","CompExpressionInterface","shapeInterface","ShapeExpressionInterface","textInterface","TextExpressionInterface","text","setBlendMode","bm","sr","effectsManager","EffectsManager","getType","matteElement","transformedElement","_sizeChanged","createFilter","createAlphaToLuminanceFilter","ln","renderableEffectsManager","SVGEffects","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","addProcessedElement","textAnimator","buildNewText","createPathShape","applyTextPropertiesToMatrix","buildColor","emptyProp","setElements","getElements","destroyElements","pr","FootageInterface","getFootageData","textContainer","buildTextContents","bbox","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","setShapesAsAnimated","createStyleElement","addToAnimatedContents","createGroupElement","createTransformElement","createShapeElement","fn","setElementStyles","renderShape","childNodes","masker","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","ef","filters","CVBaseElement","CVMaskElement","hasMasks","transformsManager","stroke","fill","currentRender","sWidth","fValue","CVEffects","HBaseElement","shapesContainer","currentBBox","textPaths","isMasked","pe","_prevMat","HEffects","findSymbol","replaceInParent","setElementAsMask","createElements","globalCompositeOperation","hideElement","showElement","drawImage","moveTo","lineTo","bezierCurveTo","transformHelper","opacity","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","renderShapeTransform","drawLayer","coOp","strokeStyle","grd","lineWidth","lineCap","lineJoin","miterLimit","setLineDash","lineDashOffset","pts","renderPath","renderFill","renderStroke","renderGradientFill","renderStyledShape","createLinearGradient","createRadialGradient","addColorStop","tHelper","checkBlendMode","tg","addEffects","backgroundColor","_createBaseContainerElements","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","bottom","tempBoundingBox","calculateF","calculateBoundingBox","currentBoxContains","compW","compH","color","strokeWidth","lineHeight","Image","imageElem","animationManager","isPaused","AnimationItem","setData","advanceTime","registerAnimation","setParams","setSpeed","setDirection","stop","togglePause","searchAnimations","getElementsByTagName","resize","goToAndStop","unfreeze","getRegisteredAnimations","currentRawFrame","frameMult","playSpeed","playDirection","playCount","animationData","autoplay","loop","animationID","timeCompleted","segmentPos","isSubframeEnabled","_idle","_completedLoop","markers","onSetupError","onSegmentComplete","animType","rendererSettings","autoloadSegments","initialSegment","setupAnimation","fileName","trigger","getNamedItem","prerender","loadNextSegment","loadSegments","imagesLoaded","checkLoaded","preloadImages","updaFrameModifier","waitForFontsLoaded","triggerConfigError","gotoFrame","setSubframe","triggerRenderFrameError","setCurrentRawFrameValue","getMarkerData","frameModifier","goToAndPlay","playSegments","checkSegments","adjustSegment","setSegment","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","getPath","getDuration","Expressions","pushExpression","popExpression","registerExpressionProperty","ExpressionManager","fetch","frames","$bm_isInstanceOfArray","isNumerable","$bm_neg","easeInBez","easeOutBez","easeInOutBez","sum","sub","mul","div","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","normalize","rgbToHsl","hue2rgb","hslToRgb","linear","createPath","initiateExpression","needsVelocity","_needsRandom","elemType","$bm_transform","effect","thisProperty","valueAtTime","frameDuration","displayStartTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","mask","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","active","wiggle","loopInDuration","loopOutDuration","getVelocityAtTime","velocity","textIndex","textTotal","selectorValue","lookAt","easeOut","applyEase","easeIn","ease","nearestKey","framesToTime","timeToFrames","seedRandom","randSeed","posterizeTime","executeExpression","frameExpressionId","expressionHelpers","searchExpressions","getSpeedAtTime","_cachingAtTime","getStaticValueAtTime","setGroupProperty","propertyGroup","_transformCachingAtTime","propertyIndex","vertices","inTangents","outTangents","isClosed","pointOnPath","_segmentsLength","vectorOnPath","tangentOnPath","normalOnPath","shapeValue","lastTime","getExpressionValue","calculateExpression","ShapePathInterface","propertyGroupFactory","PropertyInterface","_name","mn","numProperties","cix","np","ExpressionPropertyInterface","startPoint","endPoint","dash","end","start","offset","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","roundness","radius","copies","sourceText","getMatrix","applyPoint","invertPoint","toWorldVec","fromWorldVec","sampleImage","TransformExpressionInterface","anchor_point","startTime","source","MaskManagerInterface","dataInterfaceFactory","outlineInterface","dataInterface","layer","pixelAspect","numLayers","xRotation","yRotation","xPosition","yPosition","zPosition","compositions","enabled","en","_mask","_data","speedAtTime","TextExpressionSelectorPropFactory","lastValue","propertyGetTextProp","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","GroupEffect","setLocationHref","standalone","setSubframeRendering","setIDPrefix","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","queryString","useWebWorker","__getFactory","version","scripts","myScript","bodymovin","_templateObject$1","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","PlayerState","PlayMode","PlayerEvents","parseSrc","isLottie","every","fromURL","_fromURL","Destroyed","Frozen","Loading","Paused","Playing","Stopped","Bounce","Normal","Complete","Frame","Freeze","Load","Loop","Pause","Play","Ready","Rendered","Stop","LottiePlayer","background","controls","currentState","hover","intermission","speed","_io","_counter","shadowRoot","_lottie","webworkers","_attachEventListeners","dispatchEvent","CustomEvent","getLottie","seeker","snapshot","XMLSerializer","serializeToString","download","setLooping","togglePlay","toggleLooping","disconnect","_onVisibilityChange","renderControls","IntersectionObserver","isIntersecting","_handleSeekChange","_prevState","frame","amd","MithrilRedrawEverySecond","diffSeconds","countdownTime","days","disabled","headlineText","gameName","noOpenDraw","alternativeHeadline","ignoredElement","OutsideClick","DOMUtils","dropdownActive","selected","select","$selectDropdown","$selectPlaceholder","$selectOptions","$selectOptionsList","$selectOptionsItem","setScrollTop","scrollTop","$options","maxHeight","$placeholder","placeholderHeight","calculateElementOuterHeight","$selectOptionsBox","$optionsList","$optionsItem","dropdownListHeight","dropdownHeight","itemHeight","selectPosition","getElementOffset","scrollY","possibleMaxHeight","windowHeight","innerHeight","styleClassPrefix","iconUrl","onchange","withAttr","notifyPrizeEmail","notifyPrizeSms","svgName","modifier","xmlns","extend","eventId","uiTestId","classes","loading","onkeydown","Svg","model","valid","validState","errorList","subdrop","defaultItem","placeholder","toggled","subDropToggled","subDropMaxHeight","dropdown","curValue","validate","blur","ctrl","matchMedia","allItems","selectedValue","centered","offsetTop","msg","Button","button","close","ModalDialogObj","shouldBeComponent","closable","stackButtons","readMore","subText","renderKey","ctrlOrHandleClose","registerElementOrVnode","obj","iosPositionFix","registerElement","scroll","behavior","ignoredError","Dictionary","ApiRequest","ModalDialog","errorMapping","Title","Detail","Id","showErrorModal","ensigtenErrorId","errorId","ErrorCode","pushGaEvent","prefix","dialogcontent","modalIcon","errorTitle","Message","ID","formatErrorResponse","message","errors","newKey","deserialize","returnVal","unwrapSuccess","unwrapError","headers","preventModal","dPath","noTitle","noSubtitle","noText","noCtaLabel","dictionaryOptions","subtitle","ctaLabel","Texts","cssModifier","texts","card","rootCtrl","isEmpty","paymentApp","onClick","hasOnClick","isSelected","allowPrimarySelection","checkForSubscription","newCardLabel","expiredLabel","showCardIcons","canDelete","cardDisplayName","cardName","addNew","checked","cardId","isAssociatedWithSubscription","cardExpirationDate","expired","isApplePay","maskPartialPan","cardNumberObfuscated","cardNumber","expirationDate","setPrimaryCard","dialogDeleteCard","Reepay","include","token","retries","WindowCheckout","isApplePayAvailable","_window$Reepay","isTopFrame","isApp","isGooglePayAvailable","Request","baseUrl","CONTEXTPREFIX","reepayUrl","types","CARD_PAYMENT","BS_PAYMENT","makePayment","paymentType","paymentDetails","method","PaymentData","AuthorizationToken","makeAuthorizationToken","cardType","contextType","externalId","orderId","saveCard","bonusCode","acceptUrl","ledger","preauth","subtype","drawingPeriod","authorize","getCurrentPaymentDetails","getPaymentMethod","paymentMethodId","isTablet","AllOrNothingUtils","baseURL","createCoupon","getInfo","getRandomNumbers","row","numbers","getShuffledNumbers","getCoupon","couponId","getCompletedDrawsData","localCacheTTL","getWinningNumbers","AllOrNothingApi","isFeedDown","$allOrNothingFeedData","confirmUrl","numberOfDaysUrl","getDrawRepeatOptions","drawRepeatOptions","sort","getDrawRepeatDefault","getLightningOptions","lightningOptions","getLightningDefaultRowCount","getOpenDraw","getStakeDefault","stakeOptions","IsDefault","Value","Model","AllOrNothingInfo","AllOrNothingGame","_this","infoFeed","api","_generatedRows","numberOfDrawsOptions","numbersIntervalMax","numbersPerRow","purchaseTracked","rebuyCouponId","rowsToGenerate","startUrl","stakePerRow","isProductDetailsTracked","isAddToCartTracked","isPurchaseCompleteTracked","plusSubscriptionJackpot","firstDepositInfo","drawDays","numbersPerRowMax","addNumber","autogenerated","getRow","addRow","rowCount","autogenerateNumbers","rowNumber","requiredNumbers","generatedNumber","sets","areAllRowsValid","isRowValid","autofillClassicRows","_asyncToGenerator2","promises","emptyRows","fullyGeneratedRows","rowsNumbers","rowNumbers","emptyRow","all","gameGenerateRows","generatedRows","getRows","hasNumber","copyFromOldCoupon","multiWagers","games","drawDateHtmlShort","dates","drawDates","firstDate","lastDate","draw","futureDate","setDate","hasJoker","isGameValid","numbersLeft","trackPurchase","trackingPurchaseComplete","drawId","getRowsSummary","multidraw","salesChannel","useGenerated","summary","getNumbersForRow","prepareNextStep","nextStep","nextStepUrl","sync","removeNumber","removeRow","removeAllRows","resetRow","setRow","sendToSubscription","trackingAddToCart","createDataLayerProduct","subscription","dataLayerProducts","product","getRowAmount","trackingProductDetails","setNumberOfDraws","sortRow","rowAmount","setupGame","gameInstanceId","gotoKenoClosed","KenoUtils","getCompletedDrawDates","getCompletedDraws","getKenoSystemTables","systemTables","getKenoInfo","KenoApi","$kenoFeedData","getStakeOptions","getPrizeGroups","rowLength","prizes","prizeGroups","correctNumbers","winning","getChanceRatio","chanceRatio","KenoInfo","KenoGame","classicMaxRows","numbersPerRowMin","numberOfNumbersPerRow","systemLevel","autogenerate","nextRow","generated","gameAutogenerate","setStakePerRow","stake","getSystemString","level","pricePerRow","system","minimumRowLength","calculateWinnings","prizeGroup","drawDateHtml","delimiter","result","systemNumbers","EurojackpotUtils","baseJokerURL","getEurojackpotInfo","getEurojackpotWinningNumbers","getJokerWinningNumbers","endpointUrl","jokerType","getSystemWinningProbabilities","starNumbers","getSystemKeys","getRandomJokerNumbers","getSubscribeReminder","setSubscribeReminder","EurojackpotApi","jokerData","playSystems","getPlaySystems","systemNames","splitted","counts","selectedNumbersCount","rowsCount","getSystemNames","systems","names","$eurojackpotFeedData","getDrawRepeatMax","drawRepeatMax","getJokerPrice","dayData","getClassicOptions","_data$classicOptions","classicOptions","getClassicDefaultRowCount","_data$classicOptions2","getLuckyRowOptions","luckyOptions","getLuckyDefaultRowCount","EurojackpotInfo","EurojackpotGame","_this2","_generatedJokerRowsSaturday","_generatedJokerRowsWednesday","withJokerSaturday","withJokerWednesday","playTogetherDepositType","rowPriceChanged","originalNumberOfDraws","originalPrice","reducedWeeks","clientContext","trackedInteractionCreationAction","manualGameVersionNo","originalGameVersionNo","stakePerJoker","starNumbersIntervalMax","starNumbersPerRowMax","getSystemNumberAmount","starNumbersPerRowMin","totalNumbersPerRowMax","addStarNumber","starNumber","removeStarNumber","requiredStarNumbers","manualSelectedNumbers","manualSelectedStarNumbers","generatedNumbers","generatedStarNumbers","selectedNumbers","systemKeys","gameGenerateJokerRows","proceed","jokerSaturdayRows","jokerWednesdayRows","prepareConfirm","createDataLayerJoker","numberOfJokers","coupon","firstDrawName","variantBrandName","fallbackFakeCouponId","checkOnlyMaxLimit","totalNumbers","hasStarNumber","drawsFromEurojackpotInfo","firstDraw","firstDrawIndex","jokerDraws","firstWednesdayJoker","firstSaturdayJoker","rawDrawsDataFromInfoFeed","drawTimes","feedDraw","drawDatesWithoutJokerInfo","drawObject","campaigns","campaignNumbers","drawDay","saturdayDraws","wednesdayDraws","combinedDraws","localeCompare","campaignDrawsCount","wantedCampaign","_draw$campaigns","_draw$campaignNumbers","_draw$campaignNumbers2","some","campaignNumber","checkGeneratedConsistency","getSystemRowAmount","rowIndex","totalRowsPricePerDraw","drawIndex","singleDrawPerWeekTotal","getJokerCount","hasValidRows","isSubscriptionValid","multiClientPath","receiptUrl","rebuyDrawRepeatMax","gameType","extraNumbers","_this$linkToPlusPurch","link","linkToPlusPurchase","linkArr","LottoUtils","trackingURL","createPersonalizedCoupon","brandName","componentDataJson","timeout","clearPersonalizedCoupon","getWinningNumbersLotto","getLottoInfo","SaturdayLottoApi","Base","_data$classicOptions3","_data$classicOptions4","getCampaignOptions","campaign","campaignOptions","getCampaignDefaultRowCount","lottoSaturday","$lottoFeedData","saturday","WednesdayLottoApi","LottoInfo","LottoGame","_this3","extraCouponId","firstDrawNo","firstWagerPrice","upsellExtra","originalExtraDraw","minimum","playSystem","generateSystemRows","setFirstDrawNo","setUpsellExtra","hasExtraDraws","gameExtraDraws","hasUpsellExtra","isAdvanceBuy","productCopy","maximum","_this$extraDraw","drawsFromLottoInfo","advanceBuy","feedDrawDates","_draw$drawType","drawType","_draw$drawType2","extraDraw","extraDrawDate","feedDrawTime","_this$extraDraw2","campaignData","_draw$campaigns2","_draw$campaignNumbers3","_draw$campaignNumbers4","_this$infoFeed$data","_draw$drawType3","_draw$drawType4","extraDrawPrice","_this$extraDraw3","isNumberOfDrawsExceed","feed","_data$multiWagers","_data$multiWagers2","wager","_wager$drawType","_this$linkToPlusPurch2","savedCoupon","VikingLottoUtils","getVikingLottoInfo","vikingNumber","VikingLottoApi","$vikingLottoFeedData","getClassicRowOptions","_data$classicOptions5","getClassicRowDefaultRowCount","_data$classicOptions6","getLightningRowOptions","getDefaultRowCount","VikingLottoInfo","VikingLottoGame","_this4","vikingNumbersIntervalMax","vikingNumbersPerRowMax","vikingNumbersPerRowMin","addVikingNumber","removeVikingNumber","requiredVikingNumber","generatedVikingNumber","_row$vikingNumber","hasVikingNumber","rowVikingNumber","drawsFromVikingLottoInfo","_draw$campaigns3","_draw$campaignNumbers5","_draw$campaignNumbers6","_this$linkToPlusPurch3","tab","ejpv2","onbeforeprint","print","printContent","printContentContext","renderCount","chunks","dom","isValidAndGenerated","redone","chunkNumber","emptyChunk","lastChunk","difference","total","innerDom","winningsProbabilities","winningsGroups","column","mainNumbers","colspan","group","columns","winningNumbers","systemType","correct","frequency","fifth","additionalNumbers","third","fourth","useLottieFile","lottieUrl","onRendered","svgUsePath","imageCaption","subheading","bodyView","confirmProcessing","confirmCallBack","ignoreLottiePlayer","GenericOverlay","notificationKey","notifications","notification","image","replacements","asOverlay","genericOverlayDictionary","dismissText","Scroll","Resize","getPositionRelativeToWindow","offsetLeft","scrollLeft","clientLeft","clientTop","offsetParent","columnDivider","columnsOptions","columnIndex","columnContent","ignoreItem","itemIndex","stickyComponent","_ref5","topLimit","ignoreIsRendered","checkPosition","distance","containerOffsetTop","clientHeight","topLimitValue","innerTopLimit","newPosition","isInitialized","contains","ResizeObserver","mainDictionary","dictionaries","defaultDictionary","closeButton","okayButton","nextButton","nextButtonWithRow","nextButtonWithRows","nextButtonWithoutPrice","nextButtonPlus","purchaseErrors","lightningRow","lightningRows","helpOverlay","subscriptionOptionLabel","multiDrawsLabel","singleDrawLabel","noJokerLabel","multipleJokerLabel","wednesdayJokerLabel","saturdayJokerLabel","bothJokerLabel","jokerSublabel","jokerSublabelDrawInProgress","jokerSublabelPoolSize","jokerSublabelPoolSizeBoth","depositHeader","depositText","depositButton","confirmTitle","tableDraw","tableRows","tableWeeks","tableChosenSystemNumbers","tableJoker","tableJokerWednesdayAndSaturday","tableJokerWednesday","tableJokerSaturday","tableJokerNo","tableJokerAddButton","tableTotal","gameVendor","termsLink","viewTerms","receipt","setDictionary","_dictionaries","deepMerge","entries","CrossWindowEvents","prevDevice","getDevice","device","addLottie","_ref6","_options$isInit","_options$$parent","_$parent$dataset","isInit","_$parent","$parent","dataset","settings","player","lottieBackgroundSmall","lottieBackgroundMedium","lottieBackgroundLarge","responseLottie","ok","statusText","strLottie","_unused","_x","setupLottie","_ref7","_x2","addTrackingToCta","_$parent$querySelecto","$cta","pushGaEventOnPageRedirect","searchAndReplaceVariables","dataMap","keySuffix","$elements","elementText","_options$$parent$hasC","_options$$parent2","hasChildNodes","formatJoker","feedText","jackpotData","_LottoInfo$data","_VikingLottoInfo$data","_EurojackpotInfo$data","closingTimeData","closingTimeDays","_date","$spots","$spot","Component","route","_this$settings$accord","selectedItemIndex","openedFrom","variables","dateVariable","_value","captionText","headerText","subheadingText","bodyText","accordionItems","confirmButton","dismissButton","overlay","confirmAction","onClose","onListRender","$items","toggleItem","$item","isItemSelected","$itemBody","$itemBodyInner","itemsList","generateItem","_this$confirmButton","_this$dismissButton","srcIdentifier","genericOverlayOptions","onConfirm","LottieUtils","Modal","_ref9","_ref8","topSpotSettings","$topSpot","$lottieContainer","initializeLottie","lottieMobile","mobileLottieSrc","lottieTablet","tabletLottieSrc","lottieDesktop","desktopLottieSrc","lottieReplacements","_x3","zeroPad","num","places","initializeCountdown","_ref12","_ref11","$countDown","$countDownTimeWrapper","mainDrawClosingTime","$days","$hours","$mins","$secs","elapsedSinceLastTick","firstRenderCycle","previousCountdown","mins","secs","updateCountdown","timeDiff","getServerDateTime","compoundTimeObj","getCompoundTimeObject","_ref10","currentCountdown","updateCountdownClock","_x4","setupTopSpot","_ref15","topSpotSettingsString","flashText","$countDownContentWrapper","$countDownFlashyText","intervalId","isConnected","_ref14","$callToAction","targetUrl","URLSearchParams","isSamePageLink","timeoutId","eventHandler","unsubscribe","fire","region","initializeCallToAction","_ref13","videoModal","extraClassNames","videoUrl","setContent","playsinline","preload","build","elPlayIcon","_elPlayIcon","initializeVideoBanner","_ref16","classNames","queryAttributes","icon","parseSize","renderedContent","queryAttributesReplace","$svg","mutations","mutation","addedNodes","svgConstructor","_$svgIconFromCache$ge","$cacheContainer","$svgContainerFromCache","$svgIconFromCache","childList","viewBoxValues","_width","_height","svgDOM","outerHTML","onRedraw","PackageGame","gameIds","packageId","addGame","gameInstances","models","dataLayerProduct","WizardPackageGame","numberOfJokerWednesdays","numberOfJokerSaturdays","infoData","jokerWednesdayOpenDrawPrice","jokerSaturdayOpenDrawPrice","foundJokerWednesdaysInPackage","foundJokerSaturdaysInPackage","totalPricePerWeek","Params","PackageModel","basket","package","wizardpackage","storageName","storage","basketContent","isBasketEmpty","basketProperties","gameNameForTracking","_packageModel$informa","packageDescription","information","weekPackageData","exists","lowerCased","trackBasketCheckout","_game$totalPrice","_game$rowCount","_storage$basketProper","_game$rows","_game$systemName","localKey","ModelStorage","basePAMURL","baseSubscriptionURL","baseFaqURL","createSubscription","getBankAccounts","getDataLayerProducts","ignoredEx","getOrCreateBankAccount","registrationNumber","accountNumber","getFaqArticle","getFaqItems","searchParams","getSubscription","getSubscriptionDetails","getSubscriptionGapFunding","getSubscriptionTransactions","getSubscriptionsOverview","templateStates","getSubscriptionIds","stateFilter","getActiveSubscriptionIdsWithGame","getWizardGames","getWizardPackages","numberOfGames","risk","budget","getWizardPricePoint","getWizardRefreshCache","getWizardRisk","pauseSubscription","resumeSubscription","registerGapFunding","terminateSubscription","terminateSubscriptionGame","gameDataId","modifyGame","gameData","changePaymentPlan","sgKey","updateSubscriptionGapFundingMethod","paymentId","updateSubscriptionFundingMethod","fundingMethod","fundingId","fundingPaymentId","fundingPaymentMethod","updateSubscriptionPayoutMethod","paymentMethod","payoutPaymentMethod","getPauseSubscriptionDetails","getPauseSubscriptionDuration","setPauseSubscription","isJackpot","isFeedDownForAGameInBasket","_basket$allornothing","_basket$eurojackpot","_basket$keno","_basket$lotto","_basket$vikinglotto","_basket$wizardpackage","_basket$package","failedFeeds","allOrNothingIsDown","eurojackpotIsDown","kenoIsDown","lottoIsDown","vikinglottoIsDown","pack","_packGames$allornothi","_packGames$eurojackpo","_packGames$keno","_packGames$lotto","_packGames$vikinglott","packGames","isGameInBasket","_basket$allornothing2","_basket$eurojackpot2","_basket$keno2","_basket$lotto2","_basket$vikinglotto2","_basket$wizardpackage2","gameNames","_packGames$allornothi2","_packGames$eurojackpo2","_packGames$keno2","_packGames$lotto2","_packGames$vikinglott2","pricePerWeek","selectedViaHeader","toggleShowMore","headerSelect","gameController","showMore","drawingTimes","serverTime","getServerTime","getGameType","extractDrawingTime","drawingTime","getDrawingTime","getDrawingTimeByGame","getDraws","firstDrawDate","lastDrawDate","last","filterDraws","getFirstSpecificWeekDayOnOrAfterDate","dayOfWeek","startDate","firstComingDay","getDateAsString","_AllOrNothingInfo$dat","_EurojackpotInfo$data2","_KenoInfo$data","_LottoInfo$data2","_VikingLottoInfo$data2","getGameInfoData","_LottoInfo$data3","getUTCMonth","hasEurojackpotGameBeenConverted","checkIfEurojackpotDrawDayCouldBeATuesday","dateAsString","isConverted","checkDate","drawDayIsATuesday","getDay","getHours","getMinutes","getSeconds","cardTypeIcons","ApplePay","APPLEPAY_DK","APPLEPAY_MC","APPLEPAY_VISA","APPLEPAY_VISA_ELEC","BS","DK","dankort","ELEC","visa_dk","VISA","visa","VisaElectron","visa_elec","MC","mc","Maestro","MTRO","Dinersclub","DIN","Card","CARD","MPO_mc","MPO_visa","mpo_visa_dk","errorCodeMapping","resolveFundingType","getFirstDrawingTimeAfterDate","afterDate","firstDrawingTimeAfterDate","futureDraws","dateBasedAfterDate","firstDayAfterAfterDate","drawTime","getFirstDrawingTimeOnOrAfterDate","onOrAfterDate","drawDate","getPlayType","getDrawDataByDate","_getGameInfoData","getFirstDrawWithCampaign","_ref17","_getGameInfoData2","campaignNameSegment","effectiveDate","matchingCampaign","_draw$campaignData","isDrawingDateToday","Payment","Info","addLabelToExpiredCards","cards","expiredCardLabel","postFix","addDetailsToNewCards","cardTypes","sortCreditCardsByExpiryDate","preferedCard","getAllowedCards","allowSubscriptions","addNewCardAllowed","storedCards","maxNumberOfCards","newCard","existingCards","provider","getCardTypes","getLatestAddedCard","storedCardsNow","storedCardsBefore","getStoredCards","getNewAllowedCards","newCards","getStoredAndAllowedNewCards","sortedCards","newAndStoredAllowedCards","loggedInFn","loggedOutFn","getReturnUrl","launch","doNotTriggerLogIn","triggerLogInModal","subscribeUserLoggedIn","subscribeUserLoggedOut","loggedOut","cookie","BOSSOCONTEXT","initialStates","states","hasError","subscriptionIsActive","subscriptionResponse","templateState","subscriptionState","subscriptionCanBeGapOrAdhocFunded","subscriptionGapFundingResponse","fundingMethodSubType","subscriptionIsWeeklyAndHasFailedFirstFunding","_subscription$firstDe","breadCrumb","page","breadcrumb","setBreadCrumb","trackEvent","stepName","trackPackageOffers","packages","trackRouteChange","subRoute","MithrilUtils","getPricePerWeekForGame","_game$type","_game$type$match","costPerDraw","longDate","getTimeStamp","toLocaleTimeString","hour","minute","hour12","addOneDayToDate","oneDayMoreDate","calculateTotalPricePerWeekForSubscription","paymentPlanMultiplier","paymentPlanPeriod","multiplier","instance","paymentPlanPeriodInWeeks","extendObject","objArr","gameIsDayOrWeek","hasJackpot","isEurojackpotV2","addOnTriggerValue","getCardFromCardId","getGameSystem","getGameRowCount","getLongDateWithTime","getSessionStorage","sessionStorage","getShortDate","shortDate","getShortDateWithTime","timeStamp","getDayDateAndMonth","toLocaleDateString","getErrorPath","errorCode","leftPad","string","character","currentLength","rawLink","getParamKey","getParamKeys","getParamsString","baseLink","addParam","addParams","addParamKeys","paramKey","removeParam","addCurrentParams","currentParams","paramKeys","currentParam","currentKey","onEnterViewportListener","detach","attachTo","attachOptions","func","wait","immediate","withDelay","ratio","bcr","intersection","threshold","callNow","parseError","exceptionMessage","back","err","setSessionStorage","sortGamesByDrawDateAndName","dateA","dateB","subtractOneDayFromDate","oneDayLessDate","triggerLogin","capitalize","word","getPriceChangeDictionaryPath","priceChangedGames","gamesInBasket","dictionaryPath","gameIdentifier","formattedAmount","short","long","formattedDates","shortWithTime","longWithTime","gapFundingVars","endDate","endDatePlusOneDay","endDateMinusOneDay","_res$gapPeriod","_res$gapPeriod2","_res$nextDrawPeriod","_res$nextDrawPeriod2","res","remainingGapAmount","gapPeriod","nextDrawPeriod","drawRecurringAmount","gapFundingRemainingAmount","gapFundingRemainingAmountLong","gapFundingDrawRecurringAmount","gapFundingDrawRecurringAmountLong","gapFundingDateEffectiveDate","gapFundingDateEffectiveDateLong","gapFundingDateEffectiveDateRaw","gapFundingDateFirstDrawWithoutGap","firstDrawWithoutGap","gapFundingDateFirstDrawWithoutGapLong","gapFundingDateFirstDrawWithoutGapRaw","gapFundingDateLastDayBeforeFirstDrawWithoutGap","gapFundingDateLastDayBeforeSubscriptionStartLong","gapFundingDateNextDrawWithGap","nextDrawWithGap","gapFundingDateNextDrawWithGapLong","gapFundingDateNextDrawWithGapRaw","gapFundingDateStart","gapFundingDateStartLong","gapFundingDateStartRaw","gapFundingDateEnd","gapFundingDateEndLong","gapFundingDateEndRaw","gapFundingDateEndPlusOneDay","gapFundingDateEndPlusOneDayLong","gapFundingDateEndPlusOneDayRaw","gapFundingDateEndMinusOneDay","gapFundingDateEndMinusOneDayLong","gapFundingDateEndMinusOneDayRaw","subscriptionVars","_res$firstDepositInfo","_res$firstDepositInfo2","_res$firstDepositInfo3","_res$firstDepositInfo4","_res$firstDepositInfo5","_res$firstDepositInfo6","_res$firstDepositInfo7","_res$firstDepositInfo8","_res$firstDepositInfo9","subscriptionDateCreated","createdDate","subscriptionDateCreatedLong","subscriptionDateEffectiveDate","subscriptionDateEffectiveDateLong","subscriptionDateEffectiveDateRaw","subscriptionDateNextActivePeriodStart","nextActivePeriodStart","subscriptionDateNextActivePeriodStartLong","subscriptionDateNextDrawWithGap","subscriptionDateNextDrawWithGapLong","subscriptionDateFirstDepositInfoDeadline","firstDepositDeadline","subscriptionDateFirstDepositInfoDeadlineWithTime","subscriptionDateFirstDepositInfoDeadlineLong","subscriptionDateFirstDepositInfoDeadlineLongWithTime","subscriptionDateFirstDepositInfoDeadlineRaw","subscriptionDateFirstDepositInfoUpcomingDrawDate","upcomingDrawDate","subscriptionDateFirstDepositInfoUpcomingDrawDateLong","subscriptionDateFirstDepositInfoUpcomingDrawDateLongWithTime","subscriptionDateFirstDepositInfoUpcomingDrawDateRaw","subscriptionDetailsVars","subscriptionDetailsResponse","subscriptionDetailsDateEnd","subscriptionDetailsDateEndLong","subscriptionDetailsDateEndRaw","subscriptionDetailsDateEndMinusOneDay","subscriptionDetailsDateEndMinusOneDayLong","subscriptionDetailsDateEndMinusOneDayRaw","subscriptionDetailsDateFirstDraw","subscriptionDetailsDateFirstDrawLong","subscriptionDetailsDateFirstDrawRaw","subscriptionDetailsDateLastDraw","subscriptionDetailsDateLastDrawLong","subscriptionDetailsDateLastDrawRaw","subscriptionDetailsDateStart","subscriptionDetailsDateStartLong","subscriptionDetailsDateStartRaw","transactionVars","subscriptionTransactionsResponse","transactionAmount","transactionAmountLong","transactionBalance","transactionBalanceLong","transactionDateCreated","createdAt","transactionDateCreatedLong","transactionDateCreatedPlusOneDay","transactionDateCreatedPlusOneDayLong","appPlusBasketKey","gameModels","Lotto","Vikinglotto","Eurojackpot","AllOrNothing","Keno","useAppBasketModel","getGamesFromAppBasket","appPlusBasketModel","gamesFromAppBasket","appGameModel","gameModel","_gameType","clearAppBasket","Basket","_ref18","_packageModel$informa2","setupSubscription","handleEmptyBasket","packageCoupons","coupons","gamesModelsMap","EuroJackpot","LottoSaturday","VikingLotto","basketGameTypesMap","_couponMainGame$rows","_couponJokerSaturday$","_couponJokerWednesday","couponMainGame","couponGames","couponJokerSaturday","couponJokerWednesday","Api","Subscription","bsAgreement","bsAgreementId","costPerWeek","currentPeriodFundingErrorCode","currentPeriodFundingStatus","drawPeriods","fundingPaymentMethodId","gapFundingAmount","gapFundingGames","gapFundingPaymentMethodId","gapFundingSelectedCard","gapFundingTotalAmount","gapFundingTransaction","isGapFunded","onHoldUntil","payoutPaymentId","payoutPaymentMethodId","payoutPaymentMethodType","subscriptionType","updatedDate","updates","createPayload","totalCostPerWeek","packageGame","resolveGameType","gameInstance","isSystem","isKenoMillion","rowData","instances","isActive","isInactive","isOnHold","isTerminated","isActiveTerminated","resolveGameNames","simpleState","updateGapFundingMethod","prices","pricesFormatted","getPrices","defaultStake","getPricesFormatted","getPrice","getPriceFormatted","getDrawPeriods","_ref20","subscriptionDetailsRes","periods","period","isNotFunded","fundingState","getCurrentPeriod","_ref21","activePeriod","getLastPaidPeriod","_ref22","getUpdatedDrawPeriods","_ref23","_ref19","getUpdates","drawPeriod","updateDate","getNextPeriod","_ref24","currentPeriod","periodMatchingNextActivePeriodStart","currentPeriodStartDate","nextPeriods","goTo","getLink","getGaEvent","gaEvent","sendGaEvent","_ref25","delay","_x5","linkWithSubscriptionId","linkWithSubscriptionIdAndReturnUrl","returnUrl","linkWithSubscriptionIdAndGameId","subscriptionId","_ref29","gameId","_x6","_this5","dButtonLabels","newSelectedSystem","selectedSystem","modal","classicRowNumbers","firstRowNumbers","gameSettings","selectedAddRowNumbers","modifyClassicRowIndex","getSelectedNumbers","clearSelectedNumbers","updateModal","autoFillNumbers","_newSelectedSystem","randomNumbers","selectedExtraNumbers","foundEnoughClassicNumbers","foundEnoughSystemNumbers","_randomNumbers","_randomNumbers2","_randomNumbers3","_randomNumbers$0$star","catch","toggleNumber","updateClassicNumbers","rowObj","newRows","updateLuckyNumbers","luckyNumbers","updateSystemNumbers","foundAllNumbers","foundAllExtraNumbers","numbersRequired","extraNumbersRequired","foundEnoughLuckyNumbers","selectedLength","maxLuckyTotalNumbers","requiredExtraNumbers","enableAddRowButton","updateSystem","addClassicRow","modifyClassicRow","extraNumber","addRowButtonDisabled","hideLogo","deleteRow","requiredMinimumRows","minimumRows","dButtonLabel","storedClassicRowNumbers","makeArrayOfClassicRowNumbers","preSelectNumbers","makePlaySystemObj","currentPlaySystem","currentPlaySystemFoundInPlaySystems","excludedSystems","playSystemObj","extraNumbersConverted","maxLuckyNumbers","maxLuckyExtraNumbers","lightningRowNumbers","rowChoices","Add","Delete","Numbers","clonedGame","withJokers","numberOfRows","changedDiff","systemHasChanged","rowNumbersHasChanged","rowsHasIncreased","rowsHasDecreased","jokerSaturdayWasAdded","jokerSaturdayWasRemoved","jokerWednesdayWasAdded","jokerWednesdayWasRemoved","Price","pauseInfo","editGame","editGameLink","convertEurojackpotGameLink","editGameChangeDate","shouldShowEditOption","convertEurojackpot","pricePerWeekFormatted","shouldShowTerminateOption","terminateGameFn","modifiableGames","showConvertEurojackpotConversionDate","showTemplateEffectiveDate","showEditClassicRows","showEditJokers","showEditRows","showEditOptions","getJackpotNextDrawValue","triggerValue","rowPriceFormatted","jokerPriceFormatted","hasGameExpired","isArchived","gameChangedReason","reason","canTerminateSubscription","canEurojackpotGameBeConverted","templateGame","getTemplateGame","canBeConverted","canGameBeChanged","sitecoreAllowsGameModifications","templateIsOnHold","currentPeriodHasFundingFailed","nextPeriodHasFundingFailed","canGameBeTerminated","sitecoreAllowsGameDeletion","editJokerPrice","editRowsPrice","gameChangedReasonLabel","pauseStatus","pauseStart","upcomingPauseDate","pauseEnd","unpauseDate","gameChangedDate","lastInstanceEndDate","gameLastInstanceEndDate","instancesWithGame","drawGames","drawGame","templateId","_lastInstanceGame$las","lastInstance","lastGame","gameTypeLabel","modified","hasJokerSaturday","hasJokerWednesday","jokerLabelTerminated","nextDrawLabel","paymentPlanHasNotStarted","isInActive","nextDrawValue","firstDrawAfterConversion","lastInstanceGame","getLastInstanceGame","gapFundingInstance","getEffectiveFromDate","_subscription$unpause","sgInstances","firstAvailableDrawingTime","templateChangesValidFrom","formattedPrice","rowsAndPriceLabel","kenoRowPrice","eurojackpotTuesdayLabel","eurojackpotFridayLabel","rowPriceLabel","rowsPrice","showEditLuckyNumbers","showEditSystem","GameDetails","ModifiedGame","allInstances","hasGameChanged","game1","game2","game1GameType","game2GameType","game1PlayType","game2PlayType","hasGameSameProperties","isGame1RowsEmpty","isGame2RowsEmpty","areRowsTheSame","setGameProperties","setProperties","templateGameId","activeGames","currentInstance","activeAndCommittedInstances","activeInstances","nextInstances","activeGame","nextInstance","nextGame","checkIfInstanceGameHasChanged","eurojackpotGameBeenConverted","gameIsMarkedAsDeleted","markEurojackpotGamesAsConverted","getActiveGames","gameDetails","getLastDrawDateInstanceGame","dsPlus","Plus","dsPlusDisabled","PlusDisabled","subscriptionHasEurojackpotGame","disableAllModifications","eurojackpotDisableGapFunding","eurojackpotDisableAdHocFunding","eurojackpotDisableEditingForBsSubscriptions","eurojackpotDisableEditingForCcSubscriptions","eurojackpotDisableEditingForJackpotSubscriptions","hasEurojackpotSpecificDisabledItems","disableEurojackpotGapFunding","disableEurojackpotAdHocFunding","disableEurojackpotEditingForBsSubscriptions","disableEurojackpotEditingForCcSubscriptions","disableEurojackpotEditingForJpSubscriptions","isGameModifiable","isBsFunded","isGameDeletable","deleteSubscription","sitecoreAllowsSubscriptionTermination","disabledNotificationText","_ref31","subscriptionRes","details","formatted","_subscriptionRes$paus","nextFundingDate","fundedInstances","activeFundedInstances","_ref32","_props$state","_subscriptionDetailsR","_subscriptionRes$temp","SubscriptionChecks","SubscriptionPeriods","OldSubscriptionModel","Games","SubscriptionDates","SubscriptionProperties","subscriptionPeriods","dsInstance","sgTemplate","_ref33","_ref34","_ref36","getSgTemplate","_ref47","cloneObj","getDsInstance","_ref50","getSgInstances","_ref51","getHasWeeklyPaymentPlan","_ref55","_template$paymentPlan","paymentPlan","_ref58","gapFundingRes","subscriptionModel","updatedDrawPeriods","nextPeriod","_ref35","_ref37","getFundingPaymentMethod","_ref38","getFundingPaymentMethodId","hasNoPeriods","_ref41","getHasNoPeriods","_ref49","getInstances","_ref48","getGapFundingInstance","_ref39","getTemplateChangesValidFrom","lastDrawDateTerminatedSubscription","_ref40","lastDrawDates","getLastDrawDateTerminatedSubscription","canAdHocOrGapFund","_ref57","fundingType","hasWeeklyPaymentPlan","hasChangedPaymentPlan","_ref56","lastPaidPeriod","templatePaymentPlanPeriodInWeeks","changedFromDate","costPerPaymentPlan","_ref52","_ref53","_ref54","_dsInstance$fundingSt","hasFundingFailed","_ref42","getPauseInfo","_ref45","getPaymentPlan","_ref44","getPaymentPlanPeriodInWeeks","_ref46","getPaymentPlanHasNotStarted","currentPaymentPlanPeriodInWeeks","_ref43","getCurrentPaymentPlanPeriodInWeeks","keyProp","gamesInstances","ignoreErrors","errorState","terminateGame","summarizeSubscription","reducedSubscriptionGames","accumulator","existingReducedSubscription","newReducedSubscription","LabelDictionary","dictionaryPlaceholder","jackpotLogoLabel","plusSubscriptionLabel","totalPerDraw","totalPerWeek","jackpotActivationFrom","singularRowCount","multipleRowsCount","feedDownDescription","gameLogos","gameBadges","danishPlayTypesDictionary","classic","lucky","lightning","customLabels","getLabel","displayGameNames","SubscriptionUtils","Helpers","_ref59","drawDaysCount","assetGameName","gameLogo","dayBoolean","_ref60","_ref61","wrapperClass","viewBox","x1","y1","x2","y2","gradientUnits","colorsMap","cardShadow","plusDefaultBackground","jackpotDefaultBackground","_ref62","_ref63","gradientBackground","colors","toReversed","Gradient","GameLine","_ref64","subscriptionAsPayload","jackpotTriggerAmount","gamesList","subscriptionTotalPrice","feedDownGames","isFeedDownMap","rawGames","tempGames","tempGameNames","tempFeedDownGames","_game$game","_isFeedDownMap$gameDa","tempFeedDownGame","gamesData","gameListItemController","_ref65","_ref66","cardGradientBackground","isLoading","ribbon","_ref67","deceleration","selectedOption","selectedOptionIndex","activeRotation","idleRotation","selectOption","swipeHandler","onPress","isPressed","startX","touches","clientX","startRotation","onRelease","isSwipeMotion","onMove","deltaX","indexFromRotation","_ref68","valuePostfix","transformProperty","descriptionSlot","transformValue","selectorNumbersStructure","numberWrapperClass","dataId","diff","cubeInnerFace","cubeFace","playTypes","goToRoute","GlobalUtils","capitalizedPlayType","dictionaryFolder","_this$preGameClientSt","currentFlowStepIndex","preGameClientStep","currentFlowStep","getText","mcDictionary","playTypeText","infoTitle","infoText","showInfoOverlay","infoOverlayDictionary","hideInfoButton","UIHelpers","_controller$preGameCl","navigateToStep","goToFlowStep","showCtaButton","stepsCount","flowStepsNames","stepStartIndex","preGameClientStepShowCtaButton","askForDeposit","useQuickDeposit","_controller$preGameCl2","headerBottomDistanceToTheTop","$stepHeader","ctaSlot","_controller$property","numbersPickerCtaSlot","numbersPickerGoToNextFlowStep","goToNextFlowStep","canGoToNextStep","nextButtonLabel","_controller$isThemeOn","gameSelectorOptions","isVisible","isThemeOn","onSelect","configCollapsible","wrapperNode","checkNode","buttonNode","wrapperContext","isCollapsed","showDetails","toggleCollapsible","activeSecondaryCtas","collapseAnyOtherSection","isDisabled","attrs","extraKey","_onSelect","sublabel","iconIndicator","secondaryCta","NumberGamesRotarySelector","onInput","CheckButton","NotificationBox","_this$verticalType","showError","isStepValid","jokerOptions","selectedJoker","toggleState","_controller$jokerHatI","_controller$settings$2","_controller$settings$3","playAsSubscription","jokerCount","jokerHatIcon","hasDrawInProgress","_controller$settings$","drawsInProgress","jokerWednesdayInProgress","jokerSaturdayInProgress","jokerInProgress","poolWednesday","poolSizes","poolSaturday","firstAvailableJokerDay","activeSecondaryCta","onSelectToggle","jokerOptionsItems","subLabel","_jokerData$jokerWedne","_jokerData$jokerSatur","_feed$getOpenDraw","jokerDraw1","jokerDraw2","minPool","_option","_game$gameExtraDraws","_game$upsellExtra","jokerDates","jokerDatesDetails","SimpleCubeLoader","flowStepsStructure","loadedGameClient","loadGame","loadingClient","requireDs","GameClient","gameClientComponent","loadDependencies","dependencies","dependenciesPaths","generateFlowStepsComponents","_flowSteps","dependency","preloadedStepsDependencies","lazyLoaded","flowStepClassName","individualFlowStepStructure","stepIndex","lazyLoadDeferred","canRenderStepContent","renderCondition","stepStructure","flowStepConfig","$elem","gameClient","_description","_controller$campaign","_controller$isThemeOn2","jackpotText","isOpenDrawPartOfCampaign","activeCampaignModel","campaignType","campaignExtraDraw","_controller$activeCam","_controller$campaign2","descriptionRowsCount","ticketsCount","descriptionDictionary","campaignName","hasActiveCampaign","showCampaignInformOverlay","isCampaignEngineOn","checkingForActiveCampaign","useNewNumbersPicker","RotarySelector","NumberGamesLightning","rootSettings","rootProperty","rowsOptions","defaultRowCount","Confirm","MultiClientUtils","CampaignEngineApi","GameSelector","StepInfo","FooterSection","Client","GameModel","rootController","_this6","defaultSteps","_this$_flowSteps","_this$flowSteps","flowSteps","initialRenderCycle","hasAddedHoejpuljeToBasket","scrollWrapperToTop","hasCampaignAsPartOfDraws","activeCampaignData","_this$skipCampaignEng","showOnboarding","isThemingEnabled","tag","campaignTag","graphics","primaryColor","secondaryColor","tertiaryColor","activeCampaign","campaignNo","features","enableOnboarding","enablePurchaseFlowGraphics","onboardingTexts","onboardingTitle","onboardingBody","skipCampaignEngineColors","forceShow","_this$genericOverlay","overlayId","logoSimple","genericOverlay","removingGameFromBasket","getGaEventObj","_this$game","_this$game$firstDrawN","_this$verticalType2","_this$activeCampaignD","strategy","flowPath","confirmErrorOverlay","errorTexts","_ref70","_ref69","ignoreRegion","_x7","goToNextFlowStepActions","nextStepIndex","stepCustomActionBeforeGoToNext","_this$verticalType3","multiClient","goToPreviousFlowStep","_this$preGameClientSt2","gameExtraDrawsCount","gameTotalDrawsWithoutJokerCount","_this$infoFeed$getOpe","_this$infoFeed","previousStepIndex","showFooterSection","showButton","showBackButton","_this$preGameClientSt3","root","eventTriggerReceipt","rowsParams","availablePlayTypes","getActiveCampaignForGame","_this$skipCampaignEng2","_this$infoFeed$getOpe2","_this$infoFeed2","_this$game$rawDrawsDa","_this$game2","setCssHslVariables","hexColor","variableName","isValid","checkGameModel","subscriptionGameInstance","subscriptionGameInstances","gameInstanceIdSource","gameSetupOptions","showPreGameClientStep","showGameSelector","checkForMultiClientAnchor","scrollToTopOnRouteChange","numberBoxEl","animationSteps","animationStepsCounter","steps","animateNumberAnimation","originEl","destinationEl","originBox","destinationBox","getComputedStyle","_ref72","defaultValue","stepSize","stepValue","currentTarget","handler","_ref73","inputRangeTicks","ticks","maxValue","minValue","tickEls","oninput","_ref74","handleCheck","uniqueReference","toggleDropdown","showCardTypes","cb","toggleLabel","disclaimer","selectedCard","cardExpiration","infoLabel","cube","cubeWrapper","$cube","$cubeWrapper","animationName","cubeFaces","emoji","cubeFaceWithEmoji","generateCubeFaces","Loader","ignoredHammerTime","interval","jackpotInterval","maskSpaces","jackpotMaximum","jackpotMinimum","sliderPipes","jackpotSelected","bar","slider","white","$back","$bar","$mask","$slider","$white","barWidth","calculateElementOuterWidth","currentPosition","delta","deltaBegin","hammer","barSliderWidth","on","deltaDifference","finalPosition","millions","hasWednesdayJoker","hasSaturdayJoker","bothJoker","withJoker","toggleJoker","SeparatorLine","_ref75","_selectedCreditCard2","administerNewCards","bsEnabled","mobilePayEnabled","applePayEnabled","changeAccountNumber","changeCreditCard","changeRegistrationNumber","creditCardEnabled","maxNumberOfCreditCards","selectedAccountNumber","selectedCreditCard","selectedRegistrationNumber","setFundingType","showBsFunding","showCreditCardFunding","showMobilePay","showApplePay","_card$cardExpirationD","_card$cardExpirationD2","_selectedCreditCard","$top","allOk","verify","sticky","barHeight","topTop","containerHeight","containerTop","aboveViewport","belowViewport","relativeViewport","paddingTop","containerEnd","scrollBottom","numberOfSteps","in","stdDeviation","in2","ProceedBar","Step","showSteps","showProceedBar","deleteProceedNext","deleteProceedBack","stepArr","getStepIndicator","deadline","countersBefore","countersActive","toggleStates","flipper","counter","valBefore","formatCounter","valActive","FlipClock","errorPath","vars","countDown","modalDelayDone","showModal","modalProceed","infoSubtitle","buttonConfirmLabel","buttonConfirmSubLabel","buttonDeclineLabel","buttonDeclineSubLabel","modalDelay","closeModal","_ref76","center","h1","gaEventAction","secondary","slim","cta","_ref77","_controller$fundedCar","_controller$fundedCar2","_controller$gapFunded","_controller$gapFunded2","_controller$outputVar","_subscription$status","_controller$fundedCar3","_controller$gapFunded3","_controller$gapFundin","_controller$outputVar2","fundedCardNumber","fundedCard","fundedCardType","gameInfo","gapFundedCardNumber","gapFundedCard","gapFundedCardType","gapPaymentMethod","outputVars","subscriptionIsStillOnlyInBasket","priceDifference","showHigherPriceExplanation","testText","fundedWithApplePay","gapFundedWithApplePay","fundedAddApplePay","gapFundedAddApplePay","isGameInPackage","_game$type2","_game$type2$match","showOptionToRemoveBothJokersOrNone","showOptionToRemoveSingleJoker","totalPriceForGameLabel","jokerSection","handleRemoveJoker","bsId","receiptTotalPrice","role","cy","cx","getGameTotalCostPerWeek","_game$drawDays","drawsPerWeek","gameIsInPackage","handleRemoveGame","gamesInPackage","_allornothing$eurojac","_allornothing$eurojac2","_data$draws","getRowCountPrice","jackpot","dPaymentMethods","transaction","_ref78","separatorLineLabel","mappedGames","gamesUniqueByGameType","firstDrawingTimeOnOrAfterDate","drawData","rowStructure","_ref79","rowBlock","superMillionaireCampaignDraw","modalLeft","isTooltipOpen","toggleTooltip","bodyRect","baseRect","modalRect","defaultModalLeft","InputRange","_this$settings$jackpo","subscriptionD","jackpotOptions","jackpotQuickSelectOptions","jackpotDefault","selectedJackpot","onChange","updateJackpot","paramJackpotLimit","quickSelectOptions","inputValue","jackpotValue","closestJackpot","prev","curr","closestJackpotIndex","otherJackpotIndex","otherJackpot","ignoredConfirm","selectedFundingType","selectFunding","hasRows","renderId","$list","$shadow","$rows","rowHeight","CreditCard","_controller$selectedC","selectCard","selectedCardId","applePay","newApplePay","payoutId","payoutType","validBankAccounts","validNemKontoAccounts","formatAccountNumber","account","bankCode","isCancelled","subscriptionsMode","AllOrNothingDictionary","AllOrNothingClassicClient","GameController","jokerEnabled","EurojackpotDictionary","EurojackpotClassicClient","currentRow","EurojackpotLuckyClient","luckyRowOptions","EurojackpotSystemClient","filteredPlaySystems","LottoDictionary","LottoClassicClient","LottoLuckyClient","LottoSystemClient","VikingLottoDictionary","VikingLottoClassicClient","VikingLottoLuckyClient","VikingLottoSystemClient","boxIcon","boxCta","hideHeader","gamesToDisplay","selectedVal","selectedGame","clickHandler","gamePad","sortOrder","BoxWhite","_document$querySelect2","heroImage","isLottieRendered","staticTopSpots","boxText","boxCtaLabel","handleProceed","proceedCta","reload","handleDefault","defaultCta","logoSrc","proceedLabel","defaultLabel","numbersToDisplay","selectedNumber","numPad","numpad","showProceed","showGoBack","canProceed","proceedClicked","backClicked","proceedLabelAmount","proceedHandler","backHandler","minLabel","minSubLabel","maxLabel","maxSubLabel","showToolTip","showTicks","rangeWidth","setRangeWidth","wizardTicks","thumbSize","navigate","SimpleLoader","ctaCallback","dError","Text","tryAgain","TryAgain","dErrorFallback","titleFallback","textFallback","tempState","ignoreDictionary","combineEurojackpotJokers","GameCardEditRows","GameCardEditClassicRows","GameCardEditJoker","GameCardEditSystem","GameCardEditNumbers","ErrorMessage","Header","customCta","showLogoAndLabel","convertEurojackpotGame","logo","_ref80","_subscription$nextFun","_subscription$nextFun2","addApplePay","isSubscriptionFundedByCard","changeFunding","storedCard","_subscription$bsAgree","totalCost","lastDayBeforeChangedDate","drawGamesTotalCostPerWeek","ModifiableGames","_ref81","hideNotifications","showNotification","ctaFn","ctaSecondaryFn","ctaSecondaryLabel","notificationType","gapPayment","_storedCard$cardExpir","makeGame","GameCard","GamePaymentDetails","Notification","_ref82","shouldShowChangeFundingOption","canChangeFunding","shouldShowChangePayoutOption","changePayout","canChangePayout","shouldShowDeleteGameOption","shouldShowPauseGameOption","pauseGame","pauseDate","shouldShowChangePaymentPlanOption","showSettingsButton","_subscription$bsAgree2","created","seasonalTexts","seasonalText","isArchivedNotTerminated","resumePausedGame","badgeAndTypeMap","badge","colorMap","gameModelMap","gameTypeToStorageType","_ref83","onClickRedirectionLink","summarizedSubscription","gradientStringCache","getBorderColors","colorSet","firstPart","secondPart","gradientString","kenoGameDetailsProcessor","allOrNothingDetailsProcessor","euroJackpotJackpotServiceProcessor","addSubscriptionGameToBasket","extraNumbersName","gameProcessor","newRow","vertical","reactivateSubscription","subscriptionGames","badgeAndType","LoggedInOrOut","State","backLink","proceedLink","signUpLink","login","signUp","ifLoggedIn","ifLoggedOut","JokerOverlay","KenoDictionary","actionActive","basketMaxHeight","basketPurchaseLink","initialDataLayerProducts","minimumRowsEurojackpot","minimumRowsKeno","minimumRowsLotto","minimumRowsVikinglotto","minimumRowsAllOrNothing","overlayToggling","removingGame","queryParams","showNoGames","basketIsOnWizardPage","basketStyleBar","eurojackpotManualGameVersionNo","allGamesValid","activeGameValid","getGameValidity","basketStyle","_document$querySelect3","buttonState","gameValid","gamesAmount","numbersAmount","desktop","mobile","rowsLeft","rowsAmount","changeGame","gameReconstruct","gamesAdded","added","isPackage","serverIsV2","clientGameIsV1","getRowCount","rowsLength","itemClassName","markAsAdded","didAppear","removeGame","_game$rows2","_game$withJokerSaturd","_game$withJokerWednes","_self$games","_GameController$activ","removeJoker","subitemClassName","dataLayerTracking","shouldShowBasket","hasEurojackpotV2","isWizardPackage","validity","wednesday","isEurojackpotJackpot","subitemStructure","labelText","AppBasketChecker","WeekPackageChecker","Checkbox","Receipt","YourNextDraws","_this7","backLinkJackpot","fundingLink","termsAccepted","gamesWithPriceChanges","showTerms","checkForPriceChanges","showPriceChangeOverlay","priceChangesDictionary","proceedLinkFunding","mapSubscriptionToFitReceipt","isPlus","_game$game$systemName","_game$game2","_game$game$drawDays","_game$game3","_game$game$rowsToGene","_game$game4","_game$game$withJokerW","_game$game5","_game$game$withJokerS","_game$game6","_game$game$plusSubscr","_game$game7","getCostPerDraw","_game$type3","_game$type3$match","handleTermsAccepted","isGameInSubscription","mcGameId","mcGameType","handleTerms","ignoreRendered","hasEventListenerAdded","$showTerms","headerOptions","Alerts","Outputs","ChangeFunding","logoutLink","newCardAdded","addDeclined","modalDictionary","bankAccounts","fundingTypeChanged","loggedInOrOut","originalFundingAccountNumber","originalFundingRegistrationNumber","selectedFundingAccountNumber","selectedFundingRegistrationNumber","alert","updateProceedBarState","selectedCardIsDisabled","selectedCardIsAllowed","selectedCardIsBarred","cardBarred","selectedCardIsExpired","noStoredCards","success","syncBankAccountsAndSubscription","bankAccountFundingMatch","creditCardMatch","bankAccount","isNemkonto","refreshBrowserCount","ChangePayout","addCreditCardToggled","originalFundingId","originalFundingType","originalPayoutId","originalPayoutType","payoutHasNemKonto","addCreditCard","addCreditCardClass","allowCardToBeStored","changeFundingAccountNumber","changeFundingRegistrationNumber","changesMade","resolveFundingOrPayoutType","Vars","showGapFundingIfAvailable","gapFundingProceedLink","hasBeenGapFunded","canBeGapFunded","gapFundingProceed","gapFundingTitle","gapFundingSubtitle","gapFundingInfoTitle","gapFundingInfoSubtitle","gapFundingConfirmLabel","gapFundingConfirmSubLabel","gapFundingDeclineLabel","gapFundingDeclineSubLabel","paymentPlanPeriods","currentPaymentPlanPeriod","selectedPaymentPlanPeriod","selectPeriod","findPaymentPlanFromMultiplier","loadSubscription","changePaymentPlanSuccess","canSelect","perWeekText","perWeekSubText","wallet","nemkonto","bankaccount","resolvePayoutType","isNemKontoDuplicate","PaymentMethods","dsPrettyPrefix","Url","gapFundingCardPayment","paymentPlanCardPayment","urlSuffix","alreadyGapFunded","manageStoredCards","mobilePay","partialPan","storedCardNow","expiredText","getAcceptUrl","getPaymentDetails","periodStart","periodEnd","fundingAmount","subType","canContinueWithCreditCard","canContinueWithMobilePay","fee","getSubscriptionGapFundingSuccess","getSubscriptionGapFundingError","availableCards","gapFundingDataError","verticalTypeDictionary","gapPrice","hasGapPrice","gapDate","fromToPeriod","nextDraw","_settings$storedCards","fundingCardAdded","fundingCardCancelled","triedToGetCardDetails","defaultFundingType","isFromFaroeIslands","proceedJackpotLink","proceedPaymentPlanLink","selectedPayoutPaymentId","selectedPayoutPaymentLoaded","selectedPayoutPaymentMethod","suitableCreditCardsForSubscription","_card$cardExpirationD3","manageStoredCardsLink","addNewCreditCard","canContinueWithBs","makePaymentPlan","createBsOrJackpotSubscription","gapRes","proceedDestination","gapErr","_this$selectedCard","latestAddedCard","StepsIndicator","_this$subscription$fi","_this$subscription","transactionFee","gapDataLayerProducts","getExperationDate","isMobilePay","totalAmount","expiration","payedWithNewCard","gapDeclined","fundingPeriod","_this$selectedCard2","getSubscriptionSuccess","_subscription$firstDe2","_subscription","getSubscriptionError","transactions","createSubscriptionSuccess","proceedUrl","bankAccountRes","foundSelectedPayout","getBrandSpecificText","fallback","brandText","brandSpecificPerWeekText","brandSpecificPerWeekSubText","AppEvent","gapFundingLink","gapFundingModalDelay","subscriptionHasUnpayedPaymentPlan","goToGapFunding","doTracking","_ModelStorage$get","subscriptionFromLocalStorageValues","basketStorage","_basketProperties$wee","_basketStorage$instan","basketGameIds","trackingGetProductsFromLocalStorage","wizardProducts","trackingGetWizardProductsFromLocalStorage","wizardPackages","wizardPackage","trackProducts","getTransactionsSuccess","cardTransaction","acceptedTransactions","getSubscriptionDetailsSuccess","periodFundedByCard","gapFundingModalOptions","ListItem","PauseOverlay","ReactivateOverlay","TerminateOverlay","TotalPricePerWeek","changeFundingLink","changePayoutLink","pauseOverlay","reactivateOverlay","subscriptionReactivateLink","subscriptionTerminatedLink","subscriptionTransactionsLink","terminateOverlay","subscriptionTransactions","totalPricePerWeekInactive","bs","currentPeriodIsNotFunded","isBSFunded","drawPeriodUpdate","transactionId","ctaAnchor","ctaText","ctaURL","ctaUrl","bgimage","mobilebgimage","ctaAction","anchor","media","srcset","SubscriptionDictionary","SubscriptionModelStorage","Jackpot","MultiClient","ignoreRoute","setSubscriptionItem","eurojackpotJackpotDictionary","addToBasket","closedGame","noOpenDrawHeader","noOpenDrawText1","noOpenDrawText2","gameNotAvailableHeader","gameNotAvailableText1","gameNotAvailableText2","ChooseGames","allOrNothingLink","eurojackpotLink","kenoLink","lottoLink","vikinglottoLink","SubscriptionModel","GoTo","hasBeenConverted","gaEventLabel","overview","topNavLinkUrl","modifyGameReceipt","modifyGameReceiptLinkUrl","modifySubscription","modifiedGame","changes","showModalConfirmModifySubscription","eurojackpotConversionDate","SubscriptionTemplate","changePaymentPlanLink","terminateGameLink","pauseGameLink","gapPaymentLink","terminateGameId","terminatedGameNames","terminateGameReceipt","terminateGameReceiptLink","terminateSubscriptionReceipt","terminateSubscriptionReceiptLink","modalContentTerminateGame","modalContentTerminateSubscription","terminatedGame","terminateGameOrSubscription","subscriptionBeginsOn","gameLastdrawDateOn","dato","ActiveSubscriptionTemplate","ArchivedSubscriptionTemplate","hideIfNoSubscriptions","terminated","chunksIndex","chunksShowNext","chunksShowPrev","subscriptionsOutput","prevChunksIndex","plusLinkUrl","plusLinkText","plus","numberOfSubscriptionsPerChunk","chunk","updateSubscriptionsChunk","idArr","errs","toggleChunks","increase","prevIndex","scrollToOffset","scrollToId","scrollIntoView","scrollBy","Subscriptions","activeEurojackpotSubscriptionsSettings","convertGameLink","yourChoiceImageUrl","showSplitRows","splitRowsGame","splitRows","showDoubleRows","doubleRowsGame","modifyGameType","modifyGameReceiptLink","convertGame","conversion","showModalSplitRows","showModalDoubleRows","eurojackpotRowPrice","rowsLabel","AddNewSubscriptionGame","activeSubscriptionsLoaded","activeSubscriptionsSettings","addNewSubscriptionSettings","addNewTitle","addNewSubtitle","addNewAllOrNothingLink","addNewEurojackpotLink","addNewKenoLink","addNewLottoLink","addNewVikinglottoLink","terminatedSubscriptionsTitle","durationOptions","modalText","modalCancelText","modalConfirmText","receiptCtaUrl","resumeModalText","resumeModalCancelText","resumeModalConfirmText","resumeReceiptCtaUrl","pauseOptionStartDate","pauseOptionEndDates","receiptSubTitle","leavePauseConfirm","leaveResumePauseConfirm","clearPauseStates","pausedState","unpauseOptions","showModalConfirmPause","showModalConfirmPauseResume","_ref84","subTitle","receiptTitle","receiptCtaText","resumeTitle","resumeSubTitle","resumeReceiptTitle","resumeReceiptSubTitle","resumeReceiptCtaText","resumeCtaText","monthSingularText","monthPluralText","optionInfoDateText","pauseOption","_this$gameFaqSearchPa","faqArticles","loadingFaqArticles","articleStep","faqShowSteps","gameFaqSearchParams","faqSearchParams","totalArticles","visibleArticles","getArticles","articleIds","articles","article","knowledgeArticleId","parsedRes","answer","handleItem","question","tracking","handleFaqStep","Picture","Faq","_document$querySelect4","triggerBasketPlacement","heroBg","changeSteps","lightningHeroImageUrl","tablet","xxl","gameTypeIcons","gameHasClassic","gameHasLucky","gameHasSystem","gameHasHighpool","linksToHighPool","highPool","faqHidden","paramGameType","paramPlayType","resetCheck","allSettings","shouldEditGameInBasket","paramId","gameInBasket","resetParams","client","enableJoker","ignoreErr","handleHasAddedGameBeenDeletedFromBasket","canCreateNewRow","plusBrandIconsPath","returnLink","lottoPath","ejpPath","vikingLottoPath","kenoPath","aeiPath","handleGameRemovedFromBasket","jokerWednesdayInit","jokerSaturdayInit","jokerWednesdaySubtitle","jokerSaturdaySubtitle","anyPoolInfo","jokerBothSubtitle","poolInfoWednesday","poolInfoSaturday","calculateJokerPrice","jokerWednesdayPrice","addedJokerWednesday","jokerSaturdayPrice","addedJokerSaturday","handleJokerWednesday","handleJokerSaturday","handleJokerBoth","addGameToBasket","loadedPreviousGame","removeFromBasket","lightningGameInBasket","offerJoker","gameHasJoker","regionSettings","TopNav","ChooseGame","GameClients","LightningRows","LightningJoker","Final","_this$settings$games$","current","stepsSelect","chooseGame","gameFaqParams","lightningJoker","classicRows","chooseGameFinal","Slider","selectedValues","apiValues","minPrice","maxPrice","stepPrice","GamePad","getGameName","gameWithId","cartName","favoriteGame","Hero","PlusBulletPoints","shouldScrollToTopOnLoad","handleBoxCta","scrollToTop","advantagesHidden","showEjpJokerNotification","jokerGames","available","NumPad","HeroPackages","getPackage","addPackage","NumberOfRows","removePackage","delegateTarget","getBasketPackages","checkBasket","selectedPackages","basketPackages","isPackageSelected","togglePackage","eurojackpotWithJoker","showEurojackpotPackageNotification","showLottoPriceChangePackageNotification","jokersAreAvailable","showBasketBar","popular","jokerBadge","minRisk","maxRisk","stepRisk","Budget","FavoriteGame","Joker","NumberOfGames","Risk","hideBasketBar","resetDialogFlowValues","checkIfPackagesHasJokers","apiValuesJokerSaturday","apiValuesJokerWednesday","jokerGameId","isPrimary","jokers","isJoker","initialRisk","initialPrice","previousStep","Tracking","Intro","Packages","DialogFlow","firstPageLoad","heroImageAllOrNothingMobile","heroImageAllOrNothingTablet","heroImageAllOrNothingDesktop","heroImageEurojackpotMobile","heroImageEurojackpotTablet","heroImageEurojackpotDesktop","heroImageKenoMobile","heroImageKenoTablet","heroImageKenoDesktop","heroImageLottoMobile","heroImageLottoTablet","heroImageLottoDesktop","heroImageVikinglottoMobile","heroImageVikinglottoTablet","heroImageVikinglottoDesktop","gameTypeIconLightning","gameTypeIconClassic","gameTypeIconLucky","gameTypeIconSystem","gameTypeIconHighPool","acc","stepSelect","flow","gameTypeHasPlayType","editGameInBasket","allornothingPlayType","eurojackpotPlayType","kenoPlayType","lottoPlayType","vikinglottoPlayType","scrollTo","ignoreEl","_this8","isExpanded","subscriptions","initialCardCount","_ref85","notTerminated","top4Terminated","getCardContent","cardContent","_settings$onClickRedi","onExpandClick","expandButtonText","btnCta","poolLabel","poolValue","btnText","GameItem","ignoreProperty","iconPath","logoPath","gameOrder","_JackpotInfo$getByGam","_JackpotInfo$getByGam2","_JackpotInfo$getByGam3","_JackpotInfo$getByGam4","_JackpotInfo$getByGam5","_JackpotInfo$getByGam6","labelMinPoolSizeText","labelCtaButtonText","labelKenoText","kenoValue","labelAllOrNothingText","allOrNothingValue","initateAnimation","boxes","selectedBox","onanimationend","_unused2","_this9","callToAction","showOnlyForPreviousSubscriptions","_ref86","runningTransition","subscriptionsPackages","_subscription$playTyp","subscriptionPlayType","gameFromPackage","_gameFromPackage$joke","_gameFromPackage$joke2","compatibleGameName","jackpotAmount","elementClicked","doCtaClick","initiateSlider","itemCollection","containerItems","containerItem","padding","onLoad","animateItems","onDrag","onTransitionStart","handleItemsOnClick","onTransitionEnd","reAnimateBox","responsive","itemWidth","addSubscriptionToBasket","animatedBox","brake","posLeft","posRight","screenCenter","middleOfElement","maxDistance","fromCenter","distPercentage","sign","distFromCenter","calcScale","translateX","calcTranslateX","translateY","calcTranslateY","itemIsCenter","elementWidth","isCenterItem","calcOpacity","currentIndex","_this$cta","subscriptionPackageSelected","_controller$cta","packageRotatorContainer","cleanup","subscriptionsPackage","packageid","componentClassAndtheme","theme","itemCurrentlyPlaying","thisAudioItem","audioTitle","isThisPlaying","audioCurrentlyPlaying","audioEnded","_this$cta2","startsWith","_controller$cta2","_item$link","onended","ignore$element","itemsPerRowDesktop","itemsPerRowMobile","centerItemsDesktopClass","centerItemsMobileClass","callToActionMain","_this$settings$callTo","callToActionCard","_card$callToAction","_controller$settings$4","_card$callToAction2","identifier","wasShown","showType","checkPlusBasket","_basket$wizardpackage3","hasLottoGame","hasPackageWithLotto","packageItem","_packageItem$gameInst","Overview","GamesList","rootElement","_settings$labels","_m$route$param","gameOptions","gameOption","labels","isPopoverOpen","builderLabelDictionary","builder","$rootElement","gamesWithFeedDown","gameInBasketWithFeedDown","hasBuilderUrlParams","subscriptionInstanceId","subscriptionInstance","goToConfirm","_event$currentTarget","confirmUrlPageLink","confirmPageLink","confirmPageLinkParams","toggleSubscriptionBuilderAsPopover","sortingGames","gamesAvailable","sortGames","asPopOver","skeletonListLoader","heading","gamesOptions","isBasketList","isSubscriptionTypeDefined","subscriptionPrice"],"mappings":"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","file":"region-subscriptions.js","sourcesContent":["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('Shared/Framework/Mithril/Scripts/Helpers/Scroll', function () {\r\n\r\n // Variables:\r\n var callbacks = [];\r\n\r\n // Functions:\r\n var add = function ($element, callback) {\r\n if (typeof callback === 'undefined') {\r\n callbacks.push($element);\r\n } else {\r\n $element.addEventListener('scroll', callback);\r\n }\r\n };\r\n\r\n // Init:\r\n window.addEventListener('scroll', 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/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/Framework/NumberGames/Scripts/Helpers/DataLayer',\r\n function () {\r\n\r\n // Variables:\r\n var localDataLayer = [];\r\n\r\n // Functions:\r\n var returnAsArray = function (array) {\r\n if (!Array.isArray(array)) {\r\n return [array];\r\n } else {\r\n return array;\r\n }\r\n };\r\n\r\n var promoView = function (productArray) {\r\n productArray = returnAsArray(productArray);\r\n push('promoView', {\r\n promoView: {\r\n promotions: productArray\r\n }\r\n });\r\n };\r\n\r\n var promoClick = function (productArray) {\r\n productArray = returnAsArray(productArray);\r\n push('promoClick', {\r\n promoClick: {\r\n promotions: productArray\r\n }\r\n });\r\n };\r\n\r\n var productImpression = function (productArray) {\r\n productArray = returnAsArray(productArray);\r\n push('productImpression', {\r\n impressions: productArray\r\n });\r\n };\r\n\r\n var productDetail = function (productArray) {\r\n productArray = returnAsArray(productArray);\r\n push('productDetail', {\r\n detail: {\r\n products: productArray\r\n }\r\n });\r\n };\r\n\r\n var addToCart = function (productArray) {\r\n productArray = returnAsArray(productArray);\r\n push('addToCart', {\r\n add: {\r\n products: productArray\r\n }\r\n });\r\n };\r\n\r\n var removeFromCart = function (productArray) {\r\n productArray = returnAsArray(productArray);\r\n if (productArray.length > 0) {\r\n push('removeFromCart', {\r\n remove: {\r\n products: productArray\r\n }\r\n });\r\n }\r\n };\r\n\r\n var checkout = function (data, productArray) {\r\n productArray = returnAsArray(productArray);\r\n var step = data.step;\r\n var option = data.option;\r\n\r\n push('checkout', {\r\n checkout: {\r\n actionField: {\r\n step: step,\r\n option: option\r\n },\r\n products: productArray\r\n }\r\n });\r\n };\r\n\r\n var purchaseCompleted = function (data, productArray) {\r\n productArray = returnAsArray(productArray);\r\n var id = data.id;\r\n var totalPrice = data.totalPrice.toString();\r\n const actionField = {\r\n id: id,\r\n revenue: totalPrice\r\n };\r\n if (data.firstInteraction) {\r\n actionField.firstInteraction = data.firstInteraction;\r\n }\r\n if (data.lastInteraction) {\r\n actionField.lastInteraction = data.lastInteraction;\r\n }\r\n\r\n push('purchaseComplete', {\r\n purchase: {\r\n actionField: actionField,\r\n products: productArray\r\n }\r\n });\r\n };\r\n\r\n var push = function (event, payload) {\r\n getDataLayer().push({\r\n event: event,\r\n ecommerce: payload\r\n });\r\n };\r\n\r\n var getDataLayer = function () {\r\n if (window.dataLayer) {\r\n for (var i = 0; i < localDataLayer.length; i++) {\r\n window.dataLayer.push(localDataLayer[i]);\r\n }\r\n }\r\n\r\n return window.dataLayer || localDataLayer;\r\n };\r\n\r\n // Set the category field to the correct naming\r\n var categoryName = function (category) {\r\n var lynCategories = ['KenoMillion', 'KenoLarge', 'KenoSmall', 'Lightning'];\r\n var systemCategories = ['KenoSystem', 'System'];\r\n var vaelgSelvCategories = ['KenoClassic', 'Classic'];\r\n var lykkeCategories = ['Lucky'];\r\n\r\n if (lynCategories.indexOf(category) > -1) {\r\n category = 'lyn';\r\n }\r\n\r\n if (systemCategories.indexOf(category) > -1) {\r\n category = 'system';\r\n }\r\n\r\n if (vaelgSelvCategories.indexOf(category) > -1) {\r\n category = 'vaelg_selv';\r\n }\r\n\r\n if (lykkeCategories.indexOf(category) > -1) {\r\n category = 'lykke';\r\n }\r\n\r\n return category;\r\n };\r\n\r\n // Generate the variant field\r\n var variantName = function (brand, rows, playType, systemName) {\r\n var variant;\r\n\r\n // Make sure there is always 2 digits in the row number (fx 02).\r\n rows = ('0' + rows).slice(-2);\r\n\r\n // -- AllOrNothing Variants --\r\n if (brand == 'allornothing' || brand == 'plus_allornothing') {\r\n rows = rows + 'dag' + (rows !== 1 ? 'e' : '');\r\n variant = 'alt_';\r\n\r\n if (brand == 'plus_allornothing') {\r\n rows = '';\r\n variant = 'plu_alt';\r\n // ensure that plus will always have _raekker variant\r\n playType = 'Lightning';\r\n }\r\n\r\n if (playType == 'Lightning' || playType == 'Classic') {\r\n variant += rows + '_raekker';\r\n }\r\n }\r\n\r\n // -- Keno Variants --\r\n if (brand == 'keno' || brand === 'plus_keno') {\r\n rows = rows + 'dage';\r\n variant = 'ken_';\r\n\r\n if (brand === 'plus_keno') {\r\n variant = 'plu_ken';\r\n }\r\n\r\n if (playType == 'KenoMillion') {\r\n variant += rows + '_million';\r\n }\r\n\r\n if (playType == 'KenoClassic') {\r\n variant += rows + '_raekker';\r\n }\r\n\r\n if (playType == 'KenoSystem') {\r\n variant += rows + '_system';\r\n }\r\n\r\n if (playType == 'KenoLarge') {\r\n variant += rows + '_store';\r\n }\r\n\r\n if (playType == 'KenoSmall') {\r\n variant += rows + '_lille';\r\n }\r\n }\r\n\r\n // -- Lotto Variants --\r\n if (brand == 'lotto' || brand == 'plus_lotto') {\r\n rows = rows + 'uger';\r\n variant = 'lot_';\r\n\r\n if (brand == 'plus_lotto') {\r\n rows = '';\r\n variant = 'plu_lot';\r\n // ensure that plus will always have _raekker variant\r\n playType = 'Lightning';\r\n }\r\n\r\n if (playType == 'System') {\r\n // Set systemName to 'R', 'M', or 'C'\r\n // These are Reduced, Mathematical, or Chance\r\n systemName = systemName.charAt(0);\r\n if (systemName == 'R' || systemName == 'C') {\r\n variant += rows + '_reduceret';\r\n }\r\n\r\n if (systemName == 'M') {\r\n variant += rows + '_matematisk';\r\n }\r\n }\r\n\r\n if (playType == 'Lightning' || playType == 'Classic' || playType == 'Lucky') {\r\n variant += rows + '_raekker';\r\n }\r\n }\r\n\r\n // -- VikingeLotto Variants --\r\n if (brand == 'viking' || brand == 'plus_viking') {\r\n variant = 'vik_';\r\n rows = rows + 'uger';\r\n\r\n if (brand == 'plus_viking') {\r\n rows = '';\r\n variant = 'plu_vik';\r\n // ensure that plus will always have _raekker variant\r\n playType = 'Lightning';\r\n }\r\n\r\n if (playType == 'System') {\r\n // Set systemName to 'R', 'M', or 'C'\r\n // These are Reduced, Mathematical, or Chance\r\n systemName = systemName.charAt(0);\r\n if (systemName == 'R' || systemName == 'C') {\r\n variant += rows + '_reduceret';\r\n }\r\n\r\n if (systemName == 'M') {\r\n variant += rows + '_matematisk';\r\n }\r\n }\r\n\r\n if (playType == 'Lightning' || playType == 'Classic' || playType == 'Lucky') {\r\n variant += rows + '_raekker';\r\n }\r\n }\r\n\r\n // -- Joker --\r\n if (brand == 'joker' || brand == 'plus_joker') {\r\n rows = '_' + rows + 'uger';\r\n variant = 'jok_';\r\n\r\n if (brand == 'plus_joker') {\r\n rows = '';\r\n variant = 'plu_jok_';\r\n }\r\n\r\n if (playType == 'saturday') {\r\n variant += 'loerdag' + rows;\r\n }\r\n\r\n if (playType == 'wednesday') {\r\n variant += 'onsdag' + rows;\r\n }\r\n }\r\n\r\n // -- EuroJackpot --\r\n if (brand == 'eurojackpot' ||\r\n brand == 'plus_eurojackpot' ||\r\n brand.indexOf('eurojackpot') !== -1) {\r\n rows = rows + 'draws';\r\n variant = 'ejp_';\r\n\r\n var eurojackpotDrawDay = brand.split('eurojackpot_')[1];\r\n if (eurojackpotDrawDay) variant = variant + eurojackpotDrawDay + '_';\r\n\r\n if (brand == 'plus_eurojackpot') {\r\n rows = '';\r\n variant = 'plu_ejp';\r\n // ensure that plus will always have _raekker variant\r\n playType = 'Lightning';\r\n }\r\n\r\n if (playType == 'Lightning' || playType == 'Classic' || playType == 'Lucky') {\r\n variant += rows + '_raekker';\r\n }\r\n\r\n if (playType == 'System') {\r\n variant += rows + '_matematisk';\r\n }\r\n }\r\n\r\n return variant;\r\n };\r\n\r\n var quantity = function (brand, rows, playType, getSystemCombinationAmount) {\r\n if (brand == 'keno') {\r\n if (playType == 'KenoSystem') {\r\n rows = getSystemCombinationAmount;\r\n }\r\n\r\n if (playType == 'KenoLarge' || playType == 'KenoSmall') {\r\n rows = 1;\r\n }\r\n }\r\n\r\n // -- Lotto Variants --\r\n if (brand == 'lotto') {\r\n rows = getSystemCombinationAmount;\r\n }\r\n\r\n // -- VikingeLotto Variants --\r\n if (brand == 'viking') {\r\n rows = getSystemCombinationAmount;\r\n }\r\n\r\n // -- EuroJackpot --\r\n if (brand == 'eurojackpot') {\r\n rows = getSystemCombinationAmount;\r\n }\r\n\r\n return rows;\r\n };\r\n\r\n var rowPrice = function (feedData, numberOfDraws, type) {\r\n var rowPrice;\r\n\r\n if (type === 'AllOrNothingClassic' || type === 'AllOrNothingLightning') {\r\n rowPrice = feedData * numberOfDraws;\r\n } else if (type == 'KenoMillion' || type == 'KenoClassic' || type == 'KenoSystem' || type == 'KenoLarge' || type == 'KenoSmall') {\r\n if (type == 'KenoMillion' || type == 'KenoClassic' || type == 'KenoSystem') {\r\n rowPrice = feedData * numberOfDraws;\r\n }\r\n\r\n if (type == 'KenoLarge') {\r\n rowPrice = (feedData * numberOfDraws) * 10;\r\n }\r\n\r\n if (type == 'KenoSmall') {\r\n rowPrice = (feedData * numberOfDraws) * 5;\r\n }\r\n } else {\r\n if (type != 'joker') {\r\n rowPrice = feedData.draws && feedData.draws[0] && feedData.draws[0].rowPrice ? feedData.draws[0].rowPrice : 0;\r\n rowPrice = rowPrice * numberOfDraws;\r\n }\r\n\r\n if (type == 'plus') {\r\n rowPrice = feedData.draws && feedData.draws[0] && feedData.draws[0].rowPrice ? feedData.draws[0].rowPrice : 0;\r\n }\r\n\r\n if (type == 'joker') {\r\n rowPrice = feedData * 2 * numberOfDraws;\r\n }\r\n\r\n if (type == 'plus_joker') {\r\n rowPrice = feedData * 2;\r\n }\r\n }\r\n\r\n rowPrice = rowPrice.toString();\r\n\r\n return rowPrice;\r\n };\r\n\r\n // Public functions:\r\n return {\r\n variantName: variantName,\r\n categoryName: categoryName,\r\n quantity: quantity,\r\n rowPrice: rowPrice,\r\n promoView: promoView,\r\n promoClick: promoClick,\r\n productImpression: productImpression,\r\n productDetail: productDetail,\r\n addToCart: addToCart,\r\n removeFromCart: removeFromCart,\r\n checkout: checkout,\r\n purchaseCompleted: purchaseCompleted,\r\n push: push\r\n };\r\n\r\n });\r\n","\r\ndefineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var Overlay = function (template) {\r\n\r\n // Variables:\r\n this.$container = m.prop();\r\n this.$wrapper = m.prop(document.getElementById('wrapper'));\r\n\r\n // Functions:\r\n this.clear = function (action) {\r\n var self = this;\r\n\r\n return function () {\r\n var $container = self.$container();\r\n var $gameOverlay = document.querySelector('.'.concat(template.class().split(' ').join('.')));\r\n var $wrapper = self.$wrapper();\r\n\r\n function onAnimationEnd() {\r\n if ($container && $container.parentNode) {\r\n $container.parentNode.removeChild($container);\r\n }\r\n\r\n $wrapper.className = $wrapper.className.replace('remove-overlay', '');\r\n\r\n if (typeof action === 'function') {\r\n action();\r\n }\r\n\r\n m.redraw();\r\n }\r\n\r\n $gameOverlay.classList.add('remove-overlay');\r\n\r\n $wrapper.className = $wrapper.className.replace('overlay-active', 'remove-overlay');\r\n\r\n $gameOverlay.addEventListener('animationend', onAnimationEnd);\r\n };\r\n }.bind(this);\r\n\r\n this.render = function (confirm, dismiss) {\r\n var $overlay = document.createElement('div');\r\n\r\n var render = template.render(this.clear(confirm, 'confirm'), this.clear(dismiss, 'dismiss'));\r\n\r\n m.render($overlay, render);\r\n\r\n this.$container($overlay);\r\n }.bind(this);\r\n\r\n this.show = function (confirm, dismiss) {\r\n this.render(confirm, dismiss);\r\n this.$wrapper().classList.add('overlay-active');\r\n\r\n document.body.appendChild(this.$container());\r\n }.bind(this);\r\n\r\n };\r\n\r\n // Public functions:\r\n return Overlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/ErrorOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var ErrorOverlay = function (className, dictionary) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (dismiss) {\r\n return m('div', { class: this.class() }, [\r\n m('div', { class: 'pannel' }, [\r\n m('div', { class: 'icon-wrapper' }, [\r\n m('svg', { class: 'icon' }, m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesGenericCommonIcons.svg#icon-error' }))\r\n ]),\r\n m('h2', { class: 'headline' }, dictionary.header),\r\n m('p', { class: 'text' }, dictionary.body),\r\n m('div', { class: 'buttons' }, [\r\n m('button', { class: 'btn dogderblue button-confirm', onclick: dismiss, style: 'float: none;' }, dictionary.dismiss)\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return ErrorOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/JokerOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (m, Render, JackpotInfo, Ensighten, DataLayer) {\r\n\r\n // Context:\r\n var JokerOverlay = function (game, className, d, jokerFeed) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (confirm, dismiss) {\r\n\r\n // Variables:\r\n var isEurojackpotV2 = className.indexOf('eurojackpot') !== -1 &&\r\n game.gameVersionNo() === 2;\r\n var useDoubleSelector = isEurojackpotV2;\r\n var render = Render();\r\n var jokerSaturday = JackpotInfo.getByGame('JokerSaturday');\r\n var jokerWednesday = JackpotInfo.getByGame('JokerWednesday');\r\n var noOpenDrawSaturday = !jokerFeed['jokerSaturday'].openDraw;\r\n var noOpenDrawWednesday = !jokerFeed['jokerWednesday'].openDraw;\r\n var poolLabelSaturday = d('JokerOverlay02/MinimumPoolLabel');\r\n var poolLabelWednesday = d('JokerOverlay02/MinimumPoolLabel');\r\n var poolSizeSaturday = d('JokerOverlay02/MinPoolSize');\r\n var poolSizeWednesday = d('JokerOverlay02/MinPoolSize');\r\n var numberOfDraws = game.numberOfDraws();\r\n var totalJokerPrice = game.totalJokerPrice;\r\n var playType = game.playType();\r\n var jokerSaturdayPicked = m.prop(false);\r\n var jokerWednesdayPicked = m.prop(false);\r\n var jokerMultiplier = game.verticalType ? (game.verticalType() === 'plus' ? 2 : numberOfDraws) : 1;\r\n\r\n if (numberOfDraws === 0) jokerMultiplier = 2;\r\n\r\n if (!useDoubleSelector) {\r\n if (Object.keys(jokerSaturday).length > 0 && !jokerSaturday.gamestopExceeded && jokerSaturday.poolSizeDecimal > 0) {\r\n poolSizeSaturday = jokerSaturday.poolSizeFormatted;\r\n poolLabelSaturday = d('JokerOverlay02/FeedPoolLabel');\r\n }\r\n if (Object.keys(jokerWednesday).length > 0 && !jokerWednesday.gamestopExceeded && jokerWednesday.poolSizeDecimal > 0) {\r\n poolSizeWednesday = jokerWednesday.poolSizeFormatted;\r\n poolLabelWednesday = d('JokerOverlay02/FeedPoolLabel');\r\n }\r\n }\r\n\r\n\r\n // Functions:\r\n var datalayerVirtualPage = function (playType) {\r\n Ensighten.pushVirtualPage('joker_option', DataLayer.categoryName(playType) + '/joker_option', 'upsellPage');\r\n };\r\n\r\n var datalayerTrackClick = function () {\r\n var buttons = jokerSaturdayPicked() && jokerWednesdayPicked()\r\n ? 'onsdag_og_loerdag' : jokerWednesdayPicked()\r\n ? 'onsdag' : jokerSaturdayPicked()\r\n ? 'loerdag' : null;\r\n\r\n if (buttons) {\r\n window.dataLayer.push({\r\n event: 'gaEvent',\r\n eventSyntax: {\r\n action: 'joker_tilfoejet',\r\n category: 'joker_addToCart',\r\n label: buttons\r\n }\r\n });\r\n }\r\n };\r\n\r\n datalayerVirtualPage(playType);\r\n\r\n var handleConfirm = function (event) {\r\n event.stopPropagation();\r\n datalayerTrackClick();\r\n if (game.getJokerRowsSummary('Wednesday') && !game['withJokerWednesday']()) {\r\n game.generatedJokerRows('Wednesday', []);\r\n }\r\n if (game.getJokerRowsSummary('Saturday') && !game['withJokerSaturday']()) {\r\n game.generatedJokerRows('Saturday', []);\r\n }\r\n confirm();\r\n };\r\n\r\n var toggleJokerHelp = function () {\r\n document.querySelector('.js-joker')?.classList.toggle('active');\r\n };\r\n\r\n var setButton = function ($element) {\r\n totalJokerPrice() > 0 ? $element.classList.add('active') : $element.classList.remove('active');\r\n $element.innerHTML = getCtaLabel();\r\n };\r\n\r\n var getCtaLabel = function () {\r\n if (totalJokerPrice() === 0) return d('JokerOverlay02/CtaNoJoker');\r\n if (numberOfDraws === 0) return d('JokerOverlay02/CtaJokerWeekly', { totalJokerPrice: totalJokerPrice() });\r\n return d('JokerOverlay02/CtaJoker', { totalJokerPrice: totalJokerPrice() });\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var container = nodes['container'];\r\n\r\n container.context.count = 0;\r\n\r\n if (!container.rendered) {\r\n var $button = nodes['button'].$element;\r\n\r\n ['Saturday', 'Wednesday'].forEach(function (element) {\r\n var node = nodes[element];\r\n\r\n if (node) {\r\n var $element = nodes[element].$element;\r\n var jokerToggle = game['withJoker' + element];\r\n\r\n $element.addEventListener('click', function () {\r\n if (element === 'Saturday') {\r\n jokerSaturdayPicked(!jokerSaturdayPicked());\r\n } else if (element === 'Wednesday') {\r\n jokerWednesdayPicked(!jokerWednesdayPicked());\r\n }\r\n\r\n jokerToggle(!jokerToggle());\r\n\r\n if (!jokerToggle()) {\r\n game.generatedJokerRows(element, []);\r\n }\r\n\r\n jokerToggle() ? $element.classList.add('active') : $element.classList.remove('active');\r\n jokerToggle() ? $element.parentElement.classList.add('active') : $element.parentElement.classList.remove('active');\r\n $element.innerHTML = jokerToggle() ? d('JokerOverlay02/BoxCtaJoker') : d('JokerOverlay02/BoxCtaNoJoker', { price: game.jokerPrice() * jokerMultiplier });\r\n\r\n setButton($button);\r\n\r\n game.save();\r\n });\r\n }\r\n });\r\n\r\n if (nodes['both']) {\r\n // if only one Joker is selected while playing a v1 ejp game and then you select to play the game as subscription\r\n // we need to deselect it since ejp v2 subscription requires both jokers\r\n var withJokerWednesdayAndNoJokerSaturday = game['withJokerWednesday']() && !game['withJokerSaturday']();\r\n var withJokerSaturdayAndNoJokerWednesday = !game['withJokerWednesday']() && game['withJokerSaturday']();\r\n if (withJokerWednesdayAndNoJokerSaturday || withJokerSaturdayAndNoJokerWednesday) {\r\n if (withJokerWednesdayAndNoJokerSaturday) {\r\n game['withJokerWednesday'](false);\r\n jokerWednesdayPicked(false);\r\n game.generatedJokerRows('Wednesday', []);\r\n }\r\n if (withJokerSaturdayAndNoJokerWednesday) {\r\n game['withJokerSaturday'](false);\r\n jokerSaturdayPicked(false);\r\n game.generatedJokerRows('Saturday', []);\r\n }\r\n\r\n setButton($button);\r\n\r\n game.save();\r\n }\r\n\r\n var $element = nodes['both'].$element;\r\n var availableJokerDay = numberOfDraws === 0 ? 'wednesday' : game.jokerDrawDates()[0].dayName;\r\n var toggleWednesdayJoker = function () {\r\n jokerWednesdayPicked(!jokerWednesdayPicked());\r\n game['withJokerWednesday'](!game['withJokerWednesday']());\r\n if (game['withJokerWednesday']()) {\r\n game.generatedJokerRows('Wednesday', []);\r\n }\r\n };\r\n var toggleSaturdayJoker = function () {\r\n jokerSaturdayPicked(!jokerSaturdayPicked());\r\n game['withJokerSaturday'](!game['withJokerSaturday']());\r\n if (game['withJokerSaturday']()) {\r\n game.generatedJokerRows('Saturday', []);\r\n }\r\n };\r\n // based on the numbers of draws we determine which Joker games are selected\r\n // if joker was selected when 1 draw was selected then when the draw count increase\r\n // we need to toggle the other joker on\r\n if (jokerMultiplier > 1) {\r\n if ((game['withJokerWednesday']() || game['withJokerSaturday']()) &&\r\n !(game['withJokerWednesday']() && game['withJokerSaturday']())) {\r\n game['withJokerWednesday']() ? toggleSaturdayJoker() : toggleWednesdayJoker();\r\n }\r\n }\r\n // if joker was enabled when numberOfDraws was greater than 1 that means that both jokers were selected\r\n // now if numberOfDraws was changed to 1 we need to check which joker day is available next and toggle off the other joker\r\n if (jokerMultiplier === 1) {\r\n // also if the available joker day has changed we want to disable the old one and switch to the other\r\n if (game['withJokerWednesday']() && availableJokerDay !== 'wednesday') {\r\n toggleWednesdayJoker();\r\n if (!game['withJokerSaturday']()) {\r\n toggleSaturdayJoker();\r\n }\r\n }\r\n if (game['withJokerSaturday']() && availableJokerDay !== 'saturday') {\r\n toggleSaturdayJoker();\r\n if (!game['withJokerWednesday']()) {\r\n toggleWednesdayJoker();\r\n }\r\n }\r\n }\r\n var toggleButton = function () {\r\n var isJokerSelected = Boolean(game['withJokerWednesday']() || game['withJokerSaturday']());\r\n isJokerSelected ? $element.classList.add('active') : $element.classList.remove('active');\r\n isJokerSelected ? $element.parentElement.classList.add('active') : $element.parentElement.classList.remove('active');\r\n $element.innerHTML = isJokerSelected ? d('JokerOverlay02/BoxCtaJoker') : d('JokerOverlay02/BoxCtaNoJoker', { price: game.jokerPrice() * jokerMultiplier });\r\n };\r\n toggleButton();\r\n $element.addEventListener('click', function () {\r\n if (jokerMultiplier === 1) {\r\n availableJokerDay === 'saturday' ? toggleSaturdayJoker() : toggleWednesdayJoker();\r\n } else {\r\n toggleWednesdayJoker();\r\n toggleSaturdayJoker();\r\n }\r\n\r\n toggleButton();\r\n setButton($button);\r\n game.save();\r\n });\r\n }\r\n }\r\n });\r\n\r\n // Template:\r\n var wednesdayDrawDate;\r\n var saturdayDrawDate;\r\n var isSaturdayDrawBeforeWednesdayDraw;\r\n\r\n if (jokerFeed\r\n && jokerFeed.jokerWednesday\r\n && jokerFeed.jokerWednesday.openDraw\r\n && jokerFeed.jokerSaturday.openDraw\r\n && jokerFeed.jokerWednesday.openDraw.closingTime\r\n && jokerFeed.jokerSaturday.openDraw.closingTime) {\r\n isSaturdayDrawBeforeWednesdayDraw = jokerFeed.jokerSaturday.openDraw.closingTime < jokerFeed.jokerWednesday.openDraw.closingTime;\r\n }\r\n\r\n if (jokerFeed && jokerFeed.jokerWednesday && jokerFeed.jokerWednesday.openDraw && jokerFeed.jokerWednesday.openDraw.closingTime) {\r\n wednesdayDrawDate = new Date(jokerFeed.jokerWednesday.openDraw.closingTime);\r\n wednesdayDrawDate = wednesdayDrawDate.getDate() + '/' + (wednesdayDrawDate.getMonth() + 1);\r\n }\r\n\r\n if (jokerFeed && jokerFeed.jokerSaturday && jokerFeed.jokerSaturday.openDraw && jokerFeed.jokerSaturday.openDraw.closingTime) {\r\n saturdayDrawDate = new Date(jokerFeed.jokerSaturday.openDraw.closingTime);\r\n saturdayDrawDate = saturdayDrawDate.getDate() + '/' + (saturdayDrawDate.getMonth() + 1);\r\n }\r\n\r\n return m('.joker-overlay', {\r\n class: this.class(),\r\n config: render.depend('container'),\r\n onclick: dismiss,\r\n 'data-uitest-id': 'JokerOverlay'\r\n }, m('.joker-overlay__content', {\r\n onclick: function (ev) {\r\n // don't close overlay when clicking on content box.\r\n ev.stopPropagation();\r\n }\r\n }, [\r\n // if doubleSelector is enabled than we show the joker logo above the title\r\n useDoubleSelector ? m('.joker-overlay__logo.joker-overlay__header-logo', [\r\n m('img.joker-overlay__logo-hat', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-hat.svg',\r\n alt: ''\r\n })\r\n ]) : null,\r\n\r\n m('.joker-overlay__title', m.trust(\r\n useDoubleSelector ?\r\n d('JokerOverlay02/DoubleSelector/BothJokersTitle', { price: game.jokerPrice() * jokerMultiplier }) :\r\n d('JokerOverlay02/Title')\r\n )),\r\n\r\n function () {\r\n if (useDoubleSelector) {\r\n var jokerLabel = d('JokerOverlay02/DoubleSelector/BothDrawsDays');\r\n if (jokerMultiplier === 1) {\r\n if (game['withJokerWednesday']()) {\r\n jokerLabel = d('JokerOverlay02/DrawValueWednesday', { date: wednesdayDrawDate });\r\n } else {\r\n jokerLabel = d('JokerOverlay02/DrawValueSaturday', { date: saturdayDrawDate });\r\n }\r\n }\r\n return [\r\n // both joker\r\n m('.joker-overlay__box.joker-overlay__double', [\r\n\r\n // both joker small\r\n m('.joker-overlay--small', [\r\n m('.joker-overlay__draw-pool', [\r\n m('.joker-overlay__draw', [\r\n m('.joker-overlay__draw-label', jokerLabel),\r\n m('.joker-overlay__logo', [\r\n jokerMultiplier > 1 ? m('span.joker-overlay__logo-prefix', jokerMultiplier + 'X') : null,\r\n m('img.joker-overlay__logo-text.joker-overlay__only-text', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-text-logo.svg',\r\n alt: ''\r\n })\r\n ])\r\n ]),\r\n m('.joker-overlay__pool', [\r\n m('.joker-overlay__pool-label', d('JokerOverlay02/MinimumPoolLabel')),\r\n m('.joker-overlay__pool-value', d('JokerOverlay02/PoolValue', { pool: poolSizeWednesday }))\r\n ])\r\n ]),\r\n\r\n ]),\r\n\r\n // both joker medium\r\n m('.joker-overlay--medium', [\r\n m('.joker-overlay__logo-with-prefix', [\r\n m('.joker-overlay__pool-label', jokerLabel),\r\n m('.joker-overlay__logo', [\r\n jokerMultiplier > 1 ? m('span.joker-overlay__logo-prefix', jokerMultiplier + 'X') : null,\r\n m('img.joker-overlay__logo-text.joker-overlay__only-text', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-text-logo.svg',\r\n alt: ''\r\n })\r\n ])\r\n ]),\r\n\r\n m('.joker-overlay__pool', [\r\n m('.joker-overlay__pool-label', d('JokerOverlay02/MinimumPoolLabel')),\r\n m('.joker-overlay__pool-value', d('JokerOverlay02/PoolValue', { pool: poolSizeWednesday }))\r\n ])\r\n ]),\r\n\r\n // both joker cta\r\n m('a.joker-overlay__box-cta', {\r\n class: (game['withJokerWednesday']() && game['withJokerSaturday']() ? ' active' : ''),\r\n config: render.depend('both'),\r\n 'data-uitest-id': 'JokerOverlay__cta--both'\r\n }, game['withJokerWednesday']() && game['withJokerSaturday']() ? d('JokerOverlay02/BoxCtaJoker') : d('JokerOverlay02/BoxCtaNoJoker', { price: game.jokerPrice() * jokerMultiplier }))\r\n ])\r\n ];\r\n } else {\r\n return [\r\n // joker wednesday\r\n m('.joker-overlay__box', [\r\n\r\n // joker wednesday small\r\n m('.joker-overlay--small', [\r\n\r\n m('.joker-overlay__logo', [\r\n m('img.joker-overlay__logo-hat', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-hat.svg',\r\n alt: ''\r\n }),\r\n m('img.joker-overlay__logo-text', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-text-logo.svg',\r\n alt: ''\r\n })\r\n ]),\r\n\r\n m('.joker-overlay__draw-pool', [\r\n m('.joker-overlay__draw', [\r\n m('.joker-overlay__draw-label', d('JokerOverlay02/Draw')),\r\n m('.joker-overlay__draw-value', wednesdayDrawDate\r\n ? d('JokerOverlay02/DrawValueWednesday', { date: wednesdayDrawDate })\r\n : d('JokerOverlay02/DrawValueWednesdayNoDate'))\r\n ]),\r\n m('.joker-overlay__pool', [\r\n m('.joker-overlay__pool-label', poolLabelWednesday),\r\n m('.joker-overlay__pool-value', d('JokerOverlay02/PoolValue', { pool: poolSizeWednesday }))\r\n ])\r\n ]),\r\n\r\n ]),\r\n\r\n // joker wednesday medium\r\n m('.joker-overlay--medium', [\r\n\r\n m('div', [\r\n m('.joker-overlay__logo', [\r\n m('img.joker-overlay__logo-hat', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-hat.svg',\r\n alt: ''\r\n }),\r\n m('img.joker-overlay__logo-text', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-text-logo.svg',\r\n alt: ''\r\n })\r\n ]),\r\n\r\n m('.joker-overlay__draw', [\r\n m('.joker-overlay__draw-label', d('JokerOverlay02/Draw')),\r\n m('.joker-overlay__draw-value', wednesdayDrawDate\r\n ? d('JokerOverlay02/DrawValueWednesday', { date: wednesdayDrawDate })\r\n : d('JokerOverlay02/DrawValueWednesdayNoDate'))\r\n ])\r\n ]),\r\n\r\n m('.joker-overlay__pool', [\r\n m('.joker-overlay__pool-label', poolLabelWednesday),\r\n m('.joker-overlay__pool-value', d('JokerOverlay02/PoolValue', { pool: poolSizeWednesday }))\r\n ])\r\n ]),\r\n\r\n // joker wednesday cta\r\n m('a.joker-overlay__box-cta', {\r\n class: (game['withJokerWednesday']() ? ' active' : '') + (noOpenDrawWednesday ? ' unavailable' : ''),\r\n config: !noOpenDrawWednesday ? render.depend('Wednesday') : null,\r\n 'data-uitest-id': 'JokerOverlay__cta--wednesday'\r\n }, game['withJokerWednesday']() ? d('JokerOverlay02/BoxCtaJoker') : d('JokerOverlay02/BoxCtaNoJoker', { price: game.jokerPrice() }))\r\n ]),\r\n\r\n // joker saturday\r\n m('.joker-overlay__box', {\r\n class: isSaturdayDrawBeforeWednesdayDraw ? 'joker-overlay__box--first' : ''\r\n }, [\r\n\r\n // joker saturday small\r\n m('.joker-overlay--small', [\r\n\r\n m('.joker-overlay__logo', [\r\n m('img.joker-overlay__logo-hat', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-hat.svg',\r\n alt: ''\r\n }),\r\n m('img.joker-overlay__logo-text', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-text-logo.svg',\r\n alt: ''\r\n })\r\n ]),\r\n\r\n m('.joker-overlay__draw-pool', [\r\n m('.joker-overlay__draw', [\r\n m('.joker-overlay__draw-label', d('JokerOverlay02/Draw')),\r\n m('.joker-overlay__draw-value', saturdayDrawDate\r\n ? d('JokerOverlay02/DrawValueSaturday', { date: saturdayDrawDate })\r\n : d('JokerOverlay02/DrawValueSaturdayNoDate'))\r\n ]),\r\n m('.joker-overlay__pool', [\r\n m('.joker-overlay__pool-label', poolLabelSaturday),\r\n m('.joker-overlay__pool-value', d('JokerOverlay02/PoolValue', { pool: poolSizeSaturday }))\r\n ])\r\n ]),\r\n\r\n ]),\r\n\r\n // joker saturday medium\r\n m('.joker-overlay--medium', [\r\n\r\n m('div', [\r\n m('.joker-overlay__logo', [\r\n m('img.joker-overlay__logo-hat', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-hat.svg',\r\n alt: ''\r\n }),\r\n m('img.joker-overlay__logo-text', {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons/icon-joker-text-logo.svg',\r\n alt: ''\r\n })\r\n ]),\r\n\r\n m('.joker-overlay__draw', [\r\n m('.joker-overlay__draw-label', d('JokerOverlay02/Draw')),\r\n m('.joker-overlay__draw-value', saturdayDrawDate\r\n ? d('JokerOverlay02/DrawValueSaturday', { date: saturdayDrawDate })\r\n : d('JokerOverlay02/DrawValueSaturdayNoDate'))\r\n ])\r\n ]),\r\n\r\n m('.joker-overlay__pool', [\r\n m('.joker-overlay__pool-label', poolLabelSaturday),\r\n m('.joker-overlay__pool-value', d('JokerOverlay02/PoolValue', { pool: poolSizeSaturday }))\r\n ])\r\n ]),\r\n\r\n m('a.joker-overlay__box-cta', {\r\n class: (game['withJokerSaturday']() ? ' active' : '') + (noOpenDrawSaturday ? ' unavailable' : ''),\r\n config: !noOpenDrawSaturday ? render.depend('Saturday') : null,\r\n 'data-uitest-id': 'JokerOverlay__cta--saturday'\r\n }, game['withJokerSaturday']() ? d('JokerOverlay02/BoxCtaJoker') : d('JokerOverlay02/BoxCtaNoJoker', { price: game.jokerPrice() }))\r\n ])\r\n ];\r\n }\r\n }(),\r\n\r\n m('a.joker-overlay__cta', {\r\n class: totalJokerPrice() > 0 ? ' active' : '',\r\n config: render.depend('button'),\r\n onclick: handleConfirm,\r\n 'data-uitest-id': 'JokerOverlay__cta'\r\n }, getCtaLabel()),\r\n\r\n m('.joker-overlay__read-more.js-joker', {}, [\r\n m('a.joker-overlay__read-more-cta', {\r\n onclick: toggleJokerHelp,\r\n 'data-uitest-id': 'JokerOverlay__cta--read-more'\r\n }, d('JokerOverlay02/WhatsJokerButtonText')),\r\n m('.joker-overlay__read-more-text', m('p', d('JokerOverlay02/WhatsJokerText')))\r\n ])\r\n\r\n ]));\r\n\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return JokerOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/StorageCheck',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/ErrorOverlay',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (Overlay, ErrorOverlay, Storage) {\r\n\r\n // Support:\r\n if (!Storage.supported) {\r\n new Overlay(ErrorOverlay('all-or-nothing-classic-game-overlay eurojackpot-classic-game-overlay keno-million-game-overlay lotto-classic-game-overlay vikinglotto-classic-game-overlay', {\r\n header: 'HOVSA!',\r\n body: 'Din browser er indstillet til ikke at gemme webside-data. Hvis du vil tilgå danskespil.dk, er du nødt til at gøre det i normal browsertilstand.',\r\n dismiss: 'OK'\r\n })).show();\r\n }\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params', [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Params'\r\n], function (MithrilParams) {\r\n\r\n // Functions:\r\n var destruct = function (params) {\r\n var segments = params.split('&');\r\n var properties = {};\r\n var singles = [];\r\n\r\n for (var i = 0; i < segments.length; i++) {\r\n var segment = segments[i];\r\n\r\n if (segment !== '') {\r\n var split = segment.split('=');\r\n\r\n if (split.length === 1) {\r\n singles.push(split[0]);\r\n } else {\r\n properties[split[0]] = split[1];\r\n }\r\n }\r\n }\r\n\r\n return { properties: properties, singles: singles };\r\n };\r\n\r\n var extract = function (param) {\r\n return MithrilParams.extract(param, null);\r\n };\r\n\r\n var set = function (params) {\r\n var additional = destruct(params);\r\n var existing = destruct(location.search.slice(1));\r\n var final = [];\r\n let hash = location.hash;\r\n\r\n // Maybe URL is constucted with hash, e.g. /roed-konto/mine-oplysninger#/cards?foo&bar.\r\n const hasParamsInHash = location.hash?.split('?');\r\n\r\n if (hasParamsInHash?.length > 1) {\r\n hash = hasParamsInHash[0];\r\n final.push(hasParamsInHash[1]);\r\n }\r\n\r\n Object.keys(additional.properties).map(function (key) {\r\n existing.properties[key] = additional.properties[key];\r\n });\r\n\r\n additional.singles.map(function (key) {\r\n if (existing.singles.indexOf(key) === -1) {\r\n existing.singles.push(key);\r\n }\r\n });\r\n\r\n Object.keys(existing.properties).map(function (property) {\r\n final.push(property + '=' + existing.properties[property]);\r\n });\r\n\r\n existing.singles.map(function (single) {\r\n final.push(single);\r\n });\r\n\r\n history.replaceState(\r\n null,\r\n document.title,\r\n location.pathname + '?' + final.join('&') + hash\r\n );\r\n };\r\n\r\n /**\r\n * Removes specified URL parameters from the current URL and updates the browser history.\r\n * @param {string} params - A string containing URL parameters to be removed (e.g., \"param1¶m2\").\r\n */\r\n const remove = (params) => {\r\n // Split the parameters to be removed and the existing parameters into arrays.\r\n const removeParams = params.split('&');\r\n const existing = location.search.slice(1).split('&');\r\n\r\n // Filter and construct the URL parameters to keep.\r\n const urlParams = existing\r\n .filter((existingUrlParam) => !removeParams.includes(existingUrlParam.split('=')[0]))\r\n .filter((element) => element !== '')\r\n .join('&');\r\n\r\n // Create the final URL.\r\n const finalURL = urlParams.length ? `?${urlParams}` : '';\r\n\r\n // Update the browser history with the new URL.\r\n setTimeout(() => {\r\n history.replaceState(null, document.title, location.pathname + finalURL + location.hash);\r\n }, 0);\r\n };\r\n\r\n var uniqueParams = function (params) {\r\n var querySplit = params.split('?');\r\n\r\n if (querySplit.length !== 2) {\r\n return params;\r\n }\r\n\r\n var paramsSplit = querySplit[1].split('&').filter(function (param) {\r\n // remove empty items in array.\r\n return param;\r\n });\r\n var unique = [];\r\n\r\n for (var i = 0; i < paramsSplit.length; i++) {\r\n var param = paramsSplit[i];\r\n\r\n if (unique.indexOf(param) === -1) {\r\n unique.push(param);\r\n }\r\n }\r\n\r\n return querySplit[0] + '?' + unique.join('&');\r\n };\r\n\r\n // Public functions:\r\n return {\r\n detect: MithrilParams.detect,\r\n extract: extract,\r\n set: set,\r\n remove,\r\n uniqueParams: uniqueParams\r\n };\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/Framework/NumberGames/Scripts/Helpers/Utils/NumberUtils', () => {\r\n\r\n\r\n /**\r\n * Formats a number as currency.\r\n * @param {number} [amount=0] - The amount to be formatted as currency.\r\n * @param {number} [decimals=0] - The number of decimal places to use in the formatting.\r\n * @returns {string} - The formatted currency string.\r\n */\r\n const formatCurrency = (amount = 0, decimals = 0) => {\r\n amount = Number(amount);\r\n if (isNaN(amount)) return '-';\r\n return new Intl.NumberFormat('da-DK', {\r\n style: 'currency',\r\n currency: 'DKK',\r\n minimumFractionDigits: decimals ? decimals : 0,\r\n maximumFractionDigits: decimals ? decimals : 0,\r\n }).format(amount);\r\n };\r\n\r\n\r\n /**\r\n * Formats a number to the Danish decimal format.\r\n * @param {number} [number=0] The number to be formatted.\r\n * @param {number} [decimals=0] The number of decimal places to include in the formatted number.\r\n * @returns {string} The formatted number as a string. If the input is not a valid number, returns '-'.\r\n */\r\n const formatNumber = (number = 0, decimals = 0) => {\r\n number = Number(number);\r\n if (isNaN(number)) return '-';\r\n return new Intl.NumberFormat('da-DK', {\r\n style: 'decimal',\r\n minimumFractionDigits: decimals ? decimals : 0,\r\n maximumFractionDigits: decimals ? decimals : 0,\r\n }).format(number);\r\n };\r\n\r\n\r\n /**\r\n * Prefixes a number with zeros.\r\n * @param {number} number - The number to be prefixed.\r\n * @param {number} [digits=2] - The total number of digits the result should have.\r\n * @returns {string} The prefixed number as a string.\r\n */\r\n const prefixNumberWithZeros = (number, digits = 2) => {\r\n if (typeof number !== 'number' || digits <= 0) return '';\r\n let numString = number.toString().padStart(digits, '0');\r\n return numString;\r\n };\r\n\r\n return {\r\n formatCurrency,\r\n formatNumber,\r\n prefixNumberWithZeros,\r\n };\r\n});\r\n\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils/DateUtils', [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils/NumberUtils',\r\n], (NumberUtils) => {\r\n\r\n\r\n var formatISO8601 = function (timestamp, options) {\r\n if (!timestamp) return '';\r\n\r\n options = options || {};\r\n\r\n var includeDate = typeof options.includeDate === 'undefined' ? true : options.includeDate;\r\n var includeTime = typeof options.includeTime === 'undefined' ? true : options.includeTime;\r\n var includeTimePrefix = typeof options.includeTimePrefix === 'undefined' ? true : options.includeTimePrefix;\r\n var includeYear = typeof options.includeYear === 'undefined' ? true : options.includeYear;\r\n var includeDayName = typeof options.includeDayName === 'undefined' ? false : options.includeDayName;\r\n var dayNameSeparatorFromDate = typeof options.dayNameSeparatorFromDate === 'undefined' ? false : options.dayNameSeparatorFromDate;\r\n\r\n var parsed = parseISO8601(timestamp);\r\n\r\n var output = [];\r\n\r\n if (includeDayName) {\r\n output.push(parsed.dayName);\r\n }\r\n\r\n if (dayNameSeparatorFromDate !== false) {\r\n output.push(dayNameSeparatorFromDate);\r\n }\r\n\r\n if (includeDate) {\r\n var monthName = options.shortenMonthNames ? parsed.monthName.slice(0, 3) + '.' : parsed.monthName;\r\n options.shortenDate ? output.push(parseInt(parsed.date, 10) + ' ' + monthName) : output.push(parseInt(parsed.date, 10) + '. ' + monthName);\r\n }\r\n\r\n if (includeYear) {\r\n output.push(parsed.year);\r\n }\r\n\r\n if (includeTime) {\r\n if (includeTimePrefix) {\r\n output.push('kl.');\r\n }\r\n\r\n output.push(parsed.hours + ':' + parsed.minutes);\r\n }\r\n\r\n return output.join(' ');\r\n };\r\n\r\n\r\n var getLongDate = function (date, addYear) {\r\n var dateObj = parseISO8601(date.toISOString());\r\n return dateObj.dayName.charAt(0).toUpperCase() + dateObj.dayName.slice(1)\r\n + ' d. ' + Number(dateObj.date) + '. ' + dateObj.monthName\r\n + (addYear ? ' ' + dateObj.year : '');\r\n };\r\n\r\n\r\n const getNumberOfDaysInMonth = (year, month) => {\r\n return new Date(year, month, 0).getDate();\r\n };\r\n\r\n\r\n /**\r\n * Returns the year of a date.\r\n * * @param {String|Date} date\r\n * * @return {Number|String}\r\n */\r\n const getYear = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n return d.getFullYear();\r\n };\r\n\r\n\r\n /**\r\n * Returns week number from a date.\r\n * Function converts a locale date object to a UTC date, then calculates a week number based on the start of the year\r\n * This function takes Week 53 into account as well (happens roughly every 6 years)\r\n * \"Inspiration\" from: https://stackoverflow.com/a/6117889\r\n * * @param {Date} date - The date to where the week number is to be found.\r\n * * @return {Number|String}\r\n */\r\n const getWeekNumber = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n const utcDate = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));\r\n const dayNum = utcDate.getUTCDay() || 7;\r\n utcDate.setUTCDate(utcDate.getUTCDate() + 4 - dayNum);\r\n const yearStart = new Date(Date.UTC(utcDate.getUTCFullYear(), 0, 1));\r\n return Math.ceil((((utcDate - yearStart) / 86400000) + 1) / 7);\r\n };\r\n\r\n\r\n /**\r\n * Returns a date formatted with ex. '27. oktober'.\r\n * @param {String|Date} date - The date to be formatted.\r\n * @return {String}\r\n */\r\n const formatDateDayMonth = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n return new Intl.DateTimeFormat('da-DK', { day: 'numeric', month: 'long' }).format(d);\r\n };\r\n\r\n\r\n /**\r\n * Returns a date formatted with ex. 'oktober 2022'.\r\n * @param {String|Date} date - The date to be formatted.\r\n * @return {String}\r\n */\r\n const formatDateMonthYear = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n return new Intl.DateTimeFormat('da-DK', { month: 'long', year: 'numeric' }).format(d);\r\n };\r\n\r\n\r\n /**\r\n * Returns a date formatted with ex. '27. oktober 2022'.\r\n * @param {String|Date} date - The date to be formatted.\r\n * @return {String}\r\n */\r\n const formatDateDayMonthYear = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n return new Intl.DateTimeFormat('da-DK', { day: 'numeric', month: 'long', year: 'numeric' }).format(d);\r\n };\r\n\r\n\r\n /**\r\n * Returns a date formatted with ex. 'Lørdag 27. oktober 2022'.\r\n * @param {String|Date} date - The date to be formatted.\r\n * @return {String}\r\n */\r\n const formatDateDayDateMonthYear = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n let dayString = formatDateWeekDay(d);\r\n dayString = dayString.charAt(0).toUpperCase() + dayString.slice(1);\r\n const dateString = formatDateDayMonthYear(d);\r\n return `${dayString} ${dateString}`;\r\n };\r\n\r\n\r\n /**\r\n * Returns a week date, ex. 'torsdag'.\r\n * @param {String|Date} date - The date from where the day is found.\r\n * @return {String}\r\n */\r\n const formatDateWeekDay = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n return new Intl.DateTimeFormat('da-DK', { weekday: 'long' }).format(d);\r\n };\r\n\r\n\r\n /**\r\n * Returns a date formatted with ex. '2022-10-27'.\r\n * @param {String|Date} date - The date to be formatted.\r\n * @return {String}\r\n */\r\n const formatDateYearMonthDay = (date) => {\r\n if (isDateInvalid(date)) return '';\r\n const d = getDate(date);\r\n const year = d.getFullYear();\r\n const month = NumberUtils.prefixNumberWithZeros(d.getMonth() + 1);\r\n const day = NumberUtils.prefixNumberWithZeros(d.getDate());\r\n return `${year}-${month}-${day}`;\r\n };\r\n\r\n /**\r\n * Calculates the difference in months between two dates.\r\n * @param {String|Date} date1\r\n * @param {String|Date} date2\r\n * @returns {number}\r\n */\r\n const getDifferenceInMonths = (date1 = new Date(), date2 = new Date()) => {\r\n if (isDateInvalid(date1) || isDateInvalid(date2)) return 0;\r\n const d1 = new Date(date1);\r\n const d2 = new Date(date2);\r\n let months;\r\n months = (d2.getFullYear() - d1.getFullYear()) * 12;\r\n months -= d1.getMonth();\r\n months += d2.getMonth();\r\n return months <= 0 ? 0 : months;\r\n };\r\n\r\n\r\n const getMatchingDateFromWeekAndYear = (week, year, arrayOfDates, property) => {\r\n if (!arrayOfDates || !week || !year) return;\r\n\r\n const dateToMatch = arrayOfDates.filter((d) => {\r\n if (property) {\r\n return week === getWeekNumber(d[property]) && year === getYear(d[property]);\r\n }\r\n\r\n return week === getWeekNumber(d) && year === getYear(d);\r\n });\r\n\r\n if (dateToMatch?.[0]) {\r\n return dateToMatch[0];\r\n }\r\n };\r\n\r\n\r\n const getWeekAndYearFromHash = () => {\r\n // hash should look like \"#uge35-2020\".\r\n const hashMatch = location.hash.match(/uge(\\d{1,2})-(\\d{4})/);\r\n if (hashMatch) {\r\n const week = Number(hashMatch[1]);\r\n const year = Number(hashMatch[2]);\r\n if (week && year) {\r\n return { week, year };\r\n }\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Checks if a date is invalid.\r\n * @param {String|Date} date - The date to be checked.\r\n * @return {Boolean}\r\n */\r\n const isDateInvalid = (date) => {\r\n return isNaN(Date.parse(date));\r\n };\r\n\r\n\r\n /**\r\n * Compares two dates, to see if they're the same day (ignoring time differences).\r\n * @param {String|Date} date1 - The first date to be compared.\r\n * @param {String|Date} date2 - The second date to be compared.\r\n * @return {Boolean}\r\n */\r\n const isSameDay = (date1, date2) => {\r\n if (isDateInvalid(date1) || isDateInvalid(date2)) return false;\r\n return formatDateYearMonthDay(date1) === formatDateYearMonthDay(date2);\r\n };\r\n\r\n\r\n /**\r\n * Checks to see if ex. January 1, 2022 is part of Week 52 of 2021.\r\n * @param {String|Date} date\r\n * @return {Boolean}\r\n */\r\n const isWeekEndOfYearAndMonthIsJanuary = (date) => {\r\n if (isDateInvalid(date)) return false;\r\n const d = getDate(date);\r\n return getWeekNumber(d) > 50 && d.getMonth() === 0;\r\n };\r\n\r\n const parseTimeZone = (timeOffset) => {\r\n const parts = timeOffset.split(':');\r\n if (parts.length !== 2) {\r\n throw new Error('Invalid time offset format');\r\n }\r\n\r\n const hours = parseInt(parts[0], 10);\r\n const minutes = parseInt(parts[1], 10);\r\n\r\n if (isNaN(hours) || isNaN(minutes)) {\r\n throw new Error('Invalid time offset format');\r\n }\r\n\r\n const millisecondsInHour = 60 * 60 * 1000;\r\n const millisecondsInMinute = 60 * 1000;\r\n\r\n return (hours * millisecondsInHour) + (minutes * millisecondsInMinute);\r\n };\r\n\r\n\r\n var parseISO8601 = function (timestamp) {\r\n var data = {};\r\n if (timestamp.length < 19) {\r\n console.warn('Timestamp too short for ISO 8601 formatting!');\r\n } else if (timestamp.indexOf('Z') === timestamp.length - 1) {\r\n // if timestamp is given in UTC, convert it to danish timezone\r\n // swedish locale is used because it resembles ISO8601\r\n data.dateObject = new Date(timestamp);\r\n timestamp = data.dateObject.toLocaleString('sv', { timeZone: 'Europe/Copenhagen' });\r\n }\r\n\r\n data.year = timestamp.substring(0, 4);\r\n data.month = timestamp.substring(5, 7);\r\n data.date = timestamp.substring(8, 10);\r\n data.hours = timestamp.substring(11, 13);\r\n data.minutes = timestamp.substring(14, 16);\r\n data.seconds = timestamp.substring(17, 19);\r\n data.timezone = timestamp.substring(19, 25);\r\n\r\n if (!data.dateObject) {\r\n try {\r\n data.dateObject = new Date(data.year, data.month - 1, data.date, data.hours, data.minutes, data.seconds);\r\n if (data.timezone) {\r\n data.dateObject = new Date(Date.UTC(data.year, data.month - 1, data.date, data.hours, data.minutes, data.seconds)\r\n - parseTimeZone(data.timezone));\r\n }\r\n } catch (e) {\r\n // Empty\r\n }\r\n }\r\n\r\n data.dayName = data.dateObject.toLocaleString('da-DK', { weekday: 'long', timeZone: 'Europe/Copenhagen' });\r\n data.monthName = data.dateObject.toLocaleString('da-DK', { month: 'long', timeZone: 'Europe/Copenhagen' });\r\n\r\n return data;\r\n };\r\n\r\n\r\n const setWeekAndYearToHash = (date) => {\r\n if (history.pushState) {\r\n let year = getYear(date);\r\n if (isWeekEndOfYearAndMonthIsJanuary(date)) {\r\n year--;\r\n }\r\n history.pushState(null, null, `#uge${getWeekNumber(date)}-${year}`);\r\n }\r\n };\r\n\r\n\r\n /**\r\n * Returns a new Date object with default Copenhagen time zone.\r\n * Useful when you only have a simple date string, eg. '2022-12-31', and you want to convert\r\n * it to a date that still resembles December 31, 2022 for eg. Greenland users.\r\n * @param {String|Date} [date=new Date()]\r\n * @param {String} timeZone [timeZone='sv']\r\n * @returns {Date}\r\n */\r\n const getDate = (date = new Date(), timeZone = 'Europe/Copenhagen') => {\r\n // Swedish locale is used because its output format can be used to create a new Date object.\r\n const locales = 'sv';\r\n\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n\r\n date = date.toLocaleString(locales, { timeZone });\r\n date = date.replace(/-/g, '/'); // Safari version 0-15 fix.\r\n return new Date(date);\r\n };\r\n\r\n\r\n return {\r\n formatISO8601,\r\n getDate,\r\n getLongDate,\r\n getNumberOfDaysInMonth,\r\n getYear,\r\n getWeekNumber,\r\n formatDateDayMonth,\r\n formatDateMonthYear,\r\n formatDateDayMonthYear,\r\n formatDateDayDateMonthYear,\r\n formatDateWeekDay,\r\n formatDateYearMonthDay,\r\n getDifferenceInMonths,\r\n getMatchingDateFromWeekAndYear,\r\n getWeekAndYearFromHash,\r\n isDateInvalid,\r\n isSameDay,\r\n isWeekEndOfYearAndMonthIsJanuary,\r\n parseISO8601,\r\n setWeekAndYearToHash,\r\n };\r\n});\r\n\r\n","defineDs(\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/PreviousSubscriptions/Utils',\r\n ['DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils'],\r\n function (Utils) {\r\n const summarizeSubscription = (subscription) => {\r\n const subscriptionGames = subscription.games();\r\n const reducedSubscriptionGames = subscriptionGames.reduce(\r\n (accumulator, game) => {\r\n const rowCount = Utils.getGameRowCount(game);\r\n const existingReducedSubscription = accumulator.games.get(game.gameType);\r\n const newReducedSubscription = {\r\n subscriptionModel: subscription,\r\n games: subscription.games(),\r\n gameType: existingReducedSubscription?.gameType || game.gameType,\r\n totalCostPerWeek: (existingReducedSubscription?.totalCostPerWeek || 0) + game.totalCostPerWeek,\r\n rowCount: (existingReducedSubscription?.rowCount || 0) + rowCount,\r\n hasJoker: !!(existingReducedSubscription?.hasJoker || game.withJokerSaturday || game.withJokerWednesday),\r\n };\r\n\r\n accumulator.pricePerWeek += game.totalCostPerWeek / 100;\r\n accumulator.games.set(newReducedSubscription.gameType, newReducedSubscription);\r\n\r\n return accumulator;\r\n },\r\n {\r\n pricePerWeek: 0,\r\n games: new Map(), // Map used to make lookup easier and to make sure sequence is kept\r\n }\r\n );\r\n return {\r\n pricePerWeek: reducedSubscriptionGames.pricePerWeek,\r\n games: Array.from(reducedSubscriptionGames.games.values()),\r\n };\r\n };\r\n\r\n return {\r\n summarizeSubscription,\r\n };\r\n }\r\n);\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/AccountIntegration', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'DanskeSpil/Domain/Authentification/Scripts/SitecoreAuth',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController'\r\n], function (m, Event, LoginCache, SitecoreAuth, LoginController) {\r\n\r\n // Variables:\r\n var ready = m.deferred();\r\n\r\n var triggerBalanceUpdate = function () {\r\n window.DSAPI && DSAPI.ready(function () {\r\n DSAPI.Account.doBalanceUpdate();\r\n });\r\n };\r\n\r\n var getLoginStatus = function () {\r\n var deferred = m.deferred();\r\n\r\n SitecoreAuth.getLoginStatus(function (loggedIn) {\r\n deferred.resolve(loggedIn);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var checkBalance = function (requiredAmount) {\r\n console.debug('AccountIntegration.checkBalance');\r\n var deferred = m.deferred();\r\n\r\n SitecoreAuth.getUserObj(function (data) {\r\n if (data && data.customerInfo && typeof data.customerInfo.balance !== 'undefined') {\r\n console.debug('current balance', data.customerInfo.balance);\r\n\r\n if (requiredAmount <= data.customerInfo.balance) {\r\n deferred.resolve(true);\r\n } else { // not enough money\r\n deferred.resolve(false);\r\n }\r\n } else { // communcation error or user not logged in\r\n deferred.reject();\r\n }\r\n\r\n }, false);\r\n\r\n return deferred.promise;\r\n\r\n };\r\n\r\n\r\n var getUserData = function () {\r\n var deferred = m.deferred();\r\n\r\n var userObj = LoginCache.getUserObj();\r\n if (userObj && userObj.customerInfo) {\r\n // First, use cache:\r\n deferred.resolve(userObj.customerInfo);\r\n } else {\r\n // Retrieve user data:\r\n SitecoreAuth.getUserObj(function (data) {\r\n if (data && data.customerInfo) {\r\n deferred.resolve(data.customerInfo);\r\n } else { // communcation error or user not logged in\r\n deferred.reject();\r\n }\r\n });\r\n }\r\n\r\n return deferred.promise;\r\n };\r\n\r\n\r\n var openLogin = function (loginSuccessUrl, cancelUrl) {\r\n window.DSAPI && DSAPI.ready(function () {\r\n DSAPI.Account.openLogin({\r\n cancelUrl: cancelUrl || null,\r\n loginSuccessUrl: loginSuccessUrl || null,\r\n });\r\n\r\n });\r\n };\r\n\r\n var openDeposit = function (price) {\r\n var url = DS.Config.PRETTYPREFIX + '/indbetaling?returnurl=' + encodeURIComponent(location.pathname + location.search + location.hash);\r\n\r\n if (price && LoginCache.getUserObj() && LoginCache.getUserObj().customerInfo) {\r\n var instantAmount = price - LoginCache.getUserObj().customerInfo.balance;\r\n if (instantAmount > 0) {\r\n url += '&instantAmount=' + instantAmount;\r\n }\r\n }\r\n\r\n location.href = url;\r\n };\r\n\r\n var openAccountPage = function () {\r\n window.location.href = DS.Config.PRETTYPREFIX + '/mine-spil';\r\n };\r\n\r\n var logout = function (callback) {\r\n LoginController.logout(callback ? { callback: callback } : undefined);\r\n };\r\n\r\n // Initialize - Ready when page load auth sync is finished\r\n if (LoginController.isSynced()) {\r\n ready.resolve();\r\n } else {\r\n Event.subscribe('pageload-auth-synced', function () {\r\n ready.resolve();\r\n });\r\n }\r\n\r\n\r\n return {\r\n ready: ready.promise,\r\n getUserData: getUserData,\r\n getLoginStatus: getLoginStatus,\r\n triggerBalanceUpdate: triggerBalanceUpdate,\r\n checkBalance: checkBalance,\r\n openLogin: openLogin,\r\n openDeposit: openDeposit,\r\n openAccountPage: openAccountPage,\r\n logout: logout\r\n };\r\n\r\n\r\n});\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/Confirm',\r\n ['Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/AccountIntegration'],\r\n function (m, AccountIntegration) {\r\n\r\n // Authenficiation and balance checks:\r\n var checkAuth = function () {\r\n var deferred = m.deferred();\r\n\r\n // Auth check:\r\n AccountIntegration.getLoginStatus().then(function (isLoggedIn) {\r\n if (isLoggedIn) {\r\n deferred.resolve();\r\n } else {\r\n deferred.reject();\r\n }\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var checkBalance = function (requiredAmount) {\r\n var deferred = m.deferred();\r\n\r\n AccountIntegration.checkBalance(requiredAmount).then(function (balanceOk) {\r\n if (!balanceOk) {\r\n deferred.reject('INSUFFICIENT_AMOUNT');\r\n } else {\r\n deferred.resolve();\r\n }\r\n }, function () {\r\n // Something odd went wrong with auth\r\n deferred.reject('AUTH_FAILED');\r\n });\r\n\r\n return deferred.promise;\r\n\r\n };\r\n\r\n var authFailed = function (game) {\r\n console.debug('Auth service failed');\r\n AccountIntegration.logout();\r\n\r\n console.warn('opening login with ', location.href, game().cancelUrl());\r\n\r\n AccountIntegration.openLogin(location.href, game().cancelUrl());\r\n };\r\n\r\n var checkAuthAndBalance = function (game) {\r\n var deferred = m.deferred();\r\n var requiredAmount = game().totalPrice();\r\n\r\n checkAuth().then(function () {\r\n checkBalance(requiredAmount).then(function () {\r\n deferred.resolve();\r\n }, function (error) {\r\n console.debug('checkBalance error', error);\r\n\r\n if (error === 'INSUFFICIENT_AMOUNT') {\r\n\r\n var paymentMethod = 'window';\r\n\r\n if (paymentMethod === 'window') {\r\n deferred.reject('ASK_FOR_DEPOSIT');\r\n } else if (paymentMethod === 'iframe') {\r\n AccountIntegration.openDeposit(requiredAmount, function () {\r\n location.href = game().cancelUrl();\r\n });\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n if (error === 'AUTH_FAILED') {\r\n // Auth failed\r\n authFailed(game);\r\n }\r\n\r\n });\r\n }, function () {\r\n // Auth failed\r\n authFailed(game);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getPurchaseError = function (errorType) {\r\n var customErrors = {\r\n 'NUMBERGAMES.NO_OPEN_DRAW': 'NoOpenDraw',\r\n 'NUMBERGAMES.OPEN_DRAW_MISMATCH': 'DrawMismatch',\r\n 'NUMBERGAMES.PLAYER_RESTRICTED_FROM_BUY': 'PlayerRestrictedFromBuy',\r\n 'NUMBERGAMES.GAMEPROVIDER_TIMEOUT': 'GameProviderTimeout',\r\n 'CLIENT.TIMEOUT': 'ClientConnectionTimeout',\r\n 'CLIENT.REFUSED': 'ClientConnectionRefused'\r\n };\r\n return customErrors[errorType] || 'TechnicalError';\r\n };\r\n\r\n\r\n var handlePurchaseError = function (game, errorMessage, showErrorCallback) {\r\n\r\n if (errorMessage == 'NUMBERGAMES.NO_FUNDS') {\r\n AccountIntegration.openDeposit(game().totalPrice(), function () {\r\n location.href = game().cancelUrl();\r\n });\r\n } else if (errorMessage == 'USER_UNAUTHORIZED') {\r\n checkAuthAndBalance();\r\n } else {\r\n showErrorCallback(errorMessage);\r\n }\r\n\r\n };\r\n\r\n\r\n return {\r\n checkAuthAndBalance: checkAuthAndBalance,\r\n getPurchaseError: getPurchaseError,\r\n handlePurchaseError: handlePurchaseError\r\n };\r\n\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Helpers/Shake',\r\n function () {\r\n\r\n // Variables:\r\n var callbacks = [];\r\n var shakeCount = 0;\r\n var shakeState = 0;\r\n var shakeTolerance = 30;\r\n var shakeTimeout = 500;\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.ondevicemotion = function (event) {\r\n if (!event || !event.accelerationIncludingGravity) {\r\n return;\r\n }\r\n\r\n var xAxis = Math.abs(event.accelerationIncludingGravity.x);\r\n var yAxis = Math.abs(event.accelerationIncludingGravity.y);\r\n var zAxis = Math.abs(event.accelerationIncludingGravity.z);\r\n\r\n if ((xAxis + yAxis + zAxis) > shakeTolerance && !shakeState) {\r\n shakeCount++;\r\n\r\n if (shakeCount > 5) {\r\n shakeState = 1;\r\n\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 setTimeout(function () {\r\n shakeState = 0;\r\n shakeCount = 0;\r\n }, shakeTimeout);\r\n }\r\n };\r\n\r\n // Public functions:\r\n return add;\r\n\r\n });\r\n","/* eslint-disable */\r\ndefineDs('DanskeSpil/Framework/NumberGames/Scripts/Framework/HammerTime', function () {\r\n\r\n // Hammer-Time:\r\n !function () { var a = window.MutationObserver || window.WebKitMutationObserver, b = \"ontouchstart\" in window || window.DocumentTouch && document instanceof DocumentTouch, c = void 0 !== document.documentElement.style[\"touch-action\"] || document.documentElement.style[\"-ms-touch-action\"]; if (!c && b && a) { window.Hammer = window.Hammer || {}; var d = /touch-action[:][\\s]*(none)[^;'\"]*/, e = /touch-action[:][\\s]*(manipulation)[^;'\"]*/, f = /touch-action/, g = navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? !0 : !1, h = function () { try { var a = document.createElement(\"canvas\"); return !(!window.WebGLRenderingContext || !a.getContext(\"webgl\") && !a.getContext(\"experimental-webgl\")) } catch (b) { return !1 } }(), i = h && g; window.Hammer.time = { getTouchAction: function (a) { return this.checkStyleString(a.getAttribute(\"style\")) }, checkStyleString: function (a) { return f.test(a) ? d.test(a) ? \"none\" : e.test(a) ? \"manipulation\" : !0 : void 0 }, shouldHammer: function (a) { var b = this.hasParent(a.target); return b && (!i || Date.now() - a.target.lastStart < 125) ? b : !1 }, touchHandler: function (a) { var b = a.target.getBoundingClientRect(), c = b.top !== this.pos.top || b.left !== this.pos.left, d = this.shouldHammer(a); (\"none\" === d || c === !1 && \"manipulation\" === d) && (\"touchend\" === a.type && (a.target.focus(), setTimeout(function () { a.target.click() }, 0)), a.preventDefault()), this.scrolled = !1, delete a.target.lastStart }, touchStart: function (a) { this.pos = a.target.getBoundingClientRect(), i && this.hasParent(a.target) && (a.target.lastStart = Date.now()) }, styleWatcher: function (a) { a.forEach(this.styleUpdater, this) }, styleUpdater: function (a) { if (a.target.updateNext) return void (a.target.updateNext = !1); var b = this.getTouchAction(a.target); return b ? void (\"none\" !== b && (a.target.hadTouchNone = !1)) : void (!b && (a.oldValue && this.checkStyleString(a.oldValue) || a.target.hadTouchNone) && (a.target.hadTouchNone = !0, a.target.updateNext = !1, a.target.setAttribute(\"style\", a.target.getAttribute(\"style\") + \" touch-action: none;\"))) }, hasParent: function (a) { for (var b, c = a; c && c.parentNode; c = c.parentNode) if (b = this.getTouchAction(c)) return b; return !1 }, installStartEvents: function () { document.addEventListener(\"touchstart\", this.touchStart.bind(this)), document.addEventListener(\"mousedown\", this.touchStart.bind(this)) }, installEndEvents: function () { document.addEventListener(\"touchend\", this.touchHandler.bind(this), !0), document.addEventListener(\"mouseup\", this.touchHandler.bind(this), !0) }, installObserver: function () { this.observer = new a(this.styleWatcher.bind(this)).observe(document, { subtree: !0, attributes: !0, attributeOldValue: !0, attributeFilter: [\"style\"] }) }, install: function () { this.installEndEvents(), this.installStartEvents(), this.installObserver() } }, window.Hammer.time.install() } }();\r\n\r\n});\r\n","/* eslint-disable */\r\ndefineDs('DanskeSpil/Framework/NumberGames/Scripts/Framework/LottiePlayer', function () {\r\n !function(t, e) {\r\n \"object\" == typeof exports && \"undefined\" != typeof module ? e(exports) : \"function\" == typeof define && define.amd ? define([\"exports\"], e) : e((t = \"undefined\" != typeof globalThis ? globalThis : t || self)[\"lottie-player\"] = {})\r\n }(this, (function(exports) {\r\n \"use strict\";\r\n function _typeof(t) {\r\n return (_typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(t) {\r\n return typeof t\r\n }\r\n : function(t) {\r\n return t && \"function\" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? \"symbol\" : typeof t\r\n }\r\n )(t)\r\n }\r\n var REACT_ELEMENT_TYPE;\r\n function _jsx(t, e, r, i) {\r\n REACT_ELEMENT_TYPE || (REACT_ELEMENT_TYPE = \"function\" == typeof Symbol && Symbol.for && Symbol.for(\"react.element\") || 60103);\r\n var a = t && t.defaultProps\r\n , s = arguments.length - 3;\r\n if (e || 0 === s || (e = {\r\n children: void 0\r\n }),\r\n 1 === s)\r\n e.children = i;\r\n else if (s > 1) {\r\n for (var n = new Array(s), o = 0; o < s; o++)\r\n n[o] = arguments[o + 3];\r\n e.children = n\r\n }\r\n if (e && a)\r\n for (var h in a)\r\n void 0 === e[h] && (e[h] = a[h]);\r\n else\r\n e || (e = a || {});\r\n return {\r\n $$typeof: REACT_ELEMENT_TYPE,\r\n type: t,\r\n key: void 0 === r ? null : \"\" + r,\r\n ref: null,\r\n props: e,\r\n _owner: null\r\n }\r\n }\r\n function _asyncIterator(t) {\r\n var e;\r\n if (\"undefined\" != typeof Symbol) {\r\n if (Symbol.asyncIterator && null != (e = t[Symbol.asyncIterator]))\r\n return e.call(t);\r\n if (Symbol.iterator && null != (e = t[Symbol.iterator]))\r\n return e.call(t)\r\n }\r\n throw new TypeError(\"Object is not async iterable\")\r\n }\r\n function _AwaitValue(t) {\r\n this.wrapped = t\r\n }\r\n function _AsyncGenerator(t) {\r\n var e, r;\r\n function i(e, r) {\r\n try {\r\n var s = t[e](r)\r\n , n = s.value\r\n , o = n instanceof _AwaitValue;\r\n Promise.resolve(o ? n.wrapped : n).then((function(t) {\r\n o ? i(\"return\" === e ? \"return\" : \"next\", t) : a(s.done ? \"return\" : \"normal\", t)\r\n }\r\n ), (function(t) {\r\n i(\"throw\", t)\r\n }\r\n ))\r\n } catch (t) {\r\n a(\"throw\", t)\r\n }\r\n }\r\n function a(t, a) {\r\n switch (t) {\r\n case \"return\":\r\n e.resolve({\r\n value: a,\r\n done: !0\r\n });\r\n break;\r\n case \"throw\":\r\n e.reject(a);\r\n break;\r\n default:\r\n e.resolve({\r\n value: a,\r\n done: !1\r\n })\r\n }\r\n (e = e.next) ? i(e.key, e.arg) : r = null\r\n }\r\n this._invoke = function(t, a) {\r\n return new Promise((function(s, n) {\r\n var o = {\r\n key: t,\r\n arg: a,\r\n resolve: s,\r\n reject: n,\r\n next: null\r\n };\r\n r ? r = r.next = o : (e = r = o,\r\n i(t, a))\r\n }\r\n ))\r\n }\r\n ,\r\n \"function\" != typeof t.return && (this.return = void 0)\r\n }\r\n function _wrapAsyncGenerator(t) {\r\n return function() {\r\n return new _AsyncGenerator(t.apply(this, arguments))\r\n }\r\n }\r\n function _awaitAsyncGenerator(t) {\r\n return new _AwaitValue(t)\r\n }\r\n function _asyncGeneratorDelegate(t, e) {\r\n var r = {}\r\n , i = !1;\r\n function a(r, a) {\r\n return i = !0,\r\n a = new Promise((function(e) {\r\n e(t[r](a))\r\n }\r\n )),\r\n {\r\n done: !1,\r\n value: e(a)\r\n }\r\n }\r\n return \"function\" == typeof Symbol && Symbol.iterator && (r[Symbol.iterator] = function() {\r\n return this\r\n }\r\n ),\r\n r.next = function(t) {\r\n return i ? (i = !1,\r\n t) : a(\"next\", t)\r\n }\r\n ,\r\n \"function\" == typeof t.throw && (r.throw = function(t) {\r\n if (i)\r\n throw i = !1,\r\n t;\r\n return a(\"throw\", t)\r\n }\r\n ),\r\n \"function\" == typeof t.return && (r.return = function(t) {\r\n return i ? (i = !1,\r\n t) : a(\"return\", t)\r\n }\r\n ),\r\n r\r\n }\r\n function asyncGeneratorStep(t, e, r, i, a, s, n) {\r\n try {\r\n var o = t[s](n)\r\n , h = o.value\r\n } catch (t) {\r\n return void r(t)\r\n }\r\n o.done ? e(h) : Promise.resolve(h).then(i, a)\r\n }\r\n function _asyncToGenerator(t) {\r\n return function() {\r\n var e = this\r\n , r = arguments;\r\n return new Promise((function(i, a) {\r\n var s = t.apply(e, r);\r\n function n(t) {\r\n asyncGeneratorStep(s, i, a, n, o, \"next\", t)\r\n }\r\n function o(t) {\r\n asyncGeneratorStep(s, i, a, n, o, \"throw\", t)\r\n }\r\n n(void 0)\r\n }\r\n ))\r\n }\r\n }\r\n function _classCallCheck(t, e) {\r\n if (!(t instanceof e))\r\n throw new TypeError(\"Cannot call a class as a function\")\r\n }\r\n function _defineProperties(t, e) {\r\n for (var r = 0; r < e.length; r++) {\r\n var i = e[r];\r\n i.enumerable = i.enumerable || !1,\r\n i.configurable = !0,\r\n \"value\"in i && (i.writable = !0),\r\n Object.defineProperty(t, i.key, i)\r\n }\r\n }\r\n function _createClass(t, e, r) {\r\n return e && _defineProperties(t.prototype, e),\r\n r && _defineProperties(t, r),\r\n t\r\n }\r\n function _defineEnumerableProperties(t, e) {\r\n for (var r in e) {\r\n (s = e[r]).configurable = s.enumerable = !0,\r\n \"value\"in s && (s.writable = !0),\r\n Object.defineProperty(t, r, s)\r\n }\r\n if (Object.getOwnPropertySymbols)\r\n for (var i = Object.getOwnPropertySymbols(e), a = 0; a < i.length; a++) {\r\n var s, n = i[a];\r\n (s = e[n]).configurable = s.enumerable = !0,\r\n \"value\"in s && (s.writable = !0),\r\n Object.defineProperty(t, n, s)\r\n }\r\n return t\r\n }\r\n function _defaults(t, e) {\r\n for (var r = Object.getOwnPropertyNames(e), i = 0; i < r.length; i++) {\r\n var a = r[i]\r\n , s = Object.getOwnPropertyDescriptor(e, a);\r\n s && s.configurable && void 0 === t[a] && Object.defineProperty(t, a, s)\r\n }\r\n return t\r\n }\r\n function _defineProperty(t, e, r) {\r\n return e in t ? Object.defineProperty(t, e, {\r\n value: r,\r\n enumerable: !0,\r\n configurable: !0,\r\n writable: !0\r\n }) : t[e] = r,\r\n t\r\n }\r\n function _extends() {\r\n return (_extends = Object.assign || function(t) {\r\n for (var e = 1; e < arguments.length; e++) {\r\n var r = arguments[e];\r\n for (var i in r)\r\n Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i])\r\n }\r\n return t\r\n }\r\n ).apply(this, arguments)\r\n }\r\n function _objectSpread(t) {\r\n for (var e = 1; e < arguments.length; e++) {\r\n var r = null != arguments[e] ? Object(arguments[e]) : {}\r\n , i = Object.keys(r);\r\n \"function\" == typeof Object.getOwnPropertySymbols && (i = i.concat(Object.getOwnPropertySymbols(r).filter((function(t) {\r\n return Object.getOwnPropertyDescriptor(r, t).enumerable\r\n }\r\n )))),\r\n i.forEach((function(e) {\r\n _defineProperty(t, e, r[e])\r\n }\r\n ))\r\n }\r\n return t\r\n }\r\n function ownKeys(t, e) {\r\n var r = Object.keys(t);\r\n if (Object.getOwnPropertySymbols) {\r\n var i = Object.getOwnPropertySymbols(t);\r\n e && (i = i.filter((function(e) {\r\n return Object.getOwnPropertyDescriptor(t, e).enumerable\r\n }\r\n ))),\r\n r.push.apply(r, i)\r\n }\r\n return r\r\n }\r\n function _objectSpread2(t) {\r\n for (var e = 1; e < arguments.length; e++) {\r\n var r = null != arguments[e] ? arguments[e] : {};\r\n e % 2 ? ownKeys(Object(r), !0).forEach((function(e) {\r\n _defineProperty(t, e, r[e])\r\n }\r\n )) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : ownKeys(Object(r)).forEach((function(e) {\r\n Object.defineProperty(t, e, Object.getOwnPropertyDescriptor(r, e))\r\n }\r\n ))\r\n }\r\n return t\r\n }\r\n function _inherits(t, e) {\r\n if (\"function\" != typeof e && null !== e)\r\n throw new TypeError(\"Super expression must either be null or a function\");\r\n t.prototype = Object.create(e && e.prototype, {\r\n constructor: {\r\n value: t,\r\n writable: !0,\r\n configurable: !0\r\n }\r\n }),\r\n e && _setPrototypeOf(t, e)\r\n }\r\n function _inheritsLoose(t, e) {\r\n t.prototype = Object.create(e.prototype),\r\n t.prototype.constructor = t,\r\n _setPrototypeOf(t, e)\r\n }\r\n function _getPrototypeOf(t) {\r\n return (_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function(t) {\r\n return t.__proto__ || Object.getPrototypeOf(t)\r\n }\r\n )(t)\r\n }\r\n function _setPrototypeOf(t, e) {\r\n return (_setPrototypeOf = Object.setPrototypeOf || function(t, e) {\r\n return t.__proto__ = e,\r\n t\r\n }\r\n )(t, e)\r\n }\r\n function _isNativeReflectConstruct() {\r\n if (\"undefined\" == typeof Reflect || !Reflect.construct)\r\n return !1;\r\n if (Reflect.construct.sham)\r\n return !1;\r\n if (\"function\" == typeof Proxy)\r\n return !0;\r\n try {\r\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}\r\n ))),\r\n !0\r\n } catch (t) {\r\n return !1\r\n }\r\n }\r\n function _construct(t, e, r) {\r\n return (_construct = _isNativeReflectConstruct() ? Reflect.construct : function(t, e, r) {\r\n var i = [null];\r\n i.push.apply(i, e);\r\n var a = new (Function.bind.apply(t, i));\r\n return r && _setPrototypeOf(a, r.prototype),\r\n a\r\n }\r\n ).apply(null, arguments)\r\n }\r\n function _isNativeFunction(t) {\r\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\")\r\n }\r\n function _wrapNativeSuper(t) {\r\n var e = \"function\" == typeof Map ? new Map : void 0;\r\n return (_wrapNativeSuper = function(t) {\r\n if (null === t || !_isNativeFunction(t))\r\n return t;\r\n if (\"function\" != typeof t)\r\n throw new TypeError(\"Super expression must either be null or a function\");\r\n if (void 0 !== e) {\r\n if (e.has(t))\r\n return e.get(t);\r\n e.set(t, r)\r\n }\r\n function r() {\r\n return _construct(t, arguments, _getPrototypeOf(this).constructor)\r\n }\r\n return r.prototype = Object.create(t.prototype, {\r\n constructor: {\r\n value: r,\r\n enumerable: !1,\r\n writable: !0,\r\n configurable: !0\r\n }\r\n }),\r\n _setPrototypeOf(r, t)\r\n }\r\n )(t)\r\n }\r\n function _instanceof(t, e) {\r\n return null != e && \"undefined\" != typeof Symbol && e[Symbol.hasInstance] ? !!e[Symbol.hasInstance](t) : t instanceof e\r\n }\r\n function _interopRequireDefault(t) {\r\n return t && t.__esModule ? t : {\r\n default: t\r\n }\r\n }\r\n function _getRequireWildcardCache() {\r\n if (\"function\" != typeof WeakMap)\r\n return null;\r\n var t = new WeakMap;\r\n return _getRequireWildcardCache = function() {\r\n return t\r\n }\r\n ,\r\n t\r\n }\r\n function _interopRequireWildcard(t) {\r\n if (t && t.__esModule)\r\n return t;\r\n if (null === t || \"object\" != typeof t && \"function\" != typeof t)\r\n return {\r\n default: t\r\n };\r\n var e = _getRequireWildcardCache();\r\n if (e && e.has(t))\r\n return e.get(t);\r\n var r = {}\r\n , i = Object.defineProperty && Object.getOwnPropertyDescriptor;\r\n for (var a in t)\r\n if (Object.prototype.hasOwnProperty.call(t, a)) {\r\n var s = i ? Object.getOwnPropertyDescriptor(t, a) : null;\r\n s && (s.get || s.set) ? Object.defineProperty(r, a, s) : r[a] = t[a]\r\n }\r\n return r.default = t,\r\n e && e.set(t, r),\r\n r\r\n }\r\n function _newArrowCheck(t, e) {\r\n if (t !== e)\r\n throw new TypeError(\"Cannot instantiate an arrow function\")\r\n }\r\n function _objectDestructuringEmpty(t) {\r\n if (null == t)\r\n throw new TypeError(\"Cannot destructure undefined\")\r\n }\r\n function _objectWithoutPropertiesLoose(t, e) {\r\n if (null == t)\r\n return {};\r\n var r, i, a = {}, s = Object.keys(t);\r\n for (i = 0; i < s.length; i++)\r\n r = s[i],\r\n e.indexOf(r) >= 0 || (a[r] = t[r]);\r\n return a\r\n }\r\n function _objectWithoutProperties(t, e) {\r\n if (null == t)\r\n return {};\r\n var r, i, a = _objectWithoutPropertiesLoose(t, e);\r\n if (Object.getOwnPropertySymbols) {\r\n var s = Object.getOwnPropertySymbols(t);\r\n for (i = 0; i < s.length; i++)\r\n r = s[i],\r\n e.indexOf(r) >= 0 || Object.prototype.propertyIsEnumerable.call(t, r) && (a[r] = t[r])\r\n }\r\n return a\r\n }\r\n function _assertThisInitialized(t) {\r\n if (void 0 === t)\r\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\r\n return t\r\n }\r\n function _possibleConstructorReturn(t, e) {\r\n return !e || \"object\" != typeof e && \"function\" != typeof e ? _assertThisInitialized(t) : e\r\n }\r\n function _createSuper(t) {\r\n var e = _isNativeReflectConstruct();\r\n return function() {\r\n var r, i = _getPrototypeOf(t);\r\n if (e) {\r\n var a = _getPrototypeOf(this).constructor;\r\n r = Reflect.construct(i, arguments, a)\r\n } else\r\n r = i.apply(this, arguments);\r\n return _possibleConstructorReturn(this, r)\r\n }\r\n }\r\n function _superPropBase(t, e) {\r\n for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = _getPrototypeOf(t)); )\r\n ;\r\n return t\r\n }\r\n function _get(t, e, r) {\r\n return (_get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get : function(t, e, r) {\r\n var i = _superPropBase(t, e);\r\n if (i) {\r\n var a = Object.getOwnPropertyDescriptor(i, e);\r\n return a.get ? a.get.call(r) : a.value\r\n }\r\n }\r\n )(t, e, r || t)\r\n }\r\n function set(t, e, r, i) {\r\n return (set = \"undefined\" != typeof Reflect && Reflect.set ? Reflect.set : function(t, e, r, i) {\r\n var a, s = _superPropBase(t, e);\r\n if (s) {\r\n if ((a = Object.getOwnPropertyDescriptor(s, e)).set)\r\n return a.set.call(i, r),\r\n !0;\r\n if (!a.writable)\r\n return !1\r\n }\r\n if (a = Object.getOwnPropertyDescriptor(i, e)) {\r\n if (!a.writable)\r\n return !1;\r\n a.value = r,\r\n Object.defineProperty(i, e, a)\r\n } else\r\n _defineProperty(i, e, r);\r\n return !0\r\n }\r\n )(t, e, r, i)\r\n }\r\n function _set(t, e, r, i, a) {\r\n if (!set(t, e, r, i || t) && a)\r\n throw new Error(\"failed to set property\");\r\n return r\r\n }\r\n function _taggedTemplateLiteral(t, e) {\r\n return e || (e = t.slice(0)),\r\n Object.freeze(Object.defineProperties(t, {\r\n raw: {\r\n value: Object.freeze(e)\r\n }\r\n }))\r\n }\r\n function _taggedTemplateLiteralLoose(t, e) {\r\n return e || (e = t.slice(0)),\r\n t.raw = e,\r\n t\r\n }\r\n function _readOnlyError(t) {\r\n throw new TypeError('\"' + t + '\" is read-only')\r\n }\r\n function _writeOnlyError(t) {\r\n throw new TypeError('\"' + t + '\" is write-only')\r\n }\r\n function _classNameTDZError(t) {\r\n throw new Error('Class \"' + t + '\" cannot be referenced in computed property keys.')\r\n }\r\n function _temporalUndefined() {}\r\n function _tdz(t) {\r\n throw new ReferenceError(t + \" is not defined - temporal dead zone\")\r\n }\r\n function _temporalRef(t, e) {\r\n return t === _temporalUndefined ? _tdz(e) : t\r\n }\r\n function _slicedToArray(t, e) {\r\n return _arrayWithHoles(t) || _iterableToArrayLimit(t, e) || _unsupportedIterableToArray(t, e) || _nonIterableRest()\r\n }\r\n function _slicedToArrayLoose(t, e) {\r\n return _arrayWithHoles(t) || _iterableToArrayLimitLoose(t, e) || _unsupportedIterableToArray(t, e) || _nonIterableRest()\r\n }\r\n function _toArray(t) {\r\n return _arrayWithHoles(t) || _iterableToArray(t) || _unsupportedIterableToArray(t) || _nonIterableRest()\r\n }\r\n function _toConsumableArray(t) {\r\n return _arrayWithoutHoles(t) || _iterableToArray(t) || _unsupportedIterableToArray(t) || _nonIterableSpread()\r\n }\r\n function _arrayWithoutHoles(t) {\r\n if (Array.isArray(t))\r\n return _arrayLikeToArray(t)\r\n }\r\n function _arrayWithHoles(t) {\r\n if (Array.isArray(t))\r\n return t\r\n }\r\n function _maybeArrayLike(t, e, r) {\r\n if (e && !Array.isArray(e) && \"number\" == typeof e.length) {\r\n var i = e.length;\r\n return _arrayLikeToArray(e, void 0 !== r && r < i ? r : i)\r\n }\r\n return t(e, r)\r\n }\r\n function _iterableToArray(t) {\r\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(t))\r\n return Array.from(t)\r\n }\r\n function _iterableToArrayLimit(t, e) {\r\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(t)) {\r\n var r = []\r\n , i = !0\r\n , a = !1\r\n , s = void 0;\r\n try {\r\n for (var n, o = t[Symbol.iterator](); !(i = (n = o.next()).done) && (r.push(n.value),\r\n !e || r.length !== e); i = !0)\r\n ;\r\n } catch (t) {\r\n a = !0,\r\n s = t\r\n } finally {\r\n try {\r\n i || null == o.return || o.return()\r\n } finally {\r\n if (a)\r\n throw s\r\n }\r\n }\r\n return r\r\n }\r\n }\r\n function _iterableToArrayLimitLoose(t, e) {\r\n if (\"undefined\" != typeof Symbol && Symbol.iterator in Object(t)) {\r\n for (var r, i = [], a = t[Symbol.iterator](); !(r = a.next()).done && (i.push(r.value),\r\n !e || i.length !== e); )\r\n ;\r\n return i\r\n }\r\n }\r\n function _unsupportedIterableToArray(t, e) {\r\n if (t) {\r\n if (\"string\" == typeof t)\r\n return _arrayLikeToArray(t, e);\r\n var r = Object.prototype.toString.call(t).slice(8, -1);\r\n return \"Object\" === r && t.constructor && (r = t.constructor.name),\r\n \"Map\" === r || \"Set\" === r ? Array.from(t) : \"Arguments\" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? _arrayLikeToArray(t, e) : void 0\r\n }\r\n }\r\n function _arrayLikeToArray(t, e) {\r\n (null == e || e > t.length) && (e = t.length);\r\n for (var r = 0, i = new Array(e); r < e; r++)\r\n i[r] = t[r];\r\n return i\r\n }\r\n function _nonIterableSpread() {\r\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n }\r\n function _nonIterableRest() {\r\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n }\r\n function _createForOfIteratorHelper(t, e) {\r\n var r;\r\n if (\"undefined\" == typeof Symbol || null == t[Symbol.iterator]) {\r\n if (Array.isArray(t) || (r = _unsupportedIterableToArray(t)) || e && t && \"number\" == typeof t.length) {\r\n r && (t = r);\r\n var i = 0\r\n , a = function() {};\r\n return {\r\n s: a,\r\n n: function() {\r\n return i >= t.length ? {\r\n done: !0\r\n } : {\r\n done: !1,\r\n value: t[i++]\r\n }\r\n },\r\n e: function(t) {\r\n throw t\r\n },\r\n f: a\r\n }\r\n }\r\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n }\r\n var s, n = !0, o = !1;\r\n return {\r\n s: function() {\r\n r = t[Symbol.iterator]()\r\n },\r\n n: function() {\r\n var t = r.next();\r\n return n = t.done,\r\n t\r\n },\r\n e: function(t) {\r\n o = !0,\r\n s = t\r\n },\r\n f: function() {\r\n try {\r\n n || null == r.return || r.return()\r\n } finally {\r\n if (o)\r\n throw s\r\n }\r\n }\r\n }\r\n }\r\n function _createForOfIteratorHelperLoose(t, e) {\r\n var r;\r\n if (\"undefined\" == typeof Symbol || null == t[Symbol.iterator]) {\r\n if (Array.isArray(t) || (r = _unsupportedIterableToArray(t)) || e && t && \"number\" == typeof t.length) {\r\n r && (t = r);\r\n var i = 0;\r\n return function() {\r\n return i >= t.length ? {\r\n done: !0\r\n } : {\r\n done: !1,\r\n value: t[i++]\r\n }\r\n }\r\n }\r\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")\r\n }\r\n return (r = t[Symbol.iterator]()).next.bind(r)\r\n }\r\n function _skipFirstGeneratorNext(t) {\r\n return function() {\r\n var e = t.apply(this, arguments);\r\n return e.next(),\r\n e\r\n }\r\n }\r\n function _toPrimitive(t, e) {\r\n if (\"object\" != typeof t || null === t)\r\n return t;\r\n var r = t[Symbol.toPrimitive];\r\n if (void 0 !== r) {\r\n var i = r.call(t, e || \"default\");\r\n if (\"object\" != typeof i)\r\n return i;\r\n throw new TypeError(\"@@toPrimitive must return a primitive value.\")\r\n }\r\n return (\"string\" === e ? String : Number)(t)\r\n }\r\n function _toPropertyKey(t) {\r\n var e = _toPrimitive(t, \"string\");\r\n return \"symbol\" == typeof e ? e : String(e)\r\n }\r\n function _initializerWarningHelper(t, e) {\r\n throw new Error(\"Decorating class property failed. Please ensure that proposal-class-properties is enabled and runs after the decorators transform.\")\r\n }\r\n function _initializerDefineProperty(t, e, r, i) {\r\n r && Object.defineProperty(t, e, {\r\n enumerable: r.enumerable,\r\n configurable: r.configurable,\r\n writable: r.writable,\r\n value: r.initializer ? r.initializer.call(i) : void 0\r\n })\r\n }\r\n function _applyDecoratedDescriptor(t, e, r, i, a) {\r\n var s = {};\r\n return Object.keys(i).forEach((function(t) {\r\n s[t] = i[t]\r\n }\r\n )),\r\n s.enumerable = !!s.enumerable,\r\n s.configurable = !!s.configurable,\r\n (\"value\"in s || s.initializer) && (s.writable = !0),\r\n s = r.slice().reverse().reduce((function(r, i) {\r\n return i(t, e, r) || r\r\n }\r\n ), s),\r\n a && void 0 !== s.initializer && (s.value = s.initializer ? s.initializer.call(a) : void 0,\r\n s.initializer = void 0),\r\n void 0 === s.initializer && (Object.defineProperty(t, e, s),\r\n s = null),\r\n s\r\n }\r\n \"function\" == typeof Symbol && Symbol.asyncIterator && (_AsyncGenerator.prototype[Symbol.asyncIterator] = function() {\r\n return this\r\n }\r\n ),\r\n _AsyncGenerator.prototype.next = function(t) {\r\n return this._invoke(\"next\", t)\r\n }\r\n ,\r\n _AsyncGenerator.prototype.throw = function(t) {\r\n return this._invoke(\"throw\", t)\r\n }\r\n ,\r\n _AsyncGenerator.prototype.return = function(t) {\r\n return this._invoke(\"return\", t)\r\n }\r\n ;\r\n var id = 0;\r\n function _classPrivateFieldLooseKey(t) {\r\n return \"__private_\" + id++ + \"_\" + t\r\n }\r\n function _classPrivateFieldLooseBase(t, e) {\r\n if (!Object.prototype.hasOwnProperty.call(t, e))\r\n throw new TypeError(\"attempted to use private field on non-instance\");\r\n return t\r\n }\r\n function _classPrivateFieldGet(t, e) {\r\n return _classApplyDescriptorGet(t, _classExtractFieldDescriptor(t, e, \"get\"))\r\n }\r\n function _classPrivateFieldSet(t, e, r) {\r\n return _classApplyDescriptorSet(t, _classExtractFieldDescriptor(t, e, \"set\"), r),\r\n r\r\n }\r\n function _classPrivateFieldDestructureSet(t, e) {\r\n return _classApplyDescriptorDestructureSet(t, _classExtractFieldDescriptor(t, e, \"set\"))\r\n }\r\n function _classExtractFieldDescriptor(t, e, r) {\r\n if (!e.has(t))\r\n throw new TypeError(\"attempted to \" + r + \" private field on non-instance\");\r\n return e.get(t)\r\n }\r\n function _classStaticPrivateFieldSpecGet(t, e, r) {\r\n return _classCheckPrivateStaticAccess(t, e),\r\n _classCheckPrivateStaticFieldDescriptor(r, \"get\"),\r\n _classApplyDescriptorGet(t, r)\r\n }\r\n function _classStaticPrivateFieldSpecSet(t, e, r, i) {\r\n return _classCheckPrivateStaticAccess(t, e),\r\n _classCheckPrivateStaticFieldDescriptor(r, \"set\"),\r\n _classApplyDescriptorSet(t, r, i),\r\n i\r\n }\r\n function _classStaticPrivateMethodGet(t, e, r) {\r\n return _classCheckPrivateStaticAccess(t, e),\r\n r\r\n }\r\n function _classStaticPrivateMethodSet() {\r\n throw new TypeError(\"attempted to set read only static private field\")\r\n }\r\n function _classApplyDescriptorGet(t, e) {\r\n return e.get ? e.get.call(t) : e.value\r\n }\r\n function _classApplyDescriptorSet(t, e, r) {\r\n if (e.set)\r\n e.set.call(t, r);\r\n else {\r\n if (!e.writable)\r\n throw new TypeError(\"attempted to set read only private field\");\r\n e.value = r\r\n }\r\n }\r\n function _classApplyDescriptorDestructureSet(t, e) {\r\n if (e.set)\r\n return \"__destrObj\"in e || (e.__destrObj = {\r\n set value(r) {\r\n e.set.call(t, r)\r\n }\r\n }),\r\n e.__destrObj;\r\n if (!e.writable)\r\n throw new TypeError(\"attempted to set read only private field\");\r\n return e\r\n }\r\n function _classStaticPrivateFieldDestructureSet(t, e, r) {\r\n return _classCheckPrivateStaticAccess(t, e),\r\n _classCheckPrivateStaticFieldDescriptor(r, \"set\"),\r\n _classApplyDescriptorDestructureSet(t, r)\r\n }\r\n function _classCheckPrivateStaticAccess(t, e) {\r\n if (t !== e)\r\n throw new TypeError(\"Private static access of wrong provenance\")\r\n }\r\n function _classCheckPrivateStaticFieldDescriptor(t, e) {\r\n if (void 0 === t)\r\n throw new TypeError(\"attempted to \" + e + \" private static field before its declaration\")\r\n }\r\n function _decorate(t, e, r, i) {\r\n var a = _getDecoratorsApi();\r\n if (i)\r\n for (var s = 0; s < i.length; s++)\r\n a = i[s](a);\r\n var n = e((function(t) {\r\n a.initializeInstanceElements(t, o.elements)\r\n }\r\n ), r)\r\n , o = a.decorateClass(_coalesceClassElements(n.d.map(_createElementDescriptor)), t);\r\n return a.initializeClassElements(n.F, o.elements),\r\n a.runClassFinishers(n.F, o.finishers)\r\n }\r\n function _getDecoratorsApi() {\r\n _getDecoratorsApi = function() {\r\n return t\r\n }\r\n ;\r\n var t = {\r\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\r\n initializeInstanceElements: function(t, e) {\r\n [\"method\", \"field\"].forEach((function(r) {\r\n e.forEach((function(e) {\r\n e.kind === r && \"own\" === e.placement && this.defineClassElement(t, e)\r\n }\r\n ), this)\r\n }\r\n ), this)\r\n },\r\n initializeClassElements: function(t, e) {\r\n var r = t.prototype;\r\n [\"method\", \"field\"].forEach((function(i) {\r\n e.forEach((function(e) {\r\n var a = e.placement;\r\n if (e.kind === i && (\"static\" === a || \"prototype\" === a)) {\r\n var s = \"static\" === a ? t : r;\r\n this.defineClassElement(s, e)\r\n }\r\n }\r\n ), this)\r\n }\r\n ), this)\r\n },\r\n defineClassElement: function(t, e) {\r\n var r = e.descriptor;\r\n if (\"field\" === e.kind) {\r\n var i = e.initializer;\r\n r = {\r\n enumerable: r.enumerable,\r\n writable: r.writable,\r\n configurable: r.configurable,\r\n value: void 0 === i ? void 0 : i.call(t)\r\n }\r\n }\r\n Object.defineProperty(t, e.key, r)\r\n },\r\n decorateClass: function(t, e) {\r\n var r = []\r\n , i = []\r\n , a = {\r\n static: [],\r\n prototype: [],\r\n own: []\r\n };\r\n if (t.forEach((function(t) {\r\n this.addElementPlacement(t, a)\r\n }\r\n ), this),\r\n t.forEach((function(t) {\r\n if (!_hasDecorators(t))\r\n return r.push(t);\r\n var e = this.decorateElement(t, a);\r\n r.push(e.element),\r\n r.push.apply(r, e.extras),\r\n i.push.apply(i, e.finishers)\r\n }\r\n ), this),\r\n !e)\r\n return {\r\n elements: r,\r\n finishers: i\r\n };\r\n var s = this.decorateConstructor(r, e);\r\n return i.push.apply(i, s.finishers),\r\n s.finishers = i,\r\n s\r\n },\r\n addElementPlacement: function(t, e, r) {\r\n var i = e[t.placement];\r\n if (!r && -1 !== i.indexOf(t.key))\r\n throw new TypeError(\"Duplicated element (\" + t.key + \")\");\r\n i.push(t.key)\r\n },\r\n decorateElement: function(t, e) {\r\n for (var r = [], i = [], a = t.decorators, s = a.length - 1; s >= 0; s--) {\r\n var n = e[t.placement];\r\n n.splice(n.indexOf(t.key), 1);\r\n var o = this.fromElementDescriptor(t)\r\n , h = this.toElementFinisherExtras((0,\r\n a[s])(o) || o);\r\n t = h.element,\r\n this.addElementPlacement(t, e),\r\n h.finisher && i.push(h.finisher);\r\n var l = h.extras;\r\n if (l) {\r\n for (var p = 0; p < l.length; p++)\r\n this.addElementPlacement(l[p], e);\r\n r.push.apply(r, l)\r\n }\r\n }\r\n return {\r\n element: t,\r\n finishers: i,\r\n extras: r\r\n }\r\n },\r\n decorateConstructor: function(t, e) {\r\n for (var r = [], i = e.length - 1; i >= 0; i--) {\r\n var a = this.fromClassDescriptor(t)\r\n , s = this.toClassDescriptor((0,\r\n e[i])(a) || a);\r\n if (void 0 !== s.finisher && r.push(s.finisher),\r\n void 0 !== s.elements) {\r\n t = s.elements;\r\n for (var n = 0; n < t.length - 1; n++)\r\n for (var o = n + 1; o < t.length; o++)\r\n if (t[n].key === t[o].key && t[n].placement === t[o].placement)\r\n throw new TypeError(\"Duplicated element (\" + t[n].key + \")\")\r\n }\r\n }\r\n return {\r\n elements: t,\r\n finishers: r\r\n }\r\n },\r\n fromElementDescriptor: function(t) {\r\n var e = {\r\n kind: t.kind,\r\n key: t.key,\r\n placement: t.placement,\r\n descriptor: t.descriptor\r\n };\r\n return Object.defineProperty(e, Symbol.toStringTag, {\r\n value: \"Descriptor\",\r\n configurable: !0\r\n }),\r\n \"field\" === t.kind && (e.initializer = t.initializer),\r\n e\r\n },\r\n toElementDescriptors: function(t) {\r\n if (void 0 !== t)\r\n return _toArray(t).map((function(t) {\r\n var e = this.toElementDescriptor(t);\r\n return this.disallowProperty(t, \"finisher\", \"An element descriptor\"),\r\n this.disallowProperty(t, \"extras\", \"An element descriptor\"),\r\n e\r\n }\r\n ), this)\r\n },\r\n toElementDescriptor: function(t) {\r\n var e = String(t.kind);\r\n if (\"method\" !== e && \"field\" !== e)\r\n throw new TypeError('An element descriptor\\'s .kind property must be either \"method\" or \"field\", but a decorator created an element descriptor with .kind \"' + e + '\"');\r\n var r = _toPropertyKey(t.key)\r\n , i = String(t.placement);\r\n if (\"static\" !== i && \"prototype\" !== i && \"own\" !== i)\r\n throw new TypeError('An element descriptor\\'s .placement property must be one of \"static\", \"prototype\" or \"own\", but a decorator created an element descriptor with .placement \"' + i + '\"');\r\n var a = t.descriptor;\r\n this.disallowProperty(t, \"elements\", \"An element descriptor\");\r\n var s = {\r\n kind: e,\r\n key: r,\r\n placement: i,\r\n descriptor: Object.assign({}, a)\r\n };\r\n return \"field\" !== e ? this.disallowProperty(t, \"initializer\", \"A method descriptor\") : (this.disallowProperty(a, \"get\", \"The property descriptor of a field descriptor\"),\r\n this.disallowProperty(a, \"set\", \"The property descriptor of a field descriptor\"),\r\n this.disallowProperty(a, \"value\", \"The property descriptor of a field descriptor\"),\r\n s.initializer = t.initializer),\r\n s\r\n },\r\n toElementFinisherExtras: function(t) {\r\n return {\r\n element: this.toElementDescriptor(t),\r\n finisher: _optionalCallableProperty(t, \"finisher\"),\r\n extras: this.toElementDescriptors(t.extras)\r\n }\r\n },\r\n fromClassDescriptor: function(t) {\r\n var e = {\r\n kind: \"class\",\r\n elements: t.map(this.fromElementDescriptor, this)\r\n };\r\n return Object.defineProperty(e, Symbol.toStringTag, {\r\n value: \"Descriptor\",\r\n configurable: !0\r\n }),\r\n e\r\n },\r\n toClassDescriptor: function(t) {\r\n var e = String(t.kind);\r\n if (\"class\" !== e)\r\n throw new TypeError('A class descriptor\\'s .kind property must be \"class\", but a decorator created a class descriptor with .kind \"' + e + '\"');\r\n this.disallowProperty(t, \"key\", \"A class descriptor\"),\r\n this.disallowProperty(t, \"placement\", \"A class descriptor\"),\r\n this.disallowProperty(t, \"descriptor\", \"A class descriptor\"),\r\n this.disallowProperty(t, \"initializer\", \"A class descriptor\"),\r\n this.disallowProperty(t, \"extras\", \"A class descriptor\");\r\n var r = _optionalCallableProperty(t, \"finisher\");\r\n return {\r\n elements: this.toElementDescriptors(t.elements),\r\n finisher: r\r\n }\r\n },\r\n runClassFinishers: function(t, e) {\r\n for (var r = 0; r < e.length; r++) {\r\n var i = (0,\r\n e[r])(t);\r\n if (void 0 !== i) {\r\n if (\"function\" != typeof i)\r\n throw new TypeError(\"Finishers must return a constructor.\");\r\n t = i\r\n }\r\n }\r\n return t\r\n },\r\n disallowProperty: function(t, e, r) {\r\n if (void 0 !== t[e])\r\n throw new TypeError(r + \" can't have a .\" + e + \" property.\")\r\n }\r\n };\r\n return t\r\n }\r\n function _createElementDescriptor(t) {\r\n var e, r = _toPropertyKey(t.key);\r\n \"method\" === t.kind ? e = {\r\n value: t.value,\r\n writable: !0,\r\n configurable: !0,\r\n enumerable: !1\r\n } : \"get\" === t.kind ? e = {\r\n get: t.value,\r\n configurable: !0,\r\n enumerable: !1\r\n } : \"set\" === t.kind ? e = {\r\n set: t.value,\r\n configurable: !0,\r\n enumerable: !1\r\n } : \"field\" === t.kind && (e = {\r\n configurable: !0,\r\n writable: !0,\r\n enumerable: !0\r\n });\r\n var i = {\r\n kind: \"field\" === t.kind ? \"field\" : \"method\",\r\n key: r,\r\n placement: t.static ? \"static\" : \"field\" === t.kind ? \"own\" : \"prototype\",\r\n descriptor: e\r\n };\r\n return t.decorators && (i.decorators = t.decorators),\r\n \"field\" === t.kind && (i.initializer = t.value),\r\n i\r\n }\r\n function _coalesceGetterSetter(t, e) {\r\n void 0 !== t.descriptor.get ? e.descriptor.get = t.descriptor.get : e.descriptor.set = t.descriptor.set\r\n }\r\n function _coalesceClassElements(t) {\r\n for (var e = [], r = function(t) {\r\n return \"method\" === t.kind && t.key === s.key && t.placement === s.placement\r\n }, i = 0; i < t.length; i++) {\r\n var a, s = t[i];\r\n if (\"method\" === s.kind && (a = e.find(r)))\r\n if (_isDataDescriptor(s.descriptor) || _isDataDescriptor(a.descriptor)) {\r\n if (_hasDecorators(s) || _hasDecorators(a))\r\n throw new ReferenceError(\"Duplicated methods (\" + s.key + \") can't be decorated.\");\r\n a.descriptor = s.descriptor\r\n } else {\r\n if (_hasDecorators(s)) {\r\n if (_hasDecorators(a))\r\n throw new ReferenceError(\"Decorators can't be placed on different accessors with for the same property (\" + s.key + \").\");\r\n a.decorators = s.decorators\r\n }\r\n _coalesceGetterSetter(s, a)\r\n }\r\n else\r\n e.push(s)\r\n }\r\n return e\r\n }\r\n function _hasDecorators(t) {\r\n return t.decorators && t.decorators.length\r\n }\r\n function _isDataDescriptor(t) {\r\n return void 0 !== t && !(void 0 === t.value && void 0 === t.writable)\r\n }\r\n function _optionalCallableProperty(t, e) {\r\n var r = t[e];\r\n if (void 0 !== r && \"function\" != typeof r)\r\n throw new TypeError(\"Expected '\" + e + \"' to be a function\");\r\n return r\r\n }\r\n function _classPrivateMethodGet(t, e, r) {\r\n if (!e.has(t))\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n return r\r\n }\r\n function _classPrivateMethodSet() {\r\n throw new TypeError(\"attempted to reassign private method\")\r\n }\r\n function _wrapRegExp(t, e) {\r\n _wrapRegExp = function(t, e) {\r\n return new s(t,void 0,e)\r\n }\r\n ;\r\n var r = _wrapNativeSuper(RegExp)\r\n , i = RegExp.prototype\r\n , a = new WeakMap;\r\n function s(t, e, i) {\r\n var s = r.call(this, t, e);\r\n return a.set(s, i || a.get(t)),\r\n s\r\n }\r\n function n(t, e) {\r\n var r = a.get(e);\r\n return Object.keys(r).reduce((function(e, i) {\r\n return e[i] = t[r[i]],\r\n e\r\n }\r\n ), Object.create(null))\r\n }\r\n return _inherits(s, r),\r\n s.prototype.exec = function(t) {\r\n var e = i.exec.call(this, t);\r\n return e && (e.groups = n(e, this)),\r\n e\r\n }\r\n ,\r\n s.prototype[Symbol.replace] = function(t, e) {\r\n if (\"string\" == typeof e) {\r\n var r = a.get(this);\r\n return i[Symbol.replace].call(this, t, e.replace(/\\$<([^>]+)>/g, (function(t, e) {\r\n return \"$\" + r[e]\r\n }\r\n )))\r\n }\r\n if (\"function\" == typeof e) {\r\n var s = this;\r\n return i[Symbol.replace].call(this, t, (function() {\r\n var t = [];\r\n return t.push.apply(t, arguments),\r\n \"object\" != typeof t[t.length - 1] && t.push(n(t, s)),\r\n e.apply(this, t)\r\n }\r\n ))\r\n }\r\n return i[Symbol.replace].call(this, t, e)\r\n }\r\n ,\r\n _wrapRegExp.apply(this, arguments)\r\n }\r\n /*! *****************************************************************************\r\n Copyright (c) Microsoft Corporation.\r\n\r\n Permission to use, copy, modify, and/or distribute this software for any\r\n purpose with or without fee is hereby granted.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\n PERFORMANCE OF THIS SOFTWARE.\r\n ***************************************************************************** */\r\n var _extendStatics = function(t, e) {\r\n return (_extendStatics = Object.setPrototypeOf || {\r\n __proto__: []\r\n }instanceof Array && function(t, e) {\r\n t.__proto__ = e\r\n }\r\n || function(t, e) {\r\n for (var r in e)\r\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r])\r\n }\r\n )(t, e)\r\n };\r\n function __extends(t, e) {\r\n if (\"function\" != typeof e && null !== e)\r\n throw new TypeError(\"Class extends value \" + String(e) + \" is not a constructor or null\");\r\n function r() {\r\n this.constructor = t\r\n }\r\n _extendStatics(t, e),\r\n t.prototype = null === e ? Object.create(e) : (r.prototype = e.prototype,\r\n new r)\r\n }\r\n var _assign = function() {\r\n return (_assign = Object.assign || function(t) {\r\n for (var e, r = 1, i = arguments.length; r < i; r++)\r\n for (var a in e = arguments[r])\r\n Object.prototype.hasOwnProperty.call(e, a) && (t[a] = e[a]);\r\n return t\r\n }\r\n ).apply(this, arguments)\r\n };\r\n function __rest(t, e) {\r\n var r = {};\r\n for (var i in t)\r\n Object.prototype.hasOwnProperty.call(t, i) && e.indexOf(i) < 0 && (r[i] = t[i]);\r\n if (null != t && \"function\" == typeof Object.getOwnPropertySymbols) {\r\n var a = 0;\r\n for (i = Object.getOwnPropertySymbols(t); a < i.length; a++)\r\n e.indexOf(i[a]) < 0 && Object.prototype.propertyIsEnumerable.call(t, i[a]) && (r[i[a]] = t[i[a]])\r\n }\r\n return r\r\n }\r\n function __decorate(t, e, r, i) {\r\n var a, s = arguments.length, n = s < 3 ? e : null === i ? i = Object.getOwnPropertyDescriptor(e, r) : i;\r\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.decorate)\r\n n = Reflect.decorate(t, e, r, i);\r\n else\r\n for (var o = t.length - 1; o >= 0; o--)\r\n (a = t[o]) && (n = (s < 3 ? a(n) : s > 3 ? a(e, r, n) : a(e, r)) || n);\r\n return s > 3 && n && Object.defineProperty(e, r, n),\r\n n\r\n }\r\n function __param(t, e) {\r\n return function(r, i) {\r\n e(r, i, t)\r\n }\r\n }\r\n function __metadata(t, e) {\r\n if (\"object\" == typeof Reflect && \"function\" == typeof Reflect.metadata)\r\n return Reflect.metadata(t, e)\r\n }\r\n function __awaiter(t, e, r, i) {\r\n return new (r || (r = Promise))((function(a, s) {\r\n function n(t) {\r\n try {\r\n h(i.next(t))\r\n } catch (t) {\r\n s(t)\r\n }\r\n }\r\n function o(t) {\r\n try {\r\n h(i.throw(t))\r\n } catch (t) {\r\n s(t)\r\n }\r\n }\r\n function h(t) {\r\n var e;\r\n t.done ? a(t.value) : (e = t.value,\r\n e instanceof r ? e : new r((function(t) {\r\n t(e)\r\n }\r\n ))).then(n, o)\r\n }\r\n h((i = i.apply(t, e || [])).next())\r\n }\r\n ))\r\n }\r\n function __generator(t, e) {\r\n var r, i, a, s, n = {\r\n label: 0,\r\n sent: function() {\r\n if (1 & a[0])\r\n throw a[1];\r\n return a[1]\r\n },\r\n trys: [],\r\n ops: []\r\n };\r\n return s = {\r\n next: o(0),\r\n throw: o(1),\r\n return: o(2)\r\n },\r\n \"function\" == typeof Symbol && (s[Symbol.iterator] = function() {\r\n return this\r\n }\r\n ),\r\n s;\r\n function o(s) {\r\n return function(o) {\r\n return function(s) {\r\n if (r)\r\n throw new TypeError(\"Generator is already executing.\");\r\n for (; n; )\r\n try {\r\n if (r = 1,\r\n i && (a = 2 & s[0] ? i.return : s[0] ? i.throw || ((a = i.return) && a.call(i),\r\n 0) : i.next) && !(a = a.call(i, s[1])).done)\r\n return a;\r\n switch (i = 0,\r\n a && (s = [2 & s[0], a.value]),\r\n s[0]) {\r\n case 0:\r\n case 1:\r\n a = s;\r\n break;\r\n case 4:\r\n return n.label++,\r\n {\r\n value: s[1],\r\n done: !1\r\n };\r\n case 5:\r\n n.label++,\r\n i = s[1],\r\n s = [0];\r\n continue;\r\n case 7:\r\n s = n.ops.pop(),\r\n n.trys.pop();\r\n continue;\r\n default:\r\n if (!(a = n.trys,\r\n (a = a.length > 0 && a[a.length - 1]) || 6 !== s[0] && 2 !== s[0])) {\r\n n = 0;\r\n continue\r\n }\r\n if (3 === s[0] && (!a || s[1] > a[0] && s[1] < a[3])) {\r\n n.label = s[1];\r\n break\r\n }\r\n if (6 === s[0] && n.label < a[1]) {\r\n n.label = a[1],\r\n a = s;\r\n break\r\n }\r\n if (a && n.label < a[2]) {\r\n n.label = a[2],\r\n n.ops.push(s);\r\n break\r\n }\r\n a[2] && n.ops.pop(),\r\n n.trys.pop();\r\n continue\r\n }\r\n s = e.call(t, n)\r\n } catch (t) {\r\n s = [6, t],\r\n i = 0\r\n } finally {\r\n r = a = 0\r\n }\r\n if (5 & s[0])\r\n throw s[1];\r\n return {\r\n value: s[0] ? s[1] : void 0,\r\n done: !0\r\n }\r\n }([s, o])\r\n }\r\n }\r\n }\r\n var __createBinding = Object.create ? function(t, e, r, i) {\r\n void 0 === i && (i = r),\r\n Object.defineProperty(t, i, {\r\n enumerable: !0,\r\n get: function() {\r\n return e[r]\r\n }\r\n })\r\n }\r\n : function(t, e, r, i) {\r\n void 0 === i && (i = r),\r\n t[i] = e[r]\r\n }\r\n ;\r\n function __exportStar(t, e) {\r\n for (var r in t)\r\n \"default\" === r || Object.prototype.hasOwnProperty.call(e, r) || __createBinding(e, t, r)\r\n }\r\n function __values(t) {\r\n var e = \"function\" == typeof Symbol && Symbol.iterator\r\n , r = e && t[e]\r\n , i = 0;\r\n if (r)\r\n return r.call(t);\r\n if (t && \"number\" == typeof t.length)\r\n return {\r\n next: function() {\r\n return t && i >= t.length && (t = void 0),\r\n {\r\n value: t && t[i++],\r\n done: !t\r\n }\r\n }\r\n };\r\n throw new TypeError(e ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\")\r\n }\r\n function __read(t, e) {\r\n var r = \"function\" == typeof Symbol && t[Symbol.iterator];\r\n if (!r)\r\n return t;\r\n var i, a, s = r.call(t), n = [];\r\n try {\r\n for (; (void 0 === e || e-- > 0) && !(i = s.next()).done; )\r\n n.push(i.value)\r\n } catch (t) {\r\n a = {\r\n error: t\r\n }\r\n } finally {\r\n try {\r\n i && !i.done && (r = s.return) && r.call(s)\r\n } finally {\r\n if (a)\r\n throw a.error\r\n }\r\n }\r\n return n\r\n }\r\n function __spread() {\r\n for (var t = [], e = 0; e < arguments.length; e++)\r\n t = t.concat(__read(arguments[e]));\r\n return t\r\n }\r\n function __spreadArrays() {\r\n for (var t = 0, e = 0, r = arguments.length; e < r; e++)\r\n t += arguments[e].length;\r\n var i = Array(t)\r\n , a = 0;\r\n for (e = 0; e < r; e++)\r\n for (var s = arguments[e], n = 0, o = s.length; n < o; n++,\r\n a++)\r\n i[a] = s[n];\r\n return i\r\n }\r\n function __spreadArray(t, e, r) {\r\n if (r || 2 === arguments.length)\r\n for (var i, a = 0, s = e.length; a < s; a++)\r\n !i && a in e || (i || (i = Array.prototype.slice.call(e, 0, a)),\r\n i[a] = e[a]);\r\n return t.concat(i || Array.prototype.slice.call(e))\r\n }\r\n function __await(t) {\r\n return this instanceof __await ? (this.v = t,\r\n this) : new __await(t)\r\n }\r\n function __asyncGenerator(t, e, r) {\r\n if (!Symbol.asyncIterator)\r\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var i, a = r.apply(t, e || []), s = [];\r\n return i = {},\r\n n(\"next\"),\r\n n(\"throw\"),\r\n n(\"return\"),\r\n i[Symbol.asyncIterator] = function() {\r\n return this\r\n }\r\n ,\r\n i;\r\n function n(t) {\r\n a[t] && (i[t] = function(e) {\r\n return new Promise((function(r, i) {\r\n s.push([t, e, r, i]) > 1 || o(t, e)\r\n }\r\n ))\r\n }\r\n )\r\n }\r\n function o(t, e) {\r\n try {\r\n (r = a[t](e)).value instanceof __await ? Promise.resolve(r.value.v).then(h, l) : p(s[0][2], r)\r\n } catch (t) {\r\n p(s[0][3], t)\r\n }\r\n var r\r\n }\r\n function h(t) {\r\n o(\"next\", t)\r\n }\r\n function l(t) {\r\n o(\"throw\", t)\r\n }\r\n function p(t, e) {\r\n t(e),\r\n s.shift(),\r\n s.length && o(s[0][0], s[0][1])\r\n }\r\n }\r\n function __asyncDelegator(t) {\r\n var e, r;\r\n return e = {},\r\n i(\"next\"),\r\n i(\"throw\", (function(t) {\r\n throw t\r\n }\r\n )),\r\n i(\"return\"),\r\n e[Symbol.iterator] = function() {\r\n return this\r\n }\r\n ,\r\n e;\r\n function i(i, a) {\r\n e[i] = t[i] ? function(e) {\r\n return (r = !r) ? {\r\n value: __await(t[i](e)),\r\n done: \"return\" === i\r\n } : a ? a(e) : e\r\n }\r\n : a\r\n }\r\n }\r\n function __asyncValues(t) {\r\n if (!Symbol.asyncIterator)\r\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var e, r = t[Symbol.asyncIterator];\r\n return r ? r.call(t) : (t = \"function\" == typeof __values ? __values(t) : t[Symbol.iterator](),\r\n e = {},\r\n i(\"next\"),\r\n i(\"throw\"),\r\n i(\"return\"),\r\n e[Symbol.asyncIterator] = function() {\r\n return this\r\n }\r\n ,\r\n e);\r\n function i(r) {\r\n e[r] = t[r] && function(e) {\r\n return new Promise((function(i, a) {\r\n (function(t, e, r, i) {\r\n Promise.resolve(i).then((function(e) {\r\n t({\r\n value: e,\r\n done: r\r\n })\r\n }\r\n ), e)\r\n }\r\n )(i, a, (e = t[r](e)).done, e.value)\r\n }\r\n ))\r\n }\r\n }\r\n }\r\n function __makeTemplateObject(t, e) {\r\n return Object.defineProperty ? Object.defineProperty(t, \"raw\", {\r\n value: e\r\n }) : t.raw = e,\r\n t\r\n }\r\n var __setModuleDefault = Object.create ? function(t, e) {\r\n Object.defineProperty(t, \"default\", {\r\n enumerable: !0,\r\n value: e\r\n })\r\n }\r\n : function(t, e) {\r\n t.default = e\r\n }\r\n ;\r\n function __importStar(t) {\r\n if (t && t.__esModule)\r\n return t;\r\n var e = {};\r\n if (null != t)\r\n for (var r in t)\r\n \"default\" !== r && Object.prototype.hasOwnProperty.call(t, r) && __createBinding(e, t, r);\r\n return __setModuleDefault(e, t),\r\n e\r\n }\r\n function __importDefault(t) {\r\n return t && t.__esModule ? t : {\r\n default: t\r\n }\r\n }\r\n function __classPrivateFieldGet(t, e, r, i) {\r\n if (\"a\" === r && !i)\r\n throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (\"function\" == typeof e ? t !== e || !i : !e.has(t))\r\n throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return \"m\" === r ? i : \"a\" === r ? i.call(t) : i ? i.value : e.get(t)\r\n }\r\n function __classPrivateFieldSet(t, e, r, i, a) {\r\n if (\"m\" === i)\r\n throw new TypeError(\"Private method is not writable\");\r\n if (\"a\" === i && !a)\r\n throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (\"function\" == typeof e ? t !== e || !a : !e.has(t))\r\n throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return \"a\" === i ? a.call(t, r) : a ? a.value = r : e.set(t, r),\r\n r\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n }\r\n var isCEPolyfill = \"undefined\" != typeof window && null != window.customElements && void 0 !== window.customElements.polyfillWrapFlushCallback\r\n , reparentNodes = function(t, e) {\r\n for (var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null; e !== r; ) {\r\n var a = e.nextSibling;\r\n t.insertBefore(e, i),\r\n e = a\r\n }\r\n }\r\n , removeNodes = function(t, e) {\r\n for (var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null; e !== r; ) {\r\n var i = e.nextSibling;\r\n t.removeChild(e),\r\n e = i\r\n }\r\n }\r\n , marker = \"{{lit-\".concat(String(Math.random()).slice(2), \"}}\")\r\n , nodeMarker = \"\\x3c!--\".concat(marker, \"--\\x3e\")\r\n , markerRegex = new RegExp(\"\".concat(marker, \"|\").concat(nodeMarker))\r\n , boundAttributeSuffix = \"$lit$\";\r\n class Template {\r\n constructor(t, e) {\r\n this.parts = [],\r\n this.element = e;\r\n for (var r = [], i = [], a = document.createTreeWalker(e.content, 133, null, !1), s = 0, n = -1, o = 0, {strings: h, values: {length: l}} = t; o < l; ) {\r\n var p = a.nextNode();\r\n if (null !== p) {\r\n if (n++,\r\n 1 === p.nodeType) {\r\n if (p.hasAttributes()) {\r\n for (var c = p.attributes, {length: f} = c, d = 0, m = 0; m < f; m++)\r\n endsWith(c[m].name, boundAttributeSuffix) && d++;\r\n for (; d-- > 0; ) {\r\n var u = h[o]\r\n , y = lastAttributeNameRegex.exec(u)[2]\r\n , g = y.toLowerCase() + boundAttributeSuffix\r\n , v = p.getAttribute(g);\r\n p.removeAttribute(g);\r\n var b = v.split(markerRegex);\r\n this.parts.push({\r\n type: \"attribute\",\r\n index: n,\r\n name: y,\r\n strings: b\r\n }),\r\n o += b.length - 1\r\n }\r\n }\r\n \"TEMPLATE\" === p.tagName && (i.push(p),\r\n a.currentNode = p.content)\r\n } else if (3 === p.nodeType) {\r\n var P = p.data;\r\n if (P.indexOf(marker) >= 0) {\r\n for (var _ = p.parentNode, S = P.split(markerRegex), E = S.length - 1, x = 0; x < E; x++) {\r\n var A = void 0\r\n , w = S[x];\r\n if (\"\" === w)\r\n A = createMarker();\r\n else {\r\n var C = lastAttributeNameRegex.exec(w);\r\n null !== C && endsWith(C[2], boundAttributeSuffix) && (w = w.slice(0, C.index) + C[1] + C[2].slice(0, -boundAttributeSuffix.length) + C[3]),\r\n A = document.createTextNode(w)\r\n }\r\n _.insertBefore(A, p),\r\n this.parts.push({\r\n type: \"node\",\r\n index: ++n\r\n })\r\n }\r\n \"\" === S[E] ? (_.insertBefore(createMarker(), p),\r\n r.push(p)) : p.data = S[E],\r\n o += E\r\n }\r\n } else if (8 === p.nodeType)\r\n if (p.data === marker) {\r\n var T = p.parentNode;\r\n null !== p.previousSibling && n !== s || (n++,\r\n T.insertBefore(createMarker(), p)),\r\n s = n,\r\n this.parts.push({\r\n type: \"node\",\r\n index: n\r\n }),\r\n null === p.nextSibling ? p.data = \"\" : (r.push(p),\r\n n--),\r\n o++\r\n } else\r\n for (var k = -1; -1 !== (k = p.data.indexOf(marker, k + 1)); )\r\n this.parts.push({\r\n type: \"node\",\r\n index: -1\r\n }),\r\n o++\r\n } else\r\n a.currentNode = i.pop()\r\n }\r\n for (var D of r)\r\n D.parentNode.removeChild(D)\r\n }\r\n }\r\n var endsWith = (t,e)=>{\r\n var r = t.length - e.length;\r\n return r >= 0 && t.slice(r) === e\r\n }\r\n , isTemplatePartActive = t=>-1 !== t.index\r\n , createMarker = ()=>document.createComment(\"\")\r\n , lastAttributeNameRegex = /([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/\r\n , walkerNodeFilter = 133;\r\n function removeNodesFromTemplate(t, e) {\r\n for (var {element: {content: r}, parts: i} = t, a = document.createTreeWalker(r, walkerNodeFilter, null, !1), s = nextActiveIndexInTemplateParts(i), n = i[s], o = -1, h = 0, l = [], p = null; a.nextNode(); ) {\r\n o++;\r\n var c = a.currentNode;\r\n for (c.previousSibling === p && (p = null),\r\n e.has(c) && (l.push(c),\r\n null === p && (p = c)),\r\n null !== p && h++; void 0 !== n && n.index === o; )\r\n n.index = null !== p ? -1 : n.index - h,\r\n n = i[s = nextActiveIndexInTemplateParts(i, s)]\r\n }\r\n l.forEach(t=>t.parentNode.removeChild(t))\r\n }\r\n var countNodes = t=>{\r\n for (var e = 11 === t.nodeType ? 0 : 1, r = document.createTreeWalker(t, walkerNodeFilter, null, !1); r.nextNode(); )\r\n e++;\r\n return e\r\n }\r\n , nextActiveIndexInTemplateParts = function(t) {\r\n for (var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1, r = e + 1; r < t.length; r++) {\r\n var i = t[r];\r\n if (isTemplatePartActive(i))\r\n return r\r\n }\r\n return -1\r\n };\r\n function insertNodeIntoTemplate(t, e) {\r\n var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null\r\n , {element: {content: i}, parts: a} = t;\r\n if (null != r)\r\n for (var s = document.createTreeWalker(i, walkerNodeFilter, null, !1), n = nextActiveIndexInTemplateParts(a), o = 0, h = -1; s.nextNode(); ) {\r\n h++;\r\n var l = s.currentNode;\r\n for (l === r && (o = countNodes(e),\r\n r.parentNode.insertBefore(e, r)); -1 !== n && a[n].index === h; ) {\r\n if (o > 0) {\r\n for (; -1 !== n; )\r\n a[n].index += o,\r\n n = nextActiveIndexInTemplateParts(a, n);\r\n return\r\n }\r\n n = nextActiveIndexInTemplateParts(a, n)\r\n }\r\n }\r\n else\r\n i.appendChild(e)\r\n }\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n var directives = new WeakMap\r\n , directive = t=>function() {\r\n var e = t(...arguments);\r\n return directives.set(e, !0),\r\n e\r\n }\r\n , isDirective = t=>\"function\" == typeof t && directives.has(t)\r\n , noChange = {}\r\n , nothing = {};\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n class TemplateInstance {\r\n constructor(t, e, r) {\r\n this.__parts = [],\r\n this.template = t,\r\n this.processor = e,\r\n this.options = r\r\n }\r\n update(t) {\r\n var e = 0;\r\n for (var r of this.__parts)\r\n void 0 !== r && r.setValue(t[e]),\r\n e++;\r\n for (var i of this.__parts)\r\n void 0 !== i && i.commit()\r\n }\r\n _clone() {\r\n for (var t, e = isCEPolyfill ? this.template.element.content.cloneNode(!0) : document.importNode(this.template.element.content, !0), r = [], i = this.template.parts, a = document.createTreeWalker(e, 133, null, !1), s = 0, n = 0, o = a.nextNode(); s < i.length; )\r\n if (t = i[s],\r\n isTemplatePartActive(t)) {\r\n for (; n < t.index; )\r\n n++,\r\n \"TEMPLATE\" === o.nodeName && (r.push(o),\r\n a.currentNode = o.content),\r\n null === (o = a.nextNode()) && (a.currentNode = r.pop(),\r\n o = a.nextNode());\r\n if (\"node\" === t.type) {\r\n var h = this.processor.handleTextExpression(this.options);\r\n h.insertAfterNode(o.previousSibling),\r\n this.__parts.push(h)\r\n } else\r\n this.__parts.push(...this.processor.handleAttributeExpressions(o, t.name, t.strings, this.options));\r\n s++\r\n } else\r\n this.__parts.push(void 0),\r\n s++;\r\n return isCEPolyfill && (document.adoptNode(e),\r\n customElements.upgrade(e)),\r\n e\r\n }\r\n }\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n var policy = window.trustedTypes && trustedTypes.createPolicy(\"lit-html\", {\r\n createHTML: t=>t\r\n })\r\n , commentMarker = \" \".concat(marker, \" \");\r\n class TemplateResult {\r\n constructor(t, e, r, i) {\r\n this.strings = t,\r\n this.values = e,\r\n this.type = r,\r\n this.processor = i\r\n }\r\n getHTML() {\r\n for (var t = this.strings.length - 1, e = \"\", r = !1, i = 0; i < t; i++) {\r\n var a = this.strings[i]\r\n , s = a.lastIndexOf(\"\\x3c!--\");\r\n r = (s > -1 || r) && -1 === a.indexOf(\"--\\x3e\", s + 1);\r\n var n = lastAttributeNameRegex.exec(a);\r\n e += null === n ? a + (r ? commentMarker : nodeMarker) : a.substr(0, n.index) + n[1] + n[2] + boundAttributeSuffix + n[3] + marker\r\n }\r\n return e += this.strings[t]\r\n }\r\n getTemplateElement() {\r\n var t = document.createElement(\"template\")\r\n , e = this.getHTML();\r\n return void 0 !== policy && (e = policy.createHTML(e)),\r\n t.innerHTML = e,\r\n t\r\n }\r\n }\r\n class SVGTemplateResult extends TemplateResult {\r\n getHTML() {\r\n return \"\".concat(super.getHTML(), \"\")\r\n }\r\n getTemplateElement() {\r\n var t = super.getTemplateElement()\r\n , e = t.content\r\n , r = e.firstChild;\r\n return e.removeChild(r),\r\n reparentNodes(e, r.firstChild),\r\n t\r\n }\r\n }\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n var isPrimitive = t=>null === t || !(\"object\" == typeof t || \"function\" == typeof t)\r\n , isIterable = t=>Array.isArray(t) || !(!t || !t[Symbol.iterator]);\r\n class AttributeCommitter {\r\n constructor(t, e, r) {\r\n this.dirty = !0,\r\n this.element = t,\r\n this.name = e,\r\n this.strings = r,\r\n this.parts = [];\r\n for (var i = 0; i < r.length - 1; i++)\r\n this.parts[i] = this._createPart()\r\n }\r\n _createPart() {\r\n return new AttributePart(this)\r\n }\r\n _getValue() {\r\n var t = this.strings\r\n , e = t.length - 1\r\n , r = this.parts;\r\n if (1 === e && \"\" === t[0] && \"\" === t[1]) {\r\n var i = r[0].value;\r\n if (\"symbol\" == typeof i)\r\n return String(i);\r\n if (\"string\" == typeof i || !isIterable(i))\r\n return i\r\n }\r\n for (var a = \"\", s = 0; s < e; s++) {\r\n a += t[s];\r\n var n = r[s];\r\n if (void 0 !== n) {\r\n var o = n.value;\r\n if (isPrimitive(o) || !isIterable(o))\r\n a += \"string\" == typeof o ? o : String(o);\r\n else\r\n for (var h of o)\r\n a += \"string\" == typeof h ? h : String(h)\r\n }\r\n }\r\n return a += t[e]\r\n }\r\n commit() {\r\n this.dirty && (this.dirty = !1,\r\n this.element.setAttribute(this.name, this._getValue()))\r\n }\r\n }\r\n class AttributePart {\r\n constructor(t) {\r\n this.value = void 0,\r\n this.committer = t\r\n }\r\n setValue(t) {\r\n t === noChange || isPrimitive(t) && t === this.value || (this.value = t,\r\n isDirective(t) || (this.committer.dirty = !0))\r\n }\r\n commit() {\r\n for (; isDirective(this.value); ) {\r\n var t = this.value;\r\n this.value = noChange,\r\n t(this)\r\n }\r\n this.value !== noChange && this.committer.commit()\r\n }\r\n }\r\n class NodePart {\r\n constructor(t) {\r\n this.value = void 0,\r\n this.__pendingValue = void 0,\r\n this.options = t\r\n }\r\n appendInto(t) {\r\n this.startNode = t.appendChild(createMarker()),\r\n this.endNode = t.appendChild(createMarker())\r\n }\r\n insertAfterNode(t) {\r\n this.startNode = t,\r\n this.endNode = t.nextSibling\r\n }\r\n appendIntoPart(t) {\r\n t.__insert(this.startNode = createMarker()),\r\n t.__insert(this.endNode = createMarker())\r\n }\r\n insertAfterPart(t) {\r\n t.__insert(this.startNode = createMarker()),\r\n this.endNode = t.endNode,\r\n t.endNode = this.startNode\r\n }\r\n setValue(t) {\r\n this.__pendingValue = t\r\n }\r\n commit() {\r\n if (null !== this.startNode.parentNode) {\r\n for (; isDirective(this.__pendingValue); ) {\r\n var t = this.__pendingValue;\r\n this.__pendingValue = noChange,\r\n t(this)\r\n }\r\n var e = this.__pendingValue;\r\n e !== noChange && (isPrimitive(e) ? e !== this.value && this.__commitText(e) : e instanceof TemplateResult ? this.__commitTemplateResult(e) : e instanceof Node ? this.__commitNode(e) : isIterable(e) ? this.__commitIterable(e) : e === nothing ? (this.value = nothing,\r\n this.clear()) : this.__commitText(e))\r\n }\r\n }\r\n __insert(t) {\r\n this.endNode.parentNode.insertBefore(t, this.endNode)\r\n }\r\n __commitNode(t) {\r\n this.value !== t && (this.clear(),\r\n this.__insert(t),\r\n this.value = t)\r\n }\r\n __commitText(t) {\r\n var e = this.startNode.nextSibling\r\n , r = \"string\" == typeof (t = null == t ? \"\" : t) ? t : String(t);\r\n e === this.endNode.previousSibling && 3 === e.nodeType ? e.data = r : this.__commitNode(document.createTextNode(r)),\r\n this.value = t\r\n }\r\n __commitTemplateResult(t) {\r\n var e = this.options.templateFactory(t);\r\n if (this.value instanceof TemplateInstance && this.value.template === e)\r\n this.value.update(t.values);\r\n else {\r\n var r = new TemplateInstance(e,t.processor,this.options)\r\n , i = r._clone();\r\n r.update(t.values),\r\n this.__commitNode(i),\r\n this.value = r\r\n }\r\n }\r\n __commitIterable(t) {\r\n Array.isArray(this.value) || (this.value = [],\r\n this.clear());\r\n var e, r = this.value, i = 0;\r\n for (var a of t)\r\n void 0 === (e = r[i]) && (e = new NodePart(this.options),\r\n r.push(e),\r\n 0 === i ? e.appendIntoPart(this) : e.insertAfterPart(r[i - 1])),\r\n e.setValue(a),\r\n e.commit(),\r\n i++;\r\n i < r.length && (r.length = i,\r\n this.clear(e && e.endNode))\r\n }\r\n clear() {\r\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.startNode;\r\n removeNodes(this.startNode.parentNode, t.nextSibling, this.endNode)\r\n }\r\n }\r\n class BooleanAttributePart {\r\n constructor(t, e, r) {\r\n if (this.value = void 0,\r\n this.__pendingValue = void 0,\r\n 2 !== r.length || \"\" !== r[0] || \"\" !== r[1])\r\n throw new Error(\"Boolean attributes can only contain a single expression\");\r\n this.element = t,\r\n this.name = e,\r\n this.strings = r\r\n }\r\n setValue(t) {\r\n this.__pendingValue = t\r\n }\r\n commit() {\r\n for (; isDirective(this.__pendingValue); ) {\r\n var t = this.__pendingValue;\r\n this.__pendingValue = noChange,\r\n t(this)\r\n }\r\n if (this.__pendingValue !== noChange) {\r\n var e = !!this.__pendingValue;\r\n this.value !== e && (e ? this.element.setAttribute(this.name, \"\") : this.element.removeAttribute(this.name),\r\n this.value = e),\r\n this.__pendingValue = noChange\r\n }\r\n }\r\n }\r\n class PropertyCommitter extends AttributeCommitter {\r\n constructor(t, e, r) {\r\n super(t, e, r),\r\n this.single = 2 === r.length && \"\" === r[0] && \"\" === r[1]\r\n }\r\n _createPart() {\r\n return new PropertyPart(this)\r\n }\r\n _getValue() {\r\n return this.single ? this.parts[0].value : super._getValue()\r\n }\r\n commit() {\r\n this.dirty && (this.dirty = !1,\r\n this.element[this.name] = this._getValue())\r\n }\r\n }\r\n class PropertyPart extends AttributePart {\r\n }\r\n var eventOptionsSupported = !1;\r\n (()=>{\r\n try {\r\n var t = {\r\n get capture() {\r\n return eventOptionsSupported = !0,\r\n !1\r\n }\r\n };\r\n window.addEventListener(\"test\", t, t),\r\n window.removeEventListener(\"test\", t, t)\r\n } catch (t) {}\r\n }\r\n )();\r\n class EventPart {\r\n constructor(t, e, r) {\r\n this.value = void 0,\r\n this.__pendingValue = void 0,\r\n this.element = t,\r\n this.eventName = e,\r\n this.eventContext = r,\r\n this.__boundHandleEvent = t=>this.handleEvent(t)\r\n }\r\n setValue(t) {\r\n this.__pendingValue = t\r\n }\r\n commit() {\r\n for (; isDirective(this.__pendingValue); ) {\r\n var t = this.__pendingValue;\r\n this.__pendingValue = noChange,\r\n t(this)\r\n }\r\n if (this.__pendingValue !== noChange) {\r\n var e = this.__pendingValue\r\n , r = this.value\r\n , i = null == e || null != r && (e.capture !== r.capture || e.once !== r.once || e.passive !== r.passive)\r\n , a = null != e && (null == r || i);\r\n i && this.element.removeEventListener(this.eventName, this.__boundHandleEvent, this.__options),\r\n a && (this.__options = getOptions(e),\r\n this.element.addEventListener(this.eventName, this.__boundHandleEvent, this.__options)),\r\n this.value = e,\r\n this.__pendingValue = noChange\r\n }\r\n }\r\n handleEvent(t) {\r\n \"function\" == typeof this.value ? this.value.call(this.eventContext || this.element, t) : this.value.handleEvent(t)\r\n }\r\n }\r\n var getOptions = t=>t && (eventOptionsSupported ? {\r\n capture: t.capture,\r\n passive: t.passive,\r\n once: t.once\r\n } : t.capture)/**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n ;\r\n function templateFactory(t) {\r\n var e = templateCaches.get(t.type);\r\n void 0 === e && (e = {\r\n stringsArray: new WeakMap,\r\n keyString: new Map\r\n },\r\n templateCaches.set(t.type, e));\r\n var r = e.stringsArray.get(t.strings);\r\n if (void 0 !== r)\r\n return r;\r\n var i = t.strings.join(marker);\r\n return void 0 === (r = e.keyString.get(i)) && (r = new Template(t,t.getTemplateElement()),\r\n e.keyString.set(i, r)),\r\n e.stringsArray.set(t.strings, r),\r\n r\r\n }\r\n var templateCaches = new Map\r\n , parts = new WeakMap\r\n , render$1 = (t,e,r)=>{\r\n var i = parts.get(e);\r\n void 0 === i && (removeNodes(e, e.firstChild),\r\n parts.set(e, i = new NodePart(Object.assign({\r\n templateFactory: templateFactory\r\n }, r))),\r\n i.appendInto(e)),\r\n i.setValue(t),\r\n i.commit()\r\n }\r\n ;\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n class DefaultTemplateProcessor {\r\n handleAttributeExpressions(t, e, r, i) {\r\n var a = e[0];\r\n return \".\" === a ? new PropertyCommitter(t,e.slice(1),r).parts : \"@\" === a ? [new EventPart(t,e.slice(1),i.eventContext)] : \"?\" === a ? [new BooleanAttributePart(t,e.slice(1),r)] : new AttributeCommitter(t,e,r).parts\r\n }\r\n handleTextExpression(t) {\r\n return new NodePart(t)\r\n }\r\n }\r\n var defaultTemplateProcessor = new DefaultTemplateProcessor;\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n \"undefined\" != typeof window && (window.litHtmlVersions || (window.litHtmlVersions = [])).push(\"1.3.0\");\r\n var html = function(t) {\r\n for (var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), i = 1; i < e; i++)\r\n r[i - 1] = arguments[i];\r\n return new TemplateResult(t,r,\"html\",defaultTemplateProcessor)\r\n }\r\n , svg = function(t) {\r\n for (var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), i = 1; i < e; i++)\r\n r[i - 1] = arguments[i];\r\n return new SVGTemplateResult(t,r,\"svg\",defaultTemplateProcessor)\r\n }\r\n , getTemplateCacheKey = (t,e)=>\"\".concat(t, \"--\").concat(e)\r\n , compatibleShadyCSSVersion = !0;\r\n void 0 === window.ShadyCSS ? compatibleShadyCSSVersion = !1 : void 0 === window.ShadyCSS.prepareTemplateDom && (console.warn(\"Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1.\"),\r\n compatibleShadyCSSVersion = !1);\r\n var shadyTemplateFactory = t=>e=>{\r\n var r = getTemplateCacheKey(e.type, t)\r\n , i = templateCaches.get(r);\r\n void 0 === i && (i = {\r\n stringsArray: new WeakMap,\r\n keyString: new Map\r\n },\r\n templateCaches.set(r, i));\r\n var a = i.stringsArray.get(e.strings);\r\n if (void 0 !== a)\r\n return a;\r\n var s = e.strings.join(marker);\r\n if (void 0 === (a = i.keyString.get(s))) {\r\n var n = e.getTemplateElement();\r\n compatibleShadyCSSVersion && window.ShadyCSS.prepareTemplateDom(n, t),\r\n a = new Template(e,n),\r\n i.keyString.set(s, a)\r\n }\r\n return i.stringsArray.set(e.strings, a),\r\n a\r\n }\r\n , TEMPLATE_TYPES = [\"html\", \"svg\"], removeStylesFromLitTemplates = t=>{\r\n TEMPLATE_TYPES.forEach(e=>{\r\n var r = templateCaches.get(getTemplateCacheKey(e, t));\r\n void 0 !== r && r.keyString.forEach(t=>{\r\n var {element: {content: e}} = t\r\n , r = new Set;\r\n Array.from(e.querySelectorAll(\"style\")).forEach(t=>{\r\n r.add(t)\r\n }\r\n ),\r\n removeNodesFromTemplate(t, r)\r\n }\r\n )\r\n }\r\n )\r\n }\r\n , shadyRenderSet = new Set, prepareTemplateStyles = (t,e,r)=>{\r\n shadyRenderSet.add(t);\r\n var i = r ? r.element : document.createElement(\"template\")\r\n , a = e.querySelectorAll(\"style\")\r\n , {length: s} = a;\r\n if (0 !== s) {\r\n for (var n = document.createElement(\"style\"), o = 0; o < s; o++) {\r\n var h = a[o];\r\n h.parentNode.removeChild(h),\r\n n.textContent += h.textContent\r\n }\r\n removeStylesFromLitTemplates(t);\r\n var l = i.content;\r\n r ? insertNodeIntoTemplate(r, n, l.firstChild) : l.insertBefore(n, l.firstChild),\r\n window.ShadyCSS.prepareTemplateStyles(i, t);\r\n var p = l.querySelector(\"style\");\r\n if (window.ShadyCSS.nativeShadow && null !== p)\r\n e.insertBefore(p.cloneNode(!0), e.firstChild);\r\n else if (r) {\r\n l.insertBefore(n, l.firstChild);\r\n var c = new Set;\r\n c.add(n),\r\n removeNodesFromTemplate(r, c)\r\n }\r\n } else\r\n window.ShadyCSS.prepareTemplateStyles(i, t)\r\n }\r\n , render = (t,e,r)=>{\r\n if (!r || \"object\" != typeof r || !r.scopeName)\r\n throw new Error(\"The `scopeName` option is required.\");\r\n var i = r.scopeName\r\n , a = parts.has(e)\r\n , s = compatibleShadyCSSVersion && 11 === e.nodeType && !!e.host\r\n , n = s && !shadyRenderSet.has(i)\r\n , o = n ? document.createDocumentFragment() : e;\r\n if (render$1(t, o, Object.assign({\r\n templateFactory: shadyTemplateFactory(i)\r\n }, r)),\r\n n) {\r\n var h = parts.get(o);\r\n parts.delete(o);\r\n var l = h.value instanceof TemplateInstance ? h.value.template : void 0;\r\n prepareTemplateStyles(i, o, l),\r\n removeNodes(e, e.firstChild),\r\n e.appendChild(o),\r\n parts.set(e, h)\r\n }\r\n !a && s && window.ShadyCSS.styleElement(e.host)\r\n }\r\n , _a;\r\n window.JSCompiler_renameProperty = (t,e)=>t;\r\n var defaultConverter = {\r\n toAttribute(t, e) {\r\n switch (e) {\r\n case Boolean:\r\n return t ? \"\" : null;\r\n case Object:\r\n case Array:\r\n return null == t ? t : JSON.stringify(t)\r\n }\r\n return t\r\n },\r\n fromAttribute(t, e) {\r\n switch (e) {\r\n case Boolean:\r\n return null !== t;\r\n case Number:\r\n return null === t ? null : Number(t);\r\n case Object:\r\n case Array:\r\n return JSON.parse(t)\r\n }\r\n return t\r\n }\r\n }\r\n , notEqual = (t,e)=>e !== t && (e == e || t == t)\r\n , defaultPropertyDeclaration = {\r\n attribute: !0,\r\n type: String,\r\n converter: defaultConverter,\r\n reflect: !1,\r\n hasChanged: notEqual\r\n }\r\n , STATE_HAS_UPDATED = 1\r\n , STATE_UPDATE_REQUESTED = 4\r\n , STATE_IS_REFLECTING_TO_ATTRIBUTE = 8\r\n , STATE_IS_REFLECTING_TO_PROPERTY = 16\r\n , finalized = \"finalized\";\r\n class UpdatingElement extends HTMLElement {\r\n constructor() {\r\n super(),\r\n this.initialize()\r\n }\r\n static get observedAttributes() {\r\n this.finalize();\r\n var t = [];\r\n return this._classProperties.forEach((e,r)=>{\r\n var i = this._attributeNameForProperty(r, e);\r\n void 0 !== i && (this._attributeToPropertyMap.set(i, r),\r\n t.push(i))\r\n }\r\n ),\r\n t\r\n }\r\n static _ensureClassProperties() {\r\n if (!this.hasOwnProperty(JSCompiler_renameProperty(\"_classProperties\", this))) {\r\n this._classProperties = new Map;\r\n var t = Object.getPrototypeOf(this)._classProperties;\r\n void 0 !== t && t.forEach((t,e)=>this._classProperties.set(e, t))\r\n }\r\n }\r\n static createProperty(t) {\r\n var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : defaultPropertyDeclaration;\r\n if (this._ensureClassProperties(),\r\n this._classProperties.set(t, e),\r\n !e.noAccessor && !this.prototype.hasOwnProperty(t)) {\r\n var r = \"symbol\" == typeof t ? Symbol() : \"__\".concat(t)\r\n , i = this.getPropertyDescriptor(t, r, e);\r\n void 0 !== i && Object.defineProperty(this.prototype, t, i)\r\n }\r\n }\r\n static getPropertyDescriptor(t, e, r) {\r\n return {\r\n get() {\r\n return this[e]\r\n },\r\n set(i) {\r\n var a = this[t];\r\n this[e] = i,\r\n this.requestUpdateInternal(t, a, r)\r\n },\r\n configurable: !0,\r\n enumerable: !0\r\n }\r\n }\r\n static getPropertyOptions(t) {\r\n return this._classProperties && this._classProperties.get(t) || defaultPropertyDeclaration\r\n }\r\n static finalize() {\r\n var t = Object.getPrototypeOf(this);\r\n if (t.hasOwnProperty(finalized) || t.finalize(),\r\n this[finalized] = !0,\r\n this._ensureClassProperties(),\r\n this._attributeToPropertyMap = new Map,\r\n this.hasOwnProperty(JSCompiler_renameProperty(\"properties\", this))) {\r\n var e = this.properties\r\n , r = [...Object.getOwnPropertyNames(e), ...\"function\" == typeof Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(e) : []];\r\n for (var i of r)\r\n this.createProperty(i, e[i])\r\n }\r\n }\r\n static _attributeNameForProperty(t, e) {\r\n var r = e.attribute;\r\n return !1 === r ? void 0 : \"string\" == typeof r ? r : \"string\" == typeof t ? t.toLowerCase() : void 0\r\n }\r\n static _valueHasChanged(t, e) {\r\n return (arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : notEqual)(t, e)\r\n }\r\n static _propertyValueFromAttribute(t, e) {\r\n var r = e.type\r\n , i = e.converter || defaultConverter\r\n , a = \"function\" == typeof i ? i : i.fromAttribute;\r\n return a ? a(t, r) : t\r\n }\r\n static _propertyValueToAttribute(t, e) {\r\n if (void 0 !== e.reflect) {\r\n var r = e.type\r\n , i = e.converter;\r\n return (i && i.toAttribute || defaultConverter.toAttribute)(t, r)\r\n }\r\n }\r\n initialize() {\r\n this._updateState = 0,\r\n this._updatePromise = new Promise(t=>this._enableUpdatingResolver = t),\r\n this._changedProperties = new Map,\r\n this._saveInstanceProperties(),\r\n this.requestUpdateInternal()\r\n }\r\n _saveInstanceProperties() {\r\n this.constructor._classProperties.forEach((t,e)=>{\r\n if (this.hasOwnProperty(e)) {\r\n var r = this[e];\r\n delete this[e],\r\n this._instanceProperties || (this._instanceProperties = new Map),\r\n this._instanceProperties.set(e, r)\r\n }\r\n }\r\n )\r\n }\r\n _applyInstanceProperties() {\r\n this._instanceProperties.forEach((t,e)=>this[e] = t),\r\n this._instanceProperties = void 0\r\n }\r\n connectedCallback() {\r\n this.enableUpdating()\r\n }\r\n enableUpdating() {\r\n void 0 !== this._enableUpdatingResolver && (this._enableUpdatingResolver(),\r\n this._enableUpdatingResolver = void 0)\r\n }\r\n disconnectedCallback() {}\r\n attributeChangedCallback(t, e, r) {\r\n e !== r && this._attributeToProperty(t, r)\r\n }\r\n _propertyToAttribute(t, e) {\r\n var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : defaultPropertyDeclaration\r\n , i = this.constructor\r\n , a = i._attributeNameForProperty(t, r);\r\n if (void 0 !== a) {\r\n var s = i._propertyValueToAttribute(e, r);\r\n if (void 0 === s)\r\n return;\r\n this._updateState = this._updateState | STATE_IS_REFLECTING_TO_ATTRIBUTE,\r\n null == s ? this.removeAttribute(a) : this.setAttribute(a, s),\r\n this._updateState = this._updateState & ~STATE_IS_REFLECTING_TO_ATTRIBUTE\r\n }\r\n }\r\n _attributeToProperty(t, e) {\r\n if (!(this._updateState & STATE_IS_REFLECTING_TO_ATTRIBUTE)) {\r\n var r = this.constructor\r\n , i = r._attributeToPropertyMap.get(t);\r\n if (void 0 !== i) {\r\n var a = r.getPropertyOptions(i);\r\n this._updateState = this._updateState | STATE_IS_REFLECTING_TO_PROPERTY,\r\n this[i] = r._propertyValueFromAttribute(e, a),\r\n this._updateState = this._updateState & ~STATE_IS_REFLECTING_TO_PROPERTY\r\n }\r\n }\r\n }\r\n requestUpdateInternal(t, e, r) {\r\n var i = !0;\r\n if (void 0 !== t) {\r\n var a = this.constructor;\r\n r = r || a.getPropertyOptions(t),\r\n a._valueHasChanged(this[t], e, r.hasChanged) ? (this._changedProperties.has(t) || this._changedProperties.set(t, e),\r\n !0 !== r.reflect || this._updateState & STATE_IS_REFLECTING_TO_PROPERTY || (void 0 === this._reflectingProperties && (this._reflectingProperties = new Map),\r\n this._reflectingProperties.set(t, r))) : i = !1\r\n }\r\n !this._hasRequestedUpdate && i && (this._updatePromise = this._enqueueUpdate())\r\n }\r\n requestUpdate(t, e) {\r\n return this.requestUpdateInternal(t, e),\r\n this.updateComplete\r\n }\r\n _enqueueUpdate() {\r\n var t = this;\r\n return _asyncToGenerator((function*() {\r\n t._updateState = t._updateState | STATE_UPDATE_REQUESTED;\r\n try {\r\n yield t._updatePromise\r\n } catch (t) {}\r\n var e = t.performUpdate();\r\n return null != e && (yield e),\r\n !t._hasRequestedUpdate\r\n }\r\n ))()\r\n }\r\n get _hasRequestedUpdate() {\r\n return this._updateState & STATE_UPDATE_REQUESTED\r\n }\r\n get hasUpdated() {\r\n return this._updateState & STATE_HAS_UPDATED\r\n }\r\n performUpdate() {\r\n if (this._hasRequestedUpdate) {\r\n this._instanceProperties && this._applyInstanceProperties();\r\n var t = !1\r\n , e = this._changedProperties;\r\n try {\r\n (t = this.shouldUpdate(e)) ? this.update(e) : this._markUpdated()\r\n } catch (e) {\r\n throw t = !1,\r\n this._markUpdated(),\r\n e\r\n }\r\n t && (this._updateState & STATE_HAS_UPDATED || (this._updateState = this._updateState | STATE_HAS_UPDATED,\r\n this.firstUpdated(e)),\r\n this.updated(e))\r\n }\r\n }\r\n _markUpdated() {\r\n this._changedProperties = new Map,\r\n this._updateState = this._updateState & ~STATE_UPDATE_REQUESTED\r\n }\r\n get updateComplete() {\r\n return this._getUpdateComplete()\r\n }\r\n _getUpdateComplete() {\r\n return this._updatePromise\r\n }\r\n shouldUpdate(t) {\r\n return !0\r\n }\r\n update(t) {\r\n void 0 !== this._reflectingProperties && this._reflectingProperties.size > 0 && (this._reflectingProperties.forEach((t,e)=>this._propertyToAttribute(e, this[e], t)),\r\n this._reflectingProperties = void 0),\r\n this._markUpdated()\r\n }\r\n updated(t) {}\r\n firstUpdated(t) {}\r\n }\r\n _a = finalized,\r\n UpdatingElement[_a] = !0;\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n var legacyCustomElement = (t,e)=>(window.customElements.define(t, e),\r\n e)\r\n , standardCustomElement = (t,e)=>{\r\n var {kind: r, elements: i} = e;\r\n return {\r\n kind: r,\r\n elements: i,\r\n finisher(e) {\r\n window.customElements.define(t, e)\r\n }\r\n }\r\n }\r\n , customElement = t=>e=>\"function\" == typeof e ? legacyCustomElement(t, e) : standardCustomElement(t, e)\r\n , standardProperty = (t,e)=>\"method\" === e.kind && e.descriptor && !(\"value\"in e.descriptor) ? Object.assign(Object.assign({}, e), {\r\n finisher(r) {\r\n r.createProperty(e.key, t)\r\n }\r\n }) : {\r\n kind: \"field\",\r\n key: Symbol(),\r\n placement: \"own\",\r\n descriptor: {},\r\n initializer() {\r\n \"function\" == typeof e.initializer && (this[e.key] = e.initializer.call(this))\r\n },\r\n finisher(r) {\r\n r.createProperty(e.key, t)\r\n }\r\n }\r\n , legacyProperty = (t,e,r)=>{\r\n e.constructor.createProperty(r, t)\r\n }\r\n ;\r\n function property(t) {\r\n return (e,r)=>void 0 !== r ? legacyProperty(t, e, r) : standardProperty(t, e)\r\n }\r\n function internalProperty(t) {\r\n return property({\r\n attribute: !1,\r\n hasChanged: null == t ? void 0 : t.hasChanged\r\n })\r\n }\r\n function query(t, e) {\r\n return (r,i)=>{\r\n var a = {\r\n get() {\r\n return this.renderRoot.querySelector(t)\r\n },\r\n enumerable: !0,\r\n configurable: !0\r\n };\r\n if (e) {\r\n var s = \"symbol\" == typeof i ? Symbol() : \"__\".concat(i);\r\n a.get = function() {\r\n return void 0 === this[s] && (this[s] = this.renderRoot.querySelector(t)),\r\n this[s]\r\n }\r\n }\r\n return void 0 !== i ? legacyQuery(a, r, i) : standardQuery(a, r)\r\n }\r\n }\r\n function queryAsync(t) {\r\n return (e,r)=>{\r\n var i = {\r\n get() {\r\n var e = this;\r\n return _asyncToGenerator((function*() {\r\n return yield e.updateComplete,\r\n e.renderRoot.querySelector(t)\r\n }\r\n ))()\r\n },\r\n enumerable: !0,\r\n configurable: !0\r\n };\r\n return void 0 !== r ? legacyQuery(i, e, r) : standardQuery(i, e)\r\n }\r\n }\r\n function queryAll(t) {\r\n return (e,r)=>{\r\n var i = {\r\n get() {\r\n return this.renderRoot.querySelectorAll(t)\r\n },\r\n enumerable: !0,\r\n configurable: !0\r\n };\r\n return void 0 !== r ? legacyQuery(i, e, r) : standardQuery(i, e)\r\n }\r\n }\r\n var legacyQuery = (t,e,r)=>{\r\n Object.defineProperty(e, r, t)\r\n }\r\n , standardQuery = (t,e)=>({\r\n kind: \"method\",\r\n placement: \"prototype\",\r\n key: e.key,\r\n descriptor: t\r\n })\r\n , standardEventOptions = (t,e)=>Object.assign(Object.assign({}, e), {\r\n finisher(r) {\r\n Object.assign(r.prototype[e.key], t)\r\n }\r\n })\r\n , legacyEventOptions = (t,e,r)=>{\r\n Object.assign(e[r], t)\r\n }\r\n ;\r\n function eventOptions(t) {\r\n return (e,r)=>void 0 !== r ? legacyEventOptions(t, e, r) : standardEventOptions(t, e)\r\n }\r\n var ElementProto = Element.prototype\r\n , legacyMatches = ElementProto.msMatchesSelector || ElementProto.webkitMatchesSelector;\r\n function queryAssignedNodes() {\r\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : \"\"\r\n , e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]\r\n , r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : \"\";\r\n return (i,a)=>{\r\n var s = {\r\n get() {\r\n var i = \"slot\".concat(t ? \"[name=\".concat(t, \"]\") : \":not([name])\")\r\n , a = this.renderRoot.querySelector(i)\r\n , s = a && a.assignedNodes({\r\n flatten: e\r\n });\r\n return s && r && (s = s.filter(t=>t.nodeType === Node.ELEMENT_NODE && t.matches ? t.matches(r) : legacyMatches.call(t, r))),\r\n s\r\n },\r\n enumerable: !0,\r\n configurable: !0\r\n };\r\n return void 0 !== a ? legacyQuery(s, i, a) : standardQuery(s, i)\r\n }\r\n }\r\n /**\r\n @license\r\n Copyright (c) 2019 The Polymer Project Authors. All rights reserved.\r\n This code may only be used under the BSD style license found at\r\n http://polymer.github.io/LICENSE.txt The complete set of authors may be found at\r\n http://polymer.github.io/AUTHORS.txt The complete set of contributors may be\r\n found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as\r\n part of the polymer project is also subject to an additional IP rights grant\r\n found at http://polymer.github.io/PATENTS.txt\r\n */\r\n var supportsAdoptingStyleSheets = window.ShadowRoot && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow) && \"adoptedStyleSheets\"in Document.prototype && \"replace\"in CSSStyleSheet.prototype\r\n , constructionToken = Symbol();\r\n class CSSResult {\r\n constructor(t, e) {\r\n if (e !== constructionToken)\r\n throw new Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");\r\n this.cssText = t\r\n }\r\n get styleSheet() {\r\n return void 0 === this._styleSheet && (supportsAdoptingStyleSheets ? (this._styleSheet = new CSSStyleSheet,\r\n this._styleSheet.replaceSync(this.cssText)) : this._styleSheet = null),\r\n this._styleSheet\r\n }\r\n toString() {\r\n return this.cssText\r\n }\r\n }\r\n var unsafeCSS = t=>new CSSResult(String(t),constructionToken)\r\n , textFromCSSResult = t=>{\r\n if (t instanceof CSSResult)\r\n return t.cssText;\r\n if (\"number\" == typeof t)\r\n return t;\r\n throw new Error(\"Value passed to 'css' function must be a 'css' function result: \".concat(t, \". Use 'unsafeCSS' to pass non-literal values, but\\n take care to ensure page security.\"))\r\n }\r\n , css = function(t) {\r\n for (var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), i = 1; i < e; i++)\r\n r[i - 1] = arguments[i];\r\n var a = r.reduce((e,r,i)=>e + textFromCSSResult(r) + t[i + 1], t[0]);\r\n return new CSSResult(a,constructionToken)\r\n };\r\n /**\r\n * @license\r\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at\r\n * http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at\r\n * http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at\r\n * http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at\r\n * http://polymer.github.io/PATENTS.txt\r\n */\r\n (window.litElementVersions || (window.litElementVersions = [])).push(\"2.4.0\");\r\n var renderNotImplemented = {};\r\n class LitElement extends UpdatingElement {\r\n static getStyles() {\r\n return this.styles\r\n }\r\n static _getUniqueStyles() {\r\n if (!this.hasOwnProperty(JSCompiler_renameProperty(\"_styles\", this))) {\r\n var t = this.getStyles();\r\n if (Array.isArray(t)) {\r\n var e = (t,r)=>t.reduceRight((t,r)=>Array.isArray(r) ? e(r, t) : (t.add(r),\r\n t), r)\r\n , r = e(t, new Set)\r\n , i = [];\r\n r.forEach(t=>i.unshift(t)),\r\n this._styles = i\r\n } else\r\n this._styles = void 0 === t ? [] : [t];\r\n this._styles = this._styles.map(t=>{\r\n if (t instanceof CSSStyleSheet && !supportsAdoptingStyleSheets) {\r\n var e = Array.prototype.slice.call(t.cssRules).reduce((t,e)=>t + e.cssText, \"\");\r\n return unsafeCSS(e)\r\n }\r\n return t\r\n }\r\n )\r\n }\r\n }\r\n initialize() {\r\n super.initialize(),\r\n this.constructor._getUniqueStyles(),\r\n this.renderRoot = this.createRenderRoot(),\r\n window.ShadowRoot && this.renderRoot instanceof window.ShadowRoot && this.adoptStyles()\r\n }\r\n createRenderRoot() {\r\n return this.attachShadow({\r\n mode: \"open\"\r\n })\r\n }\r\n adoptStyles() {\r\n var t = this.constructor._styles;\r\n 0 !== t.length && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow ? supportsAdoptingStyleSheets ? this.renderRoot.adoptedStyleSheets = t.map(t=>t instanceof CSSStyleSheet ? t : t.styleSheet) : this._needsShimAdoptedStyleSheets = !0 : window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText), this.localName))\r\n }\r\n connectedCallback() {\r\n super.connectedCallback(),\r\n this.hasUpdated && void 0 !== window.ShadyCSS && window.ShadyCSS.styleElement(this)\r\n }\r\n update(t) {\r\n var e = this.render();\r\n super.update(t),\r\n e !== renderNotImplemented && this.constructor.render(e, this.renderRoot, {\r\n scopeName: this.localName,\r\n eventContext: this\r\n }),\r\n this._needsShimAdoptedStyleSheets && (this._needsShimAdoptedStyleSheets = !1,\r\n this.constructor._styles.forEach(t=>{\r\n var e = document.createElement(\"style\");\r\n e.textContent = t.cssText,\r\n this.renderRoot.appendChild(e)\r\n }\r\n ))\r\n }\r\n render() {\r\n return renderNotImplemented\r\n }\r\n }\r\n LitElement.finalized = !0,\r\n LitElement.render = render;\r\n var commonjsGlobal = \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\r\n function createCommonjsModule(t, e, r) {\r\n return t(r = {\r\n path: e,\r\n exports: {},\r\n require: function(t, e) {\r\n return commonjsRequire(t, null == e ? r.path : e)\r\n }\r\n }, r.exports),\r\n r.exports\r\n }\r\n function getCjsExportFromNamespace(t) {\r\n return t && t.default || t\r\n }\r\n function commonjsRequire() {\r\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")\r\n }\r\n var lottie = createCommonjsModule((function(module) {\r\n \"undefined\" != typeof navigator && function(t, e) {\r\n module.exports ? module.exports = e(t) : (t.lottie = e(t),\r\n t.bodymovin = t.lottie)\r\n }(window || {}, (function(window) {\r\n var svgNS = \"http://www.w3.org/2000/svg\", locationHref = \"\", initialDefaultFrame = -999999, _useWebWorker = !1, subframeEnabled = !0, idPrefix = \"\", expressionsPlugin, isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), cachedColors = {}, bmRnd, bmPow = Math.pow, bmSqrt = Math.sqrt, bmFloor = Math.floor, bmMax = Math.max, bmMin = Math.min, BMMath = {};\r\n function ProjectInterface() {\r\n return {}\r\n }\r\n !function() {\r\n var t, e = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"], r = e.length;\r\n for (t = 0; t < r; t += 1)\r\n BMMath[e[t]] = Math[e[t]]\r\n }(),\r\n BMMath.random = Math.random,\r\n BMMath.abs = function(t) {\r\n if (\"object\" === typeof t && t.length) {\r\n var e, r = createSizedArray(t.length), i = t.length;\r\n for (e = 0; e < i; e += 1)\r\n r[e] = Math.abs(t[e]);\r\n return r\r\n }\r\n return Math.abs(t)\r\n }\r\n ;\r\n var defaultCurveSegments = 150\r\n , degToRads = Math.PI / 180\r\n , roundCorner = .5519;\r\n function roundValues(t) {\r\n bmRnd = t ? Math.round : function(t) {\r\n return t\r\n }\r\n }\r\n function styleDiv(t) {\r\n t.style.position = \"absolute\",\r\n t.style.top = 0,\r\n t.style.left = 0,\r\n t.style.display = \"block\",\r\n t.style.transformOrigin = \"0 0\",\r\n t.style.webkitTransformOrigin = \"0 0\",\r\n t.style.backfaceVisibility = \"visible\",\r\n t.style.webkitBackfaceVisibility = \"visible\",\r\n t.style.transformStyle = \"preserve-3d\",\r\n t.style.webkitTransformStyle = \"preserve-3d\",\r\n t.style.mozTransformStyle = \"preserve-3d\"\r\n }\r\n function BMEnterFrameEvent(t, e, r, i) {\r\n this.type = t,\r\n this.currentTime = e,\r\n this.totalTime = r,\r\n this.direction = i < 0 ? -1 : 1\r\n }\r\n function BMCompleteEvent(t, e) {\r\n this.type = t,\r\n this.direction = e < 0 ? -1 : 1\r\n }\r\n function BMCompleteLoopEvent(t, e, r, i) {\r\n this.type = t,\r\n this.currentLoop = r,\r\n this.totalLoops = e,\r\n this.direction = i < 0 ? -1 : 1\r\n }\r\n function BMSegmentStartEvent(t, e, r) {\r\n this.type = t,\r\n this.firstFrame = e,\r\n this.totalFrames = r\r\n }\r\n function BMDestroyEvent(t, e) {\r\n this.type = t,\r\n this.target = e\r\n }\r\n function BMRenderFrameErrorEvent(t, e) {\r\n this.type = \"renderFrameError\",\r\n this.nativeError = t,\r\n this.currentTime = e\r\n }\r\n function BMConfigErrorEvent(t) {\r\n this.type = \"configError\",\r\n this.nativeError = t\r\n }\r\n function BMAnimationConfigErrorEvent(t, e) {\r\n this.type = t,\r\n this.nativeError = e\r\n }\r\n roundValues(!1);\r\n var createElementID = (_count = 0,\r\n function() {\r\n return idPrefix + \"__lottie_element_\" + (_count += 1)\r\n }\r\n ), _count;\r\n function HSVtoRGB(t, e, r) {\r\n var i, a, s, n, o, h, l, p;\r\n switch (h = r * (1 - e),\r\n l = r * (1 - (o = 6 * t - (n = Math.floor(6 * t))) * e),\r\n p = r * (1 - (1 - o) * e),\r\n n % 6) {\r\n case 0:\r\n i = r,\r\n a = p,\r\n s = h;\r\n break;\r\n case 1:\r\n i = l,\r\n a = r,\r\n s = h;\r\n break;\r\n case 2:\r\n i = h,\r\n a = r,\r\n s = p;\r\n break;\r\n case 3:\r\n i = h,\r\n a = l,\r\n s = r;\r\n break;\r\n case 4:\r\n i = p,\r\n a = h,\r\n s = r;\r\n break;\r\n case 5:\r\n i = r,\r\n a = h,\r\n s = l\r\n }\r\n return [i, a, s]\r\n }\r\n function RGBtoHSV(t, e, r) {\r\n var i, a = Math.max(t, e, r), s = Math.min(t, e, r), n = a - s, o = 0 === a ? 0 : n / a, h = a / 255;\r\n switch (a) {\r\n case s:\r\n i = 0;\r\n break;\r\n case t:\r\n i = e - r + n * (e < r ? 6 : 0),\r\n i /= 6 * n;\r\n break;\r\n case e:\r\n i = r - t + 2 * n,\r\n i /= 6 * n;\r\n break;\r\n case r:\r\n i = t - e + 4 * n,\r\n i /= 6 * n\r\n }\r\n return [i, o, h]\r\n }\r\n function addSaturationToRGB(t, e) {\r\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\r\n return r[1] += e,\r\n r[1] > 1 ? r[1] = 1 : r[1] <= 0 && (r[1] = 0),\r\n HSVtoRGB(r[0], r[1], r[2])\r\n }\r\n function addBrightnessToRGB(t, e) {\r\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\r\n return r[2] += e,\r\n r[2] > 1 ? r[2] = 1 : r[2] < 0 && (r[2] = 0),\r\n HSVtoRGB(r[0], r[1], r[2])\r\n }\r\n function addHueToRGB(t, e) {\r\n var r = RGBtoHSV(255 * t[0], 255 * t[1], 255 * t[2]);\r\n return r[0] += e / 360,\r\n r[0] > 1 ? r[0] -= 1 : r[0] < 0 && (r[0] += 1),\r\n HSVtoRGB(r[0], r[1], r[2])\r\n }\r\n var rgbToHex = function() {\r\n var t, e, r = [];\r\n for (t = 0; t < 256; t += 1)\r\n e = t.toString(16),\r\n r[t] = 1 === e.length ? \"0\" + e : e;\r\n return function(t, e, i) {\r\n return t < 0 && (t = 0),\r\n e < 0 && (e = 0),\r\n i < 0 && (i = 0),\r\n \"#\" + r[t] + r[e] + r[i]\r\n }\r\n }();\r\n function BaseEvent() {}\r\n BaseEvent.prototype = {\r\n triggerEvent: function(t, e) {\r\n if (this._cbs[t])\r\n for (var r = this._cbs[t], i = 0; i < r.length; i += 1)\r\n r[i](e)\r\n },\r\n addEventListener: function(t, e) {\r\n return this._cbs[t] || (this._cbs[t] = []),\r\n this._cbs[t].push(e),\r\n function() {\r\n this.removeEventListener(t, e)\r\n }\r\n .bind(this)\r\n },\r\n removeEventListener: function(t, e) {\r\n if (e) {\r\n if (this._cbs[t]) {\r\n for (var r = 0, i = this._cbs[t].length; r < i; )\r\n this._cbs[t][r] === e && (this._cbs[t].splice(r, 1),\r\n r -= 1,\r\n i -= 1),\r\n r += 1;\r\n this._cbs[t].length || (this._cbs[t] = null)\r\n }\r\n } else\r\n this._cbs[t] = null\r\n }\r\n };\r\n var createTypedArray = function() {\r\n function t(t, e) {\r\n var r, i = 0, a = [];\r\n switch (t) {\r\n case \"int16\":\r\n case \"uint8c\":\r\n r = 1;\r\n break;\r\n default:\r\n r = 1.1\r\n }\r\n for (i = 0; i < e; i += 1)\r\n a.push(r);\r\n return a\r\n }\r\n return \"function\" == typeof Uint8ClampedArray && \"function\" == typeof Float32Array ? function(e, r) {\r\n return \"float32\" === e ? new Float32Array(r) : \"int16\" === e ? new Int16Array(r) : \"uint8c\" === e ? new Uint8ClampedArray(r) : t(e, r)\r\n }\r\n : t\r\n }();\r\n function createSizedArray(t) {\r\n return Array.apply(null, {\r\n length: t\r\n })\r\n }\r\n function createNS(t) {\r\n return document.createElementNS(svgNS, t)\r\n }\r\n function createTag(t) {\r\n return document.createElement(t)\r\n }\r\n function DynamicPropertyContainer() {}\r\n DynamicPropertyContainer.prototype = {\r\n addDynamicProperty: function(t) {\r\n -1 === this.dynamicProperties.indexOf(t) && (this.dynamicProperties.push(t),\r\n this.container.addDynamicProperty(this),\r\n this._isAnimated = !0)\r\n },\r\n iterateDynamicProperties: function() {\r\n var t;\r\n this._mdf = !1;\r\n var e = this.dynamicProperties.length;\r\n for (t = 0; t < e; t += 1)\r\n this.dynamicProperties[t].getValue(),\r\n this.dynamicProperties[t]._mdf && (this._mdf = !0)\r\n },\r\n initDynamicPropertyContainer: function(t) {\r\n this.container = t,\r\n this.dynamicProperties = [],\r\n this._mdf = !1,\r\n this._isAnimated = !1\r\n }\r\n };\r\n var getBlendMode = (blendModeEnums = {\r\n 0: \"source-over\",\r\n 1: \"multiply\",\r\n 2: \"screen\",\r\n 3: \"overlay\",\r\n 4: \"darken\",\r\n 5: \"lighten\",\r\n 6: \"color-dodge\",\r\n 7: \"color-burn\",\r\n 8: \"hard-light\",\r\n 9: \"soft-light\",\r\n 10: \"difference\",\r\n 11: \"exclusion\",\r\n 12: \"hue\",\r\n 13: \"saturation\",\r\n 14: \"color\",\r\n 15: \"luminosity\"\r\n },\r\n function(t) {\r\n return blendModeEnums[t] || \"\"\r\n }\r\n ), blendModeEnums, lineCapEnum = {\r\n 1: \"butt\",\r\n 2: \"round\",\r\n 3: \"square\"\r\n }, lineJoinEnum = {\r\n 1: \"miter\",\r\n 2: \"round\",\r\n 3: \"bevel\"\r\n }, Matrix = function() {\r\n var t = Math.cos\r\n , e = Math.sin\r\n , r = Math.tan\r\n , i = Math.round;\r\n function a() {\r\n return this.props[0] = 1,\r\n this.props[1] = 0,\r\n this.props[2] = 0,\r\n this.props[3] = 0,\r\n this.props[4] = 0,\r\n this.props[5] = 1,\r\n this.props[6] = 0,\r\n this.props[7] = 0,\r\n this.props[8] = 0,\r\n this.props[9] = 0,\r\n this.props[10] = 1,\r\n this.props[11] = 0,\r\n this.props[12] = 0,\r\n this.props[13] = 0,\r\n this.props[14] = 0,\r\n this.props[15] = 1,\r\n this\r\n }\r\n function s(r) {\r\n if (0 === r)\r\n return this;\r\n var i = t(r)\r\n , a = e(r);\r\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n }\r\n function n(r) {\r\n if (0 === r)\r\n return this;\r\n var i = t(r)\r\n , a = e(r);\r\n return this._t(1, 0, 0, 0, 0, i, -a, 0, 0, a, i, 0, 0, 0, 0, 1)\r\n }\r\n function o(r) {\r\n if (0 === r)\r\n return this;\r\n var i = t(r)\r\n , a = e(r);\r\n return this._t(i, 0, a, 0, 0, 1, 0, 0, -a, 0, i, 0, 0, 0, 0, 1)\r\n }\r\n function h(r) {\r\n if (0 === r)\r\n return this;\r\n var i = t(r)\r\n , a = e(r);\r\n return this._t(i, -a, 0, 0, a, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n }\r\n function l(t, e) {\r\n return this._t(1, e, t, 1, 0, 0)\r\n }\r\n function p(t, e) {\r\n return this.shear(r(t), r(e))\r\n }\r\n function c(i, a) {\r\n var s = t(a)\r\n , n = e(a);\r\n return this._t(s, n, 0, 0, -n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(s, -n, 0, 0, n, s, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\r\n }\r\n function f(t, e, r) {\r\n return r || 0 === r || (r = 1),\r\n 1 === t && 1 === e && 1 === r ? this : this._t(t, 0, 0, 0, 0, e, 0, 0, 0, 0, r, 0, 0, 0, 0, 1)\r\n }\r\n function d(t, e, r, i, a, s, n, o, h, l, p, c, f, d, m, u) {\r\n return this.props[0] = t,\r\n this.props[1] = e,\r\n this.props[2] = r,\r\n this.props[3] = i,\r\n this.props[4] = a,\r\n this.props[5] = s,\r\n this.props[6] = n,\r\n this.props[7] = o,\r\n this.props[8] = h,\r\n this.props[9] = l,\r\n this.props[10] = p,\r\n this.props[11] = c,\r\n this.props[12] = f,\r\n this.props[13] = d,\r\n this.props[14] = m,\r\n this.props[15] = u,\r\n this\r\n }\r\n function m(t, e, r) {\r\n return r = r || 0,\r\n 0 !== t || 0 !== e || 0 !== r ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, e, r, 1) : this\r\n }\r\n function u(t, e, r, i, a, s, n, o, h, l, p, c, f, d, m, u) {\r\n var y = this.props;\r\n if (1 === t && 0 === e && 0 === r && 0 === i && 0 === a && 1 === s && 0 === n && 0 === o && 0 === h && 0 === l && 1 === p && 0 === c)\r\n return y[12] = y[12] * t + y[15] * f,\r\n y[13] = y[13] * s + y[15] * d,\r\n y[14] = y[14] * p + y[15] * m,\r\n y[15] *= u,\r\n this._identityCalculated = !1,\r\n this;\r\n var g = y[0]\r\n , v = y[1]\r\n , b = y[2]\r\n , P = y[3]\r\n , _ = y[4]\r\n , S = y[5]\r\n , E = y[6]\r\n , x = y[7]\r\n , A = y[8]\r\n , w = y[9]\r\n , C = y[10]\r\n , T = y[11]\r\n , k = y[12]\r\n , D = y[13]\r\n , M = y[14]\r\n , F = y[15];\r\n return y[0] = g * t + v * a + b * h + P * f,\r\n y[1] = g * e + v * s + b * l + P * d,\r\n y[2] = g * r + v * n + b * p + P * m,\r\n y[3] = g * i + v * o + b * c + P * u,\r\n y[4] = _ * t + S * a + E * h + x * f,\r\n y[5] = _ * e + S * s + E * l + x * d,\r\n y[6] = _ * r + S * n + E * p + x * m,\r\n y[7] = _ * i + S * o + E * c + x * u,\r\n y[8] = A * t + w * a + C * h + T * f,\r\n y[9] = A * e + w * s + C * l + T * d,\r\n y[10] = A * r + w * n + C * p + T * m,\r\n y[11] = A * i + w * o + C * c + T * u,\r\n y[12] = k * t + D * a + M * h + F * f,\r\n y[13] = k * e + D * s + M * l + F * d,\r\n y[14] = k * r + D * n + M * p + F * m,\r\n y[15] = k * i + D * o + M * c + F * u,\r\n this._identityCalculated = !1,\r\n this\r\n }\r\n function y() {\r\n return this._identityCalculated || (this._identity = !(1 !== this.props[0] || 0 !== this.props[1] || 0 !== this.props[2] || 0 !== this.props[3] || 0 !== this.props[4] || 1 !== this.props[5] || 0 !== this.props[6] || 0 !== this.props[7] || 0 !== this.props[8] || 0 !== this.props[9] || 1 !== this.props[10] || 0 !== this.props[11] || 0 !== this.props[12] || 0 !== this.props[13] || 0 !== this.props[14] || 1 !== this.props[15]),\r\n this._identityCalculated = !0),\r\n this._identity\r\n }\r\n function g(t) {\r\n for (var e = 0; e < 16; ) {\r\n if (t.props[e] !== this.props[e])\r\n return !1;\r\n e += 1\r\n }\r\n return !0\r\n }\r\n function v(t) {\r\n var e;\r\n for (e = 0; e < 16; e += 1)\r\n t.props[e] = this.props[e];\r\n return t\r\n }\r\n function b(t) {\r\n var e;\r\n for (e = 0; e < 16; e += 1)\r\n this.props[e] = t[e]\r\n }\r\n function P(t, e, r) {\r\n return {\r\n x: t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12],\r\n y: t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13],\r\n z: t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]\r\n }\r\n }\r\n function _(t, e, r) {\r\n return t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12]\r\n }\r\n function S(t, e, r) {\r\n return t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13]\r\n }\r\n function E(t, e, r) {\r\n return t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]\r\n }\r\n function x() {\r\n var t = this.props[0] * this.props[5] - this.props[1] * this.props[4]\r\n , e = this.props[5] / t\r\n , r = -this.props[1] / t\r\n , i = -this.props[4] / t\r\n , a = this.props[0] / t\r\n , s = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / t\r\n , n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / t\r\n , o = new Matrix;\r\n return o.props[0] = e,\r\n o.props[1] = r,\r\n o.props[4] = i,\r\n o.props[5] = a,\r\n o.props[12] = s,\r\n o.props[13] = n,\r\n o\r\n }\r\n function A(t) {\r\n return this.getInverseMatrix().applyToPointArray(t[0], t[1], t[2] || 0)\r\n }\r\n function w(t) {\r\n var e, r = t.length, i = [];\r\n for (e = 0; e < r; e += 1)\r\n i[e] = A(t[e]);\r\n return i\r\n }\r\n function C(t, e, r) {\r\n var i = createTypedArray(\"float32\", 6);\r\n if (this.isIdentity())\r\n i[0] = t[0],\r\n i[1] = t[1],\r\n i[2] = e[0],\r\n i[3] = e[1],\r\n i[4] = r[0],\r\n i[5] = r[1];\r\n else {\r\n var a = this.props[0]\r\n , s = this.props[1]\r\n , n = this.props[4]\r\n , o = this.props[5]\r\n , h = this.props[12]\r\n , l = this.props[13];\r\n i[0] = t[0] * a + t[1] * n + h,\r\n i[1] = t[0] * s + t[1] * o + l,\r\n i[2] = e[0] * a + e[1] * n + h,\r\n i[3] = e[0] * s + e[1] * o + l,\r\n i[4] = r[0] * a + r[1] * n + h,\r\n i[5] = r[0] * s + r[1] * o + l\r\n }\r\n return i\r\n }\r\n function T(t, e, r) {\r\n return this.isIdentity() ? [t, e, r] : [t * this.props[0] + e * this.props[4] + r * this.props[8] + this.props[12], t * this.props[1] + e * this.props[5] + r * this.props[9] + this.props[13], t * this.props[2] + e * this.props[6] + r * this.props[10] + this.props[14]]\r\n }\r\n function k(t, e) {\r\n if (this.isIdentity())\r\n return t + \",\" + e;\r\n var r = this.props;\r\n return Math.round(100 * (t * r[0] + e * r[4] + r[12])) / 100 + \",\" + Math.round(100 * (t * r[1] + e * r[5] + r[13])) / 100\r\n }\r\n function D() {\r\n for (var t = 0, e = this.props, r = \"matrix3d(\"; t < 16; )\r\n r += i(1e4 * e[t]) / 1e4,\r\n r += 15 === t ? \")\" : \",\",\r\n t += 1;\r\n return r\r\n }\r\n function M(t) {\r\n return t < 1e-6 && t > 0 || t > -1e-6 && t < 0 ? i(1e4 * t) / 1e4 : t\r\n }\r\n function F() {\r\n var t = this.props;\r\n return \"matrix(\" + M(t[0]) + \",\" + M(t[1]) + \",\" + M(t[4]) + \",\" + M(t[5]) + \",\" + M(t[12]) + \",\" + M(t[13]) + \")\"\r\n }\r\n return function() {\r\n this.reset = a,\r\n this.rotate = s,\r\n this.rotateX = n,\r\n this.rotateY = o,\r\n this.rotateZ = h,\r\n this.skew = p,\r\n this.skewFromAxis = c,\r\n this.shear = l,\r\n this.scale = f,\r\n this.setTransform = d,\r\n this.translate = m,\r\n this.transform = u,\r\n this.applyToPoint = P,\r\n this.applyToX = _,\r\n this.applyToY = S,\r\n this.applyToZ = E,\r\n this.applyToPointArray = T,\r\n this.applyToTriplePoints = C,\r\n this.applyToPointStringified = k,\r\n this.toCSS = D,\r\n this.to2dCSS = F,\r\n this.clone = v,\r\n this.cloneFromProps = b,\r\n this.equals = g,\r\n this.inversePoints = w,\r\n this.inversePoint = A,\r\n this.getInverseMatrix = x,\r\n this._t = this.transform,\r\n this.isIdentity = y,\r\n this._identity = !0,\r\n this._identityCalculated = !1,\r\n this.props = createTypedArray(\"float32\", 16),\r\n this.reset()\r\n }\r\n }();\r\n !function(t, e) {\r\n var r = this\r\n , i = e.pow(256, 6)\r\n , a = e.pow(2, 52)\r\n , s = 2 * a;\r\n function n(t) {\r\n var e, r = t.length, i = this, a = 0, s = i.i = i.j = 0, n = i.S = [];\r\n for (r || (t = [r++]); a < 256; )\r\n n[a] = a++;\r\n for (a = 0; a < 256; a++)\r\n n[a] = n[s = 255 & s + t[a % r] + (e = n[a])],\r\n n[s] = e;\r\n i.g = function(t) {\r\n for (var e, r = 0, a = i.i, s = i.j, n = i.S; t--; )\r\n e = n[a = 255 & a + 1],\r\n r = 256 * r + n[255 & (n[a] = n[s = 255 & s + e]) + (n[s] = e)];\r\n return i.i = a,\r\n i.j = s,\r\n r\r\n }\r\n }\r\n function o(t, e) {\r\n return e.i = t.i,\r\n e.j = t.j,\r\n e.S = t.S.slice(),\r\n e\r\n }\r\n function h(t, e) {\r\n for (var r, i = t + \"\", a = 0; a < i.length; )\r\n e[255 & a] = 255 & (r ^= 19 * e[255 & a]) + i.charCodeAt(a++);\r\n return l(e)\r\n }\r\n function l(t) {\r\n return String.fromCharCode.apply(0, t)\r\n }\r\n e.seedrandom = function(p, c, f) {\r\n var d = []\r\n , m = h(function t(e, r) {\r\n var i, a = [], s = typeof e;\r\n if (r && \"object\" == s)\r\n for (i in e)\r\n try {\r\n a.push(t(e[i], r - 1))\r\n } catch (t) {}\r\n return a.length ? a : \"string\" == s ? e : e + \"\\0\"\r\n }((c = !0 === c ? {\r\n entropy: !0\r\n } : c || {}).entropy ? [p, l(t)] : null === p ? function() {\r\n try {\r\n void 0;\r\n var e = new Uint8Array(256);\r\n return (r.crypto || r.msCrypto).getRandomValues(e),\r\n l(e)\r\n } catch (e) {\r\n var i = r.navigator\r\n , a = i && i.plugins;\r\n return [+new Date, r, a, r.screen, l(t)]\r\n }\r\n }() : p, 3), d)\r\n , u = new n(d)\r\n , y = function() {\r\n for (var t = u.g(6), e = i, r = 0; t < a; )\r\n t = 256 * (t + r),\r\n e *= 256,\r\n r = u.g(1);\r\n for (; t >= s; )\r\n t /= 2,\r\n e /= 2,\r\n r >>>= 1;\r\n return (t + r) / e\r\n };\r\n return y.int32 = function() {\r\n return 0 | u.g(4)\r\n }\r\n ,\r\n y.quick = function() {\r\n return u.g(4) / 4294967296\r\n }\r\n ,\r\n y.double = y,\r\n h(l(u.S), t),\r\n (c.pass || f || function(t, r, i, a) {\r\n return a && (a.S && o(a, u),\r\n t.state = function() {\r\n return o(u, {})\r\n }\r\n ),\r\n i ? (e.random = t,\r\n r) : t\r\n }\r\n )(y, m, \"global\"in c ? c.global : this == e, c.state)\r\n }\r\n ,\r\n h(e.random(), t)\r\n }([], BMMath);\r\n var BezierFactory = function() {\r\n var t = {\r\n getBezierEasing: function(t, r, i, a, s) {\r\n var n = s || (\"bez_\" + t + \"_\" + r + \"_\" + i + \"_\" + a).replace(/\\./g, \"p\");\r\n if (e[n])\r\n return e[n];\r\n var o = new h([t, r, i, a]);\r\n return e[n] = o,\r\n o\r\n }\r\n }\r\n , e = {};\r\n var r = \"function\" == typeof Float32Array;\r\n function i(t, e) {\r\n return 1 - 3 * e + 3 * t\r\n }\r\n function a(t, e) {\r\n return 3 * e - 6 * t\r\n }\r\n function s(t) {\r\n return 3 * t\r\n }\r\n function n(t, e, r) {\r\n return ((i(e, r) * t + a(e, r)) * t + s(e)) * t\r\n }\r\n function o(t, e, r) {\r\n return 3 * i(e, r) * t * t + 2 * a(e, r) * t + s(e)\r\n }\r\n function h(t) {\r\n this._p = t,\r\n this._mSampleValues = r ? new Float32Array(11) : new Array(11),\r\n this._precomputed = !1,\r\n this.get = this.get.bind(this)\r\n }\r\n return h.prototype = {\r\n get: function(t) {\r\n var e = this._p[0]\r\n , r = this._p[1]\r\n , i = this._p[2]\r\n , a = this._p[3];\r\n return this._precomputed || this._precompute(),\r\n e === r && i === a ? t : 0 === t ? 0 : 1 === t ? 1 : n(this._getTForX(t), r, a)\r\n },\r\n _precompute: function() {\r\n var t = this._p[0]\r\n , e = this._p[1]\r\n , r = this._p[2]\r\n , i = this._p[3];\r\n this._precomputed = !0,\r\n t === e && r === i || this._calcSampleValues()\r\n },\r\n _calcSampleValues: function() {\r\n for (var t = this._p[0], e = this._p[2], r = 0; r < 11; ++r)\r\n this._mSampleValues[r] = n(.1 * r, t, e)\r\n },\r\n _getTForX: function(t) {\r\n for (var e = this._p[0], r = this._p[2], i = this._mSampleValues, a = 0, s = 1; 10 !== s && i[s] <= t; ++s)\r\n a += .1;\r\n var h = a + .1 * ((t - i[--s]) / (i[s + 1] - i[s]))\r\n , l = o(h, e, r);\r\n return l >= .001 ? function(t, e, r, i) {\r\n for (var a = 0; a < 4; ++a) {\r\n var s = o(e, r, i);\r\n if (0 === s)\r\n return e;\r\n e -= (n(e, r, i) - t) / s\r\n }\r\n return e\r\n }(t, h, e, r) : 0 === l ? h : function(t, e, r, i, a) {\r\n var s, o, h = 0;\r\n do {\r\n (s = n(o = e + (r - e) / 2, i, a) - t) > 0 ? r = o : e = o\r\n } while (Math.abs(s) > 1e-7 && ++h < 10);\r\n return o\r\n }(t, a, a + .1, e, r)\r\n }\r\n },\r\n t\r\n }();\r\n function extendPrototype(t, e) {\r\n var r, i, a = t.length;\r\n for (r = 0; r < a; r += 1)\r\n for (var s in i = t[r].prototype)\r\n Object.prototype.hasOwnProperty.call(i, s) && (e.prototype[s] = i[s])\r\n }\r\n function getDescriptor(t, e) {\r\n return Object.getOwnPropertyDescriptor(t, e)\r\n }\r\n function createProxyFunction(t) {\r\n function e() {}\r\n return e.prototype = t,\r\n e\r\n }\r\n function bezFunction() {\r\n var t = Math;\r\n function e(t, e, r, i, a, s) {\r\n var n = t * i + e * a + r * s - a * i - s * t - r * e;\r\n return n > -.001 && n < .001\r\n }\r\n var r = function(t, e, r, i) {\r\n var a, s, n, o, h, l, p = defaultCurveSegments, c = 0, f = [], d = [], m = bezierLengthPool.newElement();\r\n for (n = r.length,\r\n a = 0; a < p; a += 1) {\r\n for (h = a / (p - 1),\r\n l = 0,\r\n s = 0; s < n; s += 1)\r\n o = bmPow(1 - h, 3) * t[s] + 3 * bmPow(1 - h, 2) * h * r[s] + 3 * (1 - h) * bmPow(h, 2) * i[s] + bmPow(h, 3) * e[s],\r\n f[s] = o,\r\n null !== d[s] && (l += bmPow(f[s] - d[s], 2)),\r\n d[s] = f[s];\r\n l && (c += l = bmSqrt(l)),\r\n m.percents[a] = h,\r\n m.lengths[a] = c\r\n }\r\n return m.addedLength = c,\r\n m\r\n };\r\n function i(t) {\r\n this.segmentLength = 0,\r\n this.points = new Array(t)\r\n }\r\n function a(t, e) {\r\n this.partialLength = t,\r\n this.point = e\r\n }\r\n var s, n = (s = {},\r\n function(t, r, n, o) {\r\n var h = (t[0] + \"_\" + t[1] + \"_\" + r[0] + \"_\" + r[1] + \"_\" + n[0] + \"_\" + n[1] + \"_\" + o[0] + \"_\" + o[1]).replace(/\\./g, \"p\");\r\n if (!s[h]) {\r\n var l, p, c, f, d, m, u, y = defaultCurveSegments, g = 0, v = null;\r\n 2 === t.length && (t[0] !== r[0] || t[1] !== r[1]) && e(t[0], t[1], r[0], r[1], t[0] + n[0], t[1] + n[1]) && e(t[0], t[1], r[0], r[1], r[0] + o[0], r[1] + o[1]) && (y = 2);\r\n var b = new i(y);\r\n for (c = n.length,\r\n l = 0; l < y; l += 1) {\r\n for (u = createSizedArray(c),\r\n d = l / (y - 1),\r\n m = 0,\r\n p = 0; p < c; p += 1)\r\n f = bmPow(1 - d, 3) * t[p] + 3 * bmPow(1 - d, 2) * d * (t[p] + n[p]) + 3 * (1 - d) * bmPow(d, 2) * (r[p] + o[p]) + bmPow(d, 3) * r[p],\r\n u[p] = f,\r\n null !== v && (m += bmPow(u[p] - v[p], 2));\r\n g += m = bmSqrt(m),\r\n b.points[l] = new a(m,u),\r\n v = u\r\n }\r\n b.segmentLength = g,\r\n s[h] = b\r\n }\r\n return s[h]\r\n }\r\n );\r\n function o(t, e) {\r\n var r = e.percents\r\n , i = e.lengths\r\n , a = r.length\r\n , s = bmFloor((a - 1) * t)\r\n , n = t * e.addedLength\r\n , o = 0;\r\n if (s === a - 1 || 0 === s || n === i[s])\r\n return r[s];\r\n for (var h = i[s] > n ? -1 : 1, l = !0; l; )\r\n if (i[s] <= n && i[s + 1] > n ? (o = (n - i[s]) / (i[s + 1] - i[s]),\r\n l = !1) : s += h,\r\n s < 0 || s >= a - 1) {\r\n if (s === a - 1)\r\n return r[s];\r\n l = !1\r\n }\r\n return r[s] + (r[s + 1] - r[s]) * o\r\n }\r\n var h = createTypedArray(\"float32\", 8);\r\n return {\r\n getSegmentsLength: function(t) {\r\n var e, i = segmentsLengthPool.newElement(), a = t.c, s = t.v, n = t.o, o = t.i, h = t._length, l = i.lengths, p = 0;\r\n for (e = 0; e < h - 1; e += 1)\r\n l[e] = r(s[e], s[e + 1], n[e], o[e + 1]),\r\n p += l[e].addedLength;\r\n return a && h && (l[e] = r(s[e], s[0], n[e], o[0]),\r\n p += l[e].addedLength),\r\n i.totalLength = p,\r\n i\r\n },\r\n getNewSegment: function(e, r, i, a, s, n, l) {\r\n s < 0 ? s = 0 : s > 1 && (s = 1);\r\n var p, c = o(s, l), f = o(n = n > 1 ? 1 : n, l), d = e.length, m = 1 - c, u = 1 - f, y = m * m * m, g = c * m * m * 3, v = c * c * m * 3, b = c * c * c, P = m * m * u, _ = c * m * u + m * c * u + m * m * f, S = c * c * u + m * c * f + c * m * f, E = c * c * f, x = m * u * u, A = c * u * u + m * f * u + m * u * f, w = c * f * u + m * f * f + c * u * f, C = c * f * f, T = u * u * u, k = f * u * u + u * f * u + u * u * f, D = f * f * u + u * f * f + f * u * f, M = f * f * f;\r\n for (p = 0; p < d; p += 1)\r\n h[4 * p] = t.round(1e3 * (y * e[p] + g * i[p] + v * a[p] + b * r[p])) / 1e3,\r\n h[4 * p + 1] = t.round(1e3 * (P * e[p] + _ * i[p] + S * a[p] + E * r[p])) / 1e3,\r\n h[4 * p + 2] = t.round(1e3 * (x * e[p] + A * i[p] + w * a[p] + C * r[p])) / 1e3,\r\n h[4 * p + 3] = t.round(1e3 * (T * e[p] + k * i[p] + D * a[p] + M * r[p])) / 1e3;\r\n return h\r\n },\r\n getPointInSegment: function(e, r, i, a, s, n) {\r\n var h = o(s, n)\r\n , l = 1 - h;\r\n return [t.round(1e3 * (l * l * l * e[0] + (h * l * l + l * h * l + l * l * h) * i[0] + (h * h * l + l * h * h + h * l * h) * a[0] + h * h * h * r[0])) / 1e3, t.round(1e3 * (l * l * l * e[1] + (h * l * l + l * h * l + l * l * h) * i[1] + (h * h * l + l * h * h + h * l * h) * a[1] + h * h * h * r[1])) / 1e3]\r\n },\r\n buildBezierData: n,\r\n pointOnLine2D: e,\r\n pointOnLine3D: function(r, i, a, s, n, o, h, l, p) {\r\n if (0 === a && 0 === o && 0 === p)\r\n return e(r, i, s, n, h, l);\r\n var c, f = t.sqrt(t.pow(s - r, 2) + t.pow(n - i, 2) + t.pow(o - a, 2)), d = t.sqrt(t.pow(h - r, 2) + t.pow(l - i, 2) + t.pow(p - a, 2)), m = t.sqrt(t.pow(h - s, 2) + t.pow(l - n, 2) + t.pow(p - o, 2));\r\n return (c = f > d ? f > m ? f - d - m : m - d - f : m > d ? m - d - f : d - f - m) > -1e-4 && c < 1e-4\r\n }\r\n }\r\n }\r\n !function() {\r\n for (var t = 0, e = [\"ms\", \"moz\", \"webkit\", \"o\"], r = 0; r < e.length && !window.requestAnimationFrame; ++r)\r\n window.requestAnimationFrame = window[e[r] + \"RequestAnimationFrame\"],\r\n window.cancelAnimationFrame = window[e[r] + \"CancelAnimationFrame\"] || window[e[r] + \"CancelRequestAnimationFrame\"];\r\n window.requestAnimationFrame || (window.requestAnimationFrame = function(e) {\r\n var r = (new Date).getTime()\r\n , i = Math.max(0, 16 - (r - t))\r\n , a = setTimeout((function() {\r\n e(r + i)\r\n }\r\n ), i);\r\n return t = r + i,\r\n a\r\n }\r\n ),\r\n window.cancelAnimationFrame || (window.cancelAnimationFrame = function(t) {\r\n clearTimeout(t)\r\n }\r\n )\r\n }();\r\n var bez = bezFunction()\r\n , dataManager = function() {\r\n var t, e, r = 1, i = [], a = {\r\n onmessage: function() {},\r\n postMessage: function(e) {\r\n t({\r\n data: e\r\n })\r\n }\r\n }, _workerSelf = {\r\n postMessage: function(t) {\r\n a.onmessage({\r\n data: t\r\n })\r\n }\r\n };\r\n function s() {\r\n e || ((e = function(e) {\r\n if (window.Worker && window.Blob && _useWebWorker) {\r\n var r = new Blob([\"var _workerSelf = self; self.onmessage = \", e.toString()],{\r\n type: \"text/javascript\"\r\n })\r\n , i = URL.createObjectURL(r);\r\n return new Worker(i)\r\n }\r\n return t = e,\r\n a\r\n }((function(t) {\r\n if (_workerSelf.dataManager || (_workerSelf.dataManager = function() {\r\n function t(a, s) {\r\n var n, o, h, l, p, f, d = a.length;\r\n for (o = 0; o < d; o += 1)\r\n if (\"ks\"in (n = a[o]) && !n.completed) {\r\n if (n.completed = !0,\r\n n.tt && (a[o - 1].td = n.tt),\r\n n.hasMask) {\r\n var m = n.masksProperties;\r\n for (l = m.length,\r\n h = 0; h < l; h += 1)\r\n if (m[h].pt.k.i)\r\n i(m[h].pt.k);\r\n else\r\n for (f = m[h].pt.k.length,\r\n p = 0; p < f; p += 1)\r\n m[h].pt.k[p].s && i(m[h].pt.k[p].s[0]),\r\n m[h].pt.k[p].e && i(m[h].pt.k[p].e[0])\r\n }\r\n 0 === n.ty ? (n.layers = e(n.refId, s),\r\n t(n.layers, s)) : 4 === n.ty ? r(n.shapes) : 5 === n.ty && c(n)\r\n }\r\n }\r\n function e(t, e) {\r\n for (var r = 0, i = e.length; r < i; ) {\r\n if (e[r].id === t)\r\n return e[r].layers.__used ? JSON.parse(JSON.stringify(e[r].layers)) : (e[r].layers.__used = !0,\r\n e[r].layers);\r\n r += 1\r\n }\r\n return null\r\n }\r\n function r(t) {\r\n var e, a, s;\r\n for (e = t.length - 1; e >= 0; e -= 1)\r\n if (\"sh\" === t[e].ty)\r\n if (t[e].ks.k.i)\r\n i(t[e].ks.k);\r\n else\r\n for (s = t[e].ks.k.length,\r\n a = 0; a < s; a += 1)\r\n t[e].ks.k[a].s && i(t[e].ks.k[a].s[0]),\r\n t[e].ks.k[a].e && i(t[e].ks.k[a].e[0]);\r\n else\r\n \"gr\" === t[e].ty && r(t[e].it)\r\n }\r\n function i(t) {\r\n var e, r = t.i.length;\r\n for (e = 0; e < r; e += 1)\r\n t.i[e][0] += t.v[e][0],\r\n t.i[e][1] += t.v[e][1],\r\n t.o[e][0] += t.v[e][0],\r\n t.o[e][1] += t.v[e][1]\r\n }\r\n function a(t, e) {\r\n var r = e ? e.split(\".\") : [100, 100, 100];\r\n return t[0] > r[0] || !(r[0] > t[0]) && (t[1] > r[1] || !(r[1] > t[1]) && (t[2] > r[2] || !(r[2] > t[2]) && null))\r\n }\r\n var s, n = function() {\r\n var t = [4, 4, 14];\r\n function e(t) {\r\n var e, r, i, a = t.length;\r\n for (e = 0; e < a; e += 1)\r\n 5 === t[e].ty && (r = t[e],\r\n i = void 0,\r\n i = r.t.d,\r\n r.t.d = {\r\n k: [{\r\n s: i,\r\n t: 0\r\n }]\r\n })\r\n }\r\n return function(r) {\r\n if (a(t, r.v) && (e(r.layers),\r\n r.assets)) {\r\n var i, s = r.assets.length;\r\n for (i = 0; i < s; i += 1)\r\n r.assets[i].layers && e(r.assets[i].layers)\r\n }\r\n }\r\n }(), o = (s = [4, 7, 99],\r\n function(t) {\r\n if (t.chars && !a(s, t.v)) {\r\n var e, r, n, o, h, l = t.chars.length;\r\n for (e = 0; e < l; e += 1)\r\n if (t.chars[e].data && t.chars[e].data.shapes)\r\n for (n = (h = t.chars[e].data.shapes[0].it).length,\r\n r = 0; r < n; r += 1)\r\n (o = h[r].ks.k).__converted || (i(h[r].ks.k),\r\n o.__converted = !0)\r\n }\r\n }\r\n ), h = function() {\r\n var t = [5, 7, 15];\r\n function e(t) {\r\n var e, r, i, a = t.length;\r\n for (e = 0; e < a; e += 1)\r\n 5 === t[e].ty && (r = t[e],\r\n i = void 0,\r\n \"number\" == typeof (i = r.t.p).a && (i.a = {\r\n a: 0,\r\n k: i.a\r\n }),\r\n \"number\" == typeof i.p && (i.p = {\r\n a: 0,\r\n k: i.p\r\n }),\r\n \"number\" == typeof i.r && (i.r = {\r\n a: 0,\r\n k: i.r\r\n }))\r\n }\r\n return function(r) {\r\n if (a(t, r.v) && (e(r.layers),\r\n r.assets)) {\r\n var i, s = r.assets.length;\r\n for (i = 0; i < s; i += 1)\r\n r.assets[i].layers && e(r.assets[i].layers)\r\n }\r\n }\r\n }(), l = function() {\r\n var t = [4, 1, 9];\r\n function e(t) {\r\n var r, i, a, s = t.length;\r\n for (r = 0; r < s; r += 1)\r\n if (\"gr\" === t[r].ty)\r\n e(t[r].it);\r\n else if (\"fl\" === t[r].ty || \"st\" === t[r].ty)\r\n if (t[r].c.k && t[r].c.k[0].i)\r\n for (a = t[r].c.k.length,\r\n i = 0; i < a; i += 1)\r\n t[r].c.k[i].s && (t[r].c.k[i].s[0] /= 255,\r\n t[r].c.k[i].s[1] /= 255,\r\n t[r].c.k[i].s[2] /= 255,\r\n t[r].c.k[i].s[3] /= 255),\r\n t[r].c.k[i].e && (t[r].c.k[i].e[0] /= 255,\r\n t[r].c.k[i].e[1] /= 255,\r\n t[r].c.k[i].e[2] /= 255,\r\n t[r].c.k[i].e[3] /= 255);\r\n else\r\n t[r].c.k[0] /= 255,\r\n t[r].c.k[1] /= 255,\r\n t[r].c.k[2] /= 255,\r\n t[r].c.k[3] /= 255\r\n }\r\n function r(t) {\r\n var r, i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n 4 === t[r].ty && e(t[r].shapes)\r\n }\r\n return function(e) {\r\n if (a(t, e.v) && (r(e.layers),\r\n e.assets)) {\r\n var i, s = e.assets.length;\r\n for (i = 0; i < s; i += 1)\r\n e.assets[i].layers && r(e.assets[i].layers)\r\n }\r\n }\r\n }(), p = function() {\r\n var t = [4, 4, 18];\r\n function e(t) {\r\n var r, i, a;\r\n for (r = t.length - 1; r >= 0; r -= 1)\r\n if (\"sh\" === t[r].ty)\r\n if (t[r].ks.k.i)\r\n t[r].ks.k.c = t[r].closed;\r\n else\r\n for (a = t[r].ks.k.length,\r\n i = 0; i < a; i += 1)\r\n t[r].ks.k[i].s && (t[r].ks.k[i].s[0].c = t[r].closed),\r\n t[r].ks.k[i].e && (t[r].ks.k[i].e[0].c = t[r].closed);\r\n else\r\n \"gr\" === t[r].ty && e(t[r].it)\r\n }\r\n function r(t) {\r\n var r, i, a, s, n, o, h = t.length;\r\n for (i = 0; i < h; i += 1) {\r\n if ((r = t[i]).hasMask) {\r\n var l = r.masksProperties;\r\n for (s = l.length,\r\n a = 0; a < s; a += 1)\r\n if (l[a].pt.k.i)\r\n l[a].pt.k.c = l[a].cl;\r\n else\r\n for (o = l[a].pt.k.length,\r\n n = 0; n < o; n += 1)\r\n l[a].pt.k[n].s && (l[a].pt.k[n].s[0].c = l[a].cl),\r\n l[a].pt.k[n].e && (l[a].pt.k[n].e[0].c = l[a].cl)\r\n }\r\n 4 === r.ty && e(r.shapes)\r\n }\r\n }\r\n return function(e) {\r\n if (a(t, e.v) && (r(e.layers),\r\n e.assets)) {\r\n var i, s = e.assets.length;\r\n for (i = 0; i < s; i += 1)\r\n e.assets[i].layers && r(e.assets[i].layers)\r\n }\r\n }\r\n }();\r\n function c(t) {\r\n 0 !== t.t.a.length || \"m\"in t.t.p || (t.singleShape = !0)\r\n }\r\n var f = {\r\n completeData: function(e) {\r\n e.__complete || (l(e),\r\n n(e),\r\n o(e),\r\n h(e),\r\n p(e),\r\n t(e.layers, e.assets),\r\n e.__complete = !0)\r\n }\r\n };\r\n return f.checkColors = l,\r\n f.checkChars = o,\r\n f.checkPathProperties = h,\r\n f.checkShapes = p,\r\n f.completeLayers = t,\r\n f\r\n }()),\r\n _workerSelf.assetLoader || (_workerSelf.assetLoader = function() {\r\n function t(t) {\r\n var e = t.getResponseHeader(\"content-type\");\r\n return e && \"json\" === t.responseType && -1 !== e.indexOf(\"json\") || t.response && \"object\" == typeof t.response ? t.response : t.response && \"string\" == typeof t.response ? JSON.parse(t.response) : t.responseText ? JSON.parse(t.responseText) : null\r\n }\r\n return {\r\n load: function(e, r, i, a) {\r\n var s, n = new XMLHttpRequest;\r\n try {\r\n n.responseType = \"json\"\r\n } catch (t) {}\r\n n.onreadystatechange = function() {\r\n if (4 === n.readyState)\r\n if (200 === n.status)\r\n s = t(n),\r\n i(s);\r\n else\r\n try {\r\n s = t(n),\r\n i(s)\r\n } catch (t) {\r\n a && a(t)\r\n }\r\n }\r\n ;\r\n try {\r\n n.open(\"GET\", e, !0)\r\n } catch (t) {\r\n n.open(\"GET\", r + \"/\" + e, !0)\r\n }\r\n n.send()\r\n }\r\n }\r\n }()),\r\n \"loadAnimation\" === t.data.type)\r\n _workerSelf.assetLoader.load(t.data.path, t.data.fullPath, (function(e) {\r\n _workerSelf.dataManager.completeData(e),\r\n _workerSelf.postMessage({\r\n id: t.data.id,\r\n payload: e,\r\n status: \"success\"\r\n })\r\n }\r\n ), (function() {\r\n _workerSelf.postMessage({\r\n id: t.data.id,\r\n status: \"error\"\r\n })\r\n }\r\n ));\r\n else if (\"complete\" === t.data.type) {\r\n var e = t.data.animation;\r\n _workerSelf.dataManager.completeData(e),\r\n _workerSelf.postMessage({\r\n id: t.data.id,\r\n payload: e,\r\n status: \"success\"\r\n })\r\n } else\r\n \"loadData\" === t.data.type && _workerSelf.assetLoader.load(t.data.path, t.data.fullPath, (function(e) {\r\n _workerSelf.postMessage({\r\n id: t.data.id,\r\n payload: e,\r\n status: \"success\"\r\n })\r\n }\r\n ), (function() {\r\n _workerSelf.postMessage({\r\n id: t.data.id,\r\n status: \"error\"\r\n })\r\n }\r\n ))\r\n }\r\n ))).onmessage = function(t) {\r\n var e = t.data\r\n , r = e.id\r\n , a = i[r];\r\n i[r] = null,\r\n \"success\" === e.status ? a.onComplete(e.payload) : a.onError && a.onError()\r\n }\r\n )\r\n }\r\n function n(t, e) {\r\n var a = \"processId_\" + (r += 1);\r\n return i[a] = {\r\n onComplete: t,\r\n onError: e\r\n },\r\n a\r\n }\r\n return {\r\n loadAnimation: function(t, r, i) {\r\n s();\r\n var a = n(r, i);\r\n e.postMessage({\r\n type: \"loadAnimation\",\r\n path: t,\r\n fullPath: window.location.origin + window.location.pathname,\r\n id: a\r\n })\r\n },\r\n loadData: function(t, r, i) {\r\n s();\r\n var a = n(r, i);\r\n e.postMessage({\r\n type: \"loadData\",\r\n path: t,\r\n fullPath: window.location.origin + window.location.pathname,\r\n id: a\r\n })\r\n },\r\n completeAnimation: function(t, r, i) {\r\n s();\r\n var a = n(r, i);\r\n e.postMessage({\r\n type: \"complete\",\r\n animation: t,\r\n id: a\r\n })\r\n }\r\n }\r\n }();\r\n function getFontProperties(t) {\r\n for (var e = t.fStyle ? t.fStyle.split(\" \") : [], r = \"normal\", i = \"normal\", a = e.length, s = 0; s < a; s += 1)\r\n switch (e[s].toLowerCase()) {\r\n case \"italic\":\r\n i = \"italic\";\r\n break;\r\n case \"bold\":\r\n r = \"700\";\r\n break;\r\n case \"black\":\r\n r = \"900\";\r\n break;\r\n case \"medium\":\r\n r = \"500\";\r\n break;\r\n case \"regular\":\r\n case \"normal\":\r\n r = \"400\";\r\n break;\r\n case \"light\":\r\n case \"thin\":\r\n r = \"200\"\r\n }\r\n return {\r\n style: i,\r\n weight: t.fWeight || r\r\n }\r\n }\r\n var FontManager = function() {\r\n var t = {\r\n w: 0,\r\n size: 0,\r\n shapes: []\r\n }\r\n , e = [];\r\n e = e.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\r\n var r = [\"d83cdffb\", \"d83cdffc\", \"d83cdffd\", \"d83cdffe\", \"d83cdfff\"]\r\n , i = [65039, 8205];\r\n function a(t, e) {\r\n var r = createTag(\"span\");\r\n r.setAttribute(\"aria-hidden\", !0),\r\n r.style.fontFamily = e;\r\n var i = createTag(\"span\");\r\n i.innerText = \"giItT1WQy@!-/#\",\r\n r.style.position = \"absolute\",\r\n r.style.left = \"-10000px\",\r\n r.style.top = \"-10000px\",\r\n r.style.fontSize = \"300px\",\r\n r.style.fontVariant = \"normal\",\r\n r.style.fontStyle = \"normal\",\r\n r.style.fontWeight = \"normal\",\r\n r.style.letterSpacing = \"0\",\r\n r.appendChild(i),\r\n document.body.appendChild(r);\r\n var a = i.offsetWidth;\r\n return i.style.fontFamily = function(t) {\r\n var e, r = t.split(\",\"), i = r.length, a = [];\r\n for (e = 0; e < i; e += 1)\r\n \"sans-serif\" !== r[e] && \"monospace\" !== r[e] && a.push(r[e]);\r\n return a.join(\",\")\r\n }(t) + \", \" + e,\r\n {\r\n node: i,\r\n w: a,\r\n parent: r\r\n }\r\n }\r\n function s(t, e) {\r\n var r = createNS(\"text\");\r\n r.style.fontSize = \"100px\";\r\n var i = getFontProperties(e);\r\n return r.setAttribute(\"font-family\", e.fFamily),\r\n r.setAttribute(\"font-style\", i.style),\r\n r.setAttribute(\"font-weight\", i.weight),\r\n r.textContent = \"1\",\r\n e.fClass ? (r.style.fontFamily = \"inherit\",\r\n r.setAttribute(\"class\", e.fClass)) : r.style.fontFamily = e.fFamily,\r\n t.appendChild(r),\r\n createTag(\"canvas\").getContext(\"2d\").font = e.fWeight + \" \" + e.fStyle + \" 100px \" + e.fFamily,\r\n r\r\n }\r\n var n = function() {\r\n this.fonts = [],\r\n this.chars = null,\r\n this.typekitLoaded = 0,\r\n this.isLoaded = !1,\r\n this._warned = !1,\r\n this.initTime = Date.now(),\r\n this.setIsLoadedBinded = this.setIsLoaded.bind(this),\r\n this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this)\r\n };\r\n return n.isModifier = function(t, e) {\r\n var i = t.toString(16) + e.toString(16);\r\n return -1 !== r.indexOf(i)\r\n }\r\n ,\r\n n.isZeroWidthJoiner = function(t, e) {\r\n return e ? t === i[0] && e === i[1] : t === i[1]\r\n }\r\n ,\r\n n.isCombinedCharacter = function(t) {\r\n return -1 !== e.indexOf(t)\r\n }\r\n ,\r\n n.prototype = {\r\n addChars: function(t) {\r\n if (t) {\r\n var e;\r\n this.chars || (this.chars = []);\r\n var r, i, a = t.length, s = this.chars.length;\r\n for (e = 0; e < a; e += 1) {\r\n for (r = 0,\r\n i = !1; r < s; )\r\n this.chars[r].style === t[e].style && this.chars[r].fFamily === t[e].fFamily && this.chars[r].ch === t[e].ch && (i = !0),\r\n r += 1;\r\n i || (this.chars.push(t[e]),\r\n s += 1)\r\n }\r\n }\r\n },\r\n addFonts: function(t, e) {\r\n if (t) {\r\n if (this.chars)\r\n return this.isLoaded = !0,\r\n void (this.fonts = t.list);\r\n var r, i = t.list, n = i.length, o = n;\r\n for (r = 0; r < n; r += 1) {\r\n var h, l, p = !0;\r\n if (i[r].loaded = !1,\r\n i[r].monoCase = a(i[r].fFamily, \"monospace\"),\r\n i[r].sansCase = a(i[r].fFamily, \"sans-serif\"),\r\n i[r].fPath) {\r\n if (\"p\" === i[r].fOrigin || 3 === i[r].origin) {\r\n if ((h = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + i[r].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + i[r].fFamily + '\"]')).length > 0 && (p = !1),\r\n p) {\r\n var c = createTag(\"style\");\r\n c.setAttribute(\"f-forigin\", i[r].fOrigin),\r\n c.setAttribute(\"f-origin\", i[r].origin),\r\n c.setAttribute(\"f-family\", i[r].fFamily),\r\n c.type = \"text/css\",\r\n c.innerText = \"@font-face {font-family: \" + i[r].fFamily + \"; font-style: normal; src: url('\" + i[r].fPath + \"');}\",\r\n e.appendChild(c)\r\n }\r\n } else if (\"g\" === i[r].fOrigin || 1 === i[r].origin) {\r\n for (h = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'),\r\n l = 0; l < h.length; l += 1)\r\n -1 !== h[l].href.indexOf(i[r].fPath) && (p = !1);\r\n if (p) {\r\n var f = createTag(\"link\");\r\n f.setAttribute(\"f-forigin\", i[r].fOrigin),\r\n f.setAttribute(\"f-origin\", i[r].origin),\r\n f.type = \"text/css\",\r\n f.rel = \"stylesheet\",\r\n f.href = i[r].fPath,\r\n document.body.appendChild(f)\r\n }\r\n } else if (\"t\" === i[r].fOrigin || 2 === i[r].origin) {\r\n for (h = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'),\r\n l = 0; l < h.length; l += 1)\r\n i[r].fPath === h[l].src && (p = !1);\r\n if (p) {\r\n var d = createTag(\"link\");\r\n d.setAttribute(\"f-forigin\", i[r].fOrigin),\r\n d.setAttribute(\"f-origin\", i[r].origin),\r\n d.setAttribute(\"rel\", \"stylesheet\"),\r\n d.setAttribute(\"href\", i[r].fPath),\r\n e.appendChild(d)\r\n }\r\n }\r\n } else\r\n i[r].loaded = !0,\r\n o -= 1;\r\n i[r].helper = s(e, i[r]),\r\n i[r].cache = {},\r\n this.fonts.push(i[r])\r\n }\r\n 0 === o ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100)\r\n } else\r\n this.isLoaded = !0\r\n },\r\n getCharData: function(e, r, i) {\r\n for (var a = 0, s = this.chars.length; a < s; ) {\r\n if (this.chars[a].ch === e && this.chars[a].style === r && this.chars[a].fFamily === i)\r\n return this.chars[a];\r\n a += 1\r\n }\r\n return (\"string\" == typeof e && 13 !== e.charCodeAt(0) || !e) && console && console.warn && !this._warned && (this._warned = !0,\r\n console.warn(\"Missing character from exported characters list: \", e, r, i)),\r\n t\r\n },\r\n getFontByName: function(t) {\r\n for (var e = 0, r = this.fonts.length; e < r; ) {\r\n if (this.fonts[e].fName === t)\r\n return this.fonts[e];\r\n e += 1\r\n }\r\n return this.fonts[0]\r\n },\r\n measureText: function(t, e, r) {\r\n var i = this.getFontByName(e)\r\n , a = t.charCodeAt(0);\r\n if (!i.cache[a + 1]) {\r\n var s = i.helper;\r\n if (\" \" === t) {\r\n s.textContent = \"|\" + t + \"|\";\r\n var n = s.getComputedTextLength();\r\n s.textContent = \"||\";\r\n var o = s.getComputedTextLength();\r\n i.cache[a + 1] = (n - o) / 100\r\n } else\r\n s.textContent = t,\r\n i.cache[a + 1] = s.getComputedTextLength() / 100\r\n }\r\n return i.cache[a + 1] * r\r\n },\r\n checkLoadedFonts: function() {\r\n var t, e, r, i = this.fonts.length, a = i;\r\n for (t = 0; t < i; t += 1)\r\n this.fonts[t].loaded ? a -= 1 : \"n\" === this.fonts[t].fOrigin || 0 === this.fonts[t].origin ? this.fonts[t].loaded = !0 : (e = this.fonts[t].monoCase.node,\r\n r = this.fonts[t].monoCase.w,\r\n e.offsetWidth !== r ? (a -= 1,\r\n this.fonts[t].loaded = !0) : (e = this.fonts[t].sansCase.node,\r\n r = this.fonts[t].sansCase.w,\r\n e.offsetWidth !== r && (a -= 1,\r\n this.fonts[t].loaded = !0)),\r\n this.fonts[t].loaded && (this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent),\r\n this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));\r\n 0 !== a && Date.now() - this.initTime < 5e3 ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10)\r\n },\r\n setIsLoaded: function() {\r\n this.isLoaded = !0\r\n }\r\n },\r\n n\r\n }()\r\n , PropertyFactory = function() {\r\n var t = initialDefaultFrame\r\n , e = Math.abs;\r\n function r(t, e) {\r\n var r, a = this.offsetTime;\r\n \"multidimensional\" === this.propType && (r = createTypedArray(\"float32\", this.pv.length));\r\n for (var s, n, o, h, l, p, c, f, d, m = e.lastIndex, u = m, y = this.keyframes.length - 1, g = !0; g; ) {\r\n if (s = this.keyframes[u],\r\n n = this.keyframes[u + 1],\r\n u === y - 1 && t >= n.t - a) {\r\n s.h && (s = n),\r\n m = 0;\r\n break\r\n }\r\n if (n.t - a > t) {\r\n m = u;\r\n break\r\n }\r\n u < y - 1 ? u += 1 : (m = 0,\r\n g = !1)\r\n }\r\n o = this.keyframesMetadata[u] || {};\r\n var v, b = n.t - a, P = s.t - a;\r\n if (s.to) {\r\n o.bezierData || (o.bezierData = bez.buildBezierData(s.s, n.s || s.e, s.to, s.ti));\r\n var _ = o.bezierData;\r\n if (t >= b || t < P) {\r\n var S = t >= b ? _.points.length - 1 : 0;\r\n for (l = _.points[S].point.length,\r\n h = 0; h < l; h += 1)\r\n r[h] = _.points[S].point[h]\r\n } else {\r\n o.__fnct ? d = o.__fnct : (d = BezierFactory.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y, s.n).get,\r\n o.__fnct = d),\r\n p = d((t - P) / (b - P));\r\n var E, x = _.segmentLength * p, A = e.lastFrame < t && e._lastKeyframeIndex === u ? e._lastAddedLength : 0;\r\n for (f = e.lastFrame < t && e._lastKeyframeIndex === u ? e._lastPoint : 0,\r\n g = !0,\r\n c = _.points.length; g; ) {\r\n if (A += _.points[f].partialLength,\r\n 0 === x || 0 === p || f === _.points.length - 1) {\r\n for (l = _.points[f].point.length,\r\n h = 0; h < l; h += 1)\r\n r[h] = _.points[f].point[h];\r\n break\r\n }\r\n if (x >= A && x < A + _.points[f + 1].partialLength) {\r\n for (E = (x - A) / _.points[f + 1].partialLength,\r\n l = _.points[f].point.length,\r\n h = 0; h < l; h += 1)\r\n r[h] = _.points[f].point[h] + (_.points[f + 1].point[h] - _.points[f].point[h]) * E;\r\n break\r\n }\r\n f < c - 1 ? f += 1 : g = !1\r\n }\r\n e._lastPoint = f,\r\n e._lastAddedLength = A - _.points[f].partialLength,\r\n e._lastKeyframeIndex = u\r\n }\r\n } else {\r\n var w, C, T, k, D;\r\n if (y = s.s.length,\r\n v = n.s || s.e,\r\n this.sh && 1 !== s.h)\r\n if (t >= b)\r\n r[0] = v[0],\r\n r[1] = v[1],\r\n r[2] = v[2];\r\n else if (t <= P)\r\n r[0] = s.s[0],\r\n r[1] = s.s[1],\r\n r[2] = s.s[2];\r\n else {\r\n !function(t, e) {\r\n var r = e[0]\r\n , i = e[1]\r\n , a = e[2]\r\n , s = e[3]\r\n , n = Math.atan2(2 * i * s - 2 * r * a, 1 - 2 * i * i - 2 * a * a)\r\n , o = Math.asin(2 * r * i + 2 * a * s)\r\n , h = Math.atan2(2 * r * s - 2 * i * a, 1 - 2 * r * r - 2 * a * a);\r\n t[0] = n / degToRads,\r\n t[1] = o / degToRads,\r\n t[2] = h / degToRads\r\n }(r, function(t, e, r) {\r\n var i, a, s, n, o, h = [], l = t[0], p = t[1], c = t[2], f = t[3], d = e[0], m = e[1], u = e[2], y = e[3];\r\n (a = l * d + p * m + c * u + f * y) < 0 && (a = -a,\r\n d = -d,\r\n m = -m,\r\n u = -u,\r\n y = -y);\r\n 1 - a > 1e-6 ? (i = Math.acos(a),\r\n s = Math.sin(i),\r\n n = Math.sin((1 - r) * i) / s,\r\n o = Math.sin(r * i) / s) : (n = 1 - r,\r\n o = r);\r\n return h[0] = n * l + o * d,\r\n h[1] = n * p + o * m,\r\n h[2] = n * c + o * u,\r\n h[3] = n * f + o * y,\r\n h\r\n }(i(s.s), i(v), (t - P) / (b - P)))\r\n }\r\n else\r\n for (u = 0; u < y; u += 1)\r\n 1 !== s.h && (t >= b ? p = 1 : t < P ? p = 0 : (s.o.x.constructor === Array ? (o.__fnct || (o.__fnct = []),\r\n o.__fnct[u] ? d = o.__fnct[u] : (w = void 0 === s.o.x[u] ? s.o.x[0] : s.o.x[u],\r\n C = void 0 === s.o.y[u] ? s.o.y[0] : s.o.y[u],\r\n T = void 0 === s.i.x[u] ? s.i.x[0] : s.i.x[u],\r\n k = void 0 === s.i.y[u] ? s.i.y[0] : s.i.y[u],\r\n d = BezierFactory.getBezierEasing(w, C, T, k).get,\r\n o.__fnct[u] = d)) : o.__fnct ? d = o.__fnct : (w = s.o.x,\r\n C = s.o.y,\r\n T = s.i.x,\r\n k = s.i.y,\r\n d = BezierFactory.getBezierEasing(w, C, T, k).get,\r\n s.keyframeMetadata = d),\r\n p = d((t - P) / (b - P)))),\r\n v = n.s || s.e,\r\n D = 1 === s.h ? s.s[u] : s.s[u] + (v[u] - s.s[u]) * p,\r\n \"multidimensional\" === this.propType ? r[u] = D : r = D\r\n }\r\n return e.lastIndex = m,\r\n r\r\n }\r\n function i(t) {\r\n var e = t[0] * degToRads\r\n , r = t[1] * degToRads\r\n , i = t[2] * degToRads\r\n , a = Math.cos(e / 2)\r\n , s = Math.cos(r / 2)\r\n , n = Math.cos(i / 2)\r\n , o = Math.sin(e / 2)\r\n , h = Math.sin(r / 2)\r\n , l = Math.sin(i / 2);\r\n return [o * h * n + a * s * l, o * s * n + a * h * l, a * h * n - o * s * l, a * s * n - o * h * l]\r\n }\r\n function a() {\r\n var e = this.comp.renderedFrame - this.offsetTime\r\n , r = this.keyframes[0].t - this.offsetTime\r\n , i = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\r\n if (!(e === this._caching.lastFrame || this._caching.lastFrame !== t && (this._caching.lastFrame >= i && e >= i || this._caching.lastFrame < r && e < r))) {\r\n this._caching.lastFrame >= e && (this._caching._lastKeyframeIndex = -1,\r\n this._caching.lastIndex = 0);\r\n var a = this.interpolateValue(e, this._caching);\r\n this.pv = a\r\n }\r\n return this._caching.lastFrame = e,\r\n this.pv\r\n }\r\n function s(t) {\r\n var r;\r\n if (\"unidimensional\" === this.propType)\r\n r = t * this.mult,\r\n e(this.v - r) > 1e-5 && (this.v = r,\r\n this._mdf = !0);\r\n else\r\n for (var i = 0, a = this.v.length; i < a; )\r\n r = t[i] * this.mult,\r\n e(this.v[i] - r) > 1e-5 && (this.v[i] = r,\r\n this._mdf = !0),\r\n i += 1\r\n }\r\n function n() {\r\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length)\r\n if (this.lock)\r\n this.setVValue(this.pv);\r\n else {\r\n var t;\r\n this.lock = !0,\r\n this._mdf = this._isFirstFrame;\r\n var e = this.effectsSequence.length\r\n , r = this.kf ? this.pv : this.data.k;\r\n for (t = 0; t < e; t += 1)\r\n r = this.effectsSequence[t](r);\r\n this.setVValue(r),\r\n this._isFirstFrame = !1,\r\n this.lock = !1,\r\n this.frameId = this.elem.globalData.frameId\r\n }\r\n }\r\n function o(t) {\r\n this.effectsSequence.push(t),\r\n this.container.addDynamicProperty(this)\r\n }\r\n function h(t, e, r, i) {\r\n this.propType = \"unidimensional\",\r\n this.mult = r || 1,\r\n this.data = e,\r\n this.v = r ? e.k * r : e.k,\r\n this.pv = e.k,\r\n this._mdf = !1,\r\n this.elem = t,\r\n this.container = i,\r\n this.comp = t.comp,\r\n this.k = !1,\r\n this.kf = !1,\r\n this.vel = 0,\r\n this.effectsSequence = [],\r\n this._isFirstFrame = !0,\r\n this.getValue = n,\r\n this.setVValue = s,\r\n this.addEffect = o\r\n }\r\n function l(t, e, r, i) {\r\n var a;\r\n this.propType = \"multidimensional\",\r\n this.mult = r || 1,\r\n this.data = e,\r\n this._mdf = !1,\r\n this.elem = t,\r\n this.container = i,\r\n this.comp = t.comp,\r\n this.k = !1,\r\n this.kf = !1,\r\n this.frameId = -1;\r\n var h = e.k.length;\r\n for (this.v = createTypedArray(\"float32\", h),\r\n this.pv = createTypedArray(\"float32\", h),\r\n this.vel = createTypedArray(\"float32\", h),\r\n a = 0; a < h; a += 1)\r\n this.v[a] = e.k[a] * this.mult,\r\n this.pv[a] = e.k[a];\r\n this._isFirstFrame = !0,\r\n this.effectsSequence = [],\r\n this.getValue = n,\r\n this.setVValue = s,\r\n this.addEffect = o\r\n }\r\n function p(e, i, h, l) {\r\n this.propType = \"unidimensional\",\r\n this.keyframes = i.k,\r\n this.keyframesMetadata = [],\r\n this.offsetTime = e.data.st,\r\n this.frameId = -1,\r\n this._caching = {\r\n lastFrame: t,\r\n lastIndex: 0,\r\n value: 0,\r\n _lastKeyframeIndex: -1\r\n },\r\n this.k = !0,\r\n this.kf = !0,\r\n this.data = i,\r\n this.mult = h || 1,\r\n this.elem = e,\r\n this.container = l,\r\n this.comp = e.comp,\r\n this.v = t,\r\n this.pv = t,\r\n this._isFirstFrame = !0,\r\n this.getValue = n,\r\n this.setVValue = s,\r\n this.interpolateValue = r,\r\n this.effectsSequence = [a.bind(this)],\r\n this.addEffect = o\r\n }\r\n function c(e, i, h, l) {\r\n var p;\r\n this.propType = \"multidimensional\";\r\n var c, f, d, m, u = i.k.length;\r\n for (p = 0; p < u - 1; p += 1)\r\n i.k[p].to && i.k[p].s && i.k[p + 1] && i.k[p + 1].s && (c = i.k[p].s,\r\n f = i.k[p + 1].s,\r\n d = i.k[p].to,\r\n m = i.k[p].ti,\r\n (2 === c.length && (c[0] !== f[0] || c[1] !== f[1]) && bez.pointOnLine2D(c[0], c[1], f[0], f[1], c[0] + d[0], c[1] + d[1]) && bez.pointOnLine2D(c[0], c[1], f[0], f[1], f[0] + m[0], f[1] + m[1]) || 3 === c.length && (c[0] !== f[0] || c[1] !== f[1] || c[2] !== f[2]) && bez.pointOnLine3D(c[0], c[1], c[2], f[0], f[1], f[2], c[0] + d[0], c[1] + d[1], c[2] + d[2]) && bez.pointOnLine3D(c[0], c[1], c[2], f[0], f[1], f[2], f[0] + m[0], f[1] + m[1], f[2] + m[2])) && (i.k[p].to = null,\r\n i.k[p].ti = null),\r\n c[0] === f[0] && c[1] === f[1] && 0 === d[0] && 0 === d[1] && 0 === m[0] && 0 === m[1] && (2 === c.length || c[2] === f[2] && 0 === d[2] && 0 === m[2]) && (i.k[p].to = null,\r\n i.k[p].ti = null));\r\n this.effectsSequence = [a.bind(this)],\r\n this.data = i,\r\n this.keyframes = i.k,\r\n this.keyframesMetadata = [],\r\n this.offsetTime = e.data.st,\r\n this.k = !0,\r\n this.kf = !0,\r\n this._isFirstFrame = !0,\r\n this.mult = h || 1,\r\n this.elem = e,\r\n this.container = l,\r\n this.comp = e.comp,\r\n this.getValue = n,\r\n this.setVValue = s,\r\n this.interpolateValue = r,\r\n this.frameId = -1;\r\n var y = i.k[0].s.length;\r\n for (this.v = createTypedArray(\"float32\", y),\r\n this.pv = createTypedArray(\"float32\", y),\r\n p = 0; p < y; p += 1)\r\n this.v[p] = t,\r\n this.pv[p] = t;\r\n this._caching = {\r\n lastFrame: t,\r\n lastIndex: 0,\r\n value: createTypedArray(\"float32\", y)\r\n },\r\n this.addEffect = o\r\n }\r\n return {\r\n getProp: function(t, e, r, i, a) {\r\n var s;\r\n if (e.k.length)\r\n if (\"number\" == typeof e.k[0])\r\n s = new l(t,e,i,a);\r\n else\r\n switch (r) {\r\n case 0:\r\n s = new p(t,e,i,a);\r\n break;\r\n case 1:\r\n s = new c(t,e,i,a)\r\n }\r\n else\r\n s = new h(t,e,i,a);\r\n return s.effectsSequence.length && a.addDynamicProperty(s),\r\n s\r\n }\r\n }\r\n }()\r\n , TransformPropertyFactory = function() {\r\n var t = [0, 0];\r\n function e(t, e, r) {\r\n if (this.elem = t,\r\n this.frameId = -1,\r\n this.propType = \"transform\",\r\n this.data = e,\r\n this.v = new Matrix,\r\n this.pre = new Matrix,\r\n this.appliedTransformations = 0,\r\n this.initDynamicPropertyContainer(r || t),\r\n e.p && e.p.s ? (this.px = PropertyFactory.getProp(t, e.p.x, 0, 0, this),\r\n this.py = PropertyFactory.getProp(t, e.p.y, 0, 0, this),\r\n e.p.z && (this.pz = PropertyFactory.getProp(t, e.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(t, e.p || {\r\n k: [0, 0, 0]\r\n }, 1, 0, this),\r\n e.rx) {\r\n if (this.rx = PropertyFactory.getProp(t, e.rx, 0, degToRads, this),\r\n this.ry = PropertyFactory.getProp(t, e.ry, 0, degToRads, this),\r\n this.rz = PropertyFactory.getProp(t, e.rz, 0, degToRads, this),\r\n e.or.k[0].ti) {\r\n var i, a = e.or.k.length;\r\n for (i = 0; i < a; i += 1)\r\n e.or.k[i].to = null,\r\n e.or.k[i].ti = null\r\n }\r\n this.or = PropertyFactory.getProp(t, e.or, 1, degToRads, this),\r\n this.or.sh = !0\r\n } else\r\n this.r = PropertyFactory.getProp(t, e.r || {\r\n k: 0\r\n }, 0, degToRads, this);\r\n e.sk && (this.sk = PropertyFactory.getProp(t, e.sk, 0, degToRads, this),\r\n this.sa = PropertyFactory.getProp(t, e.sa, 0, degToRads, this)),\r\n this.a = PropertyFactory.getProp(t, e.a || {\r\n k: [0, 0, 0]\r\n }, 1, 0, this),\r\n this.s = PropertyFactory.getProp(t, e.s || {\r\n k: [100, 100, 100]\r\n }, 1, .01, this),\r\n e.o ? this.o = PropertyFactory.getProp(t, e.o, 0, .01, t) : this.o = {\r\n _mdf: !1,\r\n v: 1\r\n },\r\n this._isDirty = !0,\r\n this.dynamicProperties.length || this.getValue(!0)\r\n }\r\n return e.prototype = {\r\n applyToMatrix: function(t) {\r\n var e = this._mdf;\r\n this.iterateDynamicProperties(),\r\n this._mdf = this._mdf || e,\r\n this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\r\n this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\r\n this.sk && t.skewFromAxis(-this.sk.v, this.sa.v),\r\n this.r ? t.rotate(-this.r.v) : t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),\r\n this.data.p.s ? this.data.p.z ? t.translate(this.px.v, this.py.v, -this.pz.v) : t.translate(this.px.v, this.py.v, 0) : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2])\r\n },\r\n getValue: function(e) {\r\n if (this.elem.globalData.frameId !== this.frameId) {\r\n if (this._isDirty && (this.precalculateMatrix(),\r\n this._isDirty = !1),\r\n this.iterateDynamicProperties(),\r\n this._mdf || e) {\r\n var r;\r\n if (this.v.cloneFromProps(this.pre.props),\r\n this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\r\n this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\r\n this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v),\r\n this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),\r\n this.autoOriented) {\r\n var i, a;\r\n if (r = this.elem.globalData.frameRate,\r\n this.p && this.p.keyframes && this.p.getValueAtTime)\r\n this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (i = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / r, 0),\r\n a = this.p.getValueAtTime(this.p.keyframes[0].t / r, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (i = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / r, 0),\r\n a = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / r, 0)) : (i = this.p.pv,\r\n a = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / r, this.p.offsetTime));\r\n else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\r\n i = [],\r\n a = [];\r\n var s = this.px\r\n , n = this.py;\r\n s._caching.lastFrame + s.offsetTime <= s.keyframes[0].t ? (i[0] = s.getValueAtTime((s.keyframes[0].t + .01) / r, 0),\r\n i[1] = n.getValueAtTime((n.keyframes[0].t + .01) / r, 0),\r\n a[0] = s.getValueAtTime(s.keyframes[0].t / r, 0),\r\n a[1] = n.getValueAtTime(n.keyframes[0].t / r, 0)) : s._caching.lastFrame + s.offsetTime >= s.keyframes[s.keyframes.length - 1].t ? (i[0] = s.getValueAtTime(s.keyframes[s.keyframes.length - 1].t / r, 0),\r\n i[1] = n.getValueAtTime(n.keyframes[n.keyframes.length - 1].t / r, 0),\r\n a[0] = s.getValueAtTime((s.keyframes[s.keyframes.length - 1].t - .01) / r, 0),\r\n a[1] = n.getValueAtTime((n.keyframes[n.keyframes.length - 1].t - .01) / r, 0)) : (i = [s.pv, n.pv],\r\n a[0] = s.getValueAtTime((s._caching.lastFrame + s.offsetTime - .01) / r, s.offsetTime),\r\n a[1] = n.getValueAtTime((n._caching.lastFrame + n.offsetTime - .01) / r, n.offsetTime))\r\n } else\r\n i = a = t;\r\n this.v.rotate(-Math.atan2(i[1] - a[1], i[0] - a[0]))\r\n }\r\n this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2])\r\n }\r\n this.frameId = this.elem.globalData.frameId\r\n }\r\n },\r\n precalculateMatrix: function() {\r\n if (!this.a.k && (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\r\n this.appliedTransformations = 1,\r\n !this.s.effectsSequence.length)) {\r\n if (this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\r\n this.appliedTransformations = 2,\r\n this.sk) {\r\n if (this.sk.effectsSequence.length || this.sa.effectsSequence.length)\r\n return;\r\n this.pre.skewFromAxis(-this.sk.v, this.sa.v),\r\n this.appliedTransformations = 3\r\n }\r\n this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v),\r\n this.appliedTransformations = 4) : this.rz.effectsSequence.length || this.ry.effectsSequence.length || this.rx.effectsSequence.length || this.or.effectsSequence.length || (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),\r\n this.appliedTransformations = 4)\r\n }\r\n },\r\n autoOrient: function() {}\r\n },\r\n extendPrototype([DynamicPropertyContainer], e),\r\n e.prototype.addDynamicProperty = function(t) {\r\n this._addDynamicProperty(t),\r\n this.elem.addDynamicProperty(t),\r\n this._isDirty = !0\r\n }\r\n ,\r\n e.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty,\r\n {\r\n getTransformProperty: function(t, r, i) {\r\n return new e(t,r,i)\r\n }\r\n }\r\n }();\r\n function ShapePath() {\r\n this.c = !1,\r\n this._length = 0,\r\n this._maxLength = 8,\r\n this.v = createSizedArray(this._maxLength),\r\n this.o = createSizedArray(this._maxLength),\r\n this.i = createSizedArray(this._maxLength)\r\n }\r\n ShapePath.prototype.setPathData = function(t, e) {\r\n this.c = t,\r\n this.setLength(e);\r\n for (var r = 0; r < e; )\r\n this.v[r] = pointPool.newElement(),\r\n this.o[r] = pointPool.newElement(),\r\n this.i[r] = pointPool.newElement(),\r\n r += 1\r\n }\r\n ,\r\n ShapePath.prototype.setLength = function(t) {\r\n for (; this._maxLength < t; )\r\n this.doubleArrayLength();\r\n this._length = t\r\n }\r\n ,\r\n ShapePath.prototype.doubleArrayLength = function() {\r\n this.v = this.v.concat(createSizedArray(this._maxLength)),\r\n this.i = this.i.concat(createSizedArray(this._maxLength)),\r\n this.o = this.o.concat(createSizedArray(this._maxLength)),\r\n this._maxLength *= 2\r\n }\r\n ,\r\n ShapePath.prototype.setXYAt = function(t, e, r, i, a) {\r\n var s;\r\n switch (this._length = Math.max(this._length, i + 1),\r\n this._length >= this._maxLength && this.doubleArrayLength(),\r\n r) {\r\n case \"v\":\r\n s = this.v;\r\n break;\r\n case \"i\":\r\n s = this.i;\r\n break;\r\n case \"o\":\r\n s = this.o;\r\n break;\r\n default:\r\n s = []\r\n }\r\n (!s[i] || s[i] && !a) && (s[i] = pointPool.newElement()),\r\n s[i][0] = t,\r\n s[i][1] = e\r\n }\r\n ,\r\n ShapePath.prototype.setTripleAt = function(t, e, r, i, a, s, n, o) {\r\n this.setXYAt(t, e, \"v\", n, o),\r\n this.setXYAt(r, i, \"o\", n, o),\r\n this.setXYAt(a, s, \"i\", n, o)\r\n }\r\n ,\r\n ShapePath.prototype.reverse = function() {\r\n var t = new ShapePath;\r\n t.setPathData(this.c, this._length);\r\n var e = this.v\r\n , r = this.o\r\n , i = this.i\r\n , a = 0;\r\n this.c && (t.setTripleAt(e[0][0], e[0][1], i[0][0], i[0][1], r[0][0], r[0][1], 0, !1),\r\n a = 1);\r\n var s, n = this._length - 1, o = this._length;\r\n for (s = a; s < o; s += 1)\r\n t.setTripleAt(e[n][0], e[n][1], i[n][0], i[n][1], r[n][0], r[n][1], s, !1),\r\n n -= 1;\r\n return t\r\n }\r\n ;\r\n var ShapePropertyFactory = function() {\r\n function t(t, e, r) {\r\n var i, a, s, n, o, h, l, p, c, f = r.lastIndex, d = this.keyframes;\r\n if (t < d[0].t - this.offsetTime)\r\n i = d[0].s[0],\r\n s = !0,\r\n f = 0;\r\n else if (t >= d[d.length - 1].t - this.offsetTime)\r\n i = d[d.length - 1].s ? d[d.length - 1].s[0] : d[d.length - 2].e[0],\r\n s = !0;\r\n else {\r\n for (var m, u, y, g = f, v = d.length - 1, b = !0; b && (m = d[g],\r\n !((u = d[g + 1]).t - this.offsetTime > t)); )\r\n g < v - 1 ? g += 1 : b = !1;\r\n if (y = this.keyframesMetadata[g] || {},\r\n f = g,\r\n !(s = 1 === m.h)) {\r\n if (t >= u.t - this.offsetTime)\r\n p = 1;\r\n else if (t < m.t - this.offsetTime)\r\n p = 0;\r\n else {\r\n var P;\r\n y.__fnct ? P = y.__fnct : (P = BezierFactory.getBezierEasing(m.o.x, m.o.y, m.i.x, m.i.y).get,\r\n y.__fnct = P),\r\n p = P((t - (m.t - this.offsetTime)) / (u.t - this.offsetTime - (m.t - this.offsetTime)))\r\n }\r\n a = u.s ? u.s[0] : m.e[0]\r\n }\r\n i = m.s[0]\r\n }\r\n for (h = e._length,\r\n l = i.i[0].length,\r\n r.lastIndex = f,\r\n n = 0; n < h; n += 1)\r\n for (o = 0; o < l; o += 1)\r\n c = s ? i.i[n][o] : i.i[n][o] + (a.i[n][o] - i.i[n][o]) * p,\r\n e.i[n][o] = c,\r\n c = s ? i.o[n][o] : i.o[n][o] + (a.o[n][o] - i.o[n][o]) * p,\r\n e.o[n][o] = c,\r\n c = s ? i.v[n][o] : i.v[n][o] + (a.v[n][o] - i.v[n][o]) * p,\r\n e.v[n][o] = c\r\n }\r\n function e() {\r\n var t = this.comp.renderedFrame - this.offsetTime\r\n , e = this.keyframes[0].t - this.offsetTime\r\n , r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime\r\n , i = this._caching.lastFrame;\r\n return -999999 !== i && (i < e && t < e || i > r && t > r) || (this._caching.lastIndex = i < t ? this._caching.lastIndex : 0,\r\n this.interpolateShape(t, this.pv, this._caching)),\r\n this._caching.lastFrame = t,\r\n this.pv\r\n }\r\n function r() {\r\n this.paths = this.localShapeCollection\r\n }\r\n function i(t) {\r\n (function(t, e) {\r\n if (t._length !== e._length || t.c !== e.c)\r\n return !1;\r\n var r, i = t._length;\r\n for (r = 0; r < i; r += 1)\r\n if (t.v[r][0] !== e.v[r][0] || t.v[r][1] !== e.v[r][1] || t.o[r][0] !== e.o[r][0] || t.o[r][1] !== e.o[r][1] || t.i[r][0] !== e.i[r][0] || t.i[r][1] !== e.i[r][1])\r\n return !1;\r\n return !0\r\n }\r\n )(this.v, t) || (this.v = shapePool.clone(t),\r\n this.localShapeCollection.releaseShapes(),\r\n this.localShapeCollection.addShape(this.v),\r\n this._mdf = !0,\r\n this.paths = this.localShapeCollection)\r\n }\r\n function a() {\r\n if (this.elem.globalData.frameId !== this.frameId)\r\n if (this.effectsSequence.length)\r\n if (this.lock)\r\n this.setVValue(this.pv);\r\n else {\r\n var t, e;\r\n this.lock = !0,\r\n this._mdf = !1,\r\n t = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k;\r\n var r = this.effectsSequence.length;\r\n for (e = 0; e < r; e += 1)\r\n t = this.effectsSequence[e](t);\r\n this.setVValue(t),\r\n this.lock = !1,\r\n this.frameId = this.elem.globalData.frameId\r\n }\r\n else\r\n this._mdf = !1\r\n }\r\n function s(t, e, i) {\r\n this.propType = \"shape\",\r\n this.comp = t.comp,\r\n this.container = t,\r\n this.elem = t,\r\n this.data = e,\r\n this.k = !1,\r\n this.kf = !1,\r\n this._mdf = !1;\r\n var a = 3 === i ? e.pt.k : e.ks.k;\r\n this.v = shapePool.clone(a),\r\n this.pv = shapePool.clone(this.v),\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection(),\r\n this.paths = this.localShapeCollection,\r\n this.paths.addShape(this.v),\r\n this.reset = r,\r\n this.effectsSequence = []\r\n }\r\n function n(t) {\r\n this.effectsSequence.push(t),\r\n this.container.addDynamicProperty(this)\r\n }\r\n function o(t, i, a) {\r\n this.propType = \"shape\",\r\n this.comp = t.comp,\r\n this.elem = t,\r\n this.container = t,\r\n this.offsetTime = t.data.st,\r\n this.keyframes = 3 === a ? i.pt.k : i.ks.k,\r\n this.keyframesMetadata = [],\r\n this.k = !0,\r\n this.kf = !0;\r\n var s = this.keyframes[0].s[0].i.length;\r\n this.v = shapePool.newElement(),\r\n this.v.setPathData(this.keyframes[0].s[0].c, s),\r\n this.pv = shapePool.clone(this.v),\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection(),\r\n this.paths = this.localShapeCollection,\r\n this.paths.addShape(this.v),\r\n this.lastFrame = -999999,\r\n this.reset = r,\r\n this._caching = {\r\n lastFrame: -999999,\r\n lastIndex: 0\r\n },\r\n this.effectsSequence = [e.bind(this)]\r\n }\r\n s.prototype.interpolateShape = t,\r\n s.prototype.getValue = a,\r\n s.prototype.setVValue = i,\r\n s.prototype.addEffect = n,\r\n o.prototype.getValue = a,\r\n o.prototype.interpolateShape = t,\r\n o.prototype.setVValue = i,\r\n o.prototype.addEffect = n;\r\n var h = function() {\r\n var t = roundCorner;\r\n function e(t, e) {\r\n this.v = shapePool.newElement(),\r\n this.v.setPathData(!0, 4),\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection(),\r\n this.paths = this.localShapeCollection,\r\n this.localShapeCollection.addShape(this.v),\r\n this.d = e.d,\r\n this.elem = t,\r\n this.comp = t.comp,\r\n this.frameId = -1,\r\n this.initDynamicPropertyContainer(t),\r\n this.p = PropertyFactory.getProp(t, e.p, 1, 0, this),\r\n this.s = PropertyFactory.getProp(t, e.s, 1, 0, this),\r\n this.dynamicProperties.length ? this.k = !0 : (this.k = !1,\r\n this.convertEllToPath())\r\n }\r\n return e.prototype = {\r\n reset: r,\r\n getValue: function() {\r\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId,\r\n this.iterateDynamicProperties(),\r\n this._mdf && this.convertEllToPath())\r\n },\r\n convertEllToPath: function() {\r\n var e = this.p.v[0]\r\n , r = this.p.v[1]\r\n , i = this.s.v[0] / 2\r\n , a = this.s.v[1] / 2\r\n , s = 3 !== this.d\r\n , n = this.v;\r\n n.v[0][0] = e,\r\n n.v[0][1] = r - a,\r\n n.v[1][0] = s ? e + i : e - i,\r\n n.v[1][1] = r,\r\n n.v[2][0] = e,\r\n n.v[2][1] = r + a,\r\n n.v[3][0] = s ? e - i : e + i,\r\n n.v[3][1] = r,\r\n n.i[0][0] = s ? e - i * t : e + i * t,\r\n n.i[0][1] = r - a,\r\n n.i[1][0] = s ? e + i : e - i,\r\n n.i[1][1] = r - a * t,\r\n n.i[2][0] = s ? e + i * t : e - i * t,\r\n n.i[2][1] = r + a,\r\n n.i[3][0] = s ? e - i : e + i,\r\n n.i[3][1] = r + a * t,\r\n n.o[0][0] = s ? e + i * t : e - i * t,\r\n n.o[0][1] = r - a,\r\n n.o[1][0] = s ? e + i : e - i,\r\n n.o[1][1] = r + a * t,\r\n n.o[2][0] = s ? e - i * t : e + i * t,\r\n n.o[2][1] = r + a,\r\n n.o[3][0] = s ? e - i : e + i,\r\n n.o[3][1] = r - a * t\r\n }\r\n },\r\n extendPrototype([DynamicPropertyContainer], e),\r\n e\r\n }()\r\n , l = function() {\r\n function t(t, e) {\r\n this.v = shapePool.newElement(),\r\n this.v.setPathData(!0, 0),\r\n this.elem = t,\r\n this.comp = t.comp,\r\n this.data = e,\r\n this.frameId = -1,\r\n this.d = e.d,\r\n this.initDynamicPropertyContainer(t),\r\n 1 === e.sy ? (this.ir = PropertyFactory.getProp(t, e.ir, 0, 0, this),\r\n this.is = PropertyFactory.getProp(t, e.is, 0, .01, this),\r\n this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath,\r\n this.pt = PropertyFactory.getProp(t, e.pt, 0, 0, this),\r\n this.p = PropertyFactory.getProp(t, e.p, 1, 0, this),\r\n this.r = PropertyFactory.getProp(t, e.r, 0, degToRads, this),\r\n this.or = PropertyFactory.getProp(t, e.or, 0, 0, this),\r\n this.os = PropertyFactory.getProp(t, e.os, 0, .01, this),\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection(),\r\n this.localShapeCollection.addShape(this.v),\r\n this.paths = this.localShapeCollection,\r\n this.dynamicProperties.length ? this.k = !0 : (this.k = !1,\r\n this.convertToPath())\r\n }\r\n return t.prototype = {\r\n reset: r,\r\n getValue: function() {\r\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId,\r\n this.iterateDynamicProperties(),\r\n this._mdf && this.convertToPath())\r\n },\r\n convertStarToPath: function() {\r\n var t, e, r, i, a = 2 * Math.floor(this.pt.v), s = 2 * Math.PI / a, n = !0, o = this.or.v, h = this.ir.v, l = this.os.v, p = this.is.v, c = 2 * Math.PI * o / (2 * a), f = 2 * Math.PI * h / (2 * a), d = -Math.PI / 2;\r\n d += this.r.v;\r\n var m = 3 === this.data.d ? -1 : 1;\r\n for (this.v._length = 0,\r\n t = 0; t < a; t += 1) {\r\n r = n ? l : p,\r\n i = n ? c : f;\r\n var u = (e = n ? o : h) * Math.cos(d)\r\n , y = e * Math.sin(d)\r\n , g = 0 === u && 0 === y ? 0 : y / Math.sqrt(u * u + y * y)\r\n , v = 0 === u && 0 === y ? 0 : -u / Math.sqrt(u * u + y * y);\r\n u += +this.p.v[0],\r\n y += +this.p.v[1],\r\n this.v.setTripleAt(u, y, u - g * i * r * m, y - v * i * r * m, u + g * i * r * m, y + v * i * r * m, t, !0),\r\n n = !n,\r\n d += s * m\r\n }\r\n },\r\n convertPolygonToPath: function() {\r\n var t, e = Math.floor(this.pt.v), r = 2 * Math.PI / e, i = this.or.v, a = this.os.v, s = 2 * Math.PI * i / (4 * e), n = .5 * -Math.PI, o = 3 === this.data.d ? -1 : 1;\r\n for (n += this.r.v,\r\n this.v._length = 0,\r\n t = 0; t < e; t += 1) {\r\n var h = i * Math.cos(n)\r\n , l = i * Math.sin(n)\r\n , p = 0 === h && 0 === l ? 0 : l / Math.sqrt(h * h + l * l)\r\n , c = 0 === h && 0 === l ? 0 : -h / Math.sqrt(h * h + l * l);\r\n h += +this.p.v[0],\r\n l += +this.p.v[1],\r\n this.v.setTripleAt(h, l, h - p * s * a * o, l - c * s * a * o, h + p * s * a * o, l + c * s * a * o, t, !0),\r\n n += r * o\r\n }\r\n this.paths.length = 0,\r\n this.paths[0] = this.v\r\n }\r\n },\r\n extendPrototype([DynamicPropertyContainer], t),\r\n t\r\n }()\r\n , p = function() {\r\n function t(t, e) {\r\n this.v = shapePool.newElement(),\r\n this.v.c = !0,\r\n this.localShapeCollection = shapeCollectionPool.newShapeCollection(),\r\n this.localShapeCollection.addShape(this.v),\r\n this.paths = this.localShapeCollection,\r\n this.elem = t,\r\n this.comp = t.comp,\r\n this.frameId = -1,\r\n this.d = e.d,\r\n this.initDynamicPropertyContainer(t),\r\n this.p = PropertyFactory.getProp(t, e.p, 1, 0, this),\r\n this.s = PropertyFactory.getProp(t, e.s, 1, 0, this),\r\n this.r = PropertyFactory.getProp(t, e.r, 0, 0, this),\r\n this.dynamicProperties.length ? this.k = !0 : (this.k = !1,\r\n this.convertRectToPath())\r\n }\r\n return t.prototype = {\r\n convertRectToPath: function() {\r\n var t = this.p.v[0]\r\n , e = this.p.v[1]\r\n , r = this.s.v[0] / 2\r\n , i = this.s.v[1] / 2\r\n , a = bmMin(r, i, this.r.v)\r\n , s = a * (1 - roundCorner);\r\n this.v._length = 0,\r\n 2 === this.d || 1 === this.d ? (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + a, t + r, e - i + s, 0, !0),\r\n this.v.setTripleAt(t + r, e + i - a, t + r, e + i - s, t + r, e + i - a, 1, !0),\r\n 0 !== a ? (this.v.setTripleAt(t + r - a, e + i, t + r - a, e + i, t + r - s, e + i, 2, !0),\r\n this.v.setTripleAt(t - r + a, e + i, t - r + s, e + i, t - r + a, e + i, 3, !0),\r\n this.v.setTripleAt(t - r, e + i - a, t - r, e + i - a, t - r, e + i - s, 4, !0),\r\n this.v.setTripleAt(t - r, e - i + a, t - r, e - i + s, t - r, e - i + a, 5, !0),\r\n this.v.setTripleAt(t - r + a, e - i, t - r + a, e - i, t - r + s, e - i, 6, !0),\r\n this.v.setTripleAt(t + r - a, e - i, t + r - s, e - i, t + r - a, e - i, 7, !0)) : (this.v.setTripleAt(t - r, e + i, t - r + s, e + i, t - r, e + i, 2),\r\n this.v.setTripleAt(t - r, e - i, t - r, e - i + s, t - r, e - i, 3))) : (this.v.setTripleAt(t + r, e - i + a, t + r, e - i + s, t + r, e - i + a, 0, !0),\r\n 0 !== a ? (this.v.setTripleAt(t + r - a, e - i, t + r - a, e - i, t + r - s, e - i, 1, !0),\r\n this.v.setTripleAt(t - r + a, e - i, t - r + s, e - i, t - r + a, e - i, 2, !0),\r\n this.v.setTripleAt(t - r, e - i + a, t - r, e - i + a, t - r, e - i + s, 3, !0),\r\n this.v.setTripleAt(t - r, e + i - a, t - r, e + i - s, t - r, e + i - a, 4, !0),\r\n this.v.setTripleAt(t - r + a, e + i, t - r + a, e + i, t - r + s, e + i, 5, !0),\r\n this.v.setTripleAt(t + r - a, e + i, t + r - s, e + i, t + r - a, e + i, 6, !0),\r\n this.v.setTripleAt(t + r, e + i - a, t + r, e + i - a, t + r, e + i - s, 7, !0)) : (this.v.setTripleAt(t - r, e - i, t - r + s, e - i, t - r, e - i, 1, !0),\r\n this.v.setTripleAt(t - r, e + i, t - r, e + i - s, t - r, e + i, 2, !0),\r\n this.v.setTripleAt(t + r, e + i, t + r - s, e + i, t + r, e + i, 3, !0)))\r\n },\r\n getValue: function() {\r\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId,\r\n this.iterateDynamicProperties(),\r\n this._mdf && this.convertRectToPath())\r\n },\r\n reset: r\r\n },\r\n extendPrototype([DynamicPropertyContainer], t),\r\n t\r\n }();\r\n var c = {\r\n getShapeProp: function(t, e, r) {\r\n var i;\r\n return 3 === r || 4 === r ? i = (3 === r ? e.pt : e.ks).k.length ? new o(t,e,r) : new s(t,e,r) : 5 === r ? i = new p(t,e) : 6 === r ? i = new h(t,e) : 7 === r && (i = new l(t,e)),\r\n i.k && t.addDynamicProperty(i),\r\n i\r\n },\r\n getConstructorFunction: function() {\r\n return s\r\n },\r\n getKeyframedConstructorFunction: function() {\r\n return o\r\n }\r\n };\r\n return c\r\n }(), ShapeModifiers = (ob = {},\r\n modifiers = {},\r\n ob.registerModifier = function(t, e) {\r\n modifiers[t] || (modifiers[t] = e)\r\n }\r\n ,\r\n ob.getModifier = function(t, e, r) {\r\n return new modifiers[t](e,r)\r\n }\r\n ,\r\n ob), ob, modifiers;\r\n function ShapeModifier() {}\r\n function TrimModifier() {}\r\n function RoundCornersModifier() {}\r\n function PuckerAndBloatModifier() {}\r\n function RepeaterModifier() {}\r\n function ShapeCollection() {\r\n this._length = 0,\r\n this._maxLength = 4,\r\n this.shapes = createSizedArray(this._maxLength)\r\n }\r\n function DashProperty(t, e, r, i) {\r\n var a;\r\n this.elem = t,\r\n this.frameId = -1,\r\n this.dataProps = createSizedArray(e.length),\r\n this.renderer = r,\r\n this.k = !1,\r\n this.dashStr = \"\",\r\n this.dashArray = createTypedArray(\"float32\", e.length ? e.length - 1 : 0),\r\n this.dashoffset = createTypedArray(\"float32\", 1),\r\n this.initDynamicPropertyContainer(i);\r\n var s, n = e.length || 0;\r\n for (a = 0; a < n; a += 1)\r\n s = PropertyFactory.getProp(t, e[a].v, 0, 0, this),\r\n this.k = s.k || this.k,\r\n this.dataProps[a] = {\r\n n: e[a].n,\r\n p: s\r\n };\r\n this.k || this.getValue(!0),\r\n this._isAnimated = this.k\r\n }\r\n function GradientProperty(t, e, r) {\r\n this.data = e,\r\n this.c = createTypedArray(\"uint8c\", 4 * e.p);\r\n var i = e.k.k[0].s ? e.k.k[0].s.length - 4 * e.p : e.k.k.length - 4 * e.p;\r\n this.o = createTypedArray(\"float32\", i),\r\n this._cmdf = !1,\r\n this._omdf = !1,\r\n this._collapsable = this.checkCollapsable(),\r\n this._hasOpacity = i,\r\n this.initDynamicPropertyContainer(r),\r\n this.prop = PropertyFactory.getProp(t, e.k, 1, null, this),\r\n this.k = this.prop.k,\r\n this.getValue(!0)\r\n }\r\n ShapeModifier.prototype.initModifierProperties = function() {}\r\n ,\r\n ShapeModifier.prototype.addShapeToModifier = function() {}\r\n ,\r\n ShapeModifier.prototype.addShape = function(t) {\r\n if (!this.closed) {\r\n t.sh.container.addDynamicProperty(t.sh);\r\n var e = {\r\n shape: t.sh,\r\n data: t,\r\n localShapeCollection: shapeCollectionPool.newShapeCollection()\r\n };\r\n this.shapes.push(e),\r\n this.addShapeToModifier(e),\r\n this._isAnimated && t.setAsAnimated()\r\n }\r\n }\r\n ,\r\n ShapeModifier.prototype.init = function(t, e) {\r\n this.shapes = [],\r\n this.elem = t,\r\n this.initDynamicPropertyContainer(t),\r\n this.initModifierProperties(t, e),\r\n this.frameId = initialDefaultFrame,\r\n this.closed = !1,\r\n this.k = !1,\r\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)\r\n }\r\n ,\r\n ShapeModifier.prototype.processKeys = function() {\r\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId,\r\n this.iterateDynamicProperties())\r\n }\r\n ,\r\n extendPrototype([DynamicPropertyContainer], ShapeModifier),\r\n extendPrototype([ShapeModifier], TrimModifier),\r\n TrimModifier.prototype.initModifierProperties = function(t, e) {\r\n this.s = PropertyFactory.getProp(t, e.s, 0, .01, this),\r\n this.e = PropertyFactory.getProp(t, e.e, 0, .01, this),\r\n this.o = PropertyFactory.getProp(t, e.o, 0, 0, this),\r\n this.sValue = 0,\r\n this.eValue = 0,\r\n this.getValue = this.processKeys,\r\n this.m = e.m,\r\n this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length\r\n }\r\n ,\r\n TrimModifier.prototype.addShapeToModifier = function(t) {\r\n t.pathsData = []\r\n }\r\n ,\r\n TrimModifier.prototype.calculateShapeEdges = function(t, e, r, i, a) {\r\n var s = [];\r\n e <= 1 ? s.push({\r\n s: t,\r\n e: e\r\n }) : t >= 1 ? s.push({\r\n s: t - 1,\r\n e: e - 1\r\n }) : (s.push({\r\n s: t,\r\n e: 1\r\n }),\r\n s.push({\r\n s: 0,\r\n e: e - 1\r\n }));\r\n var n, o, h = [], l = s.length;\r\n for (n = 0; n < l; n += 1) {\r\n var p, c;\r\n if (!((o = s[n]).e * a < i || o.s * a > i + r))\r\n p = o.s * a <= i ? 0 : (o.s * a - i) / r,\r\n c = o.e * a >= i + r ? 1 : (o.e * a - i) / r,\r\n h.push([p, c])\r\n }\r\n return h.length || h.push([0, 0]),\r\n h\r\n }\r\n ,\r\n TrimModifier.prototype.releasePathsData = function(t) {\r\n var e, r = t.length;\r\n for (e = 0; e < r; e += 1)\r\n segmentsLengthPool.release(t[e]);\r\n return t.length = 0,\r\n t\r\n }\r\n ,\r\n TrimModifier.prototype.processShapes = function(t) {\r\n var e, r, i, a;\r\n if (this._mdf || t) {\r\n var s = this.o.v % 360 / 360;\r\n if (s < 0 && (s += 1),\r\n (e = this.s.v > 1 ? 1 + s : this.s.v < 0 ? 0 + s : this.s.v + s) > (r = this.e.v > 1 ? 1 + s : this.e.v < 0 ? 0 + s : this.e.v + s)) {\r\n var n = e;\r\n e = r,\r\n r = n\r\n }\r\n e = 1e-4 * Math.round(1e4 * e),\r\n r = 1e-4 * Math.round(1e4 * r),\r\n this.sValue = e,\r\n this.eValue = r\r\n } else\r\n e = this.sValue,\r\n r = this.eValue;\r\n var o, h, l, p, c, f = this.shapes.length, d = 0;\r\n if (r === e)\r\n for (a = 0; a < f; a += 1)\r\n this.shapes[a].localShapeCollection.releaseShapes(),\r\n this.shapes[a].shape._mdf = !0,\r\n this.shapes[a].shape.paths = this.shapes[a].localShapeCollection,\r\n this._mdf && (this.shapes[a].pathsData.length = 0);\r\n else if (1 === r && 0 === e || 0 === r && 1 === e) {\r\n if (this._mdf)\r\n for (a = 0; a < f; a += 1)\r\n this.shapes[a].pathsData.length = 0,\r\n this.shapes[a].shape._mdf = !0\r\n } else {\r\n var m, u, y = [];\r\n for (a = 0; a < f; a += 1)\r\n if ((m = this.shapes[a]).shape._mdf || this._mdf || t || 2 === this.m) {\r\n if (h = (i = m.shape.paths)._length,\r\n c = 0,\r\n !m.shape._mdf && m.pathsData.length)\r\n c = m.totalShapeLength;\r\n else {\r\n for (l = this.releasePathsData(m.pathsData),\r\n o = 0; o < h; o += 1)\r\n p = bez.getSegmentsLength(i.shapes[o]),\r\n l.push(p),\r\n c += p.totalLength;\r\n m.totalShapeLength = c,\r\n m.pathsData = l\r\n }\r\n d += c,\r\n m.shape._mdf = !0\r\n } else\r\n m.shape.paths = m.localShapeCollection;\r\n var g, v = e, b = r, P = 0;\r\n for (a = f - 1; a >= 0; a -= 1)\r\n if ((m = this.shapes[a]).shape._mdf) {\r\n for ((u = m.localShapeCollection).releaseShapes(),\r\n 2 === this.m && f > 1 ? (g = this.calculateShapeEdges(e, r, m.totalShapeLength, P, d),\r\n P += m.totalShapeLength) : g = [[v, b]],\r\n h = g.length,\r\n o = 0; o < h; o += 1) {\r\n v = g[o][0],\r\n b = g[o][1],\r\n y.length = 0,\r\n b <= 1 ? y.push({\r\n s: m.totalShapeLength * v,\r\n e: m.totalShapeLength * b\r\n }) : v >= 1 ? y.push({\r\n s: m.totalShapeLength * (v - 1),\r\n e: m.totalShapeLength * (b - 1)\r\n }) : (y.push({\r\n s: m.totalShapeLength * v,\r\n e: m.totalShapeLength\r\n }),\r\n y.push({\r\n s: 0,\r\n e: m.totalShapeLength * (b - 1)\r\n }));\r\n var _ = this.addShapes(m, y[0]);\r\n if (y[0].s !== y[0].e) {\r\n if (y.length > 1)\r\n if (m.shape.paths.shapes[m.shape.paths._length - 1].c) {\r\n var S = _.pop();\r\n this.addPaths(_, u),\r\n _ = this.addShapes(m, y[1], S)\r\n } else\r\n this.addPaths(_, u),\r\n _ = this.addShapes(m, y[1]);\r\n this.addPaths(_, u)\r\n }\r\n }\r\n m.shape.paths = u\r\n }\r\n }\r\n }\r\n ,\r\n TrimModifier.prototype.addPaths = function(t, e) {\r\n var r, i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n e.addShape(t[r])\r\n }\r\n ,\r\n TrimModifier.prototype.addSegment = function(t, e, r, i, a, s, n) {\r\n a.setXYAt(e[0], e[1], \"o\", s),\r\n a.setXYAt(r[0], r[1], \"i\", s + 1),\r\n n && a.setXYAt(t[0], t[1], \"v\", s),\r\n a.setXYAt(i[0], i[1], \"v\", s + 1)\r\n }\r\n ,\r\n TrimModifier.prototype.addSegmentFromArray = function(t, e, r, i) {\r\n e.setXYAt(t[1], t[5], \"o\", r),\r\n e.setXYAt(t[2], t[6], \"i\", r + 1),\r\n i && e.setXYAt(t[0], t[4], \"v\", r),\r\n e.setXYAt(t[3], t[7], \"v\", r + 1)\r\n }\r\n ,\r\n TrimModifier.prototype.addShapes = function(t, e, r) {\r\n var i, a, s, n, o, h, l, p, c = t.pathsData, f = t.shape.paths.shapes, d = t.shape.paths._length, m = 0, u = [], y = !0;\r\n for (r ? (o = r._length,\r\n p = r._length) : (r = shapePool.newElement(),\r\n o = 0,\r\n p = 0),\r\n u.push(r),\r\n i = 0; i < d; i += 1) {\r\n for (h = c[i].lengths,\r\n r.c = f[i].c,\r\n s = f[i].c ? h.length : h.length + 1,\r\n a = 1; a < s; a += 1)\r\n if (m + (n = h[a - 1]).addedLength < e.s)\r\n m += n.addedLength,\r\n r.c = !1;\r\n else {\r\n if (m > e.e) {\r\n r.c = !1;\r\n break\r\n }\r\n e.s <= m && e.e >= m + n.addedLength ? (this.addSegment(f[i].v[a - 1], f[i].o[a - 1], f[i].i[a], f[i].v[a], r, o, y),\r\n y = !1) : (l = bez.getNewSegment(f[i].v[a - 1], f[i].v[a], f[i].o[a - 1], f[i].i[a], (e.s - m) / n.addedLength, (e.e - m) / n.addedLength, h[a - 1]),\r\n this.addSegmentFromArray(l, r, o, y),\r\n y = !1,\r\n r.c = !1),\r\n m += n.addedLength,\r\n o += 1\r\n }\r\n if (f[i].c && h.length) {\r\n if (n = h[a - 1],\r\n m <= e.e) {\r\n var g = h[a - 1].addedLength;\r\n e.s <= m && e.e >= m + g ? (this.addSegment(f[i].v[a - 1], f[i].o[a - 1], f[i].i[0], f[i].v[0], r, o, y),\r\n y = !1) : (l = bez.getNewSegment(f[i].v[a - 1], f[i].v[0], f[i].o[a - 1], f[i].i[0], (e.s - m) / g, (e.e - m) / g, h[a - 1]),\r\n this.addSegmentFromArray(l, r, o, y),\r\n y = !1,\r\n r.c = !1)\r\n } else\r\n r.c = !1;\r\n m += n.addedLength,\r\n o += 1\r\n }\r\n if (r._length && (r.setXYAt(r.v[p][0], r.v[p][1], \"i\", p),\r\n r.setXYAt(r.v[r._length - 1][0], r.v[r._length - 1][1], \"o\", r._length - 1)),\r\n m > e.e)\r\n break;\r\n i < d - 1 && (r = shapePool.newElement(),\r\n y = !0,\r\n u.push(r),\r\n o = 0)\r\n }\r\n return u\r\n }\r\n ,\r\n ShapeModifiers.registerModifier(\"tm\", TrimModifier),\r\n extendPrototype([ShapeModifier], RoundCornersModifier),\r\n RoundCornersModifier.prototype.initModifierProperties = function(t, e) {\r\n this.getValue = this.processKeys,\r\n this.rd = PropertyFactory.getProp(t, e.r, 0, null, this),\r\n this._isAnimated = !!this.rd.effectsSequence.length\r\n }\r\n ,\r\n RoundCornersModifier.prototype.processPath = function(t, e) {\r\n var r, i = shapePool.newElement();\r\n i.c = t.c;\r\n var a, s, n, o, h, l, p, c, f, d, m, u, y = t._length, g = 0;\r\n for (r = 0; r < y; r += 1)\r\n a = t.v[r],\r\n n = t.o[r],\r\n s = t.i[r],\r\n a[0] === n[0] && a[1] === n[1] && a[0] === s[0] && a[1] === s[1] ? 0 !== r && r !== y - 1 || t.c ? (o = 0 === r ? t.v[y - 1] : t.v[r - 1],\r\n l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0,\r\n p = m = a[0] + (o[0] - a[0]) * l,\r\n c = u = a[1] - (a[1] - o[1]) * l,\r\n f = p - (p - a[0]) * roundCorner,\r\n d = c - (c - a[1]) * roundCorner,\r\n i.setTripleAt(p, c, f, d, m, u, g),\r\n g += 1,\r\n o = r === y - 1 ? t.v[0] : t.v[r + 1],\r\n l = (h = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2))) ? Math.min(h / 2, e) / h : 0,\r\n p = f = a[0] + (o[0] - a[0]) * l,\r\n c = d = a[1] + (o[1] - a[1]) * l,\r\n m = p - (p - a[0]) * roundCorner,\r\n u = c - (c - a[1]) * roundCorner,\r\n i.setTripleAt(p, c, f, d, m, u, g),\r\n g += 1) : (i.setTripleAt(a[0], a[1], n[0], n[1], s[0], s[1], g),\r\n g += 1) : (i.setTripleAt(t.v[r][0], t.v[r][1], t.o[r][0], t.o[r][1], t.i[r][0], t.i[r][1], g),\r\n g += 1);\r\n return i\r\n }\r\n ,\r\n RoundCornersModifier.prototype.processShapes = function(t) {\r\n var e, r, i, a, s, n, o = this.shapes.length, h = this.rd.v;\r\n if (0 !== h)\r\n for (r = 0; r < o; r += 1) {\r\n if (n = (s = this.shapes[r]).localShapeCollection,\r\n s.shape._mdf || this._mdf || t)\r\n for (n.releaseShapes(),\r\n s.shape._mdf = !0,\r\n e = s.shape.paths.shapes,\r\n a = s.shape.paths._length,\r\n i = 0; i < a; i += 1)\r\n n.addShape(this.processPath(e[i], h));\r\n s.shape.paths = s.localShapeCollection\r\n }\r\n this.dynamicProperties.length || (this._mdf = !1)\r\n }\r\n ,\r\n ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier),\r\n extendPrototype([ShapeModifier], PuckerAndBloatModifier),\r\n PuckerAndBloatModifier.prototype.initModifierProperties = function(t, e) {\r\n this.getValue = this.processKeys,\r\n this.amount = PropertyFactory.getProp(t, e.a, 0, null, this),\r\n this._isAnimated = !!this.amount.effectsSequence.length\r\n }\r\n ,\r\n PuckerAndBloatModifier.prototype.processPath = function(t, e) {\r\n var r = e / 100\r\n , i = [0, 0]\r\n , a = t._length\r\n , s = 0;\r\n for (s = 0; s < a; s += 1)\r\n i[0] += t.v[s][0],\r\n i[1] += t.v[s][1];\r\n i[0] /= a,\r\n i[1] /= a;\r\n var n, o, h, l, p, c, f = shapePool.newElement();\r\n for (f.c = t.c,\r\n s = 0; s < a; s += 1)\r\n n = t.v[s][0] + (i[0] - t.v[s][0]) * r,\r\n o = t.v[s][1] + (i[1] - t.v[s][1]) * r,\r\n h = t.o[s][0] + (i[0] - t.o[s][0]) * -r,\r\n l = t.o[s][1] + (i[1] - t.o[s][1]) * -r,\r\n p = t.i[s][0] + (i[0] - t.i[s][0]) * -r,\r\n c = t.i[s][1] + (i[1] - t.i[s][1]) * -r,\r\n f.setTripleAt(n, o, h, l, p, c, s);\r\n return f\r\n }\r\n ,\r\n PuckerAndBloatModifier.prototype.processShapes = function(t) {\r\n var e, r, i, a, s, n, o = this.shapes.length, h = this.amount.v;\r\n if (0 !== h)\r\n for (r = 0; r < o; r += 1) {\r\n if (n = (s = this.shapes[r]).localShapeCollection,\r\n s.shape._mdf || this._mdf || t)\r\n for (n.releaseShapes(),\r\n s.shape._mdf = !0,\r\n e = s.shape.paths.shapes,\r\n a = s.shape.paths._length,\r\n i = 0; i < a; i += 1)\r\n n.addShape(this.processPath(e[i], h));\r\n s.shape.paths = s.localShapeCollection\r\n }\r\n this.dynamicProperties.length || (this._mdf = !1)\r\n }\r\n ,\r\n ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier),\r\n extendPrototype([ShapeModifier], RepeaterModifier),\r\n RepeaterModifier.prototype.initModifierProperties = function(t, e) {\r\n this.getValue = this.processKeys,\r\n this.c = PropertyFactory.getProp(t, e.c, 0, null, this),\r\n this.o = PropertyFactory.getProp(t, e.o, 0, null, this),\r\n this.tr = TransformPropertyFactory.getTransformProperty(t, e.tr, this),\r\n this.so = PropertyFactory.getProp(t, e.tr.so, 0, .01, this),\r\n this.eo = PropertyFactory.getProp(t, e.tr.eo, 0, .01, this),\r\n this.data = e,\r\n this.dynamicProperties.length || this.getValue(!0),\r\n this._isAnimated = !!this.dynamicProperties.length,\r\n this.pMatrix = new Matrix,\r\n this.rMatrix = new Matrix,\r\n this.sMatrix = new Matrix,\r\n this.tMatrix = new Matrix,\r\n this.matrix = new Matrix\r\n }\r\n ,\r\n RepeaterModifier.prototype.applyTransforms = function(t, e, r, i, a, s) {\r\n var n = s ? -1 : 1\r\n , o = i.s.v[0] + (1 - i.s.v[0]) * (1 - a)\r\n , h = i.s.v[1] + (1 - i.s.v[1]) * (1 - a);\r\n t.translate(i.p.v[0] * n * a, i.p.v[1] * n * a, i.p.v[2]),\r\n e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]),\r\n e.rotate(-i.r.v * n * a),\r\n e.translate(i.a.v[0], i.a.v[1], i.a.v[2]),\r\n r.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]),\r\n r.scale(s ? 1 / o : o, s ? 1 / h : h),\r\n r.translate(i.a.v[0], i.a.v[1], i.a.v[2])\r\n }\r\n ,\r\n RepeaterModifier.prototype.init = function(t, e, r, i) {\r\n for (this.elem = t,\r\n this.arr = e,\r\n this.pos = r,\r\n this.elemsData = i,\r\n this._currentCopies = 0,\r\n this._elements = [],\r\n this._groups = [],\r\n this.frameId = -1,\r\n this.initDynamicPropertyContainer(t),\r\n this.initModifierProperties(t, e[r]); r > 0; )\r\n r -= 1,\r\n this._elements.unshift(e[r]);\r\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0)\r\n }\r\n ,\r\n RepeaterModifier.prototype.resetElements = function(t) {\r\n var e, r = t.length;\r\n for (e = 0; e < r; e += 1)\r\n t[e]._processed = !1,\r\n \"gr\" === t[e].ty && this.resetElements(t[e].it)\r\n }\r\n ,\r\n RepeaterModifier.prototype.cloneElements = function(t) {\r\n var e = JSON.parse(JSON.stringify(t));\r\n return this.resetElements(e),\r\n e\r\n }\r\n ,\r\n RepeaterModifier.prototype.changeGroupRender = function(t, e) {\r\n var r, i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n t[r]._render = e,\r\n \"gr\" === t[r].ty && this.changeGroupRender(t[r].it, e)\r\n }\r\n ,\r\n RepeaterModifier.prototype.processShapes = function(t) {\r\n var e, r, i, a, s, n = !1;\r\n if (this._mdf || t) {\r\n var o, h = Math.ceil(this.c.v);\r\n if (this._groups.length < h) {\r\n for (; this._groups.length < h; ) {\r\n var l = {\r\n it: this.cloneElements(this._elements),\r\n ty: \"gr\"\r\n };\r\n l.it.push({\r\n a: {\r\n a: 0,\r\n ix: 1,\r\n k: [0, 0]\r\n },\r\n nm: \"Transform\",\r\n o: {\r\n a: 0,\r\n ix: 7,\r\n k: 100\r\n },\r\n p: {\r\n a: 0,\r\n ix: 2,\r\n k: [0, 0]\r\n },\r\n r: {\r\n a: 1,\r\n ix: 6,\r\n k: [{\r\n s: 0,\r\n e: 0,\r\n t: 0\r\n }, {\r\n s: 0,\r\n e: 0,\r\n t: 1\r\n }]\r\n },\r\n s: {\r\n a: 0,\r\n ix: 3,\r\n k: [100, 100]\r\n },\r\n sa: {\r\n a: 0,\r\n ix: 5,\r\n k: 0\r\n },\r\n sk: {\r\n a: 0,\r\n ix: 4,\r\n k: 0\r\n },\r\n ty: \"tr\"\r\n }),\r\n this.arr.splice(0, 0, l),\r\n this._groups.splice(0, 0, l),\r\n this._currentCopies += 1\r\n }\r\n this.elem.reloadShapes(),\r\n n = !0\r\n }\r\n for (s = 0,\r\n i = 0; i <= this._groups.length - 1; i += 1) {\r\n if (o = s < h,\r\n this._groups[i]._render = o,\r\n this.changeGroupRender(this._groups[i].it, o),\r\n !o) {\r\n var p = this.elemsData[i].it\r\n , c = p[p.length - 1];\r\n 0 !== c.transform.op.v ? (c.transform.op._mdf = !0,\r\n c.transform.op.v = 0) : c.transform.op._mdf = !1\r\n }\r\n s += 1\r\n }\r\n this._currentCopies = h;\r\n var f = this.o.v\r\n , d = f % 1\r\n , m = f > 0 ? Math.floor(f) : Math.ceil(f)\r\n , u = this.pMatrix.props\r\n , y = this.rMatrix.props\r\n , g = this.sMatrix.props;\r\n this.pMatrix.reset(),\r\n this.rMatrix.reset(),\r\n this.sMatrix.reset(),\r\n this.tMatrix.reset(),\r\n this.matrix.reset();\r\n var v, b, P = 0;\r\n if (f > 0) {\r\n for (; P < m; )\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1),\r\n P += 1;\r\n d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, d, !1),\r\n P += d)\r\n } else if (f < 0) {\r\n for (; P > m; )\r\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0),\r\n P -= 1;\r\n d && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -d, !0),\r\n P -= d)\r\n }\r\n for (i = 1 === this.data.m ? 0 : this._currentCopies - 1,\r\n a = 1 === this.data.m ? 1 : -1,\r\n s = this._currentCopies; s; ) {\r\n if (b = (r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props).length,\r\n e[e.length - 1].transform.mProps._mdf = !0,\r\n e[e.length - 1].transform.op._mdf = !0,\r\n e[e.length - 1].transform.op.v = 1 === this._currentCopies ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)),\r\n 0 !== P) {\r\n for ((0 !== i && 1 === a || i !== this._currentCopies - 1 && -1 === a) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1),\r\n this.matrix.transform(y[0], y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], y[10], y[11], y[12], y[13], y[14], y[15]),\r\n this.matrix.transform(g[0], g[1], g[2], g[3], g[4], g[5], g[6], g[7], g[8], g[9], g[10], g[11], g[12], g[13], g[14], g[15]),\r\n this.matrix.transform(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]),\r\n v = 0; v < b; v += 1)\r\n r[v] = this.matrix.props[v];\r\n this.matrix.reset()\r\n } else\r\n for (this.matrix.reset(),\r\n v = 0; v < b; v += 1)\r\n r[v] = this.matrix.props[v];\r\n P += 1,\r\n s -= 1,\r\n i += a\r\n }\r\n } else\r\n for (s = this._currentCopies,\r\n i = 0,\r\n a = 1; s; )\r\n r = (e = this.elemsData[i].it)[e.length - 1].transform.mProps.v.props,\r\n e[e.length - 1].transform.mProps._mdf = !1,\r\n e[e.length - 1].transform.op._mdf = !1,\r\n s -= 1,\r\n i += a;\r\n return n\r\n }\r\n ,\r\n RepeaterModifier.prototype.addShape = function() {}\r\n ,\r\n ShapeModifiers.registerModifier(\"rp\", RepeaterModifier),\r\n ShapeCollection.prototype.addShape = function(t) {\r\n this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)),\r\n this._maxLength *= 2),\r\n this.shapes[this._length] = t,\r\n this._length += 1\r\n }\r\n ,\r\n ShapeCollection.prototype.releaseShapes = function() {\r\n var t;\r\n for (t = 0; t < this._length; t += 1)\r\n shapePool.release(this.shapes[t]);\r\n this._length = 0\r\n }\r\n ,\r\n DashProperty.prototype.getValue = function(t) {\r\n if ((this.elem.globalData.frameId !== this.frameId || t) && (this.frameId = this.elem.globalData.frameId,\r\n this.iterateDynamicProperties(),\r\n this._mdf = this._mdf || t,\r\n this._mdf)) {\r\n var e = 0\r\n , r = this.dataProps.length;\r\n for (\"svg\" === this.renderer && (this.dashStr = \"\"),\r\n e = 0; e < r; e += 1)\r\n \"o\" !== this.dataProps[e].n ? \"svg\" === this.renderer ? this.dashStr += \" \" + this.dataProps[e].p.v : this.dashArray[e] = this.dataProps[e].p.v : this.dashoffset[0] = this.dataProps[e].p.v\r\n }\r\n }\r\n ,\r\n extendPrototype([DynamicPropertyContainer], DashProperty),\r\n GradientProperty.prototype.comparePoints = function(t, e) {\r\n for (var r = 0, i = this.o.length / 2; r < i; ) {\r\n if (Math.abs(t[4 * r] - t[4 * e + 2 * r]) > .01)\r\n return !1;\r\n r += 1\r\n }\r\n return !0\r\n }\r\n ,\r\n GradientProperty.prototype.checkCollapsable = function() {\r\n if (this.o.length / 2 != this.c.length / 4)\r\n return !1;\r\n if (this.data.k.k[0].s)\r\n for (var t = 0, e = this.data.k.k.length; t < e; ) {\r\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p))\r\n return !1;\r\n t += 1\r\n }\r\n else if (!this.comparePoints(this.data.k.k, this.data.p))\r\n return !1;\r\n return !0\r\n }\r\n ,\r\n GradientProperty.prototype.getValue = function(t) {\r\n if (this.prop.getValue(),\r\n this._mdf = !1,\r\n this._cmdf = !1,\r\n this._omdf = !1,\r\n this.prop._mdf || t) {\r\n var e, r, i, a = 4 * this.data.p;\r\n for (e = 0; e < a; e += 1)\r\n r = e % 4 == 0 ? 100 : 255,\r\n i = Math.round(this.prop.v[e] * r),\r\n this.c[e] !== i && (this.c[e] = i,\r\n this._cmdf = !t);\r\n if (this.o.length)\r\n for (a = this.prop.v.length,\r\n e = 4 * this.data.p; e < a; e += 1)\r\n r = e % 2 == 0 ? 100 : 1,\r\n i = e % 2 == 0 ? Math.round(100 * this.prop.v[e]) : this.prop.v[e],\r\n this.o[e - 4 * this.data.p] !== i && (this.o[e - 4 * this.data.p] = i,\r\n this._omdf = !t);\r\n this._mdf = !t\r\n }\r\n }\r\n ,\r\n extendPrototype([DynamicPropertyContainer], GradientProperty);\r\n var buildShapeString = function(t, e, r, i) {\r\n if (0 === e)\r\n return \"\";\r\n var a, s = t.o, n = t.i, o = t.v, h = \" M\" + i.applyToPointStringified(o[0][0], o[0][1]);\r\n for (a = 1; a < e; a += 1)\r\n h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[a][0], n[a][1]) + \" \" + i.applyToPointStringified(o[a][0], o[a][1]);\r\n return r && e && (h += \" C\" + i.applyToPointStringified(s[a - 1][0], s[a - 1][1]) + \" \" + i.applyToPointStringified(n[0][0], n[0][1]) + \" \" + i.applyToPointStringified(o[0][0], o[0][1]),\r\n h += \"z\"),\r\n h\r\n }\r\n , audioControllerFactory = function() {\r\n function t(t) {\r\n this.audios = [],\r\n this.audioFactory = t,\r\n this._volume = 1,\r\n this._isMuted = !1\r\n }\r\n return t.prototype = {\r\n addAudio: function(t) {\r\n this.audios.push(t)\r\n },\r\n pause: function() {\r\n var t, e = this.audios.length;\r\n for (t = 0; t < e; t += 1)\r\n this.audios[t].pause()\r\n },\r\n resume: function() {\r\n var t, e = this.audios.length;\r\n for (t = 0; t < e; t += 1)\r\n this.audios[t].resume()\r\n },\r\n setRate: function(t) {\r\n var e, r = this.audios.length;\r\n for (e = 0; e < r; e += 1)\r\n this.audios[e].setRate(t)\r\n },\r\n createAudio: function(t) {\r\n return this.audioFactory ? this.audioFactory(t) : Howl ? new Howl({\r\n src: [t]\r\n }) : {\r\n isPlaying: !1,\r\n play: function() {\r\n this.isPlaying = !0\r\n },\r\n seek: function() {\r\n this.isPlaying = !1\r\n },\r\n playing: function() {},\r\n rate: function() {},\r\n setVolume: function() {}\r\n }\r\n },\r\n setAudioFactory: function(t) {\r\n this.audioFactory = t\r\n },\r\n setVolume: function(t) {\r\n this._volume = t,\r\n this._updateVolume()\r\n },\r\n mute: function() {\r\n this._isMuted = !0,\r\n this._updateVolume()\r\n },\r\n unmute: function() {\r\n this._isMuted = !1,\r\n this._updateVolume()\r\n },\r\n getVolume: function() {\r\n return this._volume\r\n },\r\n _updateVolume: function() {\r\n var t, e = this.audios.length;\r\n for (t = 0; t < e; t += 1)\r\n this.audios[t].volume(this._volume * (this._isMuted ? 0 : 1))\r\n }\r\n },\r\n function() {\r\n return new t\r\n }\r\n }()\r\n , ImagePreloader = function() {\r\n var t = function() {\r\n var t = createTag(\"canvas\");\r\n t.width = 1,\r\n t.height = 1;\r\n var e = t.getContext(\"2d\");\r\n return e.fillStyle = \"rgba(0,0,0,0)\",\r\n e.fillRect(0, 0, 1, 1),\r\n t\r\n }();\r\n function e() {\r\n this.loadedAssets += 1,\r\n this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)\r\n }\r\n function r() {\r\n this.loadedFootagesCount += 1,\r\n this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null)\r\n }\r\n function i(t, e, r) {\r\n var i = \"\";\r\n if (t.e)\r\n i = t.p;\r\n else if (e) {\r\n var a = t.p;\r\n -1 !== a.indexOf(\"images/\") && (a = a.split(\"/\")[1]),\r\n i = e + a\r\n } else\r\n i = r,\r\n i += t.u ? t.u : \"\",\r\n i += t.p;\r\n return i\r\n }\r\n function a(t) {\r\n var e = 0\r\n , r = setInterval(function() {\r\n (t.getBBox().width || e > 500) && (this._imageLoaded(),\r\n clearInterval(r)),\r\n e += 1\r\n }\r\n .bind(this), 50)\r\n }\r\n function s(t) {\r\n var e = {\r\n assetData: t\r\n }\r\n , r = i(t, this.assetsPath, this.path);\r\n return dataManager.loadData(r, function(t) {\r\n e.img = t,\r\n this._footageLoaded()\r\n }\r\n .bind(this), function() {\r\n e.img = {},\r\n this._footageLoaded()\r\n }\r\n .bind(this)),\r\n e\r\n }\r\n function n() {\r\n this._imageLoaded = e.bind(this),\r\n this._footageLoaded = r.bind(this),\r\n this.testImageLoaded = a.bind(this),\r\n this.createFootageData = s.bind(this),\r\n this.assetsPath = \"\",\r\n this.path = \"\",\r\n this.totalImages = 0,\r\n this.totalFootages = 0,\r\n this.loadedAssets = 0,\r\n this.loadedFootagesCount = 0,\r\n this.imagesLoadedCb = null,\r\n this.images = []\r\n }\r\n return n.prototype = {\r\n loadAssets: function(t, e) {\r\n var r;\r\n this.imagesLoadedCb = e;\r\n var i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n t[r].layers || (t[r].t && \"seq\" !== t[r].t ? 3 === t[r].t && (this.totalFootages += 1,\r\n this.images.push(this.createFootageData(t[r]))) : (this.totalImages += 1,\r\n this.images.push(this._createImageData(t[r]))))\r\n },\r\n setAssetsPath: function(t) {\r\n this.assetsPath = t || \"\"\r\n },\r\n setPath: function(t) {\r\n this.path = t || \"\"\r\n },\r\n loadedImages: function() {\r\n return this.totalImages === this.loadedAssets\r\n },\r\n loadedFootages: function() {\r\n return this.totalFootages === this.loadedFootagesCount\r\n },\r\n destroy: function() {\r\n this.imagesLoadedCb = null,\r\n this.images.length = 0\r\n },\r\n getAsset: function(t) {\r\n for (var e = 0, r = this.images.length; e < r; ) {\r\n if (this.images[e].assetData === t)\r\n return this.images[e].img;\r\n e += 1\r\n }\r\n return null\r\n },\r\n createImgData: function(e) {\r\n var r = i(e, this.assetsPath, this.path)\r\n , a = createTag(\"img\");\r\n a.crossOrigin = \"anonymous\",\r\n a.addEventListener(\"load\", this._imageLoaded, !1),\r\n a.addEventListener(\"error\", function() {\r\n s.img = t,\r\n this._imageLoaded()\r\n }\r\n .bind(this), !1),\r\n a.src = r;\r\n var s = {\r\n img: a,\r\n assetData: e\r\n };\r\n return s\r\n },\r\n createImageData: function(e) {\r\n var r = i(e, this.assetsPath, this.path)\r\n , a = createNS(\"image\");\r\n isSafari ? this.testImageLoaded(a) : a.addEventListener(\"load\", this._imageLoaded, !1),\r\n a.addEventListener(\"error\", function() {\r\n s.img = t,\r\n this._imageLoaded()\r\n }\r\n .bind(this), !1),\r\n a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", r),\r\n this._elementHelper.append ? this._elementHelper.append(a) : this._elementHelper.appendChild(a);\r\n var s = {\r\n img: a,\r\n assetData: e\r\n };\r\n return s\r\n },\r\n imageLoaded: e,\r\n footageLoaded: r,\r\n setCacheType: function(t, e) {\r\n \"svg\" === t ? (this._elementHelper = e,\r\n this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this)\r\n }\r\n },\r\n n\r\n }()\r\n , featureSupport = function() {\r\n var t = {\r\n maskType: !0\r\n };\r\n return (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) && (t.maskType = !1),\r\n t\r\n }()\r\n , filtersFactory = function() {\r\n var t = {};\r\n return t.createFilter = function(t, e) {\r\n var r = createNS(\"filter\");\r\n r.setAttribute(\"id\", t),\r\n !0 !== e && (r.setAttribute(\"filterUnits\", \"objectBoundingBox\"),\r\n r.setAttribute(\"x\", \"0%\"),\r\n r.setAttribute(\"y\", \"0%\"),\r\n r.setAttribute(\"width\", \"100%\"),\r\n r.setAttribute(\"height\", \"100%\"));\r\n return r\r\n }\r\n ,\r\n t.createAlphaToLuminanceFilter = function() {\r\n var t = createNS(\"feColorMatrix\");\r\n return t.setAttribute(\"type\", \"matrix\"),\r\n t.setAttribute(\"color-interpolation-filters\", \"sRGB\"),\r\n t.setAttribute(\"values\", \"0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1\"),\r\n t\r\n }\r\n ,\r\n t\r\n }();\r\n function TextAnimatorProperty(t, e, r) {\r\n this._isFirstFrame = !0,\r\n this._hasMaskedPath = !1,\r\n this._frameId = -1,\r\n this._textData = t,\r\n this._renderType = e,\r\n this._elem = r,\r\n this._animatorsData = createSizedArray(this._textData.a.length),\r\n this._pathData = {},\r\n this._moreOptions = {\r\n alignment: {}\r\n },\r\n this.renderedLetters = [],\r\n this.lettersChangedFlag = !1,\r\n this.initDynamicPropertyContainer(r)\r\n }\r\n function TextAnimatorDataProperty(t, e, r) {\r\n var i = {\r\n propType: !1\r\n }\r\n , a = PropertyFactory.getProp\r\n , s = e.a;\r\n this.a = {\r\n r: s.r ? a(t, s.r, 0, degToRads, r) : i,\r\n rx: s.rx ? a(t, s.rx, 0, degToRads, r) : i,\r\n ry: s.ry ? a(t, s.ry, 0, degToRads, r) : i,\r\n sk: s.sk ? a(t, s.sk, 0, degToRads, r) : i,\r\n sa: s.sa ? a(t, s.sa, 0, degToRads, r) : i,\r\n s: s.s ? a(t, s.s, 1, .01, r) : i,\r\n a: s.a ? a(t, s.a, 1, 0, r) : i,\r\n o: s.o ? a(t, s.o, 0, .01, r) : i,\r\n p: s.p ? a(t, s.p, 1, 0, r) : i,\r\n sw: s.sw ? a(t, s.sw, 0, 0, r) : i,\r\n sc: s.sc ? a(t, s.sc, 1, 0, r) : i,\r\n fc: s.fc ? a(t, s.fc, 1, 0, r) : i,\r\n fh: s.fh ? a(t, s.fh, 0, 0, r) : i,\r\n fs: s.fs ? a(t, s.fs, 0, .01, r) : i,\r\n fb: s.fb ? a(t, s.fb, 0, .01, r) : i,\r\n t: s.t ? a(t, s.t, 0, 0, r) : i\r\n },\r\n this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r),\r\n this.s.t = e.s.t\r\n }\r\n function LetterProps(t, e, r, i, a, s) {\r\n this.o = t,\r\n this.sw = e,\r\n this.sc = r,\r\n this.fc = i,\r\n this.m = a,\r\n this.p = s,\r\n this._mdf = {\r\n o: !0,\r\n sw: !!e,\r\n sc: !!r,\r\n fc: !!i,\r\n m: !0,\r\n p: !0\r\n }\r\n }\r\n function TextProperty(t, e) {\r\n this._frameId = initialDefaultFrame,\r\n this.pv = \"\",\r\n this.v = \"\",\r\n this.kf = !1,\r\n this._isFirstFrame = !0,\r\n this._mdf = !1,\r\n this.data = e,\r\n this.elem = t,\r\n this.comp = this.elem.comp,\r\n this.keysIndex = 0,\r\n this.canResize = !1,\r\n this.minimumFontSize = 1,\r\n this.effectsSequence = [],\r\n this.currentData = {\r\n ascent: 0,\r\n boxWidth: this.defaultBoxWidth,\r\n f: \"\",\r\n fStyle: \"\",\r\n fWeight: \"\",\r\n fc: \"\",\r\n j: \"\",\r\n justifyOffset: \"\",\r\n l: [],\r\n lh: 0,\r\n lineWidths: [],\r\n ls: \"\",\r\n of: \"\",\r\n s: \"\",\r\n sc: \"\",\r\n sw: 0,\r\n t: 0,\r\n tr: 0,\r\n sz: 0,\r\n ps: null,\r\n fillColorAnim: !1,\r\n strokeColorAnim: !1,\r\n strokeWidthAnim: !1,\r\n yOffset: 0,\r\n finalSize: 0,\r\n finalText: [],\r\n finalLineHeight: 0,\r\n __complete: !1\r\n },\r\n this.copyData(this.currentData, this.data.d.k[0].s),\r\n this.searchProperty() || this.completeTextData(this.currentData)\r\n }\r\n TextAnimatorProperty.prototype.searchProperties = function() {\r\n var t, e, r = this._textData.a.length, i = PropertyFactory.getProp;\r\n for (t = 0; t < r; t += 1)\r\n e = this._textData.a[t],\r\n this._animatorsData[t] = new TextAnimatorDataProperty(this._elem,e,this);\r\n this._textData.p && \"m\"in this._textData.p ? (this._pathData = {\r\n a: i(this._elem, this._textData.p.a, 0, 0, this),\r\n f: i(this._elem, this._textData.p.f, 0, 0, this),\r\n l: i(this._elem, this._textData.p.l, 0, 0, this),\r\n r: i(this._elem, this._textData.p.r, 0, 0, this),\r\n p: i(this._elem, this._textData.p.p, 0, 0, this),\r\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\r\n },\r\n this._hasMaskedPath = !0) : this._hasMaskedPath = !1,\r\n this._moreOptions.alignment = i(this._elem, this._textData.m.a, 1, 0, this)\r\n }\r\n ,\r\n TextAnimatorProperty.prototype.getMeasures = function(t, e) {\r\n if (this.lettersChangedFlag = e,\r\n this._mdf || this._isFirstFrame || e || this._hasMaskedPath && this._pathData.m._mdf) {\r\n this._isFirstFrame = !1;\r\n var r, i, a, s, n, o, h, l, p, c, f, d, m, u, y, g, v, b, P, _ = this._moreOptions.alignment.v, S = this._animatorsData, E = this._textData, x = this.mHelper, A = this._renderType, w = this.renderedLetters.length, C = t.l;\r\n if (this._hasMaskedPath) {\r\n if (P = this._pathData.m,\r\n !this._pathData.n || this._pathData._mdf) {\r\n var T, k = P.v;\r\n for (this._pathData.r.v && (k = k.reverse()),\r\n n = {\r\n tLength: 0,\r\n segments: []\r\n },\r\n s = k._length - 1,\r\n g = 0,\r\n a = 0; a < s; a += 1)\r\n T = bez.buildBezierData(k.v[a], k.v[a + 1], [k.o[a][0] - k.v[a][0], k.o[a][1] - k.v[a][1]], [k.i[a + 1][0] - k.v[a + 1][0], k.i[a + 1][1] - k.v[a + 1][1]]),\r\n n.tLength += T.segmentLength,\r\n n.segments.push(T),\r\n g += T.segmentLength;\r\n a = s,\r\n P.v.c && (T = bez.buildBezierData(k.v[a], k.v[0], [k.o[a][0] - k.v[a][0], k.o[a][1] - k.v[a][1]], [k.i[0][0] - k.v[0][0], k.i[0][1] - k.v[0][1]]),\r\n n.tLength += T.segmentLength,\r\n n.segments.push(T),\r\n g += T.segmentLength),\r\n this._pathData.pi = n\r\n }\r\n if (n = this._pathData.pi,\r\n o = this._pathData.f.v,\r\n f = 0,\r\n c = 1,\r\n l = 0,\r\n p = !0,\r\n u = n.segments,\r\n o < 0 && P.v.c)\r\n for (n.tLength < Math.abs(o) && (o = -Math.abs(o) % n.tLength),\r\n c = (m = u[f = u.length - 1].points).length - 1; o < 0; )\r\n o += m[c].partialLength,\r\n (c -= 1) < 0 && (c = (m = u[f -= 1].points).length - 1);\r\n d = (m = u[f].points)[c - 1],\r\n y = (h = m[c]).partialLength\r\n }\r\n s = C.length,\r\n r = 0,\r\n i = 0;\r\n var D, M, F, I, R, V = 1.2 * t.finalSize * .714, O = !0;\r\n F = S.length;\r\n var L, B, N, G, z, j, H, q, W, U, Y, X, $ = -1, K = o, J = f, Q = c, Z = -1, tt = \"\", et = this.defaultPropsArray;\r\n if (2 === t.j || 1 === t.j) {\r\n var rt = 0\r\n , it = 0\r\n , at = 2 === t.j ? -.5 : -1\r\n , st = 0\r\n , nt = !0;\r\n for (a = 0; a < s; a += 1)\r\n if (C[a].n) {\r\n for (rt && (rt += it); st < a; )\r\n C[st].animatorJustifyOffset = rt,\r\n st += 1;\r\n rt = 0,\r\n nt = !0\r\n } else {\r\n for (M = 0; M < F; M += 1)\r\n (D = S[M].a).t.propType && (nt && 2 === t.j && (it += D.t.v * at),\r\n (R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars)).length ? rt += D.t.v * R[0] * at : rt += D.t.v * R * at);\r\n nt = !1\r\n }\r\n for (rt && (rt += it); st < a; )\r\n C[st].animatorJustifyOffset = rt,\r\n st += 1\r\n }\r\n for (a = 0; a < s; a += 1) {\r\n if (x.reset(),\r\n G = 1,\r\n C[a].n)\r\n r = 0,\r\n i += t.yOffset,\r\n i += O ? 1 : 0,\r\n o = K,\r\n O = !1,\r\n this._hasMaskedPath && (c = Q,\r\n d = (m = u[f = J].points)[c - 1],\r\n y = (h = m[c]).partialLength,\r\n l = 0),\r\n tt = \"\",\r\n Y = \"\",\r\n W = \"\",\r\n X = \"\",\r\n et = this.defaultPropsArray;\r\n else {\r\n if (this._hasMaskedPath) {\r\n if (Z !== C[a].line) {\r\n switch (t.j) {\r\n case 1:\r\n o += g - t.lineWidths[C[a].line];\r\n break;\r\n case 2:\r\n o += (g - t.lineWidths[C[a].line]) / 2\r\n }\r\n Z = C[a].line\r\n }\r\n $ !== C[a].ind && (C[$] && (o += C[$].extra),\r\n o += C[a].an / 2,\r\n $ = C[a].ind),\r\n o += _[0] * C[a].an * .005;\r\n var ot = 0;\r\n for (M = 0; M < F; M += 1)\r\n (D = S[M].a).p.propType && ((R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars)).length ? ot += D.p.v[0] * R[0] : ot += D.p.v[0] * R),\r\n D.a.propType && ((R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars)).length ? ot += D.a.v[0] * R[0] : ot += D.a.v[0] * R);\r\n for (p = !0,\r\n this._pathData.a.v && (o = .5 * C[0].an + (g - this._pathData.f.v - .5 * C[0].an - .5 * C[C.length - 1].an) * $ / (s - 1),\r\n o += this._pathData.f.v); p; )\r\n l + y >= o + ot || !m ? (v = (o + ot - l) / h.partialLength,\r\n B = d.point[0] + (h.point[0] - d.point[0]) * v,\r\n N = d.point[1] + (h.point[1] - d.point[1]) * v,\r\n x.translate(-_[0] * C[a].an * .005, -_[1] * V * .01),\r\n p = !1) : m && (l += h.partialLength,\r\n (c += 1) >= m.length && (c = 0,\r\n u[f += 1] ? m = u[f].points : P.v.c ? (c = 0,\r\n m = u[f = 0].points) : (l -= h.partialLength,\r\n m = null)),\r\n m && (d = h,\r\n y = (h = m[c]).partialLength));\r\n L = C[a].an / 2 - C[a].add,\r\n x.translate(-L, 0, 0)\r\n } else\r\n L = C[a].an / 2 - C[a].add,\r\n x.translate(-L, 0, 0),\r\n x.translate(-_[0] * C[a].an * .005, -_[1] * V * .01, 0);\r\n for (M = 0; M < F; M += 1)\r\n (D = S[M].a).t.propType && (R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars),\r\n 0 === r && 0 === t.j || (this._hasMaskedPath ? R.length ? o += D.t.v * R[0] : o += D.t.v * R : R.length ? r += D.t.v * R[0] : r += D.t.v * R));\r\n for (t.strokeWidthAnim && (j = t.sw || 0),\r\n t.strokeColorAnim && (z = t.sc ? [t.sc[0], t.sc[1], t.sc[2]] : [0, 0, 0]),\r\n t.fillColorAnim && t.fc && (H = [t.fc[0], t.fc[1], t.fc[2]]),\r\n M = 0; M < F; M += 1)\r\n (D = S[M].a).a.propType && ((R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars)).length ? x.translate(-D.a.v[0] * R[0], -D.a.v[1] * R[1], D.a.v[2] * R[2]) : x.translate(-D.a.v[0] * R, -D.a.v[1] * R, D.a.v[2] * R));\r\n for (M = 0; M < F; M += 1)\r\n (D = S[M].a).s.propType && ((R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars)).length ? x.scale(1 + (D.s.v[0] - 1) * R[0], 1 + (D.s.v[1] - 1) * R[1], 1) : x.scale(1 + (D.s.v[0] - 1) * R, 1 + (D.s.v[1] - 1) * R, 1));\r\n for (M = 0; M < F; M += 1) {\r\n if (D = S[M].a,\r\n R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars),\r\n D.sk.propType && (R.length ? x.skewFromAxis(-D.sk.v * R[0], D.sa.v * R[1]) : x.skewFromAxis(-D.sk.v * R, D.sa.v * R)),\r\n D.r.propType && (R.length ? x.rotateZ(-D.r.v * R[2]) : x.rotateZ(-D.r.v * R)),\r\n D.ry.propType && (R.length ? x.rotateY(D.ry.v * R[1]) : x.rotateY(D.ry.v * R)),\r\n D.rx.propType && (R.length ? x.rotateX(D.rx.v * R[0]) : x.rotateX(D.rx.v * R)),\r\n D.o.propType && (R.length ? G += (D.o.v * R[0] - G) * R[0] : G += (D.o.v * R - G) * R),\r\n t.strokeWidthAnim && D.sw.propType && (R.length ? j += D.sw.v * R[0] : j += D.sw.v * R),\r\n t.strokeColorAnim && D.sc.propType)\r\n for (q = 0; q < 3; q += 1)\r\n R.length ? z[q] += (D.sc.v[q] - z[q]) * R[0] : z[q] += (D.sc.v[q] - z[q]) * R;\r\n if (t.fillColorAnim && t.fc) {\r\n if (D.fc.propType)\r\n for (q = 0; q < 3; q += 1)\r\n R.length ? H[q] += (D.fc.v[q] - H[q]) * R[0] : H[q] += (D.fc.v[q] - H[q]) * R;\r\n D.fh.propType && (H = R.length ? addHueToRGB(H, D.fh.v * R[0]) : addHueToRGB(H, D.fh.v * R)),\r\n D.fs.propType && (H = R.length ? addSaturationToRGB(H, D.fs.v * R[0]) : addSaturationToRGB(H, D.fs.v * R)),\r\n D.fb.propType && (H = R.length ? addBrightnessToRGB(H, D.fb.v * R[0]) : addBrightnessToRGB(H, D.fb.v * R))\r\n }\r\n }\r\n for (M = 0; M < F; M += 1)\r\n (D = S[M].a).p.propType && (R = S[M].s.getMult(C[a].anIndexes[M], E.a[M].s.totalChars),\r\n this._hasMaskedPath ? R.length ? x.translate(0, D.p.v[1] * R[0], -D.p.v[2] * R[1]) : x.translate(0, D.p.v[1] * R, -D.p.v[2] * R) : R.length ? x.translate(D.p.v[0] * R[0], D.p.v[1] * R[1], -D.p.v[2] * R[2]) : x.translate(D.p.v[0] * R, D.p.v[1] * R, -D.p.v[2] * R));\r\n if (t.strokeWidthAnim && (W = j < 0 ? 0 : j),\r\n t.strokeColorAnim && (U = \"rgb(\" + Math.round(255 * z[0]) + \",\" + Math.round(255 * z[1]) + \",\" + Math.round(255 * z[2]) + \")\"),\r\n t.fillColorAnim && t.fc && (Y = \"rgb(\" + Math.round(255 * H[0]) + \",\" + Math.round(255 * H[1]) + \",\" + Math.round(255 * H[2]) + \")\"),\r\n this._hasMaskedPath) {\r\n if (x.translate(0, -t.ls),\r\n x.translate(0, _[1] * V * .01 + i, 0),\r\n this._pathData.p.v) {\r\n b = (h.point[1] - d.point[1]) / (h.point[0] - d.point[0]);\r\n var ht = 180 * Math.atan(b) / Math.PI;\r\n h.point[0] < d.point[0] && (ht += 180),\r\n x.rotate(-ht * Math.PI / 180)\r\n }\r\n x.translate(B, N, 0),\r\n o -= _[0] * C[a].an * .005,\r\n C[a + 1] && $ !== C[a + 1].ind && (o += C[a].an / 2,\r\n o += .001 * t.tr * t.finalSize)\r\n } else {\r\n switch (x.translate(r, i, 0),\r\n t.ps && x.translate(t.ps[0], t.ps[1] + t.ascent, 0),\r\n t.j) {\r\n case 1:\r\n x.translate(C[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[C[a].line]), 0, 0);\r\n break;\r\n case 2:\r\n x.translate(C[a].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[C[a].line]) / 2, 0, 0)\r\n }\r\n x.translate(0, -t.ls),\r\n x.translate(L, 0, 0),\r\n x.translate(_[0] * C[a].an * .005, _[1] * V * .01, 0),\r\n r += C[a].l + .001 * t.tr * t.finalSize\r\n }\r\n \"html\" === A ? tt = x.toCSS() : \"svg\" === A ? tt = x.to2dCSS() : et = [x.props[0], x.props[1], x.props[2], x.props[3], x.props[4], x.props[5], x.props[6], x.props[7], x.props[8], x.props[9], x.props[10], x.props[11], x.props[12], x.props[13], x.props[14], x.props[15]],\r\n X = G\r\n }\r\n w <= a ? (I = new LetterProps(X,W,U,Y,tt,et),\r\n this.renderedLetters.push(I),\r\n w += 1,\r\n this.lettersChangedFlag = !0) : (I = this.renderedLetters[a],\r\n this.lettersChangedFlag = I.update(X, W, U, Y, tt, et) || this.lettersChangedFlag)\r\n }\r\n }\r\n }\r\n ,\r\n TextAnimatorProperty.prototype.getValue = function() {\r\n this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId,\r\n this.iterateDynamicProperties())\r\n }\r\n ,\r\n TextAnimatorProperty.prototype.mHelper = new Matrix,\r\n TextAnimatorProperty.prototype.defaultPropsArray = [],\r\n extendPrototype([DynamicPropertyContainer], TextAnimatorProperty),\r\n LetterProps.prototype.update = function(t, e, r, i, a, s) {\r\n this._mdf.o = !1,\r\n this._mdf.sw = !1,\r\n this._mdf.sc = !1,\r\n this._mdf.fc = !1,\r\n this._mdf.m = !1,\r\n this._mdf.p = !1;\r\n var n = !1;\r\n return this.o !== t && (this.o = t,\r\n this._mdf.o = !0,\r\n n = !0),\r\n this.sw !== e && (this.sw = e,\r\n this._mdf.sw = !0,\r\n n = !0),\r\n this.sc !== r && (this.sc = r,\r\n this._mdf.sc = !0,\r\n n = !0),\r\n this.fc !== i && (this.fc = i,\r\n this._mdf.fc = !0,\r\n n = !0),\r\n this.m !== a && (this.m = a,\r\n this._mdf.m = !0,\r\n n = !0),\r\n !s.length || this.p[0] === s[0] && this.p[1] === s[1] && this.p[4] === s[4] && this.p[5] === s[5] && this.p[12] === s[12] && this.p[13] === s[13] || (this.p = s,\r\n this._mdf.p = !0,\r\n n = !0),\r\n n\r\n }\r\n ,\r\n TextProperty.prototype.defaultBoxWidth = [0, 0],\r\n TextProperty.prototype.copyData = function(t, e) {\r\n for (var r in e)\r\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\r\n return t\r\n }\r\n ,\r\n TextProperty.prototype.setCurrentData = function(t) {\r\n t.__complete || this.completeTextData(t),\r\n this.currentData = t,\r\n this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth,\r\n this._mdf = !0\r\n }\r\n ,\r\n TextProperty.prototype.searchProperty = function() {\r\n return this.searchKeyframes()\r\n }\r\n ,\r\n TextProperty.prototype.searchKeyframes = function() {\r\n return this.kf = this.data.d.k.length > 1,\r\n this.kf && this.addEffect(this.getKeyframeValue.bind(this)),\r\n this.kf\r\n }\r\n ,\r\n TextProperty.prototype.addEffect = function(t) {\r\n this.effectsSequence.push(t),\r\n this.elem.addDynamicProperty(this)\r\n }\r\n ,\r\n TextProperty.prototype.getValue = function(t) {\r\n if (this.elem.globalData.frameId !== this.frameId && this.effectsSequence.length || t) {\r\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\r\n var e = this.currentData\r\n , r = this.keysIndex;\r\n if (this.lock)\r\n this.setCurrentData(this.currentData);\r\n else {\r\n var i;\r\n this.lock = !0,\r\n this._mdf = !1;\r\n var a = this.effectsSequence.length\r\n , s = t || this.data.d.k[this.keysIndex].s;\r\n for (i = 0; i < a; i += 1)\r\n s = r !== this.keysIndex ? this.effectsSequence[i](s, s.t) : this.effectsSequence[i](this.currentData, s.t);\r\n e !== s && this.setCurrentData(s),\r\n this.v = this.currentData,\r\n this.pv = this.v,\r\n this.lock = !1,\r\n this.frameId = this.elem.globalData.frameId\r\n }\r\n }\r\n }\r\n ,\r\n TextProperty.prototype.getKeyframeValue = function() {\r\n for (var t = this.data.d.k, e = this.elem.comp.renderedFrame, r = 0, i = t.length; r <= i - 1 && !(r === i - 1 || t[r + 1].t > e); )\r\n r += 1;\r\n return this.keysIndex !== r && (this.keysIndex = r),\r\n this.data.d.k[this.keysIndex].s\r\n }\r\n ,\r\n TextProperty.prototype.buildFinalText = function(t) {\r\n for (var e, r, i = [], a = 0, s = t.length, n = !1; a < s; )\r\n e = t.charCodeAt(a),\r\n FontManager.isCombinedCharacter(e) ? i[i.length - 1] += t.charAt(a) : e >= 55296 && e <= 56319 ? (r = t.charCodeAt(a + 1)) >= 56320 && r <= 57343 ? (n || FontManager.isModifier(e, r) ? (i[i.length - 1] += t.substr(a, 2),\r\n n = !1) : i.push(t.substr(a, 2)),\r\n a += 1) : i.push(t.charAt(a)) : e > 56319 ? (r = t.charCodeAt(a + 1),\r\n FontManager.isZeroWidthJoiner(e, r) ? (n = !0,\r\n i[i.length - 1] += t.substr(a, 2),\r\n a += 1) : i.push(t.charAt(a))) : FontManager.isZeroWidthJoiner(e) ? (i[i.length - 1] += t.charAt(a),\r\n n = !0) : i.push(t.charAt(a)),\r\n a += 1;\r\n return i\r\n }\r\n ,\r\n TextProperty.prototype.completeTextData = function(t) {\r\n t.__complete = !0;\r\n var e, r, i, a, s, n, o, h = this.elem.globalData.fontManager, l = this.data, p = [], c = 0, f = l.m.g, d = 0, m = 0, u = 0, y = [], g = 0, v = 0, b = h.getFontByName(t.f), P = 0, _ = getFontProperties(b);\r\n t.fWeight = _.weight,\r\n t.fStyle = _.style,\r\n t.finalSize = t.s,\r\n t.finalText = this.buildFinalText(t.t),\r\n r = t.finalText.length,\r\n t.finalLineHeight = t.lh;\r\n var S, E = t.tr / 1e3 * t.finalSize;\r\n if (t.sz)\r\n for (var x, A, w = !0, C = t.sz[0], T = t.sz[1]; w; ) {\r\n x = 0,\r\n g = 0,\r\n r = (A = this.buildFinalText(t.t)).length,\r\n E = t.tr / 1e3 * t.finalSize;\r\n var k = -1;\r\n for (e = 0; e < r; e += 1)\r\n S = A[e].charCodeAt(0),\r\n i = !1,\r\n \" \" === A[e] ? k = e : 13 !== S && 3 !== S || (g = 0,\r\n i = !0,\r\n x += t.finalLineHeight || 1.2 * t.finalSize),\r\n h.chars ? (o = h.getCharData(A[e], b.fStyle, b.fFamily),\r\n P = i ? 0 : o.w * t.finalSize / 100) : P = h.measureText(A[e], t.f, t.finalSize),\r\n g + P > C && \" \" !== A[e] ? (-1 === k ? r += 1 : e = k,\r\n x += t.finalLineHeight || 1.2 * t.finalSize,\r\n A.splice(e, k === e ? 1 : 0, \"\\r\"),\r\n k = -1,\r\n g = 0) : (g += P,\r\n g += E);\r\n x += b.ascent * t.finalSize / 100,\r\n this.canResize && t.finalSize > this.minimumFontSize && T < x ? (t.finalSize -= 1,\r\n t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = A,\r\n r = t.finalText.length,\r\n w = !1)\r\n }\r\n g = -E,\r\n P = 0;\r\n var D, M = 0;\r\n for (e = 0; e < r; e += 1)\r\n if (i = !1,\r\n 13 === (S = (D = t.finalText[e]).charCodeAt(0)) || 3 === S ? (M = 0,\r\n y.push(g),\r\n v = g > v ? g : v,\r\n g = -2 * E,\r\n a = \"\",\r\n i = !0,\r\n u += 1) : a = D,\r\n h.chars ? (o = h.getCharData(D, b.fStyle, h.getFontByName(t.f).fFamily),\r\n P = i ? 0 : o.w * t.finalSize / 100) : P = h.measureText(a, t.f, t.finalSize),\r\n \" \" === D ? M += P + E : (g += P + E + M,\r\n M = 0),\r\n p.push({\r\n l: P,\r\n an: P,\r\n add: d,\r\n n: i,\r\n anIndexes: [],\r\n val: a,\r\n line: u,\r\n animatorJustifyOffset: 0\r\n }),\r\n 2 == f) {\r\n if (d += P,\r\n \"\" === a || \" \" === a || e === r - 1) {\r\n for (\"\" !== a && \" \" !== a || (d -= P); m <= e; )\r\n p[m].an = d,\r\n p[m].ind = c,\r\n p[m].extra = P,\r\n m += 1;\r\n c += 1,\r\n d = 0\r\n }\r\n } else if (3 == f) {\r\n if (d += P,\r\n \"\" === a || e === r - 1) {\r\n for (\"\" === a && (d -= P); m <= e; )\r\n p[m].an = d,\r\n p[m].ind = c,\r\n p[m].extra = P,\r\n m += 1;\r\n d = 0,\r\n c += 1\r\n }\r\n } else\r\n p[c].ind = c,\r\n p[c].extra = 0,\r\n c += 1;\r\n if (t.l = p,\r\n v = g > v ? g : v,\r\n y.push(g),\r\n t.sz)\r\n t.boxWidth = t.sz[0],\r\n t.justifyOffset = 0;\r\n else\r\n switch (t.boxWidth = v,\r\n t.j) {\r\n case 1:\r\n t.justifyOffset = -t.boxWidth;\r\n break;\r\n case 2:\r\n t.justifyOffset = -t.boxWidth / 2;\r\n break;\r\n default:\r\n t.justifyOffset = 0\r\n }\r\n t.lineWidths = y;\r\n var F, I, R, V, O = l.a;\r\n n = O.length;\r\n var L = [];\r\n for (s = 0; s < n; s += 1) {\r\n for ((F = O[s]).a.sc && (t.strokeColorAnim = !0),\r\n F.a.sw && (t.strokeWidthAnim = !0),\r\n (F.a.fc || F.a.fh || F.a.fs || F.a.fb) && (t.fillColorAnim = !0),\r\n V = 0,\r\n R = F.s.b,\r\n e = 0; e < r; e += 1)\r\n (I = p[e]).anIndexes[s] = V,\r\n (1 == R && \"\" !== I.val || 2 == R && \"\" !== I.val && \" \" !== I.val || 3 == R && (I.n || \" \" == I.val || e == r - 1) || 4 == R && (I.n || e == r - 1)) && (1 === F.s.rn && L.push(V),\r\n V += 1);\r\n l.a[s].s.totalChars = V;\r\n var B, N = -1;\r\n if (1 === F.s.rn)\r\n for (e = 0; e < r; e += 1)\r\n N != (I = p[e]).anIndexes[s] && (N = I.anIndexes[s],\r\n B = L.splice(Math.floor(Math.random() * L.length), 1)[0]),\r\n I.anIndexes[s] = B\r\n }\r\n t.yOffset = t.finalLineHeight || 1.2 * t.finalSize,\r\n t.ls = t.ls || 0,\r\n t.ascent = b.ascent * t.finalSize / 100\r\n }\r\n ,\r\n TextProperty.prototype.updateDocumentData = function(t, e) {\r\n e = void 0 === e ? this.keysIndex : e;\r\n var r = this.copyData({}, this.data.d.k[e].s);\r\n r = this.copyData(r, t),\r\n this.data.d.k[e].s = r,\r\n this.recalculate(e),\r\n this.elem.addDynamicProperty(this)\r\n }\r\n ,\r\n TextProperty.prototype.recalculate = function(t) {\r\n var e = this.data.d.k[t].s;\r\n e.__complete = !1,\r\n this.keysIndex = 0,\r\n this._isFirstFrame = !0,\r\n this.getValue(e)\r\n }\r\n ,\r\n TextProperty.prototype.canResizeFont = function(t) {\r\n this.canResize = t,\r\n this.recalculate(this.keysIndex),\r\n this.elem.addDynamicProperty(this)\r\n }\r\n ,\r\n TextProperty.prototype.setMinimumFontSize = function(t) {\r\n this.minimumFontSize = Math.floor(t) || 1,\r\n this.recalculate(this.keysIndex),\r\n this.elem.addDynamicProperty(this)\r\n }\r\n ;\r\n var TextSelectorProp = function() {\r\n var t = Math.max\r\n , e = Math.min\r\n , r = Math.floor;\r\n function i(t, e) {\r\n this._currentTextLength = -1,\r\n this.k = !1,\r\n this.data = e,\r\n this.elem = t,\r\n this.comp = t.comp,\r\n this.finalS = 0,\r\n this.finalE = 0,\r\n this.initDynamicPropertyContainer(t),\r\n this.s = PropertyFactory.getProp(t, e.s || {\r\n k: 0\r\n }, 0, 0, this),\r\n this.e = \"e\"in e ? PropertyFactory.getProp(t, e.e, 0, 0, this) : {\r\n v: 100\r\n },\r\n this.o = PropertyFactory.getProp(t, e.o || {\r\n k: 0\r\n }, 0, 0, this),\r\n this.xe = PropertyFactory.getProp(t, e.xe || {\r\n k: 0\r\n }, 0, 0, this),\r\n this.ne = PropertyFactory.getProp(t, e.ne || {\r\n k: 0\r\n }, 0, 0, this),\r\n this.sm = PropertyFactory.getProp(t, e.sm || {\r\n k: 100\r\n }, 0, 0, this),\r\n this.a = PropertyFactory.getProp(t, e.a, 0, .01, this),\r\n this.dynamicProperties.length || this.getValue()\r\n }\r\n return i.prototype = {\r\n getMult: function(i) {\r\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\r\n var a = 0\r\n , s = 0\r\n , n = 1\r\n , o = 1;\r\n this.ne.v > 0 ? a = this.ne.v / 100 : s = -this.ne.v / 100,\r\n this.xe.v > 0 ? n = 1 - this.xe.v / 100 : o = 1 + this.xe.v / 100;\r\n var h = BezierFactory.getBezierEasing(a, s, n, o).get\r\n , l = 0\r\n , p = this.finalS\r\n , c = this.finalE\r\n , f = this.data.sh;\r\n if (2 === f)\r\n l = h(l = c === p ? i >= c ? 1 : 0 : t(0, e(.5 / (c - p) + (i - p) / (c - p), 1)));\r\n else if (3 === f)\r\n l = h(l = c === p ? i >= c ? 0 : 1 : 1 - t(0, e(.5 / (c - p) + (i - p) / (c - p), 1)));\r\n else if (4 === f)\r\n c === p ? l = 0 : (l = t(0, e(.5 / (c - p) + (i - p) / (c - p), 1))) < .5 ? l *= 2 : l = 1 - 2 * (l - .5),\r\n l = h(l);\r\n else if (5 === f) {\r\n if (c === p)\r\n l = 0;\r\n else {\r\n var d = c - p\r\n , m = -d / 2 + (i = e(t(0, i + .5 - p), c - p))\r\n , u = d / 2;\r\n l = Math.sqrt(1 - m * m / (u * u))\r\n }\r\n l = h(l)\r\n } else\r\n 6 === f ? (c === p ? l = 0 : (i = e(t(0, i + .5 - p), c - p),\r\n l = (1 + Math.cos(Math.PI + 2 * Math.PI * i / (c - p))) / 2),\r\n l = h(l)) : (i >= r(p) && (l = t(0, e(i - p < 0 ? e(c, 1) - (p - i) : c - i, 1))),\r\n l = h(l));\r\n if (100 !== this.sm.v) {\r\n var y = .01 * this.sm.v;\r\n 0 === y && (y = 1e-8);\r\n var g = .5 - .5 * y;\r\n l < g ? l = 0 : (l = (l - g) / y) > 1 && (l = 1)\r\n }\r\n return l * this.a.v\r\n },\r\n getValue: function(t) {\r\n this.iterateDynamicProperties(),\r\n this._mdf = t || this._mdf,\r\n this._currentTextLength = this.elem.textProperty.currentData.l.length || 0,\r\n t && 2 === this.data.r && (this.e.v = this._currentTextLength);\r\n var e = 2 === this.data.r ? 1 : 100 / this.data.totalChars\r\n , r = this.o.v / e\r\n , i = this.s.v / e + r\r\n , a = this.e.v / e + r;\r\n if (i > a) {\r\n var s = i;\r\n i = a,\r\n a = s\r\n }\r\n this.finalS = i,\r\n this.finalE = a\r\n }\r\n },\r\n extendPrototype([DynamicPropertyContainer], i),\r\n {\r\n getTextSelectorProp: function(t, e, r) {\r\n return new i(t,e,r)\r\n }\r\n }\r\n }(), poolFactory = function(t, e, r) {\r\n var i = 0\r\n , a = t\r\n , s = createSizedArray(a);\r\n return {\r\n newElement: function() {\r\n return i ? s[i -= 1] : e()\r\n },\r\n release: function(t) {\r\n i === a && (s = pooling.double(s),\r\n a *= 2),\r\n r && r(t),\r\n s[i] = t,\r\n i += 1\r\n }\r\n }\r\n }, pooling = {\r\n double: function(t) {\r\n return t.concat(createSizedArray(t.length))\r\n }\r\n }, pointPool = poolFactory(8, (function() {\r\n return createTypedArray(\"float32\", 2)\r\n }\r\n )), shapePool = (factory = poolFactory(4, (function() {\r\n return new ShapePath\r\n }\r\n ), (function(t) {\r\n var e, r = t._length;\r\n for (e = 0; e < r; e += 1)\r\n pointPool.release(t.v[e]),\r\n pointPool.release(t.i[e]),\r\n pointPool.release(t.o[e]),\r\n t.v[e] = null,\r\n t.i[e] = null,\r\n t.o[e] = null;\r\n t._length = 0,\r\n t.c = !1\r\n }\r\n )),\r\n factory.clone = function(t) {\r\n var e, r = factory.newElement(), i = void 0 === t._length ? t.v.length : t._length;\r\n for (r.setLength(i),\r\n r.c = t.c,\r\n e = 0; e < i; e += 1)\r\n r.setTripleAt(t.v[e][0], t.v[e][1], t.o[e][0], t.o[e][1], t.i[e][0], t.i[e][1], e);\r\n return r\r\n }\r\n ,\r\n factory), factory, shapeCollectionPool = function() {\r\n var t = {\r\n newShapeCollection: function() {\r\n var t;\r\n t = e ? i[e -= 1] : new ShapeCollection;\r\n return t\r\n },\r\n release: function(t) {\r\n var a, s = t._length;\r\n for (a = 0; a < s; a += 1)\r\n shapePool.release(t.shapes[a]);\r\n t._length = 0,\r\n e === r && (i = pooling.double(i),\r\n r *= 2);\r\n i[e] = t,\r\n e += 1\r\n }\r\n }\r\n , e = 0\r\n , r = 4\r\n , i = createSizedArray(r);\r\n return t\r\n }(), segmentsLengthPool = poolFactory(8, (function() {\r\n return {\r\n lengths: [],\r\n totalLength: 0\r\n }\r\n }\r\n ), (function(t) {\r\n var e, r = t.lengths.length;\r\n for (e = 0; e < r; e += 1)\r\n bezierLengthPool.release(t.lengths[e]);\r\n t.lengths.length = 0\r\n }\r\n )), bezierLengthPool = poolFactory(8, (function() {\r\n return {\r\n addedLength: 0,\r\n percents: createTypedArray(\"float32\", defaultCurveSegments),\r\n lengths: createTypedArray(\"float32\", defaultCurveSegments)\r\n }\r\n }\r\n )), markerParser = function() {\r\n function t(t) {\r\n for (var e, r = t.split(\"\\r\\n\"), i = {}, a = 0, s = 0; s < r.length; s += 1)\r\n 2 === (e = r[s].split(\":\")).length && (i[e[0]] = e[1].trim(),\r\n a += 1);\r\n if (0 === a)\r\n throw new Error;\r\n return i\r\n }\r\n return function(e) {\r\n for (var r = [], i = 0; i < e.length; i += 1) {\r\n var a = e[i]\r\n , s = {\r\n time: a.tm,\r\n duration: a.dr\r\n };\r\n try {\r\n s.payload = JSON.parse(e[i].cm)\r\n } catch (r) {\r\n try {\r\n s.payload = t(e[i].cm)\r\n } catch (t) {\r\n s.payload = {\r\n name: e[i]\r\n }\r\n }\r\n }\r\n r.push(s)\r\n }\r\n return r\r\n }\r\n }();\r\n function BaseRenderer() {}\r\n function SVGRenderer(t, e) {\r\n this.animationItem = t,\r\n this.layers = null,\r\n this.renderedFrame = -1,\r\n this.svgElement = createNS(\"svg\");\r\n var r = \"\";\r\n if (e && e.title) {\r\n var i = createNS(\"title\")\r\n , a = createElementID();\r\n i.setAttribute(\"id\", a),\r\n i.textContent = e.title,\r\n this.svgElement.appendChild(i),\r\n r += a\r\n }\r\n if (e && e.description) {\r\n var s = createNS(\"desc\")\r\n , n = createElementID();\r\n s.setAttribute(\"id\", n),\r\n s.textContent = e.description,\r\n this.svgElement.appendChild(s),\r\n r += \" \" + n\r\n }\r\n r && this.svgElement.setAttribute(\"aria-labelledby\", r);\r\n var o = createNS(\"defs\");\r\n this.svgElement.appendChild(o);\r\n var h = createNS(\"g\");\r\n this.svgElement.appendChild(h),\r\n this.layerElement = h,\r\n this.renderConfig = {\r\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\r\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\r\n contentVisibility: e && e.contentVisibility || \"visible\",\r\n progressiveLoad: e && e.progressiveLoad || !1,\r\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\r\n viewBoxOnly: e && e.viewBoxOnly || !1,\r\n viewBoxSize: e && e.viewBoxSize || !1,\r\n className: e && e.className || \"\",\r\n id: e && e.id || \"\",\r\n focusable: e && e.focusable,\r\n filterSize: {\r\n width: e && e.filterSize && e.filterSize.width || \"100%\",\r\n height: e && e.filterSize && e.filterSize.height || \"100%\",\r\n x: e && e.filterSize && e.filterSize.x || \"0%\",\r\n y: e && e.filterSize && e.filterSize.y || \"0%\"\r\n }\r\n },\r\n this.globalData = {\r\n _mdf: !1,\r\n frameNum: -1,\r\n defs: o,\r\n renderConfig: this.renderConfig\r\n },\r\n this.elements = [],\r\n this.pendingElements = [],\r\n this.destroyed = !1,\r\n this.rendererType = \"svg\"\r\n }\r\n function CanvasRenderer(t, e) {\r\n this.animationItem = t,\r\n this.renderConfig = {\r\n clearCanvas: !e || void 0 === e.clearCanvas || e.clearCanvas,\r\n context: e && e.context || null,\r\n progressiveLoad: e && e.progressiveLoad || !1,\r\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\r\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\r\n contentVisibility: e && e.contentVisibility || \"visible\",\r\n className: e && e.className || \"\",\r\n id: e && e.id || \"\"\r\n },\r\n this.renderConfig.dpr = e && e.dpr || 1,\r\n this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1),\r\n this.renderedFrame = -1,\r\n this.globalData = {\r\n frameNum: -1,\r\n _mdf: !1,\r\n renderConfig: this.renderConfig,\r\n currentGlobalAlpha: -1\r\n },\r\n this.contextData = new CVContextData,\r\n this.elements = [],\r\n this.pendingElements = [],\r\n this.transformMat = new Matrix,\r\n this.completeLayers = !1,\r\n this.rendererType = \"canvas\"\r\n }\r\n function HybridRenderer(t, e) {\r\n this.animationItem = t,\r\n this.layers = null,\r\n this.renderedFrame = -1,\r\n this.renderConfig = {\r\n className: e && e.className || \"\",\r\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\r\n hideOnTransparent: !(e && !1 === e.hideOnTransparent),\r\n filterSize: {\r\n width: e && e.filterSize && e.filterSize.width || \"400%\",\r\n height: e && e.filterSize && e.filterSize.height || \"400%\",\r\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\r\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\r\n }\r\n },\r\n this.globalData = {\r\n _mdf: !1,\r\n frameNum: -1,\r\n renderConfig: this.renderConfig\r\n },\r\n this.pendingElements = [],\r\n this.elements = [],\r\n this.threeDElements = [],\r\n this.destroyed = !1,\r\n this.camera = null,\r\n this.supports3d = !0,\r\n this.rendererType = \"html\"\r\n }\r\n function MaskElement(t, e, r) {\r\n this.data = t,\r\n this.element = e,\r\n this.globalData = r,\r\n this.storedData = [],\r\n this.masksProperties = this.data.masksProperties || [],\r\n this.maskElement = null;\r\n var i, a, s = this.globalData.defs, n = this.masksProperties ? this.masksProperties.length : 0;\r\n this.viewData = createSizedArray(n),\r\n this.solidPath = \"\";\r\n var o, h, l, p, c, f, d = this.masksProperties, m = 0, u = [], y = createElementID(), g = \"clipPath\", v = \"clip-path\";\r\n for (i = 0; i < n; i += 1)\r\n if ((\"a\" !== d[i].mode && \"n\" !== d[i].mode || d[i].inv || 100 !== d[i].o.k || d[i].o.x) && (g = \"mask\",\r\n v = \"mask\"),\r\n \"s\" !== d[i].mode && \"i\" !== d[i].mode || 0 !== m ? l = null : ((l = createNS(\"rect\")).setAttribute(\"fill\", \"#ffffff\"),\r\n l.setAttribute(\"width\", this.element.comp.data.w || 0),\r\n l.setAttribute(\"height\", this.element.comp.data.h || 0),\r\n u.push(l)),\r\n a = createNS(\"path\"),\r\n \"n\" === d[i].mode)\r\n this.viewData[i] = {\r\n op: PropertyFactory.getProp(this.element, d[i].o, 0, .01, this.element),\r\n prop: ShapePropertyFactory.getShapeProp(this.element, d[i], 3),\r\n elem: a,\r\n lastPath: \"\"\r\n },\r\n s.appendChild(a);\r\n else {\r\n var b;\r\n if (m += 1,\r\n a.setAttribute(\"fill\", \"s\" === d[i].mode ? \"#000000\" : \"#ffffff\"),\r\n a.setAttribute(\"clip-rule\", \"nonzero\"),\r\n 0 !== d[i].x.k ? (g = \"mask\",\r\n v = \"mask\",\r\n f = PropertyFactory.getProp(this.element, d[i].x, 0, null, this.element),\r\n b = createElementID(),\r\n (p = createNS(\"filter\")).setAttribute(\"id\", b),\r\n (c = createNS(\"feMorphology\")).setAttribute(\"operator\", \"erode\"),\r\n c.setAttribute(\"in\", \"SourceGraphic\"),\r\n c.setAttribute(\"radius\", \"0\"),\r\n p.appendChild(c),\r\n s.appendChild(p),\r\n a.setAttribute(\"stroke\", \"s\" === d[i].mode ? \"#000000\" : \"#ffffff\")) : (c = null,\r\n f = null),\r\n this.storedData[i] = {\r\n elem: a,\r\n x: f,\r\n expan: c,\r\n lastPath: \"\",\r\n lastOperator: \"\",\r\n filterId: b,\r\n lastRadius: 0\r\n },\r\n \"i\" === d[i].mode) {\r\n h = u.length;\r\n var P = createNS(\"g\");\r\n for (o = 0; o < h; o += 1)\r\n P.appendChild(u[o]);\r\n var _ = createNS(\"mask\");\r\n _.setAttribute(\"mask-type\", \"alpha\"),\r\n _.setAttribute(\"id\", y + \"_\" + m),\r\n _.appendChild(a),\r\n s.appendChild(_),\r\n P.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + y + \"_\" + m + \")\"),\r\n u.length = 0,\r\n u.push(P)\r\n } else\r\n u.push(a);\r\n d[i].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()),\r\n this.viewData[i] = {\r\n elem: a,\r\n lastPath: \"\",\r\n op: PropertyFactory.getProp(this.element, d[i].o, 0, .01, this.element),\r\n prop: ShapePropertyFactory.getShapeProp(this.element, d[i], 3),\r\n invRect: l\r\n },\r\n this.viewData[i].prop.k || this.drawPath(d[i], this.viewData[i].prop.v, this.viewData[i])\r\n }\r\n for (this.maskElement = createNS(g),\r\n n = u.length,\r\n i = 0; i < n; i += 1)\r\n this.maskElement.appendChild(u[i]);\r\n m > 0 && (this.maskElement.setAttribute(\"id\", y),\r\n this.element.maskedElement.setAttribute(v, \"url(\" + locationHref + \"#\" + y + \")\"),\r\n s.appendChild(this.maskElement)),\r\n this.viewData.length && this.element.addRenderableComponent(this)\r\n }\r\n function HierarchyElement() {}\r\n function FrameElement() {}\r\n function TransformElement() {}\r\n function RenderableElement() {}\r\n function RenderableDOMElement() {}\r\n function ProcessedElement(t, e) {\r\n this.elem = t,\r\n this.pos = e\r\n }\r\n function SVGStyleData(t, e) {\r\n this.data = t,\r\n this.type = t.ty,\r\n this.d = \"\",\r\n this.lvl = e,\r\n this._mdf = !1,\r\n this.closed = !0 === t.hd,\r\n this.pElem = createNS(\"path\"),\r\n this.msElem = null\r\n }\r\n function SVGShapeData(t, e, r) {\r\n this.caches = [],\r\n this.styles = [],\r\n this.transformers = t,\r\n this.lStr = \"\",\r\n this.sh = r,\r\n this.lvl = e,\r\n this._isAnimated = !!r.k;\r\n for (var i = 0, a = t.length; i < a; ) {\r\n if (t[i].mProps.dynamicProperties.length) {\r\n this._isAnimated = !0;\r\n break\r\n }\r\n i += 1\r\n }\r\n }\r\n function SVGTransformData(t, e, r) {\r\n this.transform = {\r\n mProps: t,\r\n op: e,\r\n container: r\r\n },\r\n this.elements = [],\r\n this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length\r\n }\r\n function SVGStrokeStyleData(t, e, r) {\r\n this.initDynamicPropertyContainer(t),\r\n this.getValue = this.iterateDynamicProperties,\r\n this.o = PropertyFactory.getProp(t, e.o, 0, .01, this),\r\n this.w = PropertyFactory.getProp(t, e.w, 0, null, this),\r\n this.d = new DashProperty(t,e.d || {},\"svg\",this),\r\n this.c = PropertyFactory.getProp(t, e.c, 1, 255, this),\r\n this.style = r,\r\n this._isAnimated = !!this._isAnimated\r\n }\r\n function SVGFillStyleData(t, e, r) {\r\n this.initDynamicPropertyContainer(t),\r\n this.getValue = this.iterateDynamicProperties,\r\n this.o = PropertyFactory.getProp(t, e.o, 0, .01, this),\r\n this.c = PropertyFactory.getProp(t, e.c, 1, 255, this),\r\n this.style = r\r\n }\r\n function SVGGradientFillStyleData(t, e, r) {\r\n this.initDynamicPropertyContainer(t),\r\n this.getValue = this.iterateDynamicProperties,\r\n this.initGradientData(t, e, r)\r\n }\r\n function SVGGradientStrokeStyleData(t, e, r) {\r\n this.initDynamicPropertyContainer(t),\r\n this.getValue = this.iterateDynamicProperties,\r\n this.w = PropertyFactory.getProp(t, e.w, 0, null, this),\r\n this.d = new DashProperty(t,e.d || {},\"svg\",this),\r\n this.initGradientData(t, e, r),\r\n this._isAnimated = !!this._isAnimated\r\n }\r\n function ShapeGroupData() {\r\n this.it = [],\r\n this.prevViewData = [],\r\n this.gr = createNS(\"g\")\r\n }\r\n BaseRenderer.prototype.checkLayers = function(t) {\r\n var e, r, i = this.layers.length;\r\n for (this.completeLayers = !0,\r\n e = i - 1; e >= 0; e -= 1)\r\n this.elements[e] || (r = this.layers[e]).ip - r.st <= t - this.layers[e].st && r.op - r.st > t - this.layers[e].st && this.buildItem(e),\r\n this.completeLayers = !!this.elements[e] && this.completeLayers;\r\n this.checkPendingElements()\r\n }\r\n ,\r\n BaseRenderer.prototype.createItem = function(t) {\r\n switch (t.ty) {\r\n case 2:\r\n return this.createImage(t);\r\n case 0:\r\n return this.createComp(t);\r\n case 1:\r\n return this.createSolid(t);\r\n case 3:\r\n return this.createNull(t);\r\n case 4:\r\n return this.createShape(t);\r\n case 5:\r\n return this.createText(t);\r\n case 6:\r\n return this.createAudio(t);\r\n case 13:\r\n return this.createCamera(t);\r\n case 15:\r\n return this.createFootage(t);\r\n default:\r\n return this.createNull(t)\r\n }\r\n }\r\n ,\r\n BaseRenderer.prototype.createCamera = function() {\r\n throw new Error(\"You're using a 3d camera. Try the html renderer.\")\r\n }\r\n ,\r\n BaseRenderer.prototype.createAudio = function(t) {\r\n return new AudioElement(t,this.globalData,this)\r\n }\r\n ,\r\n BaseRenderer.prototype.createFootage = function(t) {\r\n return new FootageElement(t,this.globalData,this)\r\n }\r\n ,\r\n BaseRenderer.prototype.buildAllItems = function() {\r\n var t, e = this.layers.length;\r\n for (t = 0; t < e; t += 1)\r\n this.buildItem(t);\r\n this.checkPendingElements()\r\n }\r\n ,\r\n BaseRenderer.prototype.includeLayers = function(t) {\r\n var e;\r\n this.completeLayers = !1;\r\n var r, i = t.length, a = this.layers.length;\r\n for (e = 0; e < i; e += 1)\r\n for (r = 0; r < a; ) {\r\n if (this.layers[r].id === t[e].id) {\r\n this.layers[r] = t[e];\r\n break\r\n }\r\n r += 1\r\n }\r\n }\r\n ,\r\n BaseRenderer.prototype.setProjectInterface = function(t) {\r\n this.globalData.projectInterface = t\r\n }\r\n ,\r\n BaseRenderer.prototype.initItems = function() {\r\n this.globalData.progressiveLoad || this.buildAllItems()\r\n }\r\n ,\r\n BaseRenderer.prototype.buildElementParenting = function(t, e, r) {\r\n for (var i = this.elements, a = this.layers, s = 0, n = a.length; s < n; )\r\n a[s].ind == e && (i[s] && !0 !== i[s] ? (r.push(i[s]),\r\n i[s].setAsParent(),\r\n void 0 !== a[s].parent ? this.buildElementParenting(t, a[s].parent, r) : t.setHierarchy(r)) : (this.buildItem(s),\r\n this.addPendingElement(t))),\r\n s += 1\r\n }\r\n ,\r\n BaseRenderer.prototype.addPendingElement = function(t) {\r\n this.pendingElements.push(t)\r\n }\r\n ,\r\n BaseRenderer.prototype.searchExtraCompositions = function(t) {\r\n var e, r = t.length;\r\n for (e = 0; e < r; e += 1)\r\n if (t[e].xt) {\r\n var i = this.createComp(t[e]);\r\n i.initExpressions(),\r\n this.globalData.projectInterface.registerComposition(i)\r\n }\r\n }\r\n ,\r\n BaseRenderer.prototype.setupGlobalData = function(t, e) {\r\n this.globalData.fontManager = new FontManager,\r\n this.globalData.fontManager.addChars(t.chars),\r\n this.globalData.fontManager.addFonts(t.fonts, e),\r\n this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem),\r\n this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem),\r\n this.globalData.imageLoader = this.animationItem.imagePreloader,\r\n this.globalData.audioController = this.animationItem.audioController,\r\n this.globalData.frameId = 0,\r\n this.globalData.frameRate = t.fr,\r\n this.globalData.nm = t.nm,\r\n this.globalData.compSize = {\r\n w: t.w,\r\n h: t.h\r\n }\r\n }\r\n ,\r\n extendPrototype([BaseRenderer], SVGRenderer),\r\n SVGRenderer.prototype.createNull = function(t) {\r\n return new NullElement(t,this.globalData,this)\r\n }\r\n ,\r\n SVGRenderer.prototype.createShape = function(t) {\r\n return new SVGShapeElement(t,this.globalData,this)\r\n }\r\n ,\r\n SVGRenderer.prototype.createText = function(t) {\r\n return new SVGTextLottieElement(t,this.globalData,this)\r\n }\r\n ,\r\n SVGRenderer.prototype.createImage = function(t) {\r\n return new IImageElement(t,this.globalData,this)\r\n }\r\n ,\r\n SVGRenderer.prototype.createComp = function(t) {\r\n return new SVGCompElement(t,this.globalData,this)\r\n }\r\n ,\r\n SVGRenderer.prototype.createSolid = function(t) {\r\n return new ISolidElement(t,this.globalData,this)\r\n }\r\n ,\r\n SVGRenderer.prototype.configAnimation = function(t) {\r\n this.svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"),\r\n this.renderConfig.viewBoxSize ? this.svgElement.setAttribute(\"viewBox\", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute(\"viewBox\", \"0 0 \" + t.w + \" \" + t.h),\r\n this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute(\"width\", t.w),\r\n this.svgElement.setAttribute(\"height\", t.h),\r\n this.svgElement.style.width = \"100%\",\r\n this.svgElement.style.height = \"100%\",\r\n this.svgElement.style.transform = \"translate3d(0,0,0)\",\r\n this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility),\r\n this.renderConfig.className && this.svgElement.setAttribute(\"class\", this.renderConfig.className),\r\n this.renderConfig.id && this.svgElement.setAttribute(\"id\", this.renderConfig.id),\r\n void 0 !== this.renderConfig.focusable && this.svgElement.setAttribute(\"focusable\", this.renderConfig.focusable),\r\n this.svgElement.setAttribute(\"preserveAspectRatio\", this.renderConfig.preserveAspectRatio),\r\n this.animationItem.wrapper.appendChild(this.svgElement);\r\n var e = this.globalData.defs;\r\n this.setupGlobalData(t, e),\r\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad,\r\n this.data = t;\r\n var r = createNS(\"clipPath\")\r\n , i = createNS(\"rect\");\r\n i.setAttribute(\"width\", t.w),\r\n i.setAttribute(\"height\", t.h),\r\n i.setAttribute(\"x\", 0),\r\n i.setAttribute(\"y\", 0);\r\n var a = createElementID();\r\n r.setAttribute(\"id\", a),\r\n r.appendChild(i),\r\n this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + a + \")\"),\r\n e.appendChild(r),\r\n this.layers = t.layers,\r\n this.elements = createSizedArray(t.layers.length)\r\n }\r\n ,\r\n SVGRenderer.prototype.destroy = function() {\r\n var t;\r\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"),\r\n this.layerElement = null,\r\n this.globalData.defs = null;\r\n var e = this.layers ? this.layers.length : 0;\r\n for (t = 0; t < e; t += 1)\r\n this.elements[t] && this.elements[t].destroy();\r\n this.elements.length = 0,\r\n this.destroyed = !0,\r\n this.animationItem = null\r\n }\r\n ,\r\n SVGRenderer.prototype.updateContainerSize = function() {}\r\n ,\r\n SVGRenderer.prototype.buildItem = function(t) {\r\n var e = this.elements;\r\n if (!e[t] && 99 !== this.layers[t].ty) {\r\n e[t] = !0;\r\n var r = this.createItem(this.layers[t]);\r\n e[t] = r,\r\n expressionsPlugin && (0 === this.layers[t].ty && this.globalData.projectInterface.registerComposition(r),\r\n r.initExpressions()),\r\n this.appendElementInPos(r, t),\r\n this.layers[t].tt && (this.elements[t - 1] && !0 !== this.elements[t - 1] ? r.setMatte(e[t - 1].layerId) : (this.buildItem(t - 1),\r\n this.addPendingElement(r)))\r\n }\r\n }\r\n ,\r\n SVGRenderer.prototype.checkPendingElements = function() {\r\n for (; this.pendingElements.length; ) {\r\n var t = this.pendingElements.pop();\r\n if (t.checkParenting(),\r\n t.data.tt)\r\n for (var e = 0, r = this.elements.length; e < r; ) {\r\n if (this.elements[e] === t) {\r\n t.setMatte(this.elements[e - 1].layerId);\r\n break\r\n }\r\n e += 1\r\n }\r\n }\r\n }\r\n ,\r\n SVGRenderer.prototype.renderFrame = function(t) {\r\n if (this.renderedFrame !== t && !this.destroyed) {\r\n var e;\r\n null === t ? t = this.renderedFrame : this.renderedFrame = t,\r\n this.globalData.frameNum = t,\r\n this.globalData.frameId += 1,\r\n this.globalData.projectInterface.currentFrame = t,\r\n this.globalData._mdf = !1;\r\n var r = this.layers.length;\r\n for (this.completeLayers || this.checkLayers(t),\r\n e = r - 1; e >= 0; e -= 1)\r\n (this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st);\r\n if (this.globalData._mdf)\r\n for (e = 0; e < r; e += 1)\r\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame()\r\n }\r\n }\r\n ,\r\n SVGRenderer.prototype.appendElementInPos = function(t, e) {\r\n var r = t.getBaseElement();\r\n if (r) {\r\n for (var i, a = 0; a < e; )\r\n this.elements[a] && !0 !== this.elements[a] && this.elements[a].getBaseElement() && (i = this.elements[a].getBaseElement()),\r\n a += 1;\r\n i ? this.layerElement.insertBefore(r, i) : this.layerElement.appendChild(r)\r\n }\r\n }\r\n ,\r\n SVGRenderer.prototype.hide = function() {\r\n this.layerElement.style.display = \"none\"\r\n }\r\n ,\r\n SVGRenderer.prototype.show = function() {\r\n this.layerElement.style.display = \"block\"\r\n }\r\n ,\r\n extendPrototype([BaseRenderer], CanvasRenderer),\r\n CanvasRenderer.prototype.createShape = function(t) {\r\n return new CVShapeElement(t,this.globalData,this)\r\n }\r\n ,\r\n CanvasRenderer.prototype.createText = function(t) {\r\n return new CVTextElement(t,this.globalData,this)\r\n }\r\n ,\r\n CanvasRenderer.prototype.createImage = function(t) {\r\n return new CVImageElement(t,this.globalData,this)\r\n }\r\n ,\r\n CanvasRenderer.prototype.createComp = function(t) {\r\n return new CVCompElement(t,this.globalData,this)\r\n }\r\n ,\r\n CanvasRenderer.prototype.createSolid = function(t) {\r\n return new CVSolidElement(t,this.globalData,this)\r\n }\r\n ,\r\n CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull,\r\n CanvasRenderer.prototype.ctxTransform = function(t) {\r\n if (1 !== t[0] || 0 !== t[1] || 0 !== t[4] || 1 !== t[5] || 0 !== t[12] || 0 !== t[13])\r\n if (this.renderConfig.clearCanvas) {\r\n this.transformMat.cloneFromProps(t);\r\n var e = this.contextData.cTr.props;\r\n this.transformMat.transform(e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8], e[9], e[10], e[11], e[12], e[13], e[14], e[15]),\r\n this.contextData.cTr.cloneFromProps(this.transformMat.props);\r\n var r = this.contextData.cTr.props;\r\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13])\r\n } else\r\n this.canvasContext.transform(t[0], t[1], t[4], t[5], t[12], t[13])\r\n }\r\n ,\r\n CanvasRenderer.prototype.ctxOpacity = function(t) {\r\n if (!this.renderConfig.clearCanvas)\r\n return this.canvasContext.globalAlpha *= t < 0 ? 0 : t,\r\n void (this.globalData.currentGlobalAlpha = this.contextData.cO);\r\n this.contextData.cO *= t < 0 ? 0 : t,\r\n this.globalData.currentGlobalAlpha !== this.contextData.cO && (this.canvasContext.globalAlpha = this.contextData.cO,\r\n this.globalData.currentGlobalAlpha = this.contextData.cO)\r\n }\r\n ,\r\n CanvasRenderer.prototype.reset = function() {\r\n this.renderConfig.clearCanvas ? this.contextData.reset() : this.canvasContext.restore()\r\n }\r\n ,\r\n CanvasRenderer.prototype.save = function(t) {\r\n if (this.renderConfig.clearCanvas) {\r\n t && this.canvasContext.save();\r\n var e, r = this.contextData.cTr.props;\r\n this.contextData._length <= this.contextData.cArrPos && this.contextData.duplicate();\r\n var i = this.contextData.saved[this.contextData.cArrPos];\r\n for (e = 0; e < 16; e += 1)\r\n i[e] = r[e];\r\n this.contextData.savedOp[this.contextData.cArrPos] = this.contextData.cO,\r\n this.contextData.cArrPos += 1\r\n } else\r\n this.canvasContext.save()\r\n }\r\n ,\r\n CanvasRenderer.prototype.restore = function(t) {\r\n if (this.renderConfig.clearCanvas) {\r\n t && (this.canvasContext.restore(),\r\n this.globalData.blendMode = \"source-over\"),\r\n this.contextData.cArrPos -= 1;\r\n var e, r = this.contextData.saved[this.contextData.cArrPos], i = this.contextData.cTr.props;\r\n for (e = 0; e < 16; e += 1)\r\n i[e] = r[e];\r\n this.canvasContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]),\r\n r = this.contextData.savedOp[this.contextData.cArrPos],\r\n this.contextData.cO = r,\r\n this.globalData.currentGlobalAlpha !== r && (this.canvasContext.globalAlpha = r,\r\n this.globalData.currentGlobalAlpha = r)\r\n } else\r\n this.canvasContext.restore()\r\n }\r\n ,\r\n CanvasRenderer.prototype.configAnimation = function(t) {\r\n if (this.animationItem.wrapper) {\r\n this.animationItem.container = createTag(\"canvas\");\r\n var e = this.animationItem.container.style;\r\n e.width = \"100%\",\r\n e.height = \"100%\";\r\n var r = \"0px 0px 0px\";\r\n e.transformOrigin = r,\r\n e.mozTransformOrigin = r,\r\n e.webkitTransformOrigin = r,\r\n e[\"-webkit-transform\"] = r,\r\n e.contentVisibility = this.renderConfig.contentVisibility,\r\n this.animationItem.wrapper.appendChild(this.animationItem.container),\r\n this.canvasContext = this.animationItem.container.getContext(\"2d\"),\r\n this.renderConfig.className && this.animationItem.container.setAttribute(\"class\", this.renderConfig.className),\r\n this.renderConfig.id && this.animationItem.container.setAttribute(\"id\", this.renderConfig.id)\r\n } else\r\n this.canvasContext = this.renderConfig.context;\r\n this.data = t,\r\n this.layers = t.layers,\r\n this.transformCanvas = {\r\n w: t.w,\r\n h: t.h,\r\n sx: 0,\r\n sy: 0,\r\n tx: 0,\r\n ty: 0\r\n },\r\n this.setupGlobalData(t, document.body),\r\n this.globalData.canvasContext = this.canvasContext,\r\n this.globalData.renderer = this,\r\n this.globalData.isDashed = !1,\r\n this.globalData.progressiveLoad = this.renderConfig.progressiveLoad,\r\n this.globalData.transformCanvas = this.transformCanvas,\r\n this.elements = createSizedArray(t.layers.length),\r\n this.updateContainerSize()\r\n }\r\n ,\r\n CanvasRenderer.prototype.updateContainerSize = function() {\r\n var t, e, r, i;\r\n if (this.reset(),\r\n this.animationItem.wrapper && this.animationItem.container ? (t = this.animationItem.wrapper.offsetWidth,\r\n e = this.animationItem.wrapper.offsetHeight,\r\n this.animationItem.container.setAttribute(\"width\", t * this.renderConfig.dpr),\r\n this.animationItem.container.setAttribute(\"height\", e * this.renderConfig.dpr)) : (t = this.canvasContext.canvas.width * this.renderConfig.dpr,\r\n e = this.canvasContext.canvas.height * this.renderConfig.dpr),\r\n -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"meet\") || -1 !== this.renderConfig.preserveAspectRatio.indexOf(\"slice\")) {\r\n var a = this.renderConfig.preserveAspectRatio.split(\" \")\r\n , s = a[1] || \"meet\"\r\n , n = a[0] || \"xMidYMid\"\r\n , o = n.substr(0, 4)\r\n , h = n.substr(4);\r\n r = t / e,\r\n (i = this.transformCanvas.w / this.transformCanvas.h) > r && \"meet\" === s || i < r && \"slice\" === s ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr),\r\n this.transformCanvas.sy = t / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = e / (this.transformCanvas.h / this.renderConfig.dpr),\r\n this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr)),\r\n this.transformCanvas.tx = \"xMid\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : \"xMax\" === o && (i < r && \"meet\" === s || i > r && \"slice\" === s) ? (t - this.transformCanvas.w * (e / this.transformCanvas.h)) * this.renderConfig.dpr : 0,\r\n this.transformCanvas.ty = \"YMid\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : \"YMax\" === h && (i > r && \"meet\" === s || i < r && \"slice\" === s) ? (e - this.transformCanvas.h * (t / this.transformCanvas.w)) * this.renderConfig.dpr : 0\r\n } else\r\n \"none\" === this.renderConfig.preserveAspectRatio ? (this.transformCanvas.sx = t / (this.transformCanvas.w / this.renderConfig.dpr),\r\n this.transformCanvas.sy = e / (this.transformCanvas.h / this.renderConfig.dpr),\r\n this.transformCanvas.tx = 0,\r\n this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr,\r\n this.transformCanvas.sy = this.renderConfig.dpr,\r\n this.transformCanvas.tx = 0,\r\n this.transformCanvas.ty = 0);\r\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1],\r\n this.ctxTransform(this.transformCanvas.props),\r\n this.canvasContext.beginPath(),\r\n this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h),\r\n this.canvasContext.closePath(),\r\n this.canvasContext.clip(),\r\n this.renderFrame(this.renderedFrame, !0)\r\n }\r\n ,\r\n CanvasRenderer.prototype.destroy = function() {\r\n var t;\r\n for (this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"),\r\n t = (this.layers ? this.layers.length : 0) - 1; t >= 0; t -= 1)\r\n this.elements[t] && this.elements[t].destroy();\r\n this.elements.length = 0,\r\n this.globalData.canvasContext = null,\r\n this.animationItem.container = null,\r\n this.destroyed = !0\r\n }\r\n ,\r\n CanvasRenderer.prototype.renderFrame = function(t, e) {\r\n if ((this.renderedFrame !== t || !0 !== this.renderConfig.clearCanvas || e) && !this.destroyed && -1 !== t) {\r\n var r;\r\n this.renderedFrame = t,\r\n this.globalData.frameNum = t - this.animationItem._isFirstFrame,\r\n this.globalData.frameId += 1,\r\n this.globalData._mdf = !this.renderConfig.clearCanvas || e,\r\n this.globalData.projectInterface.currentFrame = t;\r\n var i = this.layers.length;\r\n for (this.completeLayers || this.checkLayers(t),\r\n r = 0; r < i; r += 1)\r\n (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(t - this.layers[r].st);\r\n if (this.globalData._mdf) {\r\n for (!0 === this.renderConfig.clearCanvas ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(),\r\n r = i - 1; r >= 0; r -= 1)\r\n (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame();\r\n !0 !== this.renderConfig.clearCanvas && this.restore()\r\n }\r\n }\r\n }\r\n ,\r\n CanvasRenderer.prototype.buildItem = function(t) {\r\n var e = this.elements;\r\n if (!e[t] && 99 !== this.layers[t].ty) {\r\n var r = this.createItem(this.layers[t], this, this.globalData);\r\n e[t] = r,\r\n r.initExpressions()\r\n }\r\n }\r\n ,\r\n CanvasRenderer.prototype.checkPendingElements = function() {\r\n for (; this.pendingElements.length; ) {\r\n this.pendingElements.pop().checkParenting()\r\n }\r\n }\r\n ,\r\n CanvasRenderer.prototype.hide = function() {\r\n this.animationItem.container.style.display = \"none\"\r\n }\r\n ,\r\n CanvasRenderer.prototype.show = function() {\r\n this.animationItem.container.style.display = \"block\"\r\n }\r\n ,\r\n extendPrototype([BaseRenderer], HybridRenderer),\r\n HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem,\r\n HybridRenderer.prototype.checkPendingElements = function() {\r\n for (; this.pendingElements.length; ) {\r\n this.pendingElements.pop().checkParenting()\r\n }\r\n }\r\n ,\r\n HybridRenderer.prototype.appendElementInPos = function(t, e) {\r\n var r = t.getBaseElement();\r\n if (r) {\r\n var i = this.layers[e];\r\n if (i.ddd && this.supports3d)\r\n this.addTo3dContainer(r, e);\r\n else if (this.threeDElements)\r\n this.addTo3dContainer(r, e);\r\n else {\r\n for (var a, s, n = 0; n < e; )\r\n this.elements[n] && !0 !== this.elements[n] && this.elements[n].getBaseElement && (s = this.elements[n],\r\n a = (this.layers[n].ddd ? this.getThreeDContainerByPos(n) : s.getBaseElement()) || a),\r\n n += 1;\r\n a ? i.ddd && this.supports3d || this.layerElement.insertBefore(r, a) : i.ddd && this.supports3d || this.layerElement.appendChild(r)\r\n }\r\n }\r\n }\r\n ,\r\n HybridRenderer.prototype.createShape = function(t) {\r\n return this.supports3d ? new HShapeElement(t,this.globalData,this) : new SVGShapeElement(t,this.globalData,this)\r\n }\r\n ,\r\n HybridRenderer.prototype.createText = function(t) {\r\n return this.supports3d ? new HTextElement(t,this.globalData,this) : new SVGTextLottieElement(t,this.globalData,this)\r\n }\r\n ,\r\n HybridRenderer.prototype.createCamera = function(t) {\r\n return this.camera = new HCameraElement(t,this.globalData,this),\r\n this.camera\r\n }\r\n ,\r\n HybridRenderer.prototype.createImage = function(t) {\r\n return this.supports3d ? new HImageElement(t,this.globalData,this) : new IImageElement(t,this.globalData,this)\r\n }\r\n ,\r\n HybridRenderer.prototype.createComp = function(t) {\r\n return this.supports3d ? new HCompElement(t,this.globalData,this) : new SVGCompElement(t,this.globalData,this)\r\n }\r\n ,\r\n HybridRenderer.prototype.createSolid = function(t) {\r\n return this.supports3d ? new HSolidElement(t,this.globalData,this) : new ISolidElement(t,this.globalData,this)\r\n }\r\n ,\r\n HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull,\r\n HybridRenderer.prototype.getThreeDContainerByPos = function(t) {\r\n for (var e = 0, r = this.threeDElements.length; e < r; ) {\r\n if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t)\r\n return this.threeDElements[e].perspectiveElem;\r\n e += 1\r\n }\r\n return null\r\n }\r\n ,\r\n HybridRenderer.prototype.createThreeDContainer = function(t, e) {\r\n var r, i, a = createTag(\"div\");\r\n styleDiv(a);\r\n var s = createTag(\"div\");\r\n if (styleDiv(s),\r\n \"3d\" === e) {\r\n (r = a.style).width = this.globalData.compSize.w + \"px\",\r\n r.height = this.globalData.compSize.h + \"px\";\r\n r.webkitTransformOrigin = \"50% 50%\",\r\n r.mozTransformOrigin = \"50% 50%\",\r\n r.transformOrigin = \"50% 50%\";\r\n var n = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\r\n (i = s.style).transform = n,\r\n i.webkitTransform = n\r\n }\r\n a.appendChild(s);\r\n var o = {\r\n container: s,\r\n perspectiveElem: a,\r\n startPos: t,\r\n endPos: t,\r\n type: e\r\n };\r\n return this.threeDElements.push(o),\r\n o\r\n }\r\n ,\r\n HybridRenderer.prototype.build3dContainers = function() {\r\n var t, e, r = this.layers.length, i = \"\";\r\n for (t = 0; t < r; t += 1)\r\n this.layers[t].ddd && 3 !== this.layers[t].ty ? (\"3d\" !== i && (i = \"3d\",\r\n e = this.createThreeDContainer(t, \"3d\")),\r\n e.endPos = Math.max(e.endPos, t)) : (\"2d\" !== i && (i = \"2d\",\r\n e = this.createThreeDContainer(t, \"2d\")),\r\n e.endPos = Math.max(e.endPos, t));\r\n for (t = (r = this.threeDElements.length) - 1; t >= 0; t -= 1)\r\n this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)\r\n }\r\n ,\r\n HybridRenderer.prototype.addTo3dContainer = function(t, e) {\r\n for (var r = 0, i = this.threeDElements.length; r < i; ) {\r\n if (e <= this.threeDElements[r].endPos) {\r\n for (var a, s = this.threeDElements[r].startPos; s < e; )\r\n this.elements[s] && this.elements[s].getBaseElement && (a = this.elements[s].getBaseElement()),\r\n s += 1;\r\n a ? this.threeDElements[r].container.insertBefore(t, a) : this.threeDElements[r].container.appendChild(t);\r\n break\r\n }\r\n r += 1\r\n }\r\n }\r\n ,\r\n HybridRenderer.prototype.configAnimation = function(t) {\r\n var e = createTag(\"div\")\r\n , r = this.animationItem.wrapper\r\n , i = e.style;\r\n i.width = t.w + \"px\",\r\n i.height = t.h + \"px\",\r\n this.resizerElem = e,\r\n styleDiv(e),\r\n i.transformStyle = \"flat\",\r\n i.mozTransformStyle = \"flat\",\r\n i.webkitTransformStyle = \"flat\",\r\n this.renderConfig.className && e.setAttribute(\"class\", this.renderConfig.className),\r\n r.appendChild(e),\r\n i.overflow = \"hidden\";\r\n var a = createNS(\"svg\");\r\n a.setAttribute(\"width\", \"1\"),\r\n a.setAttribute(\"height\", \"1\"),\r\n styleDiv(a),\r\n this.resizerElem.appendChild(a);\r\n var s = createNS(\"defs\");\r\n a.appendChild(s),\r\n this.data = t,\r\n this.setupGlobalData(t, a),\r\n this.globalData.defs = s,\r\n this.layers = t.layers,\r\n this.layerElement = this.resizerElem,\r\n this.build3dContainers(),\r\n this.updateContainerSize()\r\n }\r\n ,\r\n HybridRenderer.prototype.destroy = function() {\r\n var t;\r\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"),\r\n this.animationItem.container = null,\r\n this.globalData.defs = null;\r\n var e = this.layers ? this.layers.length : 0;\r\n for (t = 0; t < e; t += 1)\r\n this.elements[t].destroy();\r\n this.elements.length = 0,\r\n this.destroyed = !0,\r\n this.animationItem = null\r\n }\r\n ,\r\n HybridRenderer.prototype.updateContainerSize = function() {\r\n var t, e, r, i, a = this.animationItem.wrapper.offsetWidth, s = this.animationItem.wrapper.offsetHeight, n = a / s;\r\n this.globalData.compSize.w / this.globalData.compSize.h > n ? (t = a / this.globalData.compSize.w,\r\n e = a / this.globalData.compSize.w,\r\n r = 0,\r\n i = (s - this.globalData.compSize.h * (a / this.globalData.compSize.w)) / 2) : (t = s / this.globalData.compSize.h,\r\n e = s / this.globalData.compSize.h,\r\n r = (a - this.globalData.compSize.w * (s / this.globalData.compSize.h)) / 2,\r\n i = 0);\r\n var o = this.resizerElem.style;\r\n o.webkitTransform = \"matrix3d(\" + t + \",0,0,0,0,\" + e + \",0,0,0,0,1,0,\" + r + \",\" + i + \",0,1)\",\r\n o.transform = o.webkitTransform\r\n }\r\n ,\r\n HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame,\r\n HybridRenderer.prototype.hide = function() {\r\n this.resizerElem.style.display = \"none\"\r\n }\r\n ,\r\n HybridRenderer.prototype.show = function() {\r\n this.resizerElem.style.display = \"block\"\r\n }\r\n ,\r\n HybridRenderer.prototype.initItems = function() {\r\n if (this.buildAllItems(),\r\n this.camera)\r\n this.camera.setup();\r\n else {\r\n var t, e = this.globalData.compSize.w, r = this.globalData.compSize.h, i = this.threeDElements.length;\r\n for (t = 0; t < i; t += 1) {\r\n var a = this.threeDElements[t].perspectiveElem.style;\r\n a.webkitPerspective = Math.sqrt(Math.pow(e, 2) + Math.pow(r, 2)) + \"px\",\r\n a.perspective = a.webkitPerspective\r\n }\r\n }\r\n }\r\n ,\r\n HybridRenderer.prototype.searchExtraCompositions = function(t) {\r\n var e, r = t.length, i = createTag(\"div\");\r\n for (e = 0; e < r; e += 1)\r\n if (t[e].xt) {\r\n var a = this.createComp(t[e], i, this.globalData.comp, null);\r\n a.initExpressions(),\r\n this.globalData.projectInterface.registerComposition(a)\r\n }\r\n }\r\n ,\r\n MaskElement.prototype.getMaskProperty = function(t) {\r\n return this.viewData[t].prop\r\n }\r\n ,\r\n MaskElement.prototype.renderFrame = function(t) {\r\n var e, r = this.element.finalTransform.mat, i = this.masksProperties.length;\r\n for (e = 0; e < i; e += 1)\r\n if ((this.viewData[e].prop._mdf || t) && this.drawPath(this.masksProperties[e], this.viewData[e].prop.v, this.viewData[e]),\r\n (this.viewData[e].op._mdf || t) && this.viewData[e].elem.setAttribute(\"fill-opacity\", this.viewData[e].op.v),\r\n \"n\" !== this.masksProperties[e].mode && (this.viewData[e].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[e].invRect.setAttribute(\"transform\", r.getInverseMatrix().to2dCSS()),\r\n this.storedData[e].x && (this.storedData[e].x._mdf || t))) {\r\n var a = this.storedData[e].expan;\r\n this.storedData[e].x.v < 0 ? (\"erode\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"erode\",\r\n this.storedData[e].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + this.storedData[e].filterId + \")\")),\r\n a.setAttribute(\"radius\", -this.storedData[e].x.v)) : (\"dilate\" !== this.storedData[e].lastOperator && (this.storedData[e].lastOperator = \"dilate\",\r\n this.storedData[e].elem.setAttribute(\"filter\", null)),\r\n this.storedData[e].elem.setAttribute(\"stroke-width\", 2 * this.storedData[e].x.v))\r\n }\r\n }\r\n ,\r\n MaskElement.prototype.getMaskelement = function() {\r\n return this.maskElement\r\n }\r\n ,\r\n MaskElement.prototype.createLayerSolidPath = function() {\r\n var t = \"M0,0 \";\r\n return t += \" h\" + this.globalData.compSize.w,\r\n t += \" v\" + this.globalData.compSize.h,\r\n t += \" h-\" + this.globalData.compSize.w,\r\n t += \" v-\" + this.globalData.compSize.h + \" \"\r\n }\r\n ,\r\n MaskElement.prototype.drawPath = function(t, e, r) {\r\n var i, a, s = \" M\" + e.v[0][0] + \",\" + e.v[0][1];\r\n for (a = e._length,\r\n i = 1; i < a; i += 1)\r\n s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[i][0] + \",\" + e.i[i][1] + \" \" + e.v[i][0] + \",\" + e.v[i][1];\r\n if (e.c && a > 1 && (s += \" C\" + e.o[i - 1][0] + \",\" + e.o[i - 1][1] + \" \" + e.i[0][0] + \",\" + e.i[0][1] + \" \" + e.v[0][0] + \",\" + e.v[0][1]),\r\n r.lastPath !== s) {\r\n var n = \"\";\r\n r.elem && (e.c && (n = t.inv ? this.solidPath + s : s),\r\n r.elem.setAttribute(\"d\", n)),\r\n r.lastPath = s\r\n }\r\n }\r\n ,\r\n MaskElement.prototype.destroy = function() {\r\n this.element = null,\r\n this.globalData = null,\r\n this.maskElement = null,\r\n this.data = null,\r\n this.masksProperties = null\r\n }\r\n ,\r\n HierarchyElement.prototype = {\r\n initHierarchy: function() {\r\n this.hierarchy = [],\r\n this._isParent = !1,\r\n this.checkParenting()\r\n },\r\n setHierarchy: function(t) {\r\n this.hierarchy = t\r\n },\r\n setAsParent: function() {\r\n this._isParent = !0\r\n },\r\n checkParenting: function() {\r\n void 0 !== this.data.parent && this.comp.buildElementParenting(this, this.data.parent, [])\r\n }\r\n },\r\n FrameElement.prototype = {\r\n initFrame: function() {\r\n this._isFirstFrame = !1,\r\n this.dynamicProperties = [],\r\n this._mdf = !1\r\n },\r\n prepareProperties: function(t, e) {\r\n var r, i = this.dynamicProperties.length;\r\n for (r = 0; r < i; r += 1)\r\n (e || this._isParent && \"transform\" === this.dynamicProperties[r].propType) && (this.dynamicProperties[r].getValue(),\r\n this.dynamicProperties[r]._mdf && (this.globalData._mdf = !0,\r\n this._mdf = !0))\r\n },\r\n addDynamicProperty: function(t) {\r\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t)\r\n }\r\n },\r\n TransformElement.prototype = {\r\n initTransform: function() {\r\n this.finalTransform = {\r\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\r\n o: 0\r\n },\r\n _matMdf: !1,\r\n _opMdf: !1,\r\n mat: new Matrix\r\n },\r\n this.data.ao && (this.finalTransform.mProp.autoOriented = !0),\r\n this.data.ty\r\n },\r\n renderTransform: function() {\r\n if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame,\r\n this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame,\r\n this.hierarchy) {\r\n var t, e = this.finalTransform.mat, r = 0, i = this.hierarchy.length;\r\n if (!this.finalTransform._matMdf)\r\n for (; r < i; ) {\r\n if (this.hierarchy[r].finalTransform.mProp._mdf) {\r\n this.finalTransform._matMdf = !0;\r\n break\r\n }\r\n r += 1\r\n }\r\n if (this.finalTransform._matMdf)\r\n for (t = this.finalTransform.mProp.v.props,\r\n e.cloneFromProps(t),\r\n r = 0; r < i; r += 1)\r\n t = this.hierarchy[r].finalTransform.mProp.v.props,\r\n e.transform(t[0], t[1], t[2], t[3], t[4], t[5], t[6], t[7], t[8], t[9], t[10], t[11], t[12], t[13], t[14], t[15])\r\n }\r\n },\r\n globalToLocal: function(t) {\r\n var e = [];\r\n e.push(this.finalTransform);\r\n for (var r, i = !0, a = this.comp; i; )\r\n a.finalTransform ? (a.data.hasMask && e.splice(0, 0, a.finalTransform),\r\n a = a.comp) : i = !1;\r\n var s, n = e.length;\r\n for (r = 0; r < n; r += 1)\r\n s = e[r].mat.applyToPointArray(0, 0, 0),\r\n t = [t[0] - s[0], t[1] - s[1], 0];\r\n return t\r\n },\r\n mHelper: new Matrix\r\n },\r\n RenderableElement.prototype = {\r\n initRenderable: function() {\r\n this.isInRange = !1,\r\n this.hidden = !1,\r\n this.isTransparent = !1,\r\n this.renderableComponents = []\r\n },\r\n addRenderableComponent: function(t) {\r\n -1 === this.renderableComponents.indexOf(t) && this.renderableComponents.push(t)\r\n },\r\n removeRenderableComponent: function(t) {\r\n -1 !== this.renderableComponents.indexOf(t) && this.renderableComponents.splice(this.renderableComponents.indexOf(t), 1)\r\n },\r\n prepareRenderableFrame: function(t) {\r\n this.checkLayerLimits(t)\r\n },\r\n checkTransparency: function() {\r\n this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0,\r\n this.hide()) : this.isTransparent && (this.isTransparent = !1,\r\n this.show())\r\n },\r\n checkLayerLimits: function(t) {\r\n this.data.ip - this.data.st <= t && this.data.op - this.data.st > t ? !0 !== this.isInRange && (this.globalData._mdf = !0,\r\n this._mdf = !0,\r\n this.isInRange = !0,\r\n this.show()) : !1 !== this.isInRange && (this.globalData._mdf = !0,\r\n this.isInRange = !1,\r\n this.hide())\r\n },\r\n renderRenderable: function() {\r\n var t, e = this.renderableComponents.length;\r\n for (t = 0; t < e; t += 1)\r\n this.renderableComponents[t].renderFrame(this._isFirstFrame)\r\n },\r\n sourceRectAtTime: function() {\r\n return {\r\n top: 0,\r\n left: 0,\r\n width: 100,\r\n height: 100\r\n }\r\n },\r\n getLayerSize: function() {\r\n return 5 === this.data.ty ? {\r\n w: this.data.textData.width,\r\n h: this.data.textData.height\r\n } : {\r\n w: this.data.width,\r\n h: this.data.height\r\n }\r\n }\r\n },\r\n extendPrototype([RenderableElement, createProxyFunction({\r\n initElement: function(t, e, r) {\r\n this.initFrame(),\r\n this.initBaseData(t, e, r),\r\n this.initTransform(t, e, r),\r\n this.initHierarchy(),\r\n this.initRenderable(),\r\n this.initRendererElement(),\r\n this.createContainerElements(),\r\n this.createRenderableComponents(),\r\n this.createContent(),\r\n this.hide()\r\n },\r\n hide: function() {\r\n this.hidden || this.isInRange && !this.isTransparent || ((this.baseElement || this.layerElement).style.display = \"none\",\r\n this.hidden = !0)\r\n },\r\n show: function() {\r\n this.isInRange && !this.isTransparent && (this.data.hd || ((this.baseElement || this.layerElement).style.display = \"block\"),\r\n this.hidden = !1,\r\n this._isFirstFrame = !0)\r\n },\r\n renderFrame: function() {\r\n this.data.hd || this.hidden || (this.renderTransform(),\r\n this.renderRenderable(),\r\n this.renderElement(),\r\n this.renderInnerContent(),\r\n this._isFirstFrame && (this._isFirstFrame = !1))\r\n },\r\n renderInnerContent: function() {},\r\n prepareFrame: function(t) {\r\n this._mdf = !1,\r\n this.prepareRenderableFrame(t),\r\n this.prepareProperties(t, this.isInRange),\r\n this.checkTransparency()\r\n },\r\n destroy: function() {\r\n this.innerElem = null,\r\n this.destroyBaseElement()\r\n }\r\n })], RenderableDOMElement),\r\n SVGStyleData.prototype.reset = function() {\r\n this.d = \"\",\r\n this._mdf = !1\r\n }\r\n ,\r\n SVGShapeData.prototype.setAsAnimated = function() {\r\n this._isAnimated = !0\r\n }\r\n ,\r\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData),\r\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData),\r\n SVGGradientFillStyleData.prototype.initGradientData = function(t, e, r) {\r\n this.o = PropertyFactory.getProp(t, e.o, 0, .01, this),\r\n this.s = PropertyFactory.getProp(t, e.s, 1, null, this),\r\n this.e = PropertyFactory.getProp(t, e.e, 1, null, this),\r\n this.h = PropertyFactory.getProp(t, e.h || {\r\n k: 0\r\n }, 0, .01, this),\r\n this.a = PropertyFactory.getProp(t, e.a || {\r\n k: 0\r\n }, 0, degToRads, this),\r\n this.g = new GradientProperty(t,e.g,this),\r\n this.style = r,\r\n this.stops = [],\r\n this.setGradientData(r.pElem, e),\r\n this.setGradientOpacity(e, r),\r\n this._isAnimated = !!this._isAnimated\r\n }\r\n ,\r\n SVGGradientFillStyleData.prototype.setGradientData = function(t, e) {\r\n var r = createElementID()\r\n , i = createNS(1 === e.t ? \"linearGradient\" : \"radialGradient\");\r\n i.setAttribute(\"id\", r),\r\n i.setAttribute(\"spreadMethod\", \"pad\"),\r\n i.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\r\n var a, s, n, o = [];\r\n for (n = 4 * e.g.p,\r\n s = 0; s < n; s += 4)\r\n a = createNS(\"stop\"),\r\n i.appendChild(a),\r\n o.push(a);\r\n t.setAttribute(\"gf\" === e.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + r + \")\"),\r\n this.gf = i,\r\n this.cst = o\r\n }\r\n ,\r\n SVGGradientFillStyleData.prototype.setGradientOpacity = function(t, e) {\r\n if (this.g._hasOpacity && !this.g._collapsable) {\r\n var r, i, a, s = createNS(\"mask\"), n = createNS(\"path\");\r\n s.appendChild(n);\r\n var o = createElementID()\r\n , h = createElementID();\r\n s.setAttribute(\"id\", h);\r\n var l = createNS(1 === t.t ? \"linearGradient\" : \"radialGradient\");\r\n l.setAttribute(\"id\", o),\r\n l.setAttribute(\"spreadMethod\", \"pad\"),\r\n l.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"),\r\n a = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length;\r\n var p = this.stops;\r\n for (i = 4 * t.g.p; i < a; i += 2)\r\n (r = createNS(\"stop\")).setAttribute(\"stop-color\", \"rgb(255,255,255)\"),\r\n l.appendChild(r),\r\n p.push(r);\r\n n.setAttribute(\"gf\" === t.ty ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + o + \")\"),\r\n \"gs\" === t.ty && (n.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]),\r\n n.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]),\r\n 1 === t.lj && n.setAttribute(\"stroke-miterlimit\", t.ml)),\r\n this.of = l,\r\n this.ms = s,\r\n this.ost = p,\r\n this.maskId = h,\r\n e.msElem = n\r\n }\r\n }\r\n ,\r\n extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData),\r\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\r\n var SVGElementsRenderer = function() {\r\n var t = new Matrix\r\n , e = new Matrix;\r\n function r(t, e, r) {\r\n (r || e.transform.op._mdf) && e.transform.container.setAttribute(\"opacity\", e.transform.op.v),\r\n (r || e.transform.mProps._mdf) && e.transform.container.setAttribute(\"transform\", e.transform.mProps.v.to2dCSS())\r\n }\r\n function i(r, i, a) {\r\n var s, n, o, h, l, p, c, f, d, m, u, y = i.styles.length, g = i.lvl;\r\n for (p = 0; p < y; p += 1) {\r\n if (h = i.sh._mdf || a,\r\n i.styles[p].lvl < g) {\r\n for (f = e.reset(),\r\n m = g - i.styles[p].lvl,\r\n u = i.transformers.length - 1; !h && m > 0; )\r\n h = i.transformers[u].mProps._mdf || h,\r\n m -= 1,\r\n u -= 1;\r\n if (h)\r\n for (m = g - i.styles[p].lvl,\r\n u = i.transformers.length - 1; m > 0; )\r\n d = i.transformers[u].mProps.v.props,\r\n f.transform(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7], d[8], d[9], d[10], d[11], d[12], d[13], d[14], d[15]),\r\n m -= 1,\r\n u -= 1\r\n } else\r\n f = t;\r\n if (n = (c = i.sh.paths)._length,\r\n h) {\r\n for (o = \"\",\r\n s = 0; s < n; s += 1)\r\n (l = c.shapes[s]) && l._length && (o += buildShapeString(l, l._length, l.c, f));\r\n i.caches[p] = o\r\n } else\r\n o = i.caches[p];\r\n i.styles[p].d += !0 === r.hd ? \"\" : o,\r\n i.styles[p]._mdf = h || i.styles[p]._mdf\r\n }\r\n }\r\n function a(t, e, r) {\r\n var i = e.style;\r\n (e.c._mdf || r) && i.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"),\r\n (e.o._mdf || r) && i.pElem.setAttribute(\"fill-opacity\", e.o.v)\r\n }\r\n function s(t, e, r) {\r\n n(t, e, r),\r\n o(t, e, r)\r\n }\r\n function n(t, e, r) {\r\n var i, a, s, n, o, h = e.gf, l = e.g._hasOpacity, p = e.s.v, c = e.e.v;\r\n if (e.o._mdf || r) {\r\n var f = \"gf\" === t.ty ? \"fill-opacity\" : \"stroke-opacity\";\r\n e.style.pElem.setAttribute(f, e.o.v)\r\n }\r\n if (e.s._mdf || r) {\r\n var d = 1 === t.t ? \"x1\" : \"cx\"\r\n , m = \"x1\" === d ? \"y1\" : \"cy\";\r\n h.setAttribute(d, p[0]),\r\n h.setAttribute(m, p[1]),\r\n l && !e.g._collapsable && (e.of.setAttribute(d, p[0]),\r\n e.of.setAttribute(m, p[1]))\r\n }\r\n if (e.g._cmdf || r) {\r\n i = e.cst;\r\n var u = e.g.c;\r\n for (s = i.length,\r\n a = 0; a < s; a += 1)\r\n (n = i[a]).setAttribute(\"offset\", u[4 * a] + \"%\"),\r\n n.setAttribute(\"stop-color\", \"rgb(\" + u[4 * a + 1] + \",\" + u[4 * a + 2] + \",\" + u[4 * a + 3] + \")\")\r\n }\r\n if (l && (e.g._omdf || r)) {\r\n var y = e.g.o;\r\n for (s = (i = e.g._collapsable ? e.cst : e.ost).length,\r\n a = 0; a < s; a += 1)\r\n n = i[a],\r\n e.g._collapsable || n.setAttribute(\"offset\", y[2 * a] + \"%\"),\r\n n.setAttribute(\"stop-opacity\", y[2 * a + 1])\r\n }\r\n if (1 === t.t)\r\n (e.e._mdf || r) && (h.setAttribute(\"x2\", c[0]),\r\n h.setAttribute(\"y2\", c[1]),\r\n l && !e.g._collapsable && (e.of.setAttribute(\"x2\", c[0]),\r\n e.of.setAttribute(\"y2\", c[1])));\r\n else if ((e.s._mdf || e.e._mdf || r) && (o = Math.sqrt(Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)),\r\n h.setAttribute(\"r\", o),\r\n l && !e.g._collapsable && e.of.setAttribute(\"r\", o)),\r\n e.e._mdf || e.h._mdf || e.a._mdf || r) {\r\n o || (o = Math.sqrt(Math.pow(p[0] - c[0], 2) + Math.pow(p[1] - c[1], 2)));\r\n var g = Math.atan2(c[1] - p[1], c[0] - p[0])\r\n , v = e.h.v;\r\n v >= 1 ? v = .99 : v <= -1 && (v = -.99);\r\n var b = o * v\r\n , P = Math.cos(g + e.a.v) * b + p[0]\r\n , _ = Math.sin(g + e.a.v) * b + p[1];\r\n h.setAttribute(\"fx\", P),\r\n h.setAttribute(\"fy\", _),\r\n l && !e.g._collapsable && (e.of.setAttribute(\"fx\", P),\r\n e.of.setAttribute(\"fy\", _))\r\n }\r\n }\r\n function o(t, e, r) {\r\n var i = e.style\r\n , a = e.d;\r\n a && (a._mdf || r) && a.dashStr && (i.pElem.setAttribute(\"stroke-dasharray\", a.dashStr),\r\n i.pElem.setAttribute(\"stroke-dashoffset\", a.dashoffset[0])),\r\n e.c && (e.c._mdf || r) && i.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"),\r\n (e.o._mdf || r) && i.pElem.setAttribute(\"stroke-opacity\", e.o.v),\r\n (e.w._mdf || r) && (i.pElem.setAttribute(\"stroke-width\", e.w.v),\r\n i.msElem && i.msElem.setAttribute(\"stroke-width\", e.w.v))\r\n }\r\n return {\r\n createRenderFunction: function(t) {\r\n switch (t.ty) {\r\n case \"fl\":\r\n return a;\r\n case \"gf\":\r\n return n;\r\n case \"gs\":\r\n return s;\r\n case \"st\":\r\n return o;\r\n case \"sh\":\r\n case \"el\":\r\n case \"rc\":\r\n case \"sr\":\r\n return i;\r\n case \"tr\":\r\n return r;\r\n default:\r\n return null\r\n }\r\n }\r\n }\r\n }();\r\n function ShapeTransformManager() {\r\n this.sequences = {},\r\n this.sequenceList = [],\r\n this.transform_key_count = 0\r\n }\r\n function CVShapeData(t, e, r, i) {\r\n this.styledShapes = [],\r\n this.tr = [0, 0, 0, 0, 0, 0];\r\n var a, s = 4;\r\n \"rc\" === e.ty ? s = 5 : \"el\" === e.ty ? s = 6 : \"sr\" === e.ty && (s = 7),\r\n this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t);\r\n var n, o = r.length;\r\n for (a = 0; a < o; a += 1)\r\n r[a].closed || (n = {\r\n transforms: i.addTransformSequence(r[a].transforms),\r\n trNodes: []\r\n },\r\n this.styledShapes.push(n),\r\n r[a].elements.push(n))\r\n }\r\n function BaseElement() {}\r\n function NullElement(t, e, r) {\r\n this.initFrame(),\r\n this.initBaseData(t, e, r),\r\n this.initFrame(),\r\n this.initTransform(t, e, r),\r\n this.initHierarchy()\r\n }\r\n function SVGBaseElement() {}\r\n function IShapeElement() {}\r\n function ITextElement() {}\r\n function ICompElement() {}\r\n function IImageElement(t, e, r) {\r\n this.assetData = e.getAssetData(t.refId),\r\n this.initElement(t, e, r),\r\n this.sourceRect = {\r\n top: 0,\r\n left: 0,\r\n width: this.assetData.w,\r\n height: this.assetData.h\r\n }\r\n }\r\n function ISolidElement(t, e, r) {\r\n this.initElement(t, e, r)\r\n }\r\n function AudioElement(t, e, r) {\r\n this.initFrame(),\r\n this.initRenderable(),\r\n this.assetData = e.getAssetData(t.refId),\r\n this.initBaseData(t, e, r),\r\n this._isPlaying = !1,\r\n this._canPlay = !1;\r\n var i = this.globalData.getAssetsPath(this.assetData);\r\n this.audio = this.globalData.audioController.createAudio(i),\r\n this._currentTime = 0,\r\n this.globalData.audioController.addAudio(this),\r\n this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\r\n _placeholder: !0\r\n }\r\n }\r\n function FootageElement(t, e, r) {\r\n this.initFrame(),\r\n this.initRenderable(),\r\n this.assetData = e.getAssetData(t.refId),\r\n this.footageData = e.imageLoader.getAsset(this.assetData),\r\n this.initBaseData(t, e, r)\r\n }\r\n function SVGCompElement(t, e, r) {\r\n this.layers = t.layers,\r\n this.supports3d = !0,\r\n this.completeLayers = !1,\r\n this.pendingElements = [],\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [],\r\n this.initElement(t, e, r),\r\n this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\r\n _placeholder: !0\r\n }\r\n }\r\n function SVGTextLottieElement(t, e, r) {\r\n this.textSpans = [],\r\n this.renderType = \"svg\",\r\n this.initElement(t, e, r)\r\n }\r\n function SVGShapeElement(t, e, r) {\r\n this.shapes = [],\r\n this.shapesData = t.shapes,\r\n this.stylesList = [],\r\n this.shapeModifiers = [],\r\n this.itemsData = [],\r\n this.processedElements = [],\r\n this.animatedContents = [],\r\n this.initElement(t, e, r),\r\n this.prevViewData = []\r\n }\r\n function SVGTintFilter(t, e) {\r\n this.filterManager = e;\r\n var r = createNS(\"feColorMatrix\");\r\n if (r.setAttribute(\"type\", \"matrix\"),\r\n r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"),\r\n r.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"),\r\n r.setAttribute(\"result\", \"f1\"),\r\n t.appendChild(r),\r\n (r = createNS(\"feColorMatrix\")).setAttribute(\"type\", \"matrix\"),\r\n r.setAttribute(\"color-interpolation-filters\", \"sRGB\"),\r\n r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"),\r\n r.setAttribute(\"result\", \"f2\"),\r\n t.appendChild(r),\r\n this.matrixFilter = r,\r\n 100 !== e.effectElements[2].p.v || e.effectElements[2].p.k) {\r\n var i, a = createNS(\"feMerge\");\r\n t.appendChild(a),\r\n (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"),\r\n a.appendChild(i),\r\n (i = createNS(\"feMergeNode\")).setAttribute(\"in\", \"f2\"),\r\n a.appendChild(i)\r\n }\r\n }\r\n function SVGFillFilter(t, e) {\r\n this.filterManager = e;\r\n var r = createNS(\"feColorMatrix\");\r\n r.setAttribute(\"type\", \"matrix\"),\r\n r.setAttribute(\"color-interpolation-filters\", \"sRGB\"),\r\n r.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"),\r\n t.appendChild(r),\r\n this.matrixFilter = r\r\n }\r\n function SVGGaussianBlurEffect(t, e) {\r\n t.setAttribute(\"x\", \"-100%\"),\r\n t.setAttribute(\"y\", \"-100%\"),\r\n t.setAttribute(\"width\", \"300%\"),\r\n t.setAttribute(\"height\", \"300%\"),\r\n this.filterManager = e;\r\n var r = createNS(\"feGaussianBlur\");\r\n t.appendChild(r),\r\n this.feGaussianBlur = r\r\n }\r\n function SVGStrokeEffect(t, e) {\r\n this.initialized = !1,\r\n this.filterManager = e,\r\n this.elem = t,\r\n this.paths = []\r\n }\r\n function SVGTritoneFilter(t, e) {\r\n this.filterManager = e;\r\n var r = createNS(\"feColorMatrix\");\r\n r.setAttribute(\"type\", \"matrix\"),\r\n r.setAttribute(\"color-interpolation-filters\", \"linearRGB\"),\r\n r.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"),\r\n r.setAttribute(\"result\", \"f1\"),\r\n t.appendChild(r);\r\n var i = createNS(\"feComponentTransfer\");\r\n i.setAttribute(\"color-interpolation-filters\", \"sRGB\"),\r\n t.appendChild(i),\r\n this.matrixFilter = i;\r\n var a = createNS(\"feFuncR\");\r\n a.setAttribute(\"type\", \"table\"),\r\n i.appendChild(a),\r\n this.feFuncR = a;\r\n var s = createNS(\"feFuncG\");\r\n s.setAttribute(\"type\", \"table\"),\r\n i.appendChild(s),\r\n this.feFuncG = s;\r\n var n = createNS(\"feFuncB\");\r\n n.setAttribute(\"type\", \"table\"),\r\n i.appendChild(n),\r\n this.feFuncB = n\r\n }\r\n function SVGProLevelsFilter(t, e) {\r\n this.filterManager = e;\r\n var r = this.filterManager.effectElements\r\n , i = createNS(\"feComponentTransfer\");\r\n (r[10].p.k || 0 !== r[10].p.v || r[11].p.k || 1 !== r[11].p.v || r[12].p.k || 1 !== r[12].p.v || r[13].p.k || 0 !== r[13].p.v || r[14].p.k || 1 !== r[14].p.v) && (this.feFuncR = this.createFeFunc(\"feFuncR\", i)),\r\n (r[17].p.k || 0 !== r[17].p.v || r[18].p.k || 1 !== r[18].p.v || r[19].p.k || 1 !== r[19].p.v || r[20].p.k || 0 !== r[20].p.v || r[21].p.k || 1 !== r[21].p.v) && (this.feFuncG = this.createFeFunc(\"feFuncG\", i)),\r\n (r[24].p.k || 0 !== r[24].p.v || r[25].p.k || 1 !== r[25].p.v || r[26].p.k || 1 !== r[26].p.v || r[27].p.k || 0 !== r[27].p.v || r[28].p.k || 1 !== r[28].p.v) && (this.feFuncB = this.createFeFunc(\"feFuncB\", i)),\r\n (r[31].p.k || 0 !== r[31].p.v || r[32].p.k || 1 !== r[32].p.v || r[33].p.k || 1 !== r[33].p.v || r[34].p.k || 0 !== r[34].p.v || r[35].p.k || 1 !== r[35].p.v) && (this.feFuncA = this.createFeFunc(\"feFuncA\", i)),\r\n (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"),\r\n t.appendChild(i),\r\n i = createNS(\"feComponentTransfer\")),\r\n (r[3].p.k || 0 !== r[3].p.v || r[4].p.k || 1 !== r[4].p.v || r[5].p.k || 1 !== r[5].p.v || r[6].p.k || 0 !== r[6].p.v || r[7].p.k || 1 !== r[7].p.v) && (i.setAttribute(\"color-interpolation-filters\", \"sRGB\"),\r\n t.appendChild(i),\r\n this.feFuncRComposed = this.createFeFunc(\"feFuncR\", i),\r\n this.feFuncGComposed = this.createFeFunc(\"feFuncG\", i),\r\n this.feFuncBComposed = this.createFeFunc(\"feFuncB\", i))\r\n }\r\n function SVGDropShadowEffect(t, e) {\r\n var r = e.container.globalData.renderConfig.filterSize;\r\n t.setAttribute(\"x\", r.x),\r\n t.setAttribute(\"y\", r.y),\r\n t.setAttribute(\"width\", r.width),\r\n t.setAttribute(\"height\", r.height),\r\n this.filterManager = e;\r\n var i = createNS(\"feGaussianBlur\");\r\n i.setAttribute(\"in\", \"SourceAlpha\"),\r\n i.setAttribute(\"result\", \"drop_shadow_1\"),\r\n i.setAttribute(\"stdDeviation\", \"0\"),\r\n this.feGaussianBlur = i,\r\n t.appendChild(i);\r\n var a = createNS(\"feOffset\");\r\n a.setAttribute(\"dx\", \"25\"),\r\n a.setAttribute(\"dy\", \"0\"),\r\n a.setAttribute(\"in\", \"drop_shadow_1\"),\r\n a.setAttribute(\"result\", \"drop_shadow_2\"),\r\n this.feOffset = a,\r\n t.appendChild(a);\r\n var s = createNS(\"feFlood\");\r\n s.setAttribute(\"flood-color\", \"#00ff00\"),\r\n s.setAttribute(\"flood-opacity\", \"1\"),\r\n s.setAttribute(\"result\", \"drop_shadow_3\"),\r\n this.feFlood = s,\r\n t.appendChild(s);\r\n var n = createNS(\"feComposite\");\r\n n.setAttribute(\"in\", \"drop_shadow_3\"),\r\n n.setAttribute(\"in2\", \"drop_shadow_2\"),\r\n n.setAttribute(\"operator\", \"in\"),\r\n n.setAttribute(\"result\", \"drop_shadow_4\"),\r\n t.appendChild(n);\r\n var o, h = createNS(\"feMerge\");\r\n t.appendChild(h),\r\n o = createNS(\"feMergeNode\"),\r\n h.appendChild(o),\r\n (o = createNS(\"feMergeNode\")).setAttribute(\"in\", \"SourceGraphic\"),\r\n this.feMergeNode = o,\r\n this.feMerge = h,\r\n this.originalNodeAdded = !1,\r\n h.appendChild(o)\r\n }\r\n ShapeTransformManager.prototype = {\r\n addTransformSequence: function(t) {\r\n var e, r = t.length, i = \"_\";\r\n for (e = 0; e < r; e += 1)\r\n i += t[e].transform.key + \"_\";\r\n var a = this.sequences[i];\r\n return a || (a = {\r\n transforms: [].concat(t),\r\n finalTransform: new Matrix,\r\n _mdf: !1\r\n },\r\n this.sequences[i] = a,\r\n this.sequenceList.push(a)),\r\n a\r\n },\r\n processSequence: function(t, e) {\r\n for (var r, i = 0, a = t.transforms.length, s = e; i < a && !e; ) {\r\n if (t.transforms[i].transform.mProps._mdf) {\r\n s = !0;\r\n break\r\n }\r\n i += 1\r\n }\r\n if (s)\r\n for (t.finalTransform.reset(),\r\n i = a - 1; i >= 0; i -= 1)\r\n r = t.transforms[i].transform.mProps.v.props,\r\n t.finalTransform.transform(r[0], r[1], r[2], r[3], r[4], r[5], r[6], r[7], r[8], r[9], r[10], r[11], r[12], r[13], r[14], r[15]);\r\n t._mdf = s\r\n },\r\n processSequences: function(t) {\r\n var e, r = this.sequenceList.length;\r\n for (e = 0; e < r; e += 1)\r\n this.processSequence(this.sequenceList[e], t)\r\n },\r\n getNewKey: function() {\r\n return this.transform_key_count += 1,\r\n \"_\" + this.transform_key_count\r\n }\r\n },\r\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated,\r\n BaseElement.prototype = {\r\n checkMasks: function() {\r\n if (!this.data.hasMask)\r\n return !1;\r\n for (var t = 0, e = this.data.masksProperties.length; t < e; ) {\r\n if (\"n\" !== this.data.masksProperties[t].mode && !1 !== this.data.masksProperties[t].cl)\r\n return !0;\r\n t += 1\r\n }\r\n return !1\r\n },\r\n initExpressions: function() {\r\n this.layerInterface = LayerExpressionInterface(this),\r\n this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);\r\n var t = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);\r\n this.layerInterface.registerEffectsInterface(t),\r\n 0 === this.data.ty || this.data.xt ? this.compInterface = CompExpressionInterface(this) : 4 === this.data.ty ? (this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface),\r\n this.layerInterface.content = this.layerInterface.shapeInterface) : 5 === this.data.ty && (this.layerInterface.textInterface = TextExpressionInterface(this),\r\n this.layerInterface.text = this.layerInterface.textInterface)\r\n },\r\n setBlendMode: function() {\r\n var t = getBlendMode(this.data.bm);\r\n (this.baseElement || this.layerElement).style[\"mix-blend-mode\"] = t\r\n },\r\n initBaseData: function(t, e, r) {\r\n this.globalData = e,\r\n this.comp = r,\r\n this.data = t,\r\n this.layerId = createElementID(),\r\n this.data.sr || (this.data.sr = 1),\r\n this.effectsManager = new EffectsManager(this.data,this,this.dynamicProperties)\r\n },\r\n getType: function() {\r\n return this.type\r\n },\r\n sourceRectAtTime: function() {}\r\n },\r\n NullElement.prototype.prepareFrame = function(t) {\r\n this.prepareProperties(t, !0)\r\n }\r\n ,\r\n NullElement.prototype.renderFrame = function() {}\r\n ,\r\n NullElement.prototype.getBaseElement = function() {\r\n return null\r\n }\r\n ,\r\n NullElement.prototype.destroy = function() {}\r\n ,\r\n NullElement.prototype.sourceRectAtTime = function() {}\r\n ,\r\n NullElement.prototype.hide = function() {}\r\n ,\r\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement),\r\n SVGBaseElement.prototype = {\r\n initRendererElement: function() {\r\n this.layerElement = createNS(\"g\")\r\n },\r\n createContainerElements: function() {\r\n this.matteElement = createNS(\"g\"),\r\n this.transformedElement = this.layerElement,\r\n this.maskedElement = this.layerElement,\r\n this._sizeChanged = !1;\r\n var t, e, r, i = null;\r\n if (this.data.td) {\r\n if (3 == this.data.td || 1 == this.data.td) {\r\n var a = createNS(\"mask\");\r\n a.setAttribute(\"id\", this.layerId),\r\n a.setAttribute(\"mask-type\", 3 == this.data.td ? \"luminance\" : \"alpha\"),\r\n a.appendChild(this.layerElement),\r\n i = a,\r\n this.globalData.defs.appendChild(a),\r\n featureSupport.maskType || 1 != this.data.td || (a.setAttribute(\"mask-type\", \"luminance\"),\r\n t = createElementID(),\r\n e = filtersFactory.createFilter(t),\r\n this.globalData.defs.appendChild(e),\r\n e.appendChild(filtersFactory.createAlphaToLuminanceFilter()),\r\n (r = createNS(\"g\")).appendChild(this.layerElement),\r\n i = r,\r\n a.appendChild(r),\r\n r.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"))\r\n } else if (2 == this.data.td) {\r\n var s = createNS(\"mask\");\r\n s.setAttribute(\"id\", this.layerId),\r\n s.setAttribute(\"mask-type\", \"alpha\");\r\n var n = createNS(\"g\");\r\n s.appendChild(n),\r\n t = createElementID(),\r\n e = filtersFactory.createFilter(t);\r\n var o = createNS(\"feComponentTransfer\");\r\n o.setAttribute(\"in\", \"SourceGraphic\"),\r\n e.appendChild(o);\r\n var h = createNS(\"feFuncA\");\r\n h.setAttribute(\"type\", \"table\"),\r\n h.setAttribute(\"tableValues\", \"1.0 0.0\"),\r\n o.appendChild(h),\r\n this.globalData.defs.appendChild(e);\r\n var l = createNS(\"rect\");\r\n l.setAttribute(\"width\", this.comp.data.w),\r\n l.setAttribute(\"height\", this.comp.data.h),\r\n l.setAttribute(\"x\", \"0\"),\r\n l.setAttribute(\"y\", \"0\"),\r\n l.setAttribute(\"fill\", \"#ffffff\"),\r\n l.setAttribute(\"opacity\", \"0\"),\r\n n.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + t + \")\"),\r\n n.appendChild(l),\r\n n.appendChild(this.layerElement),\r\n i = n,\r\n featureSupport.maskType || (s.setAttribute(\"mask-type\", \"luminance\"),\r\n e.appendChild(filtersFactory.createAlphaToLuminanceFilter()),\r\n r = createNS(\"g\"),\r\n n.appendChild(l),\r\n r.appendChild(this.layerElement),\r\n i = r,\r\n n.appendChild(r)),\r\n this.globalData.defs.appendChild(s)\r\n }\r\n } else\r\n this.data.tt ? (this.matteElement.appendChild(this.layerElement),\r\n i = this.matteElement,\r\n this.baseElement = this.matteElement) : this.baseElement = this.layerElement;\r\n if (this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln),\r\n this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl),\r\n 0 === this.data.ty && !this.data.hd) {\r\n var p = createNS(\"clipPath\")\r\n , c = createNS(\"path\");\r\n c.setAttribute(\"d\", \"M0,0 L\" + this.data.w + \",0 L\" + this.data.w + \",\" + this.data.h + \" L0,\" + this.data.h + \"z\");\r\n var f = createElementID();\r\n if (p.setAttribute(\"id\", f),\r\n p.appendChild(c),\r\n this.globalData.defs.appendChild(p),\r\n this.checkMasks()) {\r\n var d = createNS(\"g\");\r\n d.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + f + \")\"),\r\n d.appendChild(this.layerElement),\r\n this.transformedElement = d,\r\n i ? i.appendChild(this.transformedElement) : this.baseElement = this.transformedElement\r\n } else\r\n this.layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + f + \")\")\r\n }\r\n 0 !== this.data.bm && this.setBlendMode()\r\n },\r\n renderElement: function() {\r\n this.finalTransform._matMdf && this.transformedElement.setAttribute(\"transform\", this.finalTransform.mat.to2dCSS()),\r\n this.finalTransform._opMdf && this.transformedElement.setAttribute(\"opacity\", this.finalTransform.mProp.o.v)\r\n },\r\n destroyBaseElement: function() {\r\n this.layerElement = null,\r\n this.matteElement = null,\r\n this.maskManager.destroy()\r\n },\r\n getBaseElement: function() {\r\n return this.data.hd ? null : this.baseElement\r\n },\r\n createRenderableComponents: function() {\r\n this.maskManager = new MaskElement(this.data,this,this.globalData),\r\n this.renderableEffectsManager = new SVGEffects(this)\r\n },\r\n setMatte: function(t) {\r\n this.matteElement && this.matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + t + \")\")\r\n }\r\n },\r\n IShapeElement.prototype = {\r\n addShapeToModifiers: function(t) {\r\n var e, r = this.shapeModifiers.length;\r\n for (e = 0; e < r; e += 1)\r\n this.shapeModifiers[e].addShape(t)\r\n },\r\n isShapeInAnimatedModifiers: function(t) {\r\n for (var e = this.shapeModifiers.length; 0 < e; )\r\n if (this.shapeModifiers[0].isAnimatedWithShape(t))\r\n return !0;\r\n return !1\r\n },\r\n renderModifiers: function() {\r\n if (this.shapeModifiers.length) {\r\n var t, e = this.shapes.length;\r\n for (t = 0; t < e; t += 1)\r\n this.shapes[t].sh.reset();\r\n for (t = (e = this.shapeModifiers.length) - 1; t >= 0 && !this.shapeModifiers[t].processShapes(this._isFirstFrame); t -= 1)\r\n ;\r\n }\r\n },\r\n searchProcessedElement: function(t) {\r\n for (var e = this.processedElements, r = 0, i = e.length; r < i; ) {\r\n if (e[r].elem === t)\r\n return e[r].pos;\r\n r += 1\r\n }\r\n return 0\r\n },\r\n addProcessedElement: function(t, e) {\r\n for (var r = this.processedElements, i = r.length; i; )\r\n if (r[i -= 1].elem === t)\r\n return void (r[i].pos = e);\r\n r.push(new ProcessedElement(t,e))\r\n },\r\n prepareFrame: function(t) {\r\n this.prepareRenderableFrame(t),\r\n this.prepareProperties(t, this.isInRange)\r\n }\r\n },\r\n ITextElement.prototype.initElement = function(t, e, r) {\r\n this.lettersChangedFlag = !0,\r\n this.initFrame(),\r\n this.initBaseData(t, e, r),\r\n this.textProperty = new TextProperty(this,t.t,this.dynamicProperties),\r\n this.textAnimator = new TextAnimatorProperty(t.t,this.renderType,this),\r\n this.initTransform(t, e, r),\r\n this.initHierarchy(),\r\n this.initRenderable(),\r\n this.initRendererElement(),\r\n this.createContainerElements(),\r\n this.createRenderableComponents(),\r\n this.createContent(),\r\n this.hide(),\r\n this.textAnimator.searchProperties(this.dynamicProperties)\r\n }\r\n ,\r\n ITextElement.prototype.prepareFrame = function(t) {\r\n this._mdf = !1,\r\n this.prepareRenderableFrame(t),\r\n this.prepareProperties(t, this.isInRange),\r\n (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(),\r\n this.textProperty._isFirstFrame = !1,\r\n this.textProperty._mdf = !1)\r\n }\r\n ,\r\n ITextElement.prototype.createPathShape = function(t, e) {\r\n var r, i, a = e.length, s = \"\";\r\n for (r = 0; r < a; r += 1)\r\n i = e[r].ks.k,\r\n s += buildShapeString(i, i.i.length, !0, t);\r\n return s\r\n }\r\n ,\r\n ITextElement.prototype.updateDocumentData = function(t, e) {\r\n this.textProperty.updateDocumentData(t, e)\r\n }\r\n ,\r\n ITextElement.prototype.canResizeFont = function(t) {\r\n this.textProperty.canResizeFont(t)\r\n }\r\n ,\r\n ITextElement.prototype.setMinimumFontSize = function(t) {\r\n this.textProperty.setMinimumFontSize(t)\r\n }\r\n ,\r\n ITextElement.prototype.applyTextPropertiesToMatrix = function(t, e, r, i, a) {\r\n switch (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0),\r\n e.translate(0, -t.ls, 0),\r\n t.j) {\r\n case 1:\r\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]), 0, 0);\r\n break;\r\n case 2:\r\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]) / 2, 0, 0)\r\n }\r\n e.translate(i, a, 0)\r\n }\r\n ,\r\n ITextElement.prototype.buildColor = function(t) {\r\n return \"rgb(\" + Math.round(255 * t[0]) + \",\" + Math.round(255 * t[1]) + \",\" + Math.round(255 * t[2]) + \")\"\r\n }\r\n ,\r\n ITextElement.prototype.emptyProp = new LetterProps,\r\n ITextElement.prototype.destroy = function() {}\r\n ,\r\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement),\r\n ICompElement.prototype.initElement = function(t, e, r) {\r\n this.initFrame(),\r\n this.initBaseData(t, e, r),\r\n this.initTransform(t, e, r),\r\n this.initRenderable(),\r\n this.initHierarchy(),\r\n this.initRendererElement(),\r\n this.createContainerElements(),\r\n this.createRenderableComponents(),\r\n !this.data.xt && e.progressiveLoad || this.buildAllItems(),\r\n this.hide()\r\n }\r\n ,\r\n ICompElement.prototype.prepareFrame = function(t) {\r\n if (this._mdf = !1,\r\n this.prepareRenderableFrame(t),\r\n this.prepareProperties(t, this.isInRange),\r\n this.isInRange || this.data.xt) {\r\n if (this.tm._placeholder)\r\n this.renderedFrame = t / this.data.sr;\r\n else {\r\n var e = this.tm.v;\r\n e === this.data.op && (e = this.data.op - 1),\r\n this.renderedFrame = e\r\n }\r\n var r, i = this.elements.length;\r\n for (this.completeLayers || this.checkLayers(this.renderedFrame),\r\n r = i - 1; r >= 0; r -= 1)\r\n (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame(this.renderedFrame - this.layers[r].st),\r\n this.elements[r]._mdf && (this._mdf = !0))\r\n }\r\n }\r\n ,\r\n ICompElement.prototype.renderInnerContent = function() {\r\n var t, e = this.layers.length;\r\n for (t = 0; t < e; t += 1)\r\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame()\r\n }\r\n ,\r\n ICompElement.prototype.setElements = function(t) {\r\n this.elements = t\r\n }\r\n ,\r\n ICompElement.prototype.getElements = function() {\r\n return this.elements\r\n }\r\n ,\r\n ICompElement.prototype.destroyElements = function() {\r\n var t, e = this.layers.length;\r\n for (t = 0; t < e; t += 1)\r\n this.elements[t] && this.elements[t].destroy()\r\n }\r\n ,\r\n ICompElement.prototype.destroy = function() {\r\n this.destroyElements(),\r\n this.destroyBaseElement()\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement),\r\n IImageElement.prototype.createContent = function() {\r\n var t = this.globalData.getAssetsPath(this.assetData);\r\n this.innerElem = createNS(\"image\"),\r\n this.innerElem.setAttribute(\"width\", this.assetData.w + \"px\"),\r\n this.innerElem.setAttribute(\"height\", this.assetData.h + \"px\"),\r\n this.innerElem.setAttribute(\"preserveAspectRatio\", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio),\r\n this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t),\r\n this.layerElement.appendChild(this.innerElem)\r\n }\r\n ,\r\n IImageElement.prototype.sourceRectAtTime = function() {\r\n return this.sourceRect\r\n }\r\n ,\r\n extendPrototype([IImageElement], ISolidElement),\r\n ISolidElement.prototype.createContent = function() {\r\n var t = createNS(\"rect\");\r\n t.setAttribute(\"width\", this.data.sw),\r\n t.setAttribute(\"height\", this.data.sh),\r\n t.setAttribute(\"fill\", this.data.sc),\r\n this.layerElement.appendChild(t)\r\n }\r\n ,\r\n AudioElement.prototype.prepareFrame = function(t) {\r\n if (this.prepareRenderableFrame(t, !0),\r\n this.prepareProperties(t, !0),\r\n this.tm._placeholder)\r\n this._currentTime = t / this.data.sr;\r\n else {\r\n var e = this.tm.v;\r\n this._currentTime = e\r\n }\r\n }\r\n ,\r\n extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement),\r\n AudioElement.prototype.renderFrame = function() {\r\n this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(),\r\n this.audio.seek(this._currentTime / this.globalData.frameRate),\r\n this._isPlaying = !0))\r\n }\r\n ,\r\n AudioElement.prototype.show = function() {}\r\n ,\r\n AudioElement.prototype.hide = function() {\r\n this.audio.pause(),\r\n this._isPlaying = !1\r\n }\r\n ,\r\n AudioElement.prototype.pause = function() {\r\n this.audio.pause(),\r\n this._isPlaying = !1,\r\n this._canPlay = !1\r\n }\r\n ,\r\n AudioElement.prototype.resume = function() {\r\n this._canPlay = !0\r\n }\r\n ,\r\n AudioElement.prototype.setRate = function(t) {\r\n this.audio.rate(t)\r\n }\r\n ,\r\n AudioElement.prototype.volume = function(t) {\r\n this.audio.volume(t)\r\n }\r\n ,\r\n AudioElement.prototype.getBaseElement = function() {\r\n return null\r\n }\r\n ,\r\n AudioElement.prototype.destroy = function() {}\r\n ,\r\n AudioElement.prototype.sourceRectAtTime = function() {}\r\n ,\r\n AudioElement.prototype.initExpressions = function() {}\r\n ,\r\n FootageElement.prototype.prepareFrame = function() {}\r\n ,\r\n extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement),\r\n FootageElement.prototype.getBaseElement = function() {\r\n return null\r\n }\r\n ,\r\n FootageElement.prototype.renderFrame = function() {}\r\n ,\r\n FootageElement.prototype.destroy = function() {}\r\n ,\r\n FootageElement.prototype.initExpressions = function() {\r\n this.layerInterface = FootageInterface(this)\r\n }\r\n ,\r\n FootageElement.prototype.getFootageData = function() {\r\n return this.footageData\r\n }\r\n ,\r\n extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement),\r\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement),\r\n SVGTextLottieElement.prototype.createContent = function() {\r\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"))\r\n }\r\n ,\r\n SVGTextLottieElement.prototype.buildTextContents = function(t) {\r\n for (var e = 0, r = t.length, i = [], a = \"\"; e < r; )\r\n t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (i.push(a),\r\n a = \"\") : a += t[e],\r\n e += 1;\r\n return i.push(a),\r\n i\r\n }\r\n ,\r\n SVGTextLottieElement.prototype.buildNewText = function() {\r\n var t, e, r = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(r ? r.l.length : 0),\r\n r.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(r.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"),\r\n r.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(r.sc)),\r\n this.layerElement.setAttribute(\"stroke-width\", r.sw)),\r\n this.layerElement.setAttribute(\"font-size\", r.finalSize);\r\n var i = this.globalData.fontManager.getFontByName(r.f);\r\n if (i.fClass)\r\n this.layerElement.setAttribute(\"class\", i.fClass);\r\n else {\r\n this.layerElement.setAttribute(\"font-family\", i.fFamily);\r\n var a = r.fWeight\r\n , s = r.fStyle;\r\n this.layerElement.setAttribute(\"font-style\", s),\r\n this.layerElement.setAttribute(\"font-weight\", a)\r\n }\r\n this.layerElement.setAttribute(\"aria-label\", r.t);\r\n var n, o = r.l || [], h = !!this.globalData.fontManager.chars;\r\n e = o.length;\r\n var l, p = this.mHelper, c = \"\", f = this.data.singleShape, d = 0, m = 0, u = !0, y = .001 * r.tr * r.finalSize;\r\n if (!f || h || r.sz) {\r\n var g, v, b = this.textSpans.length;\r\n for (t = 0; t < e; t += 1)\r\n h && f && 0 !== t || (n = b > t ? this.textSpans[t] : createNS(h ? \"path\" : \"text\"),\r\n b <= t && (n.setAttribute(\"stroke-linecap\", \"butt\"),\r\n n.setAttribute(\"stroke-linejoin\", \"round\"),\r\n n.setAttribute(\"stroke-miterlimit\", \"4\"),\r\n this.textSpans[t] = n,\r\n this.layerElement.appendChild(n)),\r\n n.style.display = \"inherit\"),\r\n p.reset(),\r\n p.scale(r.finalSize / 100, r.finalSize / 100),\r\n f && (o[t].n && (d = -y,\r\n m += r.yOffset,\r\n m += u ? 1 : 0,\r\n u = !1),\r\n this.applyTextPropertiesToMatrix(r, p, o[t].line, d, m),\r\n d += o[t].l || 0,\r\n d += y),\r\n h ? (l = (g = (v = this.globalData.fontManager.getCharData(r.finalText[t], i.fStyle, this.globalData.fontManager.getFontByName(r.f).fFamily)) && v.data || {}).shapes ? g.shapes[0].it : [],\r\n f ? c += this.createPathShape(p, l) : n.setAttribute(\"d\", this.createPathShape(p, l))) : (f && n.setAttribute(\"transform\", \"translate(\" + p.props[12] + \",\" + p.props[13] + \")\"),\r\n n.textContent = o[t].val,\r\n n.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"));\r\n f && n && n.setAttribute(\"d\", c)\r\n } else {\r\n var P = this.textContainer\r\n , _ = \"start\";\r\n switch (r.j) {\r\n case 1:\r\n _ = \"end\";\r\n break;\r\n case 2:\r\n _ = \"middle\";\r\n break;\r\n default:\r\n _ = \"start\"\r\n }\r\n P.setAttribute(\"text-anchor\", _),\r\n P.setAttribute(\"letter-spacing\", y);\r\n var S = this.buildTextContents(r.finalText);\r\n for (e = S.length,\r\n m = r.ps ? r.ps[1] + r.ascent : 0,\r\n t = 0; t < e; t += 1)\r\n (n = this.textSpans[t] || createNS(\"tspan\")).textContent = S[t],\r\n n.setAttribute(\"x\", 0),\r\n n.setAttribute(\"y\", m),\r\n n.style.display = \"inherit\",\r\n P.appendChild(n),\r\n this.textSpans[t] = n,\r\n m += r.finalLineHeight;\r\n this.layerElement.appendChild(P)\r\n }\r\n for (; t < this.textSpans.length; )\r\n this.textSpans[t].style.display = \"none\",\r\n t += 1;\r\n this._sizeChanged = !0\r\n }\r\n ,\r\n SVGTextLottieElement.prototype.sourceRectAtTime = function() {\r\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st),\r\n this.renderInnerContent(),\r\n this._sizeChanged) {\r\n this._sizeChanged = !1;\r\n var t = this.layerElement.getBBox();\r\n this.bbox = {\r\n top: t.y,\r\n left: t.x,\r\n width: t.width,\r\n height: t.height\r\n }\r\n }\r\n return this.bbox\r\n }\r\n ,\r\n SVGTextLottieElement.prototype.renderInnerContent = function() {\r\n if (!this.data.singleShape && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag),\r\n this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {\r\n var t, e;\r\n this._sizeChanged = !0;\r\n var r, i, a = this.textAnimator.renderedLetters, s = this.textProperty.currentData.l;\r\n for (e = s.length,\r\n t = 0; t < e; t += 1)\r\n s[t].n || (r = a[t],\r\n i = this.textSpans[t],\r\n r._mdf.m && i.setAttribute(\"transform\", r.m),\r\n r._mdf.o && i.setAttribute(\"opacity\", r.o),\r\n r._mdf.sw && i.setAttribute(\"stroke-width\", r.sw),\r\n r._mdf.sc && i.setAttribute(\"stroke\", r.sc),\r\n r._mdf.fc && i.setAttribute(\"fill\", r.fc))\r\n }\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement),\r\n SVGShapeElement.prototype.initSecondaryElement = function() {}\r\n ,\r\n SVGShapeElement.prototype.identityMatrix = new Matrix,\r\n SVGShapeElement.prototype.buildExpressionInterface = function() {}\r\n ,\r\n SVGShapeElement.prototype.createContent = function() {\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0),\r\n this.filterUniqueShapes()\r\n }\r\n ,\r\n SVGShapeElement.prototype.filterUniqueShapes = function() {\r\n var t, e, r, i, a = this.shapes.length, s = this.stylesList.length, n = [], o = !1;\r\n for (r = 0; r < s; r += 1) {\r\n for (i = this.stylesList[r],\r\n o = !1,\r\n n.length = 0,\r\n t = 0; t < a; t += 1)\r\n -1 !== (e = this.shapes[t]).styles.indexOf(i) && (n.push(e),\r\n o = e._isAnimated || o);\r\n n.length > 1 && o && this.setShapesAsAnimated(n)\r\n }\r\n }\r\n ,\r\n SVGShapeElement.prototype.setShapesAsAnimated = function(t) {\r\n var e, r = t.length;\r\n for (e = 0; e < r; e += 1)\r\n t[e].setAsAnimated()\r\n }\r\n ,\r\n SVGShapeElement.prototype.createStyleElement = function(t, e) {\r\n var r, i = new SVGStyleData(t,e), a = i.pElem;\r\n if (\"st\" === t.ty)\r\n r = new SVGStrokeStyleData(this,t,i);\r\n else if (\"fl\" === t.ty)\r\n r = new SVGFillStyleData(this,t,i);\r\n else if (\"gf\" === t.ty || \"gs\" === t.ty) {\r\n r = new (\"gf\" === t.ty ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this,t,i),\r\n this.globalData.defs.appendChild(r.gf),\r\n r.maskId && (this.globalData.defs.appendChild(r.ms),\r\n this.globalData.defs.appendChild(r.of),\r\n a.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + r.maskId + \")\"))\r\n }\r\n return \"st\" !== t.ty && \"gs\" !== t.ty || (a.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]),\r\n a.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]),\r\n a.setAttribute(\"fill-opacity\", \"0\"),\r\n 1 === t.lj && a.setAttribute(\"stroke-miterlimit\", t.ml)),\r\n 2 === t.r && a.setAttribute(\"fill-rule\", \"evenodd\"),\r\n t.ln && a.setAttribute(\"id\", t.ln),\r\n t.cl && a.setAttribute(\"class\", t.cl),\r\n t.bm && (a.style[\"mix-blend-mode\"] = getBlendMode(t.bm)),\r\n this.stylesList.push(i),\r\n this.addToAnimatedContents(t, r),\r\n r\r\n }\r\n ,\r\n SVGShapeElement.prototype.createGroupElement = function(t) {\r\n var e = new ShapeGroupData;\r\n return t.ln && e.gr.setAttribute(\"id\", t.ln),\r\n t.cl && e.gr.setAttribute(\"class\", t.cl),\r\n t.bm && (e.gr.style[\"mix-blend-mode\"] = getBlendMode(t.bm)),\r\n e\r\n }\r\n ,\r\n SVGShapeElement.prototype.createTransformElement = function(t, e) {\r\n var r = TransformPropertyFactory.getTransformProperty(this, t, this)\r\n , i = new SVGTransformData(r,r.o,e);\r\n return this.addToAnimatedContents(t, i),\r\n i\r\n }\r\n ,\r\n SVGShapeElement.prototype.createShapeElement = function(t, e, r) {\r\n var i = 4;\r\n \"rc\" === t.ty ? i = 5 : \"el\" === t.ty ? i = 6 : \"sr\" === t.ty && (i = 7);\r\n var a = new SVGShapeData(e,r,ShapePropertyFactory.getShapeProp(this, t, i, this));\r\n return this.shapes.push(a),\r\n this.addShapeToModifiers(a),\r\n this.addToAnimatedContents(t, a),\r\n a\r\n }\r\n ,\r\n SVGShapeElement.prototype.addToAnimatedContents = function(t, e) {\r\n for (var r = 0, i = this.animatedContents.length; r < i; ) {\r\n if (this.animatedContents[r].element === e)\r\n return;\r\n r += 1\r\n }\r\n this.animatedContents.push({\r\n fn: SVGElementsRenderer.createRenderFunction(t),\r\n element: e,\r\n data: t\r\n })\r\n }\r\n ,\r\n SVGShapeElement.prototype.setElementStyles = function(t) {\r\n var e, r = t.styles, i = this.stylesList.length;\r\n for (e = 0; e < i; e += 1)\r\n this.stylesList[e].closed || r.push(this.stylesList[e])\r\n }\r\n ,\r\n SVGShapeElement.prototype.reloadShapes = function() {\r\n var t;\r\n this._isFirstFrame = !0;\r\n var e = this.itemsData.length;\r\n for (t = 0; t < e; t += 1)\r\n this.prevViewData[t] = this.itemsData[t];\r\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0),\r\n this.filterUniqueShapes(),\r\n e = this.dynamicProperties.length,\r\n t = 0; t < e; t += 1)\r\n this.dynamicProperties[t].getValue();\r\n this.renderModifiers()\r\n }\r\n ,\r\n SVGShapeElement.prototype.searchShapes = function(t, e, r, i, a, s, n) {\r\n var o, h, l, p, c, f, d = [].concat(s), m = t.length - 1, u = [], y = [];\r\n for (o = m; o >= 0; o -= 1) {\r\n if ((f = this.searchProcessedElement(t[o])) ? e[o] = r[f - 1] : t[o]._render = n,\r\n \"fl\" === t[o].ty || \"st\" === t[o].ty || \"gf\" === t[o].ty || \"gs\" === t[o].ty)\r\n f ? e[o].style.closed = !1 : e[o] = this.createStyleElement(t[o], a),\r\n t[o]._render && e[o].style.pElem.parentNode !== i && i.appendChild(e[o].style.pElem),\r\n u.push(e[o].style);\r\n else if (\"gr\" === t[o].ty) {\r\n if (f)\r\n for (l = e[o].it.length,\r\n h = 0; h < l; h += 1)\r\n e[o].prevViewData[h] = e[o].it[h];\r\n else\r\n e[o] = this.createGroupElement(t[o]);\r\n this.searchShapes(t[o].it, e[o].it, e[o].prevViewData, e[o].gr, a + 1, d, n),\r\n t[o]._render && e[o].gr.parentNode !== i && i.appendChild(e[o].gr)\r\n } else\r\n \"tr\" === t[o].ty ? (f || (e[o] = this.createTransformElement(t[o], i)),\r\n p = e[o].transform,\r\n d.push(p)) : \"sh\" === t[o].ty || \"rc\" === t[o].ty || \"el\" === t[o].ty || \"sr\" === t[o].ty ? (f || (e[o] = this.createShapeElement(t[o], d, a)),\r\n this.setElementStyles(e[o])) : \"tm\" === t[o].ty || \"rd\" === t[o].ty || \"ms\" === t[o].ty || \"pb\" === t[o].ty ? (f ? (c = e[o]).closed = !1 : ((c = ShapeModifiers.getModifier(t[o].ty)).init(this, t[o]),\r\n e[o] = c,\r\n this.shapeModifiers.push(c)),\r\n y.push(c)) : \"rp\" === t[o].ty && (f ? (c = e[o]).closed = !0 : (c = ShapeModifiers.getModifier(t[o].ty),\r\n e[o] = c,\r\n c.init(this, t, o, e),\r\n this.shapeModifiers.push(c),\r\n n = !1),\r\n y.push(c));\r\n this.addProcessedElement(t[o], o + 1)\r\n }\r\n for (m = u.length,\r\n o = 0; o < m; o += 1)\r\n u[o].closed = !0;\r\n for (m = y.length,\r\n o = 0; o < m; o += 1)\r\n y[o].closed = !0\r\n }\r\n ,\r\n SVGShapeElement.prototype.renderInnerContent = function() {\r\n var t;\r\n this.renderModifiers();\r\n var e = this.stylesList.length;\r\n for (t = 0; t < e; t += 1)\r\n this.stylesList[t].reset();\r\n for (this.renderShape(),\r\n t = 0; t < e; t += 1)\r\n (this.stylesList[t]._mdf || this._isFirstFrame) && (this.stylesList[t].msElem && (this.stylesList[t].msElem.setAttribute(\"d\", this.stylesList[t].d),\r\n this.stylesList[t].d = \"M0 0\" + this.stylesList[t].d),\r\n this.stylesList[t].pElem.setAttribute(\"d\", this.stylesList[t].d || \"M0 0\"))\r\n }\r\n ,\r\n SVGShapeElement.prototype.renderShape = function() {\r\n var t, e, r = this.animatedContents.length;\r\n for (t = 0; t < r; t += 1)\r\n e = this.animatedContents[t],\r\n (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame)\r\n }\r\n ,\r\n SVGShapeElement.prototype.destroy = function() {\r\n this.destroyBaseElement(),\r\n this.shapesData = null,\r\n this.itemsData = null\r\n }\r\n ,\r\n SVGTintFilter.prototype.renderFrame = function(t) {\r\n if (t || this.filterManager._mdf) {\r\n var e = this.filterManager.effectElements[0].p.v\r\n , r = this.filterManager.effectElements[1].p.v\r\n , i = this.filterManager.effectElements[2].p.v / 100;\r\n this.matrixFilter.setAttribute(\"values\", r[0] - e[0] + \" 0 0 0 \" + e[0] + \" \" + (r[1] - e[1]) + \" 0 0 0 \" + e[1] + \" \" + (r[2] - e[2]) + \" 0 0 0 \" + e[2] + \" 0 0 0 \" + i + \" 0\")\r\n }\r\n }\r\n ,\r\n SVGFillFilter.prototype.renderFrame = function(t) {\r\n if (t || this.filterManager._mdf) {\r\n var e = this.filterManager.effectElements[2].p.v\r\n , r = this.filterManager.effectElements[6].p.v;\r\n this.matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + e[0] + \" 0 0 0 0 \" + e[1] + \" 0 0 0 0 \" + e[2] + \" 0 0 0 \" + r + \" 0\")\r\n }\r\n }\r\n ,\r\n SVGGaussianBlurEffect.prototype.renderFrame = function(t) {\r\n if (t || this.filterManager._mdf) {\r\n var e = .3 * this.filterManager.effectElements[0].p.v\r\n , r = this.filterManager.effectElements[1].p.v\r\n , i = 3 == r ? 0 : e\r\n , a = 2 == r ? 0 : e;\r\n this.feGaussianBlur.setAttribute(\"stdDeviation\", i + \" \" + a);\r\n var s = 1 == this.filterManager.effectElements[2].p.v ? \"wrap\" : \"duplicate\";\r\n this.feGaussianBlur.setAttribute(\"edgeMode\", s)\r\n }\r\n }\r\n ,\r\n SVGStrokeEffect.prototype.initialize = function() {\r\n var t, e, r, i, a = this.elem.layerElement.children || this.elem.layerElement.childNodes;\r\n for (1 === this.filterManager.effectElements[1].p.v ? (i = this.elem.maskManager.masksProperties.length,\r\n r = 0) : i = (r = this.filterManager.effectElements[0].p.v - 1) + 1,\r\n (e = createNS(\"g\")).setAttribute(\"fill\", \"none\"),\r\n e.setAttribute(\"stroke-linecap\", \"round\"),\r\n e.setAttribute(\"stroke-dashoffset\", 1); r < i; r += 1)\r\n t = createNS(\"path\"),\r\n e.appendChild(t),\r\n this.paths.push({\r\n p: t,\r\n m: r\r\n });\r\n if (3 === this.filterManager.effectElements[10].p.v) {\r\n var s = createNS(\"mask\")\r\n , n = createElementID();\r\n s.setAttribute(\"id\", n),\r\n s.setAttribute(\"mask-type\", \"alpha\"),\r\n s.appendChild(e),\r\n this.elem.globalData.defs.appendChild(s);\r\n var o = createNS(\"g\");\r\n for (o.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + n + \")\"); a[0]; )\r\n o.appendChild(a[0]);\r\n this.elem.layerElement.appendChild(o),\r\n this.masker = s,\r\n e.setAttribute(\"stroke\", \"#fff\")\r\n } else if (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) {\r\n if (2 === this.filterManager.effectElements[10].p.v)\r\n for (a = this.elem.layerElement.children || this.elem.layerElement.childNodes; a.length; )\r\n this.elem.layerElement.removeChild(a[0]);\r\n this.elem.layerElement.appendChild(e),\r\n this.elem.layerElement.removeAttribute(\"mask\"),\r\n e.setAttribute(\"stroke\", \"#fff\")\r\n }\r\n this.initialized = !0,\r\n this.pathMasker = e\r\n }\r\n ,\r\n SVGStrokeEffect.prototype.renderFrame = function(t) {\r\n var e;\r\n this.initialized || this.initialize();\r\n var r, i, a = this.paths.length;\r\n for (e = 0; e < a; e += 1)\r\n if (-1 !== this.paths[e].m && (r = this.elem.maskManager.viewData[this.paths[e].m],\r\n i = this.paths[e].p,\r\n (t || this.filterManager._mdf || r.prop._mdf) && i.setAttribute(\"d\", r.lastPath),\r\n t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || r.prop._mdf)) {\r\n var s;\r\n if (0 !== this.filterManager.effectElements[7].p.v || 100 !== this.filterManager.effectElements[8].p.v) {\r\n var n = .01 * Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v)\r\n , o = .01 * Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v)\r\n , h = i.getTotalLength();\r\n s = \"0 0 0 \" + h * n + \" \";\r\n var l, p = h * (o - n), c = 1 + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01, f = Math.floor(p / c);\r\n for (l = 0; l < f; l += 1)\r\n s += \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01 + \" \";\r\n s += \"0 \" + 10 * h + \" 0 0\"\r\n } else\r\n s = \"1 \" + 2 * this.filterManager.effectElements[4].p.v * this.filterManager.effectElements[9].p.v * .01;\r\n i.setAttribute(\"stroke-dasharray\", s)\r\n }\r\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute(\"stroke-width\", 2 * this.filterManager.effectElements[4].p.v),\r\n (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute(\"opacity\", this.filterManager.effectElements[6].p.v),\r\n (1 === this.filterManager.effectElements[10].p.v || 2 === this.filterManager.effectElements[10].p.v) && (t || this.filterManager.effectElements[3].p._mdf)) {\r\n var d = this.filterManager.effectElements[3].p.v;\r\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(255 * d[0]) + \",\" + bmFloor(255 * d[1]) + \",\" + bmFloor(255 * d[2]) + \")\")\r\n }\r\n }\r\n ,\r\n SVGTritoneFilter.prototype.renderFrame = function(t) {\r\n if (t || this.filterManager._mdf) {\r\n var e = this.filterManager.effectElements[0].p.v\r\n , r = this.filterManager.effectElements[1].p.v\r\n , i = this.filterManager.effectElements[2].p.v\r\n , a = i[0] + \" \" + r[0] + \" \" + e[0]\r\n , s = i[1] + \" \" + r[1] + \" \" + e[1]\r\n , n = i[2] + \" \" + r[2] + \" \" + e[2];\r\n this.feFuncR.setAttribute(\"tableValues\", a),\r\n this.feFuncG.setAttribute(\"tableValues\", s),\r\n this.feFuncB.setAttribute(\"tableValues\", n)\r\n }\r\n }\r\n ,\r\n SVGProLevelsFilter.prototype.createFeFunc = function(t, e) {\r\n var r = createNS(t);\r\n return r.setAttribute(\"type\", \"table\"),\r\n e.appendChild(r),\r\n r\r\n }\r\n ,\r\n SVGProLevelsFilter.prototype.getTableValue = function(t, e, r, i, a) {\r\n for (var s, n, o = 0, h = Math.min(t, e), l = Math.max(t, e), p = Array.call(null, {\r\n length: 256\r\n }), c = 0, f = a - i, d = e - t; o <= 256; )\r\n n = (s = o / 256) <= h ? d < 0 ? a : i : s >= l ? d < 0 ? i : a : i + f * Math.pow((s - t) / d, 1 / r),\r\n p[c] = n,\r\n c += 1,\r\n o += 256 / 255;\r\n return p.join(\" \")\r\n }\r\n ,\r\n SVGProLevelsFilter.prototype.renderFrame = function(t) {\r\n if (t || this.filterManager._mdf) {\r\n var e, r = this.filterManager.effectElements;\r\n this.feFuncRComposed && (t || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && (e = this.getTableValue(r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v),\r\n this.feFuncRComposed.setAttribute(\"tableValues\", e),\r\n this.feFuncGComposed.setAttribute(\"tableValues\", e),\r\n this.feFuncBComposed.setAttribute(\"tableValues\", e)),\r\n this.feFuncR && (t || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && (e = this.getTableValue(r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v),\r\n this.feFuncR.setAttribute(\"tableValues\", e)),\r\n this.feFuncG && (t || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && (e = this.getTableValue(r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v),\r\n this.feFuncG.setAttribute(\"tableValues\", e)),\r\n this.feFuncB && (t || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && (e = this.getTableValue(r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v),\r\n this.feFuncB.setAttribute(\"tableValues\", e)),\r\n this.feFuncA && (t || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && (e = this.getTableValue(r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v),\r\n this.feFuncA.setAttribute(\"tableValues\", e))\r\n }\r\n }\r\n ,\r\n SVGDropShadowEffect.prototype.renderFrame = function(t) {\r\n if (t || this.filterManager._mdf) {\r\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute(\"stdDeviation\", this.filterManager.effectElements[4].p.v / 4),\r\n t || this.filterManager.effectElements[0].p._mdf) {\r\n var e = this.filterManager.effectElements[0].p.v;\r\n this.feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(255 * e[0]), Math.round(255 * e[1]), Math.round(255 * e[2])))\r\n }\r\n if ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute(\"flood-opacity\", this.filterManager.effectElements[1].p.v / 255),\r\n t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\r\n var r = this.filterManager.effectElements[3].p.v\r\n , i = (this.filterManager.effectElements[2].p.v - 90) * degToRads\r\n , a = r * Math.cos(i)\r\n , s = r * Math.sin(i);\r\n this.feOffset.setAttribute(\"dx\", a),\r\n this.feOffset.setAttribute(\"dy\", s)\r\n }\r\n }\r\n }\r\n ;\r\n var _svgMatteSymbols = [];\r\n function SVGMatte3Effect(t, e, r) {\r\n this.initialized = !1,\r\n this.filterManager = e,\r\n this.filterElem = t,\r\n this.elem = r,\r\n r.matteElement = createNS(\"g\"),\r\n r.matteElement.appendChild(r.layerElement),\r\n r.matteElement.appendChild(r.transformedElement),\r\n r.baseElement = r.matteElement\r\n }\r\n function SVGEffects(t) {\r\n var e, r, i = t.data.ef ? t.data.ef.length : 0, a = createElementID(), s = filtersFactory.createFilter(a, !0), n = 0;\r\n for (this.filters = [],\r\n e = 0; e < i; e += 1)\r\n r = null,\r\n 20 === t.data.ef[e].ty ? (n += 1,\r\n r = new SVGTintFilter(s,t.effectsManager.effectElements[e])) : 21 === t.data.ef[e].ty ? (n += 1,\r\n r = new SVGFillFilter(s,t.effectsManager.effectElements[e])) : 22 === t.data.ef[e].ty ? r = new SVGStrokeEffect(t,t.effectsManager.effectElements[e]) : 23 === t.data.ef[e].ty ? (n += 1,\r\n r = new SVGTritoneFilter(s,t.effectsManager.effectElements[e])) : 24 === t.data.ef[e].ty ? (n += 1,\r\n r = new SVGProLevelsFilter(s,t.effectsManager.effectElements[e])) : 25 === t.data.ef[e].ty ? (n += 1,\r\n r = new SVGDropShadowEffect(s,t.effectsManager.effectElements[e])) : 28 === t.data.ef[e].ty ? r = new SVGMatte3Effect(s,t.effectsManager.effectElements[e],t) : 29 === t.data.ef[e].ty && (n += 1,\r\n r = new SVGGaussianBlurEffect(s,t.effectsManager.effectElements[e])),\r\n r && this.filters.push(r);\r\n n && (t.globalData.defs.appendChild(s),\r\n t.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + a + \")\")),\r\n this.filters.length && t.addRenderableComponent(this)\r\n }\r\n function CVContextData() {\r\n var t;\r\n this.saved = [],\r\n this.cArrPos = 0,\r\n this.cTr = new Matrix,\r\n this.cO = 1;\r\n for (this.savedOp = createTypedArray(\"float32\", 15),\r\n t = 0; t < 15; t += 1)\r\n this.saved[t] = createTypedArray(\"float32\", 16);\r\n this._length = 15\r\n }\r\n function CVBaseElement() {}\r\n function CVImageElement(t, e, r) {\r\n this.assetData = e.getAssetData(t.refId),\r\n this.img = e.imageLoader.getAsset(this.assetData),\r\n this.initElement(t, e, r)\r\n }\r\n function CVCompElement(t, e, r) {\r\n this.completeLayers = !1,\r\n this.layers = t.layers,\r\n this.pendingElements = [],\r\n this.elements = createSizedArray(this.layers.length),\r\n this.initElement(t, e, r),\r\n this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\r\n _placeholder: !0\r\n }\r\n }\r\n function CVMaskElement(t, e) {\r\n var r;\r\n this.data = t,\r\n this.element = e,\r\n this.masksProperties = this.data.masksProperties || [],\r\n this.viewData = createSizedArray(this.masksProperties.length);\r\n var i = this.masksProperties.length\r\n , a = !1;\r\n for (r = 0; r < i; r += 1)\r\n \"n\" !== this.masksProperties[r].mode && (a = !0),\r\n this.viewData[r] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r], 3);\r\n this.hasMasks = a,\r\n a && this.element.addRenderableComponent(this)\r\n }\r\n function CVShapeElement(t, e, r) {\r\n this.shapes = [],\r\n this.shapesData = t.shapes,\r\n this.stylesList = [],\r\n this.itemsData = [],\r\n this.prevViewData = [],\r\n this.shapeModifiers = [],\r\n this.processedElements = [],\r\n this.transformsManager = new ShapeTransformManager,\r\n this.initElement(t, e, r)\r\n }\r\n function CVSolidElement(t, e, r) {\r\n this.initElement(t, e, r)\r\n }\r\n function CVTextElement(t, e, r) {\r\n this.textSpans = [],\r\n this.yOffset = 0,\r\n this.fillColorAnim = !1,\r\n this.strokeColorAnim = !1,\r\n this.strokeWidthAnim = !1,\r\n this.stroke = !1,\r\n this.fill = !1,\r\n this.justifyOffset = 0,\r\n this.currentRender = null,\r\n this.renderType = \"canvas\",\r\n this.values = {\r\n fill: \"rgba(0,0,0,0)\",\r\n stroke: \"rgba(0,0,0,0)\",\r\n sWidth: 0,\r\n fValue: \"\"\r\n },\r\n this.initElement(t, e, r)\r\n }\r\n function CVEffects() {}\r\n function HBaseElement() {}\r\n function HSolidElement(t, e, r) {\r\n this.initElement(t, e, r)\r\n }\r\n function HCompElement(t, e, r) {\r\n this.layers = t.layers,\r\n this.supports3d = !t.hasMask,\r\n this.completeLayers = !1,\r\n this.pendingElements = [],\r\n this.elements = this.layers ? createSizedArray(this.layers.length) : [],\r\n this.initElement(t, e, r),\r\n this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\r\n _placeholder: !0\r\n }\r\n }\r\n function HShapeElement(t, e, r) {\r\n this.shapes = [],\r\n this.shapesData = t.shapes,\r\n this.stylesList = [],\r\n this.shapeModifiers = [],\r\n this.itemsData = [],\r\n this.processedElements = [],\r\n this.animatedContents = [],\r\n this.shapesContainer = createNS(\"g\"),\r\n this.initElement(t, e, r),\r\n this.prevViewData = [],\r\n this.currentBBox = {\r\n x: 999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0\r\n }\r\n }\r\n function HTextElement(t, e, r) {\r\n this.textSpans = [],\r\n this.textPaths = [],\r\n this.currentBBox = {\r\n x: 999999,\r\n y: -999999,\r\n h: 0,\r\n w: 0\r\n },\r\n this.renderType = \"svg\",\r\n this.isMasked = !1,\r\n this.initElement(t, e, r)\r\n }\r\n function HImageElement(t, e, r) {\r\n this.assetData = e.getAssetData(t.refId),\r\n this.initElement(t, e, r)\r\n }\r\n function HCameraElement(t, e, r) {\r\n this.initFrame(),\r\n this.initBaseData(t, e, r),\r\n this.initHierarchy();\r\n var i = PropertyFactory.getProp;\r\n if (this.pe = i(this, t.pe, 0, 0, this),\r\n t.ks.p.s ? (this.px = i(this, t.ks.p.x, 1, 0, this),\r\n this.py = i(this, t.ks.p.y, 1, 0, this),\r\n this.pz = i(this, t.ks.p.z, 1, 0, this)) : this.p = i(this, t.ks.p, 1, 0, this),\r\n t.ks.a && (this.a = i(this, t.ks.a, 1, 0, this)),\r\n t.ks.or.k.length && t.ks.or.k[0].to) {\r\n var a, s = t.ks.or.k.length;\r\n for (a = 0; a < s; a += 1)\r\n t.ks.or.k[a].to = null,\r\n t.ks.or.k[a].ti = null\r\n }\r\n this.or = i(this, t.ks.or, 1, degToRads, this),\r\n this.or.sh = !0,\r\n this.rx = i(this, t.ks.rx, 0, degToRads, this),\r\n this.ry = i(this, t.ks.ry, 0, degToRads, this),\r\n this.rz = i(this, t.ks.rz, 0, degToRads, this),\r\n this.mat = new Matrix,\r\n this._prevMat = new Matrix,\r\n this._isFirstFrame = !0,\r\n this.finalTransform = {\r\n mProp: this\r\n }\r\n }\r\n function HEffects() {}\r\n SVGMatte3Effect.prototype.findSymbol = function(t) {\r\n for (var e = 0, r = _svgMatteSymbols.length; e < r; ) {\r\n if (_svgMatteSymbols[e] === t)\r\n return _svgMatteSymbols[e];\r\n e += 1\r\n }\r\n return null\r\n }\r\n ,\r\n SVGMatte3Effect.prototype.replaceInParent = function(t, e) {\r\n var r = t.layerElement.parentNode;\r\n if (r) {\r\n for (var i, a = r.children, s = 0, n = a.length; s < n && a[s] !== t.layerElement; )\r\n s += 1;\r\n s <= n - 2 && (i = a[s + 1]);\r\n var o = createNS(\"use\");\r\n o.setAttribute(\"href\", \"#\" + e),\r\n i ? r.insertBefore(o, i) : r.appendChild(o)\r\n }\r\n }\r\n ,\r\n SVGMatte3Effect.prototype.setElementAsMask = function(t, e) {\r\n if (!this.findSymbol(e)) {\r\n var r = createElementID()\r\n , i = createNS(\"mask\");\r\n i.setAttribute(\"id\", e.layerId),\r\n i.setAttribute(\"mask-type\", \"alpha\"),\r\n _svgMatteSymbols.push(e);\r\n var a = t.globalData.defs;\r\n a.appendChild(i);\r\n var s = createNS(\"symbol\");\r\n s.setAttribute(\"id\", r),\r\n this.replaceInParent(e, r),\r\n s.appendChild(e.layerElement),\r\n a.appendChild(s);\r\n var n = createNS(\"use\");\r\n n.setAttribute(\"href\", \"#\" + r),\r\n i.appendChild(n),\r\n e.data.hd = !1,\r\n e.show()\r\n }\r\n t.setMatte(e.layerId)\r\n }\r\n ,\r\n SVGMatte3Effect.prototype.initialize = function() {\r\n for (var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, r = 0, i = e.length; r < i; )\r\n e[r] && e[r].data.ind === t && this.setElementAsMask(this.elem, e[r]),\r\n r += 1;\r\n this.initialized = !0\r\n }\r\n ,\r\n SVGMatte3Effect.prototype.renderFrame = function() {\r\n this.initialized || this.initialize()\r\n }\r\n ,\r\n SVGEffects.prototype.renderFrame = function(t) {\r\n var e, r = this.filters.length;\r\n for (e = 0; e < r; e += 1)\r\n this.filters[e].renderFrame(t)\r\n }\r\n ,\r\n CVContextData.prototype.duplicate = function() {\r\n var t = 2 * this._length\r\n , e = this.savedOp;\r\n this.savedOp = createTypedArray(\"float32\", t),\r\n this.savedOp.set(e);\r\n var r = 0;\r\n for (r = this._length; r < t; r += 1)\r\n this.saved[r] = createTypedArray(\"float32\", 16);\r\n this._length = t\r\n }\r\n ,\r\n CVContextData.prototype.reset = function() {\r\n this.cArrPos = 0,\r\n this.cTr.reset(),\r\n this.cO = 1\r\n }\r\n ,\r\n CVBaseElement.prototype = {\r\n createElements: function() {},\r\n initRendererElement: function() {},\r\n createContainerElements: function() {\r\n this.canvasContext = this.globalData.canvasContext,\r\n this.renderableEffectsManager = new CVEffects(this)\r\n },\r\n createContent: function() {},\r\n setBlendMode: function() {\r\n var t = this.globalData;\r\n if (t.blendMode !== this.data.bm) {\r\n t.blendMode = this.data.bm;\r\n var e = getBlendMode(this.data.bm);\r\n t.canvasContext.globalCompositeOperation = e\r\n }\r\n },\r\n createRenderableComponents: function() {\r\n this.maskManager = new CVMaskElement(this.data,this)\r\n },\r\n hideElement: function() {\r\n this.hidden || this.isInRange && !this.isTransparent || (this.hidden = !0)\r\n },\r\n showElement: function() {\r\n this.isInRange && !this.isTransparent && (this.hidden = !1,\r\n this._isFirstFrame = !0,\r\n this.maskManager._isFirstFrame = !0)\r\n },\r\n renderFrame: function() {\r\n if (!this.hidden && !this.data.hd) {\r\n this.renderTransform(),\r\n this.renderRenderable(),\r\n this.setBlendMode();\r\n var t = 0 === this.data.ty;\r\n this.globalData.renderer.save(t),\r\n this.globalData.renderer.ctxTransform(this.finalTransform.mat.props),\r\n this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v),\r\n this.renderInnerContent(),\r\n this.globalData.renderer.restore(t),\r\n this.maskManager.hasMasks && this.globalData.renderer.restore(!0),\r\n this._isFirstFrame && (this._isFirstFrame = !1)\r\n }\r\n },\r\n destroy: function() {\r\n this.canvasContext = null,\r\n this.data = null,\r\n this.globalData = null,\r\n this.maskManager.destroy()\r\n },\r\n mHelper: new Matrix\r\n },\r\n CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement,\r\n CVBaseElement.prototype.show = CVBaseElement.prototype.showElement,\r\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement),\r\n CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement,\r\n CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame,\r\n CVImageElement.prototype.createContent = function() {\r\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\r\n var t = createTag(\"canvas\");\r\n t.width = this.assetData.w,\r\n t.height = this.assetData.h;\r\n var e, r, i = t.getContext(\"2d\"), a = this.img.width, s = this.img.height, n = a / s, o = this.assetData.w / this.assetData.h, h = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\r\n n > o && \"xMidYMid slice\" === h || n < o && \"xMidYMid slice\" !== h ? e = (r = s) * o : r = (e = a) / o,\r\n i.drawImage(this.img, (a - e) / 2, (s - r) / 2, e, r, 0, 0, this.assetData.w, this.assetData.h),\r\n this.img = t\r\n }\r\n }\r\n ,\r\n CVImageElement.prototype.renderInnerContent = function() {\r\n this.canvasContext.drawImage(this.img, 0, 0)\r\n }\r\n ,\r\n CVImageElement.prototype.destroy = function() {\r\n this.img = null\r\n }\r\n ,\r\n extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement),\r\n CVCompElement.prototype.renderInnerContent = function() {\r\n var t, e = this.canvasContext;\r\n for (e.beginPath(),\r\n e.moveTo(0, 0),\r\n e.lineTo(this.data.w, 0),\r\n e.lineTo(this.data.w, this.data.h),\r\n e.lineTo(0, this.data.h),\r\n e.lineTo(0, 0),\r\n e.clip(),\r\n t = this.layers.length - 1; t >= 0; t -= 1)\r\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame()\r\n }\r\n ,\r\n CVCompElement.prototype.destroy = function() {\r\n var t;\r\n for (t = this.layers.length - 1; t >= 0; t -= 1)\r\n this.elements[t] && this.elements[t].destroy();\r\n this.layers = null,\r\n this.elements = null\r\n }\r\n ,\r\n CVMaskElement.prototype.renderFrame = function() {\r\n if (this.hasMasks) {\r\n var t, e, r, i, a = this.element.finalTransform.mat, s = this.element.canvasContext, n = this.masksProperties.length;\r\n for (s.beginPath(),\r\n t = 0; t < n; t += 1)\r\n if (\"n\" !== this.masksProperties[t].mode) {\r\n var o;\r\n this.masksProperties[t].inv && (s.moveTo(0, 0),\r\n s.lineTo(this.element.globalData.compSize.w, 0),\r\n s.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h),\r\n s.lineTo(0, this.element.globalData.compSize.h),\r\n s.lineTo(0, 0)),\r\n i = this.viewData[t].v,\r\n e = a.applyToPointArray(i.v[0][0], i.v[0][1], 0),\r\n s.moveTo(e[0], e[1]);\r\n var h = i._length;\r\n for (o = 1; o < h; o += 1)\r\n r = a.applyToTriplePoints(i.o[o - 1], i.i[o], i.v[o]),\r\n s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5]);\r\n r = a.applyToTriplePoints(i.o[o - 1], i.i[0], i.v[0]),\r\n s.bezierCurveTo(r[0], r[1], r[2], r[3], r[4], r[5])\r\n }\r\n this.element.globalData.renderer.save(!0),\r\n s.clip()\r\n }\r\n }\r\n ,\r\n CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty,\r\n CVMaskElement.prototype.destroy = function() {\r\n this.element = null\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement),\r\n CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement,\r\n CVShapeElement.prototype.transformHelper = {\r\n opacity: 1,\r\n _opMdf: !1\r\n },\r\n CVShapeElement.prototype.dashResetter = [],\r\n CVShapeElement.prototype.createContent = function() {\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, [])\r\n }\r\n ,\r\n CVShapeElement.prototype.createStyleElement = function(t, e) {\r\n var r = {\r\n data: t,\r\n type: t.ty,\r\n preTransforms: this.transformsManager.addTransformSequence(e),\r\n transforms: [],\r\n elements: [],\r\n closed: !0 === t.hd\r\n }\r\n , i = {};\r\n if (\"fl\" === t.ty || \"st\" === t.ty ? (i.c = PropertyFactory.getProp(this, t.c, 1, 255, this),\r\n i.c.k || (r.co = \"rgb(\" + bmFloor(i.c.v[0]) + \",\" + bmFloor(i.c.v[1]) + \",\" + bmFloor(i.c.v[2]) + \")\")) : \"gf\" !== t.ty && \"gs\" !== t.ty || (i.s = PropertyFactory.getProp(this, t.s, 1, null, this),\r\n i.e = PropertyFactory.getProp(this, t.e, 1, null, this),\r\n i.h = PropertyFactory.getProp(this, t.h || {\r\n k: 0\r\n }, 0, .01, this),\r\n i.a = PropertyFactory.getProp(this, t.a || {\r\n k: 0\r\n }, 0, degToRads, this),\r\n i.g = new GradientProperty(this,t.g,this)),\r\n i.o = PropertyFactory.getProp(this, t.o, 0, .01, this),\r\n \"st\" === t.ty || \"gs\" === t.ty) {\r\n if (r.lc = lineCapEnum[t.lc || 2],\r\n r.lj = lineJoinEnum[t.lj || 2],\r\n 1 == t.lj && (r.ml = t.ml),\r\n i.w = PropertyFactory.getProp(this, t.w, 0, null, this),\r\n i.w.k || (r.wi = i.w.v),\r\n t.d) {\r\n var a = new DashProperty(this,t.d,\"canvas\",this);\r\n i.d = a,\r\n i.d.k || (r.da = i.d.dashArray,\r\n r.do = i.d.dashoffset[0])\r\n }\r\n } else\r\n r.r = 2 === t.r ? \"evenodd\" : \"nonzero\";\r\n return this.stylesList.push(r),\r\n i.style = r,\r\n i\r\n }\r\n ,\r\n CVShapeElement.prototype.createGroupElement = function() {\r\n return {\r\n it: [],\r\n prevViewData: []\r\n }\r\n }\r\n ,\r\n CVShapeElement.prototype.createTransformElement = function(t) {\r\n return {\r\n transform: {\r\n opacity: 1,\r\n _opMdf: !1,\r\n key: this.transformsManager.getNewKey(),\r\n op: PropertyFactory.getProp(this, t.o, 0, .01, this),\r\n mProps: TransformPropertyFactory.getTransformProperty(this, t, this)\r\n }\r\n }\r\n }\r\n ,\r\n CVShapeElement.prototype.createShapeElement = function(t) {\r\n var e = new CVShapeData(this,t,this.stylesList,this.transformsManager);\r\n return this.shapes.push(e),\r\n this.addShapeToModifiers(e),\r\n e\r\n }\r\n ,\r\n CVShapeElement.prototype.reloadShapes = function() {\r\n var t;\r\n this._isFirstFrame = !0;\r\n var e = this.itemsData.length;\r\n for (t = 0; t < e; t += 1)\r\n this.prevViewData[t] = this.itemsData[t];\r\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []),\r\n e = this.dynamicProperties.length,\r\n t = 0; t < e; t += 1)\r\n this.dynamicProperties[t].getValue();\r\n this.renderModifiers(),\r\n this.transformsManager.processSequences(this._isFirstFrame)\r\n }\r\n ,\r\n CVShapeElement.prototype.addTransformToStyleList = function(t) {\r\n var e, r = this.stylesList.length;\r\n for (e = 0; e < r; e += 1)\r\n this.stylesList[e].closed || this.stylesList[e].transforms.push(t)\r\n }\r\n ,\r\n CVShapeElement.prototype.removeTransformFromStyleList = function() {\r\n var t, e = this.stylesList.length;\r\n for (t = 0; t < e; t += 1)\r\n this.stylesList[t].closed || this.stylesList[t].transforms.pop()\r\n }\r\n ,\r\n CVShapeElement.prototype.closeStyles = function(t) {\r\n var e, r = t.length;\r\n for (e = 0; e < r; e += 1)\r\n t[e].closed = !0\r\n }\r\n ,\r\n CVShapeElement.prototype.searchShapes = function(t, e, r, i, a) {\r\n var s, n, o, h, l, p, c = t.length - 1, f = [], d = [], m = [].concat(a);\r\n for (s = c; s >= 0; s -= 1) {\r\n if ((h = this.searchProcessedElement(t[s])) ? e[s] = r[h - 1] : t[s]._shouldRender = i,\r\n \"fl\" === t[s].ty || \"st\" === t[s].ty || \"gf\" === t[s].ty || \"gs\" === t[s].ty)\r\n h ? e[s].style.closed = !1 : e[s] = this.createStyleElement(t[s], m),\r\n f.push(e[s].style);\r\n else if (\"gr\" === t[s].ty) {\r\n if (h)\r\n for (o = e[s].it.length,\r\n n = 0; n < o; n += 1)\r\n e[s].prevViewData[n] = e[s].it[n];\r\n else\r\n e[s] = this.createGroupElement(t[s]);\r\n this.searchShapes(t[s].it, e[s].it, e[s].prevViewData, i, m)\r\n } else\r\n \"tr\" === t[s].ty ? (h || (p = this.createTransformElement(t[s]),\r\n e[s] = p),\r\n m.push(e[s]),\r\n this.addTransformToStyleList(e[s])) : \"sh\" === t[s].ty || \"rc\" === t[s].ty || \"el\" === t[s].ty || \"sr\" === t[s].ty ? h || (e[s] = this.createShapeElement(t[s])) : \"tm\" === t[s].ty || \"rd\" === t[s].ty || \"pb\" === t[s].ty ? (h ? (l = e[s]).closed = !1 : ((l = ShapeModifiers.getModifier(t[s].ty)).init(this, t[s]),\r\n e[s] = l,\r\n this.shapeModifiers.push(l)),\r\n d.push(l)) : \"rp\" === t[s].ty && (h ? (l = e[s]).closed = !0 : (l = ShapeModifiers.getModifier(t[s].ty),\r\n e[s] = l,\r\n l.init(this, t, s, e),\r\n this.shapeModifiers.push(l),\r\n i = !1),\r\n d.push(l));\r\n this.addProcessedElement(t[s], s + 1)\r\n }\r\n for (this.removeTransformFromStyleList(),\r\n this.closeStyles(f),\r\n c = d.length,\r\n s = 0; s < c; s += 1)\r\n d[s].closed = !0\r\n }\r\n ,\r\n CVShapeElement.prototype.renderInnerContent = function() {\r\n this.transformHelper.opacity = 1,\r\n this.transformHelper._opMdf = !1,\r\n this.renderModifiers(),\r\n this.transformsManager.processSequences(this._isFirstFrame),\r\n this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0)\r\n }\r\n ,\r\n CVShapeElement.prototype.renderShapeTransform = function(t, e) {\r\n (t._opMdf || e.op._mdf || this._isFirstFrame) && (e.opacity = t.opacity,\r\n e.opacity *= e.op.v,\r\n e._opMdf = !0)\r\n }\r\n ,\r\n CVShapeElement.prototype.drawLayer = function() {\r\n var t, e, r, i, a, s, n, o, h, l = this.stylesList.length, p = this.globalData.renderer, c = this.globalData.canvasContext;\r\n for (t = 0; t < l; t += 1)\r\n if ((\"st\" !== (o = (h = this.stylesList[t]).type) && \"gs\" !== o || 0 !== h.wi) && h.data._shouldRender && 0 !== h.coOp && 0 !== this.globalData.currentGlobalAlpha) {\r\n for (p.save(),\r\n s = h.elements,\r\n \"st\" === o || \"gs\" === o ? (c.strokeStyle = \"st\" === o ? h.co : h.grd,\r\n c.lineWidth = h.wi,\r\n c.lineCap = h.lc,\r\n c.lineJoin = h.lj,\r\n c.miterLimit = h.ml || 0) : c.fillStyle = \"fl\" === o ? h.co : h.grd,\r\n p.ctxOpacity(h.coOp),\r\n \"st\" !== o && \"gs\" !== o && c.beginPath(),\r\n p.ctxTransform(h.preTransforms.finalTransform.props),\r\n r = s.length,\r\n e = 0; e < r; e += 1) {\r\n for (\"st\" !== o && \"gs\" !== o || (c.beginPath(),\r\n h.da && (c.setLineDash(h.da),\r\n c.lineDashOffset = h.do)),\r\n a = (n = s[e].trNodes).length,\r\n i = 0; i < a; i += 1)\r\n \"m\" === n[i].t ? c.moveTo(n[i].p[0], n[i].p[1]) : \"c\" === n[i].t ? c.bezierCurveTo(n[i].pts[0], n[i].pts[1], n[i].pts[2], n[i].pts[3], n[i].pts[4], n[i].pts[5]) : c.closePath();\r\n \"st\" !== o && \"gs\" !== o || (c.stroke(),\r\n h.da && c.setLineDash(this.dashResetter))\r\n }\r\n \"st\" !== o && \"gs\" !== o && c.fill(h.r),\r\n p.restore()\r\n }\r\n }\r\n ,\r\n CVShapeElement.prototype.renderShape = function(t, e, r, i) {\r\n var a, s;\r\n for (s = t,\r\n a = e.length - 1; a >= 0; a -= 1)\r\n \"tr\" === e[a].ty ? (s = r[a].transform,\r\n this.renderShapeTransform(t, s)) : \"sh\" === e[a].ty || \"el\" === e[a].ty || \"rc\" === e[a].ty || \"sr\" === e[a].ty ? this.renderPath(e[a], r[a]) : \"fl\" === e[a].ty ? this.renderFill(e[a], r[a], s) : \"st\" === e[a].ty ? this.renderStroke(e[a], r[a], s) : \"gf\" === e[a].ty || \"gs\" === e[a].ty ? this.renderGradientFill(e[a], r[a], s) : \"gr\" === e[a].ty ? this.renderShape(s, e[a].it, r[a].it) : e[a].ty;\r\n i && this.drawLayer()\r\n }\r\n ,\r\n CVShapeElement.prototype.renderStyledShape = function(t, e) {\r\n if (this._isFirstFrame || e._mdf || t.transforms._mdf) {\r\n var r, i, a, s = t.trNodes, n = e.paths, o = n._length;\r\n s.length = 0;\r\n var h = t.transforms.finalTransform;\r\n for (a = 0; a < o; a += 1) {\r\n var l = n.shapes[a];\r\n if (l && l.v) {\r\n for (i = l._length,\r\n r = 1; r < i; r += 1)\r\n 1 === r && s.push({\r\n t: \"m\",\r\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\r\n }),\r\n s.push({\r\n t: \"c\",\r\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[r], l.v[r])\r\n });\r\n 1 === i && s.push({\r\n t: \"m\",\r\n p: h.applyToPointArray(l.v[0][0], l.v[0][1], 0)\r\n }),\r\n l.c && i && (s.push({\r\n t: \"c\",\r\n pts: h.applyToTriplePoints(l.o[r - 1], l.i[0], l.v[0])\r\n }),\r\n s.push({\r\n t: \"z\"\r\n }))\r\n }\r\n }\r\n t.trNodes = s\r\n }\r\n }\r\n ,\r\n CVShapeElement.prototype.renderPath = function(t, e) {\r\n if (!0 !== t.hd && t._shouldRender) {\r\n var r, i = e.styledShapes.length;\r\n for (r = 0; r < i; r += 1)\r\n this.renderStyledShape(e.styledShapes[r], e.sh)\r\n }\r\n }\r\n ,\r\n CVShapeElement.prototype.renderFill = function(t, e, r) {\r\n var i = e.style;\r\n (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"),\r\n (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity)\r\n }\r\n ,\r\n CVShapeElement.prototype.renderGradientFill = function(t, e, r) {\r\n var i, a = e.style;\r\n if (!a.grd || e.g._mdf || e.s._mdf || e.e._mdf || 1 !== t.t && (e.h._mdf || e.a._mdf)) {\r\n var s, n = this.globalData.canvasContext, o = e.s.v, h = e.e.v;\r\n if (1 === t.t)\r\n i = n.createLinearGradient(o[0], o[1], h[0], h[1]);\r\n else {\r\n var l = Math.sqrt(Math.pow(o[0] - h[0], 2) + Math.pow(o[1] - h[1], 2))\r\n , p = Math.atan2(h[1] - o[1], h[0] - o[0])\r\n , c = e.h.v;\r\n c >= 1 ? c = .99 : c <= -1 && (c = -.99);\r\n var f = l * c\r\n , d = Math.cos(p + e.a.v) * f + o[0]\r\n , m = Math.sin(p + e.a.v) * f + o[1];\r\n i = n.createRadialGradient(d, m, 0, o[0], o[1], l)\r\n }\r\n var u = t.g.p\r\n , y = e.g.c\r\n , g = 1;\r\n for (s = 0; s < u; s += 1)\r\n e.g._hasOpacity && e.g._collapsable && (g = e.g.o[2 * s + 1]),\r\n i.addColorStop(y[4 * s] / 100, \"rgba(\" + y[4 * s + 1] + \",\" + y[4 * s + 2] + \",\" + y[4 * s + 3] + \",\" + g + \")\");\r\n a.grd = i\r\n }\r\n a.coOp = e.o.v * r.opacity\r\n }\r\n ,\r\n CVShapeElement.prototype.renderStroke = function(t, e, r) {\r\n var i = e.style\r\n , a = e.d;\r\n a && (a._mdf || this._isFirstFrame) && (i.da = a.dashArray,\r\n i.do = a.dashoffset[0]),\r\n (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"),\r\n (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity),\r\n (e.w._mdf || this._isFirstFrame) && (i.wi = e.w.v)\r\n }\r\n ,\r\n CVShapeElement.prototype.destroy = function() {\r\n this.shapesData = null,\r\n this.globalData = null,\r\n this.canvasContext = null,\r\n this.stylesList.length = 0,\r\n this.itemsData.length = 0\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement),\r\n CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement,\r\n CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame,\r\n CVSolidElement.prototype.renderInnerContent = function() {\r\n var t = this.canvasContext;\r\n t.fillStyle = this.data.sc,\r\n t.fillRect(0, 0, this.data.sw, this.data.sh)\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement),\r\n CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\"),\r\n CVTextElement.prototype.buildNewText = function() {\r\n var t = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\r\n var e = !1;\r\n t.fc ? (e = !0,\r\n this.values.fill = this.buildColor(t.fc)) : this.values.fill = \"rgba(0,0,0,0)\",\r\n this.fill = e;\r\n var r = !1;\r\n t.sc && (r = !0,\r\n this.values.stroke = this.buildColor(t.sc),\r\n this.values.sWidth = t.sw);\r\n var i, a, s, n, o, h, l, p, c, f, d, m, u = this.globalData.fontManager.getFontByName(t.f), y = t.l, g = this.mHelper;\r\n this.stroke = r,\r\n this.values.fValue = t.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t.f).fFamily,\r\n a = t.finalText.length;\r\n var v = this.data.singleShape\r\n , b = .001 * t.tr * t.finalSize\r\n , P = 0\r\n , _ = 0\r\n , S = !0\r\n , E = 0;\r\n for (i = 0; i < a; i += 1) {\r\n for (n = (s = this.globalData.fontManager.getCharData(t.finalText[i], u.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily)) && s.data || {},\r\n g.reset(),\r\n v && y[i].n && (P = -b,\r\n _ += t.yOffset,\r\n _ += S ? 1 : 0,\r\n S = !1),\r\n c = (l = n.shapes ? n.shapes[0].it : []).length,\r\n g.scale(t.finalSize / 100, t.finalSize / 100),\r\n v && this.applyTextPropertiesToMatrix(t, g, y[i].line, P, _),\r\n d = createSizedArray(c),\r\n p = 0; p < c; p += 1) {\r\n for (h = l[p].ks.k.i.length,\r\n f = l[p].ks.k,\r\n m = [],\r\n o = 1; o < h; o += 1)\r\n 1 === o && m.push(g.applyToX(f.v[0][0], f.v[0][1], 0), g.applyToY(f.v[0][0], f.v[0][1], 0)),\r\n m.push(g.applyToX(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToY(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToX(f.i[o][0], f.i[o][1], 0), g.applyToY(f.i[o][0], f.i[o][1], 0), g.applyToX(f.v[o][0], f.v[o][1], 0), g.applyToY(f.v[o][0], f.v[o][1], 0));\r\n m.push(g.applyToX(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToY(f.o[o - 1][0], f.o[o - 1][1], 0), g.applyToX(f.i[0][0], f.i[0][1], 0), g.applyToY(f.i[0][0], f.i[0][1], 0), g.applyToX(f.v[0][0], f.v[0][1], 0), g.applyToY(f.v[0][0], f.v[0][1], 0)),\r\n d[p] = m\r\n }\r\n v && (P += y[i].l,\r\n P += b),\r\n this.textSpans[E] ? this.textSpans[E].elem = d : this.textSpans[E] = {\r\n elem: d\r\n },\r\n E += 1\r\n }\r\n }\r\n ,\r\n CVTextElement.prototype.renderInnerContent = function() {\r\n var t, e, r, i, a, s, n = this.canvasContext;\r\n n.font = this.values.fValue,\r\n n.lineCap = \"butt\",\r\n n.lineJoin = \"miter\",\r\n n.miterLimit = 4,\r\n this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\r\n var o, h = this.textAnimator.renderedLetters, l = this.textProperty.currentData.l;\r\n e = l.length;\r\n var p, c, f = null, d = null, m = null;\r\n for (t = 0; t < e; t += 1)\r\n if (!l[t].n) {\r\n if ((o = h[t]) && (this.globalData.renderer.save(),\r\n this.globalData.renderer.ctxTransform(o.p),\r\n this.globalData.renderer.ctxOpacity(o.o)),\r\n this.fill) {\r\n for (o && o.fc ? f !== o.fc && (f = o.fc,\r\n n.fillStyle = o.fc) : f !== this.values.fill && (f = this.values.fill,\r\n n.fillStyle = this.values.fill),\r\n i = (p = this.textSpans[t].elem).length,\r\n this.globalData.canvasContext.beginPath(),\r\n r = 0; r < i; r += 1)\r\n for (s = (c = p[r]).length,\r\n this.globalData.canvasContext.moveTo(c[0], c[1]),\r\n a = 2; a < s; a += 6)\r\n this.globalData.canvasContext.bezierCurveTo(c[a], c[a + 1], c[a + 2], c[a + 3], c[a + 4], c[a + 5]);\r\n this.globalData.canvasContext.closePath(),\r\n this.globalData.canvasContext.fill()\r\n }\r\n if (this.stroke) {\r\n for (o && o.sw ? m !== o.sw && (m = o.sw,\r\n n.lineWidth = o.sw) : m !== this.values.sWidth && (m = this.values.sWidth,\r\n n.lineWidth = this.values.sWidth),\r\n o && o.sc ? d !== o.sc && (d = o.sc,\r\n n.strokeStyle = o.sc) : d !== this.values.stroke && (d = this.values.stroke,\r\n n.strokeStyle = this.values.stroke),\r\n i = (p = this.textSpans[t].elem).length,\r\n this.globalData.canvasContext.beginPath(),\r\n r = 0; r < i; r += 1)\r\n for (s = (c = p[r]).length,\r\n this.globalData.canvasContext.moveTo(c[0], c[1]),\r\n a = 2; a < s; a += 6)\r\n this.globalData.canvasContext.bezierCurveTo(c[a], c[a + 1], c[a + 2], c[a + 3], c[a + 4], c[a + 5]);\r\n this.globalData.canvasContext.closePath(),\r\n this.globalData.canvasContext.stroke()\r\n }\r\n o && this.globalData.renderer.restore()\r\n }\r\n }\r\n ,\r\n CVEffects.prototype.renderFrame = function() {}\r\n ,\r\n HBaseElement.prototype = {\r\n checkBlendMode: function() {},\r\n initRendererElement: function() {\r\n this.baseElement = createTag(this.data.tg || \"div\"),\r\n this.data.hasMask ? (this.svgElement = createNS(\"svg\"),\r\n this.layerElement = createNS(\"g\"),\r\n this.maskedElement = this.layerElement,\r\n this.svgElement.appendChild(this.layerElement),\r\n this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement,\r\n styleDiv(this.baseElement)\r\n },\r\n createContainerElements: function() {\r\n this.renderableEffectsManager = new CVEffects(this),\r\n this.transformedElement = this.baseElement,\r\n this.maskedElement = this.layerElement,\r\n this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln),\r\n this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl),\r\n 0 !== this.data.bm && this.setBlendMode()\r\n },\r\n renderElement: function() {\r\n var t = this.transformedElement ? this.transformedElement.style : {};\r\n if (this.finalTransform._matMdf) {\r\n var e = this.finalTransform.mat.toCSS();\r\n t.transform = e,\r\n t.webkitTransform = e\r\n }\r\n this.finalTransform._opMdf && (t.opacity = this.finalTransform.mProp.o.v)\r\n },\r\n renderFrame: function() {\r\n this.data.hd || this.hidden || (this.renderTransform(),\r\n this.renderRenderable(),\r\n this.renderElement(),\r\n this.renderInnerContent(),\r\n this._isFirstFrame && (this._isFirstFrame = !1))\r\n },\r\n destroy: function() {\r\n this.layerElement = null,\r\n this.transformedElement = null,\r\n this.matteElement && (this.matteElement = null),\r\n this.maskManager && (this.maskManager.destroy(),\r\n this.maskManager = null)\r\n },\r\n createRenderableComponents: function() {\r\n this.maskManager = new MaskElement(this.data,this,this.globalData)\r\n },\r\n addEffects: function() {},\r\n setMatte: function() {}\r\n },\r\n HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement,\r\n HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy,\r\n HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting,\r\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement),\r\n HSolidElement.prototype.createContent = function() {\r\n var t;\r\n this.data.hasMask ? ((t = createNS(\"rect\")).setAttribute(\"width\", this.data.sw),\r\n t.setAttribute(\"height\", this.data.sh),\r\n t.setAttribute(\"fill\", this.data.sc),\r\n this.svgElement.setAttribute(\"width\", this.data.sw),\r\n this.svgElement.setAttribute(\"height\", this.data.sh)) : ((t = createTag(\"div\")).style.width = this.data.sw + \"px\",\r\n t.style.height = this.data.sh + \"px\",\r\n t.style.backgroundColor = this.data.sc),\r\n this.layerElement.appendChild(t)\r\n }\r\n ,\r\n extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement),\r\n HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements,\r\n HCompElement.prototype.createContainerElements = function() {\r\n this._createBaseContainerElements(),\r\n this.data.hasMask ? (this.svgElement.setAttribute(\"width\", this.data.w),\r\n this.svgElement.setAttribute(\"height\", this.data.h),\r\n this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement\r\n }\r\n ,\r\n HCompElement.prototype.addTo3dContainer = function(t, e) {\r\n for (var r, i = 0; i < e; )\r\n this.elements[i] && this.elements[i].getBaseElement && (r = this.elements[i].getBaseElement()),\r\n i += 1;\r\n r ? this.layerElement.insertBefore(t, r) : this.layerElement.appendChild(t)\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement),\r\n HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent,\r\n HShapeElement.prototype.createContent = function() {\r\n var t;\r\n if (this.baseElement.style.fontSize = 0,\r\n this.data.hasMask)\r\n this.layerElement.appendChild(this.shapesContainer),\r\n t = this.svgElement;\r\n else {\r\n t = createNS(\"svg\");\r\n var e = this.comp.data ? this.comp.data : this.globalData.compSize;\r\n t.setAttribute(\"width\", e.w),\r\n t.setAttribute(\"height\", e.h),\r\n t.appendChild(this.shapesContainer),\r\n this.layerElement.appendChild(t)\r\n }\r\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0),\r\n this.filterUniqueShapes(),\r\n this.shapeCont = t\r\n }\r\n ,\r\n HShapeElement.prototype.getTransformedPoint = function(t, e) {\r\n var r, i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0);\r\n return e\r\n }\r\n ,\r\n HShapeElement.prototype.calculateShapeBoundingBox = function(t, e) {\r\n var r, i, a, s, n, o = t.sh.v, h = t.transformers, l = o._length;\r\n if (!(l <= 1)) {\r\n for (r = 0; r < l - 1; r += 1)\r\n i = this.getTransformedPoint(h, o.v[r]),\r\n a = this.getTransformedPoint(h, o.o[r]),\r\n s = this.getTransformedPoint(h, o.i[r + 1]),\r\n n = this.getTransformedPoint(h, o.v[r + 1]),\r\n this.checkBounds(i, a, s, n, e);\r\n o.c && (i = this.getTransformedPoint(h, o.v[r]),\r\n a = this.getTransformedPoint(h, o.o[r]),\r\n s = this.getTransformedPoint(h, o.i[0]),\r\n n = this.getTransformedPoint(h, o.v[0]),\r\n this.checkBounds(i, a, s, n, e))\r\n }\r\n }\r\n ,\r\n HShapeElement.prototype.checkBounds = function(t, e, r, i, a) {\r\n this.getBoundsOfCurve(t, e, r, i);\r\n var s = this.shapeBoundingBox;\r\n a.x = bmMin(s.left, a.x),\r\n a.xMax = bmMax(s.right, a.xMax),\r\n a.y = bmMin(s.top, a.y),\r\n a.yMax = bmMax(s.bottom, a.yMax)\r\n }\r\n ,\r\n HShapeElement.prototype.shapeBoundingBox = {\r\n left: 0,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n },\r\n HShapeElement.prototype.tempBoundingBox = {\r\n x: 0,\r\n xMax: 0,\r\n y: 0,\r\n yMax: 0,\r\n width: 0,\r\n height: 0\r\n },\r\n HShapeElement.prototype.getBoundsOfCurve = function(t, e, r, i) {\r\n for (var a, s, n, o, h, l, p, c = [[t[0], i[0]], [t[1], i[1]]], f = 0; f < 2; ++f)\r\n s = 6 * t[f] - 12 * e[f] + 6 * r[f],\r\n a = -3 * t[f] + 9 * e[f] - 9 * r[f] + 3 * i[f],\r\n n = 3 * e[f] - 3 * t[f],\r\n s |= 0,\r\n n |= 0,\r\n 0 === (a |= 0) && 0 === s || (0 === a ? (o = -n / s) > 0 && o < 1 && c[f].push(this.calculateF(o, t, e, r, i, f)) : (h = s * s - 4 * n * a) >= 0 && ((l = (-s + bmSqrt(h)) / (2 * a)) > 0 && l < 1 && c[f].push(this.calculateF(l, t, e, r, i, f)),\r\n (p = (-s - bmSqrt(h)) / (2 * a)) > 0 && p < 1 && c[f].push(this.calculateF(p, t, e, r, i, f))));\r\n this.shapeBoundingBox.left = bmMin.apply(null, c[0]),\r\n this.shapeBoundingBox.top = bmMin.apply(null, c[1]),\r\n this.shapeBoundingBox.right = bmMax.apply(null, c[0]),\r\n this.shapeBoundingBox.bottom = bmMax.apply(null, c[1])\r\n }\r\n ,\r\n HShapeElement.prototype.calculateF = function(t, e, r, i, a, s) {\r\n return bmPow(1 - t, 3) * e[s] + 3 * bmPow(1 - t, 2) * t * r[s] + 3 * (1 - t) * bmPow(t, 2) * i[s] + bmPow(t, 3) * a[s]\r\n }\r\n ,\r\n HShapeElement.prototype.calculateBoundingBox = function(t, e) {\r\n var r, i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n t[r] && t[r].sh ? this.calculateShapeBoundingBox(t[r], e) : t[r] && t[r].it && this.calculateBoundingBox(t[r].it, e)\r\n }\r\n ,\r\n HShapeElement.prototype.currentBoxContains = function(t) {\r\n return this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height\r\n }\r\n ,\r\n HShapeElement.prototype.renderInnerContent = function() {\r\n if (this._renderShapeFrame(),\r\n !this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var t = this.tempBoundingBox\r\n , e = 999999;\r\n if (t.x = e,\r\n t.xMax = -e,\r\n t.y = e,\r\n t.yMax = -e,\r\n this.calculateBoundingBox(this.itemsData, t),\r\n t.width = t.xMax < t.x ? 0 : t.xMax - t.x,\r\n t.height = t.yMax < t.y ? 0 : t.yMax - t.y,\r\n this.currentBoxContains(t))\r\n return;\r\n var r = !1;\r\n if (this.currentBBox.w !== t.width && (this.currentBBox.w = t.width,\r\n this.shapeCont.setAttribute(\"width\", t.width),\r\n r = !0),\r\n this.currentBBox.h !== t.height && (this.currentBBox.h = t.height,\r\n this.shapeCont.setAttribute(\"height\", t.height),\r\n r = !0),\r\n r || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) {\r\n this.currentBBox.w = t.width,\r\n this.currentBBox.h = t.height,\r\n this.currentBBox.x = t.x,\r\n this.currentBBox.y = t.y,\r\n this.shapeCont.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h);\r\n var i = this.shapeCont.style\r\n , a = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\r\n i.transform = a,\r\n i.webkitTransform = a\r\n }\r\n }\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement),\r\n HTextElement.prototype.createContent = function() {\r\n if (this.isMasked = this.checkMasks(),\r\n this.isMasked) {\r\n this.renderType = \"svg\",\r\n this.compW = this.comp.data.w,\r\n this.compH = this.comp.data.h,\r\n this.svgElement.setAttribute(\"width\", this.compW),\r\n this.svgElement.setAttribute(\"height\", this.compH);\r\n var t = createNS(\"g\");\r\n this.maskedElement.appendChild(t),\r\n this.innerElem = t\r\n } else\r\n this.renderType = \"html\",\r\n this.innerElem = this.layerElement;\r\n this.checkParenting()\r\n }\r\n ,\r\n HTextElement.prototype.buildNewText = function() {\r\n var t = this.textProperty.currentData;\r\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\r\n var e = this.innerElem.style\r\n , r = t.fc ? this.buildColor(t.fc) : \"rgba(0,0,0,0)\";\r\n e.fill = r,\r\n e.color = r,\r\n t.sc && (e.stroke = this.buildColor(t.sc),\r\n e.strokeWidth = t.sw + \"px\");\r\n var i, a, s = this.globalData.fontManager.getFontByName(t.f);\r\n if (!this.globalData.fontManager.chars)\r\n if (e.fontSize = t.finalSize + \"px\",\r\n e.lineHeight = t.finalSize + \"px\",\r\n s.fClass)\r\n this.innerElem.className = s.fClass;\r\n else {\r\n e.fontFamily = s.fFamily;\r\n var n = t.fWeight\r\n , o = t.fStyle;\r\n e.fontStyle = o,\r\n e.fontWeight = n\r\n }\r\n var h, l, p, c = t.l;\r\n a = c.length;\r\n var f, d = this.mHelper, m = \"\", u = 0;\r\n for (i = 0; i < a; i += 1) {\r\n if (this.globalData.fontManager.chars ? (this.textPaths[u] ? h = this.textPaths[u] : ((h = createNS(\"path\")).setAttribute(\"stroke-linecap\", lineCapEnum[1]),\r\n h.setAttribute(\"stroke-linejoin\", lineJoinEnum[2]),\r\n h.setAttribute(\"stroke-miterlimit\", \"4\")),\r\n this.isMasked || (this.textSpans[u] ? p = (l = this.textSpans[u]).children[0] : ((l = createTag(\"div\")).style.lineHeight = 0,\r\n (p = createNS(\"svg\")).appendChild(h),\r\n styleDiv(l)))) : this.isMasked ? h = this.textPaths[u] ? this.textPaths[u] : createNS(\"text\") : this.textSpans[u] ? (l = this.textSpans[u],\r\n h = this.textPaths[u]) : (styleDiv(l = createTag(\"span\")),\r\n styleDiv(h = createTag(\"span\")),\r\n l.appendChild(h)),\r\n this.globalData.fontManager.chars) {\r\n var y, g = this.globalData.fontManager.getCharData(t.finalText[i], s.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily);\r\n if (y = g ? g.data : null,\r\n d.reset(),\r\n y && y.shapes && (f = y.shapes[0].it,\r\n d.scale(t.finalSize / 100, t.finalSize / 100),\r\n m = this.createPathShape(d, f),\r\n h.setAttribute(\"d\", m)),\r\n this.isMasked)\r\n this.innerElem.appendChild(h);\r\n else {\r\n if (this.innerElem.appendChild(l),\r\n y && y.shapes) {\r\n document.body.appendChild(p);\r\n var v = p.getBBox();\r\n p.setAttribute(\"width\", v.width + 2),\r\n p.setAttribute(\"height\", v.height + 2),\r\n p.setAttribute(\"viewBox\", v.x - 1 + \" \" + (v.y - 1) + \" \" + (v.width + 2) + \" \" + (v.height + 2));\r\n var b = p.style\r\n , P = \"translate(\" + (v.x - 1) + \"px,\" + (v.y - 1) + \"px)\";\r\n b.transform = P,\r\n b.webkitTransform = P,\r\n c[i].yOffset = v.y - 1\r\n } else\r\n p.setAttribute(\"width\", 1),\r\n p.setAttribute(\"height\", 1);\r\n l.appendChild(p)\r\n }\r\n } else if (h.textContent = c[i].val,\r\n h.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"),\r\n this.isMasked)\r\n this.innerElem.appendChild(h);\r\n else {\r\n this.innerElem.appendChild(l);\r\n var _ = h.style\r\n , S = \"translate3d(0,\" + -t.finalSize / 1.2 + \"px,0)\";\r\n _.transform = S,\r\n _.webkitTransform = S\r\n }\r\n this.isMasked ? this.textSpans[u] = h : this.textSpans[u] = l,\r\n this.textSpans[u].style.display = \"block\",\r\n this.textPaths[u] = h,\r\n u += 1\r\n }\r\n for (; u < this.textSpans.length; )\r\n this.textSpans[u].style.display = \"none\",\r\n u += 1\r\n }\r\n ,\r\n HTextElement.prototype.renderInnerContent = function() {\r\n var t;\r\n if (this.data.singleShape) {\r\n if (!this._isFirstFrame && !this.lettersChangedFlag)\r\n return;\r\n if (this.isMasked && this.finalTransform._matMdf) {\r\n this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH),\r\n t = this.svgElement.style;\r\n var e = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\";\r\n t.transform = e,\r\n t.webkitTransform = e\r\n }\r\n }\r\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag),\r\n this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {\r\n var r, i, a, s, n, o = 0, h = this.textAnimator.renderedLetters, l = this.textProperty.currentData.l;\r\n for (i = l.length,\r\n r = 0; r < i; r += 1)\r\n l[r].n ? o += 1 : (s = this.textSpans[r],\r\n n = this.textPaths[r],\r\n a = h[o],\r\n o += 1,\r\n a._mdf.m && (this.isMasked ? s.setAttribute(\"transform\", a.m) : (s.style.webkitTransform = a.m,\r\n s.style.transform = a.m)),\r\n s.style.opacity = a.o,\r\n a.sw && a._mdf.sw && n.setAttribute(\"stroke-width\", a.sw),\r\n a.sc && a._mdf.sc && n.setAttribute(\"stroke\", a.sc),\r\n a.fc && a._mdf.fc && (n.setAttribute(\"fill\", a.fc),\r\n n.style.color = a.fc));\r\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\r\n var p = this.innerElem.getBBox();\r\n this.currentBBox.w !== p.width && (this.currentBBox.w = p.width,\r\n this.svgElement.setAttribute(\"width\", p.width)),\r\n this.currentBBox.h !== p.height && (this.currentBBox.h = p.height,\r\n this.svgElement.setAttribute(\"height\", p.height));\r\n if (this.currentBBox.w !== p.width + 2 || this.currentBBox.h !== p.height + 2 || this.currentBBox.x !== p.x - 1 || this.currentBBox.y !== p.y - 1) {\r\n this.currentBBox.w = p.width + 2,\r\n this.currentBBox.h = p.height + 2,\r\n this.currentBBox.x = p.x - 1,\r\n this.currentBBox.y = p.y - 1,\r\n this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h),\r\n t = this.svgElement.style;\r\n var c = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\r\n t.transform = c,\r\n t.webkitTransform = c\r\n }\r\n }\r\n }\r\n }\r\n ,\r\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement),\r\n HImageElement.prototype.createContent = function() {\r\n var t = this.globalData.getAssetsPath(this.assetData)\r\n , e = new Image;\r\n this.data.hasMask ? (this.imageElem = createNS(\"image\"),\r\n this.imageElem.setAttribute(\"width\", this.assetData.w + \"px\"),\r\n this.imageElem.setAttribute(\"height\", this.assetData.h + \"px\"),\r\n this.imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t),\r\n this.layerElement.appendChild(this.imageElem),\r\n this.baseElement.setAttribute(\"width\", this.assetData.w),\r\n this.baseElement.setAttribute(\"height\", this.assetData.h)) : this.layerElement.appendChild(e),\r\n e.crossOrigin = \"anonymous\",\r\n e.src = t,\r\n this.data.ln && this.baseElement.setAttribute(\"id\", this.data.ln)\r\n }\r\n ,\r\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement),\r\n HCameraElement.prototype.setup = function() {\r\n var t, e, r, i, a = this.comp.threeDElements.length;\r\n for (t = 0; t < a; t += 1)\r\n if (\"3d\" === (e = this.comp.threeDElements[t]).type) {\r\n r = e.perspectiveElem.style,\r\n i = e.container.style;\r\n var s = this.pe.v + \"px\"\r\n , n = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\r\n r.perspective = s,\r\n r.webkitPerspective = s,\r\n i.transformOrigin = \"0px 0px 0px\",\r\n i.mozTransformOrigin = \"0px 0px 0px\",\r\n i.webkitTransformOrigin = \"0px 0px 0px\",\r\n r.transform = n,\r\n r.webkitTransform = n\r\n }\r\n }\r\n ,\r\n HCameraElement.prototype.createElements = function() {}\r\n ,\r\n HCameraElement.prototype.hide = function() {}\r\n ,\r\n HCameraElement.prototype.renderFrame = function() {\r\n var t, e, r = this._isFirstFrame;\r\n if (this.hierarchy)\r\n for (e = this.hierarchy.length,\r\n t = 0; t < e; t += 1)\r\n r = this.hierarchy[t].finalTransform.mProp._mdf || r;\r\n if (r || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\r\n if (this.mat.reset(),\r\n this.hierarchy)\r\n for (t = e = this.hierarchy.length - 1; t >= 0; t -= 1) {\r\n var i = this.hierarchy[t].finalTransform.mProp;\r\n this.mat.translate(-i.p.v[0], -i.p.v[1], i.p.v[2]),\r\n this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]),\r\n this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v),\r\n this.mat.scale(1 / i.s.v[0], 1 / i.s.v[1], 1 / i.s.v[2]),\r\n this.mat.translate(i.a.v[0], i.a.v[1], i.a.v[2])\r\n }\r\n if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v),\r\n this.a) {\r\n var a;\r\n a = this.p ? [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\r\n var s = Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2))\r\n , n = [a[0] / s, a[1] / s, a[2] / s]\r\n , o = Math.sqrt(n[2] * n[2] + n[0] * n[0])\r\n , h = Math.atan2(n[1], o)\r\n , l = Math.atan2(n[0], -n[2]);\r\n this.mat.rotateY(l).rotateX(-h)\r\n }\r\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),\r\n this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),\r\n this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0),\r\n this.mat.translate(0, 0, this.pe.v);\r\n var p = !this._prevMat.equals(this.mat);\r\n if ((p || this.pe._mdf) && this.comp.threeDElements) {\r\n var c, f, d;\r\n for (e = this.comp.threeDElements.length,\r\n t = 0; t < e; t += 1)\r\n if (\"3d\" === (c = this.comp.threeDElements[t]).type) {\r\n if (p) {\r\n var m = this.mat.toCSS();\r\n (d = c.container.style).transform = m,\r\n d.webkitTransform = m\r\n }\r\n this.pe._mdf && ((f = c.perspectiveElem.style).perspective = this.pe.v + \"px\",\r\n f.webkitPerspective = this.pe.v + \"px\")\r\n }\r\n this.mat.clone(this._prevMat)\r\n }\r\n }\r\n this._isFirstFrame = !1\r\n }\r\n ,\r\n HCameraElement.prototype.prepareFrame = function(t) {\r\n this.prepareProperties(t, !0)\r\n }\r\n ,\r\n HCameraElement.prototype.destroy = function() {}\r\n ,\r\n HCameraElement.prototype.getBaseElement = function() {\r\n return null\r\n }\r\n ,\r\n HEffects.prototype.renderFrame = function() {}\r\n ;\r\n var animationManager = function() {\r\n var t = {}\r\n , e = []\r\n , r = 0\r\n , i = 0\r\n , a = 0\r\n , s = !0\r\n , n = !1;\r\n function o(t) {\r\n for (var r = 0, a = t.target; r < i; )\r\n e[r].animation === a && (e.splice(r, 1),\r\n r -= 1,\r\n i -= 1,\r\n a.isPaused || p()),\r\n r += 1\r\n }\r\n function h(t, r) {\r\n if (!t)\r\n return null;\r\n for (var a = 0; a < i; ) {\r\n if (e[a].elem === t && null !== e[a].elem)\r\n return e[a].animation;\r\n a += 1\r\n }\r\n var s = new AnimationItem;\r\n return c(s, t),\r\n s.setData(t, r),\r\n s\r\n }\r\n function l() {\r\n a += 1,\r\n m()\r\n }\r\n function p() {\r\n a -= 1\r\n }\r\n function c(t, r) {\r\n t.addEventListener(\"destroy\", o),\r\n t.addEventListener(\"_active\", l),\r\n t.addEventListener(\"_idle\", p),\r\n e.push({\r\n elem: r,\r\n animation: t\r\n }),\r\n i += 1\r\n }\r\n function f(t) {\r\n var o, h = t - r;\r\n for (o = 0; o < i; o += 1)\r\n e[o].animation.advanceTime(h);\r\n r = t,\r\n a && !n ? window.requestAnimationFrame(f) : s = !0\r\n }\r\n function d(t) {\r\n r = t,\r\n window.requestAnimationFrame(f)\r\n }\r\n function m() {\r\n !n && a && s && (window.requestAnimationFrame(d),\r\n s = !1)\r\n }\r\n return t.registerAnimation = h,\r\n t.loadAnimation = function(t) {\r\n var e = new AnimationItem;\r\n return c(e, null),\r\n e.setParams(t),\r\n e\r\n }\r\n ,\r\n t.setSpeed = function(t, r) {\r\n var a;\r\n for (a = 0; a < i; a += 1)\r\n e[a].animation.setSpeed(t, r)\r\n }\r\n ,\r\n t.setDirection = function(t, r) {\r\n var a;\r\n for (a = 0; a < i; a += 1)\r\n e[a].animation.setDirection(t, r)\r\n }\r\n ,\r\n t.play = function(t) {\r\n var r;\r\n for (r = 0; r < i; r += 1)\r\n e[r].animation.play(t)\r\n }\r\n ,\r\n t.pause = function(t) {\r\n var r;\r\n for (r = 0; r < i; r += 1)\r\n e[r].animation.pause(t)\r\n }\r\n ,\r\n t.stop = function(t) {\r\n var r;\r\n for (r = 0; r < i; r += 1)\r\n e[r].animation.stop(t)\r\n }\r\n ,\r\n t.togglePause = function(t) {\r\n var r;\r\n for (r = 0; r < i; r += 1)\r\n e[r].animation.togglePause(t)\r\n }\r\n ,\r\n t.searchAnimations = function(t, e, r) {\r\n var i, a = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))), s = a.length;\r\n for (i = 0; i < s; i += 1)\r\n r && a[i].setAttribute(\"data-bm-type\", r),\r\n h(a[i], t);\r\n if (e && 0 === s) {\r\n r || (r = \"svg\");\r\n var n = document.getElementsByTagName(\"body\")[0];\r\n n.innerText = \"\";\r\n var o = createTag(\"div\");\r\n o.style.width = \"100%\",\r\n o.style.height = \"100%\",\r\n o.setAttribute(\"data-bm-type\", r),\r\n n.appendChild(o),\r\n h(o, t)\r\n }\r\n }\r\n ,\r\n t.resize = function() {\r\n var t;\r\n for (t = 0; t < i; t += 1)\r\n e[t].animation.resize()\r\n }\r\n ,\r\n t.goToAndStop = function(t, r, a) {\r\n var s;\r\n for (s = 0; s < i; s += 1)\r\n e[s].animation.goToAndStop(t, r, a)\r\n }\r\n ,\r\n t.destroy = function(t) {\r\n var r;\r\n for (r = i - 1; r >= 0; r -= 1)\r\n e[r].animation.destroy(t)\r\n }\r\n ,\r\n t.freeze = function() {\r\n n = !0\r\n }\r\n ,\r\n t.unfreeze = function() {\r\n n = !1,\r\n m()\r\n }\r\n ,\r\n t.setVolume = function(t, r) {\r\n var a;\r\n for (a = 0; a < i; a += 1)\r\n e[a].animation.setVolume(t, r)\r\n }\r\n ,\r\n t.mute = function(t) {\r\n var r;\r\n for (r = 0; r < i; r += 1)\r\n e[r].animation.mute(t)\r\n }\r\n ,\r\n t.unmute = function(t) {\r\n var r;\r\n for (r = 0; r < i; r += 1)\r\n e[r].animation.unmute(t)\r\n }\r\n ,\r\n t.getRegisteredAnimations = function() {\r\n var t, r = e.length, i = [];\r\n for (t = 0; t < r; t += 1)\r\n i.push(e[t].animation);\r\n return i\r\n }\r\n ,\r\n t\r\n }()\r\n , AnimationItem = function() {\r\n this._cbs = [],\r\n this.name = \"\",\r\n this.path = \"\",\r\n this.isLoaded = !1,\r\n this.currentFrame = 0,\r\n this.currentRawFrame = 0,\r\n this.firstFrame = 0,\r\n this.totalFrames = 0,\r\n this.frameRate = 0,\r\n this.frameMult = 0,\r\n this.playSpeed = 1,\r\n this.playDirection = 1,\r\n this.playCount = 0,\r\n this.animationData = {},\r\n this.assets = [],\r\n this.isPaused = !0,\r\n this.autoplay = !1,\r\n this.loop = !0,\r\n this.renderer = null,\r\n this.animationID = createElementID(),\r\n this.assetsPath = \"\",\r\n this.timeCompleted = 0,\r\n this.segmentPos = 0,\r\n this.isSubframeEnabled = subframeEnabled,\r\n this.segments = [],\r\n this._idle = !0,\r\n this._completedLoop = !1,\r\n this.projectInterface = ProjectInterface(),\r\n this.imagePreloader = new ImagePreloader,\r\n this.audioController = audioControllerFactory(),\r\n this.markers = [],\r\n this.configAnimation = this.configAnimation.bind(this),\r\n this.onSetupError = this.onSetupError.bind(this),\r\n this.onSegmentComplete = this.onSegmentComplete.bind(this)\r\n };\r\n extendPrototype([BaseEvent], AnimationItem),\r\n AnimationItem.prototype.setParams = function(t) {\r\n (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);\r\n var e = \"svg\";\r\n switch (t.animType ? e = t.animType : t.renderer && (e = t.renderer),\r\n e) {\r\n case \"canvas\":\r\n this.renderer = new CanvasRenderer(this,t.rendererSettings);\r\n break;\r\n case \"svg\":\r\n this.renderer = new SVGRenderer(this,t.rendererSettings);\r\n break;\r\n default:\r\n this.renderer = new HybridRenderer(this,t.rendererSettings)\r\n }\r\n this.imagePreloader.setCacheType(e, this.renderer.globalData.defs),\r\n this.renderer.setProjectInterface(this.projectInterface),\r\n this.animType = e,\r\n \"\" === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ? this.loop = !0 : !1 === t.loop ? this.loop = !1 : this.loop = parseInt(t.loop, 10),\r\n this.autoplay = !(\"autoplay\"in t) || t.autoplay,\r\n this.name = t.name ? t.name : \"\",\r\n this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t, \"autoloadSegments\") || t.autoloadSegments,\r\n this.assetsPath = t.assetsPath,\r\n this.initialSegment = t.initialSegment,\r\n t.audioFactory && this.audioController.setAudioFactory(t.audioFactory),\r\n t.animationData ? this.setupAnimation(t.animationData) : t.path && (-1 !== t.path.lastIndexOf(\"\\\\\") ? this.path = t.path.substr(0, t.path.lastIndexOf(\"\\\\\") + 1) : this.path = t.path.substr(0, t.path.lastIndexOf(\"/\") + 1),\r\n this.fileName = t.path.substr(t.path.lastIndexOf(\"/\") + 1),\r\n this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(\".json\")),\r\n dataManager.loadAnimation(t.path, this.configAnimation, this.onSetupError))\r\n }\r\n ,\r\n AnimationItem.prototype.onSetupError = function() {\r\n this.trigger(\"data_failed\")\r\n }\r\n ,\r\n AnimationItem.prototype.setupAnimation = function(t) {\r\n dataManager.completeAnimation(t, this.configAnimation)\r\n }\r\n ,\r\n AnimationItem.prototype.setData = function(t, e) {\r\n e && \"object\" != typeof e && (e = JSON.parse(e));\r\n var r = {\r\n wrapper: t,\r\n animationData: e\r\n }\r\n , i = t.attributes;\r\n r.path = i.getNamedItem(\"data-animation-path\") ? i.getNamedItem(\"data-animation-path\").value : i.getNamedItem(\"data-bm-path\") ? i.getNamedItem(\"data-bm-path\").value : i.getNamedItem(\"bm-path\") ? i.getNamedItem(\"bm-path\").value : \"\",\r\n r.animType = i.getNamedItem(\"data-anim-type\") ? i.getNamedItem(\"data-anim-type\").value : i.getNamedItem(\"data-bm-type\") ? i.getNamedItem(\"data-bm-type\").value : i.getNamedItem(\"bm-type\") ? i.getNamedItem(\"bm-type\").value : i.getNamedItem(\"data-bm-renderer\") ? i.getNamedItem(\"data-bm-renderer\").value : i.getNamedItem(\"bm-renderer\") ? i.getNamedItem(\"bm-renderer\").value : \"canvas\";\r\n var a = i.getNamedItem(\"data-anim-loop\") ? i.getNamedItem(\"data-anim-loop\").value : i.getNamedItem(\"data-bm-loop\") ? i.getNamedItem(\"data-bm-loop\").value : i.getNamedItem(\"bm-loop\") ? i.getNamedItem(\"bm-loop\").value : \"\";\r\n \"false\" === a ? r.loop = !1 : \"true\" === a ? r.loop = !0 : \"\" !== a && (r.loop = parseInt(a, 10));\r\n var s = i.getNamedItem(\"data-anim-autoplay\") ? i.getNamedItem(\"data-anim-autoplay\").value : i.getNamedItem(\"data-bm-autoplay\") ? i.getNamedItem(\"data-bm-autoplay\").value : !i.getNamedItem(\"bm-autoplay\") || i.getNamedItem(\"bm-autoplay\").value;\r\n r.autoplay = \"false\" !== s,\r\n r.name = i.getNamedItem(\"data-name\") ? i.getNamedItem(\"data-name\").value : i.getNamedItem(\"data-bm-name\") ? i.getNamedItem(\"data-bm-name\").value : i.getNamedItem(\"bm-name\") ? i.getNamedItem(\"bm-name\").value : \"\",\r\n \"false\" === (i.getNamedItem(\"data-anim-prerender\") ? i.getNamedItem(\"data-anim-prerender\").value : i.getNamedItem(\"data-bm-prerender\") ? i.getNamedItem(\"data-bm-prerender\").value : i.getNamedItem(\"bm-prerender\") ? i.getNamedItem(\"bm-prerender\").value : \"\") && (r.prerender = !1),\r\n this.setParams(r)\r\n }\r\n ,\r\n AnimationItem.prototype.includeLayers = function(t) {\r\n t.op > this.animationData.op && (this.animationData.op = t.op,\r\n this.totalFrames = Math.floor(t.op - this.animationData.ip));\r\n var e, r, i = this.animationData.layers, a = i.length, s = t.layers, n = s.length;\r\n for (r = 0; r < n; r += 1)\r\n for (e = 0; e < a; ) {\r\n if (i[e].id === s[r].id) {\r\n i[e] = s[r];\r\n break\r\n }\r\n e += 1\r\n }\r\n if ((t.chars || t.fonts) && (this.renderer.globalData.fontManager.addChars(t.chars),\r\n this.renderer.globalData.fontManager.addFonts(t.fonts, this.renderer.globalData.defs)),\r\n t.assets)\r\n for (a = t.assets.length,\r\n e = 0; e < a; e += 1)\r\n this.animationData.assets.push(t.assets[e]);\r\n this.animationData.__complete = !1,\r\n dataManager.completeAnimation(this.animationData, this.onSegmentComplete)\r\n }\r\n ,\r\n AnimationItem.prototype.onSegmentComplete = function(t) {\r\n this.animationData = t,\r\n expressionsPlugin && expressionsPlugin.initExpressions(this),\r\n this.loadNextSegment()\r\n }\r\n ,\r\n AnimationItem.prototype.loadNextSegment = function() {\r\n var t = this.animationData.segments;\r\n if (!t || 0 === t.length || !this.autoloadSegments)\r\n return this.trigger(\"data_ready\"),\r\n void (this.timeCompleted = this.totalFrames);\r\n var e = t.shift();\r\n this.timeCompleted = e.time * this.frameRate;\r\n var r = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\r\n this.segmentPos += 1,\r\n dataManager.loadData(r, this.includeLayers.bind(this), function() {\r\n this.trigger(\"data_failed\")\r\n }\r\n .bind(this))\r\n }\r\n ,\r\n AnimationItem.prototype.loadSegments = function() {\r\n this.animationData.segments || (this.timeCompleted = this.totalFrames),\r\n this.loadNextSegment()\r\n }\r\n ,\r\n AnimationItem.prototype.imagesLoaded = function() {\r\n this.trigger(\"loaded_images\"),\r\n this.checkLoaded()\r\n }\r\n ,\r\n AnimationItem.prototype.preloadImages = function() {\r\n this.imagePreloader.setAssetsPath(this.assetsPath),\r\n this.imagePreloader.setPath(this.path),\r\n this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this))\r\n }\r\n ,\r\n AnimationItem.prototype.configAnimation = function(t) {\r\n if (this.renderer)\r\n try {\r\n this.animationData = t,\r\n this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]),\r\n this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip),\r\n this.firstFrame = Math.round(this.animationData.ip)),\r\n this.renderer.configAnimation(t),\r\n t.assets || (t.assets = []),\r\n this.assets = this.animationData.assets,\r\n this.frameRate = this.animationData.fr,\r\n this.frameMult = this.animationData.fr / 1e3,\r\n this.renderer.searchExtraCompositions(t.assets),\r\n this.markers = markerParser(t.markers || []),\r\n this.trigger(\"config_ready\"),\r\n this.preloadImages(),\r\n this.loadSegments(),\r\n this.updaFrameModifier(),\r\n this.waitForFontsLoaded(),\r\n this.isPaused && this.audioController.pause()\r\n } catch (t) {\r\n this.triggerConfigError(t)\r\n }\r\n }\r\n ,\r\n AnimationItem.prototype.waitForFontsLoaded = function() {\r\n this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20))\r\n }\r\n ,\r\n AnimationItem.prototype.checkLoaded = function() {\r\n !this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || \"canvas\" !== this.renderer.rendererType) && this.imagePreloader.loadedFootages() && (this.isLoaded = !0,\r\n expressionsPlugin && expressionsPlugin.initExpressions(this),\r\n this.renderer.initItems(),\r\n setTimeout(function() {\r\n this.trigger(\"DOMLoaded\")\r\n }\r\n .bind(this), 0),\r\n this.gotoFrame(),\r\n this.autoplay && this.play())\r\n }\r\n ,\r\n AnimationItem.prototype.resize = function() {\r\n this.renderer.updateContainerSize()\r\n }\r\n ,\r\n AnimationItem.prototype.setSubframe = function(t) {\r\n this.isSubframeEnabled = !!t\r\n }\r\n ,\r\n AnimationItem.prototype.gotoFrame = function() {\r\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame,\r\n this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted),\r\n this.trigger(\"enterFrame\"),\r\n this.renderFrame(),\r\n this.trigger(\"drawnFrame\")\r\n }\r\n ,\r\n AnimationItem.prototype.renderFrame = function() {\r\n if (!1 !== this.isLoaded && this.renderer)\r\n try {\r\n this.renderer.renderFrame(this.currentFrame + this.firstFrame)\r\n } catch (t) {\r\n this.triggerRenderFrameError(t)\r\n }\r\n }\r\n ,\r\n AnimationItem.prototype.play = function(t) {\r\n t && this.name !== t || !0 === this.isPaused && (this.isPaused = !1,\r\n this.audioController.resume(),\r\n this._idle && (this._idle = !1,\r\n this.trigger(\"_active\")))\r\n }\r\n ,\r\n AnimationItem.prototype.pause = function(t) {\r\n t && this.name !== t || !1 === this.isPaused && (this.isPaused = !0,\r\n this._idle = !0,\r\n this.trigger(\"_idle\"),\r\n this.audioController.pause())\r\n }\r\n ,\r\n AnimationItem.prototype.togglePause = function(t) {\r\n t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause())\r\n }\r\n ,\r\n AnimationItem.prototype.stop = function(t) {\r\n t && this.name !== t || (this.pause(),\r\n this.playCount = 0,\r\n this._completedLoop = !1,\r\n this.setCurrentRawFrameValue(0))\r\n }\r\n ,\r\n AnimationItem.prototype.getMarkerData = function(t) {\r\n for (var e, r = 0; r < this.markers.length; r += 1)\r\n if ((e = this.markers[r]).payload && e.payload.name === t)\r\n return e;\r\n return null\r\n }\r\n ,\r\n AnimationItem.prototype.goToAndStop = function(t, e, r) {\r\n if (!r || this.name === r) {\r\n var i = Number(t);\r\n if (isNaN(i)) {\r\n var a = this.getMarkerData(t);\r\n a && this.goToAndStop(a.time, !0)\r\n } else\r\n e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier);\r\n this.pause()\r\n }\r\n }\r\n ,\r\n AnimationItem.prototype.goToAndPlay = function(t, e, r) {\r\n if (!r || this.name === r) {\r\n var i = Number(t);\r\n if (isNaN(i)) {\r\n var a = this.getMarkerData(t);\r\n a && (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) : this.goToAndStop(a.time, !0))\r\n } else\r\n this.goToAndStop(i, e, r);\r\n this.play()\r\n }\r\n }\r\n ,\r\n AnimationItem.prototype.advanceTime = function(t) {\r\n if (!0 !== this.isPaused && !1 !== this.isLoaded) {\r\n var e = this.currentRawFrame + t * this.frameModifier\r\n , r = !1;\r\n e >= this.totalFrames - 1 && this.frameModifier > 0 ? this.loop && this.playCount !== this.loop ? e >= this.totalFrames ? (this.playCount += 1,\r\n this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue(e % this.totalFrames),\r\n this._completedLoop = !0,\r\n this.trigger(\"loopComplete\"))) : this.setCurrentRawFrameValue(e) : this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (r = !0,\r\n e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (r = !0,\r\n e = 0) : (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames),\r\n this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e),\r\n r && (this.setCurrentRawFrameValue(e),\r\n this.pause(),\r\n this.trigger(\"complete\"))\r\n }\r\n }\r\n ,\r\n AnimationItem.prototype.adjustSegment = function(t, e) {\r\n this.playCount = 0,\r\n t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)),\r\n this.totalFrames = t[0] - t[1],\r\n this.timeCompleted = this.totalFrames,\r\n this.firstFrame = t[1],\r\n this.setCurrentRawFrameValue(this.totalFrames - .001 - e)) : t[1] > t[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)),\r\n this.totalFrames = t[1] - t[0],\r\n this.timeCompleted = this.totalFrames,\r\n this.firstFrame = t[0],\r\n this.setCurrentRawFrameValue(.001 + e)),\r\n this.trigger(\"segmentStart\")\r\n }\r\n ,\r\n AnimationItem.prototype.setSegment = function(t, e) {\r\n var r = -1;\r\n this.isPaused && (this.currentRawFrame + this.firstFrame < t ? r = t : this.currentRawFrame + this.firstFrame > e && (r = e - t)),\r\n this.firstFrame = t,\r\n this.totalFrames = e - t,\r\n this.timeCompleted = this.totalFrames,\r\n -1 !== r && this.goToAndStop(r, !0)\r\n }\r\n ,\r\n AnimationItem.prototype.playSegments = function(t, e) {\r\n if (e && (this.segments.length = 0),\r\n \"object\" == typeof t[0]) {\r\n var r, i = t.length;\r\n for (r = 0; r < i; r += 1)\r\n this.segments.push(t[r])\r\n } else\r\n this.segments.push(t);\r\n this.segments.length && e && this.adjustSegment(this.segments.shift(), 0),\r\n this.isPaused && this.play()\r\n }\r\n ,\r\n AnimationItem.prototype.resetSegments = function(t) {\r\n this.segments.length = 0,\r\n this.segments.push([this.animationData.ip, this.animationData.op]),\r\n t && this.checkSegments(0)\r\n }\r\n ,\r\n AnimationItem.prototype.checkSegments = function(t) {\r\n return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t),\r\n !0)\r\n }\r\n ,\r\n AnimationItem.prototype.destroy = function(t) {\r\n t && this.name !== t || !this.renderer || (this.renderer.destroy(),\r\n this.imagePreloader.destroy(),\r\n this.trigger(\"destroy\"),\r\n this._cbs = null,\r\n this.onEnterFrame = null,\r\n this.onLoopComplete = null,\r\n this.onComplete = null,\r\n this.onSegmentStart = null,\r\n this.onDestroy = null,\r\n this.renderer = null,\r\n this.renderer = null,\r\n this.imagePreloader = null,\r\n this.projectInterface = null)\r\n }\r\n ,\r\n AnimationItem.prototype.setCurrentRawFrameValue = function(t) {\r\n this.currentRawFrame = t,\r\n this.gotoFrame()\r\n }\r\n ,\r\n AnimationItem.prototype.setSpeed = function(t) {\r\n this.playSpeed = t,\r\n this.updaFrameModifier()\r\n }\r\n ,\r\n AnimationItem.prototype.setDirection = function(t) {\r\n this.playDirection = t < 0 ? -1 : 1,\r\n this.updaFrameModifier()\r\n }\r\n ,\r\n AnimationItem.prototype.setVolume = function(t, e) {\r\n e && this.name !== e || this.audioController.setVolume(t)\r\n }\r\n ,\r\n AnimationItem.prototype.getVolume = function() {\r\n return this.audioController.getVolume()\r\n }\r\n ,\r\n AnimationItem.prototype.mute = function(t) {\r\n t && this.name !== t || this.audioController.mute()\r\n }\r\n ,\r\n AnimationItem.prototype.unmute = function(t) {\r\n t && this.name !== t || this.audioController.unmute()\r\n }\r\n ,\r\n AnimationItem.prototype.updaFrameModifier = function() {\r\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection,\r\n this.audioController.setRate(this.playSpeed * this.playDirection)\r\n }\r\n ,\r\n AnimationItem.prototype.getPath = function() {\r\n return this.path\r\n }\r\n ,\r\n AnimationItem.prototype.getAssetsPath = function(t) {\r\n var e = \"\";\r\n if (t.e)\r\n e = t.p;\r\n else if (this.assetsPath) {\r\n var r = t.p;\r\n -1 !== r.indexOf(\"images/\") && (r = r.split(\"/\")[1]),\r\n e = this.assetsPath + r\r\n } else\r\n e = this.path,\r\n e += t.u ? t.u : \"\",\r\n e += t.p;\r\n return e\r\n }\r\n ,\r\n AnimationItem.prototype.getAssetData = function(t) {\r\n for (var e = 0, r = this.assets.length; e < r; ) {\r\n if (t === this.assets[e].id)\r\n return this.assets[e];\r\n e += 1\r\n }\r\n return null\r\n }\r\n ,\r\n AnimationItem.prototype.hide = function() {\r\n this.renderer.hide()\r\n }\r\n ,\r\n AnimationItem.prototype.show = function() {\r\n this.renderer.show()\r\n }\r\n ,\r\n AnimationItem.prototype.getDuration = function(t) {\r\n return t ? this.totalFrames : this.totalFrames / this.frameRate\r\n }\r\n ,\r\n AnimationItem.prototype.trigger = function(t) {\r\n if (this._cbs && this._cbs[t])\r\n switch (t) {\r\n case \"enterFrame\":\r\n case \"drawnFrame\":\r\n this.triggerEvent(t, new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameModifier));\r\n break;\r\n case \"loopComplete\":\r\n this.triggerEvent(t, new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));\r\n break;\r\n case \"complete\":\r\n this.triggerEvent(t, new BMCompleteEvent(t,this.frameMult));\r\n break;\r\n case \"segmentStart\":\r\n this.triggerEvent(t, new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));\r\n break;\r\n case \"destroy\":\r\n this.triggerEvent(t, new BMDestroyEvent(t,this));\r\n break;\r\n default:\r\n this.triggerEvent(t)\r\n }\r\n \"enterFrame\" === t && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),\r\n \"loopComplete\" === t && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),\r\n \"complete\" === t && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t,this.frameMult)),\r\n \"segmentStart\" === t && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),\r\n \"destroy\" === t && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t,this))\r\n }\r\n ,\r\n AnimationItem.prototype.triggerRenderFrameError = function(t) {\r\n var e = new BMRenderFrameErrorEvent(t,this.currentFrame);\r\n this.triggerEvent(\"error\", e),\r\n this.onError && this.onError.call(this, e)\r\n }\r\n ,\r\n AnimationItem.prototype.triggerConfigError = function(t) {\r\n var e = new BMConfigErrorEvent(t,this.currentFrame);\r\n this.triggerEvent(\"error\", e),\r\n this.onError && this.onError.call(this, e)\r\n }\r\n ;\r\n var Expressions = function() {\r\n var t = {};\r\n return t.initExpressions = function(t) {\r\n var e = 0\r\n , r = [];\r\n t.renderer.compInterface = CompExpressionInterface(t.renderer),\r\n t.renderer.globalData.projectInterface.registerComposition(t.renderer),\r\n t.renderer.globalData.pushExpression = function() {\r\n e += 1\r\n }\r\n ,\r\n t.renderer.globalData.popExpression = function() {\r\n 0 === (e -= 1) && function() {\r\n var t, e = r.length;\r\n for (t = 0; t < e; t += 1)\r\n r[t].release();\r\n r.length = 0\r\n }()\r\n }\r\n ,\r\n t.renderer.globalData.registerExpressionProperty = function(t) {\r\n -1 === r.indexOf(t) && r.push(t)\r\n }\r\n }\r\n ,\r\n t\r\n }();\r\n expressionsPlugin = Expressions;\r\n var ExpressionManager = function() {\r\n var ob = {}\r\n , Math = BMMath\r\n , window = null\r\n , document = null\r\n , XMLHttpRequest = null\r\n , fetch = null\r\n , frames = null;\r\n function $bm_isInstanceOfArray(t) {\r\n return t.constructor === Array || t.constructor === Float32Array\r\n }\r\n function isNumerable(t, e) {\r\n return \"number\" === t || \"boolean\" === t || \"string\" === t || e instanceof Number\r\n }\r\n function $bm_neg(t) {\r\n var e = typeof t;\r\n if (\"number\" === e || \"boolean\" === e || t instanceof Number)\r\n return -t;\r\n if ($bm_isInstanceOfArray(t)) {\r\n var r, i = t.length, a = [];\r\n for (r = 0; r < i; r += 1)\r\n a[r] = -t[r];\r\n return a\r\n }\r\n return t.propType ? t.v : -t\r\n }\r\n var easeInBez = BezierFactory.getBezierEasing(.333, 0, .833, .833, \"easeIn\").get\r\n , easeOutBez = BezierFactory.getBezierEasing(.167, .167, .667, 1, \"easeOut\").get\r\n , easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, \"easeInOut\").get;\r\n function sum(t, e) {\r\n var r = typeof t\r\n , i = typeof e;\r\n if (\"string\" === r || \"string\" === i)\r\n return t + e;\r\n if (isNumerable(r, t) && isNumerable(i, e))\r\n return t + e;\r\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e))\r\n return (t = t.slice(0))[0] += e,\r\n t;\r\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e))\r\n return (e = e.slice(0))[0] = t + e[0],\r\n e;\r\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\r\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n; )\r\n (\"number\" == typeof t[a] || t[a]instanceof Number) && (\"number\" == typeof e[a] || e[a]instanceof Number) ? o[a] = t[a] + e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a],\r\n a += 1;\r\n return o\r\n }\r\n return 0\r\n }\r\n var add = sum;\r\n function sub(t, e) {\r\n var r = typeof t\r\n , i = typeof e;\r\n if (isNumerable(r, t) && isNumerable(i, e))\r\n return \"string\" === r && (t = parseInt(t, 10)),\r\n \"string\" === i && (e = parseInt(e, 10)),\r\n t - e;\r\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e))\r\n return (t = t.slice(0))[0] -= e,\r\n t;\r\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e))\r\n return (e = e.slice(0))[0] = t - e[0],\r\n e;\r\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\r\n for (var a = 0, s = t.length, n = e.length, o = []; a < s || a < n; )\r\n (\"number\" == typeof t[a] || t[a]instanceof Number) && (\"number\" == typeof e[a] || e[a]instanceof Number) ? o[a] = t[a] - e[a] : o[a] = void 0 === e[a] ? t[a] : t[a] || e[a],\r\n a += 1;\r\n return o\r\n }\r\n return 0\r\n }\r\n function mul(t, e) {\r\n var r, i, a, s = typeof t, n = typeof e;\r\n if (isNumerable(s, t) && isNumerable(n, e))\r\n return t * e;\r\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\r\n for (a = t.length,\r\n r = createTypedArray(\"float32\", a),\r\n i = 0; i < a; i += 1)\r\n r[i] = t[i] * e;\r\n return r\r\n }\r\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\r\n for (a = e.length,\r\n r = createTypedArray(\"float32\", a),\r\n i = 0; i < a; i += 1)\r\n r[i] = t * e[i];\r\n return r\r\n }\r\n return 0\r\n }\r\n function div(t, e) {\r\n var r, i, a, s = typeof t, n = typeof e;\r\n if (isNumerable(s, t) && isNumerable(n, e))\r\n return t / e;\r\n if ($bm_isInstanceOfArray(t) && isNumerable(n, e)) {\r\n for (a = t.length,\r\n r = createTypedArray(\"float32\", a),\r\n i = 0; i < a; i += 1)\r\n r[i] = t[i] / e;\r\n return r\r\n }\r\n if (isNumerable(s, t) && $bm_isInstanceOfArray(e)) {\r\n for (a = e.length,\r\n r = createTypedArray(\"float32\", a),\r\n i = 0; i < a; i += 1)\r\n r[i] = t / e[i];\r\n return r\r\n }\r\n return 0\r\n }\r\n function mod(t, e) {\r\n return \"string\" == typeof t && (t = parseInt(t, 10)),\r\n \"string\" == typeof e && (e = parseInt(e, 10)),\r\n t % e\r\n }\r\n var $bm_sum = sum\r\n , $bm_sub = sub\r\n , $bm_mul = mul\r\n , $bm_div = div\r\n , $bm_mod = mod;\r\n function clamp(t, e, r) {\r\n if (e > r) {\r\n var i = r;\r\n r = e,\r\n e = i\r\n }\r\n return Math.min(Math.max(t, e), r)\r\n }\r\n function radiansToDegrees(t) {\r\n return t / degToRads\r\n }\r\n var radians_to_degrees = radiansToDegrees;\r\n function degreesToRadians(t) {\r\n return t * degToRads\r\n }\r\n var degrees_to_radians = radiansToDegrees\r\n , helperLengthArray = [0, 0, 0, 0, 0, 0];\r\n function length(t, e) {\r\n if (\"number\" == typeof t || t instanceof Number)\r\n return e = e || 0,\r\n Math.abs(t - e);\r\n var r;\r\n e || (e = helperLengthArray);\r\n var i = Math.min(t.length, e.length)\r\n , a = 0;\r\n for (r = 0; r < i; r += 1)\r\n a += Math.pow(e[r] - t[r], 2);\r\n return Math.sqrt(a)\r\n }\r\n function normalize(t) {\r\n return div(t, length(t))\r\n }\r\n function rgbToHsl(t) {\r\n var e, r, i = t[0], a = t[1], s = t[2], n = Math.max(i, a, s), o = Math.min(i, a, s), h = (n + o) / 2;\r\n if (n === o)\r\n e = 0,\r\n r = 0;\r\n else {\r\n var l = n - o;\r\n switch (r = h > .5 ? l / (2 - n - o) : l / (n + o),\r\n n) {\r\n case i:\r\n e = (a - s) / l + (a < s ? 6 : 0);\r\n break;\r\n case a:\r\n e = (s - i) / l + 2;\r\n break;\r\n case s:\r\n e = (i - a) / l + 4\r\n }\r\n e /= 6\r\n }\r\n return [e, r, h, t[3]]\r\n }\r\n function hue2rgb(t, e, r) {\r\n return r < 0 && (r += 1),\r\n r > 1 && (r -= 1),\r\n r < 1 / 6 ? t + 6 * (e - t) * r : r < .5 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t\r\n }\r\n function hslToRgb(t) {\r\n var e, r, i, a = t[0], s = t[1], n = t[2];\r\n if (0 === s)\r\n e = n,\r\n i = n,\r\n r = n;\r\n else {\r\n var o = n < .5 ? n * (1 + s) : n + s - n * s\r\n , h = 2 * n - o;\r\n e = hue2rgb(h, o, a + 1 / 3),\r\n r = hue2rgb(h, o, a),\r\n i = hue2rgb(h, o, a - 1 / 3)\r\n }\r\n return [e, r, i, t[3]]\r\n }\r\n function linear(t, e, r, i, a) {\r\n if (void 0 !== i && void 0 !== a || (i = e,\r\n a = r,\r\n e = 0,\r\n r = 1),\r\n r < e) {\r\n var s = r;\r\n r = e,\r\n e = s\r\n }\r\n if (t <= e)\r\n return i;\r\n if (t >= r)\r\n return a;\r\n var n, o = r === e ? 0 : (t - e) / (r - e);\r\n if (!i.length)\r\n return i + (a - i) * o;\r\n var h = i.length\r\n , l = createTypedArray(\"float32\", h);\r\n for (n = 0; n < h; n += 1)\r\n l[n] = i[n] + (a[n] - i[n]) * o;\r\n return l\r\n }\r\n function random(t, e) {\r\n if (void 0 === e && (void 0 === t ? (t = 0,\r\n e = 1) : (e = t,\r\n t = void 0)),\r\n e.length) {\r\n var r, i = e.length;\r\n t || (t = createTypedArray(\"float32\", i));\r\n var a = createTypedArray(\"float32\", i)\r\n , s = BMMath.random();\r\n for (r = 0; r < i; r += 1)\r\n a[r] = t[r] + s * (e[r] - t[r]);\r\n return a\r\n }\r\n return void 0 === t && (t = 0),\r\n t + BMMath.random() * (e - t)\r\n }\r\n function createPath(t, e, r, i) {\r\n var a, s = t.length, n = shapePool.newElement();\r\n n.setPathData(!!i, s);\r\n var o, h, l = [0, 0];\r\n for (a = 0; a < s; a += 1)\r\n o = e && e[a] ? e[a] : l,\r\n h = r && r[a] ? r[a] : l,\r\n n.setTripleAt(t[a][0], t[a][1], h[0] + t[a][0], h[1] + t[a][1], o[0] + t[a][0], o[1] + t[a][1], a, !0);\r\n return n\r\n }\r\n function initiateExpression(elem, data, property) {\r\n var val = data.x, needsVelocity = /velocity(?![\\w\\d])/.test(val), _needsRandom = -1 !== val.indexOf(\"random\"), elemType = elem.data.ty, transform, $bm_transform, content, effect, thisProperty = property;\r\n thisProperty.valueAtTime = thisProperty.getValueAtTime,\r\n Object.defineProperty(thisProperty, \"value\", {\r\n get: function() {\r\n return thisProperty.v\r\n }\r\n }),\r\n elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate,\r\n elem.comp.displayStartTime = 0;\r\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate, outPoint = elem.data.op / elem.comp.globalData.frameRate, width = elem.data.sw ? elem.data.sw : 0, height = elem.data.sh ? elem.data.sh : 0, name = elem.data.nm, loopIn, loop_in, loopOut, loop_out, smooth, toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime, scoped_bm_rt, expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0], numKeys = property.kf ? data.k.length : 0, active = !this.data || !0 !== this.data.hd, wiggle = function(t, e) {\r\n var r, i, a = this.pv.length ? this.pv.length : 1, s = createTypedArray(\"float32\", a);\r\n var n = Math.floor(5 * time);\r\n for (r = 0,\r\n i = 0; r < n; ) {\r\n for (i = 0; i < a; i += 1)\r\n s[i] += -e + 2 * e * BMMath.random();\r\n r += 1\r\n }\r\n var o = 5 * time\r\n , h = o - Math.floor(o)\r\n , l = createTypedArray(\"float32\", a);\r\n if (a > 1) {\r\n for (i = 0; i < a; i += 1)\r\n l[i] = this.pv[i] + s[i] + (-e + 2 * e * BMMath.random()) * h;\r\n return l\r\n }\r\n return this.pv + s[0] + (-e + 2 * e * BMMath.random()) * h\r\n }\r\n .bind(this);\r\n function loopInDuration(t, e) {\r\n return loopIn(t, e, !0)\r\n }\r\n function loopOutDuration(t, e) {\r\n return loopOut(t, e, !0)\r\n }\r\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty),\r\n loop_in = loopIn),\r\n thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty),\r\n loop_out = loopOut),\r\n thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty)),\r\n this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)),\r\n this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));\r\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface), time, velocity, value, text, textIndex, textTotal, selectorValue;\r\n function lookAt(t, e) {\r\n var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]]\r\n , i = Math.atan2(r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2])) / degToRads;\r\n return [-Math.atan2(r[1], r[2]) / degToRads, i, 0]\r\n }\r\n function easeOut(t, e, r, i, a) {\r\n return applyEase(easeOutBez, t, e, r, i, a)\r\n }\r\n function easeIn(t, e, r, i, a) {\r\n return applyEase(easeInBez, t, e, r, i, a)\r\n }\r\n function ease(t, e, r, i, a) {\r\n return applyEase(easeInOutBez, t, e, r, i, a)\r\n }\r\n function applyEase(t, e, r, i, a, s) {\r\n void 0 === a ? (a = r,\r\n s = i) : e = (e - r) / (i - r),\r\n e > 1 ? e = 1 : e < 0 && (e = 0);\r\n var n = t(e);\r\n if ($bm_isInstanceOfArray(a)) {\r\n var o, h = a.length, l = createTypedArray(\"float32\", h);\r\n for (o = 0; o < h; o += 1)\r\n l[o] = (s[o] - a[o]) * n + a[o];\r\n return l\r\n }\r\n return (s - a) * n + a\r\n }\r\n function nearestKey(t) {\r\n var e, r, i, a = data.k.length;\r\n if (data.k.length && \"number\" != typeof data.k[0])\r\n if (r = -1,\r\n (t *= elem.comp.globalData.frameRate) < data.k[0].t)\r\n r = 1,\r\n i = data.k[0].t;\r\n else {\r\n for (e = 0; e < a - 1; e += 1) {\r\n if (t === data.k[e].t) {\r\n r = e + 1,\r\n i = data.k[e].t;\r\n break\r\n }\r\n if (t > data.k[e].t && t < data.k[e + 1].t) {\r\n t - data.k[e].t > data.k[e + 1].t - t ? (r = e + 2,\r\n i = data.k[e + 1].t) : (r = e + 1,\r\n i = data.k[e].t);\r\n break\r\n }\r\n }\r\n -1 === r && (r = e + 1,\r\n i = data.k[e].t)\r\n }\r\n else\r\n r = 0,\r\n i = 0;\r\n var s = {};\r\n return s.index = r,\r\n s.time = i / elem.comp.globalData.frameRate,\r\n s\r\n }\r\n function key(t) {\r\n var e, r, i;\r\n if (!data.k.length || \"number\" == typeof data.k[0])\r\n throw new Error(\"The property has no keyframe at index \" + t);\r\n t -= 1,\r\n e = {\r\n time: data.k[t].t / elem.comp.globalData.frameRate,\r\n value: []\r\n };\r\n var a = Object.prototype.hasOwnProperty.call(data.k[t], \"s\") ? data.k[t].s : data.k[t - 1].e;\r\n for (i = a.length,\r\n r = 0; r < i; r += 1)\r\n e[r] = a[r],\r\n e.value[r] = a[r];\r\n return e\r\n }\r\n function framesToTime(t, e) {\r\n return e || (e = elem.comp.globalData.frameRate),\r\n t / e\r\n }\r\n function timeToFrames(t, e) {\r\n return t || 0 === t || (t = time),\r\n e || (e = elem.comp.globalData.frameRate),\r\n t * e\r\n }\r\n function seedRandom(t) {\r\n BMMath.seedrandom(randSeed + t)\r\n }\r\n function sourceRectAtTime() {\r\n return elem.sourceRectAtTime()\r\n }\r\n function substring(t, e) {\r\n return \"string\" == typeof value ? void 0 === e ? value.substring(t) : value.substring(t, e) : \"\"\r\n }\r\n function substr(t, e) {\r\n return \"string\" == typeof value ? void 0 === e ? value.substr(t) : value.substr(t, e) : \"\"\r\n }\r\n function posterizeTime(t) {\r\n time = 0 === t ? 0 : Math.floor(time * t) / t,\r\n value = valueAtTime(time)\r\n }\r\n var index = elem.data.ind, hasParent = !(!elem.hierarchy || !elem.hierarchy.length), parent, randSeed = Math.floor(1e6 * Math.random()), globalData = elem.globalData;\r\n function executeExpression(t) {\r\n return value = t,\r\n this.frameExpressionId === elem.globalData.frameId && \"textSelector\" !== this.propType ? value : (\"textSelector\" === this.propType && (textIndex = this.textIndex,\r\n textTotal = this.textTotal,\r\n selectorValue = this.selectorValue),\r\n thisLayer || (text = elem.layerInterface.text,\r\n thisLayer = elem.layerInterface,\r\n thisComp = elem.comp.compInterface,\r\n toWorld = thisLayer.toWorld.bind(thisLayer),\r\n fromWorld = thisLayer.fromWorld.bind(thisLayer),\r\n fromComp = thisLayer.fromComp.bind(thisLayer),\r\n toComp = thisLayer.toComp.bind(thisLayer),\r\n mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null,\r\n fromCompToSurface = fromComp),\r\n transform || (transform = elem.layerInterface(\"ADBE Transform Group\"),\r\n $bm_transform = transform,\r\n transform && (anchorPoint = transform.anchorPoint)),\r\n 4 !== elemType || content || (content = thisLayer(\"ADBE Root Vectors Group\")),\r\n effect || (effect = thisLayer(4)),\r\n (hasParent = !(!elem.hierarchy || !elem.hierarchy.length)) && !parent && (parent = elem.hierarchy[0].layerInterface),\r\n time = this.comp.renderedFrame / this.comp.globalData.frameRate,\r\n _needsRandom && seedRandom(randSeed + time),\r\n needsVelocity && (velocity = velocityAtTime(time)),\r\n expression_function(),\r\n this.frameExpressionId = elem.globalData.frameId,\r\n \"shape\" === scoped_bm_rt.propType && (scoped_bm_rt = scoped_bm_rt.v),\r\n scoped_bm_rt)\r\n }\r\n return executeExpression\r\n }\r\n return ob.initiateExpression = initiateExpression,\r\n ob\r\n }()\r\n , expressionHelpers = {\r\n searchExpressions: function(t, e, r) {\r\n e.x && (r.k = !0,\r\n r.x = !0,\r\n r.initiateExpression = ExpressionManager.initiateExpression,\r\n r.effectsSequence.push(r.initiateExpression(t, e, r).bind(r)))\r\n },\r\n getSpeedAtTime: function(t) {\r\n var e = this.getValueAtTime(t)\r\n , r = this.getValueAtTime(t + -.01)\r\n , i = 0;\r\n if (e.length) {\r\n var a;\r\n for (a = 0; a < e.length; a += 1)\r\n i += Math.pow(r[a] - e[a], 2);\r\n i = 100 * Math.sqrt(i)\r\n } else\r\n i = 0;\r\n return i\r\n },\r\n getVelocityAtTime: function(t) {\r\n if (void 0 !== this.vel)\r\n return this.vel;\r\n var e, r, i = this.getValueAtTime(t), a = this.getValueAtTime(t + -.001);\r\n if (i.length)\r\n for (e = createTypedArray(\"float32\", i.length),\r\n r = 0; r < i.length; r += 1)\r\n e[r] = (a[r] - i[r]) / -.001;\r\n else\r\n e = (a - i) / -.001;\r\n return e\r\n },\r\n getValueAtTime: function(t) {\r\n return t *= this.elem.globalData.frameRate,\r\n (t -= this.offsetTime) !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < t ? this._cachingAtTime.lastIndex : 0,\r\n this._cachingAtTime.value = this.interpolateValue(t, this._cachingAtTime),\r\n this._cachingAtTime.lastFrame = t),\r\n this._cachingAtTime.value\r\n },\r\n getStaticValueAtTime: function() {\r\n return this.pv\r\n },\r\n setGroupProperty: function(t) {\r\n this.propertyGroup = t\r\n }\r\n };\r\n !function() {\r\n function t(t, e, r) {\r\n if (!this.k || !this.keyframes)\r\n return this.pv;\r\n t = t ? t.toLowerCase() : \"\";\r\n var i, a, s, n, o, h = this.comp.renderedFrame, l = this.keyframes, p = l[l.length - 1].t;\r\n if (h <= p)\r\n return this.pv;\r\n if (r ? a = p - (i = e ? Math.abs(p - this.elem.comp.globalData.frameRate * e) : Math.max(0, p - this.elem.data.ip)) : ((!e || e > l.length - 1) && (e = l.length - 1),\r\n i = p - (a = l[l.length - 1 - e].t)),\r\n \"pingpong\" === t) {\r\n if (Math.floor((h - a) / i) % 2 != 0)\r\n return this.getValueAtTime((i - (h - a) % i + a) / this.comp.globalData.frameRate, 0)\r\n } else {\r\n if (\"offset\" === t) {\r\n var c = this.getValueAtTime(a / this.comp.globalData.frameRate, 0)\r\n , f = this.getValueAtTime(p / this.comp.globalData.frameRate, 0)\r\n , d = this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0)\r\n , m = Math.floor((h - a) / i);\r\n if (this.pv.length) {\r\n for (n = (o = new Array(c.length)).length,\r\n s = 0; s < n; s += 1)\r\n o[s] = (f[s] - c[s]) * m + d[s];\r\n return o\r\n }\r\n return (f - c) * m + d\r\n }\r\n if (\"continue\" === t) {\r\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0)\r\n , y = this.getValueAtTime((p - .001) / this.comp.globalData.frameRate, 0);\r\n if (this.pv.length) {\r\n for (n = (o = new Array(u.length)).length,\r\n s = 0; s < n; s += 1)\r\n o[s] = u[s] + (u[s] - y[s]) * ((h - p) / this.comp.globalData.frameRate) / 5e-4;\r\n return o\r\n }\r\n return u + (h - p) / .001 * (u - y)\r\n }\r\n }\r\n return this.getValueAtTime(((h - a) % i + a) / this.comp.globalData.frameRate, 0)\r\n }\r\n function e(t, e, r) {\r\n if (!this.k)\r\n return this.pv;\r\n t = t ? t.toLowerCase() : \"\";\r\n var i, a, s, n, o, h = this.comp.renderedFrame, l = this.keyframes, p = l[0].t;\r\n if (h >= p)\r\n return this.pv;\r\n if (r ? a = p + (i = e ? Math.abs(this.elem.comp.globalData.frameRate * e) : Math.max(0, this.elem.data.op - p)) : ((!e || e > l.length - 1) && (e = l.length - 1),\r\n i = (a = l[e].t) - p),\r\n \"pingpong\" === t) {\r\n if (Math.floor((p - h) / i) % 2 == 0)\r\n return this.getValueAtTime(((p - h) % i + p) / this.comp.globalData.frameRate, 0)\r\n } else {\r\n if (\"offset\" === t) {\r\n var c = this.getValueAtTime(p / this.comp.globalData.frameRate, 0)\r\n , f = this.getValueAtTime(a / this.comp.globalData.frameRate, 0)\r\n , d = this.getValueAtTime((i - (p - h) % i + p) / this.comp.globalData.frameRate, 0)\r\n , m = Math.floor((p - h) / i) + 1;\r\n if (this.pv.length) {\r\n for (n = (o = new Array(c.length)).length,\r\n s = 0; s < n; s += 1)\r\n o[s] = d[s] - (f[s] - c[s]) * m;\r\n return o\r\n }\r\n return d - (f - c) * m\r\n }\r\n if (\"continue\" === t) {\r\n var u = this.getValueAtTime(p / this.comp.globalData.frameRate, 0)\r\n , y = this.getValueAtTime((p + .001) / this.comp.globalData.frameRate, 0);\r\n if (this.pv.length) {\r\n for (n = (o = new Array(u.length)).length,\r\n s = 0; s < n; s += 1)\r\n o[s] = u[s] + (u[s] - y[s]) * (p - h) / .001;\r\n return o\r\n }\r\n return u + (u - y) * (p - h) / .001\r\n }\r\n }\r\n return this.getValueAtTime((i - ((p - h) % i + p)) / this.comp.globalData.frameRate, 0)\r\n }\r\n function r(t, e) {\r\n if (!this.k)\r\n return this.pv;\r\n if (t = .5 * (t || .4),\r\n (e = Math.floor(e || 5)) <= 1)\r\n return this.pv;\r\n var r, i, a = this.comp.renderedFrame / this.comp.globalData.frameRate, s = a - t, n = e > 1 ? (a + t - s) / (e - 1) : 1, o = 0, h = 0;\r\n for (r = this.pv.length ? createTypedArray(\"float32\", this.pv.length) : 0; o < e; ) {\r\n if (i = this.getValueAtTime(s + o * n),\r\n this.pv.length)\r\n for (h = 0; h < this.pv.length; h += 1)\r\n r[h] += i[h];\r\n else\r\n r += i;\r\n o += 1\r\n }\r\n if (this.pv.length)\r\n for (h = 0; h < this.pv.length; h += 1)\r\n r[h] /= e;\r\n else\r\n r /= e;\r\n return r\r\n }\r\n function i(t) {\r\n this._transformCachingAtTime || (this._transformCachingAtTime = {\r\n v: new Matrix\r\n });\r\n var e = this._transformCachingAtTime.v;\r\n if (e.cloneFromProps(this.pre.props),\r\n this.appliedTransformations < 1) {\r\n var r = this.a.getValueAtTime(t);\r\n e.translate(-r[0] * this.a.mult, -r[1] * this.a.mult, r[2] * this.a.mult)\r\n }\r\n if (this.appliedTransformations < 2) {\r\n var i = this.s.getValueAtTime(t);\r\n e.scale(i[0] * this.s.mult, i[1] * this.s.mult, i[2] * this.s.mult)\r\n }\r\n if (this.sk && this.appliedTransformations < 3) {\r\n var a = this.sk.getValueAtTime(t)\r\n , s = this.sa.getValueAtTime(t);\r\n e.skewFromAxis(-a * this.sk.mult, s * this.sa.mult)\r\n }\r\n if (this.r && this.appliedTransformations < 4) {\r\n var n = this.r.getValueAtTime(t);\r\n e.rotate(-n * this.r.mult)\r\n } else if (!this.r && this.appliedTransformations < 4) {\r\n var o = this.rz.getValueAtTime(t)\r\n , h = this.ry.getValueAtTime(t)\r\n , l = this.rx.getValueAtTime(t)\r\n , p = this.or.getValueAtTime(t);\r\n e.rotateZ(-o * this.rz.mult).rotateY(h * this.ry.mult).rotateX(l * this.rx.mult).rotateZ(-p[2] * this.or.mult).rotateY(p[1] * this.or.mult).rotateX(p[0] * this.or.mult)\r\n }\r\n if (this.data.p && this.data.p.s) {\r\n var c = this.px.getValueAtTime(t)\r\n , f = this.py.getValueAtTime(t);\r\n if (this.data.p.z) {\r\n var d = this.pz.getValueAtTime(t);\r\n e.translate(c * this.px.mult, f * this.py.mult, -d * this.pz.mult)\r\n } else\r\n e.translate(c * this.px.mult, f * this.py.mult, 0)\r\n } else {\r\n var m = this.p.getValueAtTime(t);\r\n e.translate(m[0] * this.p.mult, m[1] * this.p.mult, -m[2] * this.p.mult)\r\n }\r\n return e\r\n }\r\n function a() {\r\n return this.v.clone(new Matrix)\r\n }\r\n var s = TransformPropertyFactory.getTransformProperty;\r\n TransformPropertyFactory.getTransformProperty = function(t, e, r) {\r\n var n = s(t, e, r);\r\n return n.dynamicProperties.length ? n.getValueAtTime = i.bind(n) : n.getValueAtTime = a.bind(n),\r\n n.setGroupProperty = expressionHelpers.setGroupProperty,\r\n n\r\n }\r\n ;\r\n var n = PropertyFactory.getProp;\r\n PropertyFactory.getProp = function(i, a, s, o, h) {\r\n var l = n(i, a, s, o, h);\r\n l.kf ? l.getValueAtTime = expressionHelpers.getValueAtTime.bind(l) : l.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(l),\r\n l.setGroupProperty = expressionHelpers.setGroupProperty,\r\n l.loopOut = t,\r\n l.loopIn = e,\r\n l.smooth = r,\r\n l.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(l),\r\n l.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(l),\r\n l.numKeys = 1 === a.a ? a.k.length : 0,\r\n l.propertyIndex = a.ix;\r\n var p = 0;\r\n return 0 !== s && (p = createTypedArray(\"float32\", 1 === a.a ? a.k[0].s.length : a.k.length)),\r\n l._cachingAtTime = {\r\n lastFrame: initialDefaultFrame,\r\n lastIndex: 0,\r\n value: p\r\n },\r\n expressionHelpers.searchExpressions(i, a, l),\r\n l.k && h.addDynamicProperty(l),\r\n l\r\n }\r\n ;\r\n var o = ShapePropertyFactory.getConstructorFunction()\r\n , h = ShapePropertyFactory.getKeyframedConstructorFunction();\r\n function l() {}\r\n l.prototype = {\r\n vertices: function(t, e) {\r\n this.k && this.getValue();\r\n var r, i = this.v;\r\n void 0 !== e && (i = this.getValueAtTime(e, 0));\r\n var a = i._length\r\n , s = i[t]\r\n , n = i.v\r\n , o = createSizedArray(a);\r\n for (r = 0; r < a; r += 1)\r\n o[r] = \"i\" === t || \"o\" === t ? [s[r][0] - n[r][0], s[r][1] - n[r][1]] : [s[r][0], s[r][1]];\r\n return o\r\n },\r\n points: function(t) {\r\n return this.vertices(\"v\", t)\r\n },\r\n inTangents: function(t) {\r\n return this.vertices(\"i\", t)\r\n },\r\n outTangents: function(t) {\r\n return this.vertices(\"o\", t)\r\n },\r\n isClosed: function() {\r\n return this.v.c\r\n },\r\n pointOnPath: function(t, e) {\r\n var r = this.v;\r\n void 0 !== e && (r = this.getValueAtTime(e, 0)),\r\n this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(r));\r\n for (var i, a = this._segmentsLength, s = a.lengths, n = a.totalLength * t, o = 0, h = s.length, l = 0; o < h; ) {\r\n if (l + s[o].addedLength > n) {\r\n var p = o\r\n , c = r.c && o === h - 1 ? 0 : o + 1\r\n , f = (n - l) / s[o].addedLength;\r\n i = bez.getPointInSegment(r.v[p], r.v[c], r.o[p], r.i[c], f, s[o]);\r\n break\r\n }\r\n l += s[o].addedLength,\r\n o += 1\r\n }\r\n return i || (i = r.c ? [r.v[0][0], r.v[0][1]] : [r.v[r._length - 1][0], r.v[r._length - 1][1]]),\r\n i\r\n },\r\n vectorOnPath: function(t, e, r) {\r\n 1 == t ? t = this.v.c : 0 == t && (t = .999);\r\n var i = this.pointOnPath(t, e)\r\n , a = this.pointOnPath(t + .001, e)\r\n , s = a[0] - i[0]\r\n , n = a[1] - i[1]\r\n , o = Math.sqrt(Math.pow(s, 2) + Math.pow(n, 2));\r\n return 0 === o ? [0, 0] : \"tangent\" === r ? [s / o, n / o] : [-n / o, s / o]\r\n },\r\n tangentOnPath: function(t, e) {\r\n return this.vectorOnPath(t, e, \"tangent\")\r\n },\r\n normalOnPath: function(t, e) {\r\n return this.vectorOnPath(t, e, \"normal\")\r\n },\r\n setGroupProperty: expressionHelpers.setGroupProperty,\r\n getValueAtTime: expressionHelpers.getStaticValueAtTime\r\n },\r\n extendPrototype([l], o),\r\n extendPrototype([l], h),\r\n h.prototype.getValueAtTime = function(t) {\r\n return this._cachingAtTime || (this._cachingAtTime = {\r\n shapeValue: shapePool.clone(this.pv),\r\n lastIndex: 0,\r\n lastTime: initialDefaultFrame\r\n }),\r\n t *= this.elem.globalData.frameRate,\r\n (t -= this.offsetTime) !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < t ? this._caching.lastIndex : 0,\r\n this._cachingAtTime.lastTime = t,\r\n this.interpolateShape(t, this._cachingAtTime.shapeValue, this._cachingAtTime)),\r\n this._cachingAtTime.shapeValue\r\n }\r\n ,\r\n h.prototype.initiateExpression = ExpressionManager.initiateExpression;\r\n var p = ShapePropertyFactory.getShapeProp;\r\n ShapePropertyFactory.getShapeProp = function(t, e, r, i, a) {\r\n var s = p(t, e, r, i, a);\r\n return s.propertyIndex = e.ix,\r\n s.lock = !1,\r\n 3 === r ? expressionHelpers.searchExpressions(t, e.pt, s) : 4 === r && expressionHelpers.searchExpressions(t, e.ks, s),\r\n s.k && t.addDynamicProperty(s),\r\n s\r\n }\r\n }(),\r\n TextProperty.prototype.getExpressionValue = function(t, e) {\r\n var r = this.calculateExpression(e);\r\n if (t.t !== r) {\r\n var i = {};\r\n return this.copyData(i, t),\r\n i.t = r.toString(),\r\n i.__complete = !1,\r\n i\r\n }\r\n return t\r\n }\r\n ,\r\n TextProperty.prototype.searchProperty = function() {\r\n var t = this.searchKeyframes()\r\n , e = this.searchExpressions();\r\n return this.kf = t || e,\r\n this.kf\r\n }\r\n ,\r\n TextProperty.prototype.searchExpressions = function() {\r\n return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this),\r\n this.addEffect(this.getExpressionValue.bind(this)),\r\n !0) : null\r\n }\r\n ;\r\n var ShapePathInterface = function(t, e, r) {\r\n var i = e.sh;\r\n function a(t) {\r\n return \"Shape\" === t || \"shape\" === t || \"Path\" === t || \"path\" === t || \"ADBE Vector Shape\" === t || 2 === t ? a.path : null\r\n }\r\n var s = propertyGroupFactory(a, r);\r\n return i.setGroupProperty(PropertyInterface(\"Path\", s)),\r\n Object.defineProperties(a, {\r\n path: {\r\n get: function() {\r\n return i.k && i.getValue(),\r\n i\r\n }\r\n },\r\n shape: {\r\n get: function() {\r\n return i.k && i.getValue(),\r\n i\r\n }\r\n },\r\n _name: {\r\n value: t.nm\r\n },\r\n ix: {\r\n value: t.ix\r\n },\r\n propertyIndex: {\r\n value: t.ix\r\n },\r\n mn: {\r\n value: t.mn\r\n },\r\n propertyGroup: {\r\n value: r\r\n }\r\n }),\r\n a\r\n }, propertyGroupFactory = function(t, e) {\r\n return function(r) {\r\n return (r = void 0 === r ? 1 : r) <= 0 ? t : e(r - 1)\r\n }\r\n }, PropertyInterface = function(t, e) {\r\n var r = {\r\n _name: t\r\n };\r\n return function(t) {\r\n return (t = void 0 === t ? 1 : t) <= 0 ? r : e(t - 1)\r\n }\r\n }, ShapeExpressionInterface = function() {\r\n function t(t, o, d) {\r\n var m, u = [], y = t ? t.length : 0;\r\n for (m = 0; m < y; m += 1)\r\n \"gr\" === t[m].ty ? u.push(e(t[m], o[m], d)) : \"fl\" === t[m].ty ? u.push(r(t[m], o[m], d)) : \"st\" === t[m].ty ? u.push(s(t[m], o[m], d)) : \"tm\" === t[m].ty ? u.push(n(t[m], o[m], d)) : \"tr\" === t[m].ty || (\"el\" === t[m].ty ? u.push(h(t[m], o[m], d)) : \"sr\" === t[m].ty ? u.push(l(t[m], o[m], d)) : \"sh\" === t[m].ty ? u.push(ShapePathInterface(t[m], o[m], d)) : \"rc\" === t[m].ty ? u.push(p(t[m], o[m], d)) : \"rd\" === t[m].ty ? u.push(c(t[m], o[m], d)) : \"rp\" === t[m].ty ? u.push(f(t[m], o[m], d)) : \"gf\" === t[m].ty ? u.push(i(t[m], o[m], d)) : u.push(a(t[m], o[m])));\r\n return u\r\n }\r\n function e(e, r, i) {\r\n var a = function(t) {\r\n switch (t) {\r\n case \"ADBE Vectors Group\":\r\n case \"Contents\":\r\n case 2:\r\n return a.content;\r\n default:\r\n return a.transform\r\n }\r\n };\r\n a.propertyGroup = propertyGroupFactory(a, i);\r\n var s = function(e, r, i) {\r\n var a, s = function(t) {\r\n for (var e = 0, r = a.length; e < r; ) {\r\n if (a[e]._name === t || a[e].mn === t || a[e].propertyIndex === t || a[e].ix === t || a[e].ind === t)\r\n return a[e];\r\n e += 1\r\n }\r\n return \"number\" == typeof t ? a[t - 1] : null\r\n };\r\n s.propertyGroup = propertyGroupFactory(s, i),\r\n a = t(e.it, r.it, s.propertyGroup),\r\n s.numProperties = a.length;\r\n var n = o(e.it[e.it.length - 1], r.it[r.it.length - 1], s.propertyGroup);\r\n return s.transform = n,\r\n s.propertyIndex = e.cix,\r\n s._name = e.nm,\r\n s\r\n }(e, r, a.propertyGroup)\r\n , n = o(e.it[e.it.length - 1], r.it[r.it.length - 1], a.propertyGroup);\r\n return a.content = s,\r\n a.transform = n,\r\n Object.defineProperty(a, \"_name\", {\r\n get: function() {\r\n return e.nm\r\n }\r\n }),\r\n a.numProperties = e.np,\r\n a.propertyIndex = e.ix,\r\n a.nm = e.nm,\r\n a.mn = e.mn,\r\n a\r\n }\r\n function r(t, e, r) {\r\n function i(t) {\r\n return \"Color\" === t || \"color\" === t ? i.color : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null\r\n }\r\n return Object.defineProperties(i, {\r\n color: {\r\n get: ExpressionPropertyInterface(e.c)\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(e.o)\r\n },\r\n _name: {\r\n value: t.nm\r\n },\r\n mn: {\r\n value: t.mn\r\n }\r\n }),\r\n e.c.setGroupProperty(PropertyInterface(\"Color\", r)),\r\n e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)),\r\n i\r\n }\r\n function i(t, e, r) {\r\n function i(t) {\r\n return \"Start Point\" === t || \"start point\" === t ? i.startPoint : \"End Point\" === t || \"end point\" === t ? i.endPoint : \"Opacity\" === t || \"opacity\" === t ? i.opacity : null\r\n }\r\n return Object.defineProperties(i, {\r\n startPoint: {\r\n get: ExpressionPropertyInterface(e.s)\r\n },\r\n endPoint: {\r\n get: ExpressionPropertyInterface(e.e)\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(e.o)\r\n },\r\n type: {\r\n get: function() {\r\n return \"a\"\r\n }\r\n },\r\n _name: {\r\n value: t.nm\r\n },\r\n mn: {\r\n value: t.mn\r\n }\r\n }),\r\n e.s.setGroupProperty(PropertyInterface(\"Start Point\", r)),\r\n e.e.setGroupProperty(PropertyInterface(\"End Point\", r)),\r\n e.o.setGroupProperty(PropertyInterface(\"Opacity\", r)),\r\n i\r\n }\r\n function a() {\r\n return function() {\r\n return null\r\n }\r\n }\r\n function s(t, e, r) {\r\n var i, a = propertyGroupFactory(l, r), s = propertyGroupFactory(h, a);\r\n function n(r) {\r\n Object.defineProperty(h, t.d[r].nm, {\r\n get: ExpressionPropertyInterface(e.d.dataProps[r].p)\r\n })\r\n }\r\n var o = t.d ? t.d.length : 0\r\n , h = {};\r\n for (i = 0; i < o; i += 1)\r\n n(i),\r\n e.d.dataProps[i].p.setGroupProperty(s);\r\n function l(t) {\r\n return \"Color\" === t || \"color\" === t ? l.color : \"Opacity\" === t || \"opacity\" === t ? l.opacity : \"Stroke Width\" === t || \"stroke width\" === t ? l.strokeWidth : null\r\n }\r\n return Object.defineProperties(l, {\r\n color: {\r\n get: ExpressionPropertyInterface(e.c)\r\n },\r\n opacity: {\r\n get: ExpressionPropertyInterface(e.o)\r\n },\r\n strokeWidth: {\r\n get: ExpressionPropertyInterface(e.w)\r\n },\r\n dash: {\r\n get: function() {\r\n return h\r\n }\r\n },\r\n _name: {\r\n value: t.nm\r\n },\r\n mn: {\r\n value: t.mn\r\n }\r\n }),\r\n e.c.setGroupProperty(PropertyInterface(\"Color\", a)),\r\n e.o.setGroupProperty(PropertyInterface(\"Opacity\", a)),\r\n e.w.setGroupProperty(PropertyInterface(\"Stroke Width\", a)),\r\n l\r\n }\r\n function n(t, e, r) {\r\n function i(e) {\r\n return e === t.e.ix || \"End\" === e || \"end\" === e ? i.end : e === t.s.ix ? i.start : e === t.o.ix ? i.offset : null\r\n }\r\n var a = propertyGroupFactory(i, r);\r\n return i.propertyIndex = t.ix,\r\n e.s.setGroupProperty(PropertyInterface(\"Start\", a)),\r\n e.e.setGroupProperty(PropertyInterface(\"End\", a)),\r\n e.o.setGroupProperty(PropertyInterface(\"Offset\", a)),\r\n i.propertyIndex = t.ix,\r\n i.propertyGroup = r,\r\n Object.defineProperties(i, {\r\n start: {\r\n get: ExpressionPropertyInterface(e.s)\r\n },\r\n end: {\r\n get: ExpressionPropertyInterface(e.e)\r\n },\r\n offset: {\r\n get: ExpressionPropertyInterface(e.o)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.mn = t.mn,\r\n i\r\n }\r\n function o(t, e, r) {\r\n function i(e) {\r\n return t.a.ix === e || \"Anchor Point\" === e ? i.anchorPoint : t.o.ix === e || \"Opacity\" === e ? i.opacity : t.p.ix === e || \"Position\" === e ? i.position : t.r.ix === e || \"Rotation\" === e || \"ADBE Vector Rotation\" === e ? i.rotation : t.s.ix === e || \"Scale\" === e ? i.scale : t.sk && t.sk.ix === e || \"Skew\" === e ? i.skew : t.sa && t.sa.ix === e || \"Skew Axis\" === e ? i.skewAxis : null\r\n }\r\n var a = propertyGroupFactory(i, r);\r\n return e.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", a)),\r\n e.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", a)),\r\n e.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", a)),\r\n e.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", a)),\r\n e.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", a)),\r\n e.transform.mProps.sk && (e.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", a)),\r\n e.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", a))),\r\n e.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", a)),\r\n Object.defineProperties(i, {\r\n opacity: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.o)\r\n },\r\n position: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.p)\r\n },\r\n anchorPoint: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.a)\r\n },\r\n scale: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.s)\r\n },\r\n rotation: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.r)\r\n },\r\n skew: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.sk)\r\n },\r\n skewAxis: {\r\n get: ExpressionPropertyInterface(e.transform.mProps.sa)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.ty = \"tr\",\r\n i.mn = t.mn,\r\n i.propertyGroup = r,\r\n i\r\n }\r\n function h(t, e, r) {\r\n function i(e) {\r\n return t.p.ix === e ? i.position : t.s.ix === e ? i.size : null\r\n }\r\n var a = propertyGroupFactory(i, r);\r\n i.propertyIndex = t.ix;\r\n var s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\r\n return s.s.setGroupProperty(PropertyInterface(\"Size\", a)),\r\n s.p.setGroupProperty(PropertyInterface(\"Position\", a)),\r\n Object.defineProperties(i, {\r\n size: {\r\n get: ExpressionPropertyInterface(s.s)\r\n },\r\n position: {\r\n get: ExpressionPropertyInterface(s.p)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.mn = t.mn,\r\n i\r\n }\r\n function l(t, e, r) {\r\n function i(e) {\r\n return t.p.ix === e ? i.position : t.r.ix === e ? i.rotation : t.pt.ix === e ? i.points : t.or.ix === e || \"ADBE Vector Star Outer Radius\" === e ? i.outerRadius : t.os.ix === e ? i.outerRoundness : !t.ir || t.ir.ix !== e && \"ADBE Vector Star Inner Radius\" !== e ? t.is && t.is.ix === e ? i.innerRoundness : null : i.innerRadius\r\n }\r\n var a = propertyGroupFactory(i, r)\r\n , s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\r\n return i.propertyIndex = t.ix,\r\n s.or.setGroupProperty(PropertyInterface(\"Outer Radius\", a)),\r\n s.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", a)),\r\n s.pt.setGroupProperty(PropertyInterface(\"Points\", a)),\r\n s.p.setGroupProperty(PropertyInterface(\"Position\", a)),\r\n s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)),\r\n t.ir && (s.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", a)),\r\n s.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", a))),\r\n Object.defineProperties(i, {\r\n position: {\r\n get: ExpressionPropertyInterface(s.p)\r\n },\r\n rotation: {\r\n get: ExpressionPropertyInterface(s.r)\r\n },\r\n points: {\r\n get: ExpressionPropertyInterface(s.pt)\r\n },\r\n outerRadius: {\r\n get: ExpressionPropertyInterface(s.or)\r\n },\r\n outerRoundness: {\r\n get: ExpressionPropertyInterface(s.os)\r\n },\r\n innerRadius: {\r\n get: ExpressionPropertyInterface(s.ir)\r\n },\r\n innerRoundness: {\r\n get: ExpressionPropertyInterface(s.is)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.mn = t.mn,\r\n i\r\n }\r\n function p(t, e, r) {\r\n function i(e) {\r\n return t.p.ix === e ? i.position : t.r.ix === e ? i.roundness : t.s.ix === e || \"Size\" === e || \"ADBE Vector Rect Size\" === e ? i.size : null\r\n }\r\n var a = propertyGroupFactory(i, r)\r\n , s = \"tm\" === e.sh.ty ? e.sh.prop : e.sh;\r\n return i.propertyIndex = t.ix,\r\n s.p.setGroupProperty(PropertyInterface(\"Position\", a)),\r\n s.s.setGroupProperty(PropertyInterface(\"Size\", a)),\r\n s.r.setGroupProperty(PropertyInterface(\"Rotation\", a)),\r\n Object.defineProperties(i, {\r\n position: {\r\n get: ExpressionPropertyInterface(s.p)\r\n },\r\n roundness: {\r\n get: ExpressionPropertyInterface(s.r)\r\n },\r\n size: {\r\n get: ExpressionPropertyInterface(s.s)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.mn = t.mn,\r\n i\r\n }\r\n function c(t, e, r) {\r\n function i(e) {\r\n return t.r.ix === e || \"Round Corners 1\" === e ? i.radius : null\r\n }\r\n var a = propertyGroupFactory(i, r)\r\n , s = e;\r\n return i.propertyIndex = t.ix,\r\n s.rd.setGroupProperty(PropertyInterface(\"Radius\", a)),\r\n Object.defineProperties(i, {\r\n radius: {\r\n get: ExpressionPropertyInterface(s.rd)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.mn = t.mn,\r\n i\r\n }\r\n function f(t, e, r) {\r\n function i(e) {\r\n return t.c.ix === e || \"Copies\" === e ? i.copies : t.o.ix === e || \"Offset\" === e ? i.offset : null\r\n }\r\n var a = propertyGroupFactory(i, r)\r\n , s = e;\r\n return i.propertyIndex = t.ix,\r\n s.c.setGroupProperty(PropertyInterface(\"Copies\", a)),\r\n s.o.setGroupProperty(PropertyInterface(\"Offset\", a)),\r\n Object.defineProperties(i, {\r\n copies: {\r\n get: ExpressionPropertyInterface(s.c)\r\n },\r\n offset: {\r\n get: ExpressionPropertyInterface(s.o)\r\n },\r\n _name: {\r\n value: t.nm\r\n }\r\n }),\r\n i.mn = t.mn,\r\n i\r\n }\r\n return function(e, r, i) {\r\n var a;\r\n function s(t) {\r\n if (\"number\" == typeof t)\r\n return 0 === (t = void 0 === t ? 1 : t) ? i : a[t - 1];\r\n for (var e = 0, r = a.length; e < r; ) {\r\n if (a[e]._name === t)\r\n return a[e];\r\n e += 1\r\n }\r\n return null\r\n }\r\n return s.propertyGroup = propertyGroupFactory(s, (function() {\r\n return i\r\n }\r\n )),\r\n a = t(e, r, s.propertyGroup),\r\n s.numProperties = a.length,\r\n s._name = \"Contents\",\r\n s\r\n }\r\n }(), TextExpressionInterface = function(t) {\r\n var e;\r\n function r(t) {\r\n switch (t) {\r\n case \"ADBE Text Document\":\r\n return r.sourceText;\r\n default:\r\n return null\r\n }\r\n }\r\n return Object.defineProperty(r, \"sourceText\", {\r\n get: function() {\r\n t.textProperty.getValue();\r\n var r = t.textProperty.currentData.t;\r\n return void 0 !== r && (t.textProperty.currentData.t = void 0,\r\n (e = new String(r)).value = r || new String(r)),\r\n e\r\n }\r\n }),\r\n r\r\n }, LayerExpressionInterface = function() {\r\n function t(t) {\r\n var e = new Matrix;\r\n void 0 !== t ? this._elem.finalTransform.mProp.getValueAtTime(t).clone(e) : this._elem.finalTransform.mProp.applyToMatrix(e);\r\n return e\r\n }\r\n function e(t, e) {\r\n var r = this.getMatrix(e);\r\n return r.props[12] = 0,\r\n r.props[13] = 0,\r\n r.props[14] = 0,\r\n this.applyPoint(r, t)\r\n }\r\n function r(t, e) {\r\n var r = this.getMatrix(e);\r\n return this.applyPoint(r, t)\r\n }\r\n function i(t, e) {\r\n var r = this.getMatrix(e);\r\n return r.props[12] = 0,\r\n r.props[13] = 0,\r\n r.props[14] = 0,\r\n this.invertPoint(r, t)\r\n }\r\n function a(t, e) {\r\n var r = this.getMatrix(e);\r\n return this.invertPoint(r, t)\r\n }\r\n function s(t, e) {\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var r, i = this._elem.hierarchy.length;\r\n for (r = 0; r < i; r += 1)\r\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t)\r\n }\r\n return t.applyToPointArray(e[0], e[1], e[2] || 0)\r\n }\r\n function n(t, e) {\r\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var r, i = this._elem.hierarchy.length;\r\n for (r = 0; r < i; r += 1)\r\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t)\r\n }\r\n return t.inversePoint(e)\r\n }\r\n function o(t) {\r\n var e = new Matrix;\r\n if (e.reset(),\r\n this._elem.finalTransform.mProp.applyToMatrix(e),\r\n this._elem.hierarchy && this._elem.hierarchy.length) {\r\n var r, i = this._elem.hierarchy.length;\r\n for (r = 0; r < i; r += 1)\r\n this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(e);\r\n return e.inversePoint(t)\r\n }\r\n return e.inversePoint(t)\r\n }\r\n function h() {\r\n return [1, 1, 1, 1]\r\n }\r\n return function(l) {\r\n var p;\r\n function c(t) {\r\n switch (t) {\r\n case \"ADBE Root Vectors Group\":\r\n case \"Contents\":\r\n case 2:\r\n return c.shapeInterface;\r\n case 1:\r\n case 6:\r\n case \"Transform\":\r\n case \"transform\":\r\n case \"ADBE Transform Group\":\r\n return p;\r\n case 4:\r\n case \"ADBE Effect Parade\":\r\n case \"effects\":\r\n case \"Effects\":\r\n return c.effect;\r\n case \"ADBE Text Properties\":\r\n return c.textInterface;\r\n default:\r\n return null\r\n }\r\n }\r\n c.getMatrix = t,\r\n c.invertPoint = n,\r\n c.applyPoint = s,\r\n c.toWorld = r,\r\n c.toWorldVec = e,\r\n c.fromWorld = a,\r\n c.fromWorldVec = i,\r\n c.toComp = r,\r\n c.fromComp = o,\r\n c.sampleImage = h,\r\n c.sourceRectAtTime = l.sourceRectAtTime.bind(l),\r\n c._elem = l;\r\n var f = getDescriptor(p = TransformExpressionInterface(l.finalTransform.mProp), \"anchorPoint\");\r\n return Object.defineProperties(c, {\r\n hasParent: {\r\n get: function() {\r\n return l.hierarchy.length\r\n }\r\n },\r\n parent: {\r\n get: function() {\r\n return l.hierarchy[0].layerInterface\r\n }\r\n },\r\n rotation: getDescriptor(p, \"rotation\"),\r\n scale: getDescriptor(p, \"scale\"),\r\n position: getDescriptor(p, \"position\"),\r\n opacity: getDescriptor(p, \"opacity\"),\r\n anchorPoint: f,\r\n anchor_point: f,\r\n transform: {\r\n get: function() {\r\n return p\r\n }\r\n },\r\n active: {\r\n get: function() {\r\n return l.isInRange\r\n }\r\n }\r\n }),\r\n c.startTime = l.data.st,\r\n c.index = l.data.ind,\r\n c.source = l.data.refId,\r\n c.height = 0 === l.data.ty ? l.data.h : 100,\r\n c.width = 0 === l.data.ty ? l.data.w : 100,\r\n c.inPoint = l.data.ip / l.comp.globalData.frameRate,\r\n c.outPoint = l.data.op / l.comp.globalData.frameRate,\r\n c._name = l.data.nm,\r\n c.registerMaskInterface = function(t) {\r\n c.mask = new MaskManagerInterface(t,l)\r\n }\r\n ,\r\n c.registerEffectsInterface = function(t) {\r\n c.effect = t\r\n }\r\n ,\r\n c\r\n }\r\n }(), FootageInterface = (dataInterfaceFactory = function(t) {\r\n function e(t) {\r\n return \"Outline\" === t ? e.outlineInterface() : null\r\n }\r\n return e._name = \"Outline\",\r\n e.outlineInterface = function(t) {\r\n var e = \"\"\r\n , r = t.getFootageData();\r\n function i(t) {\r\n if (r[t])\r\n return e = t,\r\n \"object\" == typeof (r = r[t]) ? i : r;\r\n var a = t.indexOf(e);\r\n if (-1 !== a) {\r\n var s = parseInt(t.substr(a + e.length), 10);\r\n return \"object\" == typeof (r = r[s]) ? i : r\r\n }\r\n return \"\"\r\n }\r\n return function() {\r\n return e = \"\",\r\n r = t.getFootageData(),\r\n i\r\n }\r\n }(t),\r\n e\r\n }\r\n ,\r\n function(t) {\r\n function e(t) {\r\n return \"Data\" === t ? e.dataInterface : null\r\n }\r\n return e._name = \"Data\",\r\n e.dataInterface = dataInterfaceFactory(t),\r\n e\r\n }\r\n ), dataInterfaceFactory, CompExpressionInterface = function(t) {\r\n function e(e) {\r\n for (var r = 0, i = t.layers.length; r < i; ) {\r\n if (t.layers[r].nm === e || t.layers[r].ind === e)\r\n return t.elements[r].layerInterface;\r\n r += 1\r\n }\r\n return null\r\n }\r\n return Object.defineProperty(e, \"_name\", {\r\n value: t.data.nm\r\n }),\r\n e.layer = e,\r\n e.pixelAspect = 1,\r\n e.height = t.data.h || t.globalData.compSize.h,\r\n e.width = t.data.w || t.globalData.compSize.w,\r\n e.pixelAspect = 1,\r\n e.frameDuration = 1 / t.globalData.frameRate,\r\n e.displayStartTime = 0,\r\n e.numLayers = t.layers.length,\r\n e\r\n }, TransformExpressionInterface = function(t) {\r\n function e(t) {\r\n switch (t) {\r\n case \"scale\":\r\n case \"Scale\":\r\n case \"ADBE Scale\":\r\n case 6:\r\n return e.scale;\r\n case \"rotation\":\r\n case \"Rotation\":\r\n case \"ADBE Rotation\":\r\n case \"ADBE Rotate Z\":\r\n case 10:\r\n return e.rotation;\r\n case \"ADBE Rotate X\":\r\n return e.xRotation;\r\n case \"ADBE Rotate Y\":\r\n return e.yRotation;\r\n case \"position\":\r\n case \"Position\":\r\n case \"ADBE Position\":\r\n case 2:\r\n return e.position;\r\n case \"ADBE Position_0\":\r\n return e.xPosition;\r\n case \"ADBE Position_1\":\r\n return e.yPosition;\r\n case \"ADBE Position_2\":\r\n return e.zPosition;\r\n case \"anchorPoint\":\r\n case \"AnchorPoint\":\r\n case \"Anchor Point\":\r\n case \"ADBE AnchorPoint\":\r\n case 1:\r\n return e.anchorPoint;\r\n case \"opacity\":\r\n case \"Opacity\":\r\n case 11:\r\n return e.opacity;\r\n default:\r\n return null\r\n }\r\n }\r\n var r, i, a, s;\r\n return Object.defineProperty(e, \"rotation\", {\r\n get: ExpressionPropertyInterface(t.r || t.rz)\r\n }),\r\n Object.defineProperty(e, \"zRotation\", {\r\n get: ExpressionPropertyInterface(t.rz || t.r)\r\n }),\r\n Object.defineProperty(e, \"xRotation\", {\r\n get: ExpressionPropertyInterface(t.rx)\r\n }),\r\n Object.defineProperty(e, \"yRotation\", {\r\n get: ExpressionPropertyInterface(t.ry)\r\n }),\r\n Object.defineProperty(e, \"scale\", {\r\n get: ExpressionPropertyInterface(t.s)\r\n }),\r\n t.p ? s = ExpressionPropertyInterface(t.p) : (r = ExpressionPropertyInterface(t.px),\r\n i = ExpressionPropertyInterface(t.py),\r\n t.pz && (a = ExpressionPropertyInterface(t.pz))),\r\n Object.defineProperty(e, \"position\", {\r\n get: function() {\r\n return t.p ? s() : [r(), i(), a ? a() : 0]\r\n }\r\n }),\r\n Object.defineProperty(e, \"xPosition\", {\r\n get: ExpressionPropertyInterface(t.px)\r\n }),\r\n Object.defineProperty(e, \"yPosition\", {\r\n get: ExpressionPropertyInterface(t.py)\r\n }),\r\n Object.defineProperty(e, \"zPosition\", {\r\n get: ExpressionPropertyInterface(t.pz)\r\n }),\r\n Object.defineProperty(e, \"anchorPoint\", {\r\n get: ExpressionPropertyInterface(t.a)\r\n }),\r\n Object.defineProperty(e, \"opacity\", {\r\n get: ExpressionPropertyInterface(t.o)\r\n }),\r\n Object.defineProperty(e, \"skew\", {\r\n get: ExpressionPropertyInterface(t.sk)\r\n }),\r\n Object.defineProperty(e, \"skewAxis\", {\r\n get: ExpressionPropertyInterface(t.sa)\r\n }),\r\n Object.defineProperty(e, \"orientation\", {\r\n get: ExpressionPropertyInterface(t.or)\r\n }),\r\n e\r\n }, ProjectInterface = function() {\r\n function t(t) {\r\n this.compositions.push(t)\r\n }\r\n return function() {\r\n function e(t) {\r\n for (var e = 0, r = this.compositions.length; e < r; ) {\r\n if (this.compositions[e].data && this.compositions[e].data.nm === t)\r\n return this.compositions[e].prepareFrame && this.compositions[e].data.xt && this.compositions[e].prepareFrame(this.currentFrame),\r\n this.compositions[e].compInterface;\r\n e += 1\r\n }\r\n return null\r\n }\r\n return e.compositions = [],\r\n e.currentFrame = 0,\r\n e.registerComposition = t,\r\n e\r\n }\r\n }(), EffectsExpressionInterface = function() {\r\n function t(r, i, a, s) {\r\n function n(t) {\r\n for (var e = r.ef, i = 0, a = e.length; i < a; ) {\r\n if (t === e[i].nm || t === e[i].mn || t === e[i].ix)\r\n return 5 === e[i].ty ? l[i] : l[i]();\r\n i += 1\r\n }\r\n throw new Error\r\n }\r\n var o, h = propertyGroupFactory(n, a), l = [], p = r.ef.length;\r\n for (o = 0; o < p; o += 1)\r\n 5 === r.ef[o].ty ? l.push(t(r.ef[o], i.effectElements[o], i.effectElements[o].propertyGroup, s)) : l.push(e(i.effectElements[o], r.ef[o].ty, s, h));\r\n return \"ADBE Color Control\" === r.mn && Object.defineProperty(n, \"color\", {\r\n get: function() {\r\n return l[0]()\r\n }\r\n }),\r\n Object.defineProperties(n, {\r\n numProperties: {\r\n get: function() {\r\n return r.np\r\n }\r\n },\r\n _name: {\r\n value: r.nm\r\n },\r\n propertyGroup: {\r\n value: h\r\n }\r\n }),\r\n n.enabled = 0 !== r.en,\r\n n.active = n.enabled,\r\n n\r\n }\r\n function e(t, e, r, i) {\r\n var a = ExpressionPropertyInterface(t.p);\r\n return t.p.setGroupProperty && t.p.setGroupProperty(PropertyInterface(\"\", i)),\r\n function() {\r\n return 10 === e ? r.comp.compInterface(t.p.v) : a()\r\n }\r\n }\r\n return {\r\n createEffectsInterface: function(e, r) {\r\n if (e.effectsManager) {\r\n var i, a = [], s = e.data.ef, n = e.effectsManager.effectElements.length;\r\n for (i = 0; i < n; i += 1)\r\n a.push(t(s[i], e.effectsManager.effectElements[i], r, e));\r\n var o = e.data.ef || []\r\n , h = function(t) {\r\n for (i = 0,\r\n n = o.length; i < n; ) {\r\n if (t === o[i].nm || t === o[i].mn || t === o[i].ix)\r\n return a[i];\r\n i += 1\r\n }\r\n return null\r\n };\r\n return Object.defineProperty(h, \"numProperties\", {\r\n get: function() {\r\n return o.length\r\n }\r\n }),\r\n h\r\n }\r\n return null\r\n }\r\n }\r\n }(), MaskManagerInterface = function() {\r\n function t(t, e) {\r\n this._mask = t,\r\n this._data = e\r\n }\r\n Object.defineProperty(t.prototype, \"maskPath\", {\r\n get: function() {\r\n return this._mask.prop.k && this._mask.prop.getValue(),\r\n this._mask.prop\r\n }\r\n }),\r\n Object.defineProperty(t.prototype, \"maskOpacity\", {\r\n get: function() {\r\n return this._mask.op.k && this._mask.op.getValue(),\r\n 100 * this._mask.op.v\r\n }\r\n });\r\n return function(e) {\r\n var r, i = createSizedArray(e.viewData.length), a = e.viewData.length;\r\n for (r = 0; r < a; r += 1)\r\n i[r] = new t(e.viewData[r],e.masksProperties[r]);\r\n return function(t) {\r\n for (r = 0; r < a; ) {\r\n if (e.masksProperties[r].nm === t)\r\n return i[r];\r\n r += 1\r\n }\r\n return null\r\n }\r\n }\r\n }(), ExpressionPropertyInterface = function() {\r\n var t = {\r\n pv: 0,\r\n v: 0,\r\n mult: 1\r\n }\r\n , e = {\r\n pv: [0, 0, 0],\r\n v: [0, 0, 0],\r\n mult: 1\r\n };\r\n function r(t, e, r) {\r\n Object.defineProperty(t, \"velocity\", {\r\n get: function() {\r\n return e.getVelocityAtTime(e.comp.currentFrame)\r\n }\r\n }),\r\n t.numKeys = e.keyframes ? e.keyframes.length : 0,\r\n t.key = function(i) {\r\n if (!t.numKeys)\r\n return 0;\r\n var a = \"\";\r\n a = \"s\"in e.keyframes[i - 1] ? e.keyframes[i - 1].s : \"e\"in e.keyframes[i - 2] ? e.keyframes[i - 2].e : e.keyframes[i - 2].s;\r\n var s = \"unidimensional\" === r ? new Number(a) : Object.assign({}, a);\r\n return s.time = e.keyframes[i - 1].t / e.elem.comp.globalData.frameRate,\r\n s.value = \"unidimensional\" === r ? a[0] : a,\r\n s\r\n }\r\n ,\r\n t.valueAtTime = e.getValueAtTime,\r\n t.speedAtTime = e.getSpeedAtTime,\r\n t.velocityAtTime = e.getVelocityAtTime,\r\n t.propertyGroup = e.propertyGroup\r\n }\r\n function i() {\r\n return t\r\n }\r\n return function(a) {\r\n return a ? \"unidimensional\" === a.propType ? function(e) {\r\n e && \"pv\"in e || (e = t);\r\n var i = 1 / e.mult\r\n , a = e.pv * i\r\n , s = new Number(a);\r\n return s.value = a,\r\n r(s, e, \"unidimensional\"),\r\n function() {\r\n return e.k && e.getValue(),\r\n a = e.v * i,\r\n s.value !== a && ((s = new Number(a)).value = a,\r\n r(s, e, \"unidimensional\")),\r\n s\r\n }\r\n }(a) : function(t) {\r\n t && \"pv\"in t || (t = e);\r\n var i = 1 / t.mult\r\n , a = t.data && t.data.l || t.pv.length\r\n , s = createTypedArray(\"float32\", a)\r\n , n = createTypedArray(\"float32\", a);\r\n return s.value = n,\r\n r(s, t, \"multidimensional\"),\r\n function() {\r\n t.k && t.getValue();\r\n for (var e = 0; e < a; e += 1)\r\n n[e] = t.v[e] * i,\r\n s[e] = n[e];\r\n return s\r\n }\r\n }(a) : i\r\n }\r\n }(), TextExpressionSelectorPropFactory = function() {\r\n function t(t, e) {\r\n return this.textIndex = t + 1,\r\n this.textTotal = e,\r\n this.v = this.getValue() * this.mult,\r\n this.v\r\n }\r\n return function(e, r) {\r\n this.pv = 1,\r\n this.comp = e.comp,\r\n this.elem = e,\r\n this.mult = .01,\r\n this.propType = \"textSelector\",\r\n this.textTotal = r.totalChars,\r\n this.selectorValue = 100,\r\n this.lastValue = [1, 1, 1],\r\n this.k = !0,\r\n this.x = !0,\r\n this.getValue = ExpressionManager.initiateExpression.bind(this)(e, r, this),\r\n this.getMult = t,\r\n this.getVelocityAtTime = expressionHelpers.getVelocityAtTime,\r\n this.kf ? this.getValueAtTime = expressionHelpers.getValueAtTime.bind(this) : this.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this),\r\n this.setGroupProperty = expressionHelpers.setGroupProperty\r\n }\r\n }(), propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\r\n function SliderEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r)\r\n }\r\n function AngleEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r)\r\n }\r\n function ColorEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r)\r\n }\r\n function PointEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r)\r\n }\r\n function LayerIndexEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r)\r\n }\r\n function MaskIndexEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r)\r\n }\r\n function CheckboxEffect(t, e, r) {\r\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r)\r\n }\r\n function NoValueEffect() {\r\n this.p = {}\r\n }\r\n function EffectsManager(t, e) {\r\n var r, i = t.ef || [];\r\n this.effectElements = [];\r\n var a, s = i.length;\r\n for (r = 0; r < s; r += 1)\r\n a = new GroupEffect(i[r],e),\r\n this.effectElements.push(a)\r\n }\r\n function GroupEffect(t, e) {\r\n this.init(t, e)\r\n }\r\n TextSelectorProp.getTextSelectorProp = function(t, e, r) {\r\n return 1 === e.t ? new TextExpressionSelectorPropFactory(t,e,r) : propertyGetTextProp(t, e, r)\r\n }\r\n ,\r\n extendPrototype([DynamicPropertyContainer], GroupEffect),\r\n GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties,\r\n GroupEffect.prototype.init = function(t, e) {\r\n var r;\r\n this.data = t,\r\n this.effectElements = [],\r\n this.initDynamicPropertyContainer(e);\r\n var i, a = this.data.ef.length, s = this.data.ef;\r\n for (r = 0; r < a; r += 1) {\r\n switch (i = null,\r\n s[r].ty) {\r\n case 0:\r\n i = new SliderEffect(s[r],e,this);\r\n break;\r\n case 1:\r\n i = new AngleEffect(s[r],e,this);\r\n break;\r\n case 2:\r\n i = new ColorEffect(s[r],e,this);\r\n break;\r\n case 3:\r\n i = new PointEffect(s[r],e,this);\r\n break;\r\n case 4:\r\n case 7:\r\n i = new CheckboxEffect(s[r],e,this);\r\n break;\r\n case 10:\r\n i = new LayerIndexEffect(s[r],e,this);\r\n break;\r\n case 11:\r\n i = new MaskIndexEffect(s[r],e,this);\r\n break;\r\n case 5:\r\n i = new EffectsManager(s[r],e,this);\r\n break;\r\n default:\r\n i = new NoValueEffect(s[r],e,this)\r\n }\r\n i && this.effectElements.push(i)\r\n }\r\n }\r\n ;\r\n var lottie = {};\r\n function setLocationHref(t) {\r\n locationHref = t\r\n }\r\n function searchAnimations() {\r\n !0 === standalone ? animationManager.searchAnimations(animationData, standalone, renderer) : animationManager.searchAnimations()\r\n }\r\n function setSubframeRendering(t) {\r\n subframeEnabled = t\r\n }\r\n function setIDPrefix(t) {\r\n idPrefix = t\r\n }\r\n function loadAnimation(t) {\r\n return !0 === standalone && (t.animationData = JSON.parse(animationData)),\r\n animationManager.loadAnimation(t)\r\n }\r\n function setQuality(t) {\r\n if (\"string\" == typeof t)\r\n switch (t) {\r\n case \"high\":\r\n defaultCurveSegments = 200;\r\n break;\r\n default:\r\n case \"medium\":\r\n defaultCurveSegments = 50;\r\n break;\r\n case \"low\":\r\n defaultCurveSegments = 10\r\n }\r\n else\r\n !isNaN(t) && t > 1 && (defaultCurveSegments = t);\r\n roundValues(!(defaultCurveSegments >= 50))\r\n }\r\n function inBrowser() {\r\n return \"undefined\" != typeof navigator\r\n }\r\n function installPlugin(t, e) {\r\n \"expressions\" === t && (expressionsPlugin = e)\r\n }\r\n function getFactory(t) {\r\n switch (t) {\r\n case \"propertyFactory\":\r\n return PropertyFactory;\r\n case \"shapePropertyFactory\":\r\n return ShapePropertyFactory;\r\n case \"matrix\":\r\n return Matrix;\r\n default:\r\n return null\r\n }\r\n }\r\n function checkReady() {\r\n \"complete\" === document.readyState && (clearInterval(readyStateCheckInterval),\r\n searchAnimations())\r\n }\r\n function getQueryVariable(t) {\r\n for (var e = queryString.split(\"&\"), r = 0; r < e.length; r += 1) {\r\n var i = e[r].split(\"=\");\r\n if (decodeURIComponent(i[0]) == t)\r\n return decodeURIComponent(i[1])\r\n }\r\n return null\r\n }\r\n lottie.play = animationManager.play,\r\n lottie.pause = animationManager.pause,\r\n lottie.setLocationHref = setLocationHref,\r\n lottie.togglePause = animationManager.togglePause,\r\n lottie.setSpeed = animationManager.setSpeed,\r\n lottie.setDirection = animationManager.setDirection,\r\n lottie.stop = animationManager.stop,\r\n lottie.searchAnimations = searchAnimations,\r\n lottie.registerAnimation = animationManager.registerAnimation,\r\n lottie.loadAnimation = loadAnimation,\r\n lottie.setSubframeRendering = setSubframeRendering,\r\n lottie.resize = animationManager.resize,\r\n lottie.goToAndStop = animationManager.goToAndStop,\r\n lottie.destroy = animationManager.destroy,\r\n lottie.setQuality = setQuality,\r\n lottie.inBrowser = inBrowser,\r\n lottie.installPlugin = installPlugin,\r\n lottie.freeze = animationManager.freeze,\r\n lottie.unfreeze = animationManager.unfreeze,\r\n lottie.setVolume = animationManager.setVolume,\r\n lottie.mute = animationManager.mute,\r\n lottie.unmute = animationManager.unmute,\r\n lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations,\r\n lottie.useWebWorker = function(t) {\r\n _useWebWorker = t\r\n }\r\n ,\r\n lottie.setIDPrefix = setIDPrefix,\r\n lottie.__getFactory = getFactory,\r\n lottie.version = \"5.8.1\";\r\n var standalone = \"__[STANDALONE]__\", animationData = \"__[ANIMATIONDATA]__\", renderer = \"\", queryString;\r\n if (standalone) {\r\n var scripts = document.getElementsByTagName(\"script\")\r\n , index = scripts.length - 1\r\n , myScript = scripts[index] || {\r\n src: \"\"\r\n };\r\n queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"),\r\n renderer = getQueryVariable(\"renderer\")\r\n }\r\n var readyStateCheckInterval = setInterval(checkReady, 100);\r\n return lottie\r\n }\r\n ))\r\n }\r\n )), _templateObject$1, styles = css(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral([\"\\n * {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n --lottie-player-toolbar-height: 35px;\\n --lottie-player-toolbar-background-color: transparent;\\n --lottie-player-toolbar-icon-color: #999;\\n --lottie-player-toolbar-icon-hover-color: #222;\\n --lottie-player-toolbar-icon-active-color: #555;\\n --lottie-player-seeker-track-color: #ccc;\\n --lottie-player-seeker-thumb-color: rgba(0, 107, 120, 0.8);\\n --lottie-player-seeker-display: block;\\n\\n display: block;\\n width: 100%;\\n height: 100%;\\n }\\n\\n .main {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n width: 100%;\\n }\\n\\n .animation {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n }\\n .animation.controls {\\n height: calc(100% - 35px);\\n }\\n\\n .toolbar {\\n display: flex;\\n align-items: center;\\n justify-items: center;\\n background-color: var(--lottie-player-toolbar-background-color);\\n margin: 0 5px;\\n height: 35px;\\n }\\n\\n .toolbar button {\\n cursor: pointer;\\n fill: var(--lottie-player-toolbar-icon-color);\\n display: flex;\\n background: none;\\n border: 0;\\n padding: 0;\\n outline: none;\\n height: 100%;\\n }\\n\\n .toolbar button:hover {\\n fill: var(--lottie-player-toolbar-icon-hover-color);\\n }\\n\\n .toolbar button.active {\\n fill: var(--lottie-player-toolbar-icon-active-color);\\n }\\n\\n .toolbar button.active:hover {\\n\\tfill: var(--lottie-player-toolbar-icon-hover-color);\\n }\\n\\n\\n .toolbar button:focus{\\n\\toutline: 1px dotted var(--lottie-player-toolbar-icon-active-color);\\n }\\n\\n .toolbar button svg {\\n }\\n\\n .toolbar button.disabled svg {\\n display: none;\\n }\\n\\n .seeker {\\n -webkit-appearance: none;\\n width: 95%;\\n outline: none;\\n background-color: var(--lottie-player-toolbar-background-color);\\n display: var(--lottie-player-seeker-display);\\n }\\n\\n .seeker::-webkit-slider-runnable-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-webkit-slider-thumb {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n -webkit-appearance: none;\\n margin-top: -5px;\\n }\\n .seeker:focus::-webkit-slider-runnable-track {\\n background: #999;\\n }\\n .seeker::-moz-range-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-moz-range-thumb {\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n }\\n .seeker::-ms-track {\\n width: 100%;\\n height: 5px;\\n cursor: pointer;\\n background: transparent;\\n border-color: transparent;\\n color: transparent;\\n }\\n .seeker::-ms-fill-lower {\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-ms-fill-upper {\\n background: var(--lottie-player-seeker-track-color);\\n border-radius: 3px;\\n }\\n .seeker::-ms-thumb {\\n border: 0;\\n height: 15px;\\n width: 15px;\\n border-radius: 50%;\\n background: var(--lottie-player-seeker-thumb-color);\\n cursor: pointer;\\n }\\n .seeker:focus::-ms-fill-lower {\\n background: var(--lottie-player-seeker-track-color);\\n }\\n .seeker:focus::-ms-fill-upper {\\n background: var(--lottie-player-seeker-track-color);\\n }\\n\\n .error {\\n display: flex;\\n justify-content: center;\\n height: 100%;\\n align-items: center;\\n }\\n\"]))), _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, PlayerState, PlayMode, PlayerEvents;\r\n function parseSrc(t) {\r\n if (\"object\" == typeof t)\r\n return t;\r\n try {\r\n return JSON.parse(t)\r\n } catch (e) {\r\n return new URL(t,window.location.href).toString()\r\n }\r\n }\r\n function isLottie(t) {\r\n return [\"v\", \"ip\", \"op\", \"layers\", \"fr\", \"w\", \"h\"].every(e=>Object.prototype.hasOwnProperty.call(t, e))\r\n }\r\n function fromURL(t) {\r\n return _fromURL.apply(this, arguments)\r\n }\r\n function _fromURL() {\r\n return (_fromURL = _asyncToGenerator((function*(t) {\r\n if (\"string\" != typeof t)\r\n throw new Error(\"The url value must be a string\");\r\n var e;\r\n try {\r\n var r = new URL(t)\r\n , i = yield fetch(r.toString());\r\n e = yield i.json()\r\n } catch (t) {\r\n throw new Error(\"An error occurred while trying to load the Lottie file from URL\")\r\n }\r\n return e\r\n }\r\n ))).apply(this, arguments)\r\n }\r\n exports.PlayerState = void 0,\r\n PlayerState = exports.PlayerState || (exports.PlayerState = {}),\r\n PlayerState.Destroyed = \"destroyed\",\r\n PlayerState.Error = \"error\",\r\n PlayerState.Frozen = \"frozen\",\r\n PlayerState.Loading = \"loading\",\r\n PlayerState.Paused = \"paused\",\r\n PlayerState.Playing = \"playing\",\r\n PlayerState.Stopped = \"stopped\",\r\n exports.PlayMode = void 0,\r\n PlayMode = exports.PlayMode || (exports.PlayMode = {}),\r\n PlayMode.Bounce = \"bounce\",\r\n PlayMode.Normal = \"normal\",\r\n exports.PlayerEvents = void 0,\r\n PlayerEvents = exports.PlayerEvents || (exports.PlayerEvents = {}),\r\n PlayerEvents.Complete = \"complete\",\r\n PlayerEvents.Destroyed = \"destroyed\",\r\n PlayerEvents.Error = \"error\",\r\n PlayerEvents.Frame = \"frame\",\r\n PlayerEvents.Freeze = \"freeze\",\r\n PlayerEvents.Load = \"load\",\r\n PlayerEvents.Loop = \"loop\",\r\n PlayerEvents.Pause = \"pause\",\r\n PlayerEvents.Play = \"play\",\r\n PlayerEvents.Ready = \"ready\",\r\n PlayerEvents.Rendered = \"rendered\",\r\n PlayerEvents.Stop = \"stop\",\r\n exports.LottiePlayer = class extends LitElement {\r\n constructor() {\r\n super(...arguments),\r\n this.autoplay = !1,\r\n this.background = \"transparent\",\r\n this.controls = !1,\r\n this.currentState = exports.PlayerState.Loading,\r\n this.description = \"Lottie animation\",\r\n this.direction = 1,\r\n this.hover = !1,\r\n this.intermission = 1,\r\n this.loop = !1,\r\n this.mode = exports.PlayMode.Normal,\r\n this.preserveAspectRatio = \"xMidYMid meet\",\r\n this.renderer = \"svg\",\r\n this.speed = 1,\r\n this._io = void 0,\r\n this._counter = 1\r\n }\r\n load(t) {\r\n var e = this;\r\n return _asyncToGenerator((function*() {\r\n if (e.shadowRoot) {\r\n var r = {\r\n container: e.container,\r\n loop: !1,\r\n autoplay: !1,\r\n renderer: e.renderer,\r\n rendererSettings: {\r\n preserveAspectRatio: e.preserveAspectRatio,\r\n clearCanvas: !1,\r\n progressiveLoad: !0,\r\n hideOnTransparent: !0\r\n }\r\n };\r\n try {\r\n var i = parseSrc(t)\r\n , a = {}\r\n , s = \"string\" == typeof i ? \"path\" : \"animationData\";\r\n e._lottie && e._lottie.destroy(),\r\n e.webworkers && lottie.useWebWorker(!0),\r\n e._lottie = lottie.loadAnimation(Object.assign(Object.assign({}, r), {\r\n [s]: i\r\n })),\r\n e._attachEventListeners(),\r\n \"path\" === s ? (a = yield fromURL(i),\r\n s = \"animationData\") : a = i,\r\n isLottie(a) || (e.currentState = exports.PlayerState.Error,\r\n e.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error)))\r\n } catch (t) {\r\n e.currentState = exports.PlayerState.Error,\r\n e.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error))\r\n }\r\n }\r\n }\r\n ))()\r\n }\r\n getLottie() {\r\n return this._lottie\r\n }\r\n play() {\r\n this._lottie && (this._lottie.play(),\r\n this.currentState = exports.PlayerState.Playing,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Play)))\r\n }\r\n pause() {\r\n this._lottie && (this._lottie.pause(),\r\n this.currentState = exports.PlayerState.Paused,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Pause)))\r\n }\r\n stop() {\r\n this._lottie && (this._counter = 1,\r\n this._lottie.stop(),\r\n this.currentState = exports.PlayerState.Stopped,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Stop)))\r\n }\r\n destroy() {\r\n this._lottie && (this._lottie.destroy(),\r\n this.currentState = exports.PlayerState.Destroyed,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Destroyed)),\r\n this.remove())\r\n }\r\n seek(t) {\r\n if (this._lottie) {\r\n var e = /^(\\d+)(%?)$/.exec(t.toString());\r\n if (e) {\r\n var r = \"%\" === e[2] ? this._lottie.totalFrames * Number(e[1]) / 100 : Number(e[1]);\r\n this.seeker = r,\r\n this.currentState === exports.PlayerState.Playing ? this._lottie.goToAndPlay(r, !0) : (this._lottie.goToAndStop(r, !0),\r\n this._lottie.pause())\r\n }\r\n }\r\n }\r\n snapshot() {\r\n var t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];\r\n if (this.shadowRoot) {\r\n var e = this.shadowRoot.querySelector(\".animation svg\")\r\n , r = (new XMLSerializer).serializeToString(e);\r\n if (t) {\r\n var i = document.createElement(\"a\");\r\n i.href = \"data:image/svg+xml;charset=utf-8,\".concat(encodeURIComponent(r)),\r\n i.download = \"download_\".concat(this.seeker, \".svg\"),\r\n document.body.appendChild(i),\r\n i.click(),\r\n document.body.removeChild(i)\r\n }\r\n return r\r\n }\r\n }\r\n setSpeed() {\r\n var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 1;\r\n this._lottie && this._lottie.setSpeed(t)\r\n }\r\n setDirection(t) {\r\n this._lottie && this._lottie.setDirection(t)\r\n }\r\n setLooping(t) {\r\n this._lottie && (this.loop = t,\r\n this._lottie.loop = t)\r\n }\r\n togglePlay() {\r\n return this.currentState === exports.PlayerState.Playing ? this.pause() : this.play()\r\n }\r\n toggleLooping() {\r\n this.setLooping(!this.loop)\r\n }\r\n resize() {\r\n this._lottie && this._lottie.resize()\r\n }\r\n static get styles() {\r\n return styles\r\n }\r\n disconnectedCallback() {\r\n this._io && (this._io.disconnect(),\r\n this._io = void 0),\r\n document.removeEventListener(\"visibilitychange\", ()=>this._onVisibilityChange()),\r\n this.destroy()\r\n }\r\n render() {\r\n var t = this.controls ? \"main controls\" : \"main\"\r\n , e = this.controls ? \"animation controls\" : \"animation\";\r\n return html(_templateObject || (_templateObject = _taggedTemplateLiteral([' \\n \\n ', \"\\n \\n \", \"\\n \"])), t, this.description, e, this.background, this.currentState === exports.PlayerState.Error ? html(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(['
⚠️
']))) : void 0, this.controls ? this.renderControls() : void 0)\r\n }\r\n firstUpdated() {\r\n \"IntersectionObserver\"in window && (this._io = new IntersectionObserver(t=>{\r\n t[0].isIntersecting ? this.currentState === exports.PlayerState.Frozen && this.play() : this.currentState === exports.PlayerState.Playing && this.freeze()\r\n }\r\n ),\r\n this._io.observe(this.container)),\r\n void 0 !== document.hidden && document.addEventListener(\"visibilitychange\", ()=>this._onVisibilityChange()),\r\n this.src && this.load(this.src),\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Rendered))\r\n }\r\n renderControls() {\r\n var t = this.currentState === exports.PlayerState.Playing\r\n , e = this.currentState === exports.PlayerState.Paused\r\n , r = this.currentState === exports.PlayerState.Stopped;\r\n return html(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(['\\n \\n \\n ', '\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n '])), this.togglePlay, t || e ? \"active\" : \"\", html(t ? _templateObject4 || (_templateObject4 = _taggedTemplateLiteral(['\\n \\n '])) : _templateObject5 || (_templateObject5 = _taggedTemplateLiteral(['\\n \\n ']))), this.stop, r ? \"active\" : \"\", this.seeker, this._handleSeekChange, ()=>{\r\n this._prevState = this.currentState,\r\n this.freeze()\r\n }\r\n , ()=>{\r\n this._prevState === exports.PlayerState.Playing && this.play()\r\n }\r\n , this.seeker, this.toggleLooping, this.loop ? \"active\" : \"\")\r\n }\r\n _onVisibilityChange() {\r\n !0 === document.hidden && this.currentState === exports.PlayerState.Playing ? this.freeze() : this.currentState === exports.PlayerState.Frozen && this.play()\r\n }\r\n _handleSeekChange(t) {\r\n if (this._lottie && !isNaN(t.target.value)) {\r\n var e = t.target.value / 100 * this._lottie.totalFrames;\r\n this.seek(e)\r\n }\r\n }\r\n _attachEventListeners() {\r\n this._lottie.addEventListener(\"enterFrame\", ()=>{\r\n this.seeker = this._lottie.currentFrame / this._lottie.totalFrames * 100,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Frame,{\r\n detail: {\r\n frame: this._lottie.currentFrame,\r\n seeker: this.seeker\r\n }\r\n }))\r\n }\r\n ),\r\n this._lottie.addEventListener(\"complete\", ()=>{\r\n this.currentState === exports.PlayerState.Playing ? !this.loop || this.count && this._counter >= this.count ? this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Complete)) : this.mode === exports.PlayMode.Bounce ? (this.count && (this._counter += .5),\r\n setTimeout(()=>{\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Loop)),\r\n this.currentState === exports.PlayerState.Playing && (this._lottie.setDirection(-1 * this._lottie.playDirection),\r\n this._lottie.play())\r\n }\r\n , this.intermission)) : (this.count && (this._counter += 1),\r\n window.setTimeout(()=>{\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Loop)),\r\n this.currentState === exports.PlayerState.Playing && (this._lottie.stop(),\r\n this._lottie.play())\r\n }\r\n , this.intermission)) : this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Complete))\r\n }\r\n ),\r\n this._lottie.addEventListener(\"DOMLoaded\", ()=>{\r\n this.setSpeed(this.speed),\r\n this.setDirection(this.direction),\r\n this.autoplay && this.play(),\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Ready))\r\n }\r\n ),\r\n this._lottie.addEventListener(\"data_ready\", ()=>{\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Load))\r\n }\r\n ),\r\n this._lottie.addEventListener(\"data_failed\", ()=>{\r\n this.currentState = exports.PlayerState.Error,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Error))\r\n }\r\n ),\r\n this.container.addEventListener(\"mouseenter\", ()=>{\r\n this.hover && this.currentState !== exports.PlayerState.Playing && this.play()\r\n }\r\n ),\r\n this.container.addEventListener(\"mouseleave\", ()=>{\r\n this.hover && this.currentState === exports.PlayerState.Playing && this.stop()\r\n }\r\n )\r\n }\r\n freeze() {\r\n this._lottie && (this._lottie.pause(),\r\n this.currentState = exports.PlayerState.Frozen,\r\n this.dispatchEvent(new CustomEvent(exports.PlayerEvents.Freeze)))\r\n }\r\n }\r\n ,\r\n __decorate([property({\r\n type: Boolean\r\n })], exports.LottiePlayer.prototype, \"autoplay\", void 0),\r\n __decorate([property({\r\n type: String,\r\n reflect: !0\r\n })], exports.LottiePlayer.prototype, \"background\", void 0),\r\n __decorate([property({\r\n type: Boolean\r\n })], exports.LottiePlayer.prototype, \"controls\", void 0),\r\n __decorate([property({\r\n type: Number\r\n })], exports.LottiePlayer.prototype, \"count\", void 0),\r\n __decorate([property({\r\n type: String\r\n })], exports.LottiePlayer.prototype, \"currentState\", void 0),\r\n __decorate([property({\r\n type: String\r\n })], exports.LottiePlayer.prototype, \"description\", void 0),\r\n __decorate([property({\r\n type: Number\r\n })], exports.LottiePlayer.prototype, \"direction\", void 0),\r\n __decorate([property({\r\n type: Boolean\r\n })], exports.LottiePlayer.prototype, \"hover\", void 0),\r\n __decorate([property()], exports.LottiePlayer.prototype, \"intermission\", void 0),\r\n __decorate([property({\r\n type: Boolean,\r\n reflect: !0\r\n })], exports.LottiePlayer.prototype, \"loop\", void 0),\r\n __decorate([property()], exports.LottiePlayer.prototype, \"mode\", void 0),\r\n __decorate([property({\r\n type: String\r\n })], exports.LottiePlayer.prototype, \"preserveAspectRatio\", void 0),\r\n __decorate([property({\r\n type: String\r\n })], exports.LottiePlayer.prototype, \"renderer\", void 0),\r\n __decorate([property()], exports.LottiePlayer.prototype, \"seeker\", void 0),\r\n __decorate([property({\r\n type: Number\r\n })], exports.LottiePlayer.prototype, \"speed\", void 0),\r\n __decorate([property({\r\n type: String\r\n })], exports.LottiePlayer.prototype, \"src\", void 0),\r\n __decorate([property({\r\n type: Boolean\r\n })], exports.LottiePlayer.prototype, \"webworkers\", void 0),\r\n __decorate([query(\".animation\")], exports.LottiePlayer.prototype, \"container\", void 0),\r\n exports.LottiePlayer = __decorate([customElement(\"lottie-player\")], exports.LottiePlayer),\r\n exports.parseSrc = parseSrc,\r\n Object.defineProperty(exports, \"__esModule\", {\r\n value: !0\r\n })\r\n }\r\n ));\r\n //# sourceMappingURL=lottie-player.js.map\r\n});","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/SubscriptionValidationOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var SubscriptionValidationOverlay = function (className, dictionary) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (dismiss) {\r\n return m('div', { class: this.class() }, [\r\n m('div', { class: 'pannel' }, [\r\n m('div', { class: 'icon-wrapper' }, [\r\n m('svg', { class: 'icon' }, m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesGenericCommonIcons.svg#icon-error' }))\r\n ]),\r\n m('h2', { class: 'headline' }, dictionary.header),\r\n m('p', { class: 'text' }, dictionary.body),\r\n m('div', { class: 'buttons' }, [\r\n m('button', { class: 'btn dogderblue button-confirm', onclick: dismiss, style: 'float: none;' }, dictionary.dismiss)\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return SubscriptionValidationOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/Countdown',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/MithrilRedrawEverySecond'\r\n ],\r\n function (m, TimeUtils, MithrilRedrawEverySecond) {\r\n\r\n // View:\r\n var Countdown = function (options) {\r\n\r\n // Variables:\r\n var d = options.dictionary;\r\n\r\n // Calculate diff\r\n var currentTime = TimeUtils.getCurrentDateTime();\r\n var diffSeconds = 0;\r\n\r\n if (options.countdownTime) {\r\n diffSeconds = Math.floor((options.countdownTime) - (currentTime.getTime() / 1000));\r\n var days = Math.floor(diffSeconds / 86400) <= 0 ? 0 : Math.floor(diffSeconds / 86400);\r\n var hours = Math.floor(diffSeconds / 3600 % 24) <= 0 ? 0 : Math.floor(diffSeconds / 3600) % 24;\r\n var minutes = Math.floor(diffSeconds % 3600 / 60) <= 0 ? 0 : Math.floor(diffSeconds % 3600 / 60);\r\n var seconds = Math.floor(diffSeconds % 3600 % 60) <= 0 ? 0 : Math.floor(diffSeconds % 3600 % 60);\r\n }\r\n\r\n // Config:\r\n var setupTimer = function (ignoredElement, rendered) {\r\n if (!rendered) {\r\n MithrilRedrawEverySecond.start();\r\n }\r\n };\r\n\r\n\r\n // View:\r\n if (diffSeconds < 1) {\r\n return null;\r\n }\r\n\r\n if (options.disabled) {\r\n return m('.countdown', [\r\n m('h2', { class: 'countdown-headline disabled' }, d('Countdown/CountdownDisabledHeading'))\r\n ]);\r\n } else {\r\n let headlineText = d('Countdown/ReceiptCountdownHeading', { gameName: options.gameName });\r\n if (options.noOpenDraw) {\r\n headlineText = d('Countdown/NoOpenDrawCountdownHeading') !== '!' ? d('Countdown/NoOpenDrawCountdownHeading') : null;\r\n }\r\n if (options.alternativeHeadline) {\r\n headlineText = options.alternativeHeadline;\r\n }\r\n return m('.countdown' + (options.noOpenDraw === true ? ' .no-opendraw' : ''), { config: setupTimer }, [\r\n m('h2', { class: 'countdown-headline' }, headlineText),\r\n (days > 0 ?\r\n m('.number-container', [\r\n m('span.number.days', days),\r\n m('span.time-denominator', days === 1 ? 'dag' : 'dage')\r\n ]) : ''\r\n ),\r\n m('.number-container', [\r\n m('span.number.hours', hours),\r\n m('span.time-denominator', hours === 1 ? 'time' : 'timer')\r\n ]),\r\n m('.number-container', [\r\n m('span.number.minutes', minutes),\r\n m('span.time-denominator', 'min.')\r\n ]),\r\n (days <= 0 ? [\r\n m('.number-container', [\r\n m('span.number.seconds', seconds),\r\n m('span.time-denominator', 'sek.')\r\n ])\r\n ] : '')\r\n ]);\r\n }\r\n\r\n };\r\n\r\n // Public functions:\r\n return Countdown;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/SelectDropdown',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils',\r\n ],\r\n function (m, Render, OutsideClick, DOMUtils) {\r\n\r\n // Variables:\r\n var dropdownActive = false;\r\n\r\n // View:\r\n var SelectDropdown = function (controller, options, selected, select) {\r\n\r\n // Elements:\r\n var $selectDropdown = m.prop();\r\n var $selectPlaceholder = m.prop();\r\n var $selectOptions = m.prop();\r\n var $selectOptionsList = m.prop();\r\n var $selectOptionsItem = m.prop();\r\n\r\n // Variables:\r\n var render = Render();\r\n\r\n // Functions:\r\n var selectOption = function (value) {\r\n return function () {\r\n select(value);\r\n };\r\n };\r\n\r\n const setScrollTop = (element, value) => {\r\n if (!element) return;\r\n element.scrollTop = value;\r\n };\r\n\r\n\r\n var toggleSelect = function () {\r\n var $wrapper = $selectDropdown();\r\n var $placeholder = $selectPlaceholder();\r\n var placeholderHeight = DOMUtils.calculateElementOuterHeight($placeholder);\r\n var $selectOptionsBox = $selectOptions();\r\n var $optionsList = $selectOptionsList();\r\n var $optionsItem = $selectOptionsItem();\r\n var dropdownListHeight = DOMUtils.calculateElementOuterHeight($optionsList);\r\n var dropdownHeight = dropdownListHeight + placeholderHeight;\r\n var itemHeight = $optionsItem ? DOMUtils.calculateElementOuterHeight($optionsItem) : 0;\r\n var selectPosition = DOMUtils.getElementOffset($placeholder).top - window.scrollY; // eslint-disable-line compat/compat\r\n var possibleMaxHeight = 0;\r\n var windowHeight = window.innerHeight;\r\n\r\n dropdownActive = !dropdownActive;\r\n\r\n if (dropdownActive) {\r\n $wrapper.classList.remove('reversed');\r\n }\r\n\r\n if (dropdownHeight > windowHeight - selectPosition && dropdownActive) {\r\n if (windowHeight - selectPosition - placeholderHeight > itemHeight * 3) {\r\n $selectOptionsBox.classList.add('overflowed');\r\n setScrollTop($selectOptionsBox, 0);\r\n $wrapper.classList.remove('reversed');\r\n\r\n possibleMaxHeight = windowHeight - selectPosition - placeholderHeight;\r\n } else {\r\n $wrapper.classList.add('reversed');\r\n\r\n if (dropdownListHeight > selectPosition) {\r\n possibleMaxHeight = selectPosition;\r\n } else {\r\n possibleMaxHeight = dropdownListHeight + 10;\r\n }\r\n\r\n if (possibleMaxHeight < dropdownListHeight) {\r\n $selectOptionsBox.classList.add('overflowed');\r\n setScrollTop($selectOptionsBox, dropdownListHeight - possibleMaxHeight);\r\n }\r\n }\r\n } else {\r\n possibleMaxHeight = dropdownListHeight + 10;\r\n\r\n $selectOptionsBox.classList.remove('overflowed');\r\n }\r\n\r\n $wrapper.classList.toggle('is-active', dropdownActive);\r\n\r\n $selectOptionsBox.style.maxHeight = (dropdownActive ? possibleMaxHeight - 10 : 0) + 'px';\r\n\r\n };\r\n // Renders:\r\n render.ready.then(function (nodes) {\r\n\r\n $selectDropdown((nodes['select-dropdown'].$element));\r\n $selectPlaceholder((nodes['select-placeholder'].$element));\r\n $selectOptions((nodes['select-options'].$element));\r\n $selectOptionsList((nodes['select-options-list'].$element));\r\n\r\n if (nodes['select-options-item']) {\r\n var $options = [];\r\n\r\n for (var i = 0; i < nodes['select-options-item'].length; i++) {\r\n $options.push(nodes['select-options-item'][i].$element);\r\n }\r\n\r\n $selectOptionsItem(($options));\r\n }\r\n\r\n OutsideClick(nodes['select-dropdown'].$element, nodes['select-dropdown'].context, function () {\r\n $selectDropdown().classList.toggle('is-active', false);\r\n $selectOptions().style.maxHeight = 0;\r\n\r\n dropdownActive = dropdownActive || false;\r\n });\r\n });\r\n\r\n // View:\r\n return m('div', { class: 'select-dropdown', config: render.depend('select-dropdown'), onclick: toggleSelect }, [\r\n m('span', { class: 'cs-placeholder', config: render.depend('select-placeholder') }, [\r\n selected() ? selected().name : controller.d('SelectDropdown/Placeholder'),\r\n m('svg', { class: 'select-dropdown-arrow' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesGenericCommonIcons.svg#icon-down-arrow' })\r\n ])\r\n ]),\r\n m('div', { class: 'select-options', config: render.depend('select-options') }, [\r\n m('ul', { config: render.depend('select-options-list') }, [\r\n options().map(function (option) {\r\n return m('li', { config: render.depend('select-options-item') }, [\r\n m('span', { onclick: selectOption(option) }, option.name)\r\n ]);\r\n })\r\n ])\r\n ])\r\n ]);\r\n };\r\n\r\n // Public functions:\r\n return SelectDropdown;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/NumberGames/Scripts/Templates/ReceiveWinnerMessage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n\r\n // View:\r\n var ReceiveWinnerMessage = function (controller, styleClassPrefix, iconUrl) {\r\n\r\n var d = controller.d;\r\n\r\n\r\n // View:\r\n return m('div', { class: 'win-message-container' }, [\r\n\r\n // Icon\r\n iconUrl ? m('svg', { class: 'receive-winner-message-icon' },\r\n m('use', { class: 'receive-winner-message-icon', href: iconUrl })\r\n ) : null,\r\n\r\n m('div', { class: 'notice-step' }, [\r\n\r\n // Texts\r\n m('h2', { class: 'headline' }, controller.d('ConfirmStep/ReceiveWinnerMessage/Headline')),\r\n m('h3', { class: 'subheadline' }, controller.d('ConfirmStep/ReceiveWinnerMessage/Subheadline')),\r\n\r\n // Email checkbox\r\n m('div', { class: 'checkbox-container' }, [\r\n m('div', { class: styleClassPrefix + '-checkbox' }, [\r\n m('label', { class: 'ios-skin', for: 'email' }, [\r\n m('input', { type: 'checkbox', id: 'email', 'data-role': 'email', value: '1', onchange: m.withAttr('checked', controller.notifyPrizeEmail) }),\r\n m('span', { class: 'ios-skin_body' }, [\r\n m('span', { class: 'ios-skin_switch' })\r\n ]),\r\n m('i', { class: 'checkmark' })\r\n ]),\r\n m('label', { class: 'media-label', for: 'email' }, [\r\n m('p', { class: 'media-text' }, d('ConfirmStep/ReceiveWinnerMessage/EmailText'))\r\n ])\r\n ]),\r\n\r\n // SMS checkbox\r\n m('div', { class: styleClassPrefix + '-checkbox' }, [\r\n m('label', { class: 'ios-skin', for: 'sms' }, [\r\n m('input', { type: 'checkbox', id: 'sms', 'data-role': 'sms', value: '1', onchange: m.withAttr('checked', controller.notifyPrizeSms) }),\r\n m('span', { class: 'ios-skin_body' }, [\r\n m('span', { class: 'ios-skin_switch' })\r\n ]),\r\n m('i', { class: 'checkmark' })\r\n ]),\r\n m('label', { class: 'media-label', for: 'sms' }, [\r\n m('p', { class: 'media-text' }, d('ConfirmStep/ReceiveWinnerMessage/SmsText'))\r\n ])\r\n ])\r\n ])\r\n\r\n ])\r\n ]);\r\n\r\n };\r\n\r\n // Public functions:\r\n return ReceiveWinnerMessage;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Components/Shared/Svg/Svg', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n],\r\nfunction (m) {\r\n const Button = {\r\n controller: function ({ src, classNames, width, height, queryAttributes = null }) {\r\n const icon = src.split('#')[1];\r\n const fileName = src.split('.svg')[0].split('/').pop();\r\n function parseSize(size) {\r\n if (!size) return null;\r\n if (typeof size === 'number') {\r\n return `${size}px`;\r\n }\r\n if (size.match(/(\\d+)/)[0] === size) {\r\n return `${size}px`;\r\n }\r\n return size;\r\n }\r\n const loadingStateDOM = () => {\r\n return (
\r\n \r\n \r\n \r\n
);\r\n };\r\n\r\n this.loading = m.prop(true);\r\n this.renderedContent = m.prop(loadingStateDOM());\r\n\r\n const queryAttributesReplace = ($svg, querySelector, attributes) => {\r\n const selectors = querySelector.split(',');\r\n selectors.forEach((selector) => {\r\n const $elements = $svg.querySelectorAll(selector);\r\n if (!$elements) {\r\n return;\r\n }\r\n $elements.forEach(($element) => {\r\n for (const [key, value] of Object.entries(attributes)) {\r\n $element.setAttribute(key, value);\r\n }\r\n });\r\n });\r\n };\r\n\r\n const observeMutations = (mutations) => {\r\n for (let mutation of mutations) {\r\n const addedNodesIds = Array.from(mutation.addedNodes).map((node) => node.id);\r\n if (addedNodesIds.includes(fileName)) {\r\n m.redraw();\r\n }\r\n }\r\n };\r\n const observer = new MutationObserver(observeMutations);\r\n\r\n const svgConstructor = () => {\r\n const $cacheContainer = document.querySelector('.svg-auto-include-container');\r\n const $svgContainerFromCache = $cacheContainer?.querySelector(`#${fileName}`);\r\n const $svgIconFromCache = $svgContainerFromCache?.querySelector(`#${icon}`);\r\n\r\n if (!$svgIconFromCache) {\r\n observer.observe($cacheContainer, { childList: true, subtree: true });\r\n } else {\r\n observer.disconnect();\r\n }\r\n if (!$cacheContainer || !$svgContainerFromCache || !$svgIconFromCache) {\r\n return '';\r\n }\r\n if (queryAttributes) {\r\n for (const [querySelector, attributes] of Object.entries(queryAttributes)) {\r\n queryAttributesReplace($svgIconFromCache, querySelector, attributes);\r\n }\r\n }\r\n const viewBoxValues = $svgIconFromCache.getAttribute('viewBox')?.split(' ');\r\n const _width = width ? parseSize(width) : (viewBoxValues ? `${viewBoxValues[2]}px` : '100%');\r\n const _height = height ? parseSize(height) : (viewBoxValues ? `${viewBoxValues[3]}px` : '100%');\r\n const svgDOM = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\r\n svgDOM.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgDOM.setAttribute('fill', 'none');\r\n svgDOM.setAttribute('viewBox', $svgIconFromCache.getAttribute('viewBox'));\r\n svgDOM.setAttribute('class', classNames || '');\r\n svgDOM.setAttribute('width', _width);\r\n svgDOM.setAttribute('height', _height);\r\n svgDOM.innerHTML = $svgIconFromCache.innerHTML;\r\n this.loading(false);\r\n this.renderedContent(m.trust(svgDOM.outerHTML));\r\n };\r\n\r\n this.onRedraw = () => {\r\n if (!this.loading()) {\r\n return;\r\n }\r\n svgConstructor();\r\n };\r\n\r\n svgConstructor();\r\n },\r\n view: function (controller) {\r\n controller.onRedraw();\r\n\r\n return (
{\r\n controller.renderedContent()\r\n }
);\r\n }\r\n };\r\n\r\n return Button;\r\n});","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Components/Button', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n], function (m, Utils) {\r\n 'use strict';\r\n\r\n var Button = {\r\n\r\n controller: function (options) {\r\n /**\r\n * The Button does the boilerplate part of loading state (Controller still handles state)\r\n * @param eventId {String}\r\n * @param classes {Object} (default, disabled, loading)\r\n * @param text {Object} (default, disabled, loading)\r\n * @param type {String} (button, submit)\r\n * @param disabled {Boolean}\r\n * @param loading {Boolean}\r\n * @param onclick {Function} (Callback to Controller function)\r\n * @example Button({\r\n text: { default: controller.d('CreateSubscription/SelectPayment/Button') },\r\n classes: { default: 'button-full-width', disabled: 'button-full-width--disabled', loading: 'button-full-width--processing' },\r\n loading: controller.buttonLoading,\r\n disabled: controller.model().fields.boolean,\r\n onclick: function() { controller.nextStep(); }\r\n })\r\n */\r\n this.options = Utils.extend(true, {\r\n id: null,\r\n eventId: null,\r\n uiTestId: null,\r\n classes: {\r\n default: 'pam__button',\r\n disabled: 'pam__button--disabled',\r\n loading: 'pam__button--loading'\r\n },\r\n text: {\r\n default: ''\r\n },\r\n href: '#',\r\n disabled: false,\r\n loading: false,\r\n onclick: null,\r\n onkeydown: null,\r\n }, options);\r\n\r\n },\r\n\r\n view: function (controller, args) {\r\n\r\n var options = controller.options;\r\n\r\n options.disabled = args.disabled != null ? args.disabled : options.disabled;\r\n options.loading = args.loading != null ? args.loading : options.loading;\r\n\r\n var setClasses = function () {\r\n var classList = options.classes.default;\r\n classList += options.eventId ? ' pam__button--' + options.eventId : '';\r\n classList += options.disabled && !options.loading ? ' ' + options.classes.disabled : '';\r\n classList += options.loading ? ' ' + options.classes.loading : '';\r\n classList += options.size ? ' pam__button--' + options.size : '';\r\n classList += options.color ? ' pam__button--' + options.color : '';\r\n classList += options.class ? ' ' + options.class : '';\r\n\r\n return classList;\r\n };\r\n\r\n return m('a', {\r\n config: function (elem) {\r\n if (options.id) {\r\n elem.setAttribute('id', options.id);\r\n }\r\n\r\n if (options.uiTestId) {\r\n elem.setAttribute('data-uitest-id', options.uiTestId);\r\n }\r\n },\r\n href: options.href,\r\n class: setClasses(),\r\n disabled: options.disabled || options.loading,\r\n onclick: function (e) {\r\n if (options.disabled || options.loading) {\r\n e.preventDefault();\r\n return;\r\n }\r\n if (!options.loading && options.onclick) {\r\n e.preventDefault();\r\n options.onclick(e);\r\n }\r\n },\r\n onkeydown: options.onkeydown\r\n }, [\r\n options.loading ?\r\n m('span', { class: 'pam__button__loader button__text' }, [\r\n m('span.pam__button__loader-text', options.text.loading ? options.text.loading : options.text.default),\r\n m('span.pam__button__loader-animation', [\r\n m('span', { class: 'pam__button__loader-dot' }),\r\n m('span', { class: 'pam__button__loader-dot' }),\r\n m('span', { class: 'pam__button__loader-dot' })\r\n ]),\r\n ])\r\n : m('span.pam__button__text', options.disabled && options.text.disabled ? options.text.disabled : options.text.default)\r\n ]);\r\n }\r\n };\r\n\r\n return Button;\r\n});\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Components/Dropdown', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n], function (m, Utils, OutsideClick, Svg, Render) {\r\n 'use strict';\r\n\r\n var Dropdown = {\r\n\r\n controller: function (options) {\r\n\r\n var self = this;\r\n\r\n self.options = Utils.extend(true, {\r\n model: {\r\n value: m.prop(), // the selected option\r\n list: m.prop(), // list of available options\r\n valid: m.prop(), // optional, see ValidationModel\r\n validState: m.prop(true), // optional, see ValidationModel\r\n errorList: m.prop([]), // optional, see ValidationModel\r\n },\r\n subdrop: null,\r\n id: null,\r\n class: 'dropdown-wrapper',\r\n defaultItem: { value: '', text: 'Vælg værdi' },\r\n disabled: false,\r\n callback: function () {\r\n },\r\n placeholder: false,\r\n uiTestId: null\r\n }, options);\r\n\r\n self.element = m.prop();\r\n self.toggled = m.prop(false);\r\n self.subDropToggled = m.prop(false);\r\n self.subDropMaxHeight = m.prop(0);\r\n self.scrollTop = m.prop(0);\r\n self.render = m.prop(Render());\r\n\r\n self.render().ready.then(function (nodes) {\r\n var dropdown = nodes['dropdown'];\r\n\r\n if (options.uiTestId) {\r\n dropdown.$element.setAttribute('data-uitest-id', options.uiTestId);\r\n }\r\n\r\n if (!dropdown.rendered) {\r\n OutsideClick(dropdown.$element, dropdown.context, function () {\r\n self.toggled(false);\r\n });\r\n }\r\n });\r\n\r\n self.onchange = function (e) {\r\n self.element().focus();\r\n var curValue = this;\r\n if (e.stopPropagation) {\r\n e.stopPropagation();\r\n } else {\r\n curValue = e;\r\n }\r\n self.toggled(false);\r\n self.subDropToggled(false);\r\n options.model.value(curValue);\r\n setTimeout(function () { // to avoid UI freezing\r\n if (options.validate) {\r\n options.validate();\r\n } else if (options.model.validate) {\r\n options.model.validate();\r\n }\r\n if (options.onchange) options.onchange(curValue);\r\n }, 1);\r\n self.options.callback(curValue);\r\n self.element().blur();\r\n };\r\n },\r\n\r\n view: function (ctrl) {\r\n var options = ctrl.options;\r\n var model = options.model;\r\n var render = ctrl.render();\r\n\r\n if (options.subdrop) options.subdrop = typeof options.subdrop === 'function' ? options.subdrop() : options.subdrop;\r\n\r\n var isMobile = true;\r\n if (window.matchMedia('(min-width: 767px)').matches) { // @breakpoint-tablet\r\n isMobile = false;\r\n }\r\n\r\n var allItems = options.subdrop && options.subdrop.items ? options.subdrop.items.concat(model.list()) : model.list();\r\n\r\n var selectedValue = m.prop(!model.value() ? options.defaultItem : allItems.filter(function (item) {\r\n return item.value == model.value();\r\n })[0]);\r\n\r\n var toggleList = function (e) {\r\n e.stopPropagation();\r\n ctrl.toggled(!ctrl.toggled());\r\n ctrl.subDropToggled(false);\r\n };\r\n\r\n var toggleSubList = function (e) {\r\n e.stopPropagation();\r\n ctrl.subDropToggled(!ctrl.subDropToggled());\r\n var innerHeight = Array.prototype.reduce.call(this.nextSibling.childNodes, function (number, node) {\r\n number += node.getBoundingClientRect().height;\r\n return number;\r\n }, 0) * ctrl.subDropToggled();\r\n ctrl.subDropMaxHeight(innerHeight);\r\n ctrl.scrollTop(this.parentNode.offsetTop);\r\n\r\n };\r\n\r\n var setMaxHeight = function (element) {\r\n element.style.maxHeight = ctrl.subDropMaxHeight() + 'px';\r\n };\r\n\r\n var setValue = function (e) {\r\n var curValue = this;\r\n if (e.stopPropagation) {\r\n e.stopPropagation();\r\n } else {\r\n curValue = e;\r\n }\r\n ctrl.toggled(false);\r\n ctrl.subDropToggled(false);\r\n model.value(curValue);\r\n if (options.callback) options.callback(curValue);\r\n };\r\n\r\n var renderList = function (values) {\r\n return values.map(function (item) {\r\n return m('li', { class: 'dropdown__list__item', onclick: setValue.bind(item.value) }, [\r\n m('span', { class: 'dropdown__list__item__left' }, typeof item.text === 'string' ? item.text : item.text.left),\r\n typeof item.text !== 'string' && item.text.right ? m('span', { class: 'dropdown__list__item__right' }, item.text.right) : ''\r\n ]);\r\n });\r\n };\r\n\r\n var items = model.list() && model.list().map(function (item) {\r\n return item.hidden ? null : m('li', {\r\n class: 'dropdown__list__item' + (item.disabled ? ' dropdown__list__item--disabled' : ''),\r\n onclick: !item.disabled && ctrl.onchange.bind(item.value)\r\n }, [\r\n m('span', { class: 'dropdown__list__item__left' }, typeof item.text === 'string' ? item.text : item.text.left),\r\n typeof item.text !== 'string' ? m('span', { class: 'dropdown__list__item__right' }, item.text.right) : ''\r\n ]);\r\n });\r\n\r\n return m('div', {\r\n config: render.depend('dropdown'),\r\n class: [\r\n 'dropdown' + (options.class ? ' ' + options.class : ''),\r\n (!model.value() ? 'dropdown--unselected' : ''),\r\n (options.disabled ? 'dropdown--disabled' : ''),\r\n (model && model.validState && !model.validState() ? 'has--error' : '')\r\n ].join(' '),\r\n placeholder: options.placeholder ? options.defaultItem.text : ''\r\n }, [\r\n m('select', {\r\n id: options.id,\r\n class: 'dropdown__select',\r\n value: model.value(),\r\n onchange: m.withAttr('value', ctrl.onchange),\r\n config: function (element) {\r\n ctrl.element(element);\r\n }\r\n }, [\r\n m('option', { disabled: 'disabled' }, options.defaultItem.text),\r\n model.list() && model.list().map(function (item) {\r\n if (item.value && item.value.toString() === model.value()) {\r\n return m('option', {\r\n selected: 'selected',\r\n value: item.value\r\n }, item.text && item.text.left ? item.text.left + (item.text.right ? ' - ' + item.text.right : '') : item.text);\r\n }\r\n return !item.hidden ? m('option', {\r\n disabled: item.disabled,\r\n value: item.value\r\n }, item.text && item.text.left ? item.text.left + (item.text.right ? ' - ' + item.text.right : '') : item.text) : '';\r\n }),\r\n options.subdrop && options.subdrop.items && options.subdrop.items.length > 0 ? m('optgroup', { label: options.subdrop.label }, [\r\n options.subdrop.items.map(function (item) {\r\n if (item.value && item.value.toString() === model.value()) {\r\n return m('option', {\r\n selected: 'selected',\r\n value: item.value\r\n }, item.text && item.text.left ? item.text.left + (item.text.right ? ' - ' + item.text.right : '') : item.text);\r\n } else {\r\n return m('option', { value: item.value }, item.text && item.text.left ? item.text.left + (item.text.right ? ' - ' + item.text.right : '') : item.text);\r\n }\r\n })\r\n ]) : ''\r\n ]),\r\n m('label', {\r\n for: options.id,\r\n onclick: !isMobile && !options.disabled ? toggleList : null,\r\n class: 'dropdown__selection' + (ctrl.toggled() ? ' dropdown__selection--active' : '')\r\n },\r\n selectedValue() && selectedValue().centered ?\r\n m('span.dropdown__selection__centered', [\r\n selectedValue().text, Svg('arrow_big_down', {\r\n class: 'sprite-symbol dropdown__selection__arrow'\r\n })\r\n ]) :\r\n [\r\n m('span.dropdown__selection__left',\r\n selectedValue() ? selectedValue().text.left ? selectedValue().text.left : selectedValue().text : ''\r\n ),\r\n m('.dropdown__selection__right', [\r\n selectedValue() && selectedValue().text.right ? m('span', selectedValue().text.right) : '',\r\n Svg('arrow_big_down', {\r\n class: 'sprite-symbol dropdown__selection__arrow'\r\n })\r\n ])\r\n ]\r\n ),\r\n m('ul', { class: 'dropdown__list' + (ctrl.toggled() ? ' dropdown__list--active' : '') }, [\r\n items,\r\n options.subdrop && options.subdrop.items && options.subdrop.items.length > 0 ? m('li', { class: 'dropdown__list__item sub-dropdown' }, [\r\n m('span', { class: (ctrl.subDropToggled() ? 'active' : ''), onclick: toggleSubList }, [\r\n options.subdrop.label,\r\n Svg('arrow_big_right', {\r\n class: 'sprite-symbol sub-dropdown__arrow'\r\n })\r\n ]),\r\n m('ul', {\r\n config: setMaxHeight,\r\n class: 'dropdown__list' + (ctrl.subDropToggled() ? ' dropdown__list--active' : '')\r\n }, renderList(options.subdrop.items))\r\n ]) : ''\r\n ]),\r\n model.errorList().map(function (msg) {\r\n return m('.dropdown__error', m.trust(msg));\r\n })\r\n ]);\r\n }\r\n };\r\n\r\n return Dropdown;\r\n});\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Components/Button',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg'\r\n], function (m, Utils, Button, Svg) {\r\n 'use strict';\r\n\r\n var ModalDialog = function (template, options) {\r\n\r\n options.buttons = options.buttons ? options.buttons.map(function (button) {\r\n return Utils.extend(true, {\r\n text: 'Test button',\r\n callback: function (close) {\r\n close();\r\n },\r\n size: 'large',\r\n color: 'primary',\r\n disabled: m.prop(false)\r\n }, button);\r\n }) : options.buttons;\r\n\r\n options = Utils.extend(true, {\r\n shouldBeComponent: false,\r\n closable: true,\r\n stackButtons: false,\r\n buttons: [],\r\n readMore: {},\r\n subText: null,\r\n class: [],\r\n controller: options.controller ? options.controller : null\r\n }, options);\r\n\r\n var renderFunction = function (ctrlOrHandleClose, registerElementOrVnode) {\r\n\r\n var handleClose = function () {\r\n options.iosPositionFix = false;\r\n return (options.shouldBeComponent ? ctrlOrHandleClose.handleClose() : ctrlOrHandleClose());\r\n };\r\n var registerElement = options.shouldBeComponent ? ctrlOrHandleClose.$overlayElement : registerElementOrVnode;\r\n\r\n if (options.iosPositionFix) {\r\n try {\r\n window.scroll({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n } catch (ignoredError) {\r\n // Older browsers does not support the object signature.\r\n window.scroll(0, 0);\r\n }\r\n }\r\n\r\n return m('div', (function () {\r\n var obj = {\r\n class: [\r\n 'ds-modal-frame',\r\n 'is--shown',\r\n (options.iosPositionFix ? 'ds-modal-frame--ios-position-fix' : '')\r\n ].concat(options.class, ModalDialogObj.class()).join(' '),\r\n config: function (element) {\r\n registerElement(element);\r\n }\r\n };\r\n if (options.id) {\r\n obj.id = options.id;\r\n }\r\n return obj;\r\n })(), [\r\n m('div', {\r\n class: 'ds-modal-wrap'\r\n }, [\r\n options.closable ?\r\n Svg('close', {\r\n onclick: handleClose,\r\n width: '18px',\r\n height: '18px',\r\n class: 'ds-modal--close sprite-symbol'\r\n }) : '',\r\n m('div', {\r\n class: 'ds-modal-content'\r\n }, [\r\n m('div', {\r\n class: 'ds-modal-html'\r\n }, Array.isArray(template) ? template : [template]),\r\n\r\n m('.button-row', { class: options.stackButtons ? 'button-row--stack' : '' }, options.buttons ? options.buttons.filter(function (button) {\r\n return button != null;\r\n }).map(function (button) {\r\n return m(Button, {\r\n uiTestId: button.uiTestId,\r\n id: button.id,\r\n loading: button.loading,\r\n color: button.color,\r\n size: button.size,\r\n class: button.class,\r\n disabled: button.disabled(),\r\n text: { default: button.text },\r\n eventId: button.eventId,\r\n onclick: function () {\r\n if (!button.disabled()) {\r\n button.callback.bind(this, handleClose)();\r\n }\r\n }\r\n });\r\n }) : ''),\r\n (options.readMore.url && options.readMore.title) ? m('a', { href: options.readMore.url, class: 'ds-modal-link' }, [\r\n options.readMore.title\r\n ]) : null,\r\n options.subText ? m('small', {\r\n class: 'ds-modal-subtext'\r\n }, options.subText) : ''\r\n ])\r\n ])\r\n ]);\r\n };\r\n\r\n var ModalDialogObj = {\r\n controller: options.controller ? options.controller : null,\r\n class: m.prop('ds-modal-frame')\r\n };\r\n\r\n var renderKey = options.shouldBeComponent ? 'view' : 'render';\r\n\r\n ModalDialogObj[renderKey] = renderFunction;\r\n\r\n return ModalDialogObj;\r\n };\r\n\r\n return ModalDialog;\r\n});\r\n","defineDs('DanskeSpil/Domain/Subscriptions/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('/Subscriptions');\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Request', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/ModalDialog',\r\n 'Shared/Framework/Mithril/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n], function (m, ApiRequest, ModalDialog, Overlay, Dictionary, LoginController, Svg, Ensighten) {\r\n\r\n\r\n var errorMapping = {\r\n Title: 'errorTitle',\r\n Detail: 'Message',\r\n Id: 'errorId'\r\n };\r\n\r\n var Request = function (args) {\r\n\r\n var options = {};\r\n Object.keys(args).forEach(function (key) {\r\n options[key] = args[key];\r\n });\r\n\r\n var showErrorModal = function (response, closable) {\r\n var ensigtenErrorId = response.errorId ? response.errorId.substring(0, 9) : response.ErrorCode;\r\n Ensighten.pushGaEvent('errorMessage', ensigtenErrorId);\r\n\r\n var d = Dictionary.get.bind({ prefix: 'GeneralErrorHandler/' });\r\n Dictionary.ready.then(function () {\r\n var dialogcontent = [\r\n response && response.modalIcon ? Svg(response.modalIcon) : null,\r\n m('h1', (response && response.errorTitle) || d('Headline')),\r\n m('p', m.trust((response && response.Message) || d('BodyText'))),\r\n response && response.errorId ? m('p', d('DetailedErrorText', { ID: response.errorId })) : null\r\n ];\r\n\r\n new Overlay(ModalDialog(dialogcontent, {\r\n closable: closable,\r\n buttons: [\r\n {\r\n text: d('ButtonText'), callback: function (close) {\r\n\r\n close();\r\n }\r\n },\r\n ]\r\n })).show();\r\n });\r\n };\r\n\r\n var formatErrorResponse = function (response) {\r\n var message = {\r\n modalIcon: 'round_big_alert'\r\n };\r\n\r\n if (response.errors && response.errors[0]) {\r\n Object.keys(response.errors[0]).forEach(function (key) {\r\n var newKey = errorMapping[key];\r\n if (newKey) {\r\n message[newKey] = response.errors[0][key];\r\n }\r\n });\r\n }\r\n\r\n return message;\r\n };\r\n\r\n options.deserialize = function (value) {\r\n var returnVal;\r\n try {\r\n returnVal = JSON.parse(value);\r\n } catch (e) {\r\n returnVal = value;\r\n }\r\n return args.deserialize ? args.deserialize(returnVal) : returnVal;\r\n };\r\n\r\n options.unwrapSuccess = function (response) {\r\n if (response.status !== 'success') {\r\n response.modalIcon = 'round_big_alert';\r\n showErrorModal(response);\r\n }\r\n return args.unwrapSuccess ? args.unwrapSuccess(response.data) : response.data;\r\n };\r\n\r\n options.unwrapError = function (response, headers) {\r\n if (window.sitecoreEnv) {\r\n return;\r\n }\r\n\r\n if (typeof args.unwrapError === 'function') {\r\n return args.unwrapError(response.errors, headers);\r\n }\r\n\r\n var error;\r\n\r\n switch (headers.status) {\r\n case 401:\r\n LoginController.openLogin({\r\n // Outcommented these, as they are extracted from other aprams that has not been in effect since RedirectBasedLogin was enabled (in 2021). /MIPE, 2022-03-15\r\n // cancelUrl: window.location.origin\r\n });\r\n break;\r\n case 403:\r\n error = formatErrorResponse(response);\r\n\r\n return showErrorModal(error, false);\r\n case 422:\r\n // Used for inline validation responses\r\n if (args.preventModal) {\r\n return response;\r\n }\r\n\r\n error = formatErrorResponse(response);\r\n\r\n return showErrorModal(error);\r\n default:\r\n error = formatErrorResponse(response);\r\n\r\n return showErrorModal(error);\r\n }\r\n };\r\n\r\n return ApiRequest(options);\r\n\r\n };\r\n\r\n return Request;\r\n\r\n});\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Texts',\r\n function () {\r\n\r\n var getTexts = function (d, dPath, noTitle, noSubtitle, noText, noCtaLabel) {\r\n // if dPath is an object, it should already be formatted with correct output\r\n if (typeof dPath === 'object' && !Array.isArray(dPath)) {\r\n return dPath;\r\n }\r\n\r\n dPath = dPath || '';\r\n var dictionaryOptions = {};\r\n\r\n // if dPath is an array, then we need to get the option keys\r\n if (Array.isArray(dPath)) {\r\n dictionaryOptions = dPath[1];\r\n dPath = dPath[0];\r\n }\r\n\r\n var title = noTitle ? null : d(dPath + 'Title', dictionaryOptions);\r\n var subtitle = noSubtitle ? null : d(dPath + 'Subtitle', dictionaryOptions);\r\n var text = noText ? null : d(dPath + 'Text', dictionaryOptions);\r\n var ctaLabel = noCtaLabel ? null : d(dPath + 'CtaLabel');\r\n\r\n // if dictionary does not exist, return empty string\r\n if (typeof title === 'object') title = null;\r\n if (typeof subtitle === 'object') subtitle = null;\r\n if (typeof text === 'object') text = null;\r\n if (typeof ctaLabel === 'object') ctaLabel = null;\r\n\r\n return {\r\n title: title,\r\n subtitle: subtitle,\r\n text: text,\r\n ctaLabel: ctaLabel\r\n };\r\n };\r\n\r\n return getTexts;\r\n\r\n });\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Alerts',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Texts'\r\n ],\r\n function (m, Texts) {\r\n\r\n var init = function (type) {\r\n var cssModifier = '';\r\n\r\n if (type === 'danger') {\r\n cssModifier = '.alert--danger';\r\n } else if (type === 'warning') {\r\n cssModifier = '.alert--warning';\r\n }\r\n\r\n return function (dPath) {\r\n var texts = Texts(this.d, dPath, false, true, false, true);\r\n\r\n return m('.alert' + cssModifier, [\r\n texts.title ? m('h3.content-size-less-bottom', m.trust(texts.title)) : null,\r\n texts.text ? m('p.content-size-less-bottom', m.trust(texts.text)) : null,\r\n ]);\r\n };\r\n };\r\n\r\n // Public functions:\r\n return init;\r\n });\r\n","defineDs(\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/PreviousSubscriptions/Card',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/PreviousSubscriptions/Utils',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n ],\r\n // eslint-disable-next-line no-unused-vars\r\n (m, ModelStorage, LottoGame, Utils, VikingLottoGame, EurojackpotGame, KenoGame, AllOrNothingGame) => {\r\n const badgeAndTypeMap = {\r\n lottosaturday: {\r\n badge: 'game_badge-lotto',\r\n type: 'lotto-white',\r\n },\r\n vikinglotto: {\r\n badge: 'game_badge-vikinglotto',\r\n type: 'vikinglotto-white',\r\n },\r\n eurojackpot: {\r\n badge: 'game_badge-eurojackpot',\r\n type: 'eurojackpot',\r\n },\r\n keno: {\r\n badge: 'game_badge-keno',\r\n type: 'keno-white',\r\n },\r\n allornothing: {\r\n badge: 'game_badge-allornothing',\r\n type: 'allornothing-white',\r\n },\r\n };\r\n\r\n const colorMap = {\r\n lottosaturday: '--color2',\r\n vikinglotto: '--color3',\r\n eurojackpot: '--color4',\r\n keno: '--color1',\r\n allornothing: '--color5',\r\n };\r\n\r\n const gameModelMap = {\r\n lottosaturday: LottoGame,\r\n vikinglotto: VikingLottoGame,\r\n eurojackpot: EurojackpotGame,\r\n keno: KenoGame,\r\n allornothing: AllOrNothingGame,\r\n };\r\n\r\n const gameTypeToStorageType = {\r\n lottosaturday: 'lotto',\r\n vikinglotto: 'vikinglotto',\r\n eurojackpot: 'eurojackpot',\r\n keno: 'keno',\r\n allornothing: 'allornothing',\r\n };\r\n\r\n return {\r\n controller: function ({ subscription, onClickRedirectionLink }) {\r\n this.summarizedSubscription = m.prop(Utils.summarizeSubscription(subscription));\r\n\r\n let gradientStringCache = null;\r\n this.getBorderColors = function () {\r\n if (gradientStringCache) return gradientStringCache;\r\n\r\n const colorSet = this.summarizedSubscription()\r\n .games.map((game) => colorMap[game.gameType.toLowerCase()])\r\n .sort((a, b) => a.charAt(a.length - 1) - b.charAt(a.length - 1))\r\n .reduce(\r\n (accumulator, color) => {\r\n accumulator.firstPart.push(color);\r\n accumulator.secondPart.unshift(color);\r\n return accumulator;\r\n },\r\n { firstPart: [], secondPart: [] }\r\n );\r\n\r\n const gradientString = [...colorSet.firstPart, ...colorSet.secondPart].reduce(\r\n (accumulator, color) => accumulator + `var(${color}),`,\r\n ''\r\n );\r\n gradientStringCache = `--gradient: ${gradientString.slice(0, gradientString.length - 1)};`;\r\n\r\n return gradientStringCache;\r\n };\r\n\r\n const kenoGameDetailsProcessor = (gameInstance) => {\r\n gameInstance.playType('Lightning');\r\n gameInstance.numberOfDraws(1);\r\n };\r\n\r\n const allOrNothingDetailsProcessor = (gameInstance) => {\r\n gameInstance.numberOfDraws(1);\r\n };\r\n\r\n const euroJackpotJackpotServiceProcessor = (gameInstance) => {\r\n gameInstance.numberOfDraws(1);\r\n gameInstance.verticalType('jackpot');\r\n };\r\n\r\n const addSubscriptionGameToBasket = (gameType, gameId, extraNumbersName, gameProcessor) => {\r\n const gameDetails = subscription.getTemplateGame(gameId);\r\n const isJackpot = subscription.isJackpot();\r\n const gameInstance = gameModelMap[gameType].setupGame({\r\n playType: gameDetails.playType,\r\n withJokerSaturday: gameDetails.withJokerSaturday,\r\n withJokerWednesday: gameDetails.withJokerWednesday,\r\n rowCount: gameDetails.rowCount,\r\n rowsToGenerate: gameDetails.rowsToGenerate,\r\n numberOfDraws: gameDetails.drawDays.reduce((accumulator, day) => accumulator + (day ? 1 : 0), 0),\r\n });\r\n gameInstance.rows(\r\n gameDetails.rows\r\n ? gameDetails.rows.map((row, index) => {\r\n const newRow = {\r\n count: index,\r\n numbers: row.numbers ? row.numbers.map((number) => ({ number, autogenerated: false })) : [],\r\n };\r\n\r\n if (extraNumbersName) {\r\n newRow[extraNumbersName] = row.extraNumbers;\r\n }\r\n\r\n return newRow;\r\n })\r\n : []\r\n );\r\n\r\n if (gameInstance.systemName) gameInstance.systemName(gameDetails.systemName);\r\n if (gameDetails.pricePerRow) gameInstance.setStakePerRow(gameDetails.pricePerRow);\r\n if (gameDetails.addOnTriggerValue) {\r\n gameInstance.plusSubscriptionJackpot(gameDetails.addOnTriggerValue / 1000000); // Convert to millions\r\n }\r\n // Game specific data processing\r\n if (gameProcessor) gameProcessor(gameInstance);\r\n\r\n gameInstance.status('add-to-basket');\r\n const vertical = isJackpot ? 'jackpot' : 'plus';\r\n gameInstance.save();\r\n ModelStorage.add(\r\n vertical,\r\n gameTypeToStorageType[gameType],\r\n gameDetails.playType.toLowerCase(),\r\n gameInstance.id()\r\n );\r\n\r\n window.location.href = window.location.origin + onClickRedirectionLink + '?' + vertical;\r\n };\r\n\r\n this.reactivateSubscription = () => {\r\n const subscriptionGames = subscription.games();\r\n const isJackpot = subscription.isJackpot();\r\n subscriptionGames.forEach((game) => {\r\n const gameType = game.gameType.toLowerCase();\r\n switch (gameType) {\r\n case 'lottosaturday':\r\n addSubscriptionGameToBasket(gameType, game.id);\r\n break;\r\n case 'vikinglotto':\r\n addSubscriptionGameToBasket(gameType, game.id, 'vikingNumber');\r\n break;\r\n case 'eurojackpot':\r\n isJackpot\r\n ? addSubscriptionGameToBasket(gameType, game.id, 'starNumbers', euroJackpotJackpotServiceProcessor)\r\n : addSubscriptionGameToBasket(gameType, game.id, 'starNumbers');\r\n break;\r\n case 'keno':\r\n addSubscriptionGameToBasket(gameType, game.id, null, kenoGameDetailsProcessor);\r\n break;\r\n case 'allornothing':\r\n addSubscriptionGameToBasket(gameType, game.id, null, allOrNothingDetailsProcessor);\r\n break;\r\n default:\r\n console.error(`Unknown game type for custom package: ${gameType}`);\r\n break;\r\n }\r\n });\r\n };\r\n },\r\n view: function (ctrl) {\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n {ctrl.summarizedSubscription().pricePerWeek} kr./ugen\r\n
\r\n
\r\n {ctrl.summarizedSubscription().games.map((game) => {\r\n const badgeAndType = badgeAndTypeMap[game.gameType.toLowerCase()];\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {game.rowCount}Rækker\r\n \r\n {game.hasJoker ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n },\r\n };\r\n }\r\n);\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay', [\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Utils'\r\n], function (Utils) {\r\n\r\n\r\n var load = function () {\r\n var promise = new Promise(function (resolve) {\r\n // Initialize Reepay if we haven't done this already.\r\n // It's a design choice that we do not keep a copy of the javascript in our vendor folder.\r\n if (window.Reepay === undefined) {\r\n window.include('https://checkout.reepay.com/checkout.js', function () {\r\n resolve();\r\n });\r\n } else {\r\n resolve();\r\n }\r\n\r\n });\r\n\r\n return promise;\r\n };\r\n\r\n var checkout = function (token, retries) {\r\n if (retries) {\r\n if (retries === 1) {\r\n console.error('Stopping checkout, after 3 failed attempts.');\r\n return;\r\n }\r\n retries--;\r\n } else {\r\n retries = 3;\r\n }\r\n if (window.Reepay) {\r\n new window.Reepay.WindowCheckout(token);\r\n } else {\r\n // Reepay not loaded, lets try again.\r\n load().then(function () {\r\n checkout(token, retries);\r\n });\r\n\r\n\r\n }\r\n };\r\n\r\n var isApplePayAvailable = function () {\r\n if (!Utils.isTopFrame() && !Utils.isApp()) {\r\n return false;\r\n }\r\n\r\n if (typeof window.Reepay?.isApplePayAvailable === 'function') {\r\n return window.Reepay.isApplePayAvailable();\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var isGooglePayAvailable = function () {\r\n if (typeof window.Reepay.isGooglePayAvailable === 'function') {\r\n return window.Reepay.isGooglePayAvailable();\r\n }\r\n return false;\r\n };\r\n\r\n return {\r\n load: load,\r\n checkout: checkout,\r\n isApplePayAvailable: isApplePayAvailable,\r\n isGooglePayAvailable: isGooglePayAvailable\r\n };\r\n});\r\n","defineDs('DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment', [\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Request',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay'\r\n], function (Request, Reepay) {\r\n\r\n const baseUrl = DS.Config.CONTEXTPREFIX + '/scapi/danskespil/playeraccountmanagement';\r\n const reepayUrl = DS.Config.CONTEXTPREFIX + '/scapi/danskespil/playeraccountmanagement/payment';\r\n\r\n const types = {\r\n CARD_PAYMENT: 'card',\r\n BS_PAYMENT: 'bs'\r\n };\r\n\r\n const getCurrentPaymentDetails = () => {\r\n return Request({\r\n url: baseUrl + '/playerpayment',\r\n method: 'GET'\r\n });\r\n };\r\n\r\n const getPaymentMethod = (paymentMethodId) => {\r\n return Request({\r\n url: baseUrl + '/GetPaymentMethod/' + paymentMethodId,\r\n method: 'GET',\r\n unwrapError: () => {} // Overload generic error modal\r\n });\r\n };\r\n const makeAuthorizationToken = (data) => {\r\n return Request({\r\n url: reepayUrl + window.location.search,\r\n method: 'POST',\r\n data: data,\r\n deserialize: function (response) {\r\n return response;\r\n }\r\n }).then(function (response) {\r\n if (response.PaymentData) {\r\n Reepay.checkout(response.PaymentData.AuthorizationToken);\r\n } else {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n const makePayment = (amount, paymentType, paymentDetails) => {\r\n if (paymentType === types.CARD_PAYMENT) {\r\n var data = {\r\n amount: amount,\r\n capture: paymentDetails.capture,\r\n cardType: paymentDetails.cardType,\r\n cardId: paymentDetails.cardId, // null if not saved card\r\n contextType: paymentDetails.contextType,\r\n externalId: paymentDetails.externalId,\r\n orderId: paymentDetails.orderId,\r\n saveCard: paymentDetails.saveCard || false,\r\n bonusCode: paymentDetails.bonusCode || null,\r\n acceptUrl: paymentDetails.acceptUrl,\r\n cancelUrl: paymentDetails.cancelUrl,\r\n ledger: paymentDetails.ledger,\r\n preauth: typeof paymentDetails.preauth !== 'undefined' ? paymentDetails.preauth : null,\r\n subtype: paymentDetails.subtype,\r\n drawingPeriod: paymentDetails.drawingPeriod\r\n };\r\n\r\n return makeAuthorizationToken(data);\r\n }\r\n\r\n throw new Error('Payment type ' + paymentType + ' is not supported.');\r\n };\r\n\r\n // Amount is integer, paymentType is one of the above listed, paymentOptions in this case entails an object that contains the details,\r\n // e.g. with a saved card, you'd specify the card number, with a bank account you'd specify bank account details\r\n const authorize = (amount, paymentType, paymentDetails) => {\r\n paymentDetails.capture = false;\r\n paymentDetails.preauth = true;\r\n return makePayment(amount, paymentType, paymentDetails);\r\n };\r\n\r\n // Amount is integer, paymentType is one of the above listed, paymentOptions in this case entails an object that contains the details,\r\n // e.g. with a saved card, you'd specify the card number, with a bank account you'd specify bank account details\r\n const capture = (amount, paymentType, paymentDetails) => {\r\n paymentDetails.capture = true;\r\n return makePayment(amount, paymentType, paymentDetails);\r\n };\r\n\r\n // Call function if you ONLY intend to save card and not make a payment in the process\r\n const saveCard = (paymentDetails) => {\r\n paymentDetails.capture = false;\r\n paymentDetails.saveCard = true;\r\n return makePayment(0, types.CARD_PAYMENT, paymentDetails);\r\n };\r\n\r\n\r\n return {\r\n types,\r\n authorize,\r\n capture,\r\n saveCard,\r\n getCurrentPaymentDetails,\r\n getPaymentMethod\r\n };\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n\r\n // Return:\r\n return new Dictionary('/NumberGames/AllOrNothing');\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingUtils',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils'\r\n ],\r\n function (Utils) {\r\n\r\n // Public functions:\r\n return {\r\n formatCurrency: Utils.formatCurrency,\r\n formatNumber: Utils.formatNumber,\r\n parseISO8601: Utils.parseISO8601,\r\n formatISO8601: Utils.formatISO8601,\r\n getQueryParam: Utils.getQueryParam,\r\n getLongDate: Utils.getLongDate,\r\n isMobile: Utils.isMobile,\r\n isTablet: Utils.isTabletDevice,\r\n prepareParamString: Utils.prepareParamString\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingUtils'\r\n ],\r\n function (m, ApiRequest, AllOrNothingUtils) {\r\n\r\n // Variables:\r\n var baseURL = '/dlo/scapi/danskespil/numbergames/allornothing';\r\n var prepareParamString = AllOrNothingUtils.prepareParamString;\r\n\r\n // Functions:\r\n var createCoupon = function (data) {\r\n var deferred = m.deferred();\r\n\r\n ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/coupon',\r\n data: data\r\n }).then(function (response) {\r\n response = response || {};\r\n\r\n if (response && !response.Message) {\r\n deferred.resolve(response);\r\n } else {\r\n deferred.reject(response);\r\n }\r\n }, function (response) {\r\n response = response || { Message: 'ERROR_NOT_GIVEN' };\r\n\r\n deferred.reject(response);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getInfo = function () {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/gameInformation'\r\n });\r\n };\r\n\r\n var getRandomNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.rows) {\r\n response.rows.map(function (row) {\r\n rows.push(row.numbers);\r\n });\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getShuffledNumbers = function (option) {\r\n var numberOfCombinations = option !== undefined ? option : 10;\r\n\r\n return ApiRequest({\r\n url: baseURL + '/shufflednumbers?setsToGenerate=' + numberOfCombinations\r\n });\r\n };\r\n\r\n var getCoupon = function (couponId) {\r\n var options = { couponId: couponId };\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/coupon' + params\r\n });\r\n };\r\n\r\n var getCompletedDrawsData = function () {\r\n\r\n return ApiRequest({\r\n url: baseURL + '/completedDrawDates',\r\n localCacheTTL: 60\r\n });\r\n };\r\n\r\n var getWinningNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/winningNumbers' + params,\r\n localCacheTTL: 60\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n createCoupon: createCoupon,\r\n getInfo: getInfo,\r\n getRandomNumbers: getRandomNumbers,\r\n getShuffledNumbers: getShuffledNumbers,\r\n getCoupon: getCoupon,\r\n getCompletedDrawsData: getCompletedDrawsData,\r\n getWinningNumbers: getWinningNumbers\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingApi',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (m, AllOrNothingApi, Storage) {\r\n\r\n // Variables:\r\n var data = m.prop({});\r\n var isFeedDown = m.prop(false);\r\n var noOpenDraw = m.prop(false);\r\n var ready = m.deferred();\r\n\r\n // Functions:\r\n var getDrawRepeatOptions = function () {\r\n var options = data().draws && data().drawRepeatOptions && data().drawRepeatOptions.options ? data().drawRepeatOptions.options : [1, 2, 3, 4, 5, 6, 7, 14];\r\n var count = data().draws ? data().draws.length : 0;\r\n\r\n options.filter(function (v) {\r\n return v <= count;\r\n }).sort(function (a, b) { return a > b ? 1 : -1; });\r\n\r\n return options;\r\n };\r\n\r\n var getDrawRepeatDefault = function () {\r\n return data().drawRepeatOptions && data().drawRepeatOptions.default ? data().drawRepeatOptions.default : 1;\r\n };\r\n\r\n var getStakeDefault = function () {\r\n var defaults = data().stakeOptions ? data().stakeOptions.filter(function (v) { return v.IsDefault; }).map(function (v) { return v.Value; }) : [];\r\n\r\n return defaults[0] || 10; // !!! we need to look at this !!!\r\n };\r\n\r\n // Lightning Options:\r\n var getLightningOptions = function () {\r\n return data().lightningOptions && data().lightningOptions.options ? data().lightningOptions.options : [1, 2, 3, 4, 5, 6, 7, 14, 30];\r\n };\r\n\r\n var getLightningDefaultRowCount = function () {\r\n return data().lightningOptions && data().lightningOptions.default ? data().lightningOptions.default : 5;\r\n };\r\n\r\n // Open draw:\r\n var getOpenDraw = function () {\r\n return data().openDraw;\r\n };\r\n\r\n var feedValid = function (data) {\r\n try {\r\n var json = JSON.parse(data);\r\n\r\n if (json && typeof json.openDraw !== 'undefined') {\r\n return true;\r\n }\r\n } catch (e) { }\r\n\r\n return false;\r\n };\r\n\r\n var storeToCache = function (json) {\r\n Storage.set('AllOrNothingInfoFeed', json ? JSON.stringify(json) : null, 120);\r\n };\r\n\r\n // Initialize:\r\n var init = function () {\r\n\r\n // 1) LOOK IN DOM\r\n var $allOrNothingFeedData = document.querySelector('#all-or-nothing-info');\r\n if ($allOrNothingFeedData) {\r\n var domData = $allOrNothingFeedData.innerHTML;\r\n\r\n if (feedValid(domData)) {\r\n var domJson = JSON.parse(domData);\r\n\r\n data(domJson);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n // Store to cache\r\n storeToCache(domJson);\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n }\r\n\r\n // 2) LOOK IN LOCALSTORAGE\r\n var cacheData = Storage.get('AllOrNothingInfoFeed');\r\n\r\n if (!cacheData || !feedValid(cacheData)) {\r\n // Clear cache\r\n storeToCache(null);\r\n } else {\r\n // Use cache\r\n var d = JSON.parse(cacheData);\r\n\r\n d.confirmUrl ? null : d.confirmUrl = '/alt-eller-intet/bekraeft';\r\n d.numberOfDaysUrl ? null : d.numberOfDaysUrl = '/alt-eller-intet/antal-dage';\r\n\r\n data(d);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n\r\n // 3) LOAD INFO FROM FEED\r\n AllOrNothingApi.getInfo().then(function (d) {\r\n d.confirmUrl ? null : d.confirmUrl = '/alt-eller-intet/bekraeft';\r\n d.numberOfDaysUrl ? null : d.numberOfDaysUrl = '/alt-eller-intet/antal-dage';\r\n\r\n data(d);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n // Store to cache\r\n storeToCache(d);\r\n\r\n ready.resolve();\r\n }, function () {\r\n isFeedDown(true);\r\n noOpenDraw(true);\r\n\r\n ready.resolve();\r\n\r\n console.error('### ALL OR NOTHING FEED DOWN ###');\r\n });\r\n\r\n };\r\n\r\n try {\r\n init();\r\n } catch (error) {\r\n console.warn('### ALL OR NOTHING FEED DOWN ###', error);\r\n }\r\n\r\n // Public functions:\r\n return {\r\n data: data,\r\n getDrawRepeatOptions: getDrawRepeatOptions,\r\n getDrawRepeatDefault: getDrawRepeatDefault,\r\n getLightningOptions: getLightningOptions,\r\n getLightningDefaultRowCount: getLightningDefaultRowCount,\r\n getOpenDraw: getOpenDraw,\r\n getStakeDefault: getStakeDefault,\r\n isFeedDown: isFeedDown,\r\n noOpenDraw: noOpenDraw,\r\n ready: ready.promise\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingApi',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingUtils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (m, Model, AllOrNothingApi, AllOrNothingInfo, AllOrNothingUtils, DataLayer) {\r\n\r\n // Model:\r\n var AllOrNothingGame = Model('AllOrNothingGame', function (content) {\r\n this.infoFeed = () => AllOrNothingInfo;\r\n this.api = () => AllOrNothingApi;\r\n\r\n // Variables:\r\n this._generatedRows = m.prop(content._generatedRows || []);\r\n this.couponId = m.prop(content.couponId);\r\n this.numberOfDraws = m.prop(typeof content.numberOfDraws !== 'undefined' ? content.numberOfDraws : AllOrNothingInfo.getDrawRepeatDefault());\r\n this.numberOfDrawsOptions = m.prop(AllOrNothingInfo.getDrawRepeatOptions());\r\n this.numbersIntervalMax = m.prop(24);\r\n this.numbersPerRow = m.prop(content.numbersPerRow || 12);\r\n this.playType = m.prop(content.playType);\r\n this.purchaseTracked = m.prop(content.purchaseTracked || false);\r\n this.rebuyCouponId = m.prop(content.rebuyCouponId);\r\n this.ready = m.prop(m.deferred());\r\n this.rows = m.prop(content.rows || []);\r\n this.rowsToGenerate = m.prop(content.rowsToGenerate || 0);\r\n this.startUrl = m.prop(content.startUrl || window.location.href.split('?')[0]);\r\n this.status = m.prop(content.status || 'open');\r\n this.stakePerRow = m.prop(content.stakePerRow || AllOrNothingInfo.getStakeDefault()); // Required by PurchaseBar\r\n this.isProductDetailsTracked = m.prop(content.isProductDetailsTracked || false);\r\n this.isAddToCartTracked = m.prop(content.isAddToCartTracked || false);\r\n this.isPurchaseCompleteTracked = m.prop(content.isPurchaseCompleteTracked || false);\r\n this.plusSubscriptionJackpot = m.prop(content.plusSubscriptionJackpot || null);\r\n this.firstDepositInfo = m.prop(content.firstDepositInfo || null);\r\n this.verticalType = m.prop(content.verticalType);\r\n // drawDays is an array of booleans, where each index represents a day of the week, starting with Monday\r\n this.drawDays = m.prop([true, true, true, true, true, true, true]);\r\n this.numbersPerRowMax = this.numbersPerRow;\r\n\r\n // Functions:\r\n this.addNumber = function (row, number, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n row.numbers.push({ number: number, autogenerated: autogenerated || false });\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addRow = function (numbers) {\r\n numbers = numbers || [];\r\n\r\n this.rows().push({ count: this.rowCount(), numbers: numbers, state: 'clean' });\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.autogenerateNumbers = function (rowNumber) {\r\n var self = this;\r\n var deferred = m.deferred();\r\n var row = this.getRow(rowNumber);\r\n var numbers = [];\r\n\r\n for (var i = 0; i < row.numbers.length; i++) {\r\n var number = row.numbers[i];\r\n\r\n numbers.push(number.number);\r\n }\r\n\r\n var options = { rowsToGenerate: 1, requiredNumbers: numbers };\r\n\r\n AllOrNothingApi.getRandomNumbers(options).then(function (rows) {\r\n rows = rows[0];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var generatedNumber = rows[i];\r\n\r\n if (generatedNumber && numbers.indexOf(generatedNumber) === -1) {\r\n self.addNumber(rowNumber, generatedNumber, true);\r\n }\r\n }\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.getShuffledNumbers = function () {\r\n var deferred = m.deferred();\r\n\r\n AllOrNothingApi.getShuffledNumbers(50).then(function (data) {\r\n\r\n deferred.resolve(data.sets);\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.areAllRowsValid = () => {\r\n return this.rows().every((row) => this.isRowValid(row.count + 1));\r\n };\r\n\r\n this.autofillClassicRows = async () => {\r\n const promises = [];\r\n const emptyRows = [];\r\n for (let i = 0; i < this.rows().length; i++) {\r\n const row = this.rows()[i];\r\n const rowNumber = row.count + 1;\r\n if (!this.isRowValid(rowNumber)) {\r\n if (row.numbers.length > 0) {\r\n promises.push(this.autogenerateNumbers(rowNumber));\r\n } else {\r\n emptyRows.push(row);\r\n }\r\n }\r\n }\r\n if (emptyRows.length > 0) {\r\n const fullyGeneratedRows = this.api().getRandomNumbers({ rowsToGenerate: emptyRows.length }).then((rowsNumbers) => {\r\n for (let i = 0; i < rowsNumbers.length; i++) {\r\n const rowNumbers = rowsNumbers[i];\r\n const emptyRow = emptyRows[i];\r\n for (let j = 0; j < rowNumbers.length; j++) {\r\n this.addNumber(emptyRow.count + 1, rowNumbers[j], true);\r\n }\r\n }\r\n });\r\n promises.push(fullyGeneratedRows);\r\n }\r\n await Promise.all(promises);\r\n\r\n this.save();\r\n };\r\n\r\n // AllOrNothing Lightning: generate output rows:\r\n this.gameGenerateRows = function () {\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n if (['Lightning'].indexOf(this.playType()) === -1) {\r\n console.error('AllOrNothingGame gameGenerateRows: This method cannot be used for playType', this.playType());\r\n\r\n deferred.reject();\r\n\r\n return;\r\n }\r\n\r\n if (this.playType() === 'Lightning') {\r\n var options = { rowsToGenerate: this.rowsToGenerate() };\r\n\r\n AllOrNothingApi.getRandomNumbers(options).then(function (rows) {\r\n var generatedRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.map(function (number) { return { number: number, autogenerated: true }; });\r\n\r\n generatedRows.push({ count: i, numbers: numbers, state: 'clean' });\r\n }\r\n\r\n self.generatedRows(generatedRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n }).bind(this);\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.getRow = function (row) {\r\n if (!this.rows()[row - 1]) {\r\n row = this.rows().length;\r\n }\r\n return this.rows()[row - 1];\r\n }.bind(this);\r\n\r\n this.getRows = function (valid) {\r\n var numbersPerRow = this.numbersPerRow();\r\n\r\n return this.rows().filter(function (row) {\r\n return valid ? row.numbers.length === numbersPerRow : row;\r\n });\r\n }.bind(this);\r\n\r\n this.hasNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }.bind(this);\r\n\r\n this.copyFromOldCoupon = function () {\r\n var self = this;\r\n\r\n AllOrNothingApi.getCoupon(this.rebuyCouponId()).then(function (data) {\r\n self.numberOfDraws(!data.multiWagers ? 1 : data.multiWagers.length);\r\n self.playType(data.playType);\r\n\r\n data.games.forEach(function (game) {\r\n var rows = [];\r\n var rowNumbers = [];\r\n\r\n // Classic:\r\n if (self.playType() === 'Classic') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n });\r\n\r\n // Lightning:\r\n } else if (self.playType() === 'Lightning') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedRows(rows);\r\n self.rowsToGenerate(rows.length);\r\n }\r\n\r\n });\r\n\r\n self.save();\r\n\r\n self.ready().resolve();\r\n }, function () {\r\n self.ready().reject('coupon-not-found');\r\n });\r\n }.bind(this);\r\n\r\n this.drawDateHtmlShort = function () {\r\n var dates = this.drawDates();\r\n var firstDate = dates[0];\r\n var lastDate = dates[dates.length - 1];\r\n\r\n // if there's more than one date, output the range. otherwise output the first date.\r\n if (dates.length > 1) {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' - ' + lastDate.draw.getDate() + '/' + (lastDate.draw.getMonth() + 1) + ' ' + lastDate.draw.getFullYear();\r\n } else {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' ' + firstDate.draw.getFullYear();\r\n }\r\n }.bind(this);\r\n\r\n this.drawDates = function () {\r\n var drawDates = [];\r\n var openDraw = AllOrNothingInfo.data().openDraw;\r\n var draws = this.numberOfDraws();\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n var closingTime = openDraw.closingTime;\r\n\r\n while (draws--) {\r\n var futureDate = new Date(closingTime);\r\n futureDate.setDate(futureDate.getDate() + draws);\r\n drawDates.push({\r\n draw: futureDate,\r\n hasJoker: false\r\n });\r\n }\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n }.bind(this);\r\n\r\n this.generatedRows = function (value) {\r\n var playType = this.playType();\r\n\r\n // Classic:\r\n if (playType === 'Classic') {\r\n if (value) {\r\n console.error('AllOrNothingGame: play type Classic does not support setting generatedRows.');\r\n }\r\n\r\n return this.getRows(true);\r\n }\r\n\r\n // Lightning:\r\n if (playType === 'Lightning') {\r\n if (value) {\r\n this._generatedRows(value);\r\n }\r\n\r\n return this._generatedRows();\r\n }\r\n }.bind(this);\r\n\r\n this.init = function () {\r\n if (this.rebuyCouponId() && this.state() === 'new') {\r\n this.copyFromOldCoupon();\r\n } else {\r\n if (this.state() === 'new') {\r\n this.addRow();\r\n }\r\n\r\n this.ready().resolve();\r\n }\r\n }.bind(this);\r\n\r\n this.isGameValid = function () {\r\n var rows = this.rows();\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n if (!this.isRowValid(i + 1)) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }.bind(this);\r\n\r\n this.isRowValid = function (rowNumber) {\r\n return this.getRow(rowNumber).numbers.length === this.numbersPerRow();\r\n }.bind(this);\r\n\r\n this.numbersLeft = function (rowNumber) {\r\n return this.numbersPerRow() - this.getRow(rowNumber).numbers.length;\r\n }.bind(this);\r\n\r\n this.trackPurchase = function () {\r\n var self = this;\r\n\r\n if (!self.purchaseTracked() && self.status() === 'completed') {\r\n window.DSAPI && DSAPI.ready(function () {\r\n self.purchaseTracked(true);\r\n });\r\n\r\n this.trackingPurchaseComplete();\r\n }\r\n }.bind(this);\r\n\r\n this.cancelUrl = function () {\r\n if (this.rebuyCouponId()) {\r\n // This is called when going from confirm page, back to completed games overview page.\r\n return this.startUrl();\r\n }\r\n\r\n // This is called when going from confirm page, back to game.\r\n return this.startUrl() + '?gameInstanceId=' + this.id();\r\n }.bind(this);\r\n\r\n this.purchase = function (params) {\r\n params = params || {};\r\n\r\n var deferred = m.deferred();\r\n var self = this;\r\n\r\n if (!params.drawId) {\r\n console.error('No drawId given.');\r\n\r\n deferred.reject({ errorMessage: 'NUMBERGAMES.NO_OPEN_DRAW' });\r\n } else {\r\n this.status('pending-confirmation');\r\n\r\n this.save();\r\n\r\n var rows = this.getRowsSummary();\r\n var rowNumbers = rows.map(function (row) { return { numbers: row }; });\r\n\r\n var options = {\r\n drawId: params.drawId,\r\n totalPrice: parseInt(self.totalPrice(), 10),\r\n multidraw: parseInt(self.numberOfDraws(), 10),\r\n playType: this.playType() || null,\r\n rows: rowNumbers,\r\n salesChannel: (AllOrNothingUtils.isMobile() || AllOrNothingUtils.isTablet()) ? 'mobile' : 'web'\r\n };\r\n\r\n AllOrNothingApi.createCoupon(options).then(function (data) {\r\n self.status('completed');\r\n\r\n self.couponId(data.couponId);\r\n\r\n self.save();\r\n\r\n deferred.resolve(data);\r\n }, function (data) {\r\n self.status('open');\r\n\r\n self.save();\r\n\r\n deferred.reject(data);\r\n });\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.getRowsSummary = function (useGenerated) {\r\n useGenerated = typeof useGenerated === 'undefined' ? true : useGenerated;\r\n\r\n var summary = [];\r\n var rows = useGenerated ? this.generatedRows() : this.getRows(true);\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i].numbers.map(function (numbers) { return numbers.number; });\r\n\r\n summary.push(row);\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getNumbersForRow = function (row) {\r\n var numbers = [];\r\n var rowNumbers = this.getRow(row).numbers;\r\n\r\n rowNumbers.forEach(function (number) {\r\n numbers.push(number.number);\r\n });\r\n\r\n return numbers;\r\n }.bind(this);\r\n\r\n this.prepareNextStep = function (nextStep) {\r\n var nextStepUrl = AllOrNothingInfo.data()[nextStep] + '?gameInstanceId=' + this.id();\r\n var deferred = m.deferred();\r\n var status = this.status();\r\n\r\n if (status !== 'processing') {\r\n this.status('processing');\r\n\r\n var promises = this.playType() !== 'Classic' ? [this.gameGenerateRows()] : [];\r\n var self = this;\r\n\r\n m.sync(promises).then(function () {\r\n self.status(status);\r\n\r\n self.save();\r\n\r\n deferred.resolve(nextStepUrl);\r\n }, function () {\r\n self.status('prepare-confirm-error');\r\n\r\n self.save();\r\n\r\n deferred.reject();\r\n });\r\n } else {\r\n deferred.resolve(nextStepUrl);\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.removeNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var index = -1;\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n index = i;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n row.numbers.splice(index, 1);\r\n }\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeRow = function (rowNumber) {\r\n var rows = this.rows();\r\n\r\n rows.splice(rowNumber - 1, 1);\r\n\r\n this.rows(rows);\r\n\r\n if (rows.length === 0) {\r\n this.addRow();\r\n }\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeAllRows = function () {\r\n this.rows([]);\r\n\r\n this.addRow();\r\n this.addRow();\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.resetRow = function (rowNumber) {\r\n var row = this.getRow(rowNumber);\r\n\r\n row.numbers = [];\r\n row.state = 'clean';\r\n\r\n this.setRow(rowNumber, row);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.rowCount = function () {\r\n var count = 0;\r\n var rows = this.rows();\r\n var amount = rows.length;\r\n\r\n for (var i = 0; i < amount; i++) {\r\n var row = rows[i];\r\n\r\n if (row.count > count) {\r\n count = row.count + 1;\r\n } else {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }.bind(this);\r\n\r\n this.sendToSubscription = function () {\r\n // Tracking for DataLayer\r\n this.status('processing');\r\n this.trackingAddToCart('plus');\r\n\r\n window.location.href = '/plus-abonnement/se-kurv?plus&mcGameType=allornothing&mcGameId=' + this.id();\r\n }.bind(this);\r\n\r\n\r\n // Functions - For tracking (DataLayer eCommerce buzzword)\r\n\r\n this.createDataLayerProduct = function (subscription, event) {\r\n // Product array for datalayer\r\n var dataLayerProducts = [];\r\n\r\n // Main product\r\n var product = {};\r\n\r\n if (subscription) {\r\n // subscription product (PLUS abonnement)\r\n product.name = 'plus';\r\n product.price = this.stakePerRow().toString();\r\n product.brand = 'dlo_plu';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('plus_allornothing', this.numberOfDraws(), 'AllOrNothing' + this.playType());\r\n product.quantity = this.getRowAmount();\r\n for (var i = 0; i < 7; i++) { // 7 is for the number of days in a week.\r\n dataLayerProducts.push(product);\r\n }\r\n } else {\r\n product.name = 'alt_eller_intet';\r\n product.price = DataLayer.rowPrice(this.stakePerRow(), this.numberOfDraws(), 'AllOrNothing' + this.playType());\r\n product.brand = 'dlo_alt';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('allornothing', this.numberOfDraws(), this.playType());\r\n\r\n if (event != 'productDetails') {\r\n product.quantity = DataLayer.quantity('allornothing', this.getRowsSummary().length, this.playType());\r\n }\r\n dataLayerProducts.push(product);\r\n }\r\n\r\n return dataLayerProducts;\r\n };\r\n\r\n this.trackingAddToCart = function () {\r\n // Check if the event has already been pushed\r\n if (this.isAddToCartTracked() == false) {\r\n this.isAddToCartTracked(true);\r\n\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n DataLayer.addToCart(this.createDataLayerProduct());\r\n } else {\r\n console.warn('addToCart has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingProductDetails = function () {\r\n // Check if the event has already been pushed\r\n if (this.isProductDetailsTracked() == false) {\r\n this.isProductDetailsTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n DataLayer.productDetail(this.createDataLayerProduct(false, 'productDetails'));\r\n } else {\r\n console.warn('productDetails has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingPurchaseComplete = function () {\r\n\r\n if (this.isPurchaseCompleteTracked() == false) {\r\n this.isPurchaseCompleteTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer purchaseComplete Event\r\n DataLayer.purchaseCompleted({\r\n totalPrice: this.totalPrice().toString(),\r\n id: this.couponId()\r\n }, this.createDataLayerProduct());\r\n } else {\r\n console.warn('purchaseCompleted has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.setNumberOfDraws = function (draws) {\r\n this.numberOfDraws(draws);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setRow = function (row, content) {\r\n var rows = this.rows();\r\n\r\n rows[row - 1] = content;\r\n\r\n this.rows(rows);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.sortRow = function (numbers) {\r\n numbers.sort(function (a, b) {\r\n return a.number < b.number ? -1 : 1;\r\n });\r\n\r\n return numbers;\r\n };\r\n\r\n this.toJSON = function () {\r\n return {\r\n _generatedRows: this._generatedRows(),\r\n couponId: this.couponId(),\r\n id: this.id(),\r\n numberOfDraws: this.numberOfDraws(),\r\n numbersIntervalMax: this.numbersIntervalMax(),\r\n numbersPerRow: this.numbersPerRow(),\r\n playType: this.playType(),\r\n purchaseTracked: this.purchaseTracked(),\r\n rebuyCouponId: this.rebuyCouponId(),\r\n rows: this.rows(),\r\n rowsToGenerate: this.rowsToGenerate(),\r\n startUrl: this.startUrl(),\r\n status: this.status(),\r\n isProductDetailsTracked: this.isProductDetailsTracked(),\r\n isAddToCartTracked: this.isAddToCartTracked(),\r\n isPurchaseCompleteTracked: this.isPurchaseCompleteTracked(),\r\n firstDepositInfo: this.firstDepositInfo(),\r\n plusSubscriptionJackpot: this.plusSubscriptionJackpot(),\r\n drawDays: this.drawDays(),\r\n numbersPerRowMax: this.numbersPerRowMax(),\r\n };\r\n }.bind(this);\r\n\r\n this.getRowAmount = function () {\r\n var playType = this.playType();\r\n\r\n if (playType === 'Lightning') {\r\n return this.rowsToGenerate();\r\n }\r\n\r\n // Classic:\r\n return this.getRows(true).length;\r\n }.bind(this);\r\n\r\n this.totalPrice = function () {\r\n var data = AllOrNothingInfo.data();\r\n var rowAmount = this.getRowAmount();\r\n var price = 0;\r\n\r\n for (var i = 0; i < this.numberOfDraws(); i++) {\r\n price += rowAmount * (data.draws && data.draws[i] && data.draws[i].rowPrice ? data.draws[i].rowPrice : 0);\r\n }\r\n\r\n return price;\r\n }.bind(this);\r\n\r\n });\r\n\r\n // Extensions:\r\n AllOrNothingGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.gameInstanceId) {\r\n game = AllOrNothingGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = AllOrNothingGame.construct(options, options.state || 'new');\r\n }\r\n\r\n return game;\r\n };\r\n\r\n // Public functions:\r\n return AllOrNothingGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Keno/Scripts/Helpers/KenoDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n\r\n // Variables:\r\n var kenoDictionary = new Dictionary('/NumberGames/Keno');\r\n\r\n // Public functions:\r\n return kenoDictionary;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Keno/Scripts/Helpers/KenoUtils',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils'\r\n ],\r\n function (Utils) {\r\n\r\n // Functions:\r\n var gotoKenoClosed = function (replace) {\r\n if (!window.sitecoreEnv && location.search.indexOf('avoid_redirect') === -1) {\r\n var url = '/keno/lukket';\r\n\r\n if (replace) {\r\n try {\r\n window.history.replaceState({}, 'Keno Lukket', url);\r\n } catch (error) {\r\n // Nothing to handle here, just proceed to location.href\r\n }\r\n }\r\n\r\n location.href = url;\r\n }\r\n };\r\n\r\n // Public functions:\r\n return {\r\n gotoKenoClosed: gotoKenoClosed,\r\n formatCurrency: Utils.formatCurrency,\r\n formatNumber: Utils.formatNumber,\r\n formatISO8601: Utils.formatISO8601,\r\n parseISO8601: Utils.parseISO8601,\r\n getQueryParam: Utils.getQueryParam,\r\n prepareParamString: Utils.prepareParamString,\r\n getLongDate: Utils.getLongDate,\r\n isMobile: Utils.isMobile,\r\n isTabletDevice: Utils.isTabletDevice,\r\n openCoupon: Utils.openCoupon\r\n };\r\n\r\n });\r\n\r\n","defineDs('DanskeSpil/Domain/Keno/Scripts/Helpers/KenoApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoUtils'\r\n ],\r\n function (m, ApiRequest, KenoUtils) {\r\n\r\n // Variables:\r\n var baseURL = '/dlo/scapi/danskespil/numbergames/keno';\r\n\r\n // Functions:\r\n var prepareParamString = KenoUtils.prepareParamString;\r\n\r\n var createCoupon = function (data) {\r\n var deferred = m.deferred();\r\n\r\n var req = ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/coupon',\r\n data: data\r\n });\r\n\r\n req.then(function (response) {\r\n response = response || {};\r\n\r\n if (response && !response.Message) {\r\n deferred.resolve(response);\r\n } else {\r\n deferred.reject(response);\r\n }\r\n }, function (response) {\r\n response = response || {};\r\n response.Message = response.Message || 'ERROR_NOT_GIVEN';\r\n deferred.reject(response);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getCompletedDrawDates = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/completedDrawDates' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response && response.drawDates ? response.drawDates : [];\r\n }\r\n });\r\n };\r\n\r\n var getCompletedDraws = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/completedDrawDates' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response && response.draws ? response.draws : [];\r\n }\r\n });\r\n };\r\n\r\n var getWinningNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/winningNumbers' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n // SUPPE!\r\n var getKenoSystemTables = function () {\r\n return ApiRequest({\r\n url: '/Components/DanskeSpil/Domain/Keno/Scripts/kenoSystemTableJson.txt',\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response.systemTables;\r\n }\r\n });\r\n };\r\n\r\n var getKenoInfo = function () {\r\n var params = KenoUtils.prepareParamString({});\r\n\r\n return ApiRequest({\r\n url: baseURL + params\r\n });\r\n };\r\n\r\n var getRandomNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.rows) {\r\n response.rows.map(function (d) {\r\n rows.push(d.numbers);\r\n });\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getCoupon = function (couponId) {\r\n var params = prepareParamString({ couponId: couponId });\r\n\r\n return ApiRequest({\r\n url: baseURL + '/coupon' + params\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n createCoupon: createCoupon,\r\n getCompletedDrawDates: getCompletedDrawDates,\r\n getCompletedDraws: getCompletedDraws,\r\n getKenoSystemTables: getKenoSystemTables,\r\n getKenoInfo: getKenoInfo,\r\n getRandomNumbers: getRandomNumbers,\r\n getWinningNumbers: getWinningNumbers,\r\n getCoupon: getCoupon\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n [\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoApi',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n\r\n ],\r\n function (KenoApi, m, Storage) {\r\n\r\n // Variables:\r\n var data = m.prop({});\r\n var isFeedDown = m.prop(false);\r\n var noOpenDraw = m.prop(false);\r\n var ready = m.deferred();\r\n\r\n // Functions:\r\n var getStakeOptions = function () {\r\n return data().stakeOptions ? data().stakeOptions.map(function (v) { return v.Value; }) : [];\r\n };\r\n\r\n var getStakeDefault = function () {\r\n var defaults = data().stakeOptions ? data().stakeOptions.filter(function (v) { return v.IsDefault; }).map(function (v) { return v.Value; }) : [];\r\n return defaults[0] || null;\r\n };\r\n\r\n // Draw Repeat Options:\r\n\r\n var getDrawRepeatOptions = function () {\r\n var options = data().drawRepeatOptions && data().drawRepeatOptions.options ? data().drawRepeatOptions.options : [];\r\n\r\n // Filter: Draw repeat value should not be higher than known amount of upcomming draws\r\n options = options.filter(function (v) {\r\n return v <= data().draws.length;\r\n });\r\n\r\n // Sort\r\n options.sort(function (a, b) { return a > b ? 1 : -1; });\r\n\r\n return options;\r\n };\r\n\r\n var getDrawRepeatDefault = function () {\r\n return data().drawRepeatOptions && data().drawRepeatOptions.default ? data().drawRepeatOptions.default : 1;\r\n };\r\n\r\n var getChanceRatio = function (rowLength) {\r\n var prizes = null;\r\n\r\n for (var i = 0; i < data().prizes.length; i++) {\r\n if (data().prizes[i].rowLength == rowLength) {\r\n prizes = data().prizes[i];\r\n }\r\n }\r\n\r\n return prizes ? prizes.chanceRatio : null;\r\n };\r\n\r\n var getPrizeGroups = function (rowLength) {\r\n if (typeof data().prizes !== 'undefined') {\r\n\r\n // Find right price group\r\n var prizes = null;\r\n\r\n for (var i = 0; i < data().prizes.length; i++) {\r\n if (data().prizes[i].rowLength == rowLength) {\r\n prizes = data().prizes[i];\r\n }\r\n }\r\n\r\n // Build output structure\r\n if (prizes) {\r\n var prizeGroups = {};\r\n\r\n for (var j = 0; j < prizes.prizeGroups.length; j++) {\r\n var record = prizes.prizeGroups[j];\r\n\r\n prizeGroups[record.correctNumbers] = record.winning;\r\n }\r\n\r\n return prizeGroups;\r\n }\r\n }\r\n\r\n return null;\r\n };\r\n\r\n // Open draw:\r\n var getOpenDraw = function () {\r\n return data().openDraw;\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 && typeof json.openDraw !== 'undefined') {\r\n return true;\r\n }\r\n } catch (e) { }\r\n\r\n return false;\r\n };\r\n\r\n var storeToCache = function (json) {\r\n // Store with TTL 2 min.\r\n Storage.set('KenoInfoFeed', json ? JSON.stringify(json) : null, 120);\r\n };\r\n\r\n // Initialize:\r\n var init = function () {\r\n\r\n // 1) LOOK IN DOM\r\n\r\n var $kenoFeedData = document.querySelector('#keno-info');\r\n if ($kenoFeedData) {\r\n var domData = $kenoFeedData.innerHTML;\r\n\r\n if (feedValid(domData)) {\r\n var domJson = JSON.parse(domData);\r\n data(domJson);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n // Store to cache\r\n storeToCache(domJson);\r\n ready.resolve();\r\n return;\r\n }\r\n }\r\n\r\n\r\n // 2) LOOK IN LOCALSTORAGE\r\n var cacheData = Storage.get('KenoInfoFeed');\r\n\r\n if (!cacheData || !feedValid(cacheData)) {\r\n // Clear cache\r\n storeToCache(null);\r\n } else {\r\n // Use cache\r\n data(JSON.parse(cacheData));\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n ready.resolve();\r\n return;\r\n }\r\n\r\n // 3) LOAD INFO FROM FEED\r\n\r\n KenoApi.getKenoInfo().then(function (d) {\r\n data(d);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n // Store to cache\r\n storeToCache(d);\r\n\r\n ready.resolve();\r\n }, function () {\r\n isFeedDown(true);\r\n noOpenDraw(true);\r\n\r\n ready.resolve();\r\n\r\n console.error('### KENOINFO FEED DOWN ###');\r\n });\r\n };\r\n\r\n init();\r\n\r\n // Public functions:\r\n return {\r\n data: data,\r\n getOpenDraw: getOpenDraw,\r\n isFeedDown: isFeedDown,\r\n noOpenDraw: noOpenDraw,\r\n ready: ready.promise,\r\n getStakeOptions: getStakeOptions,\r\n getStakeDefault: getStakeDefault,\r\n getDrawRepeatOptions: getDrawRepeatOptions,\r\n getDrawRepeatDefault: getDrawRepeatDefault,\r\n getPrizeGroups: getPrizeGroups,\r\n getChanceRatio: getChanceRatio\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoApi',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoUtils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (m, Model, KenoApi, KenoInfo, KenoUtils, DataLayer) {\r\n\r\n // Model:\r\n var KenoGame = Model('KenoGame', function (content) {\r\n\r\n // Constants:\r\n this.classicMaxRows = m.prop(50);\r\n this.numbersPerRowMin = m.prop(2);\r\n this.numbersPerRowMax = m.prop(10);\r\n this.numbersIntervalMax = m.prop(70);\r\n this.stakeOptions = m.prop(KenoInfo.getStakeOptions());\r\n this.numberOfDrawsOptions = m.prop(KenoInfo.getDrawRepeatOptions());\r\n this.ready = m.prop(m.deferred());\r\n this.rebuyCouponId = m.prop(content.rebuyCouponId || null);\r\n this.verticalType = m.prop(content.verticalType);\r\n // drawDays is an array of booleans, where each index represents a day of the week, starting with Monday\r\n this.drawDays = m.prop([true, true, true, true, true, true, true]);\r\n\r\n // Data:\r\n this.status = m.prop(content.status || 'open');\r\n this.playType = m.prop(content.playType || null);\r\n this.stakePerRow = m.prop(content.stakePerRow || KenoInfo.getStakeDefault()); // Required by PurchaseBar\r\n this.numberOfDraws = m.prop(typeof content.numberOfDraws === 'undefined' ? KenoInfo.getDrawRepeatDefault() : content.numberOfDraws); // Required by PurchaseBar\r\n this.numberOfNumbersPerRow = m.prop(content.numberOfNumbersPerRow || 9);\r\n this.rows = m.prop(content.rows || []);\r\n this.rowsToGenerate = m.prop(content.rowsToGenerate || 0);\r\n this.systemLevel = m.prop(content.systemLevel || (this.playType() === 'System' ? 2 : null)); // Required by KenoSystem\r\n this.startUrl = m.prop(content.startUrl || window.location.href.split('?')[0]);\r\n this.purchaseTracked = m.prop(content.purchaseTracked || false);\r\n this.couponId = m.prop(content.couponId || null);\r\n this.isProductDetailsTracked = m.prop(content.isProductDetailsTracked || false);\r\n this.isAddToCartTracked = m.prop(content.isAddToCartTracked || false);\r\n this.isPurchaseCompleteTracked = m.prop(content.isPurchaseCompleteTracked || false);\r\n this.plusSubscriptionJackpot = m.prop(content.plusSubscriptionJackpot || null);\r\n this.firstDepositInfo = m.prop(content.firstDepositInfo || null);\r\n\r\n // Functions - For manipulating rows:\r\n this.rowCount = function () {\r\n var count = 0;\r\n var rows = this.rows();\r\n var amount = rows.length;\r\n\r\n for (var i = 0; i < amount; i++) {\r\n var row = rows[i];\r\n\r\n if (row.count > count) {\r\n count = row.count + 1;\r\n } else {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }.bind(this);\r\n\r\n this.sortRow = function (numbers) {\r\n numbers.sort(function (a, b) {\r\n return a.number < b.number ? -1 : 1;\r\n });\r\n\r\n return numbers;\r\n };\r\n\r\n this.addNumber = function (row, number, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n row.numbers.push({ number: number, autogenerated: autogenerated || false });\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var index = -1;\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n index = i;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n row.numbers.splice(index, 1);\r\n }\r\n\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addRow = function (numbers) {\r\n numbers = numbers || [];\r\n\r\n var count = this.rowCount();\r\n\r\n this.rows().push({ count: count, numbers: numbers, state: 'clean' });\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeRow = function (row) {\r\n var rows = this.rows();\r\n\r\n rows.splice(row - 1, 1);\r\n\r\n this.rows(rows);\r\n\r\n if (rows.length === 0) {\r\n this.addRow();\r\n }\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeAllRows = function () {\r\n this.rows([]);\r\n\r\n // We need double rows, as we're practically resetting the rows to original state\r\n this.addRow();\r\n this.addRow();\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.resetRow = function (rowNumber) {\r\n var row = this.getRow(rowNumber);\r\n\r\n row.numbers = [];\r\n row.state = 'clean';\r\n\r\n this.setRow(rowNumber, row);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setRow = function (row, content) {\r\n var rows = this.rows();\r\n\r\n rows[row - 1] = content;\r\n\r\n this.rows(rows);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.autogenerate = function (rowNumber, rowLength) { // Autogenerates a specific row\r\n var deferred = m.deferred();\r\n var row = this.getRow(rowNumber);\r\n var nextRow = this.getRow(rowNumber + 1);\r\n var numbers = [];\r\n var self = this;\r\n\r\n // Prepare list of existing user selected numbers\r\n for (var i = 0; i < row.numbers.length; i++) {\r\n var number = row.numbers[i];\r\n\r\n if (!number.autogenerated) {\r\n numbers.push(number.number);\r\n }\r\n }\r\n\r\n KenoApi.getRandomNumbers({ playType: this.playType(), rowsToGenerate: 1, rowLength: rowLength, requiredNumbers: numbers }).then(function (rows) {\r\n rows = rows[0];\r\n\r\n for (var i = 0; i < rowLength; i++) {\r\n var generated = rows[i];\r\n\r\n if (numbers.indexOf(generated) === -1) {\r\n self.addNumber(rowNumber, generated, true);\r\n }\r\n }\r\n\r\n if (rowLength > 1 && !nextRow) {\r\n self.addRow();\r\n }\r\n\r\n deferred.resolve();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.gameAutogenerate = function () { // Autogenerate a whole set of rows\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n if (['KenoSmall', 'KenoLarge', 'KenoMillion'].indexOf(this.playType()) == -1) {\r\n console.error('fastPlayAutogenerate only support KenoSmall, KenoLarge and KenoMillion');\r\n\r\n return;\r\n }\r\n\r\n // Generate new rows:\r\n KenoApi.getRandomNumbers({ playType: this.playType() }).then(function (rows) {\r\n self.rows = m.prop([]);\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.map(function (number) { return { number: number, autogenerated: true }; });\r\n\r\n self.addRow(numbers);\r\n }\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n // Functions for stake and number of draws:\r\n\r\n this.setNumberOfDraws = function (draws) {\r\n this.numberOfDraws(draws);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setStakePerRow = function (stake) {\r\n this.stakePerRow(stake);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n // Functions for KenoSystem:\r\n this.getSystemString = function () {\r\n var level = this.systemLevel();\r\n var row = this.getRow(1);\r\n var numbers = row && row.numbers ? row.numbers.length : 0;\r\n\r\n if (numbers + 1 < level) {\r\n return 'invalid';\r\n }\r\n\r\n return 'K ' + level + '-' + numbers;\r\n }.bind(this);\r\n\r\n this.getSystemCombinationAmount = function () {\r\n var row = this.getRow(1);\r\n\r\n if (!this.systemLevel() || !row || row.numbers.length <= this.systemLevel()) {\r\n return 0;\r\n }\r\n\r\n var table = {\r\n 2: [3, 6, 10, 15, 21, 28, 36, 45],\r\n 3: [4, 10, 20, 35, 56, 84, 120],\r\n 4: [5, 15, 35, 70, 126, 210],\r\n 5: [6, 21, 56, 126, 252],\r\n 6: [7, 28, 84, 210],\r\n 7: [8, 36, 120],\r\n 8: [9, 45],\r\n 9: [10]\r\n };\r\n\r\n var combinations = table[this.systemLevel()];\r\n var index = row.numbers.length - this.systemLevel() - 1;\r\n\r\n return combinations[index];\r\n }.bind(this);\r\n\r\n // Functions for purchase:\r\n\r\n this.purchase = function (params) {\r\n params = params || {};\r\n\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n if (this.status() != 'open') {\r\n deferred.reject();\r\n } else if (!params.drawId) {\r\n console.error('No drawId given.');\r\n\r\n deferred.reject({ errorMessage: 'NUMBERGAMES.NO_OPEN_DRAW' });\r\n } else {\r\n this.status('pending-confirmation');\r\n this.save();\r\n\r\n var rows = this.getRowsSummary();\r\n var rowNumbers = rows.map(function (row) { return { numbers: row }; });\r\n\r\n var options = {\r\n drawId: params.drawId,\r\n totalPrice: parseInt(self.totalPrice(), 10),\r\n multidraw: parseInt(self.numberOfDraws(), 10),\r\n pricePerRow: parseInt(self.stakePerRow(), 10),\r\n playType: this.playType() || null,\r\n rows: rowNumbers,\r\n salesChannel: (KenoUtils.isMobile() || KenoUtils.isTabletDevice()) ? 'mobile' : 'web'\r\n };\r\n\r\n // Prize notification - register only enabling\r\n if (params.notifyPrizeEmail) {\r\n options.notifyPrizeEmail = true;\r\n }\r\n if (params.notifyPrizeSms) {\r\n options.notifyPrizeSms = true;\r\n }\r\n\r\n // System\r\n if (this.playType() === 'KenoSystem') {\r\n options.system = this.getSystemString();\r\n }\r\n\r\n // Create request\r\n var request = KenoApi.createCoupon(options);\r\n\r\n request.then(function (data) {\r\n self.status('completed');\r\n self.couponId(data.couponId);\r\n\r\n self.save();\r\n\r\n console.debug('Keno Coupon SUCCESS response', data);\r\n\r\n deferred.resolve(data);\r\n }, function (data) {\r\n self.status('open');\r\n\r\n self.save();\r\n\r\n console.debug('Keno Coupon ERROR');\r\n\r\n deferred.reject(data);\r\n });\r\n\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.sendToSubscription = function () {\r\n // Tracking for DataLayer\r\n this.trackingAddToCart('plus');\r\n\r\n window.location.href = '/plus-abonnement/se-kurv?plus&mcGameType=keno&mcGameId=' + this.id();\r\n }.bind(this);\r\n\r\n // Functions - For tracking (DataLayer eCommerce buzzword)\r\n\r\n this.createDataLayerProduct = function (subscription, event) {\r\n // Product array for datalayer\r\n var dataLayerProducts = [];\r\n\r\n // Main product\r\n var product = {};\r\n\r\n if (subscription) {\r\n // subscription product (PLUS abonnement)\r\n product.name = 'plus';\r\n product.price = this.stakePerRow().toString();\r\n product.brand = 'dlo_plu';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('plus_keno', this.numberOfDraws(), this.playType());\r\n product.quantity = this.getRowAmount();\r\n for (var i = 0; i < 7; i++) { // 7 is for the number of days in a week.\r\n dataLayerProducts.push(product);\r\n }\r\n } else {\r\n product.name = 'keno';\r\n product.price = DataLayer.rowPrice(this.stakePerRow(), this.numberOfDraws(), this.playType());\r\n product.brand = 'dlo_ken';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('keno', this.numberOfDraws(), this.playType());\r\n if (event != 'productDetails') {\r\n product.quantity = DataLayer.quantity('keno', this.getRowsSummary().length, this.playType(), this.getSystemCombinationAmount());\r\n }\r\n dataLayerProducts.push(product);\r\n }\r\n\r\n return dataLayerProducts;\r\n };\r\n\r\n this.trackingAddToCart = function () {\r\n // Check if the event has already been pushed\r\n if (this.isAddToCartTracked() == false) {\r\n this.isAddToCartTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n DataLayer.addToCart(this.createDataLayerProduct());\r\n } else {\r\n console.warn('addToCart has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingProductDetails = function () {\r\n // Check if the event has already been pushed\r\n if (this.isProductDetailsTracked() == false) {\r\n this.isProductDetailsTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n DataLayer.productDetail(this.createDataLayerProduct(false, 'productDetails'));\r\n } else {\r\n console.warn('productDetails has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingPurchaseComplete = function () {\r\n\r\n if (this.isPurchaseCompleteTracked() == false) {\r\n this.isPurchaseCompleteTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer purchaseComplete Event\r\n DataLayer.purchaseCompleted({\r\n totalPrice: this.totalPrice().toString(),\r\n id: this.couponId()\r\n }, this.createDataLayerProduct());\r\n } else {\r\n console.warn('purchaseCompleted has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n // Functions - For extracting data:\r\n\r\n this.getRow = function (row) {\r\n // Notice that row param starts with index 1\r\n return this.rows()[row - 1];\r\n }.bind(this);\r\n\r\n this.getRows = function (minimumRowLength) {\r\n if (typeof minimumRowLength === 'undefined') {\r\n minimumRowLength = 1;\r\n }\r\n\r\n var rows = this.rows();\r\n\r\n return rows.filter(function (row) {\r\n return (row.state !== 'remove' && row.numbers.length > minimumRowLength);\r\n });\r\n }.bind(this);\r\n\r\n this.hasNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }.bind(this);\r\n\r\n this.calculateWinnings = function (row) {\r\n row = this.getRow(row);\r\n\r\n var prizeGroup = KenoInfo.getPrizeGroups(row.numbers.length);\r\n var values = prizeGroup ? Object.keys(prizeGroup).map(function (key) { return prizeGroup[key]; }) : [0];\r\n var multiplier = Math.max.apply(null, values);\r\n\r\n return multiplier * this.stakePerRow();\r\n }.bind(this);\r\n\r\n this.drawDateHtml = function (delimiter) {\r\n delimiter = delimiter || ' - ';\r\n\r\n if (!KenoInfo.data().openDraw) {\r\n return '';\r\n }\r\n\r\n var closingTime = KenoInfo.data().openDraw.closingTime;\r\n var draws = this.numberOfDraws();\r\n\r\n var date = new Date(closingTime);\r\n\r\n var result = KenoUtils.formatISO8601(date.toISOString(), { includeTime: false });\r\n\r\n if (draws > 1) {\r\n date.setDate(date.getDate() + (draws - 1));\r\n result = '' + result + delimiter + KenoUtils.formatISO8601(date.toISOString(), { includeTime: false }) + '';\r\n }\r\n\r\n return result;\r\n }.bind(this);\r\n\r\n this.drawDateHtmlShort = function () {\r\n var dates = this.drawDates();\r\n var firstDate = dates[0];\r\n var lastDate = dates[dates.length - 1];\r\n\r\n // if there's more than one date, output the range. otherwise output the first date.\r\n if (dates.length > 1) {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' - ' + lastDate.draw.getDate() + '/' + (lastDate.draw.getMonth() + 1) + ' ' + lastDate.draw.getFullYear();\r\n } else {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' ' + firstDate.draw.getFullYear();\r\n }\r\n }.bind(this);\r\n\r\n this.drawDates = function () {\r\n var drawDates = [];\r\n var openDraw = KenoInfo.data().openDraw;\r\n var draws = this.numberOfDraws();\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n var closingTime = openDraw.closingTime;\r\n\r\n while (draws--) {\r\n var futureDate = new Date(closingTime);\r\n futureDate.setDate(futureDate.getDate() + draws);\r\n drawDates.push({\r\n draw: futureDate,\r\n hasJoker: false\r\n });\r\n }\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n }.bind(this);\r\n\r\n this.getRowsSummary = function () { // Required by PurchaseBar\r\n var summary = [];\r\n var rows = this.getRows();\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i].numbers.map(function (numbers) { return numbers.number; });\r\n\r\n summary.push(row);\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getRowAmount = function () {\r\n var numberOfDraws = this.numberOfDraws();\r\n var playType = this.playType();\r\n\r\n if (playType === 'KenoSystem') {\r\n return this.getSystemCombinationAmount();\r\n }\r\n\r\n return playType === 'Lightning' && numberOfDraws > 0 ? this.rowsToGenerate() : this.getRows().length;\r\n }.bind(this);\r\n\r\n this.totalPrice = function () {\r\n var numberOfDraws = this.numberOfDraws();\r\n var playType = this.playType();\r\n var stakePerRow = this.stakePerRow();\r\n\r\n if (playType === 'KenoSystem') {\r\n return stakePerRow * this.getSystemCombinationAmount() * numberOfDraws;\r\n }\r\n\r\n var rowsCount = this.getRowAmount();\r\n var price = stakePerRow * rowsCount;\r\n\r\n if (numberOfDraws > 0) {\r\n price *= numberOfDraws;\r\n }\r\n\r\n return price;\r\n }.bind(this);\r\n\r\n this.trackPurchase = function () {\r\n var self = this;\r\n\r\n if (!self.purchaseTracked() && self.status() == 'completed') {\r\n window.DSAPI && DSAPI.ready(function () {\r\n self.purchaseTracked(true);\r\n });\r\n\r\n this.trackingPurchaseComplete();\r\n }\r\n }.bind(this);\r\n\r\n this.cancelUrl = function () {\r\n if (this.rebuyCouponId()) {\r\n // This is called when going from confirm page, back to completed games overview page.\r\n return this.startUrl();\r\n }\r\n\r\n // This is called when going from confirm page, back to game.\r\n return this.startUrl() + '?gameInstanceId=' + this.id();\r\n }.bind(this);\r\n\r\n this.copyFromOldCoupon = function () {\r\n var self = this;\r\n\r\n KenoApi.getCoupon(this.rebuyCouponId()).then(function (data) {\r\n self.numberOfDraws(!data.multiWagers ? 1 : data.multiWagers.length);\r\n self.playType((data.playType.substring(0, 4) === 'Keno' ? '' : 'Keno') + data.playType.charAt(0).toUpperCase() + data.playType.slice(1));\r\n self.systemLevel(data.systemLevel);\r\n\r\n // playType System fix:\r\n if (!self.playType() || self.playType() === 'KenoUnknown') {\r\n self.playType(self.systemLevel() ? 'KenoSystem' : 'KenoClassic');\r\n }\r\n\r\n data.games.forEach(function (game) {\r\n var rowNumbers = [];\r\n\r\n // Classic, Million, Small and Large:\r\n if (self.playType() === 'KenoClassic' || self.playType() === 'KenoMillion' || self.playType() === 'KenoSmall' || self.playType() === 'KenoLarge') {\r\n\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n });\r\n\r\n self.stakePerRow(data.price / self.getRowsSummary().length);\r\n\r\n\r\n // System:\r\n } else if (self.playType() === 'KenoSystem') {\r\n rowNumbers = { count: 0, numbers: [], state: 'clean' };\r\n\r\n game.systemNumbers.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n\r\n self.stakePerRow(data.price / self.getSystemCombinationAmount());\r\n\r\n }\r\n\r\n });\r\n\r\n self.save();\r\n\r\n self.ready().resolve();\r\n }, function () {\r\n self.ready().reject('coupon-not-found');\r\n });\r\n }.bind(this);\r\n\r\n this.toJSON = function () {\r\n return {\r\n id: this.id(),\r\n state: this.state(),\r\n status: this.status(),\r\n playType: this.playType(),\r\n stakePerRow: this.stakePerRow(),\r\n numberOfDraws: this.numberOfDraws(),\r\n numberOfNumbersPerRow: this.numberOfNumbersPerRow(),\r\n rows: this.rows(),\r\n rowsToGenerate: this.rowsToGenerate(),\r\n systemLevel: this.systemLevel(),\r\n startUrl: this.startUrl(),\r\n purchaseTracked: this.purchaseTracked(),\r\n couponId: this.couponId(),\r\n isProductDetailsTracked: this.isProductDetailsTracked(),\r\n isAddToCartTracked: this.isAddToCartTracked(),\r\n isPurchaseCompleteTracked: this.isPurchaseCompleteTracked(),\r\n firstDepositInfo: this.firstDepositInfo(),\r\n plusSubscriptionJackpot: this.plusSubscriptionJackpot(),\r\n drawDays: this.drawDays(),\r\n };\r\n }.bind(this);\r\n\r\n // Init:\r\n this.init = function () {\r\n\r\n // Rebuy coupon:\r\n if (this.rebuyCouponId() && this.state() === 'new') {\r\n this.copyFromOldCoupon();\r\n\r\n // Regular coupon:\r\n } else {\r\n if (this.state() === 'new') {\r\n this.addRow();\r\n }\r\n\r\n this.ready().resolve();\r\n }\r\n\r\n }.bind(this);\r\n\r\n });\r\n\r\n KenoGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.gameInstanceId) {\r\n game = KenoGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = KenoGame.construct(options, options.state || 'new');\r\n }\r\n\r\n return game;\r\n };\r\n\r\n\r\n // Public functions:\r\n return KenoGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n\r\n // Variables:\r\n var eurojackpotDictionary = new Dictionary('/NumberGames/Eurojackpot');\r\n\r\n // Public functions:\r\n return eurojackpotDictionary;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotUtils',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils'\r\n ],\r\n function (Utils) {\r\n\r\n // Public functions:\r\n return {\r\n formatCurrency: Utils.formatCurrency,\r\n formatNumber: Utils.formatNumber,\r\n parseISO8601: Utils.parseISO8601,\r\n formatISO8601: Utils.formatISO8601,\r\n getQueryParam: Utils.getQueryParam,\r\n prepareParamString: Utils.prepareParamString,\r\n getLongDate: Utils.getLongDate,\r\n isMobile: Utils.isMobile,\r\n isTabletDevice: Utils.isTabletDevice,\r\n openCoupon: Utils.openCoupon\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotUtils'\r\n ],\r\n function (m, ApiRequest, EurojackpotUtils) {\r\n\r\n // Variables:\r\n var baseURL = '/dlo/scapi/danskespil/numbergames/eurojackpot';\r\n var baseJokerURL = '/dlo/scapi/danskespil/numbergames/joker';\r\n\r\n // Functions:\r\n var prepareParamString = EurojackpotUtils.prepareParamString;\r\n\r\n var createCoupon = function (data) {\r\n var deferred = m.deferred();\r\n\r\n var req = ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/coupon',\r\n data: data\r\n });\r\n\r\n req.then(function (response) {\r\n response = response || {};\r\n\r\n if (response && !response.Message) {\r\n deferred.resolve(response);\r\n } else {\r\n deferred.reject(response);\r\n }\r\n }, function (response) {\r\n response = response || { Message: 'ERROR_NOT_GIVEN' };\r\n\r\n deferred.reject(response);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getEurojackpotInfo = function () {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/gameInformation'\r\n });\r\n };\r\n\r\n var getCompletedDrawDates = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/completedDrawDates' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response || [];\r\n }\r\n });\r\n };\r\n\r\n var getEurojackpotWinningNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/winningNumbers' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n\r\n var getJokerWinningNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n var endpointUrl;\r\n\r\n if (options.jokerType === 'JokerSaturday') {\r\n endpointUrl = baseJokerURL + 'saturday/winningNumbers' + params;\r\n } else {\r\n endpointUrl = baseJokerURL + 'wednesday/winningNumbers' + params;\r\n }\r\n\r\n return ApiRequest({\r\n method: 'GET',\r\n url: endpointUrl,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getRandomNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/random' + params,\r\n background: true,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.rows) {\r\n response.rows.map(function (row) {\r\n rows.push({ numbers: row.numbers, starNumbers: row.starNumbers });\r\n });\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getSystemKeys = function (systemName) {\r\n var deferred = m.deferred();\r\n var params = prepareParamString({ systemName: systemName });\r\n\r\n ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/gameSystemKeys' + params,\r\n localCacheTTL: 60 * 60 * 24 * 30, // 30 days\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n }).then(function (data) {\r\n if (data.keys) {\r\n deferred.resolve(data.keys);\r\n } else {\r\n deferred.reject();\r\n }\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getSystemWinningProbabilities = function (systemName) {\r\n var deferred = m.deferred();\r\n var params = prepareParamString({ systemName: systemName });\r\n\r\n ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/gameSystemwinningprobabilities' + params,\r\n localCacheTTL: 60 * 60 * 24, // 1 day\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n }).then(function (data) {\r\n if (data) {\r\n deferred.resolve(data);\r\n } else {\r\n deferred.reject();\r\n }\r\n }, function (error) {\r\n deferred.reject(error);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getCoupon = function (couponId) {\r\n var options = { couponId: couponId };\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/coupon' + params\r\n });\r\n };\r\n\r\n var getRandomJokerNumbers = function (type, options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseJokerURL + type.toLowerCase() + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.length > 0) {\r\n for (var i = 0; i < response.length; i++) {\r\n rows.push(response[i].split(''));\r\n }\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getSubscribeReminder = function () {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/subscribeReminder'\r\n });\r\n };\r\n\r\n var setSubscribeReminder = function (subscribe) {\r\n return ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/subscribeReminder?subscribe=' + subscribe\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n createCoupon: createCoupon,\r\n getCompletedDrawDates: getCompletedDrawDates,\r\n getEurojackpotInfo: getEurojackpotInfo,\r\n getEurojackpotWinningNumbers: getEurojackpotWinningNumbers,\r\n getJokerWinningNumbers: getJokerWinningNumbers,\r\n getSystemWinningProbabilities: getSystemWinningProbabilities,\r\n getRandomNumbers: getRandomNumbers,\r\n getSystemKeys: getSystemKeys,\r\n getCoupon: getCoupon,\r\n getRandomJokerNumbers: getRandomJokerNumbers,\r\n getSubscribeReminder: getSubscribeReminder,\r\n setSubscribeReminder: setSubscribeReminder,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotApi',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (m, EurojackpotApi, Storage) {\r\n\r\n // Variables:\r\n var data = m.prop({});\r\n var isFeedDown = m.prop(false);\r\n var jokerData = m.prop({});\r\n var noOpenDraw = m.prop(false);\r\n var ready = m.deferred();\r\n\r\n var playSystems = m.prop();\r\n\r\n // Functions:\r\n\r\n // Draw repeat Options:\r\n var getDrawRepeatOptions = function () {\r\n var options = data().drawRepeatOptions && data().drawRepeatOptions.options ? data().drawRepeatOptions.options : [];\r\n\r\n // Filter: Draw repeat value should not be higher than known amount of upcomming draws\r\n options = options.filter(function (v) {\r\n return v <= data().draws.length;\r\n });\r\n\r\n // Sort\r\n options.sort(function (a, b) { return a > b ? 1 : -1; });\r\n\r\n return options;\r\n };\r\n\r\n var getDrawRepeatMax = function () {\r\n return data().drawRepeatMax;\r\n };\r\n\r\n var getDrawRepeatDefault = function () {\r\n return data().drawRepeatOptions && data().drawRepeatOptions.default ? data().drawRepeatOptions.default : 1;\r\n };\r\n\r\n var getJokerPrice = function () {\r\n var dayData = jokerData().jokerWednesday || jokerData().jokerSaturday;\r\n\r\n if (dayData && dayData.openDraw && dayData.openDraw.rowPrice) {\r\n return dayData.openDraw.rowPrice;\r\n }\r\n\r\n return dayData && dayData.draws && dayData.draws[0] && dayData.draws[0].rowPrice ? dayData.draws[0].rowPrice : 0;\r\n };\r\n\r\n // Classic Options:\r\n const getClassicOptions = function () {\r\n return data().classicOptions?.options || [1, 2, 3, 4, 5, 10, 20, 50];\r\n };\r\n\r\n const getClassicDefaultRowCount = function () {\r\n return data().classicOptions?.default || 5;\r\n };\r\n\r\n // Lightning Options:\r\n var getLightningOptions = function () {\r\n return data().lightningOptions && data().lightningOptions.options ? data().lightningOptions.options : [];\r\n };\r\n\r\n var getLightningDefaultRowCount = function () {\r\n return data().lightningOptions && data().lightningOptions.default ? data().lightningOptions.default : 0;\r\n };\r\n\r\n // Lucky options:\r\n var getLuckyRowOptions = function () {\r\n return data().luckyOptions && data().luckyOptions.options ? data().luckyOptions.options : [10, 20, 30, 40, 50];\r\n };\r\n\r\n var getLuckyDefaultRowCount = function () {\r\n return data().luckyOptions && data().luckyOptions.default ? data().luckyOptions.default : 10;\r\n };\r\n\r\n // Play systems:\r\n var getPlaySystems = function () {\r\n if (playSystems()) {\r\n // Cache\r\n return playSystems();\r\n }\r\n\r\n var systemNames = data().playSystems;\r\n playSystems(systemNames.map(function (name) {\r\n var splitted = name.split(' ');\r\n var counts = splitted[1].split('-');\r\n return ({ name: name, type: splitted[0], selectedNumbersCount: counts[0], rowsCount: counts[1] });\r\n }));\r\n\r\n return playSystems();\r\n }.bind(this);\r\n\r\n var getSystemNames = function (type) {\r\n var systems = getPlaySystems();\r\n var names = [];\r\n\r\n for (var i = 0; i < systems.length; i++) {\r\n if (!type || systems[i].type === type) {\r\n names.push(systems[i].name);\r\n }\r\n }\r\n\r\n return names;\r\n }.bind(this);\r\n\r\n // Open draw:\r\n var getOpenDraw = function () {\r\n return data().openDraw;\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 && typeof json.eurojackpot.openDraw !== 'undefined') {\r\n return true;\r\n }\r\n } catch (e) { }\r\n\r\n return false;\r\n };\r\n\r\n var storeToCache = function (json) {\r\n // Store with TTL 2 min.\r\n Storage.set('EurojackpotInfoFeed', json ? JSON.stringify(json) : null, 120);\r\n };\r\n\r\n // Initialize:\r\n var init = function () {\r\n\r\n // 1) LOOK IN DOM\r\n var $eurojackpotFeedData = document.querySelector('#eurojackpot-info');\r\n if ($eurojackpotFeedData) {\r\n var domData = $eurojackpotFeedData.innerHTML;\r\n\r\n if (feedValid(domData)) {\r\n var domJson = JSON.parse(domData);\r\n\r\n data(domJson.eurojackpot);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n jokerData({\r\n jokerSaturday: domJson.jokerSaturday,\r\n jokerWednesday: domJson.jokerWednesday\r\n });\r\n\r\n // Store to cache\r\n storeToCache(domJson);\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n }\r\n\r\n // 2) LOOK IN LOCALSTORAGE\r\n var cacheData = Storage.get('EurojackpotInfoFeed');\r\n\r\n if (!cacheData || !feedValid(cacheData)) {\r\n // Clear cache\r\n storeToCache(null);\r\n } else {\r\n // Use cache\r\n // data(JSON.parse(cacheData));\r\n\r\n // noOpenDraw(!data().openDraw);\r\n var d = JSON.parse(cacheData);\r\n\r\n data(d.eurojackpot);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n jokerData({\r\n jokerSaturday: d.jokerSaturday,\r\n jokerWednesday: d.jokerWednesday\r\n });\r\n\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n\r\n // 3) LOAD INFO FROM FEED\r\n EurojackpotApi.getEurojackpotInfo().then(function (d) {\r\n data(d.eurojackpot);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n jokerData({\r\n jokerSaturday: d.jokerSaturday,\r\n jokerWednesday: d.jokerWednesday\r\n });\r\n\r\n // Store to cache\r\n storeToCache(d);\r\n\r\n ready.resolve();\r\n }, function () {\r\n isFeedDown(true);\r\n noOpenDraw(true);\r\n\r\n ready.resolve();\r\n\r\n console.error('### EUROJACKPOT FEED DOWN ###');\r\n });\r\n\r\n };\r\n\r\n init();\r\n\r\n // Public functions:\r\n return {\r\n data: data,\r\n getOpenDraw: getOpenDraw,\r\n jokerData: jokerData,\r\n isFeedDown: isFeedDown,\r\n noOpenDraw: noOpenDraw,\r\n ready: ready.promise,\r\n getDrawRepeatOptions: getDrawRepeatOptions,\r\n getDrawRepeatDefault: getDrawRepeatDefault,\r\n getDrawRepeatMax: getDrawRepeatMax,\r\n getJokerPrice: getJokerPrice,\r\n getSystemNames: getSystemNames,\r\n getClassicOptions: getClassicOptions,\r\n getClassicDefaultRowCount: getClassicDefaultRowCount,\r\n getLightningOptions: getLightningOptions,\r\n getLightningDefaultRowCount: getLightningDefaultRowCount,\r\n getLuckyRowOptions: getLuckyRowOptions,\r\n getLuckyDefaultRowCount: getLuckyDefaultRowCount\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotApi',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotUtils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (m, Model, EurojackpotApi, EurojackpotInfo, EurojackpotUtils, DataLayer) {\r\n\r\n // Model:\r\n var EurojackpotGame = Model('EurojackpotGame', function (content) {\r\n this.infoFeed = () => {\r\n return EurojackpotInfo;\r\n };\r\n this.api = () => {\r\n return EurojackpotApi;\r\n };\r\n\r\n // Data:\r\n this._generatedRows = m.prop(content._generatedRows || []);\r\n this._generatedJokerRowsSaturday = m.prop(content._generatedJokerRowsSaturday || []);\r\n this._generatedJokerRowsWednesday = m.prop(content._generatedJokerRowsWednesday || []);\r\n this.couponId = m.prop(content.couponId || null);\r\n this.isAddToCartTracked = m.prop(content.isAddToCartTracked || false);\r\n this.isProductDetailsTracked = m.prop(content.isProductDetailsTracked || false);\r\n this.isPurchaseCompleteTracked = m.prop(content.isPurchaseCompleteTracked || false);\r\n this.numberOfDraws = m.prop(typeof content.numberOfDraws !== 'undefined' ? content.numberOfDraws : EurojackpotInfo.getDrawRepeatDefault()); // NEED TO USE TYPEOF UNDEFINED CHECK HERE, BECAUSE 0 IS A VALID OPTION\r\n this.playType = m.prop(content.playType || null);\r\n this.plusSubscriptionJackpot = m.prop(content.plusSubscriptionJackpot || null);\r\n this.firstDepositInfo = m.prop(content.firstDepositInfo || null);\r\n this.purchaseTracked = m.prop(content.purchaseTracked || false);\r\n this.ready = m.prop(m.deferred());\r\n this.rebuyCouponId = m.prop(content.rebuyCouponId || null);\r\n this.rows = m.prop(content.rows || []);\r\n this.rowsToGenerate = m.prop(content.rowsToGenerate || 0);\r\n this.startUrl = m.prop(content.startUrl || window.location.href.split('?')[0]);\r\n this.status = m.prop(content.status || 'open');\r\n this.systemName = m.prop(content.systemName || (this.playType() === 'System' ? 'M 6-6' : null));\r\n // we want to check the typeof `withJoker...` as it would be set to `false` when the user selects `no joker`\r\n // if the game instance is new or the user has not interacted with the joker selector than we want to set it to `null`\r\n this.withJokerSaturday = m.prop(typeof content.withJokerSaturday === 'boolean' ? content.withJokerSaturday : null);\r\n this.withJokerWednesday = m.prop(typeof content.withJokerWednesday === 'boolean' ? content.withJokerWednesday : null);\r\n this.playTogetherDepositType = m.prop(content.playTogetherDepositType || null);\r\n this.verticalType = m.prop(content.verticalType);\r\n this.getDrawRepeatMax = m.prop(EurojackpotInfo.getDrawRepeatMax());\r\n this.rowPriceChanged = m.prop(false);\r\n this.originalNumberOfDraws = m.prop(null);\r\n this.originalPrice = m.prop(null);\r\n this.reducedWeeks = m.prop(false);\r\n this.clientContext = m.prop(content.clientContext || null);\r\n this.trackedInteractionCreationAction = m.prop(content.trackedInteractionCreationAction || null);\r\n\r\n this.gameVersionNo = m.prop(EurojackpotInfo.getOpenDraw() ? EurojackpotInfo.getOpenDraw().gameVersionNo : 1 || 1);\r\n if (content.gameVersionNo) this.gameVersionNo(content.gameVersionNo);\r\n if (content.manualGameVersionNo) this.gameVersionNo(content.manualGameVersionNo);\r\n this.originalGameVersionNo = m.prop(this.gameVersionNo());\r\n\r\n // Set draw days for Eurojackpot, Tuesday and Friday for newer games, Friday only for older games.\r\n this.drawDays = m.prop(this.gameVersionNo() === 2\r\n ? [false, true, false, false, true, false, false]\r\n : [false, false, false, false, true, false, false]);\r\n\r\n // Constants:\r\n this.classicMaxRows = m.prop(50);\r\n this.numberOfDrawsOptions = m.prop(EurojackpotInfo.getDrawRepeatOptions());\r\n this.numbersIntervalMax = m.prop(50);\r\n this.stakePerJoker = m.prop(EurojackpotInfo.getJokerPrice());\r\n\r\n this.starNumbersIntervalMax = m.prop(this.gameVersionNo() === 2 ? 12 : 10);\r\n this.starNumbersPerRowMax = m.prop(2);\r\n\r\n // Functions:\r\n this.numbersPerRowMin = function () {\r\n return this.numbersPerRow('min');\r\n }.bind(this);\r\n\r\n this.numbersPerRowMax = function () {\r\n return this.numbersPerRow('max');\r\n }.bind(this);\r\n\r\n this.numbersPerRow = function (type) {\r\n var playType = this.playType();\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return this.getSystemNumberAmount();\r\n }\r\n\r\n // Lucky:\r\n if (playType === 'Lucky') {\r\n return type === 'min' ? 0 : 5;\r\n }\r\n\r\n // Classic:\r\n return 5;\r\n }.bind(this);\r\n\r\n this.starNumbersPerRowMin = function () {\r\n return this.playType() === 'Lucky' ? 0 : 2;\r\n }.bind(this);\r\n\r\n this.totalNumbersPerRowMax = function () {\r\n if (this.playType() === 'Lucky') {\r\n return 6;\r\n }\r\n\r\n return this.numbersPerRowMax() + this.starNumbersPerRowMax();\r\n }.bind(this);\r\n\r\n // Functions - For manipulating rows:\r\n this.rowCount = function () {\r\n var count = 0;\r\n var rows = this.rows();\r\n var amount = rows.length;\r\n\r\n for (var i = 0; i < amount; i++) {\r\n var row = rows[i];\r\n\r\n if (row.count > count) {\r\n count = row.count + 1;\r\n } else {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }.bind(this);\r\n\r\n this.sortRow = function (numbers) {\r\n numbers.sort(function (a, b) {\r\n return a.number < b.number ? -1 : 1;\r\n });\r\n\r\n return numbers;\r\n };\r\n\r\n this.addNumber = function (row, number, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n if (row.numbers.length >= this.numbersPerRowMax()) {\r\n return;\r\n }\r\n\r\n row.numbers.push({ number: number, autogenerated: autogenerated || false });\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var index = -1;\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n index = i;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n row.numbers.splice(index, 1);\r\n }\r\n\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addStarNumber = function (row, starNumber, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n if (row.starNumbers.length >= this.starNumbersPerRowMax()) {\r\n return;\r\n }\r\n\r\n row.starNumbers.push({ number: starNumber, autogenerated: autogenerated || false });\r\n row.starNumbers = this.sortRow(row.starNumbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeStarNumber = function (row, starNumber) {\r\n row = this.getRow(row);\r\n\r\n var index = -1;\r\n var starNumbers = row.starNumbers;\r\n\r\n for (var i = 0; i < starNumbers.length; i++) {\r\n if (starNumbers[i].number === starNumber) {\r\n index = i;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n row.starNumbers.splice(index, 1);\r\n }\r\n\r\n row.starNumbers = this.sortRow(row.starNumbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addRow = function (numbers) {\r\n numbers = numbers || [];\r\n\r\n var count = this.rowCount();\r\n\r\n this.rows().push({ count: count, numbers: numbers, state: 'clean', starNumbers: [] });\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeRow = function (row) {\r\n var rows = this.rows();\r\n\r\n rows.splice(row - 1, 1);\r\n\r\n this.rows(rows);\r\n\r\n if (rows.length === 0) {\r\n this.addRow();\r\n }\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeAllRows = function () {\r\n this.rows([]);\r\n\r\n // We need double rows, as we're practically resetting the rows to original state\r\n this.addRow();\r\n this.addRow();\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.resetRow = function (rowNumber) {\r\n var row = this.getRow(rowNumber);\r\n\r\n row.numbers = [];\r\n row.starNumbers = [];\r\n row.state = 'clean';\r\n\r\n this.setRow(rowNumber, row);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setRow = function (row, content) {\r\n var rows = this.rows();\r\n\r\n rows[row - 1] = content;\r\n\r\n this.rows(rows);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n // Eurojackpot Classic and Eurojackpot System: generate numbers for a specific row:\r\n this.autogenerateNumbers = function (rowNumber) {\r\n var self = this;\r\n var deferred = m.deferred();\r\n var numbers = [];\r\n var row = this.getRow(rowNumber);\r\n var starNumbers = [];\r\n\r\n // Prepare list of existing user selected numbers:\r\n for (var i = 0; i < row.numbers.length; i++) {\r\n var number = row.numbers[i];\r\n\r\n if (!number.autogenerated) {\r\n numbers.push(number.number);\r\n }\r\n }\r\n\r\n for (var j = 0; j < row.starNumbers.length; j++) {\r\n var starNumber = row.starNumbers[j];\r\n\r\n if (!starNumber.autogenerated) {\r\n starNumbers.push(starNumber.number);\r\n }\r\n }\r\n\r\n // Setup options for random service:\r\n var options = {\r\n playType: this.playType(),\r\n requiredNumbers: numbers,\r\n requiredStarNumbers: starNumbers,\r\n gameVersionNo: this.gameVersionNo()\r\n };\r\n\r\n if (this.playType() === 'System') {\r\n options.system = this.systemName();\r\n }\r\n\r\n EurojackpotApi.getRandomNumbers(options).then(function (rows) {\r\n rows = rows[0];\r\n\r\n const manualSelectedNumbers = row.numbers.filter((number) => !number.autogenerated);\r\n const manualSelectedStarNumbers = row.starNumbers.filter((number) => !number.autogenerated);\r\n row.numbers = manualSelectedNumbers;\r\n row.starNumbers = manualSelectedStarNumbers;\r\n self.setRow(rowNumber, row);\r\n\r\n var generated = null;\r\n var generatedNumbers = rows.numbers;\r\n var generatedStarNumbers = rows.starNumbers;\r\n\r\n for (var i = 0; i < generatedNumbers.length; i++) {\r\n generated = generatedNumbers[i];\r\n\r\n if (numbers.indexOf(generated) === -1) {\r\n self.addNumber(rowNumber, generated, true);\r\n }\r\n }\r\n\r\n for (var j = 0; j < generatedStarNumbers.length; j++) {\r\n generated = generatedStarNumbers[j];\r\n\r\n if (starNumbers.indexOf(generated) === -1) {\r\n self.addStarNumber(rowNumber, generated, true);\r\n }\r\n }\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.areAllRowsValid = () => {\r\n return this.rows().every((row) => this.isRowValid(row.count + 1));\r\n };\r\n\r\n this.autofillClassicRows = async () => {\r\n const promises = [];\r\n const emptyRows = [];\r\n for (let i = 0; i < this.rows().length; i++) {\r\n const row = this.rows()[i];\r\n const rowNumber = row.count + 1;\r\n if (!this.isRowValid(rowNumber)) {\r\n if (row.numbers.length > 0 || row.starNumbers.length > 0) {\r\n promises.push(this.autogenerateNumbers(rowNumber));\r\n } else {\r\n emptyRows.push(row);\r\n }\r\n }\r\n }\r\n if (emptyRows.length > 0) {\r\n const fullyGeneratedRows = this.api().getRandomNumbers({ rowsToGenerate: emptyRows.length }).then((rows) => {\r\n for (let i = 0; i < rows.length; i++) {\r\n const row = rows[i];\r\n const emptyRow = emptyRows[i];\r\n for (let j = 0; j < row.numbers.length; j++) {\r\n this.addNumber(emptyRow.count + 1, row.numbers[j], true);\r\n }\r\n for (let j = 0; j < row.starNumbers.length; j++) {\r\n this.addStarNumber(emptyRow.count + 1, row.starNumbers[j], true);\r\n }\r\n }\r\n });\r\n promises.push(fullyGeneratedRows);\r\n }\r\n await Promise.all(promises);\r\n\r\n this.save();\r\n };\r\n\r\n // Eurojackpot Lightning, Eurojackpot Lucky and Eurojackpot System: generate output rows:\r\n this.gameGenerateRows = function () {\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n if (['Lightning', 'Lucky', 'System'].indexOf(this.playType()) === -1) {\r\n console.error('EurojackpotGame gameGenerateRows: This method cannot be used for playType', this.playType());\r\n\r\n deferred.reject();\r\n\r\n return;\r\n }\r\n\r\n if (this.playType() === 'System') {\r\n var selectedNumbers = this.getRow(1).numbers;\r\n var starNumbers = this.getRow(1).starNumbers;\r\n var generatedRows = [];\r\n\r\n EurojackpotApi.getSystemKeys(this.systemName()).then(function (systemKeys) {\r\n if (systemKeys) {\r\n generatedRows = systemKeys.map(function (row, i) {\r\n var numbers = row.map(function (index) {\r\n // replace each index with the numbers chosen by the user\r\n return { number: selectedNumbers[index - 1].number, autogenerated: true };\r\n });\r\n\r\n return { count: i, numbers: numbers, starNumbers: starNumbers, state: 'clean' };\r\n\r\n });\r\n }\r\n\r\n self.generatedRows(generatedRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n } else {\r\n\r\n // Lightning and Lucky:\r\n var options = { rowsToGenerate: this.rowsToGenerate() };\r\n var requiredNumbers = [];\r\n var requiredStarNumbers = [];\r\n var row = this.getRow(1);\r\n\r\n if (row && row.numbers.length > 0) {\r\n requiredNumbers = row.numbers.map(function (number) {\r\n return number.number;\r\n });\r\n }\r\n\r\n if (row && row.starNumbers.length > 0) {\r\n requiredStarNumbers = row.starNumbers.map(function (number) {\r\n return number.number;\r\n });\r\n }\r\n\r\n if (this.playType() === 'Lucky') {\r\n options.requiredNumbers = requiredNumbers.join(',');\r\n options.requiredStarNumbers = requiredStarNumbers.join(',');\r\n }\r\n\r\n EurojackpotApi.getRandomNumbers(options).then(function (rows) {\r\n var generatedRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.numbers.map(function (number) {\r\n return { number: number, autogenerated: true };\r\n });\r\n var starNumbers = row.starNumbers.map(function (starNumber) {\r\n return { number: starNumber, autogenerated: true };\r\n });\r\n\r\n generatedRows.push({ count: i, numbers: numbers, state: 'clean', starNumbers: starNumbers });\r\n }\r\n\r\n // Store generated rows to our object:\r\n self.generatedRows(generatedRows);\r\n\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n }).bind(this);\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.gameGenerateJokerRows = function (type) {\r\n var deferred = m.deferred();\r\n var self = this;\r\n\r\n EurojackpotApi.getRandomJokerNumbers(type).then(function (rows) {\r\n var generatedJokerRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.map(function (number) {\r\n return { number: number, autogenerated: true };\r\n });\r\n\r\n generatedJokerRows.push({ count: i, numbers: numbers, state: 'clean' });\r\n }\r\n\r\n self.generatedJokerRows(type, generatedJokerRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.generatedJokerRows = function (type, value) {\r\n if (value) {\r\n this['_generatedJokerRows' + type](value);\r\n }\r\n\r\n return this['_generatedJokerRows' + type]();\r\n }.bind(this);\r\n\r\n // Functions for number of draws:\r\n this.setNumberOfDraws = function (draws) {\r\n this.numberOfDraws(draws);\r\n // when selecting to play as subscription we need to change the gameVersionNo to 2\r\n // TODO: once Ejp is completely running on V2 then we can remove this check and the originalGameVersionNo\r\n this.gameVersionNo(this.numberOfDraws() === 0 ? 2 : this.originalGameVersionNo());\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n // Functions for purchase:\r\n this.purchase = function (params) {\r\n params = params || {};\r\n\r\n var self = this;\r\n var proceed = true;\r\n var deferred = m.deferred();\r\n\r\n if (this.status() != 'open') {\r\n deferred.reject();\r\n } else if (!params.drawId) {\r\n console.error('No drawId given.');\r\n\r\n deferred.reject({ errorMessage: 'NUMBERGAMES.NO_OPEN_DRAW' });\r\n } else {\r\n this.status('pending-confirmation');\r\n this.save();\r\n\r\n var rows = this.playType() === 'System' ? this.getRowsSummary(false) : this.getRowsSummary();\r\n\r\n var options = {\r\n drawId: params.drawId,\r\n totalPrice: parseInt(self.totalPrice(), 10),\r\n multidraw: parseInt(self.numberOfDraws(), 10),\r\n playType: this.playType() || null,\r\n rows: rows,\r\n salesChannel: (EurojackpotUtils.isMobile() || EurojackpotUtils.isTabletDevice()) ? 'mobile' : 'web'\r\n };\r\n\r\n // Prize notification - register only enabling\r\n if (params.notifyPrizeEmail) {\r\n options.notifyPrizeEmail = true;\r\n }\r\n if (params.notifyPrizeSms) {\r\n options.notifyPrizeSms = true;\r\n }\r\n\r\n // Jokers:\r\n if (this.withJokerSaturday()) {\r\n options.jokerSaturdayRows = this.getJokerRowsSummary('Saturday');\r\n\r\n if (options.jokerSaturdayRows.length === 0) {\r\n proceed = false;\r\n\r\n deferred.reject('joker-saturday-error');\r\n }\r\n }\r\n\r\n if (this.withJokerWednesday()) {\r\n options.jokerWednesdayRows = this.getJokerRowsSummary('Wednesday');\r\n\r\n if (options.jokerWednesdayRows.length === 0) {\r\n proceed = false;\r\n\r\n deferred.reject('joker-wednesday-error');\r\n }\r\n }\r\n // Proceed:\r\n if (proceed) {\r\n // System\r\n if (this.playType() === 'System') {\r\n options.system = this.systemName();\r\n }\r\n\r\n // Create request\r\n var request = EurojackpotApi.createCoupon(options);\r\n\r\n request.then(function (data) {\r\n self.status('completed');\r\n self.couponId(data.couponId);\r\n self.save();\r\n\r\n deferred.resolve(data);\r\n }, function (data) {\r\n self.status('open');\r\n self.save();\r\n\r\n deferred.reject(data);\r\n });\r\n }\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.prepareConfirm = function () {\r\n var confirmUrl = this.confirmUrl();\r\n var deferred = m.deferred();\r\n var status = this.status();\r\n\r\n if (status !== 'processing') {\r\n var promises = this.playType() !== 'Classic' ? [this.gameGenerateRows()] : [];\r\n var self = this;\r\n\r\n if (status === 'prepare-confirm-error') {\r\n status = 'open';\r\n }\r\n\r\n this.status(this.numberOfDraws() > 0 ? 'processing' : status);\r\n\r\n if (this.withJokerSaturday()) {\r\n promises.push(this.gameGenerateJokerRows('Saturday'));\r\n }\r\n\r\n if (this.withJokerWednesday()) {\r\n promises.push(this.gameGenerateJokerRows('Wednesday'));\r\n }\r\n\r\n m.sync(promises).then(function () {\r\n self.status(status);\r\n\r\n self.save();\r\n\r\n deferred.resolve(confirmUrl);\r\n }, function () {\r\n self.status('prepare-confirm-error');\r\n\r\n self.save();\r\n\r\n deferred.reject();\r\n });\r\n } else {\r\n deferred.resolve(confirmUrl);\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n // Functions - For tracking (DataLayer eCommerce buzzword)\r\n this.createDataLayerJoker = function (day, subscription) {\r\n var joker;\r\n\r\n if (!subscription) {\r\n var numberOfJokers = function () {\r\n if (this.jokerDrawDates && this.jokerDrawDates().length) {\r\n return this.jokerDrawDates().filter(function (draw) {\r\n return draw.dayName === day;\r\n }).length;\r\n }\r\n return this.numberOfDraws();\r\n }.bind(this);\r\n joker = {\r\n name: 'joker',\r\n price: DataLayer.rowPrice(this.stakePerJoker(), numberOfJokers(), 'joker'),\r\n brand: 'dlo_jok',\r\n category: DataLayer.categoryName(this.playType()),\r\n variant: DataLayer.variantName('joker', numberOfJokers(), day),\r\n quantity: 1\r\n };\r\n }\r\n\r\n if (subscription) {\r\n joker = {\r\n name: 'plus',\r\n price: DataLayer.rowPrice(this.stakePerJoker(), this.numberOfDraws(), 'plus_joker'),\r\n brand: 'dlo_plu',\r\n category: DataLayer.categoryName(this.playType()),\r\n variant: DataLayer.variantName('plus_joker', this.numberOfDraws(), day),\r\n quantity: 1\r\n };\r\n }\r\n\r\n if (this.trackedInteractionCreationAction()) {\r\n joker.coupon = this.trackedInteractionCreationAction();\r\n }\r\n\r\n return joker;\r\n };\r\n\r\n this.createDataLayerProduct = function (type, event) {\r\n var data = EurojackpotInfo.data();\r\n var dataLayerProducts = [];\r\n var numberOfDraws = this.numberOfDraws();\r\n var playType = this.playType();\r\n var product = {};\r\n var rowAmount = this.getRowAmount();\r\n var subscription = type === 'plus';\r\n var firstDrawName = data && data.openDraw && data.openDraw.closingTime ? EurojackpotUtils.parseISO8601(data.openDraw.closingTime).dayName : null;\r\n var variantBrandName = 'eurojackpot' + (firstDrawName ? '_' + firstDrawName : '');\r\n\r\n if (type === 'plus') {\r\n product.name = 'plus';\r\n product.price = DataLayer.rowPrice(data, numberOfDraws, 'plus');\r\n product.brand = 'dlo_plu';\r\n product.category = DataLayer.categoryName(playType);\r\n product.variant = DataLayer.variantName('plus_eurojackpot', numberOfDraws, playType);\r\n product.quantity = rowAmount;\r\n } else {\r\n product.name = 'eurojackpot';\r\n product.price = DataLayer.rowPrice(data, numberOfDraws);\r\n product.brand = 'dlo_ejp';\r\n product.category = DataLayer.categoryName(playType);\r\n product.variant = DataLayer.variantName(variantBrandName, numberOfDraws, playType);\r\n\r\n if (type === 'playtogether') {\r\n product.category = 'spil_sammen';\r\n }\r\n\r\n if (event !== 'productDetails') {\r\n product.quantity = rowAmount;\r\n }\r\n\r\n if (this.trackedInteractionCreationAction()) {\r\n product.coupon = this.trackedInteractionCreationAction();\r\n }\r\n }\r\n\r\n dataLayerProducts.push(product);\r\n\r\n // Check for Joker Saturday:\r\n if (this.withJokerSaturday()) {\r\n !subscription ? dataLayerProducts.push(this.createDataLayerJoker('saturday')) : dataLayerProducts.push(this.createDataLayerJoker('saturday', 'plus'));\r\n }\r\n\r\n // Check for Joker Wednesday:\r\n if (this.withJokerWednesday()) {\r\n !subscription ? dataLayerProducts.push(this.createDataLayerJoker('wednesday')) : dataLayerProducts.push(this.createDataLayerJoker('wednesday', 'plus'));\r\n }\r\n\r\n return dataLayerProducts;\r\n };\r\n\r\n this.trackingAddToCart = function (type) {\r\n if (!this.isAddToCartTracked()) {\r\n this.isAddToCartTracked(true);\r\n\r\n this.save();\r\n\r\n if (type === 'plus' || type === 'playtogether') {\r\n DataLayer.addToCart(this.createDataLayerProduct(type));\r\n } else {\r\n DataLayer.addToCart(this.createDataLayerProduct(false));\r\n }\r\n } else {\r\n console.warn('addToCart has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingProductDetails = function () {\r\n if (!this.isProductDetailsTracked()) {\r\n this.isProductDetailsTracked(true);\r\n\r\n this.save();\r\n\r\n DataLayer.productDetail(this.createDataLayerProduct(false, 'productDetails'));\r\n } else {\r\n console.warn('productDetails has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingPurchaseComplete = function (type) {\r\n if (!this.isPurchaseCompleteTracked()) {\r\n this.isPurchaseCompleteTracked(true);\r\n\r\n this.save();\r\n\r\n DataLayer.purchaseCompleted({\r\n totalPrice: this.totalPrice().toString(),\r\n id: this.couponId() || this.fallbackFakeCouponId()\r\n }, this.createDataLayerProduct(type));\r\n } else {\r\n console.warn('purchaseCompleted has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n // Ensighten will group all events together if the ID is not unique.\r\n // In Playtogether we don't have a couponId upon purchase, so we create a fake one\r\n this.fallbackFakeCouponId = function () {\r\n var couponId = 'NA-EJP-' + Math.random().toString(36).slice(2);\r\n\r\n return couponId;\r\n };\r\n\r\n // Functions - For extracting data:\r\n this.getRow = function (row) {\r\n // Note: the row index starts with 1:\r\n\r\n return this.rows()[row - 1];\r\n }.bind(this);\r\n\r\n this.isRowValid = function (rowNumber, { checkOnlyMaxLimit = false } = {}) {\r\n var playType = this.playType();\r\n var row = this.getRow(rowNumber) || {};\r\n\r\n // Lucky:\r\n if (playType === 'Lucky') {\r\n var totalNumbers = (row.numbers.length || 0) + (row.starNumbers.length || 0);\r\n\r\n if (checkOnlyMaxLimit) {\r\n return totalNumbers === 6 && row.numbers.length <= 5;\r\n }\r\n return totalNumbers >= 1 && totalNumbers <= 6 && row.numbers.length <= 5;\r\n }\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return row.numbers.length === this.getSystemNumberAmount() && row.starNumbers.length >= this.starNumbersPerRowMin();\r\n }\r\n\r\n // All other play types:\r\n return row.numbers.length >= this.numbersPerRowMin() && row.numbers.length <= this.numbersPerRowMax() && row.starNumbers.length >= this.starNumbersPerRowMin() && row.starNumbers.length <= this.starNumbersPerRowMax();\r\n }.bind(this);\r\n\r\n this.getRows = function (valid) {\r\n var self = this;\r\n\r\n return this.rows().filter(function (row, index) {\r\n if (row.state === 'remove') {\r\n return false;\r\n }\r\n\r\n return !valid || self.isRowValid(index + 1);\r\n });\r\n }.bind(this);\r\n\r\n this.hasNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }.bind(this);\r\n\r\n this.hasStarNumber = function (row, starNumber) {\r\n row = this.getRow(row);\r\n\r\n var starNumbers = row.starNumbers;\r\n\r\n for (var i = 0; i < starNumbers.length; i++) {\r\n if (starNumbers[i].number === starNumber) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }.bind(this);\r\n\r\n this.drawDateHtml = function (delimiter) {\r\n delimiter = delimiter || ' - ';\r\n\r\n var openDraw = EurojackpotInfo.data().openDraw;\r\n if (!openDraw || !openDraw.closingTime) {\r\n return '';\r\n }\r\n\r\n var closingTime = openDraw.closingTime;\r\n var draws = this.numberOfDraws();\r\n\r\n var date = new Date(closingTime);\r\n\r\n var result = EurojackpotUtils.formatISO8601(date.toISOString(), { includeTime: false });\r\n\r\n if (draws > 1) {\r\n date.setDate(date.getDate() + ((draws - 1) * 7));\r\n result = '' + result + delimiter + EurojackpotUtils.formatISO8601(date.toISOString(), { includeTime: false }) + '';\r\n }\r\n\r\n return result;\r\n }.bind(this);\r\n\r\n this.drawDateHtmlShort = function () {\r\n var dates = this.drawDates();\r\n var firstDate = dates[0];\r\n var lastDate = dates[dates.length - 1];\r\n\r\n // if there's more than one date, output the range. otherwise output the first date.\r\n if (dates.length > 1) {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' - ' + lastDate.draw.getDate() + '/' + (lastDate.draw.getMonth() + 1) + ' ' + lastDate.draw.getFullYear();\r\n } else {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' ' + firstDate.draw.getFullYear();\r\n }\r\n }.bind(this);\r\n\r\n this.drawDates = function (numberOfDraws) {\r\n var drawDates = [];\r\n var openDraw = EurojackpotInfo.data().openDraw;\r\n var draws = numberOfDraws || this.numberOfDraws();\r\n var drawsFromEurojackpotInfo = EurojackpotInfo.data().draws;\r\n var firstDraw = EurojackpotInfo.data().openDraw;\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n var firstDrawIndex = -1;\r\n\r\n for (var i = 0; i < drawsFromEurojackpotInfo.length; i++) {\r\n if (drawsFromEurojackpotInfo[i].id === firstDraw.id) {\r\n firstDrawIndex = i;\r\n break;\r\n }\r\n }\r\n var feedDrawDates = drawsFromEurojackpotInfo.slice(firstDrawIndex, firstDrawIndex + draws);\r\n drawDates = feedDrawDates.map(function (draw) {\r\n return {\r\n draw: new Date(draw.closingTime),\r\n hasJoker: false\r\n };\r\n }.bind(this));\r\n\r\n if (this.gameVersionNo() === 2) {\r\n if (this.withJokerWednesday() || this.withJokerSaturday()) {\r\n var jokerDraws = this.jokerDrawDates();\r\n\r\n for (var j = 0; j < jokerDraws.length; j++) {\r\n drawDates.push({\r\n draw: new Date(jokerDraws[j].closingTime),\r\n hasJoker: true\r\n });\r\n }\r\n }\r\n } else {\r\n // if joker on wednesdays are added, add their dates.\r\n if (this.withJokerWednesday()\r\n && EurojackpotInfo.jokerData()\r\n && EurojackpotInfo.jokerData().jokerWednesday\r\n && EurojackpotInfo.jokerData().jokerWednesday.openDraw\r\n && EurojackpotInfo.jokerData().jokerWednesday.openDraw.closingTime) {\r\n\r\n var firstWednesdayJoker = new Date(EurojackpotInfo.jokerData().jokerWednesday.openDraw.closingTime);\r\n\r\n draws = this.numberOfDraws();\r\n while (draws--) {\r\n drawDates.push({\r\n draw: new Date(firstWednesdayJoker),\r\n hasJoker: true\r\n });\r\n firstWednesdayJoker.setDate(firstWednesdayJoker.getDate() + 7);\r\n }\r\n }\r\n\r\n // if joker on saturdays are added, add their dates.\r\n if (this.withJokerSaturday()\r\n && EurojackpotInfo.jokerData()\r\n && EurojackpotInfo.jokerData().jokerSaturday\r\n && EurojackpotInfo.jokerData().jokerSaturday.openDraw\r\n && EurojackpotInfo.jokerData().jokerSaturday.openDraw.closingTime) {\r\n\r\n var firstSaturdayJoker = new Date(EurojackpotInfo.jokerData().jokerSaturday.openDraw.closingTime);\r\n\r\n draws = this.numberOfDraws();\r\n while (draws--) {\r\n drawDates.push({\r\n draw: new Date(firstSaturdayJoker),\r\n hasJoker: true\r\n });\r\n firstSaturdayJoker.setDate(firstSaturdayJoker.getDate() + 7);\r\n }\r\n }\r\n }\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n }.bind(this);\r\n\r\n this.rawDrawsDataFromInfoFeed = () => {\r\n const drawTimes = this.drawDates().map((draw) => {\r\n return new Date(draw.draw).getTime();\r\n });\r\n\r\n return EurojackpotInfo.data().draws.filter((feedDraw) => {\r\n return drawTimes.indexOf(new Date(feedDraw.closingTime).getTime()) !== -1;\r\n });\r\n };\r\n\r\n this.drawDatesWithoutJokerInfo = function (numberOfDraws) {\r\n var drawDates = [];\r\n var openDraw = EurojackpotInfo.data().openDraw;\r\n var draws = numberOfDraws || this.numberOfDraws();\r\n var drawsFromEurojackpotInfo = EurojackpotInfo.data().draws;\r\n var firstDraw = EurojackpotInfo.data().openDraw;\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n var firstDrawIndex = -1;\r\n\r\n for (var i = 0; i < drawsFromEurojackpotInfo.length; i++) {\r\n if (drawsFromEurojackpotInfo[i].id === firstDraw.id) {\r\n firstDrawIndex = i;\r\n break;\r\n }\r\n }\r\n var feedDrawDates = drawsFromEurojackpotInfo.slice(firstDrawIndex, firstDrawIndex + draws);\r\n drawDates = feedDrawDates.map(function (draw) {\r\n const drawObject = {\r\n draw: new Date(draw.closingTime)\r\n };\r\n\r\n if (draw.campaigns) {\r\n drawObject.campaigns = draw.campaigns;\r\n drawObject.campaignNumbers = draw.campaignNumbers;\r\n }\r\n\r\n return drawObject;\r\n }.bind(this));\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n }.bind(this);\r\n\r\n this.jokerDrawDates = function (drawDay) {\r\n if (!(EurojackpotInfo.jokerData()\r\n && EurojackpotInfo.jokerData().jokerSaturday\r\n && EurojackpotInfo.jokerData().jokerWednesday\r\n && EurojackpotInfo.jokerData().jokerSaturday.draws\r\n && EurojackpotInfo.jokerData().jokerWednesday.draws)) return;\r\n\r\n if (this.drawDatesWithoutJokerInfo().length === 0) return [];\r\n\r\n var saturdayDraws = EurojackpotInfo.jokerData().jokerSaturday.draws.map(function (draw) {\r\n draw.dayName = 'saturday';\r\n return draw;\r\n });\r\n var wednesdayDraws = EurojackpotInfo.jokerData().jokerWednesday.draws.map(function (draw) {\r\n draw.dayName = 'wednesday';\r\n return draw;\r\n });\r\n var combinedDraws = saturdayDraws.concat(wednesdayDraws);\r\n combinedDraws.sort(function (a, b) {\r\n return (a.closingTime).localeCompare((b.closingTime));\r\n });\r\n\r\n if (this.gameVersionNo() === 2) {\r\n var nextValidJokerDraws = combinedDraws.filter(function (draw) {\r\n return new Date(draw.closingTime).getTime() > this.drawDatesWithoutJokerInfo()[0].draw.getTime();\r\n }.bind(this));\r\n\r\n return nextValidJokerDraws.slice(0, this.numberOfDraws());\r\n }\r\n\r\n switch (drawDay) {\r\n case 'saturday':\r\n return saturdayDraws.slice(0, this.numberOfDraws());\r\n case 'wednesday':\r\n return wednesdayDraws.slice(0, this.numberOfDraws());\r\n case 'both':\r\n return combinedDraws.slice(0, (this.numberOfDraws() * 2));\r\n }\r\n }.bind(this);\r\n\r\n this.campaignDrawsCount = (wantedCampaign) => {\r\n return this.rawDrawsDataFromInfoFeed().reduce(function (count, draw) {\r\n if (Array.isArray(wantedCampaign)) {\r\n return draw?.campaignNumbers?.some((campaignNumber) => {\r\n return wantedCampaign.includes(campaignNumber);\r\n }) ? ++count : count;\r\n }\r\n if (typeof wantedCampaign === 'number') {\r\n return draw?.campaignNumbers?.includes(wantedCampaign) ? ++count : count;\r\n }\r\n return draw?.campaigns?.some(function (c) {\r\n return c.indexOf(wantedCampaign) === 0;\r\n }) ? ++count : count;\r\n }, 0);\r\n };\r\n\r\n this.generatedRows = function (value) {\r\n var playType = this.playType();\r\n\r\n // Classic and Lightning:\r\n if (playType === 'Classic') {\r\n if (value) {\r\n console.error('EurojackpotGame: play type Classic does not support setting generatedRows.');\r\n }\r\n\r\n return this.getRows(true);\r\n }\r\n\r\n // Lightning, Lucky and System:\r\n if (playType === 'Lightning' || playType === 'Lucky' || playType === 'System') {\r\n if (value) {\r\n this._generatedRows(value);\r\n }\r\n\r\n return this._generatedRows();\r\n }\r\n }.bind(this);\r\n\r\n this.checkGeneratedConsistency = function () {\r\n var playType = this.playType();\r\n\r\n if (playType === 'Classic' || playType === 'Lightning') {\r\n return true;\r\n }\r\n\r\n if (playType === 'Lucky') {\r\n return this.generatedRows().length !== this.rowsToGenerate();\r\n }\r\n\r\n if (playType === 'System') {\r\n // TODO: check that amount of generated rows corresponds to the chosen system.\r\n\r\n return true;\r\n }\r\n }.bind(this);\r\n\r\n this.getRowsSummary = function (useGenerated) {\r\n useGenerated = typeof useGenerated === 'undefined' ? true : useGenerated;\r\n\r\n var summary = [];\r\n var rows = useGenerated ? this.generatedRows() : this.getRows(true);\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = {\r\n numbers: rows[i].numbers.map(function (numbers) {\r\n return numbers.number;\r\n }),\r\n starNumbers: rows[i].starNumbers.map(function (starNumbers) {\r\n return starNumbers.number;\r\n })\r\n };\r\n\r\n summary.push(row);\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getJokerRowsSummary = function (type) {\r\n var summary = [];\r\n var rows = this['_generatedJokerRows' + type]();\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i].numbers.map(function (numbers) {\r\n return numbers.number;\r\n });\r\n\r\n summary.push({ numbers: row });\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getRowAmount = function () {\r\n var playType = this.playType();\r\n\r\n if (playType === 'Lucky' || playType === 'Lightning') {\r\n return this.rowsToGenerate();\r\n }\r\n\r\n if (playType === 'System') {\r\n return this.getSystemRowAmount();\r\n }\r\n\r\n // Classic:\r\n return this.getRows(true).length;\r\n }.bind(this);\r\n\r\n this.rowPrice = function (rowIndex) {\r\n var data = EurojackpotInfo.data();\r\n var rowPrice = rowIndex !== undefined && data.draws && data.draws[rowIndex] && data.draws[rowIndex].rowPrice ? data.draws[rowIndex].rowPrice : 0;\r\n\r\n return rowPrice;\r\n };\r\n\r\n this.totalRowsPricePerDraw = function (drawIndex) {\r\n var rowAmount = this.getRowAmount();\r\n var price = 0;\r\n\r\n if (drawIndex !== undefined) {\r\n return this.rowPrice(drawIndex) * rowAmount;\r\n }\r\n\r\n for (var i = 0; i < this.numberOfDraws(); i++) {\r\n price += rowAmount * this.rowPrice(i);\r\n }\r\n\r\n return price;\r\n }.bind(this);\r\n\r\n this.totalPrice = function () { // Required by PurchaseBar\r\n var singleDrawPerWeekTotal = this.totalJokerPrice() + this.totalRowsPricePerDraw();\r\n switch (this.gameVersionNo()) {\r\n case 2:\r\n if (this.plusSubscriptionJackpot()) {\r\n return this.totalRowsPricePerDraw() + (this.getJokerCount() ? this.jokerPrice() : 0);\r\n }\r\n var verticalTypesWithTwoDrawsPerWeek = ['plus'];\r\n if (this.verticalType() && (verticalTypesWithTwoDrawsPerWeek.indexOf(this.verticalType()) > -1)) {\r\n return (this.totalRowsPricePerDraw() * 2) + this.totalJokerPrice();\r\n }\r\n return singleDrawPerWeekTotal;\r\n default:\r\n return singleDrawPerWeekTotal;\r\n }\r\n }.bind(this);\r\n\r\n this.jokerPrice = function () {\r\n return EurojackpotInfo.getJokerPrice() * 2;\r\n }.bind(this);\r\n\r\n this.totalJokerPrice = function () {\r\n return this.getJokerCount() * this.stakePerJoker() * (this.numberOfDraws() || 1);\r\n }.bind(this);\r\n\r\n this.getJokerCount = function () {\r\n if (['plus', 'jackpot'].indexOf(this.verticalType()) !== -1) {\r\n if (this.verticalType() === 'jackpot' &&\r\n (this.withJokerSaturday() || this.withJokerWednesday())) {\r\n return 2;\r\n }\r\n return this.withJokerSaturday() || this.withJokerWednesday() ? 4 : 0;\r\n }\r\n if (this.gameVersionNo() === 2) {\r\n return this.withJokerSaturday() || this.withJokerWednesday() ? 2 : 0;\r\n }\r\n return (this.withJokerSaturday() ? 2 : 0) + (this.withJokerWednesday() ? 2 : 0);\r\n }.bind(this);\r\n\r\n this.isGameValid = function () { // Required by PurchaseBar\r\n var playType = this.playType();\r\n\r\n // Not valid, if numberOfDraws is higher than known upcomming draws in the feed\r\n if (this.numberOfDraws() > EurojackpotInfo.data().draws.length) {\r\n return false;\r\n }\r\n\r\n // Lightning:\r\n if (playType === 'Lightning') {\r\n return this.totalPrice() > 0 || this.numberOfDraws() === 0;\r\n }\r\n\r\n // Rows:\r\n var hasValidRows = false;\r\n\r\n for (var i = 0; i < this.rows().length; i++) {\r\n if (this.isRowValid(i + 1)) {\r\n hasValidRows = true;\r\n }\r\n }\r\n\r\n if (!hasValidRows) {\r\n return false;\r\n }\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return (this.systemName() && this.getSystemNumberAmount() == this.getRow(1).numbers.length);\r\n\r\n // Lucky, Classic:\r\n } else if (playType === 'Lucky' || playType === 'Classic') {\r\n return this.getRows(true).length > 0 && (this.totalPrice() > 0 || this.numberOfDraws() === 0);\r\n }\r\n }.bind(this);\r\n\r\n this.isSubscriptionValid = function () {\r\n if (this.playType() === 'System') {\r\n // TODO - CR: System - ingen systemer, der overstiger 2.000 kr. (Kasper har listen, hvis det er)\r\n return true;\r\n }\r\n\r\n // Classic, Lykke, Lyn - mindst 1 række\r\n return this.getRowAmount() >= 1;\r\n }.bind(this);\r\n\r\n // Helpers for Eurojackpot System:\r\n this.getSystemNumberAmount = function () {\r\n return this.systemName() ? parseInt(this.systemName().split(' ')[1].split('-')[0], 10) : 0;\r\n }.bind(this);\r\n\r\n this.getSystemRowAmount = function () {\r\n return this.systemName() ? parseInt(this.systemName().split(' ')[1].split('-')[1], 10) : 0;\r\n }.bind(this);\r\n\r\n this.trackPurchase = function () {\r\n var self = this;\r\n\r\n if (!self.purchaseTracked() && self.status() == 'completed') {\r\n window.DSAPI && DSAPI.ready(function () {\r\n self.purchaseTracked(true);\r\n });\r\n\r\n this.trackingPurchaseComplete();\r\n }\r\n }.bind(this);\r\n\r\n this.confirmUrl = function () {\r\n var data = EurojackpotInfo.data();\r\n var numberOfDraws = this.numberOfDraws();\r\n\r\n if (numberOfDraws === 0 || (data && data.confirmUrl)) {\r\n if (numberOfDraws > 0 && this.clientContext() === 'multiClient') {\r\n var multiClientPath = window.location.href.split('#/')[1];\r\n multiClientPath = multiClientPath.split('/')[0] + '/confirm';\r\n return this.startUrl().split('#/')[0] + '?gameInstanceId=' + this.id() + '#/' + multiClientPath;\r\n }\r\n\r\n return (numberOfDraws === 0 ? '/plus-abonnement/plus-vaelg-spil-eurojackpot?gameType=eurojackpot&gameId=' + this.id() : data.confirmUrl) + '?gameInstanceId=' + this.id();\r\n }\r\n\r\n console.error('EurojackpotGame: unable to return confirmUrl, feed is not loaded.');\r\n }.bind(this);\r\n\r\n this.receiptUrl = function () {\r\n var data = EurojackpotInfo.data();\r\n\r\n if (data && data.receiptUrl) {\r\n return data.receiptUrl + '?gameInstanceId=' + this.id();\r\n }\r\n\r\n console.error('EurojackpotGame: unable to return receiptUrl, feed is not loaded.');\r\n }.bind(this);\r\n\r\n this.cancelUrl = function () {\r\n if (this.rebuyCouponId()) {\r\n // This is called when going from confirm page, back to completed games overview page.\r\n return this.startUrl();\r\n }\r\n\r\n if (this.clientContext() === 'multiClient') {\r\n var multiClientPath = window.location.href.split('#/')[1];\r\n\r\n // if the cancelUrl will redirect to the confirm or receipt flow step the user\r\n // would be in a infinite loop since on this steps we require the user to be logged in\r\n if (['confirm', 'receipt'].indexOf(multiClientPath.split('/')[1]) !== -1) {\r\n multiClientPath = multiClientPath.split('/')[0] + '/joker';\r\n }\r\n\r\n return this.startUrl().split('#/')[0] + '?gameInstanceId=' + this.id() + '#/' + multiClientPath;\r\n }\r\n\r\n // This is called when going from confirm page, back to game.\r\n return this.startUrl() + '?gameInstanceId=' + this.id();\r\n }.bind(this);\r\n\r\n this.copyFromOldCoupon = function () {\r\n var self = this;\r\n\r\n EurojackpotApi.getCoupon(this.rebuyCouponId()).then(function (data) {\r\n self.numberOfDraws(!data.multiWagers ? 1 : data.multiWagers.length);\r\n self.playType(data.playType);\r\n self.systemName(data.systemName);\r\n self.reducedWeeks(data.rebuyDrawRepeatMax && data.rebuyDrawRepeatMax < self.numberOfDraws());\r\n self.rowPriceChanged(data.rowPriceChanged);\r\n\r\n if (self.rowPriceChanged()) {\r\n self.originalPrice((data.price * self.numberOfDraws()) + self.totalJokerPrice());\r\n }\r\n\r\n if (self.reducedWeeks()) {\r\n self.originalPrice((data.price * self.numberOfDraws()) + self.totalJokerPrice());\r\n self.originalNumberOfDraws(self.numberOfDraws());\r\n self.numberOfDraws(data.rebuyDrawRepeatMax);\r\n }\r\n\r\n var promises = [];\r\n\r\n // If systemName is defined, set playType to System, otherwise Classic:\r\n if (!self.playType() || self.playType().toLowerCase() === 'unknown') {\r\n self.playType(self.systemName() ? 'System' : 'Classic');\r\n }\r\n\r\n data.games.forEach(function (game) {\r\n var rows = [];\r\n var rowNumbers = [];\r\n\r\n // Eurojackpot:\r\n if (game.gameType.toLowerCase() === 'eurojackpot') {\r\n\r\n // Classic:\r\n if (self.playType() === 'Classic') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], starNumbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n row.extraNumbers.forEach(function (number) {\r\n rowNumbers.starNumbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n });\r\n\r\n // System:\r\n } else if (self.playType() === 'System') {\r\n rowNumbers = { count: 0, numbers: [], starNumbers: [], state: 'clean' };\r\n\r\n game.systemNumbers.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n game.systemNumbers.extraNumbers.forEach(function (number) {\r\n rowNumbers.starNumbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n\r\n promises.push(self.gameGenerateRows());\r\n\r\n // Lightning and Lucky:\r\n } else if (self.playType() === 'Lucky' || self.playType() === 'Lightning') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], starNumbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n row.extraNumbers.forEach(function (number) {\r\n rowNumbers.starNumbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedRows(rows);\r\n self.rowsToGenerate(rows.length);\r\n }\r\n\r\n // Joker:\r\n } else {\r\n var gameType = /wednesday/.test(game.gameType.toLowerCase()) ? 'wednesday' : 'saturday';\r\n\r\n rows = [];\r\n\r\n if (gameType === 'wednesday') {\r\n self.withJokerWednesday(true);\r\n } else {\r\n self.withJokerSaturday(true);\r\n }\r\n\r\n game.rows.forEach(function (row, index) {\r\n var rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedJokerRows(gameType.charAt(0).toUpperCase() + gameType.slice(1), rows);\r\n }\r\n\r\n\r\n });\r\n\r\n m.sync(promises).then(function () {\r\n self.save();\r\n\r\n self.ready().resolve();\r\n });\r\n }, function () {\r\n self.ready().reject('coupon-not-found');\r\n });\r\n }.bind(this);\r\n\r\n this.sendToSubscription = function () {\r\n // Tracking for DataLayer\r\n this.trackingAddToCart('plus');\r\n\r\n const link = this.linkToPlusPurchase?.();\r\n\r\n if (link) {\r\n const linkArr = link.split('?');\r\n if (!(linkArr.includes('plus') || linkArr.includes('jackpot'))) linkArr.push('plus');\r\n linkArr.push('mcGameType=eurojackpot');\r\n linkArr.push('mcGameId=' + this.id());\r\n location.href = linkArr.shift() + '?' + linkArr.join('&');\r\n } else {\r\n location.href = '/plus-abonnement/se-kurv?plus&mcGameType=eurojackpot&mcGameId=' + this.id();\r\n }\r\n }.bind(this);\r\n\r\n this.toJSON = function () {\r\n return {\r\n _generatedJokerRowsSaturday: this._generatedJokerRowsSaturday(),\r\n _generatedJokerRowsWednesday: this._generatedJokerRowsWednesday(),\r\n id: this.id(),\r\n state: this.state(),\r\n status: this.status(),\r\n playType: this.playType(),\r\n numberOfDraws: this.numberOfDraws(),\r\n rows: this.rows(),\r\n systemName: this.systemName(),\r\n withJokerSaturday: this.withJokerSaturday(),\r\n withJokerWednesday: this.withJokerWednesday(),\r\n rowsToGenerate: this.rowsToGenerate(),\r\n startUrl: this.startUrl(),\r\n purchaseTracked: this.purchaseTracked(),\r\n _generatedRows: this._generatedRows(),\r\n couponId: this.couponId(),\r\n isProductDetailsTracked: this.isProductDetailsTracked(),\r\n isAddToCartTracked: this.isAddToCartTracked(),\r\n isPurchaseCompleteTracked: this.isPurchaseCompleteTracked(),\r\n firstDepositInfo: this.firstDepositInfo(),\r\n plusSubscriptionJackpot: this.plusSubscriptionJackpot(),\r\n playTogetherDepositType: this.playTogetherDepositType(),\r\n gameVersionNo: this.gameVersionNo(),\r\n verticalType: this.verticalType(),\r\n drawDays: this.drawDays(),\r\n trackedInteractionCreationAction: this.trackedInteractionCreationAction(),\r\n };\r\n }.bind(this);\r\n\r\n // Init:\r\n this.init = function () {\r\n\r\n // Rebuy coupon:\r\n if (this.rebuyCouponId() && this.state() === 'new') {\r\n this.copyFromOldCoupon();\r\n\r\n // Regular coupon:\r\n } else {\r\n if (this.state() === 'new') {\r\n this.addRow();\r\n this.addRow();\r\n\r\n if (this.playType() === 'Lucky') {\r\n this.rowsToGenerate(this.rowsToGenerate() || EurojackpotInfo.getLuckyDefaultRowCount());\r\n }\r\n }\r\n\r\n this.ready().resolve();\r\n }\r\n\r\n }.bind(this);\r\n\r\n });\r\n\r\n EurojackpotGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.gameInstanceId) {\r\n game = EurojackpotGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = EurojackpotGame.construct(options, options.state || 'new');\r\n }\r\n\r\n if (options.linkToPlusPurchase && !game.linkToPlusPurchase) {\r\n game.linkToPlusPurchase = m.prop(options.linkToPlusPurchase);\r\n }\r\n\r\n return game;\r\n };\r\n\r\n // Public functions:\r\n return EurojackpotGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n\r\n return new Dictionary('/NumberGames/Lotto');\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoUtils',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils'\r\n ],\r\n function (Utils) {\r\n\r\n // Public functions:\r\n return {\r\n formatCurrency: Utils.formatCurrency,\r\n formatNumber: Utils.formatNumber,\r\n parseISO8601: Utils.parseISO8601,\r\n formatISO8601: Utils.formatISO8601,\r\n getQueryParam: Utils.getQueryParam,\r\n prepareParamString: Utils.prepareParamString,\r\n getLongDate: Utils.getLongDate,\r\n isMobile: Utils.isMobile,\r\n isTabletDevice: Utils.isTabletDevice,\r\n openCoupon: Utils.openCoupon,\r\n elementFullyScrolledInViewport: Utils.elementFullyScrolledInViewport\r\n };\r\n\r\n });\r\n\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Helpers/SaturdayLottoApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoUtils'\r\n ],\r\n function (m, ApiRequest, LottoUtils) {\r\n\r\n // Variables:\r\n var baseURL = '/dlo/scapi/danskespil/numbergames/lotto';\r\n var baseJokerURL = '/dlo/scapi/danskespil/numbergames/jokersaturday';\r\n var trackingURL = '/dlo/scapi/danskespil/sitecoretracking';\r\n\r\n // Functions:\r\n var prepareParamString = LottoUtils.prepareParamString;\r\n\r\n var createCoupon = function (data) {\r\n var deferred = m.deferred();\r\n\r\n var req = ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/coupon',\r\n data: data\r\n });\r\n\r\n req.then(function (response) {\r\n response = response || {};\r\n\r\n if (response && !response.Message) {\r\n deferred.resolve(response);\r\n } else {\r\n deferred.reject(response);\r\n }\r\n }, function (response) {\r\n response = response || { Message: 'ERROR_NOT_GIVEN' };\r\n\r\n deferred.reject(response);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var createPersonalizedCoupon = function (type, data) {\r\n if (!type) {\r\n return;\r\n }\r\n\r\n return ApiRequest({\r\n method: 'POST',\r\n background: false,\r\n url: trackingURL + '/set' + (type.slice(0, 1).toUpperCase() + type.slice(1)) + 'Coupon',\r\n data: {\r\n brandName: 'lotto',\r\n componentDataJson: data\r\n },\r\n timeout: 1\r\n });\r\n };\r\n\r\n var clearPersonalizedCoupon = function (gameType) {\r\n return ApiRequest({\r\n method: 'POST',\r\n url: trackingURL + '/clearCustomCoupon',\r\n data: {\r\n brandName: 'lotto',\r\n gameType: gameType,\r\n componentDataJson: null\r\n },\r\n timeout: 1\r\n });\r\n };\r\n\r\n var getCompletedDrawDates = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/completedDrawDates' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response && response.drawDates ? response.drawDates : [];\r\n }\r\n });\r\n };\r\n\r\n var getWinningNumbersLotto = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/winningNumbers' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getLottoInfo = function () {\r\n return ApiRequest({\r\n url: baseURL + '/gameinformation',\r\n });\r\n };\r\n\r\n var getRandomNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.rows) {\r\n response.rows.map(function (row) {\r\n rows.push(row.numbers);\r\n });\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getRandomJokerNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseJokerURL + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.length > 0) {\r\n for (var i = 0; i < response.length; i++) {\r\n rows.push(response[i].split(''));\r\n }\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getSystemKeys = function (systemName) {\r\n var deferred = m.deferred();\r\n\r\n var params = prepareParamString({ systemName: systemName });\r\n\r\n ApiRequest({\r\n url: baseURL + '/gameSystemKeys' + params,\r\n localCacheTTL: 60 * 60 * 24 * 30, // 30 days\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n }).then(function (data) {\r\n if (data && data.keys) {\r\n deferred.resolve(data.keys);\r\n } else {\r\n deferred.reject();\r\n }\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getSystemWinningProbabilities = function (systemName) {\r\n var deferred = m.deferred();\r\n var params = prepareParamString({ systemName: systemName });\r\n\r\n ApiRequest({\r\n url: baseURL + '/gameSystemwinningprobabilities' + params,\r\n localCacheTTL: 60 * 60 * 24, // 1 day\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n }).then(function (data) {\r\n if (data) {\r\n deferred.resolve(data);\r\n } else {\r\n deferred.reject();\r\n }\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getCoupon = function (couponId) {\r\n var options = { couponId: couponId };\r\n var params = prepareParamString(options);\r\n return ApiRequest({\r\n url: baseURL + '/coupon' + params\r\n });\r\n };\r\n\r\n var getSubscribeReminder = function () {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/subscribeReminder'\r\n });\r\n };\r\n\r\n var setSubscribeReminder = function (subscribe) {\r\n return ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/subscribeReminder?subscribe=' + subscribe\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n createCoupon: createCoupon,\r\n createPersonalizedCoupon: createPersonalizedCoupon,\r\n clearPersonalizedCoupon: clearPersonalizedCoupon,\r\n getCompletedDrawDates: getCompletedDrawDates,\r\n getWinningNumbersLotto: getWinningNumbersLotto,\r\n getLottoInfo: getLottoInfo,\r\n getRandomNumbers: getRandomNumbers,\r\n getRandomJokerNumbers: getRandomJokerNumbers,\r\n getSystemKeys: getSystemKeys,\r\n getCoupon: getCoupon,\r\n getSystemWinningProbabilities: getSystemWinningProbabilities,\r\n getSubscribeReminder: getSubscribeReminder,\r\n setSubscribeReminder: setSubscribeReminder\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Helpers/WednesdayLottoApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoUtils'\r\n ],\r\n function (ApiRequest, LottoUtils) {\r\n\r\n // Variables:\r\n var baseURL = '/dlo/scapi/danskespil/numbergames/onsdagslotto';\r\n var baseJokerURL = '/dlo/scapi/danskespil/numbergames/jokerwednesday';\r\n\r\n // Functions:\r\n var prepareParamString = LottoUtils.prepareParamString;\r\n\r\n var getCompletedDrawDates = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/completedDrawDates' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response && response.drawDates ? response.drawDates : [];\r\n }\r\n });\r\n };\r\n\r\n var getWinningNumbersLotto = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/winningNumbers' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getRandomJokerNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseJokerURL + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.length > 0) {\r\n for (var i = 0; i < response.length; i++) {\r\n rows.push(response[i].split(''));\r\n }\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n getCompletedDrawDates: getCompletedDrawDates,\r\n getWinningNumbersLotto: getWinningNumbersLotto,\r\n getRandomJokerNumbers: getRandomJokerNumbers,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n [\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/SaturdayLottoApi',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n ],\r\n function (SaturdayLottoApi, m, Storage) {\r\n\r\n // Variables:\r\n var data = m.prop({});\r\n var isFeedDown = m.prop(false);\r\n var ready = m.deferred();\r\n\r\n // Functions:\r\n var Base = function (data, jokerData) {\r\n\r\n if (!data()) {\r\n console.error('Error: data() is empty');\r\n data = m.prop({});\r\n }\r\n\r\n // Test scenario: no data()\r\n /// /////////////////////////////////////////////\r\n // data = m.prop({});\r\n /// /////////////////////////////////////////////\r\n\r\n this.data = data;\r\n this.jokerData = jokerData;\r\n this.playSystems = m.prop();\r\n this.noOpenDraw = m.prop(isFeedDown() ? false : !data() || !data().openDraw);\r\n\r\n this.getJokerPrice = function () {\r\n var jokerData = this.jokerData();\r\n\r\n if (jokerData && jokerData.openDraw && jokerData.openDraw.rowPrice) {\r\n return jokerData.openDraw.rowPrice;\r\n }\r\n\r\n return jokerData && jokerData.draws && jokerData.draws[0] && jokerData.draws[0].rowPrice ? jokerData.draws[0].rowPrice : 0;\r\n };\r\n\r\n // Draw repeat options:\r\n this.getDrawRepeatOptions = function () {\r\n var options = data() && data().drawRepeatOptions && data().drawRepeatOptions.options ? data().drawRepeatOptions.options : [];\r\n\r\n // Filter: Draw repeat value should not be higher than known amount of upcoming draws:\r\n options = options.filter(function (v) {\r\n return v <= data().draws.length;\r\n });\r\n\r\n // Sort\r\n options.sort(function (a, b) { return a > b ? 1 : -1; });\r\n\r\n return options;\r\n };\r\n\r\n this.getDrawRepeatMax = function () {\r\n return data().drawRepeatMax;\r\n };\r\n\r\n this.getDrawRepeatDefault = function () {\r\n return data().drawRepeatOptions && data().drawRepeatOptions.default ? data().drawRepeatOptions.default : 1;\r\n };\r\n\r\n // Classic Options:\r\n this.getClassicOptions = function () {\r\n return data().classicOptions?.options || [1, 2, 3, 4, 5, 10, 20, 50];\r\n };\r\n\r\n this.getClassicDefaultRowCount = function () {\r\n return data().classicOptions?.default || 3;\r\n };\r\n\r\n // Lightning options:\r\n this.getLightningOptions = function () {\r\n return data().lightningOptions && data().lightningOptions.options ? data().lightningOptions.options : [1, 2, 3, 4, 5];\r\n };\r\n\r\n this.getLightningDefaultRowCount = function () {\r\n return data().lightningOptions && data().lightningOptions.default ? data().lightningOptions.default : 10;\r\n };\r\n\r\n // Campaign options:\r\n this.getCampaignOptions = function () {\r\n return (((data().campaign || {}).campaignOptions || {}).options) || [1, 2, 3, 4, 5, 10];\r\n };\r\n\r\n this.getCampaignDefaultRowCount = function () {\r\n return (((data().campaign || {}).campaignOptions || {}).default) || 10;\r\n };\r\n\r\n // Lucky options:\r\n this.getLuckyRowOptions = function () {\r\n return data().luckyOptions && data().luckyOptions.options ? data().luckyOptions.options : [10, 20, 30, 40, 50];\r\n };\r\n\r\n this.getLuckyDefaultRowCount = function () {\r\n return data().luckyOptions && data().luckyOptions.default ? data().luckyOptions.default : 10;\r\n };\r\n\r\n // Play systems:\r\n this.getPlaySystems = function () {\r\n if (this.playSystems()) {\r\n // Cache\r\n return this.playSystems();\r\n }\r\n\r\n var systemNames = this.data().playSystems;\r\n\r\n this.playSystems(systemNames.map(function (name) {\r\n var splitted = name.split(' ');\r\n var counts = splitted[1].split('-');\r\n return ({ name: name, type: splitted[0], selectedNumbersCount: counts[0], rowsCount: counts[1] });\r\n }));\r\n\r\n return this.playSystems();\r\n }.bind(this);\r\n\r\n // System names:\r\n this.getSystemNames = function (type) {\r\n var systems = this.getPlaySystems();\r\n var names = [];\r\n\r\n for (var i = 0; i < systems.length; i++) {\r\n if (!type || systems[i].type === type) {\r\n names.push(systems[i].name);\r\n }\r\n }\r\n\r\n return names;\r\n }.bind(this);\r\n\r\n // Open draw:\r\n this.getOpenDraw = function (type) {\r\n var data = (type === 'joker' ? this.jokerData() : this.data());\r\n\r\n return data ? data.openDraw : null;\r\n }.bind(this);\r\n\r\n };\r\n\r\n var saturday = function () {\r\n return new Base(m.prop(data().lottoSaturday), m.prop(data().jokerSaturday));\r\n };\r\n\r\n var feedValid = function (str) {\r\n try {\r\n var json = JSON.parse(str);\r\n\r\n return json && typeof json.lottoSaturday !== 'undefined' && json.lottoSaturday.openDraw;\r\n } catch (error) {\r\n }\r\n\r\n return false;\r\n };\r\n\r\n var storeToCache = function (json) {\r\n // Store with TTL 2 min.\r\n Storage.set('LottoInfoFeed', json ? JSON.stringify(json) : null, 120);\r\n };\r\n\r\n // Initialize:\r\n var init = function () {\r\n\r\n // 1) LOOK IN DOM\r\n var $lottoFeedData = document.querySelector('#lotto-info');\r\n if ($lottoFeedData) {\r\n var domData = $lottoFeedData.innerHTML;\r\n\r\n if (feedValid(domData)) {\r\n var domJson = JSON.parse(domData);\r\n data(domJson);\r\n\r\n // Store to cache\r\n storeToCache(domJson);\r\n ready.resolve();\r\n return;\r\n }\r\n }\r\n\r\n // 2) LOOK IN LOCALSTORAGE\r\n var cacheData = Storage.get('LottoInfoFeed');\r\n\r\n if (!cacheData || !feedValid(cacheData)) {\r\n // Clear cache\r\n storeToCache(null);\r\n } else {\r\n // Use cache\r\n data(JSON.parse(cacheData));\r\n\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n\r\n // 3) LOAD INFO FROM FEED\r\n\r\n SaturdayLottoApi.getLottoInfo().then(function (d) {\r\n data(d);\r\n\r\n // Store to cache\r\n storeToCache(d);\r\n\r\n ready.resolve();\r\n }, function () {\r\n isFeedDown(true);\r\n\r\n ready.resolve();\r\n\r\n console.error('### LOTTOINFO FEED DOWN ###');\r\n });\r\n };\r\n\r\n init();\r\n\r\n // Public functions:\r\n return {\r\n data: data,\r\n isFeedDown: isFeedDown,\r\n ready: ready.promise,\r\n saturday: saturday\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/SaturdayLottoApi',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/WednesdayLottoApi',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoUtils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (m, Model, SaturdayLottoApi, WednesdayLottoApi, LottoInfo, LottoUtils, DataLayer) {\r\n\r\n // Model:\r\n var LottoGame = Model('LottoGame', function (content) {\r\n\r\n // Dispatch functions for feed and api:\r\n this.infoFeed = function () {\r\n return LottoInfo.saturday();\r\n }.bind(this);\r\n\r\n this.api = function () {\r\n return SaturdayLottoApi;\r\n }.bind(this);\r\n\r\n // Variables:\r\n this._generatedRows = m.prop(content._generatedRows || []); // Use function generatedRows for reaching this\r\n this._generatedJokerRowsSaturday = m.prop(content._generatedJokerRowsSaturday || []);\r\n this._generatedJokerRowsWednesday = m.prop(content._generatedJokerRowsWednesday || []);\r\n this.couponId = m.prop(content.couponId || null);\r\n this.extraCouponId = m.prop(content.extraCouponId || null);\r\n this.gameType = m.prop('saturday'); // For legacy wednesday/saturday stuff\r\n this.numberOfDraws = m.prop(typeof content.numberOfDraws !== 'undefined' ? content.numberOfDraws : this.infoFeed().getDrawRepeatDefault()); // NEED TO USE TYPEOF UNDEFINED CHECK HERE, BECAUSE 0 IS A VALID OPTION\r\n this.firstDrawNo = m.prop(content.firstDrawNo);\r\n this.firstWagerPrice = m.prop(content.firstWagerPrice || null);\r\n this.upsellExtra = m.prop(content.upsellExtra);\r\n this.getDrawRepeatMax = m.prop(this.infoFeed().getDrawRepeatMax());\r\n this.numbersIntervalMax = m.prop(36);\r\n this.playType = m.prop(content.playType || null);\r\n this.purchaseTracked = m.prop(content.purchaseTracked || false);\r\n this.ready = m.prop(m.deferred());\r\n this.rebuyCouponId = m.prop(content.rebuyCouponId || null);\r\n this.rows = m.prop(content.rows || []);\r\n this.rowsToGenerate = m.prop(content.rowsToGenerate || 0); // For playtypes Lightning and Lucky\r\n this.startUrl = m.prop(content.startUrl || window.location.href.split('?')[0]);\r\n this.status = m.prop(content.status || 'open');\r\n this.systemName = m.prop(content.systemName || (this.playType() === 'System' ? 'M 8-8' : null)); // Required by LottoSystem\r\n // we want to check the typeof `withJoker...` as it would be set to `false` when the user selects `no joker`\r\n // if the game instance is new or the user has not interacted with the joker selector than we want to set it to `null`\r\n this.withJokerSaturday = m.prop(typeof content.withJokerSaturday === 'boolean' ? content.withJokerSaturday : null);\r\n this.withJokerWednesday = m.prop(typeof content.withJokerWednesday === 'boolean' ? content.withJokerWednesday : null);\r\n this.isProductDetailsTracked = m.prop(content.isProductDetailsTracked || false);\r\n this.isAddToCartTracked = m.prop(content.isAddToCartTracked || false);\r\n this.isPurchaseCompleteTracked = m.prop(content.isPurchaseCompleteTracked || false);\r\n this.plusSubscriptionJackpot = m.prop(content.plusSubscriptionJackpot || null);\r\n this.firstDepositInfo = m.prop(content.firstDepositInfo || null);\r\n this.playTogetherDepositType = m.prop(content.playTogetherDepositType || null);\r\n this.rowPriceChanged = m.prop(false);\r\n this.originalNumberOfDraws = m.prop(null);\r\n this.originalPrice = m.prop(null);\r\n this.originalExtraDraw = m.prop(null);\r\n this.reducedWeeks = m.prop(false);\r\n this.verticalType = m.prop(content.verticalType);\r\n this.clientContext = m.prop(content.clientContext || null);\r\n this.trackedInteractionCreationAction = m.prop(content.trackedInteractionCreationAction || null);\r\n\r\n // Constants:\r\n this.classicMaxRows = m.prop(50);\r\n this.numberOfDrawsOptions = m.prop(this.infoFeed().getDrawRepeatOptions());\r\n this.stakePerJoker = m.prop(this.infoFeed().getJokerPrice());\r\n // drawDays is an array of booleans, where each index represents a day of the week, starting with Monday\r\n this.drawDays = m.prop([false, false, false, false, false, true, false]);\r\n\r\n // Functions:\r\n this.numbersPerRowMin = function () {\r\n return this.numbersPerRow('min');\r\n }.bind(this);\r\n\r\n this.numbersPerRowMax = function () {\r\n return this.numbersPerRow('max');\r\n }.bind(this);\r\n\r\n this.numbersPerRow = function (type) {\r\n var playType = this.playType();\r\n\r\n // Classic:\r\n if (playType === 'Classic') {\r\n return 7;\r\n\r\n // Lucky:\r\n } else if (playType === 'Lucky') {\r\n return type === 'min' ? 1 : 6;\r\n }\r\n\r\n // System:\r\n var minimum = 0;\r\n var playSystems = this.infoFeed().getPlaySystems();\r\n var systemName = this.systemName() || playSystems[0].name;\r\n\r\n for (var i = 0; i < playSystems.length; i++) {\r\n var playSystem = playSystems[i];\r\n\r\n if (playSystem.name === systemName) {\r\n minimum = parseInt(playSystem.selectedNumbersCount, 10);\r\n\r\n break;\r\n }\r\n }\r\n\r\n return minimum;\r\n }.bind(this);\r\n\r\n // Functions - For manipulating rows:\r\n this.rowCount = function () {\r\n var count = 0;\r\n var rows = this.rows();\r\n var amount = rows.length;\r\n\r\n for (var i = 0; i < amount; i++) {\r\n var row = rows[i];\r\n\r\n if (row.count > count) {\r\n count = row.count + 1;\r\n } else {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }.bind(this);\r\n\r\n this.sortRow = function (numbers) {\r\n numbers.sort(function (a, b) {\r\n return a.number < b.number ? -1 : 1;\r\n });\r\n\r\n return numbers;\r\n };\r\n\r\n this.addNumber = function (row, number, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n if (row.numbers.length >= this.numbersPerRowMax()) {\r\n return;\r\n }\r\n\r\n row.numbers.push({ number: number, autogenerated: autogenerated || false });\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var index = -1;\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n index = i;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n row.numbers.splice(index, 1);\r\n }\r\n\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addRow = function (numbers) {\r\n numbers = numbers || [];\r\n\r\n var count = this.rowCount();\r\n\r\n this.rows().push({ count: count, numbers: numbers, state: 'clean' });\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeRow = function (row) {\r\n var rows = this.rows();\r\n\r\n rows.splice(row - 1, 1);\r\n\r\n this.rows(rows);\r\n\r\n if (rows.length === 0) {\r\n this.addRow();\r\n }\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeAllRows = function () {\r\n this.rows([]);\r\n\r\n this.addRow();\r\n this.addRow();\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.resetRow = function (rowNumber) {\r\n var row = this.getRow(rowNumber);\r\n\r\n row.numbers = [];\r\n row.state = 'clean';\r\n\r\n this.setRow(rowNumber, row);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setRow = function (row, content) {\r\n var rows = this.rows();\r\n rows[row - 1] = content;\r\n this.rows(rows);\r\n this.save();\r\n }.bind(this);\r\n\r\n // Classic and System: generate numbers for a specific row:\r\n this.autogenerateNumbers = function (rowNumber) {\r\n var playType = this.playType();\r\n\r\n if (['Classic', 'System'].indexOf(playType) === -1) {\r\n console.error('LottoGame autogenerateNumbers: This method cannot be used for playType', playType);\r\n\r\n return;\r\n }\r\n\r\n var self = this;\r\n var deferred = m.deferred();\r\n var row = this.getRow(rowNumber);\r\n var numbers = [];\r\n\r\n // Prepare list of existing user selected numbers:\r\n for (var i = 0; i < row.numbers.length; i++) {\r\n var number = row.numbers[i];\r\n\r\n if (!number.autogenerated) {\r\n numbers.push(number.number);\r\n }\r\n }\r\n\r\n // Setup options for random service:\r\n var options = { playType: playType, rowsToGenerate: 1, requiredNumbers: numbers };\r\n\r\n if (playType === 'System') {\r\n options.system = this.systemName();\r\n }\r\n\r\n // Call service:\r\n this.api().getRandomNumbers(options).then(function (rows) {\r\n rows = rows[0];\r\n\r\n const manualSelectedNumbers = row.numbers.filter((number) => !number.autogenerated);\r\n row.numbers = manualSelectedNumbers;\r\n self.setRow(rowNumber, row);\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var generatedNumber = rows[i];\r\n\r\n if (generatedNumber && numbers.indexOf(generatedNumber) === -1) {\r\n self.addNumber(rowNumber, generatedNumber, true);\r\n }\r\n }\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.generateSystemRows = function () {\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n this.api().getSystemKeys(this.systemName()).then(function (systemKeys) {\r\n if (systemKeys) {\r\n var generatedRows = [];\r\n\r\n if (self.isGameValid()) {\r\n var selectedNumbers = self.getRow(1).numbers;\r\n\r\n // Merge users selected numbers into the system key\r\n generatedRows = systemKeys.map(function (row, i) {\r\n var numbers = row.map(function (index) {\r\n // replace each index with the numbers chosen by the user\r\n return { number: selectedNumbers[index - 1].number, autogenerated: true };\r\n });\r\n\r\n return { count: i, numbers: numbers, state: 'clean' };\r\n });\r\n\r\n } else {\r\n\r\n // Just use the pure system key\r\n generatedRows = systemKeys.map(function (row, i) {\r\n var numbers = row.map(function (index) {\r\n return { number: index, autogenerated: true };\r\n });\r\n return { count: i, numbers: numbers, state: 'clean' };\r\n });\r\n\r\n }\r\n\r\n deferred.resolve(generatedRows);\r\n }\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.areAllRowsValid = () => {\r\n return this.rows().every((row) => this.isRowValid(row.count + 1));\r\n };\r\n\r\n this.autofillClassicRows = async () => {\r\n const promises = [];\r\n const emptyRows = [];\r\n for (let i = 0; i < this.rows().length; i++) {\r\n const row = this.rows()[i];\r\n const rowNumber = row.count + 1;\r\n if (!this.isRowValid(rowNumber)) {\r\n if (row.numbers.length > 0) {\r\n promises.push(this.autogenerateNumbers(rowNumber));\r\n } else {\r\n emptyRows.push(row);\r\n }\r\n }\r\n }\r\n if (emptyRows.length > 0) {\r\n const fullyGeneratedRows = this.api().getRandomNumbers({ rowsToGenerate: emptyRows.length }).then((rowsNumbers) => {\r\n for (let i = 0; i < rowsNumbers.length; i++) {\r\n const rowNumbers = rowsNumbers[i];\r\n const emptyRow = emptyRows[i];\r\n for (let j = 0; j < rowNumbers.length; j++) {\r\n this.addNumber(emptyRow.count + 1, rowNumbers[j], true);\r\n }\r\n }\r\n });\r\n promises.push(fullyGeneratedRows);\r\n }\r\n await Promise.all(promises);\r\n\r\n this.save();\r\n };\r\n\r\n // Lightning, Lucky and System: generate output rows:\r\n this.gameGenerateRows = function () {\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n if (['Lightning', 'Lucky', 'System'].indexOf(this.playType()) === -1) {\r\n console.error('LottoGame gameGenerateRows: This method cannot be used for playType', this.playType());\r\n\r\n deferred.reject();\r\n\r\n return;\r\n }\r\n\r\n if (this.playType() === 'System') {\r\n\r\n // System:\r\n this.generateSystemRows().then(function (generatedRows) {\r\n self.generatedRows(generatedRows);\r\n\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n } else {\r\n\r\n // Lightning and Lucky:\r\n var row = this.getRow(1);\r\n var requiredNumbers = [];\r\n\r\n if (row && row.numbers.length > 0) {\r\n requiredNumbers = row.numbers.map(function (number) {\r\n return number.number;\r\n });\r\n }\r\n\r\n var options = { rowsToGenerate: this.rowsToGenerate() };\r\n\r\n if (this.playType() === 'Lucky') {\r\n options.requiredNumbers = requiredNumbers.join(',');\r\n }\r\n\r\n this.api().getRandomNumbers(options).then(function (rows) {\r\n var generatedRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.map(function (number) { return { number: number, autogenerated: true }; });\r\n\r\n generatedRows.push({ count: i, numbers: numbers, state: 'clean' });\r\n }\r\n\r\n self.generatedRows(generatedRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n }).bind(this);\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.gameGenerateJokerRows = function (type) {\r\n var api = type === 'Wednesday' ? WednesdayLottoApi : SaturdayLottoApi;\r\n var deferred = m.deferred();\r\n var self = this;\r\n\r\n api.getRandomJokerNumbers().then(function (rows) {\r\n var generatedJokerRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.map(function (number) { return { number: number, autogenerated: true }; });\r\n\r\n generatedJokerRows.push({ count: i, numbers: numbers, state: 'clean' });\r\n }\r\n\r\n self.generatedJokerRows(type, generatedJokerRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n // Functions for number of draws:\r\n this.setNumberOfDraws = function (draws) {\r\n this.numberOfDraws(draws);\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setFirstDrawNo = function (firstDrawNo) {\r\n this.firstDrawNo(firstDrawNo);\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setUpsellExtra = (state) => {\r\n this.upsellExtra(state);\r\n this.save();\r\n };\r\n\r\n // Functions for purchase:\r\n this.purchase = function (params) {\r\n params = params || {};\r\n\r\n var deferred = m.deferred();\r\n var proceed = true;\r\n var self = this;\r\n\r\n if (this.status() != 'open') {\r\n deferred.reject();\r\n } else if (!params.drawId) {\r\n console.error('No drawId given.');\r\n\r\n deferred.reject({ errorMessage: 'NUMBERGAMES.NO_OPEN_DRAW' });\r\n } else {\r\n this.status('pending-confirmation');\r\n\r\n this.save();\r\n\r\n var rows = this.playType() === 'System' ? this.getRowsSummary(false) : this.getRowsSummary();\r\n var rowNumbers = rows.map(function (row) { return { numbers: row }; });\r\n\r\n var options = {\r\n upsellExtra: this.upsellExtra() || false,\r\n drawId: params.drawId,\r\n firstDrawNo: this.firstDrawNo() || null,\r\n totalPrice: parseInt(self.totalPrice(), 10),\r\n multidraw: parseInt(self.numberOfDraws(), 10),\r\n playType: this.playType() || null,\r\n rows: rowNumbers,\r\n salesChannel: (LottoUtils.isMobile() || LottoUtils.isTabletDevice()) ? 'mobile' : 'web'\r\n };\r\n\r\n // Prize notification - register only enabling:\r\n if (params.notifyPrizeEmail) {\r\n options.notifyPrizeEmail = true;\r\n }\r\n\r\n if (params.notifyPrizeSms) {\r\n options.notifyPrizeSms = true;\r\n }\r\n\r\n // Jokers:\r\n if (this.withJokerSaturday()) {\r\n options.jokerSaturdayRows = this.getJokerRowsSummary('Saturday');\r\n\r\n if (options.jokerSaturdayRows.length === 0) {\r\n proceed = false;\r\n\r\n deferred.reject('joker-saturday-error');\r\n }\r\n }\r\n\r\n if (this.withJokerWednesday()) {\r\n options.jokerWednesdayRows = this.getJokerRowsSummary('Wednesday');\r\n\r\n if (options.jokerWednesdayRows.length === 0) {\r\n proceed = false;\r\n\r\n deferred.reject('joker-wednesday-error');\r\n }\r\n }\r\n\r\n // Proceed:\r\n if (proceed) {\r\n\r\n // System:\r\n if (this.playType() === 'System') {\r\n options.system = this.systemName();\r\n }\r\n\r\n // Create request:\r\n var request = this.api().createCoupon(options);\r\n\r\n request.then(function (data) {\r\n self.status('completed');\r\n\r\n self.couponId(data.couponId);\r\n if (data.extraCouponId) {\r\n self.extraCouponId(data.extraCouponId);\r\n }\r\n\r\n self.save();\r\n\r\n deferred.resolve(data);\r\n }, function (data) {\r\n self.status('open');\r\n self.save();\r\n\r\n deferred.reject(data);\r\n });\r\n\r\n }\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.prepareConfirm = function () {\r\n var confirmUrl = this.confirmUrl();\r\n var deferred = m.deferred();\r\n var playType = this.playType();\r\n var status = this.status();\r\n\r\n if (status !== 'processing') {\r\n var promises = playType !== 'Classic' ? [this.gameGenerateRows()] : [];\r\n var self = this;\r\n\r\n if (status === 'prepare-confirm-error') {\r\n status = 'open';\r\n }\r\n\r\n this.status(this.numberOfDraws() > 0 ? 'processing' : status);\r\n\r\n if (this.withJokerSaturday()) {\r\n promises.push(this.gameGenerateJokerRows('Saturday'));\r\n }\r\n\r\n if (this.withJokerWednesday()) {\r\n promises.push(this.gameGenerateJokerRows('Wednesday'));\r\n }\r\n\r\n m.sync(promises).then(function () {\r\n self.status(status);\r\n self.save();\r\n\r\n deferred.resolve(confirmUrl);\r\n }, function () {\r\n self.status('prepare-confirm-error');\r\n\r\n self.save();\r\n\r\n deferred.reject();\r\n });\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n // Functions - For tracking (DataLayer eCommerce buzzword)\r\n\r\n this.createDataLayerJoker = function (day, subscription) {\r\n var joker;\r\n\r\n if (!subscription) {\r\n joker = {\r\n name: 'joker',\r\n price: DataLayer.rowPrice(this.stakePerJoker(), this.numberOfDraws(), 'joker'),\r\n brand: 'dlo_jok',\r\n category: DataLayer.categoryName(this.playType()),\r\n variant: DataLayer.variantName('joker', this.numberOfDraws(), day),\r\n quantity: 1\r\n };\r\n }\r\n\r\n if (subscription) {\r\n joker = {\r\n name: 'plus',\r\n price: DataLayer.rowPrice(this.stakePerJoker(), this.numberOfDraws(), 'plus_joker'),\r\n brand: 'dlo_plu',\r\n category: DataLayer.categoryName(this.playType()),\r\n variant: DataLayer.variantName('plus_joker', this.numberOfDraws(), day),\r\n quantity: 1\r\n };\r\n }\r\n\r\n if (this.trackedInteractionCreationAction()) {\r\n joker.coupon = this.trackedInteractionCreationAction();\r\n }\r\n\r\n return joker;\r\n };\r\n\r\n this.createDataLayerProduct = function (type, event) {\r\n // Product array for datalayer\r\n var dataLayerProducts = [];\r\n var product = {};\r\n var subscription = type === 'plus';\r\n const hasExtraDraws = this.gameExtraDraws().length > 0;\r\n const hasUpsellExtra = this.upsellExtra();\r\n const isAdvanceBuy = this.firstDrawNo();\r\n\r\n // Main product\r\n if (type === 'plus') {\r\n // subscription product (PLUS abodoment)\r\n product.name = 'plus';\r\n product.price = DataLayer.rowPrice(this.infoFeed().data(), this.numberOfDraws(), 'plus');\r\n product.brand = 'dlo_plu';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('plus_lotto', this.numberOfDraws(), this.playType(), this.systemName());\r\n product.quantity = this.getRowAmount();\r\n } else {\r\n product.name = 'lotto';\r\n product.price = DataLayer.rowPrice(this.infoFeed().data(), this.numberOfDraws());\r\n product.brand = 'dlo_lot';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('lotto', this.numberOfDraws(), this.playType(), this.systemName());\r\n\r\n if (type === 'playtogether') {\r\n product.category = 'spil_sammen';\r\n }\r\n\r\n if (event != 'productDetails') {\r\n product.quantity = this.getRowAmount();\r\n }\r\n\r\n if (this.trackedInteractionCreationAction()) {\r\n product.coupon = this.trackedInteractionCreationAction();\r\n }\r\n }\r\n\r\n if (type !== 'plus' && hasExtraDraws && !hasUpsellExtra) {\r\n product.price = DataLayer.rowPrice(this.infoFeed().data(), (this.numberOfDraws() - this.gameExtraDraws().length));\r\n }\r\n\r\n if (!isAdvanceBuy) {\r\n dataLayerProducts.push(product);\r\n }\r\n\r\n if (type !== 'plus') {\r\n if (hasExtraDraws || hasUpsellExtra || isAdvanceBuy) {\r\n const productCopy = { ...product };\r\n productCopy.name = 'julelotto';\r\n if (hasExtraDraws || hasUpsellExtra) {\r\n productCopy.price = DataLayer.rowPrice(this.infoFeed().data(), this.gameExtraDraws().length);\r\n }\r\n if (hasExtraDraws) {\r\n productCopy.coupon = 'purchase_with_extra_draw';\r\n }\r\n if (hasUpsellExtra) {\r\n productCopy.coupon = 'purchase_with_upsell';\r\n }\r\n if (isAdvanceBuy) {\r\n productCopy.coupon = 'purchase_advance_draw';\r\n }\r\n\r\n dataLayerProducts.push(productCopy);\r\n }\r\n }\r\n\r\n // Check for joker saturday\r\n if (this.withJokerSaturday()) {\r\n !subscription ? dataLayerProducts.push(this.createDataLayerJoker('saturday')) : dataLayerProducts.push(this.createDataLayerJoker('saturday', 'plus'));\r\n }\r\n\r\n // Check for joker wednesday\r\n if (this.withJokerWednesday()) {\r\n !subscription ? dataLayerProducts.push(this.createDataLayerJoker('wednesday')) : dataLayerProducts.push(this.createDataLayerJoker('wednesday', 'plus'));\r\n }\r\n\r\n return dataLayerProducts;\r\n };\r\n\r\n this.trackingAddToCart = function (type) {\r\n if (this.isAddToCartTracked() == false) {\r\n this.isAddToCartTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n if (type == 'plus' || type === 'playtogether') {\r\n DataLayer.addToCart(this.createDataLayerProduct(type));\r\n } else {\r\n DataLayer.addToCart(this.createDataLayerProduct());\r\n }\r\n } else {\r\n console.warn('addToCart has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingProductDetails = function () {\r\n // Check if the event has already been pushed\r\n if (this.isProductDetailsTracked() == false) {\r\n this.isProductDetailsTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n DataLayer.productDetail(this.createDataLayerProduct(false, 'productDetails'));\r\n } else {\r\n console.warn('productDetails has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingPurchaseComplete = function (type) {\r\n if (this.isPurchaseCompleteTracked() == false) {\r\n this.isPurchaseCompleteTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer purchaseComplete Event\r\n DataLayer.purchaseCompleted({\r\n totalPrice: this.totalPrice().toString(),\r\n id: this.couponId() || this.fallbackFakeCouponId()\r\n }, this.createDataLayerProduct(type));\r\n } else {\r\n console.warn('purchaseCompleted has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n // Ensighten will group all events together if the ID is not unique.\r\n // In Playtogether we don't have a couponId upon purchase, so we create a fake one\r\n this.fallbackFakeCouponId = function () {\r\n var couponId = 'NA-LOT-' + Math.random().toString(36).slice(2);\r\n\r\n return couponId;\r\n };\r\n\r\n // Functions - For extracting data:\r\n this.getRow = function (row) {\r\n // Note: the row index starts with 1:\r\n\r\n return this.rows()[row - 1];\r\n }.bind(this);\r\n\r\n this.getRows = function (valid) {\r\n var maximum = this.numbersIntervalMax();\r\n var minimum = 0;\r\n\r\n if (valid === true) {\r\n maximum = this.numbersPerRowMax();\r\n minimum = this.numbersPerRowMin();\r\n }\r\n\r\n return this.rows().filter(function (row) {\r\n return (row.state !== 'remove' && row.numbers.length >= minimum && row.numbers.length <= maximum);\r\n });\r\n }.bind(this);\r\n\r\n this.hasNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }.bind(this);\r\n\r\n this.drawDateHtml = function (delimiter) {\r\n var openDraw = this.infoFeed().data().openDraw;\r\n if (!openDraw || !openDraw.closingTime) {\r\n return '';\r\n }\r\n\r\n delimiter = delimiter || ' - ';\r\n\r\n var closingTime = openDraw.closingTime;\r\n var draws = this.numberOfDraws();\r\n\r\n var date = new Date(closingTime);\r\n\r\n var result = LottoUtils.formatISO8601(date.toISOString(), { includeTime: false });\r\n\r\n if (draws > 1) {\r\n date.setDate(date.getDate() + ((draws - 1) * 7));\r\n result = '' + result + delimiter + LottoUtils.formatISO8601(date.toISOString(), { includeTime: false }) + '';\r\n }\r\n\r\n return result;\r\n }.bind(this);\r\n\r\n this.drawDateHtmlShort = function () {\r\n var dates = this.drawDates();\r\n var firstDate = dates[0];\r\n var lastDate = dates[dates.length - 1];\r\n\r\n // if there's more than one date, output the range. otherwise output the first date.\r\n if (dates.length > 1) {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' - ' + lastDate.draw.getDate() + '/' + (lastDate.draw.getMonth() + 1) + ' ' + lastDate.draw.getFullYear();\r\n } else {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' ' + firstDate.draw.getFullYear();\r\n }\r\n }.bind(this);\r\n\r\n this.drawDates = () => {\r\n var drawDates = [];\r\n var draws = this.numberOfDraws();\r\n var drawsFromLottoInfo = this.infoFeed().data().draws;\r\n var firstDraw = null;\r\n if (this.firstDrawNo()) {\r\n firstDraw = LottoInfo.data().lottoSaturday.draws.filter(function (draw) {\r\n return draw.id === this.firstDrawNo();\r\n }.bind(this))[0];\r\n }\r\n var advanceBuy = !!firstDraw;\r\n firstDraw = firstDraw || LottoInfo.data().lottoSaturday.openDraw;\r\n\r\n\r\n if (!firstDraw || !firstDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n if (drawsFromLottoInfo.length > 0) {\r\n var firstDrawIndex = -1;\r\n for (var i = 0; i < drawsFromLottoInfo.length; i++) {\r\n if (drawsFromLottoInfo[i].id === firstDraw.id) {\r\n firstDrawIndex = i;\r\n break;\r\n }\r\n }\r\n var feedDrawDates = drawsFromLottoInfo.slice(firstDrawIndex, firstDrawIndex + draws);\r\n drawDates = feedDrawDates.map(function (draw) {\r\n let hasJoker = this.withJokerSaturday();\r\n if (draw.drawType?.toLowerCase() !== 'regular') {\r\n hasJoker = false;\r\n }\r\n return {\r\n draw: new Date(draw.closingTime),\r\n hasJoker: hasJoker\r\n };\r\n }.bind(this));\r\n } else {\r\n // TODO: check if this way of getting the drawDates is relevant anymore as we can get them directly from the feed\r\n var closingTime = firstDraw.closingTime;\r\n while (draws--) {\r\n var futureDate = new Date(closingTime);\r\n futureDate.setDate(futureDate.getDate() + (draws * 7));\r\n drawDates.push({\r\n draw: futureDate,\r\n hasJoker: this.withJokerSaturday()\r\n });\r\n }\r\n }\r\n\r\n // if joker on wednesdays are added, add their dates.\r\n if (this.withJokerWednesday()\r\n && LottoInfo.data()\r\n && LottoInfo.data().jokerWednesday) {\r\n\r\n if (LottoInfo.data().jokerWednesday.draws && LottoInfo.data().jokerWednesday.draws.length) {\r\n draws = this.numberOfDraws();\r\n LottoInfo.data().jokerWednesday.draws.forEach((draw) => {\r\n if (!!draws && (!advanceBuy || draw.closingTime >= firstDraw.closingTime)) {\r\n let hasJoker = this.withJokerWednesday();\r\n if (draw.drawType?.toLowerCase() !== 'regular') {\r\n hasJoker = false;\r\n }\r\n drawDates.push({\r\n draw: new Date(draw.closingTime),\r\n hasJoker: hasJoker\r\n });\r\n draws--;\r\n }\r\n });\r\n } else if (LottoInfo.data().jokerWednesday.openDraw && LottoInfo.data().jokerWednesday.openDraw) {\r\n // TODO: check if this way of getting the drawDates is relevant anymore as we can get them directly from the feed\r\n var firstWednesdayJoker = new Date(LottoInfo.data().jokerWednesday.openDraw.closingTime);\r\n\r\n draws = this.numberOfDraws();\r\n while (draws--) {\r\n drawDates.push({\r\n draw: new Date(firstWednesdayJoker),\r\n hasJoker: true\r\n });\r\n firstWednesdayJoker.setDate(firstWednesdayJoker.getDate() + 7);\r\n }\r\n }\r\n }\r\n\r\n if (this.upsellExtra() && this.extraDraw()?.closingTime) {\r\n const extraDrawDate = new Date(this.extraDraw().closingTime);\r\n drawDates.push({\r\n draw: extraDrawDate,\r\n hasJoker: false\r\n });\r\n }\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n };\r\n\r\n this.rawDrawsDataFromInfoFeed = () => {\r\n const drawTimes = this.drawDates().map((draw) => {\r\n return new Date(draw.draw).getTime();\r\n });\r\n\r\n const feedDraws = this.infoFeed().data().draws.filter((feedDraw) => {\r\n const feedDrawTime = new Date(feedDraw.closingTime).getTime();\r\n return drawTimes.includes(feedDrawTime);\r\n });\r\n\r\n return feedDraws;\r\n };\r\n\r\n this.drawDatesWithoutJokerInfo = (numberOfDraws) => {\r\n var drawDates = [];\r\n var openDraw = this.infoFeed().data().openDraw;\r\n var draws = numberOfDraws || this.numberOfDraws();\r\n var drawsFromLottoInfo = this.infoFeed().data().draws;\r\n var firstDraw = this.infoFeed().data().openDraw;\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n if (this.firstDrawNo()) {\r\n firstDraw = LottoInfo.data().lottoSaturday.draws.filter(function (draw) {\r\n return draw.id === this.firstDrawNo();\r\n }.bind(this))[0];\r\n }\r\n\r\n var firstDrawIndex = -1;\r\n\r\n for (var i = 0; i < drawsFromLottoInfo.length; i++) {\r\n if (drawsFromLottoInfo[i].id === firstDraw.id) {\r\n firstDrawIndex = i;\r\n break;\r\n }\r\n }\r\n var feedDrawDates = drawsFromLottoInfo.slice(firstDrawIndex, firstDrawIndex + draws);\r\n drawDates = feedDrawDates.map(function (draw) {\r\n var drawObject = {\r\n draw: new Date(draw.closingTime)\r\n };\r\n\r\n if (draw.campaigns) {\r\n drawObject.campaigns = draw.campaigns;\r\n drawObject.campaignNumbers = draw.campaignNumbers;\r\n drawObject.campaignData = draw.campaignData;\r\n }\r\n if (draw.drawType) drawObject.drawType = draw.drawType;\r\n\r\n return drawObject;\r\n }.bind(this));\r\n\r\n if (this.upsellExtra() && !numberOfDraws && this.extraDraw()?.closingTime) {\r\n const extraDraw = this.extraDraw();\r\n drawDates.push({\r\n draw: new Date(extraDraw.closingTime),\r\n campaigns: extraDraw.campaigns,\r\n campaignNumbers: extraDraw.campaignNumbers,\r\n campaignData: extraDraw.campaignData,\r\n drawType: extraDraw.drawType\r\n });\r\n }\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n };\r\n\r\n this.jokerDrawDates = function (drawDay) {\r\n if (!(LottoInfo.data()\r\n && LottoInfo.data().jokerSaturday\r\n && LottoInfo.data().jokerWednesday\r\n && LottoInfo.data().jokerSaturday.draws\r\n && LottoInfo.data().jokerWednesday.draws)) return;\r\n\r\n if (this.drawDatesWithoutJokerInfo().length === 0) return [];\r\n\r\n var saturdayDraws = LottoInfo.data().jokerSaturday.draws.map(function (draw) {\r\n draw.dayName = 'saturday';\r\n return draw;\r\n });\r\n var wednesdayDraws = LottoInfo.data().jokerWednesday.draws.map(function (draw) {\r\n draw.dayName = 'wednesday';\r\n return draw;\r\n });\r\n var combinedDraws = saturdayDraws.concat(wednesdayDraws);\r\n combinedDraws.sort(function (a, b) {\r\n return (a.closingTime).localeCompare((b.closingTime));\r\n });\r\n\r\n switch (drawDay) {\r\n case 'saturday':\r\n return saturdayDraws.slice(0, this.numberOfDraws());\r\n case 'wednesday':\r\n return wednesdayDraws.slice(0, this.numberOfDraws());\r\n case 'both':\r\n return combinedDraws.slice(0, (this.numberOfDraws() * 2));\r\n }\r\n }.bind(this);\r\n\r\n this.campaignDrawsCount = function (wantedCampaign) {\r\n return this.rawDrawsDataFromInfoFeed().reduce(function (count, draw) {\r\n if (Array.isArray(wantedCampaign)) {\r\n return draw?.campaignNumbers?.some((campaignNumber) => {\r\n return wantedCampaign.includes(campaignNumber);\r\n }) ? ++count : count;\r\n }\r\n if (typeof wantedCampaign === 'number') {\r\n return draw?.campaignNumbers?.includes(wantedCampaign) ? ++count : count;\r\n }\r\n return draw?.campaigns?.some(function (c) {\r\n return c.indexOf(wantedCampaign) === 0;\r\n }) ? ++count : count;\r\n }, 0);\r\n };\r\n\r\n this.generatedRows = function (value) {\r\n var playType = this.playType();\r\n\r\n // Classic and Lightning:\r\n if (playType === 'Classic') {\r\n if (value) {\r\n console.error('LottoGame: play type Classic does not support setting generatedRows.');\r\n }\r\n\r\n return this.getRows(true);\r\n }\r\n\r\n // Lightning, Lucky and System:\r\n if (playType === 'Lightning' || playType === 'Lucky' || playType === 'System') {\r\n if (typeof value !== 'undefined') {\r\n this._generatedRows(value);\r\n }\r\n\r\n return this._generatedRows();\r\n }\r\n }.bind(this);\r\n\r\n this.generatedJokerRows = function (type, value) {\r\n if (value) {\r\n this['_generatedJokerRows' + type](value);\r\n }\r\n\r\n return this['_generatedJokerRows' + type]();\r\n }.bind(this);\r\n\r\n this.checkGeneratedConsistency = function () {\r\n var playType = this.playType();\r\n\r\n // Classic and Lightning:\r\n if (playType === 'Classic' || playType === 'Lightning') {\r\n return true;\r\n }\r\n\r\n // Lucky:\r\n if (playType === 'Lucky') {\r\n return this.generatedRows().length == this.rowsToGenerate();\r\n }\r\n\r\n // System: TODO: check that amount of generated rows corresponds to the chosen system:\r\n if (playType === 'System') {\r\n return this.generatedRows().length == this.getSystemRowAmount();\r\n }\r\n }.bind(this);\r\n\r\n this.getRowsSummary = function (useGenerated) {\r\n useGenerated = typeof useGenerated === 'undefined' ? true : useGenerated;\r\n\r\n var summary = [];\r\n var rows = useGenerated ? this.generatedRows() : this.getRows(true);\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i].numbers.map(function (numbers) { return numbers.number; });\r\n\r\n summary.push(row);\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getJokerRowsSummary = function (type) {\r\n var summary = [];\r\n var rows = this['_generatedJokerRows' + type]();\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i].numbers.map(function (numbers) { return numbers.number; });\r\n\r\n summary.push({ numbers: row });\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getRowAmount = function () {\r\n var playType = this.playType();\r\n\r\n if (['Lucky', 'Lightning'].includes(playType)) {\r\n return this.rowsToGenerate();\r\n }\r\n\r\n if (playType === 'System') {\r\n return this.getSystemRowAmount();\r\n }\r\n\r\n // Classic:\r\n return this.getRows(true).length;\r\n }.bind(this);\r\n\r\n this.rowPrice = function (rowIndex) {\r\n var data = this.infoFeed().data();\r\n var rowPrice = rowIndex !== undefined && data.draws && data.draws[rowIndex] && data.draws[rowIndex].rowPrice ? data.draws[rowIndex].rowPrice : 0;\r\n\r\n return rowPrice;\r\n };\r\n\r\n this.extraDraw = () => {\r\n return this.infoFeed().data()?.draws?.find((draw) => draw.drawType?.toLowerCase() === 'extra');\r\n };\r\n this.gameExtraDraws = () => {\r\n return this.drawDatesWithoutJokerInfo().filter((draw) => draw.drawType?.toLowerCase() === 'extra');\r\n };\r\n\r\n this.extraDrawPrice = () => {\r\n return this.extraDraw()?.rowPrice || 0;\r\n };\r\n\r\n this.totalRowsPricePerDraw = function (drawIndex) {\r\n var rowAmount = this.getRowAmount();\r\n var price = 0;\r\n\r\n if (drawIndex !== undefined) {\r\n return this.rowPrice(drawIndex) * rowAmount;\r\n }\r\n\r\n for (var i = 0; i < this.numberOfDraws() ; i++) {\r\n price += rowAmount * this.rowPrice(i);\r\n }\r\n\r\n if (this.upsellExtra()) {\r\n price += rowAmount * this.extraDrawPrice();\r\n }\r\n\r\n return price;\r\n }.bind(this);\r\n\r\n this.totalPrice = function () { // Required by Purchase bar\r\n\r\n // Calculate total price:\r\n return this.totalJokerPrice() + this.totalRowsPricePerDraw();\r\n }.bind(this);\r\n\r\n this.jokerPrice = function () {\r\n return this.infoFeed().getJokerPrice() * 2;\r\n }.bind(this);\r\n\r\n this.totalJokerPrice = () => {\r\n let numberOfDraws = this.numberOfDraws();\r\n if (this.gameExtraDraws().length > 0 && !this.upsellExtra()) {\r\n numberOfDraws = numberOfDraws - this.gameExtraDraws().length;\r\n }\r\n return this.getJokerCount() * this.stakePerJoker() * (numberOfDraws || 1);\r\n };\r\n\r\n this.getJokerCount = function () {\r\n return (this.withJokerSaturday() ? 2 : 0) + (this.withJokerWednesday() ? 2 : 0);\r\n }.bind(this);\r\n\r\n this.isNumberOfDrawsExceed = function () {\r\n return this.numberOfDraws() > this.infoFeed().data().draws.length;\r\n }.bind(this);\r\n\r\n this.isGameValid = function () { // Required by PurchaseBar\r\n var playType = this.playType();\r\n\r\n // Not valid, if numberOfDraws is higher than known upcoming draws in the feed:\r\n if (this.isNumberOfDrawsExceed()) {\r\n return false;\r\n }\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return (this.systemName() && this.getSystemNumberAmount() == this.getRow(1).numbers.length);\r\n }\r\n\r\n // Lucky, Classic:\r\n if (playType === 'Lucky' || playType === 'Classic') {\r\n return this.getRows(true).length > 0 && (this.totalPrice() > 0 || this.numberOfDraws() === 0);\r\n }\r\n\r\n // Lightning:\r\n return this.totalPrice() > 0 || this.numberOfDraws() === 0;\r\n }.bind(this);\r\n\r\n this.isRowValid = function (rowNumber) {\r\n return this.getRow(rowNumber).numbers.length === this.numbersPerRowMax();\r\n }.bind(this);\r\n\r\n this.isSubscriptionValid = function () {\r\n if (this.playType() === 'System') {\r\n // TODO - CR: System - ingen systemer, der overstiger 2.000 kr. (Kasper har listen, hvis det er)\r\n return true;\r\n }\r\n\r\n // Classic, Lykke, Lyn - mindst 10 rækker\r\n return this.getRowAmount() >= 10;\r\n }.bind(this);\r\n\r\n\r\n // System helpers:\r\n this.getSystemNumberAmount = function () {\r\n return this.systemName() ? this.systemName().split(' ')[1].split('-')[0] : 0;\r\n }.bind(this);\r\n\r\n this.getSystemRowAmount = function () {\r\n return this.systemName() ? this.systemName().split(' ')[1].split('-')[1] : 0;\r\n }.bind(this);\r\n\r\n this.trackPurchase = function () {\r\n var self = this;\r\n\r\n if (!self.purchaseTracked() && self.status() === 'completed') {\r\n window.DSAPI && DSAPI.ready(function () {\r\n self.purchaseTracked(true);\r\n });\r\n\r\n this.trackingPurchaseComplete();\r\n }\r\n }.bind(this);\r\n\r\n this.confirmUrl = function () {\r\n var feed = this.infoFeed();\r\n var data = feed ? feed.data() : null;\r\n\r\n if (data && data.confirmUrl) {\r\n return data.confirmUrl + '?gameInstanceId=' + this.id();\r\n }\r\n\r\n console.error('LottoGame: unable to return confirmUrl, feed is not loaded.');\r\n }.bind(this);\r\n\r\n this.receiptUrl = function () {\r\n var feed = this.infoFeed();\r\n var data = feed ? feed.data() : null;\r\n\r\n if (data && data.receiptUrl) {\r\n return data.receiptUrl + '?gameInstanceId=' + this.id();\r\n }\r\n\r\n console.error('LottoGame: unable to return receiptUrl, feed is not loaded.');\r\n }.bind(this);\r\n\r\n this.cancelUrl = function () {\r\n if (this.rebuyCouponId()) {\r\n // This is called when going from confirm page, back to completed games overview page.\r\n return this.startUrl();\r\n }\r\n\r\n if (this.clientContext() === 'multiClient') {\r\n var multiClientPath = window.location.href.split('#/');\r\n return this.startUrl() + '?gameInstanceId=' + this.id() + '#/' + multiClientPath;\r\n }\r\n\r\n // This is called when going from confirm page, back to game.\r\n return this.startUrl() + '?gameInstanceId=' + this.id();\r\n }.bind(this);\r\n\r\n this.copyFromOldCoupon = function () {\r\n var self = this;\r\n\r\n this.api().getCoupon(this.rebuyCouponId()).then(function (data) {\r\n const extraDraw = data.multiWagers?.find((wager) => wager.drawType?.toLowerCase() === 'extra');\r\n self.numberOfDraws(!data.multiWagers ? 1 : data.multiWagers.length);\r\n self.playType(data.playType);\r\n self.systemName(data.systemName);\r\n self.rowPriceChanged(data.rowPriceChanged);\r\n if (extraDraw) {\r\n self.originalExtraDraw(extraDraw);\r\n }\r\n self.reducedWeeks(data.rebuyDrawRepeatMax && data.rebuyDrawRepeatMax < self.numberOfDraws());\r\n if (!data.rebuyDrawRepeatMax && extraDraw) {\r\n self.reducedWeeks(true);\r\n }\r\n\r\n if (data.multiWagers?.length > 1) {\r\n self.firstWagerPrice(data.multiWagers[0].price);\r\n }\r\n\r\n if (self.rowPriceChanged()) {\r\n self.originalPrice((data.price * self.numberOfDraws()) + self.totalJokerPrice());\r\n }\r\n\r\n if (self.reducedWeeks()) {\r\n self.originalPrice((data.price * self.numberOfDraws()) + self.totalJokerPrice());\r\n self.originalNumberOfDraws(self.numberOfDraws());\r\n self.numberOfDraws(extraDraw ? self.numberOfDraws() - 1 : data.rebuyDrawRepeatMax);\r\n }\r\n\r\n var promises = [];\r\n\r\n // If systemName is defined, set playType to System, otherwise Classic:\r\n if (!self.playType() || self.playType().toLowerCase() === 'unknown') {\r\n self.playType(self.systemName() ? 'System' : 'Classic');\r\n }\r\n\r\n data.games.forEach(function (game) {\r\n var gameType = /wednesday/.test(game.gameType.toLowerCase()) ? 'wednesday' : 'saturday';\r\n var rows = [];\r\n var rowNumbers = [];\r\n\r\n // Lotto:\r\n if (game.gameType.substring(0, 5) === 'Lotto') {\r\n\r\n // Classic:\r\n if (self.playType() === 'Classic') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n });\r\n\r\n // System:\r\n } else if (self.playType() === 'System') {\r\n rowNumbers = { count: 0, numbers: [], state: 'clean' };\r\n\r\n game.systemNumbers.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n self.rows().push(rowNumbers);\r\n\r\n promises.push(self.gameGenerateRows());\r\n\r\n // Lightning and Lucky:\r\n } else if (self.playType() === 'Lucky' || self.playType() === 'Lightning') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedRows(rows);\r\n self.rowsToGenerate(rows.length);\r\n }\r\n\r\n // Joker:\r\n } else {\r\n rows = [];\r\n\r\n if (gameType === 'wednesday') {\r\n self.withJokerWednesday(true);\r\n } else {\r\n self.withJokerSaturday(true);\r\n }\r\n\r\n game.rows.forEach(function (row, index) {\r\n var rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedJokerRows(gameType.charAt(0).toUpperCase() + gameType.slice(1), rows);\r\n }\r\n });\r\n\r\n m.sync(promises).then(function () {\r\n self.save();\r\n\r\n self.ready().resolve();\r\n });\r\n }, function () {\r\n\r\n self.ready().reject('coupon-not-found');\r\n });\r\n }.bind(this);\r\n\r\n this.sendToSubscription = function () {\r\n // Tracking for DataLayer\r\n this.trackingAddToCart('plus');\r\n\r\n const link = this.linkToPlusPurchase?.();\r\n\r\n if (link) {\r\n const linkArr = link.split('?');\r\n if (!(linkArr.includes('plus') || linkArr.includes('jackpot'))) linkArr.push('plus');\r\n linkArr.push('mcGameType=lotto');\r\n linkArr.push('mcGameId=' + this.id());\r\n location.href = linkArr.shift() + '?' + linkArr.join('&');\r\n } else {\r\n location.href = '/plus-abonnement/se-kurv?plus&mcGameType=lotto&mcGameId=' + this.id();\r\n }\r\n }.bind(this);\r\n\r\n this.toJSON = function () {\r\n return {\r\n _generatedRows: this._generatedRows(),\r\n _generatedJokerRowsSaturday: this._generatedJokerRowsSaturday(),\r\n _generatedJokerRowsWednesday: this._generatedJokerRowsWednesday(),\r\n gameType: this.gameType(),\r\n id: this.id(),\r\n numberOfDraws: this.numberOfDraws(),\r\n firstDrawNo: this.firstDrawNo(),\r\n firstWagerPrice: this.firstWagerPrice(),\r\n upsellExtra: this.upsellExtra(),\r\n playType: this.playType(),\r\n purchaseTracked: this.purchaseTracked(),\r\n rows: this.rows(),\r\n rowsToGenerate: this.rowsToGenerate(),\r\n startUrl: this.startUrl(),\r\n state: this.state(),\r\n status: this.status(),\r\n systemName: this.systemName(),\r\n timestamp: this.timestamp(),\r\n withJokerSaturday: this.withJokerSaturday(),\r\n withJokerWednesday: this.withJokerWednesday(),\r\n couponId: this.couponId(),\r\n rebuyCouponId: this.rebuyCouponId(),\r\n extraCouponId: this.extraCouponId(),\r\n isProductDetailsTracked: this.isProductDetailsTracked(),\r\n isAddToCartTracked: this.isAddToCartTracked(),\r\n isPurchaseCompleteTracked: this.isPurchaseCompleteTracked(),\r\n firstDepositInfo: this.firstDepositInfo(),\r\n plusSubscriptionJackpot: this.plusSubscriptionJackpot(),\r\n playTogetherDepositType: this.playTogetherDepositType(),\r\n trackedInteractionCreationAction: this.trackedInteractionCreationAction(),\r\n drawDays: this.drawDays(),\r\n };\r\n }.bind(this);\r\n\r\n // Init:\r\n this.init = function () {\r\n\r\n // Rebuy coupon:\r\n if (this.rebuyCouponId() && this.state() === 'new') {\r\n this.copyFromOldCoupon();\r\n\r\n // Regular coupon:\r\n } else {\r\n if (this.state() === 'new') {\r\n this.addRow();\r\n this.addRow();\r\n\r\n if (this.playType() === 'Lucky') {\r\n this.rowsToGenerate(this.rowsToGenerate() || this.infoFeed().getLuckyDefaultRowCount());\r\n }\r\n }\r\n\r\n this.ready().resolve();\r\n }\r\n\r\n }.bind(this);\r\n\r\n });\r\n\r\n LottoGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.savedCoupon) {\r\n return LottoGame.construct(JSON.parse(options.savedCoupon), 'new');\r\n }\r\n\r\n if (options.gameInstanceId) {\r\n game = LottoGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = LottoGame.construct(options, options.state || 'new');\r\n }\r\n\r\n if (options.linkToPlusPurchase && !game.linkToPlusPurchase) {\r\n game.linkToPlusPurchase = m.prop(options.linkToPlusPurchase);\r\n }\r\n\r\n return game;\r\n };\r\n\r\n // Public functions:\r\n return LottoGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoDictionary',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Dictionary'\r\n ],\r\n function (Dictionary) {\r\n\r\n // Variables:\r\n var vikingLottoDictionary = new Dictionary('/NumberGames/VikingLotto');\r\n\r\n // Public functions:\r\n return vikingLottoDictionary;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoUtils',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils'\r\n ],\r\n function (Utils) {\r\n\r\n // Public functions:\r\n return {\r\n formatCurrency: Utils.formatCurrency,\r\n formatISO8601: Utils.formatISO8601,\r\n formatNumber: Utils.formatNumber,\r\n parseISO8601: Utils.parseISO8601,\r\n getQueryParam: Utils.getQueryParam,\r\n prepareParamString: Utils.prepareParamString,\r\n getLongDate: Utils.getLongDate,\r\n isMobile: Utils.isMobile,\r\n isTabletDevice: Utils.isTabletDevice,\r\n openCoupon: Utils.openCoupon,\r\n elementFullyScrolledInViewport: Utils.elementFullyScrolledInViewport\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoApi',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoUtils'\r\n ],\r\n function (m, ApiRequest, VikingLottoUtils) {\r\n\r\n // Variables:\r\n var baseURL = '/dlo/scapi/danskespil/numbergames/vikinglotto';\r\n var baseJokerURL = '/dlo/scapi/danskespil/numbergames/joker';\r\n\r\n // Functions:\r\n var prepareParamString = VikingLottoUtils.prepareParamString;\r\n\r\n var createCoupon = function (data) {\r\n var deferred = m.deferred();\r\n\r\n var req = ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/coupon',\r\n data: data\r\n });\r\n\r\n req.then(function (response) {\r\n response = response || {};\r\n\r\n if (response && !response.Message) {\r\n deferred.resolve(response);\r\n } else {\r\n deferred.reject(response);\r\n }\r\n }, function (response) {\r\n response = response || { Message: 'ERROR_NOT_GIVEN' };\r\n\r\n deferred.reject(response);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getVikingLottoInfo = function () {\r\n return ApiRequest({\r\n url: baseURL + '/gameInformation'\r\n });\r\n };\r\n\r\n var getCompletedDrawDates = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/completedDrawDates' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response && response.drawDates ? response.drawDates : [];\r\n }\r\n });\r\n };\r\n\r\n var getWinningNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/winningNumbers' + params,\r\n localCacheTTL: 60,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getRandomNumbers = function (options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.rows) {\r\n response.rows.map(function (row) {\r\n rows.push({ numbers: row.numbers, vikingNumber: row.vikingNumber });\r\n });\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getSystemKeys = function (systemName) {\r\n var deferred = m.deferred();\r\n\r\n var params = prepareParamString({ systemName: systemName });\r\n var url = baseURL + '/gameSystemKeys' + params;\r\n\r\n ApiRequest({\r\n url: url,\r\n localCacheTTL: 60 * 60 * 24 * 30, // 30 days\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n }).then(function (data) {\r\n if (data.keys) {\r\n deferred.resolve(data.keys);\r\n } else {\r\n deferred.reject();\r\n }\r\n }, function (error) {\r\n deferred.reject(error);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getSystemWinningProbabilities = function (systemName) {\r\n var deferred = m.deferred();\r\n\r\n var params = prepareParamString({ systemName: systemName });\r\n\r\n ApiRequest({\r\n url: baseURL + '/gameSystemwinningprobabilities' + params,\r\n localCacheTTL: 60 * 60 * 24, // 1 day\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n }).then(function (data) {\r\n if (data) {\r\n deferred.resolve(data);\r\n } else {\r\n deferred.reject();\r\n }\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getCoupon = function (couponId) {\r\n var options = { couponId: couponId };\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseURL + '/coupon' + params,\r\n unwrapSuccess: function (response) {\r\n return response;\r\n }\r\n });\r\n };\r\n\r\n var getRandomJokerNumbers = function (type, options) {\r\n var params = prepareParamString(options);\r\n\r\n return ApiRequest({\r\n url: baseJokerURL + type.toLowerCase() + '/random' + params,\r\n unwrapSuccess: function (response) {\r\n var rows = [];\r\n\r\n if (response && response.length > 0) {\r\n for (var i = 0; i < response.length; i++) {\r\n rows.push(response[i].split(''));\r\n }\r\n }\r\n\r\n return rows;\r\n }\r\n });\r\n };\r\n\r\n var getSubscribeReminder = function () {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseURL + '/subscribeReminder'\r\n });\r\n };\r\n\r\n var setSubscribeReminder = function (subscribe) {\r\n return ApiRequest({\r\n method: 'POST',\r\n url: baseURL + '/subscribeReminder?subscribe=' + subscribe\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n createCoupon: createCoupon,\r\n getCompletedDrawDates: getCompletedDrawDates,\r\n getVikingLottoInfo: getVikingLottoInfo,\r\n getWinningNumbers: getWinningNumbers,\r\n getRandomNumbers: getRandomNumbers,\r\n getSystemKeys: getSystemKeys,\r\n getSystemWinningProbabilities: getSystemWinningProbabilities,\r\n getCoupon: getCoupon,\r\n getRandomJokerNumbers: getRandomJokerNumbers,\r\n getSubscribeReminder: getSubscribeReminder,\r\n setSubscribeReminder: setSubscribeReminder,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoApi',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n ],\r\n function (m, VikingLottoApi, Storage) {\r\n\r\n // Variables:\r\n var data = m.prop({});\r\n var isFeedDown = m.prop(false);\r\n var jokerData = m.prop({});\r\n var noOpenDraw = m.prop(false);\r\n var playSystems = m.prop();\r\n var ready = m.deferred();\r\n\r\n // Functions:\r\n var getDrawRepeatOptions = function () {\r\n var options = data().drawRepeatOptions && data().drawRepeatOptions.options ? data().drawRepeatOptions.options : [];\r\n\r\n // Filter: Draw repeat value should not be higher than known amount of upcomming draws\r\n options = options.filter(function (v) {\r\n return v <= data().draws.length;\r\n });\r\n\r\n // Sort:\r\n options.sort(function (a, b) {\r\n return a > b ? 1 : -1;\r\n });\r\n\r\n return options;\r\n };\r\n\r\n var getDrawRepeatMax = function () {\r\n return data().drawRepeatMax;\r\n };\r\n\r\n var getJokerPrice = function () {\r\n var dayData = jokerData().jokerWednesday || jokerData().jokerSaturday;\r\n\r\n if (dayData && dayData.openDraw && dayData.openDraw.rowPrice) {\r\n return dayData.openDraw.rowPrice;\r\n }\r\n\r\n return dayData && dayData.draws && dayData.draws[0] && dayData.draws[0].rowPrice ? dayData.draws[0].rowPrice : 0;\r\n };\r\n\r\n // Classic Options:\r\n const getClassicRowOptions = function () {\r\n return data().classicOptions?.options || [1, 2, 3, 4, 5, 10, 20, 50];\r\n };\r\n\r\n const getClassicRowDefaultRowCount = function () {\r\n return data().classicOptions?.default || 4;\r\n };\r\n\r\n // Lightning options:\r\n var getLightningRowOptions = function () {\r\n return data().lightningOptions && data().lightningOptions.options ? data().lightningOptions.options : [1, 2, 3, 4, 5];\r\n };\r\n\r\n var getDefaultRowCount = function () {\r\n return data().lightningOptions && data().lightningOptions.default ? data().lightningOptions.default : 10;\r\n };\r\n\r\n // Lucky options:\r\n var getLuckyRowOptions = function () {\r\n return data().luckyOptions && data().luckyOptions.options ? data().luckyOptions.options : [10, 20, 30, 40, 50];\r\n };\r\n\r\n var getLuckyDefaultRowCount = function () {\r\n return data().luckyOptions && data().luckyOptions.default ? data().luckyOptions.default : 10;\r\n };\r\n\r\n var getDrawRepeatDefault = function () {\r\n return data().drawRepeatOptions && data().drawRepeatOptions.default ? data().drawRepeatOptions.default : 1;\r\n };\r\n\r\n this.getPlaySystems = () => {\r\n if (playSystems()) {\r\n // Cache\r\n return playSystems();\r\n }\r\n\r\n var systemNames = data().playSystems;\r\n\r\n playSystems(systemNames.map(function (name) {\r\n var splitted = name.split(' ');\r\n var counts = splitted[1].split('-');\r\n\r\n return ({ name: name, type: splitted[0], selectedNumbersCount: counts[0], rowsCount: counts[1] });\r\n }));\r\n\r\n return playSystems();\r\n };\r\n\r\n var getSystemNames = (type) => {\r\n var systems = this.getPlaySystems();\r\n var names = [];\r\n\r\n for (var i = 0; i < systems.length; i++) {\r\n if (!type || systems[i].type === type) {\r\n names.push(systems[i].name);\r\n }\r\n }\r\n\r\n return names;\r\n };\r\n\r\n // Open draw:\r\n var getOpenDraw = function () {\r\n return data().openDraw;\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 && typeof json.vikinglotto.openDraw !== 'undefined') {\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 2 min.\r\n Storage.set('VikingLottoInfoFeed', json ? JSON.stringify(json) : null, 120);\r\n };\r\n\r\n // Initialize:\r\n var init = function () {\r\n\r\n // 1) LOOK IN DOM\r\n\r\n var $vikingLottoFeedData = document.querySelector('#vikinglotto-info');\r\n if ($vikingLottoFeedData) {\r\n var domData = $vikingLottoFeedData.innerHTML;\r\n\r\n if (feedValid(domData)) {\r\n var domJson = JSON.parse(domData);\r\n\r\n data(domJson.vikinglotto);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n jokerData({\r\n jokerSaturday: domJson.jokerSaturday,\r\n jokerWednesday: domJson.jokerWednesday\r\n });\r\n\r\n // Store to cache\r\n storeToCache(domJson);\r\n\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n }\r\n\r\n // 2) LOOK IN LOCALSTORAGE\r\n var cacheData = Storage.get('VikingLottoInfoFeed');\r\n\r\n if (!cacheData || !feedValid(cacheData)) {\r\n // Clear cache\r\n storeToCache(null);\r\n } else {\r\n // Use cache\r\n var d = JSON.parse(cacheData);\r\n\r\n data(d.vikinglotto);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n jokerData({\r\n jokerSaturday: d.jokerSaturday,\r\n jokerWednesday: d.jokerWednesday\r\n });\r\n\r\n ready.resolve();\r\n\r\n return;\r\n }\r\n\r\n // 3) LOAD INFO FROM FEED\r\n VikingLottoApi.getVikingLottoInfo().then(function (d) {\r\n data(d.vikinglotto);\r\n\r\n noOpenDraw(!data().openDraw);\r\n\r\n jokerData({\r\n jokerSaturday: d.jokerSaturday,\r\n jokerWednesday: d.jokerWednesday\r\n });\r\n\r\n // Store to cache\r\n storeToCache(d);\r\n\r\n ready.resolve();\r\n }, function () {\r\n isFeedDown(true);\r\n noOpenDraw(true);\r\n\r\n ready.resolve();\r\n\r\n console.error('### VIKING LOTTO FEED DOWN ###');\r\n });\r\n };\r\n\r\n init();\r\n\r\n // Public functions:\r\n return {\r\n data: data,\r\n getOpenDraw: getOpenDraw,\r\n jokerData: jokerData,\r\n ready: ready.promise,\r\n isFeedDown: isFeedDown,\r\n noOpenDraw: noOpenDraw,\r\n getDrawRepeatOptions: getDrawRepeatOptions,\r\n getDrawRepeatDefault: getDrawRepeatDefault,\r\n getJokerPrice: getJokerPrice,\r\n getSystemNames: getSystemNames,\r\n getClassicRowOptions: getClassicRowOptions,\r\n getClassicRowDefaultRowCount: getClassicRowDefaultRowCount,\r\n getLightningRowOptions: getLightningRowOptions,\r\n getDefaultRowCount: getDefaultRowCount,\r\n getLuckyRowOptions: getLuckyRowOptions,\r\n getLuckyDefaultRowCount: getLuckyDefaultRowCount,\r\n getDrawRepeatMax: getDrawRepeatMax\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoApi',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoUtils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (m, Model, VikingLottoApi, VikingLottoInfo, VikingLottoUtils, DataLayer) {\r\n\r\n // Model:\r\n var VikingLottoGame = Model('VikingLottoGame', function (content) {\r\n this.infoFeed = () => {\r\n return VikingLottoInfo;\r\n };\r\n this.api = () => {\r\n return VikingLottoApi;\r\n };\r\n\r\n // Data:\r\n this._generatedRows = m.prop(content._generatedRows || []);\r\n this._generatedJokerRowsSaturday = m.prop(content._generatedJokerRowsSaturday || []);\r\n this._generatedJokerRowsWednesday = m.prop(content._generatedJokerRowsWednesday || []);\r\n this.couponId = m.prop(content.couponId || null);\r\n this.numberOfDraws = m.prop(typeof content.numberOfDraws !== 'undefined' ? content.numberOfDraws : VikingLottoInfo.getDrawRepeatDefault()); // NEED TO USE TYPEOF UNDEFINED CHECK HERE, BECAUSE 0 IS A VALID OPTION\r\n this.playType = m.prop(content.playType || null);\r\n this.purchaseTracked = m.prop(content.purchaseTracked || false);\r\n this.ready = m.prop(m.deferred());\r\n this.rebuyCouponId = m.prop(content.rebuyCouponId || null);\r\n this.rows = m.prop(content.rows || []);\r\n this.rowsToGenerate = m.prop(content.rowsToGenerate || 0);\r\n this.startUrl = m.prop(content.startUrl || window.location.href.split('?')[0]);\r\n this.status = m.prop(content.status || 'open');\r\n this.systemName = m.prop(content.systemName || (this.playType() === 'System' ? 'M 7-7' : null));\r\n // we want to check the typeof `withJoker...` as it would be set to `false` when the user selects `no joker`\r\n // if the game instance is new or the user has not interacted with the joker selector than we want to set it to `null`\r\n this.withJokerSaturday = m.prop(typeof content.withJokerSaturday === 'boolean' ? content.withJokerSaturday : null);\r\n this.withJokerWednesday = m.prop(typeof content.withJokerWednesday === 'boolean' ? content.withJokerWednesday : null);\r\n this.isProductDetailsTracked = m.prop(content.isProductDetailsTracked || false);\r\n this.isAddToCartTracked = m.prop(content.isAddToCartTracked || false);\r\n this.isPurchaseCompleteTracked = m.prop(content.isPurchaseCompleteTracked || false);\r\n this.verticalType = m.prop(content.verticalType);\r\n this.plusSubscriptionJackpot = m.prop(content.plusSubscriptionJackpot || null);\r\n this.firstDepositInfo = m.prop(content.firstDepositInfo || null);\r\n this.playTogetherDepositType = m.prop(content.playTogetherDepositType || null);\r\n this.rowPriceChanged = m.prop(false);\r\n this.originalNumberOfDraws = m.prop(null);\r\n this.originalPrice = m.prop(null);\r\n this.reducedWeeks = m.prop(false);\r\n this.clientContext = m.prop(content.clientContext || null);\r\n this.trackedInteractionCreationAction = m.prop(content.trackedInteractionCreationAction || null);\r\n\r\n // Constants:\r\n this.classicMaxRows = m.prop(50);\r\n this.numberOfDrawsOptions = m.prop(VikingLottoInfo.getDrawRepeatOptions());\r\n this.getDrawRepeatMax = m.prop(VikingLottoInfo.getDrawRepeatMax());\r\n this.numbersIntervalMax = m.prop(48);\r\n this.stakePerJoker = m.prop(VikingLottoInfo.getJokerPrice());\r\n this.version = m.prop((VikingLottoInfo.getOpenDraw() && VikingLottoInfo.getOpenDraw().gameVersionNo) || 1);\r\n this.vikingNumbersIntervalMax = m.prop(this.version() === 1 ? 8 : 5);\r\n this.vikingNumbersPerRowMax = m.prop(1);\r\n // drawDays is an array of booleans, where each index represents a day of the week, starting with Monday\r\n this.drawDays = m.prop([false, false, true, false, false, false, false]);\r\n\r\n // Functions:\r\n this.vikingNumbersPerRowMin = function () {\r\n return this.playType() === 'Lucky' ? 0 : 1;\r\n }.bind(this);\r\n\r\n this.numbersPerRowMin = function () {\r\n return this.numbersPerRow('min');\r\n }.bind(this);\r\n\r\n this.numbersPerRowMax = function () {\r\n return this.numbersPerRow('max');\r\n }.bind(this);\r\n\r\n this.totalNumbersPerRowMax = function () {\r\n if (this.playType() === 'Lucky') {\r\n return 6;\r\n }\r\n\r\n return this.numbersPerRowMax() + this.vikingNumbersPerRowMax();\r\n }.bind(this);\r\n\r\n this.numbersPerRow = function (type) {\r\n var playType = this.playType();\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return this.getSystemNumberAmount();\r\n }\r\n\r\n // Lucky:\r\n if (playType === 'Lucky') {\r\n return type === 'min' ? 0 : 6;\r\n }\r\n\r\n // Classic:\r\n return 6;\r\n\r\n }.bind(this);\r\n\r\n // Functions - For manipulating rows:\r\n this.rowCount = function () {\r\n var count = 0;\r\n var rows = this.rows();\r\n var amount = rows.length;\r\n\r\n for (var i = 0; i < amount; i++) {\r\n var row = rows[i];\r\n\r\n if (row.count > count) {\r\n count = row.count + 1;\r\n } else {\r\n count++;\r\n }\r\n }\r\n\r\n return count;\r\n }.bind(this);\r\n\r\n this.sortRow = function (numbers) {\r\n numbers.sort(function (a, b) {\r\n return a.number < b.number ? -1 : 1;\r\n });\r\n\r\n return numbers;\r\n };\r\n\r\n this.addNumber = function (row, number, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n if (row.numbers.length >= this.numbersPerRowMax()) {\r\n return;\r\n }\r\n\r\n row.numbers.push({ number: number, autogenerated: autogenerated || false });\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var index = -1;\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n index = i;\r\n\r\n break;\r\n }\r\n }\r\n\r\n if (index > -1) {\r\n row.numbers.splice(index, 1);\r\n }\r\n\r\n row.numbers = this.sortRow(row.numbers);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addVikingNumber = function (row, vikingNumber, autogenerated) {\r\n row = this.getRow(row);\r\n\r\n if (row.vikingNumber) {\r\n return;\r\n }\r\n\r\n row.vikingNumber = { number: vikingNumber, autogenerated: autogenerated || false };\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeVikingNumber = function (row) {\r\n row = this.getRow(row);\r\n\r\n row.vikingNumber = null;\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.addRow = function (numbers) {\r\n numbers = numbers || [];\r\n\r\n var count = this.rowCount();\r\n\r\n this.rows().push({ count: count, numbers: numbers, state: 'clean', vikingNumber: null });\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeRow = function (row) {\r\n var rows = this.rows();\r\n\r\n rows.splice(row - 1, 1);\r\n\r\n this.rows(rows);\r\n\r\n if (rows.length === 0) {\r\n this.addRow();\r\n }\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.removeAllRows = function () {\r\n this.rows([]);\r\n\r\n // We need double rows, as we're practically resetting the rows to original state\r\n this.addRow();\r\n this.addRow();\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.resetRow = function (rowNumber) {\r\n var row = this.getRow(rowNumber);\r\n\r\n row.numbers = [];\r\n row.vikingNumber = null;\r\n row.state = 'clean';\r\n\r\n this.setRow(rowNumber, row);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n this.setRow = function (row, content) {\r\n var rows = this.rows();\r\n\r\n rows[row - 1] = content;\r\n\r\n this.rows(rows);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n // Viking Lotto Classic and Viking Lotto System: generate numbers for a specific row:\r\n this.autogenerateNumbers = function (rowNumber) {\r\n var self = this;\r\n var deferred = m.deferred();\r\n var numbers = [];\r\n var row = this.getRow(rowNumber);\r\n var vikingNumber = row.vikingNumber;\r\n\r\n // Prepare list of existing user selected numbers:\r\n for (var i = 0; i < row.numbers.length; i++) {\r\n var number = row.numbers[i];\r\n\r\n if (!number.autogenerated) {\r\n numbers.push(number.number);\r\n }\r\n }\r\n\r\n // Setup options for random service:\r\n var options = { playType: this.playType(), requiredNumbers: numbers };\r\n\r\n if (vikingNumber && !vikingNumber.autogenerated) {\r\n options.requiredVikingNumber = vikingNumber.number;\r\n }\r\n\r\n if (this.playType() === 'System') {\r\n options.system = this.systemName();\r\n }\r\n\r\n VikingLottoApi.getRandomNumbers(options).then(function (rows) {\r\n rows = rows[0];\r\n\r\n const manualSelectedNumbers = row.numbers.filter((number) => !number.autogenerated);\r\n row.numbers = manualSelectedNumbers;\r\n if (vikingNumber && vikingNumber.autogenerated) {\r\n row.vikingNumber = null;\r\n }\r\n self.setRow(rowNumber, row);\r\n\r\n var generatedNumbers = rows.numbers;\r\n var generatedVikingNumber = rows.vikingNumber;\r\n\r\n for (var i = 0; i < generatedNumbers.length; i++) {\r\n var generated = generatedNumbers[i];\r\n\r\n if (numbers.indexOf(generated) === -1) {\r\n self.addNumber(rowNumber, generated, true);\r\n }\r\n }\r\n\r\n if (generatedVikingNumber) {\r\n self.addVikingNumber(rowNumber, generatedVikingNumber, true);\r\n }\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.areAllRowsValid = () => {\r\n return this.rows().every((row) => this.isRowValid(row.count + 1));\r\n };\r\n\r\n this.autofillClassicRows = async () => {\r\n const promises = [];\r\n const emptyRows = [];\r\n for (let i = 0; i < this.rows().length; i++) {\r\n const row = this.rows()[i];\r\n const rowNumber = row.count + 1;\r\n if (!this.isRowValid(rowNumber)) {\r\n if (row.numbers.length > 0 || row.vikingNumber?.number) {\r\n promises.push(this.autogenerateNumbers(rowNumber));\r\n } else {\r\n emptyRows.push(row);\r\n }\r\n }\r\n }\r\n if (emptyRows.length > 0) {\r\n const fullyGeneratedRows = this.api().getRandomNumbers({ rowsToGenerate: emptyRows.length }).then((rows) => {\r\n for (let i = 0; i < rows.length; i++) {\r\n const row = rows[i];\r\n const emptyRow = emptyRows[i];\r\n this.addVikingNumber(emptyRow.count + 1, row.vikingNumber, true);\r\n for (let j = 0; j < row.numbers.length; j++) {\r\n this.addNumber(emptyRow.count + 1, row.numbers[j], true);\r\n }\r\n }\r\n });\r\n promises.push(fullyGeneratedRows);\r\n }\r\n await Promise.all(promises);\r\n\r\n this.save();\r\n };\r\n\r\n // Viking Lotto Lightning, Viking Lotto Lucky and Viking Lotto System: generate output rows:\r\n this.gameGenerateRows = function () {\r\n var self = this;\r\n var deferred = m.deferred();\r\n\r\n if (['Lightning', 'Lucky', 'System'].indexOf(this.playType()) === -1) {\r\n console.error('VikingLottoGame gameGenerateRows: This method cannot be used for playType', this.playType());\r\n\r\n deferred.reject();\r\n\r\n return;\r\n }\r\n\r\n if (this.playType() === 'System') {\r\n var generatedRows = [];\r\n var selectedNumbers = this.getRow(1).numbers;\r\n var vikingNumber = this.getRow(1).vikingNumber;\r\n\r\n VikingLottoApi.getSystemKeys(this.systemName()).then(function (systemKeys) {\r\n if (systemKeys) {\r\n generatedRows = systemKeys.map(function (row, i) {\r\n var numbers = row.map(function (index) {\r\n // Replace each index with the numbers chosen by the user:\r\n\r\n return { number: selectedNumbers[index - 1].number, autogenerated: true };\r\n });\r\n\r\n return { count: i, numbers: numbers, vikingNumber: vikingNumber ? vikingNumber.number : null, state: 'clean' };\r\n });\r\n }\r\n\r\n self.generatedRows(generatedRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n } else {\r\n\r\n // Lightning and Lucky:\r\n var options = { rowsToGenerate: this.rowsToGenerate() };\r\n var requiredNumbers = [];\r\n var requiredVikingNumber = null;\r\n var row = this.getRow(1);\r\n\r\n if (row && row.numbers.length > 0) {\r\n requiredNumbers = row.numbers.map(function (number) {\r\n return number.number;\r\n });\r\n }\r\n\r\n if (row && row.vikingNumber) {\r\n requiredVikingNumber = row.vikingNumber.number;\r\n }\r\n\r\n if (this.playType() === 'Lucky') {\r\n options.requiredNumbers = requiredNumbers.join(',');\r\n options.requiredVikingNumber = requiredVikingNumber;\r\n }\r\n\r\n VikingLottoApi.getRandomNumbers(options).then(function (rows) {\r\n var generatedRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n row = rows[i];\r\n\r\n var numbers = row.numbers.map(function (number) {\r\n return { number: number, autogenerated: true };\r\n });\r\n var vikingNumber = { number: row.vikingNumber, autogenerated: true };\r\n\r\n generatedRows.push({ count: i, numbers: numbers, state: 'clean', vikingNumber: vikingNumber });\r\n }\r\n\r\n // Store generated rows to our object\r\n self.generatedRows(generatedRows);\r\n\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n }).bind(this);\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.gameGenerateJokerRows = function (type) {\r\n var deferred = m.deferred();\r\n var self = this;\r\n\r\n VikingLottoApi.getRandomJokerNumbers(type).then(function (rows) {\r\n var generatedJokerRows = [];\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var numbers = row.map(function (number) {\r\n return { number: number, autogenerated: true };\r\n });\r\n\r\n generatedJokerRows.push({ count: i, numbers: numbers, state: 'clean' });\r\n }\r\n\r\n self.generatedJokerRows(type, generatedJokerRows);\r\n self.save();\r\n\r\n deferred.resolve();\r\n }, function () {\r\n deferred.reject();\r\n });\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.generatedJokerRows = function (type, value) {\r\n if (value) {\r\n this['_generatedJokerRows' + type](value);\r\n }\r\n\r\n return this['_generatedJokerRows' + type]();\r\n }.bind(this);\r\n\r\n // Functions for number of draws:\r\n this.setNumberOfDraws = function (draws) {\r\n this.numberOfDraws(draws);\r\n\r\n this.save();\r\n }.bind(this);\r\n\r\n // Functions for purchase:\r\n this.purchase = function (params) {\r\n params = params || {};\r\n\r\n var deferred = m.deferred();\r\n var proceed = true;\r\n var self = this;\r\n\r\n if (this.status() != 'open') {\r\n deferred.reject();\r\n } else if (!params.drawId) {\r\n console.error('No drawId given.');\r\n\r\n deferred.reject({ errorMessage: 'NUMBERGAMES.NO_OPEN_DRAW' });\r\n } else {\r\n this.status('pending-confirmation');\r\n\r\n this.save();\r\n\r\n var rows = this.playType() === 'System' ? this.getRowsSummary(false) : this.getRowsSummary();\r\n\r\n var options = {\r\n drawId: params.drawId,\r\n totalPrice: parseInt(self.totalPrice(), 10),\r\n multidraw: parseInt(self.numberOfDraws(), 10),\r\n playType: this.playType() || null,\r\n rows: rows,\r\n salesChannel: (VikingLottoUtils.isMobile() || VikingLottoUtils.isTabletDevice()) ? 'mobile' : 'web',\r\n };\r\n\r\n // Prize notification - register only enabling:\r\n if (params.notifyPrizeEmail) {\r\n options.notifyPrizeEmail = true;\r\n }\r\n\r\n if (params.notifyPrizeSms) {\r\n options.notifyPrizeSms = true;\r\n }\r\n\r\n // Jokers:\r\n if (this.withJokerSaturday()) {\r\n options.jokerSaturdayRows = this.getJokerRowsSummary('Saturday');\r\n\r\n if (options.jokerSaturdayRows.length === 0) {\r\n proceed = false;\r\n\r\n deferred.reject('joker-saturday-error');\r\n }\r\n }\r\n\r\n if (this.withJokerWednesday()) {\r\n options.jokerWednesdayRows = this.getJokerRowsSummary('Wednesday');\r\n\r\n if (options.jokerWednesdayRows.length === 0) {\r\n proceed = false;\r\n\r\n deferred.reject('joker-wednesday-error');\r\n }\r\n }\r\n\r\n // Proceed:\r\n if (proceed) {\r\n\r\n // System:\r\n if (this.playType() === 'System') {\r\n options.system = this.systemName();\r\n }\r\n\r\n // Create request:\r\n var request = VikingLottoApi.createCoupon(options);\r\n\r\n request.then(function (data) {\r\n self.status('completed');\r\n self.couponId(data.couponId);\r\n\r\n self.save();\r\n\r\n deferred.resolve(data);\r\n }, function (data) {\r\n self.status('open');\r\n\r\n self.save();\r\n\r\n deferred.reject(data);\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n this.prepareConfirm = function () {\r\n var confirmUrl = this.confirmUrl();\r\n var deferred = m.deferred();\r\n var status = this.status();\r\n\r\n if (status !== 'processing') {\r\n var promises = this.playType() !== 'Classic' ? [this.gameGenerateRows()] : [];\r\n var self = this;\r\n\r\n if (status === 'prepare-confirm-error') {\r\n status = 'open';\r\n }\r\n\r\n this.status(this.numberOfDraws() > 0 ? 'processing' : status);\r\n\r\n if (this.withJokerSaturday()) {\r\n promises.push(this.gameGenerateJokerRows('Saturday'));\r\n }\r\n\r\n if (this.withJokerWednesday()) {\r\n promises.push(this.gameGenerateJokerRows('Wednesday'));\r\n }\r\n\r\n m.sync(promises).then(function () {\r\n self.status(status);\r\n\r\n self.save();\r\n\r\n deferred.resolve(confirmUrl);\r\n }, function () {\r\n self.status('prepare-confirm-error');\r\n\r\n self.save();\r\n\r\n deferred.reject();\r\n });\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n // Functions - For tracking (DataLayer eCommerce buzzword)\r\n this.createDataLayerJoker = function (day, subscription) {\r\n var joker;\r\n\r\n if (!subscription) {\r\n joker = {\r\n name: 'joker',\r\n price: DataLayer.rowPrice(this.stakePerJoker(), this.numberOfDraws(), 'joker'),\r\n brand: 'dlo_jok',\r\n category: DataLayer.categoryName(this.playType()),\r\n variant: DataLayer.variantName('joker', this.numberOfDraws(), day),\r\n quantity: 1\r\n };\r\n }\r\n\r\n if (subscription) {\r\n joker = {\r\n name: 'plus',\r\n price: DataLayer.rowPrice(this.stakePerJoker(), this.numberOfDraws(), 'plus_joker'),\r\n brand: 'dlo_plu',\r\n category: DataLayer.categoryName(this.playType()),\r\n variant: DataLayer.variantName('plus_joker', this.numberOfDraws(), day),\r\n quantity: 1\r\n };\r\n }\r\n\r\n if (this.trackedInteractionCreationAction()) {\r\n joker.coupon = this.trackedInteractionCreationAction();\r\n }\r\n\r\n return joker;\r\n };\r\n\r\n this.createDataLayerProduct = function (type, event) {\r\n\r\n // Product array for datalayer\r\n var dataLayerProducts = [];\r\n // Main product\r\n var product = {};\r\n var subscription = type === 'plus';\r\n\r\n if (type === 'plus') {\r\n // subscription product (PLUS abodoment)\r\n product.name = 'plus';\r\n product.price = DataLayer.rowPrice(VikingLottoInfo.data(), this.numberOfDraws(), 'plus');\r\n product.brand = 'dlo_plu';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('plus_viking', this.numberOfDraws(), this.playType(), this.systemName());\r\n product.quantity = this.getRowAmount();\r\n } else {\r\n product.name = 'vikinglotto';\r\n product.price = DataLayer.rowPrice(VikingLottoInfo.data(), this.numberOfDraws());\r\n product.brand = 'dlo_vik';\r\n product.category = DataLayer.categoryName(this.playType());\r\n product.variant = DataLayer.variantName('viking', this.numberOfDraws(), this.playType(), this.systemName());\r\n\r\n if (type === 'playtogether') {\r\n product.category = 'spil_sammen';\r\n }\r\n\r\n if (event != 'productDetails') {\r\n product.quantity = this.getRowAmount();\r\n }\r\n\r\n if (this.trackedInteractionCreationAction()) {\r\n product.coupon = this.trackedInteractionCreationAction();\r\n }\r\n }\r\n dataLayerProducts.push(product);\r\n\r\n // Check for joker saturday\r\n if (this.withJokerSaturday()) {\r\n !subscription ? dataLayerProducts.push(this.createDataLayerJoker('saturday')) : dataLayerProducts.push(this.createDataLayerJoker('saturday', 'plus'));\r\n }\r\n\r\n // Check for joker wednesday\r\n if (this.withJokerWednesday()) {\r\n !subscription ? dataLayerProducts.push(this.createDataLayerJoker('wednesday')) : dataLayerProducts.push(this.createDataLayerJoker('wednesday', 'plus'));\r\n }\r\n\r\n return dataLayerProducts;\r\n };\r\n\r\n this.trackingAddToCart = function (type) {\r\n if (!this.isAddToCartTracked()) {\r\n this.isAddToCartTracked(true);\r\n\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n if (type == 'plus' || type === 'playtogether') {\r\n DataLayer.addToCart(this.createDataLayerProduct(type));\r\n } else {\r\n DataLayer.addToCart(this.createDataLayerProduct());\r\n }\r\n } else {\r\n console.warn('addToCart has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingProductDetails = function () {\r\n // Check if the event has already been pushed\r\n if (this.isProductDetailsTracked() == false) {\r\n this.isProductDetailsTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer addToCart Event\r\n DataLayer.productDetail(this.createDataLayerProduct(false, 'productDetails'));\r\n } else {\r\n console.warn('productDetails has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n this.trackingPurchaseComplete = function (type) {\r\n if (this.isPurchaseCompleteTracked() == false) {\r\n this.isPurchaseCompleteTracked(true);\r\n this.save();\r\n\r\n // Push DataLayer purchaseComplete Event\r\n DataLayer.purchaseCompleted({\r\n totalPrice: this.totalPrice().toString(),\r\n id: this.couponId() || this.fallbackFakeCouponId()\r\n }, this.createDataLayerProduct(type));\r\n } else {\r\n console.warn('purchaseCompleted has been pushed already!');\r\n }\r\n }.bind(this);\r\n\r\n // Ensighten will group all events together if the ID is not unique.\r\n // In Playtogether we don't have a couponId upon purchase, so we create a fake one\r\n this.fallbackFakeCouponId = function () {\r\n var couponId = 'NA-VIK-' + Math.random().toString(36).slice(2);\r\n\r\n return couponId;\r\n };\r\n\r\n // Functions - For extracting data:\r\n this.getRow = function (row) {\r\n // Note: the row index starts with 1:\r\n\r\n return this.rows()[row - 1];\r\n }.bind(this);\r\n\r\n this.isRowValid = function (rowNumber, { checkOnlyMaxLimit = false } = {}) {\r\n var playType = this.playType();\r\n var row = this.getRow(rowNumber) || {};\r\n\r\n // Lucky:\r\n if (playType === 'Lucky') {\r\n var totalNumbers = (row.numbers.length || 0) + (row.vikingNumber ? 1 : 0);\r\n\r\n if (checkOnlyMaxLimit) {\r\n return totalNumbers === 6;\r\n }\r\n return totalNumbers >= 1 && totalNumbers <= 6;\r\n }\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return row.numbers.length === this.getSystemNumberAmount() && row.vikingNumber;\r\n }\r\n\r\n // All other play types:\r\n return row.numbers.length >= this.numbersPerRowMin() && row.numbers.length <= this.numbersPerRowMax() && row.vikingNumber;\r\n }.bind(this);\r\n\r\n this.getRows = function (valid) {\r\n var self = this;\r\n\r\n return this.rows().filter(function (row, index) {\r\n if (row.state === 'remove') {\r\n return false;\r\n }\r\n\r\n return !valid || self.isRowValid(index + 1);\r\n });\r\n }.bind(this);\r\n\r\n this.hasNumber = function (row, number) {\r\n row = this.getRow(row);\r\n\r\n var numbers = row.numbers;\r\n\r\n for (var i = 0; i < numbers.length; i++) {\r\n if (numbers[i].number === number) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }.bind(this);\r\n\r\n this.hasVikingNumber = function (row, vikingNumber) {\r\n var rowVikingNumber = this.getRow(row).vikingNumber;\r\n\r\n return rowVikingNumber && rowVikingNumber.number === vikingNumber;\r\n }.bind(this);\r\n\r\n this.drawDateHtml = function (delimiter) {\r\n delimiter = delimiter || ' - ';\r\n\r\n var openDraw = VikingLottoInfo.data().openDraw;\r\n if (!openDraw || !openDraw.closingTime) {\r\n return '';\r\n }\r\n\r\n var closingTime = openDraw.closingTime;\r\n var draws = this.numberOfDraws();\r\n\r\n var date = new Date(closingTime);\r\n\r\n var result = VikingLottoUtils.formatISO8601(date.toISOString(), { includeTime: false });\r\n\r\n if (draws > 1) {\r\n date.setDate(date.getDate() + ((draws - 1) * 7));\r\n\r\n result = '' + result + delimiter + VikingLottoUtils.formatISO8601(date.toISOString(), { includeTime: false }) + '';\r\n }\r\n\r\n return result;\r\n }.bind(this);\r\n\r\n this.drawDateHtmlShort = function () {\r\n var dates = this.drawDates();\r\n var firstDate = dates[0];\r\n var lastDate = dates[dates.length - 1];\r\n\r\n // if there's more than one date, output the range. otherwise output the first date.\r\n if (dates.length > 1) {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' - ' + lastDate.draw.getDate() + '/' + (lastDate.draw.getMonth() + 1) + ' ' + lastDate.draw.getFullYear();\r\n } else {\r\n return firstDate.draw.getDate() + '/' + (firstDate.draw.getMonth() + 1) + ' ' + firstDate.draw.getFullYear();\r\n }\r\n }.bind(this);\r\n\r\n this.drawDates = function () {\r\n var drawDates = [];\r\n var openDraw = VikingLottoInfo.data().openDraw;\r\n var draws = this.numberOfDraws();\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n var closingTime = openDraw.closingTime;\r\n\r\n while (draws--) {\r\n var futureDate = new Date(closingTime);\r\n futureDate.setDate(futureDate.getDate() + (draws * 7));\r\n drawDates.push({\r\n draw: futureDate,\r\n hasJoker: this.withJokerWednesday()\r\n });\r\n }\r\n\r\n // if joker on saturdays are added, add their dates.\r\n if (this.withJokerSaturday()\r\n && VikingLottoInfo.jokerData()\r\n && VikingLottoInfo.jokerData().jokerSaturday\r\n && VikingLottoInfo.jokerData().jokerSaturday.openDraw\r\n && VikingLottoInfo.jokerData().jokerSaturday.openDraw.closingTime) {\r\n\r\n var firstSaturdayJoker = new Date(VikingLottoInfo.jokerData().jokerSaturday.openDraw.closingTime);\r\n\r\n draws = this.numberOfDraws();\r\n while (draws--) {\r\n drawDates.push({\r\n draw: new Date(firstSaturdayJoker),\r\n hasJoker: true\r\n });\r\n firstSaturdayJoker.setDate(firstSaturdayJoker.getDate() + 7);\r\n }\r\n }\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n }.bind(this);\r\n\r\n this.rawDrawsDataFromInfoFeed = () => {\r\n const drawTimes = this.drawDates().map((draw) => {\r\n return new Date(draw.draw).getTime();\r\n });\r\n\r\n return VikingLottoInfo.data().draws.filter((feedDraw) => {\r\n return drawTimes.indexOf(new Date(feedDraw.closingTime).getTime()) !== -1;\r\n });\r\n };\r\n\r\n this.drawDatesWithoutJokerInfo = function (numberOfDraws) {\r\n var drawDates = [];\r\n var openDraw = VikingLottoInfo.data().openDraw;\r\n var draws = numberOfDraws || this.numberOfDraws();\r\n var drawsFromVikingLottoInfo = VikingLottoInfo.data().draws;\r\n var firstDraw = VikingLottoInfo.data().openDraw;\r\n\r\n if (!openDraw || !openDraw.closingTime) {\r\n return drawDates;\r\n }\r\n\r\n var firstDrawIndex = -1;\r\n\r\n for (var i = 0; i < drawsFromVikingLottoInfo.length; i++) {\r\n if (drawsFromVikingLottoInfo[i].id === firstDraw.id) {\r\n firstDrawIndex = i;\r\n break;\r\n }\r\n }\r\n var feedDrawDates = drawsFromVikingLottoInfo.slice(firstDrawIndex, firstDrawIndex + draws);\r\n drawDates = feedDrawDates.map(function (draw) {\r\n const drawObject = {\r\n draw: new Date(draw.closingTime)\r\n };\r\n\r\n if (draw.campaigns) {\r\n drawObject.campaigns = draw.campaigns;\r\n drawObject.campaignNumbers = draw.campaignNumbers;\r\n }\r\n\r\n return drawObject;\r\n }.bind(this));\r\n\r\n drawDates.sort(function (a, b) {\r\n return a.draw.getTime() - b.draw.getTime();\r\n });\r\n\r\n return drawDates;\r\n }.bind(this);\r\n\r\n this.jokerDrawDates = function (drawDay) {\r\n if (!(VikingLottoInfo.jokerData()\r\n && VikingLottoInfo.jokerData().jokerSaturday\r\n && VikingLottoInfo.jokerData().jokerWednesday\r\n && VikingLottoInfo.jokerData().jokerSaturday.draws\r\n && VikingLottoInfo.jokerData().jokerWednesday.draws)) return;\r\n\r\n if (this.drawDatesWithoutJokerInfo().length === 0) return [];\r\n\r\n var saturdayDraws = VikingLottoInfo.jokerData().jokerSaturday.draws.map(function (draw) {\r\n draw.dayName = 'saturday';\r\n return draw;\r\n });\r\n var wednesdayDraws = VikingLottoInfo.jokerData().jokerWednesday.draws.map(function (draw) {\r\n draw.dayName = 'wednesday';\r\n return draw;\r\n });\r\n var combinedDraws = saturdayDraws.concat(wednesdayDraws);\r\n combinedDraws.sort(function (a, b) {\r\n return (a.closingTime).localeCompare((b.closingTime));\r\n });\r\n\r\n switch (drawDay) {\r\n case 'saturday':\r\n return saturdayDraws.slice(0, this.numberOfDraws());\r\n case 'wednesday':\r\n return wednesdayDraws.slice(0, this.numberOfDraws());\r\n case 'both':\r\n return combinedDraws.slice(0, (this.numberOfDraws() * 2));\r\n }\r\n }.bind(this);\r\n\r\n this.campaignDrawsCount = (wantedCampaign) => {\r\n return this.rawDrawsDataFromInfoFeed().reduce(function (count, draw) {\r\n if (Array.isArray(wantedCampaign)) {\r\n return draw?.campaignNumbers?.some((campaignNumber) => {\r\n return wantedCampaign.includes(campaignNumber);\r\n }) ? ++count : count;\r\n }\r\n if (typeof wantedCampaign === 'number') {\r\n return draw?.campaignNumbers?.includes(wantedCampaign) ? ++count : count;\r\n }\r\n return draw?.campaigns?.some(function (c) {\r\n return c.indexOf(wantedCampaign) === 0;\r\n }) ? ++count : count;\r\n }, 0);\r\n };\r\n\r\n this.generatedRows = function (value) {\r\n var playType = this.playType();\r\n\r\n // Classic and Lightning:\r\n if (playType === 'Classic') {\r\n if (value) {\r\n console.error('VikingLottoGame: play type Classic does not support setting generatedRows.');\r\n }\r\n\r\n return this.getRows(true);\r\n }\r\n\r\n // Lightning, Lucky and System:\r\n if (playType === 'Lightning' || playType === 'Lucky' || playType === 'System') {\r\n if (value) {\r\n this._generatedRows(value);\r\n }\r\n\r\n return this._generatedRows();\r\n }\r\n }.bind(this);\r\n\r\n this.checkGeneratedConsistency = function () {\r\n var playType = this.playType();\r\n\r\n if (playType === 'Classic' || playType === 'Lightning') {\r\n return true;\r\n }\r\n\r\n if (playType === 'Lucky') {\r\n return this.generatedRows().length !== this.rowsToGenerate();\r\n }\r\n\r\n if (playType === 'System') {\r\n // TODO: check that amount of generated rows corresponds to the chosen system.\r\n\r\n return true;\r\n }\r\n }.bind(this);\r\n\r\n this.getRowsSummary = function (useGenerated) {\r\n useGenerated = typeof useGenerated === 'undefined' ? true : useGenerated;\r\n\r\n var summary = [];\r\n var rows = useGenerated ? this.generatedRows() : this.getRows(true);\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = {\r\n numbers: rows[i].numbers.map(function (numbers) {\r\n return numbers.number;\r\n }),\r\n vikingNumber: rows[i].vikingNumber ? rows[i].vikingNumber.number : null\r\n };\r\n\r\n summary.push(row);\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getJokerRowsSummary = function (type) {\r\n var summary = [];\r\n var rows = this['_generatedJokerRows' + type]();\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i].numbers.map(function (numbers) {\r\n return numbers.number;\r\n });\r\n\r\n summary.push({ numbers: row });\r\n }\r\n\r\n return summary;\r\n }.bind(this);\r\n\r\n this.getRowAmount = function () {\r\n var playType = this.playType();\r\n\r\n if (playType === 'Lucky' || playType === 'Lightning') {\r\n return this.rowsToGenerate();\r\n }\r\n\r\n if (playType === 'System') {\r\n return this.getSystemRowAmount();\r\n }\r\n\r\n // Classic:\r\n return this.getRows(true).length;\r\n }.bind(this);\r\n\r\n this.rowPrice = function (rowIndex) {\r\n var data = VikingLottoInfo.data();\r\n var rowPrice = rowIndex !== undefined && data.draws && data.draws[rowIndex] && data.draws[rowIndex].rowPrice ? data.draws[rowIndex].rowPrice : 0;\r\n\r\n return rowPrice;\r\n };\r\n\r\n this.totalRowsPricePerDraw = function (drawIndex) {\r\n var rowAmount = this.getRowAmount();\r\n var price = 0;\r\n\r\n if (drawIndex !== undefined) {\r\n return this.rowPrice(drawIndex) * rowAmount;\r\n }\r\n\r\n for (var i = 0; i < this.numberOfDraws() ; i++) {\r\n price += rowAmount * this.rowPrice(i);\r\n }\r\n\r\n return price;\r\n }.bind(this);\r\n\r\n this.totalPrice = function () {\r\n return this.totalJokerPrice() + this.totalRowsPricePerDraw();\r\n }.bind(this);\r\n\r\n this.jokerPrice = function () {\r\n return VikingLottoInfo.getJokerPrice() * 2;\r\n }.bind(this);\r\n\r\n this.totalJokerPrice = function () {\r\n return this.getJokerCount() * this.stakePerJoker() * (this.numberOfDraws() || 1);\r\n }.bind(this);\r\n\r\n this.getJokerCount = function () {\r\n return (this.withJokerSaturday() ? 2 : 0) + (this.withJokerWednesday() ? 2 : 0);\r\n }.bind(this);\r\n\r\n this.isNumberOfDrawsExceed = function () {\r\n return this.numberOfDraws() > VikingLottoInfo.data().draws.length;\r\n }.bind(this);\r\n\r\n this.isGameValid = function () { // Required by PurchaseBar\r\n var playType = this.playType();\r\n\r\n // Not valid, if numberOfDraws is higher than known upcomming draws in the feed\r\n if (this.numberOfDraws() > VikingLottoInfo.data().draws.length) {\r\n return false;\r\n }\r\n\r\n // Lightning:\r\n if (playType === 'Lightning') {\r\n return this.totalPrice() > 0 || this.numberOfDraws() === 0;\r\n }\r\n\r\n // Rows:\r\n var hasValidRows = false;\r\n\r\n for (var i = 0; i < this.rows().length; i++) {\r\n if (this.isRowValid(i + 1)) {\r\n hasValidRows = true;\r\n }\r\n }\r\n\r\n if (!hasValidRows) {\r\n return false;\r\n }\r\n\r\n // System:\r\n if (playType === 'System') {\r\n return (this.systemName() && this.getSystemNumberAmount() == this.getRow(1).numbers.length);\r\n\r\n // Lucky, Classic:\r\n } else if (playType === 'Lucky' || playType === 'Classic') {\r\n return this.getRows(true).length > 0 && (this.totalPrice() > 0 || this.numberOfDraws() === 0);\r\n }\r\n }.bind(this);\r\n\r\n this.isSubscriptionValid = function () {\r\n if (this.playType() === 'System') {\r\n // TODO - CR: System - ingen systemer, der overstiger 2.000 kr. (Kasper har listen, hvis det er)\r\n return true;\r\n }\r\n\r\n // Classic, Lykke, Lyn - mindst 10 rækker\r\n return this.getRowAmount() >= 10;\r\n }.bind(this);\r\n\r\n // Helpers for Viking Lotto System:\r\n this.getSystemNumberAmount = function () {\r\n return this.systemName() ? parseInt(this.systemName().split(' ')[1].split('-')[0], 10) : 0;\r\n }.bind(this);\r\n\r\n this.getSystemRowAmount = function () {\r\n return this.systemName() ? parseInt(this.systemName().split(' ')[1].split('-')[1], 10) : 0;\r\n }.bind(this);\r\n\r\n\r\n this.trackPurchase = function () {\r\n var self = this;\r\n\r\n if (!self.purchaseTracked() && self.status() === 'completed') {\r\n window.DSAPI && DSAPI.ready(function () {\r\n self.purchaseTracked(true);\r\n });\r\n\r\n this.trackingPurchaseComplete();\r\n }\r\n }.bind(this);\r\n\r\n this.confirmUrl = function () {\r\n var data = VikingLottoInfo.data();\r\n\r\n if (data && data.confirmUrl) {\r\n return data.confirmUrl + '?gameInstanceId=' + this.id();\r\n }\r\n\r\n console.error('VikingLottoGame: unable to return confirmUrl, feed is not loaded.');\r\n }.bind(this);\r\n\r\n this.receiptUrl = function () {\r\n var data = VikingLottoInfo.data();\r\n\r\n if (data && data.receiptUrl) {\r\n return data.receiptUrl + '?gameInstanceId=' + this.id();\r\n }\r\n\r\n console.error('VikingLottoGame: unable to return receiptUrl, feed is not loaded.');\r\n }.bind(this);\r\n\r\n this.cancelUrl = function () {\r\n if (this.rebuyCouponId()) {\r\n // This is called when going from confirm page, back to completed games overview page.\r\n return this.startUrl();\r\n }\r\n\r\n if (this.clientContext() === 'multiClient') {\r\n var multiClientPath = window.location.href.split('#/');\r\n return this.startUrl() + '?gameInstanceId=' + this.id() + '#/' + multiClientPath;\r\n }\r\n\r\n // This is called when going from confirm page, back to game.\r\n return this.startUrl() + '?gameInstanceId=' + this.id();\r\n }.bind(this);\r\n\r\n this.copyFromOldCoupon = function () {\r\n var self = this;\r\n\r\n VikingLottoApi.getCoupon(this.rebuyCouponId()).then(function (data) {\r\n self.numberOfDraws(!data.multiWagers ? 1 : data.multiWagers.length);\r\n self.playType(data.playType);\r\n self.systemName(data.systemName);\r\n self.reducedWeeks(data.rebuyDrawRepeatMax && data.rebuyDrawRepeatMax < self.numberOfDraws());\r\n self.rowPriceChanged(data.rowPriceChanged);\r\n\r\n if (self.rowPriceChanged()) {\r\n self.originalPrice((data.price * self.numberOfDraws()) + self.totalJokerPrice());\r\n }\r\n\r\n if (self.reducedWeeks()) {\r\n self.originalPrice((data.price * self.numberOfDraws()) + self.totalJokerPrice());\r\n self.originalNumberOfDraws(self.numberOfDraws());\r\n self.numberOfDraws(data.rebuyDrawRepeatMax);\r\n }\r\n\r\n var promises = [];\r\n\r\n // If systemName is defined, set playType to System, otherwise Classic:\r\n if (!self.playType() || self.playType().toLowerCase() === 'unknown') {\r\n self.playType(self.systemName() ? 'System' : 'Classic');\r\n }\r\n\r\n data.games.forEach(function (game) {\r\n var rows = [];\r\n var rowNumbers = [];\r\n\r\n // VikingLotto:\r\n if (game.gameType === 'VikingLotto') {\r\n\r\n // Classic:\r\n if (self.playType() === 'Classic') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean', vikingNumber: null };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n if (row.extraNumbers && row.extraNumbers.length === 1) {\r\n rowNumbers.vikingNumber = { number: row.extraNumbers[0].number, autogenerated: false };\r\n }\r\n\r\n self.rows().push(rowNumbers);\r\n });\r\n\r\n // System:\r\n } else if (self.playType() === 'System') {\r\n rowNumbers = { count: 0, numbers: [], state: 'clean', vikingNumber: null };\r\n\r\n game.systemNumbers.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n if (game.systemNumbers && game.systemNumbers.extraNumbers && game.systemNumbers.extraNumbers.length === 1) {\r\n rowNumbers.vikingNumber = { number: game.systemNumbers.extraNumbers[0].number, autogenerated: false };\r\n }\r\n\r\n self.rows().push(rowNumbers);\r\n\r\n promises.push(self.gameGenerateRows());\r\n\r\n // Lightning and Lucky:\r\n } else if (self.playType() === 'Lucky' || self.playType() === 'Lightning') {\r\n game.rows.forEach(function (row, index) {\r\n rowNumbers = { count: index, numbers: [], state: 'clean', vikingNumber: null };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n if (row.extraNumbers && row.extraNumbers.length === 1) {\r\n rowNumbers.vikingNumber = { number: row.extraNumbers[0].number, autogenerated: false };\r\n }\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedRows(rows);\r\n self.rowsToGenerate(rows.length);\r\n }\r\n\r\n // Joker:\r\n } else {\r\n var gameType = /wednesday/.test(game.gameType.toLowerCase()) ? 'wednesday' : 'saturday';\r\n\r\n rows = [];\r\n\r\n if (gameType === 'wednesday') {\r\n self.withJokerWednesday(true);\r\n } else {\r\n self.withJokerSaturday(true);\r\n }\r\n\r\n game.rows.forEach(function (row, index) {\r\n var rowNumbers = { count: index, numbers: [], state: 'clean' };\r\n\r\n row.numbers.forEach(function (number) {\r\n rowNumbers.numbers.push({ autogenerated: false, number: number.number });\r\n });\r\n\r\n rows.push(rowNumbers);\r\n });\r\n\r\n self.generatedJokerRows(gameType.charAt(0).toUpperCase() + gameType.slice(1), rows);\r\n }\r\n });\r\n\r\n m.sync(promises).then(function () {\r\n self.save();\r\n\r\n self.ready().resolve();\r\n });\r\n }, function () {\r\n\r\n self.ready().reject('coupon-not-found');\r\n });\r\n }.bind(this);\r\n\r\n\r\n this.sendToSubscription = function () {\r\n // Tracking for DataLayer\r\n this.trackingAddToCart('plus');\r\n\r\n const link = this.linkToPlusPurchase?.();\r\n\r\n if (link) {\r\n const linkArr = link.split('?');\r\n if (!(linkArr.includes('plus') || linkArr.includes('jackpot'))) linkArr.push('plus');\r\n linkArr.push('mcGameType=vikinglotto');\r\n linkArr.push('mcGameId=' + this.id());\r\n location.href = linkArr.shift() + '?' + linkArr.join('&');\r\n } else {\r\n location.href = '/plus-abonnement/se-kurv?plus&mcGameType=vikinglotto&mcGameId=' + this.id();\r\n }\r\n }.bind(this);\r\n\r\n this.toJSON = function () {\r\n return {\r\n _generatedRows: this._generatedRows(),\r\n _generatedJokerRowsSaturday: this._generatedJokerRowsSaturday(),\r\n _generatedJokerRowsWednesday: this._generatedJokerRowsWednesday(),\r\n couponId: this.couponId(),\r\n id: this.id(),\r\n playType: this.playType(),\r\n purchaseTracked: this.purchaseTracked(),\r\n numberOfDraws: this.numberOfDraws(),\r\n rows: this.rows(),\r\n rowsToGenerate: this.rowsToGenerate(),\r\n state: this.state(),\r\n startUrl: this.startUrl(),\r\n status: this.status(),\r\n systemName: this.systemName(),\r\n withJokerSaturday: this.withJokerSaturday(),\r\n withJokerWednesday: this.withJokerWednesday(),\r\n isProductDetailsTracked: this.isProductDetailsTracked(),\r\n isAddToCartTracked: this.isAddToCartTracked(),\r\n isPurchaseCompleteTracked: this.isPurchaseCompleteTracked(),\r\n firstDepositInfo: this.firstDepositInfo(),\r\n plusSubscriptionJackpot: this.plusSubscriptionJackpot(),\r\n playTogetherDepositType: this.playTogetherDepositType(),\r\n trackedInteractionCreationAction: this.trackedInteractionCreationAction(),\r\n drawDays: this.drawDays(),\r\n };\r\n }.bind(this);\r\n\r\n // Init:\r\n this.init = function () {\r\n\r\n // Rebuy coupon:\r\n if (this.rebuyCouponId() && this.state() === 'new') {\r\n this.copyFromOldCoupon();\r\n\r\n // Regular coupon:\r\n } else {\r\n if (this.state() === 'new') {\r\n this.addRow();\r\n this.addRow();\r\n\r\n if (this.playType() === 'Lucky') {\r\n this.rowsToGenerate(this.rowsToGenerate() || VikingLottoInfo.getLuckyDefaultRowCount());\r\n }\r\n }\r\n\r\n this.ready().resolve();\r\n }\r\n\r\n }.bind(this);\r\n\r\n });\r\n\r\n VikingLottoGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.gameInstanceId) {\r\n game = VikingLottoGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = VikingLottoGame.construct(options, options.state || 'new');\r\n }\r\n\r\n if (options.linkToPlusPurchase && !game.linkToPlusPurchase) {\r\n game.linkToPlusPurchase = m.prop(options.linkToPlusPurchase);\r\n }\r\n\r\n return game;\r\n };\r\n\r\n // Public functions:\r\n return VikingLottoGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/PrintWrapper',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils'\r\n ],\r\n function (m, Render, Utils) {\r\n\r\n // Template:\r\n var PrintWrapper = function (controller, type, tab) {\r\n\r\n // Variables:\r\n var render = Render();\r\n var d = controller.d.bind({ prefix: { eurojackpot: 'EurojackpotSystem/', lotto: 'LottoSystem/', vikinglotto: 'VikingLottoSystem/' }[type] });\r\n var game = controller.game();\r\n var ejpv2 = type === 'eurojackpot' && game.gameVersionNo() === 2;\r\n var generatedRows = game.generatedRows();\r\n var isGameValid = game.isGameValid();\r\n var row = game.getRow(1);\r\n var numbers = row.numbers.length;\r\n\r\n // Functions:\r\n // onbeforeprint is called before the print window is opened\r\n // we want controller.print to be set back to false only after the print window is shown\r\n window.onbeforeprint = function () {\r\n controller.print(false);\r\n };\r\n\r\n render.ready.then(function (nodes) {\r\n var printContent = nodes['print-content'];\r\n var printContentContext = printContent.context;\r\n if (printContent.rendered) {\r\n if (!printContentContext.renderCount) printContentContext.renderCount = 0;\r\n printContentContext.renderCount = printContentContext.renderCount + 1;\r\n // IOS would open the print window multiple times but by adding the renderCount\r\n // to the node we can trigger it when it's rendered for the first time\r\n if (printContentContext.renderCount === 1) {\r\n window.print();\r\n }\r\n }\r\n });\r\n\r\n // View:\r\n return m('div', { class: 'number-games-print-wrapper' }, [\r\n m('div', { class: 'print-wrapper-header' }, [\r\n m('div', { class: 'print-wrapper-header-icon' }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/' + { eurojackpot: 'Eurojackpot/Graphics/SpriteSheets/EurojackpotCommonIcons.svg#icon-eurojackpot_logo', lotto: 'Lotto/Graphics/SpriteSheets/LottoCommonIcons.svg#icon-lotto_logo_vindertal', vikinglotto: 'VikingLotto/Graphics/SpriteSheets/VikingLottoCommonIcons.svg#icon-viking-lotto-logo' }[type] })\r\n ]),\r\n m('span', { class: 'text' }, d((tab === 'key' ? 'Key' : 'ProfitGuarantee') + 'Tab/PrintHeader'))\r\n ])\r\n ]),\r\n function () {\r\n if (controller.print && controller.print()) {\r\n return m('div', { config: render.depend('print-content') }, [\r\n m('div', { class: 'print-wrapper-subheader' }, [\r\n m('div', { class: 'row' }, game.systemName()),\r\n m('div', { class: 'row' }, Utils.formatISO8601(new Date().toISOString(), { includeTime: false, includeTimePrefix: false })),\r\n function () {\r\n if (tab === 'key' && numbers > 0) {\r\n return m('div', { class: 'row' }, [\r\n d('KeyTab/PrintMyNumbers'),\r\n m('span', { class: 'numbers' }, row.numbers.map(function (number) { return number.number; }).join(', ') + (type === 'eurojackpot' ? ' + ' + row.starNumbers.map(function (number) { return number.number; }).join(', ') : (type === 'vikinglotto' ? ' + ' + row.vikingNumber.number : '')))\r\n ]);\r\n }\r\n }(),\r\n function () {\r\n if (tab === 'winnings') {\r\n return m('div', { class: 'row' }, [\r\n m('span', { class: 'description-text' }, d('ProfitGuaranteeTab/PrintWinningsExplanation'))\r\n ]);\r\n }\r\n }()\r\n ]),\r\n m('div', { class: 'print-wrapper-body' }, [\r\n\r\n // Keys:\r\n\r\n tab === 'key' ? [\r\n function () {\r\n var breakAt = 10;\r\n var chunks = [];\r\n var dom = [];\r\n var isValidAndGenerated = (isGameValid && generatedRows.length > 0) || !controller.property('systemRows');\r\n var rows = isValidAndGenerated ? game.getRowsSummary(true) : controller.property('systemRows').rows;\r\n\r\n if ((type === 'eurojackpot' || type === 'vikinglotto') && isValidAndGenerated) {\r\n var redone = [];\r\n\r\n rows.map(function (row) {\r\n redone.push(row.numbers);\r\n });\r\n\r\n rows = redone;\r\n }\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var chunkNumber = Math.floor(i / breakAt);\r\n\r\n if (!chunks[chunkNumber]) {\r\n chunks[chunkNumber] = [];\r\n }\r\n\r\n chunks[chunkNumber].push(rows[i]);\r\n }\r\n\r\n var emptyChunk = Array.apply(null, Array(chunks[0][0].length)).map(function () { return 0; });\r\n var lastChunk = chunks[chunks.length - 1];\r\n var difference = breakAt - lastChunk.length;\r\n\r\n if (difference > 0) {\r\n for (var k = 0; k < difference; k++) {\r\n lastChunk.push(emptyChunk);\r\n }\r\n }\r\n\r\n for (var j = 0; j < chunks.length; j++) {\r\n var total = (j + 1) * breakAt;\r\n var start = (total - breakAt) + 1;\r\n\r\n if (total > rows.length) {\r\n total = rows.length;\r\n }\r\n\r\n dom.push(m('div', { class: 'print-system-row-wrapper' }, [\r\n m('div', { class: 'print-system-row-headline' }, d('KeyTab/PrintRow') + ' ' + start + '-' + total),\r\n m('div', { class: 'print-system-row-body' }, [\r\n function () {\r\n var innerDom = [];\r\n\r\n chunks[j].map(function (numbers) {\r\n for (var q = 0; q < numbers.length; q++) {\r\n if (!innerDom[q]) {\r\n innerDom.push([]);\r\n }\r\n\r\n var number = numbers[q];\r\n\r\n innerDom[q].push(m('span', { class: 'print-system-row-cell' + (number === 0 ? ' hidden' : '') }, number));\r\n }\r\n });\r\n\r\n return innerDom;\r\n }()\r\n ])\r\n ]));\r\n }\r\n\r\n return dom;\r\n }()\r\n\r\n // Winnings:\r\n ] : [\r\n function () {\r\n var winningsProbabilities = controller.property('winningsProbabilities');\r\n\r\n // Eurojackpot:\r\n if (type === 'eurojackpot') {\r\n var winningsGroups = ejpv2 ? ['5 + 2', '5 + 1', '5 + 0', '4 + 2', '4 + 1', '3 + 2', '4 + 0', '3 + 1', '2 + 2', '3 + 0', '1 + 2', '2 + 1'] : ['5 + 2', '5 + 1', '5 + 0', '4 + 2', '4 + 1', '4 + 0', '3 + 2', '3 + 1', '2 + 2', '3 + 0', '1 + 2', '2 + 1'];\r\n\r\n var extract = function (column, mainNumbers, starNumbers) {\r\n var value = column.rows.filter(function (row) {\r\n if (row.mainNumbers == mainNumbers && row.starNumbers == starNumbers) {\r\n return row.value;\r\n }\r\n });\r\n\r\n if (value[0]) {\r\n return value[0].value;\r\n }\r\n\r\n return '';\r\n };\r\n\r\n return m('table', { class: 'print-system-garanti-table' }, [\r\n m('thead', { class: 'print-system-garanti-table-head' }, [\r\n m('tr', [\r\n m('th', d('ProfitGuaranteeTab/PrintNumberOfCrosses')),\r\n m('th', d('ProfitGuaranteeTab/PrintNumberOfRows')),\r\n m('th', { colspan: '2' }, d('ProfitGuaranteeTab/PrintNumberOfCorrectNumbers')),\r\n m('th', { colspan: '12' }, d('ProfitGuaranteeTab/PrintNumberOfPrizesWithNumbers'))\r\n ])\r\n ]),\r\n m('tbody', { class: 'print-system-garanti-table-body' }, [\r\n m('tr', [\r\n m('th', ''),\r\n m('th', ''),\r\n m('th', d('ProfitGuaranteeTab/PrintMainNumbers')),\r\n m('th', d('ProfitGuaranteeTab/PrintStarNumbers')),\r\n winningsGroups.map(function (group) {\r\n return m('th', group);\r\n })\r\n ]),\r\n winningsProbabilities.data.columns.map(function (column, index) {\r\n var winningNumbers = winningsGroups[index].split(' + ');\r\n\r\n return m('tr', [\r\n m('th', index === 0 ? game.numbersPerRow() : null),\r\n m('th', index === 0 ? game.systemName().split('-')[1] : null),\r\n m('th', winningNumbers[0]),\r\n m('th', winningNumbers[1]),\r\n m('th', extract(column, 5, 2)),\r\n m('th', extract(column, 5, 1)),\r\n m('th', extract(column, 5, 0)),\r\n m('th', extract(column, 4, 2)),\r\n m('th', extract(column, 4, 1)),\r\n m('th', extract(column, ejpv2 ? 3 : 4, ejpv2 ? 2 : 0)),\r\n m('th', extract(column, ejpv2 ? 4 : 3, ejpv2 ? 0 : 2)),\r\n m('th', extract(column, 3, 1)),\r\n m('th', extract(column, 2, 2)),\r\n m('th', extract(column, 3, 0)),\r\n m('th', extract(column, 1, 2)),\r\n m('th', extract(column, 2, 1))\r\n ]);\r\n })\r\n ])\r\n ]);\r\n\r\n // C & R:\r\n } else if (winningsProbabilities.systemType !== 'M') {\r\n return winningsProbabilities.data.rows.map(function (row) {\r\n return m('div', { class: 'print-system-garanti-section-wrapper' }, [\r\n m('div', { class: 'print-system-garanti-section-header' }, d('ProfitGuaranteeTab/PrintCorrectNumbers', { number: row.number })),\r\n row.columns.map(function (column) {\r\n return m('div', { class: 'print-system-garanti-section-column' }, [\r\n m('span', { class: 'print-system-garanti-section-cell' }, d('ProfitGuaranteeTab/PrintCorrectNumbers', { number: column.correct })),\r\n column.values.map(function (value) {\r\n return m('span', { class: 'print-system-garanti-section-cell' }, value);\r\n })\r\n ]);\r\n }),\r\n m('div', { class: 'print-system-garanti-section-column' }, [\r\n m('span', { class: 'print-system-garanti-section-cell' }, d('ProfitGuaranteeTab/PrintFrequency')),\r\n row.frequency.map(function (frequency) {\r\n return m('span', { class: 'print-system-garanti-section-cell' }, frequency);\r\n })\r\n ])\r\n ]);\r\n });\r\n\r\n // M:\r\n } else {\r\n var prizes = winningsProbabilities.data.prizes;\r\n\r\n return m('table', { class: 'print-system-garanti-table' }, [\r\n m('thead', { class: 'print-system-garanti-table-head' }, [\r\n m('tr', [\r\n m('th', { colspan: '2' }, d('ProfitGuaranteeTab/PrintNumberOfCorrectNumbers')),\r\n m('th', { colspan: prizes.fifth ? '5' : '4' }, d('ProfitGuaranteeTab/PrintNumberOfPrizes'))\r\n ])\r\n ]),\r\n m('tbody', { class: 'print-system-garanti-table-body' }, [\r\n m('tr', [\r\n m('th', d('ProfitGuaranteeTab/PrintWinningNumbers')),\r\n m('th', d('ProfitGuaranteeTab/PrintAdditionalNumbers')),\r\n m('th', d('ProfitGuaranteeTab/PrintFirstPrize')),\r\n m('th', d('ProfitGuaranteeTab/PrintSecondPrize')),\r\n m('th', d('ProfitGuaranteeTab/PrintThirdPrize')),\r\n m('th', d('ProfitGuaranteeTab/PrintFourthPrize')),\r\n prizes.fifth ? m('th', d('ProfitGuaranteeTab/PrintFifthPrize')) : null\r\n ]),\r\n winningsProbabilities.data.winningNumbers.map(function (number, index) {\r\n return m('tr', [\r\n m('td', number),\r\n m('td', winningsProbabilities.data.additionalNumbers[index]),\r\n m('td', prizes.first[index]),\r\n m('td', prizes.second[index]),\r\n m('td', prizes.third[index]),\r\n m('td', prizes.fourth[index]),\r\n prizes.fifth ? m('td', prizes.fifth[index]) : null\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 m('div', { class: 'print-wrapper-footer' }, [\r\n m('div', { class: 'footer-notes' }, [\r\n m('p', d((tab === 'key' ? 'Key' : 'ProfitGuarantee') + 'Tab/PrintFooter1')),\r\n m('p', d((tab === 'key' ? 'Key' : 'ProfitGuarantee') + 'Tab/PrintFooter2'))\r\n ]),\r\n m('div', { class: 'footer-bar' }, [\r\n m('svg', { class: 'icon-cube' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons.svg#danskespil-cube' })\r\n ]),\r\n m('svg', { class: 'icon-logo' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/' + { eurojackpot: 'Eurojackpot/Graphics/SpriteSheets/EurojackpotCommonIcons.svg#icon-eurojackpot_logo', lotto: 'Lotto/Graphics/SpriteSheets/LottoCommonIcons.svg#icon-lotto_logo_white', vikinglotto: 'VikingLotto/Graphics/SpriteSheets/VikingLottoCommonIcons.svg#icon-viking-lotto-logo_white' }[type] })\r\n ])\r\n ])\r\n ])\r\n ]);\r\n\r\n };\r\n\r\n // Public functions:\r\n return PrintWrapper;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/GenericOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Framework/LottiePlayer'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var GenericOverlay = function (options) {\r\n var useLottieFile = customElements.get('lottie-player') && options.lottieUrl;\r\n var onRendered = function (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(function () {\r\n element.setAttribute('loop', 'true');\r\n element.play();\r\n }, 0);\r\n }\r\n };\r\n\r\n // Return:\r\n return {\r\n class: m.prop(options.className || 'no-extra-class'),\r\n\r\n render: function (confirm, dismiss) {\r\n return m('.generic-overlay', {\r\n class: this.class()\r\n }, [\r\n m('.panel', [\r\n m('.generic-overlay__close-button', { onclick: dismiss }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesGenericCommonIcons.svg#icon-x' })\r\n ])\r\n ]),\r\n options.svgUsePath ? m('svg.icon-wrapper', [\r\n m('use', { href: options.svgUsePath })\r\n ]) : null,\r\n options.iconUrl ? m('.icon-wrapper', [\r\n useLottieFile ? m('lottie-player[autoplay]', {\r\n src: options.lottieUrl,\r\n config: onRendered\r\n }) : m('img', { src: options.iconUrl }),\r\n ]) : null,\r\n options.imageCaption ? m('.image-caption', options.imageCaption) : null,\r\n m('h2', { class: 'headline' }, options.header),\r\n options.subheading ? m('h3.subheading', options.subheading) : null,\r\n options.bodyView ? options.bodyView : null,\r\n options.body && !options.bodyView ? m('p', { class: 'text' }, m.trust(options.body)) : null,\r\n m('div', { class: 'buttons' }, [\r\n function () {\r\n if (options.dismiss && !options.confirm) {\r\n return m('.generic-overlay__cta-button', { onclick: confirm, }, options.dismiss);\r\n }\r\n return [\r\n options.dismiss ? m('.generic-overlay__cta-button', { onclick: dismiss, }, m('span', options.dismiss)) : null,\r\n options.confirm ? m('.generic-overlay__cta-button.primary-button', {\r\n class: options.confirmProcessing ? ' processing' : '',\r\n onclick: options.confirmCallBack || confirm\r\n }, m('span', options.confirm)) : null\r\n ];\r\n }()\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return GenericOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Framework/LottiePlayer',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/GenericOverlay'\r\n ],\r\n function (m, ignoreLottiePlayer, Overlay, GenericOverlay) {\r\n\r\n var NotificationBox = function (notificationKey, notifications, options) {\r\n if (!notifications) return null;\r\n var notification = notifications.filter(function (notification) {\r\n return notification.key === notificationKey;\r\n })[0];\r\n\r\n if (!notification || !(notification.image || notification.text)) return null;\r\n\r\n var useLottieFile = customElements.get('lottie-player') && notification.lottieUrl;\r\n\r\n var onRendered = function (element) {\r\n if (typeof element.play === 'function') {\r\n element.setAttribute('loop', 'true');\r\n element.play();\r\n }\r\n };\r\n var text = notification.text;\r\n if (options && options.replacements) {\r\n var keys = Object.keys(options.replacements);\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n var k = keys[i];\r\n var val = options.replacements[k];\r\n\r\n text = notification.text.replace(new RegExp('{' + k + '}', 'gi'), val);\r\n }\r\n }\r\n\r\n if (options && options.asOverlay) {\r\n var genericOverlayDictionary = {\r\n iconUrl: notification.iconUrl,\r\n lottieUrl: notification.lottieUrl,\r\n header: text,\r\n dismiss: options.dismissText\r\n };\r\n\r\n return new Overlay(GenericOverlay(genericOverlayDictionary));\r\n }\r\n\r\n return [\r\n m('.notification-box', [\r\n notification.iconUrl ? m('.notification-box__image-wrapper', [\r\n useLottieFile ? m('lottie-player[autoplay].notification-box__image', {\r\n src: notification.lottieUrl,\r\n config: onRendered\r\n }) : m('img.notification-box__image', { src: notification.iconUrl }),\r\n ]) : null,\r\n\r\n m('.notification-box__text', text)\r\n ])\r\n ];\r\n };\r\n\r\n return NotificationBox;\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Helpers/UIHelpers',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Scroll',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Resize'\r\n ],\r\n function (m, Scroll, Utils, Resize) {\r\n // Functions:\r\n function getPositionRelativeToWindow($element) {\r\n let xPosition = 0;\r\n let yPosition = 0;\r\n\r\n while ($element) {\r\n xPosition += ($element.offsetLeft - $element.scrollLeft + $element.clientLeft);\r\n yPosition += ($element.offsetTop - $element.scrollTop + $element.clientTop);\r\n $element = $element.offsetParent;\r\n }\r\n\r\n return { x: xPosition, y: yPosition };\r\n }\r\n\r\n var columnDivider = function (items, options) {\r\n var columns = [];\r\n var columnsOptions = Utils.isMobile() ? ['single-column'] : ['left-column', 'right-column'];\r\n var className = options && options.className;\r\n columnsOptions.forEach(function (column, columnIndex) {\r\n var columnContent = items.filter(function (ignoreItem, itemIndex) {\r\n return itemIndex % columnsOptions.length === columnIndex % columnsOptions.length;\r\n });\r\n columns.push(m('.multi-columns-wrapper__column', { class: column }, columnContent));\r\n });\r\n\r\n return m('.multi-columns-wrapper', { class: className }, columns);\r\n };\r\n\r\n const stickyComponent = ({ $container, topLimit }) => {\r\n return ($element, ignoreIsRendered, context) => {\r\n const checkPosition = () => {\r\n if (!topLimit) return;\r\n const distanceFromWindowBottom = context.containerOffsetTop + $container.clientHeight;\r\n const distance = distanceFromWindowBottom - (window.innerHeight + window.scrollY);\r\n const topLimitValue = topLimit() || 0;\r\n const innerTopLimit = $container.clientHeight - $element.clientHeight - topLimitValue;\r\n if (distance > innerTopLimit) {\r\n let newPosition = distance - innerTopLimit;\r\n if (newPosition > topLimitValue) {\r\n newPosition = topLimitValue;\r\n }\r\n $element.style.transform = `translateY(${newPosition}px)`;\r\n return;\r\n }\r\n\r\n $element.style.transform = 'translateY(0)';\r\n $element.classList.toggle('sticky', distance > 0);\r\n };\r\n\r\n if (!context.isInitialized) {\r\n if (!$container?.contains($element)) return;\r\n setTimeout(() => {\r\n context.isInitialized = true;\r\n context.containerOffsetTop = getPositionRelativeToWindow($container).y;\r\n\r\n const resizeObserver = new ResizeObserver(() => {\r\n checkPosition();\r\n });\r\n resizeObserver.observe($container);\r\n\r\n Scroll(checkPosition);\r\n Resize(checkPosition);\r\n checkPosition();\r\n }, 0);\r\n }\r\n };\r\n };\r\n\r\n return {\r\n columnDivider,\r\n stickyComponent,\r\n getPositionRelativeToWindow,\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Helpers/MultiClientDictionary',\r\n [],\r\n function () {\r\n var mainDictionary = null;\r\n var dictionaries = function () {\r\n return mainDictionary ? function () {\r\n var setItem = this.setItem.bind(null, mainDictionary);\r\n return {\r\n defaultDictionary: setItem,\r\n closeButton: setItem('MultiClient/CloseButton'),\r\n okayButton: setItem('MultiClient/OkayButton'),\r\n nextButton: setItem('MultiClient/NextButton'),\r\n nextButtonWithRow: setItem('MultiClient/NextButtonWithRow'),\r\n nextButtonWithRows: setItem('MultiClient/NextButtonWithRows'),\r\n nextButtonWithoutPrice: setItem('MultiClient/NextButtonWithoutPrice'),\r\n nextButtonPlus: setItem('PurchaseBar/SubmitButtonPlus'),\r\n purchaseErrors: {\r\n header: setItem,\r\n body: setItem,\r\n dismiss: setItem\r\n },\r\n game: {\r\n title: setItem('MultiClient/GameStep/Title'),\r\n subtitle: setItem('MultiClient/GameStep/Subtitle'),\r\n lightningRow: setItem('MultiClient/GameStep/Row'),\r\n lightningRows: setItem('MultiClient/GameStep/Rows'),\r\n helpOverlay: setItem('MultiClient/GameStep/HelpOverlay')\r\n },\r\n draws: {\r\n title: setItem('MultiClient/DrawsStep/Title'),\r\n subtitle: setItem('MultiClient/DrawsStep/Subtitle'),\r\n subscriptionOptionLabel: setItem(['PurchaseBar/PlayRowsFor', 'PurchaseBar/PlayRowsEveryWeek']),\r\n multiDrawsLabel: setItem('MultiClient/DrawsStep/MultiDrawsLabel'),\r\n singleDrawLabel: setItem('MultiClient/DrawsStep/SingleDrawLabel'),\r\n helpOverlay: setItem('MultiClient/DrawsStep/HelpOverlay')\r\n },\r\n joker: {\r\n title: setItem('MultiClient/JokerStep/Title'),\r\n subtitle: setItem('MultiClient/JokerStep/Subtitle'),\r\n noJokerLabel: setItem('MultiClient/JokerStep/NoJokerLabel'),\r\n multipleJokerLabel: setItem('MultiClient/JokerStep/MultipleJokerLabel'),\r\n wednesdayJokerLabel: setItem('MultiClient/JokerStep/WednesdayJokerLabel'),\r\n saturdayJokerLabel: setItem('MultiClient/JokerStep/SaturdayJokerLabel'),\r\n bothJokerLabel: setItem('MultiClient/JokerStep/BothDrawsDaysLabel'),\r\n jokerSublabel: setItem('MultiClient/JokerStep/JokerSublabel'),\r\n jokerSublabelDrawInProgress: setItem('MultiClient/JokerStep/JokerSublabelDrawInProgress'),\r\n jokerSublabelPoolSize: setItem('MultiClient/JokerStep/JokerSublabelPoolSize'),\r\n jokerSublabelPoolSizeBoth: setItem('MultiClient/JokerStep/JokerSublabelPoolSizeBoth'),\r\n minimumPoolSize: setItem('MultiClient/JokerStep/MinimumPoolSize'),\r\n helpOverlay: setItem('MultiClient/JokerStep/HelpOverlay')\r\n },\r\n confirm: {\r\n nextButton: setItem('MultiClient/ConfirmStep/ConfirmButton'),\r\n depositHeader: setItem('ConfirmStep/DepositHeader'),\r\n depositText: setItem('ConfirmStep/DepositText'),\r\n depositButton: setItem('ConfirmStep/DepositButton'),\r\n confirmTitle: setItem('ConfirmPage/Title'),\r\n playType: setItem,\r\n tableDraw: setItem('ConfirmPage/TableDraw'),\r\n tableRows: setItem('ConfirmPage/TableRows'),\r\n tableWeeks: setItem('ConfirmPage/TableWeeks'),\r\n tableChosenSystemNumbers: setItem('ConfirmPage/TableChosenSystemNumbers'),\r\n tableJoker: setItem('ConfirmPage/TableJoker'),\r\n tableJokerWednesdayAndSaturday: setItem('ConfirmPage/TableJokerWednesdayAndSaturday'),\r\n tableJokerWednesday: setItem('ConfirmPage/TableJokerWednesday'),\r\n tableJokerSaturday: setItem('ConfirmPage/TableJokerSaturday'),\r\n tableJokerNo: setItem('ConfirmPage/TableJokerNo'),\r\n tableJokerAddButton: setItem('ConfirmPage/TableJokerAddButton'),\r\n tableTotal: setItem('ConfirmPage/TableTotal'),\r\n gameVendor: setItem('ConfirmPage/GameVendor'),\r\n termsLink: setItem('ConfirmPage/TermsLink'),\r\n viewTerms: setItem('ConfirmPage/ViewTerms'),\r\n helpOverlay: setItem('MultiClient/ConfirmStep/HelpOverlay')\r\n },\r\n receipt: {\r\n title: setItem('MultiClient/ReceiptStep/Title'),\r\n subtitle: setItem('MultiClient/ReceiptStep/Subtitle'),\r\n helpOverlay: setItem('MultiClient/ReceiptStep/HelpOverlay')\r\n }\r\n };\r\n }.bind(this)() : null;\r\n };\r\n\r\n this.setItem = function (dictionary, keys) {\r\n // if no keys are provided we return the dictionary so it can be used outside\r\n // the multi client dictionary system like `dictionary('dictionaryPath')`\r\n if (!keys) {\r\n return dictionary;\r\n }\r\n if (!Array.isArray(keys)) {\r\n if (typeof dictionary(keys) === 'object') {\r\n return dictionary(keys);\r\n }\r\n keys = new Array(keys);\r\n }\r\n return function (replacements) {\r\n var text = '';\r\n for (var i = 0; i < keys.length; i++) {\r\n text += dictionary(keys[i], replacements);\r\n }\r\n return text;\r\n };\r\n };\r\n\r\n var setDictionary = function (_dictionaries) {\r\n mainDictionary = this;\r\n if (typeof dictionaries === 'function') {\r\n dictionaries = dictionaries();\r\n }\r\n if (_dictionaries) {\r\n var deepMerge = function (target, source) {\r\n Object.entries(source).forEach(function (item) {\r\n var key = item[0];\r\n var value = item[1];\r\n if (value && typeof value === 'object') {\r\n deepMerge(target[key] = target[key] || {}, value);\r\n return;\r\n }\r\n target[key] = value;\r\n });\r\n return target;\r\n };\r\n dictionaries = [dictionaries, _dictionaries].reduce(deepMerge, {});\r\n }\r\n };\r\n\r\n var get = function (key, replacements) {\r\n var segments = key.split('/');\r\n var dictionary = dictionaries;\r\n\r\n if (!dictionary) {\r\n if (dictionary === undefined) {\r\n console.warn('Multi client dictionary is missing!');\r\n }\r\n return '';\r\n }\r\n\r\n for (var i = 0; i < segments.length; i++) {\r\n dictionary = dictionary[segments[i]];\r\n if (!dictionary) {\r\n dictionary = null;\r\n break;\r\n }\r\n }\r\n if (!dictionary) {\r\n if (dictionary === undefined) {\r\n console.warn('Missing multi client dictionary: ' + key);\r\n }\r\n return;\r\n }\r\n\r\n if (typeof dictionary === 'object') return dictionary;\r\n\r\n return dictionary(replacements);\r\n };\r\n\r\n return {\r\n get: get,\r\n setDictionary: setDictionary,\r\n setItem: this.setItem\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/NonMithril/LottieTopSpot', [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n], (CrossWindowEvents, Ensighten, JackpotInfo, EurojackpotInfo, LottoInfo, VikingLottoInfo) => {\r\n\r\n let prevDevice;\r\n\r\n const getDevice = () => {\r\n let device = 'mobile';\r\n if (window.matchMedia('(min-width: 1440px)').matches) {\r\n device = 'desktop';\r\n } else if (window.matchMedia('(min-width: 768px)').matches) {\r\n device = 'tablet';\r\n }\r\n return device;\r\n };\r\n\r\n const addLottie = async (options) => {\r\n const device = getDevice();\r\n if (options?.isInit && !options.isInit?.()) {\r\n options.isInit(true);\r\n prevDevice = null;\r\n }\r\n\r\n let src;\r\n const _$parent = options?.$parent?.querySelector('.lottie-top-spot__lottie');\r\n if (!_$parent?.dataset?.settings) {\r\n return;\r\n }\r\n const player = _$parent.querySelector('lottie-player');\r\n if (!player) {\r\n return;\r\n }\r\n const settings = _$parent.dataset.settings;\r\n const { lottieBackgroundSmall, lottieBackgroundMedium, lottieBackgroundLarge } = JSON.parse(settings);\r\n\r\n if (device === 'desktop') src = lottieBackgroundLarge;\r\n if (device === 'tablet') src = lottieBackgroundMedium;\r\n if (device === 'mobile') src = lottieBackgroundSmall;\r\n\r\n if (src) {\r\n try {\r\n const responseLottie = await fetch(src);\r\n if (!responseLottie.ok) {\r\n throw new Error(responseLottie.statusText);\r\n }\r\n const strLottie = JSON.stringify(await responseLottie.json());\r\n player.load(strLottie);\r\n } catch {\r\n player.load({});\r\n }\r\n } else {\r\n player.load({});\r\n }\r\n };\r\n\r\n const setupLottie = async (options) => {\r\n await addLottie(options);\r\n window.addEventListener('resize', () => {\r\n const device = getDevice();\r\n if (device === prevDevice) return;\r\n prevDevice = device;\r\n addLottie(options);\r\n });\r\n };\r\n\r\n const addTrackingToCta = (options) => {\r\n const _$parent = options?.$parent;\r\n _$parent?.querySelectorAll('.lottie-top-spot__cta')?.forEach(($cta) => {\r\n $cta.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n Ensighten.pushGaEventOnPageRedirect('top_spot', 'cta_click', event.target.text);\r\n setTimeout(() => {\r\n window.location = event.target.href;\r\n }, 100);\r\n });\r\n });\r\n };\r\n\r\n const searchAndReplaceVariables = (dataMap, keySuffix) => {\r\n const $elements = document.querySelectorAll('.lottie-top-spot__header, .lottie-top-spot__description');\r\n if ($elements.length) {\r\n $elements.forEach(($element) => {\r\n let elementText = $element.innerHTML.toString();\r\n\r\n Object.keys(dataMap).forEach(function (key) {\r\n elementText = elementText.replace(`{${key}${keySuffix}}`, dataMap[key]);\r\n });\r\n\r\n $element.innerHTML = elementText;\r\n });\r\n }\r\n };\r\n\r\n const initialize = () => {\r\n if (document.querySelector('.mode-edit')) return;\r\n\r\n JackpotInfo.ready.then(() => {\r\n // Helper function to format Joker jackpot\r\n const formatJoker = (feed) => {\r\n let 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 const jackpotData = {\r\n vikinglotto: JackpotInfo.getByGame('vikinglotto').poolSizeFormatted || 'min. 19',\r\n lotto: JackpotInfo.getByGame('lotto').poolSizeFormatted || 'min. 7',\r\n eurojackpot: JackpotInfo.getByGame('eurojackpot').poolSizeFormatted || 'min. 63',\r\n jokerloerdag: formatJoker(JackpotInfo.getByGame('jokerloerdag').poolSizeFormatted),\r\n jokeronsdag: formatJoker(JackpotInfo.getByGame('jokeronsdag').poolSizeFormatted)\r\n };\r\n searchAndReplaceVariables(jackpotData, 'PoolSize');\r\n });\r\n\r\n Promise.all([\r\n LottoInfo.ready,\r\n VikingLottoInfo.ready,\r\n EurojackpotInfo.ready,\r\n ]).then(() => {\r\n const closingTimeData = {\r\n lotto: LottoInfo.data()?.lottoSaturday?.openDraw?.closingTime,\r\n vikinglotto: VikingLottoInfo.data()?.openDraw?.closingTime,\r\n eurojackpot: EurojackpotInfo.data()?.openDraw?.closingTime\r\n };\r\n\r\n const closingTimeDays = {};\r\n Object.keys(closingTimeData).forEach((key) => {\r\n if (closingTimeData[key]) {\r\n const _date = new Date(closingTimeData[key]);\r\n closingTimeDays[key] = _date.toLocaleString('da-dk', { weekday: 'long' });\r\n }\r\n });\r\n\r\n searchAndReplaceVariables(closingTimeDays, 'DrawDay');\r\n });\r\n\r\n const $spots = document.querySelectorAll(':not(.js-initialize-on-subscribe) > .lottie-top-spot');\r\n if ($spots.length) {\r\n $spots.forEach(($spot) => {\r\n const options = {\r\n $parent: $spot\r\n };\r\n setupLottie(options);\r\n addTrackingToCta(options);\r\n });\r\n }\r\n };\r\n\r\n CrossWindowEvents.subscribe('ds.event.lottietopspot:initialize', (options) => {\r\n if (!options) return;\r\n if (!options.$parent.hasChildNodes?.()) return;\r\n\r\n setupLottie(options);\r\n addTrackingToCta(options);\r\n });\r\n\r\n initialize();\r\n\r\n});\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Components/AccordionInfoOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/GenericOverlay'\r\n ],\r\n function (Component, Ensighten, Event, Overlay, GenericOverlay) {\r\n\r\n // Component:\r\n Component('accordion-info-overlay', [], function (m, route, settings, property) {\r\n\r\n // Components:\r\n const root = {\r\n controller: function () {\r\n this.property = property;\r\n this.selectedItemIndex = m.prop(null);\r\n this.openedFrom = m.prop('');\r\n\r\n this.key = settings.key;\r\n this.image = settings.image;\r\n this.settings = JSON.stringify(settings);\r\n for (const [key, value] of Object.entries(settings.variables || {})) {\r\n let dateVariable = new Date(value);\r\n let _value = value;\r\n if (dateVariable.toString() !== 'Invalid Date') {\r\n _value = dateVariable.toLocaleString('da-dk', {\r\n day: 'numeric',\r\n month: 'long'\r\n });\r\n }\r\n this.settings = this.settings.replace(`{${key}}`, _value);\r\n }\r\n this.settings = JSON.parse(this.settings);\r\n this.captionText = this.settings.captionText;\r\n this.headerText = this.settings.header;\r\n this.subheadingText = this.settings.subheading;\r\n this.bodyText = this.settings.body;\r\n this.accordionItems = this.settings.accordionItems?.length ? this.settings.accordionItems : null;\r\n this.confirmButton = settings.confirm;\r\n this.dismissButton = settings.dismiss;\r\n this.overlay = m.prop(null);\r\n\r\n const confirmAction = () => {\r\n Ensighten.pushGaEvent('faq_popup', 'closed', this.openedFrom());\r\n };\r\n const onClose = () => {\r\n Ensighten.pushGaEvent('faq_popup', 'closed', this.openedFrom());\r\n };\r\n\r\n const onListRender = ($element) => {\r\n const $items = $element.childNodes;\r\n const activeClassName = 'accordion-info-overlay__item--active';\r\n\r\n const toggleItem = ($item, isItemSelected) => {\r\n const $itemBody = $item.querySelector('.item-body');\r\n const $itemBodyInner = $item.querySelector('.item-body__inner');\r\n $itemBody.style.maxHeight = isItemSelected ? `${$itemBodyInner.offsetHeight}px` : '';\r\n $item.classList.toggle(activeClassName, isItemSelected);\r\n };\r\n\r\n const removeActiveClass = () => {\r\n $items.forEach(($item) => {\r\n toggleItem($item, false);\r\n });\r\n };\r\n\r\n $items.forEach(($item, index) => {\r\n $item.addEventListener('click', () => {\r\n const isItemSelected = this.selectedItemIndex() !== index;\r\n removeActiveClass();\r\n toggleItem($item, isItemSelected);\r\n this.selectedItemIndex(isItemSelected ? index : null);\r\n if (isItemSelected) {\r\n Ensighten.pushGaEvent('faq', 'open_faq', $item.querySelector('.item-header__title').textContent);\r\n }\r\n });\r\n });\r\n };\r\n\r\n const generateItem = (args) => {\r\n return m('.accordion-info-overlay__item', [\r\n m('.item-header', [\r\n m('.item-header__title', args.title),\r\n m('.item-header__button',\r\n m('svg.item-header__button-icon', [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#arrow_down' })\r\n ])\r\n )\r\n ]),\r\n m('.item-body', [\r\n m('.item-body__inner', m.trust(args.body))\r\n ])\r\n ]);\r\n };\r\n\r\n const itemsList = () => {\r\n if (!this.accordionItems) return null;\r\n return m('.accordion-info-overlay__list', {\r\n config: onListRender\r\n }, this.accordionItems.map((item, index) => generateItem(item, index)));\r\n };\r\n\r\n Event.subscribe('ds.event.accordionInfoOverlay:show', (args) => {\r\n const $existingOverlay = document.querySelector(`.accordion-info-overlay__${this.key}`);\r\n if ($existingOverlay) return;\r\n if (args.key === this.key) {\r\n if (args.srcIdentifier) {\r\n this.openedFrom(args.srcIdentifier);\r\n Ensighten.pushGaEvent('faq_popup', 'shown', this.openedFrom());\r\n }\r\n\r\n let className = `accordion-info-overlay accordion-info-overlay__${this.key}`;\r\n if (args.className) {\r\n className += ` ${args.className}`;\r\n }\r\n\r\n const genericOverlayOptions = {\r\n className: className,\r\n imageCaption: this.captionText,\r\n iconUrl: this.image,\r\n header: this.headerText,\r\n subheading: this.subheadingText,\r\n bodyView: itemsList() || m('.accordion-info-overlay__body-text', m.trust(this.bodyText)),\r\n confirm: this.confirmButton?.text,\r\n dismiss: this.dismissButton?.text,\r\n };\r\n\r\n this.overlay(new Overlay(GenericOverlay(genericOverlayOptions)));\r\n this.overlay().show(args.onConfirm || confirmAction, args.onClose || onClose);\r\n }\r\n });\r\n }\r\n };\r\n\r\n // Setup routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs(\r\n 'DanskeSpil/Domain/NumberGames/Scripts/NonMithril/MultiBannerSpot',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Helpers/LottieUtils',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/Shared/VideoModal',\r\n ],\r\n (m, JackpotInfo, TimeUtils, Event, LottieUtils, Ensighten, Modal) => {\r\n const setupLottie = async ({ topSpotSettings, $topSpot }) => {\r\n const $lottieContainer = $topSpot.querySelector('.multi-banner-spot__lottie');\r\n await LottieUtils.initializeLottie({\r\n $lottieContainer,\r\n settings: {\r\n lottieMobile: topSpotSettings.mobileLottieSrc,\r\n lottieTablet: topSpotSettings.tabletLottieSrc,\r\n lottieDesktop: topSpotSettings.desktopLottieSrc,\r\n lottieReplacements: topSpotSettings.lottieReplacements,\r\n },\r\n });\r\n };\r\n\r\n const zeroPad = (num, places) => String(num).padStart(places, '0');\r\n const updateCountdownClock = ({ previousCountdown, currentCountdown, $days, $hours, $mins, $secs }) => {\r\n if (previousCountdown.days !== currentCountdown.days) $days.textContent = zeroPad(currentCountdown.days, 2);\r\n if (previousCountdown.hours !== currentCountdown.hours) $hours.textContent = zeroPad(currentCountdown.hours, 2);\r\n if (previousCountdown.mins !== currentCountdown.mins) $mins.textContent = zeroPad(currentCountdown.mins, 2);\r\n if (previousCountdown.secs !== currentCountdown.secs) $secs.textContent = zeroPad(currentCountdown.secs, 2);\r\n };\r\n\r\n const initializeCountdown = async ({ topSpotSettings, $topSpot }) => {\r\n return new Promise((resolve) => {\r\n const $countDown = $topSpot.querySelector('.multi-banner-spot__count-down');\r\n if (!$countDown) return;\r\n\r\n // Find the countdown label and check if it should be enabled\r\n const $countDownTimeWrapper = $countDown.querySelector('.multi-banner-spot__count-down-time');\r\n const closingTime = topSpotSettings.mainDrawClosingTime;\r\n\r\n // If the countdown shouldn't be enabled, stop here\r\n if (!$countDownTimeWrapper || !closingTime) return;\r\n\r\n // Find the countdown elements\r\n const $days = $countDown.querySelector('.js-multi-banner-spot__count-down-time__days');\r\n const $hours = $countDown.querySelector('.js-multi-banner-spot__count-down-time__hours');\r\n const $mins = $countDown.querySelector('.js-multi-banner-spot__count-down-time__minutes');\r\n const $secs = $countDown.querySelector('.js-multi-banner-spot__count-down-time__seconds');\r\n\r\n if (!$days || !$hours || !$mins || !$secs) return;\r\n\r\n // Initialize countdown variables\r\n let firstRenderCycle = false;\r\n let previousCountdown = { days: null, hours: null, mins: null, secs: null };\r\n let elapsedSinceLastTick;\r\n\r\n // Define the function that updates the countdown\r\n const updateCountdown = (timestamp) => {\r\n if (elapsedSinceLastTick === undefined) {\r\n elapsedSinceLastTick = timestamp - 1000; // Ensure first tick run immediately\r\n }\r\n\r\n const elapsed = timestamp - elapsedSinceLastTick;\r\n\r\n if (elapsed >= 1000) {\r\n elapsedSinceLastTick = timestamp;\r\n const timeDiff = new Date(closingTime) - TimeUtils.getServerDateTime();\r\n const compoundTimeObj = TimeUtils.getCompoundTimeObject(timeDiff);\r\n\r\n updateCountdownClock({\r\n previousCountdown,\r\n currentCountdown: compoundTimeObj,\r\n $days,\r\n $hours,\r\n $mins,\r\n $secs,\r\n });\r\n\r\n if (!firstRenderCycle) {\r\n $countDownTimeWrapper.classList.remove('hidden');\r\n firstRenderCycle = true;\r\n }\r\n previousCountdown = compoundTimeObj;\r\n }\r\n resolve();\r\n window.requestAnimationFrame(updateCountdown);\r\n };\r\n // Start the countdown\r\n window.requestAnimationFrame(updateCountdown);\r\n });\r\n };\r\n\r\n const initializeVideoBanner = ({ $topSpot, topSpotSettings, variant }) => {\r\n if (variant === 'variant-7' || variant === 'variant-8') {\r\n const gameType = topSpotSettings.gameType;\r\n const videoModal = new Modal({ extraClassNames: 'multi-banner-spot__modal hidden' });\r\n let videoUrl = topSpotSettings[LottieUtils.getDevice() + 'VideoUrl'];\r\n videoModal.setContent(\r\n m('video.multi-banner-spot__video', { controls: true, autoplay: false, playsinline: '', preload: 'auto' }, [\r\n m('source', { src: videoUrl, type: 'video/mp4' }),\r\n ])\r\n );\r\n videoModal.build();\r\n\r\n\r\n let elPlayIcon = null;\r\n if (variant === 'variant-7') {\r\n elPlayIcon = $topSpot.querySelector('.multi-banner-spot__icon-gradient');\r\n } else {\r\n elPlayIcon = $topSpot.querySelector('.multi-banner-spot__secondary-call-to-action');\r\n }\r\n\r\n elPlayIcon.addEventListener('click', () => {\r\n Ensighten.pushGaEvent('herospot_' + gameType, 'herospot_cta_click', elPlayIcon?.textContent || '');\r\n\r\n videoModal.play();\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Flashes text in the countdown element of a top spot.\r\n */\r\n const flashText = (flashText, $topSpot, variant) => {\r\n // Flashy text is only enabled on variant 1\r\n if (variant !== 'variant-1') return;\r\n\r\n const $countDown = $topSpot.querySelector('.multi-banner-spot__count-down');\r\n if (!flashText || !$countDown) return;\r\n\r\n const $countDownContentWrapper = $countDown.querySelector('.multi-banner-spot__count-down-content-wrapper');\r\n const $countDownFlashyText = $countDown.querySelector('.multi-banner-spot__count-down-flashy-text');\r\n if (!$countDownContentWrapper || !$countDownFlashyText) return;\r\n\r\n const intervalId = setInterval(() => {\r\n if (!$countDownContentWrapper.isConnected || !$countDownFlashyText.isConnected) {\r\n clearInterval(intervalId);\r\n return;\r\n }\r\n\r\n $countDownContentWrapper.classList.toggle('hidden');\r\n $countDownFlashyText.classList.toggle('hidden');\r\n }, 3000);\r\n };\r\n\r\n const initializeCallToAction = ({ $topSpot, topSpotSettings, variant }) => {\r\n const $callToAction = $topSpot.querySelector('.multi-banner-spot__cta');\r\n if (!$callToAction) return;\r\n\r\n $callToAction.addEventListener('click', (event) => {\r\n\r\n event.preventDefault();\r\n const gameType = topSpotSettings.gameType;\r\n const targetUrl = new URL(event.target.href);\r\n let rows = 0;\r\n try {\r\n rows = new URLSearchParams(targetUrl.search).get('rows');\r\n } catch (error) {\r\n console.error('Invalid url passed from CTA:', error);\r\n }\r\n const isSamePageLink = targetUrl.origin + targetUrl.pathname === location.origin + location.pathname;\r\n\r\n\r\n // Amount of rows that should be forwarded to the multiClient buy flow\r\n if (rows && isSamePageLink) {\r\n const timeoutId = setTimeout(() => {\r\n // If the timeout is not cleared, redirect the user to the href\r\n window.location.href = event.target.href;\r\n }, 20);\r\n\r\n const eventHandler = () => {\r\n clearTimeout(timeoutId);\r\n Event.unsubscribe('ds.event.multiclient:topspot:buy-event-handled', eventHandler);\r\n };\r\n\r\n Event.subscribe('ds.event.multiclient:topspot:buy-event-handled', eventHandler);\r\n Event.fire('ds.event.multiclient:topspot:buy', {\r\n region: gameType,\r\n rows: parseInt(rows, 10),\r\n });\r\n Ensighten.pushGaEvent('herospot_' + gameType, variant, event.target.href);\r\n } else {\r\n Ensighten.pushGaEventOnPageRedirect('herospot_' + gameType, 'herospot_cta_click', event.target.href);\r\n window.location.href = event.target.href;\r\n }\r\n });\r\n };\r\n\r\n // --- Initialize component ---\r\n const setupTopSpot = ({ $topSpot }) => {\r\n const topSpotSettingsString = $topSpot.dataset.settings;\r\n const topSpotSettings = topSpotSettingsString ? JSON.parse(topSpotSettingsString) : null;\r\n if (!topSpotSettings) return;\r\n const variant = $topSpot.dataset.variant;\r\n topSpotSettings.gameType = $topSpot.dataset.game;\r\n\r\n initializeCountdown({ topSpotSettings, $topSpot }).then(() =>\r\n flashText(topSpotSettings.flashText, $topSpot, variant)\r\n );\r\n setupLottie({ topSpotSettings, $topSpot });\r\n initializeCallToAction({ $topSpot, topSpotSettings, variant });\r\n initializeVideoBanner({ $topSpot, topSpotSettings, variant });\r\n };\r\n\r\n const initialize = () => {\r\n if (document.querySelector('.mode-edit')) {\r\n // Reveal countdown labels in edit mode\r\n document\r\n .querySelectorAll('.multi-banner-spot .multi-banner-spot__count-down-label')\r\n .forEach((elem) => elem.classList.remove('hidden'));\r\n\r\n return;\r\n }\r\n\r\n Promise.all([JackpotInfo.ready]).then(() => {\r\n document.querySelectorAll('.multi-banner-spot').forEach(($topSpot) => {\r\n setupTopSpot({ $topSpot });\r\n });\r\n });\r\n };\r\n\r\n initialize();\r\n }\r\n);\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/PackageGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame'\r\n ],\r\n function (m, Model, AllOrNothingGame, EurojackpotGame, KenoGame, LottoGame, VikingLottoGame) {\r\n\r\n // Model:\r\n var PackageGame = Model('PackageGame', function (content) {\r\n\r\n // Variables:\r\n this.description = m.prop(content.description);\r\n this.gameIds = m.prop(content.gameIds || { eurojackpot: [], keno: [], lotto: [], vikinglotto: [] });\r\n this.gameType = m.prop(content.gameType || 'Package');\r\n this.packageId = m.prop(content.packageId || '');\r\n this.playType = m.prop(content.playType || 'Lightning');\r\n this.status = m.prop(content.status || 'open');\r\n this.subtitle = m.prop(content.subtitle);\r\n this.title = m.prop(content.title);\r\n\r\n // Functions:\r\n this.addGame = function (options) {\r\n var game = null;\r\n\r\n options = options || {};\r\n\r\n if (options.type === 'allornothing') {\r\n game = AllOrNothingGame.setupGame(options);\r\n } else if (options.type === 'eurojackpot') {\r\n game = EurojackpotGame.setupGame(options);\r\n } else if (options.type === 'keno') {\r\n game = KenoGame.setupGame(options);\r\n } else if (options.type === 'lotto') {\r\n game = LottoGame.setupGame(options);\r\n } else if (options.type === 'vikinglotto') {\r\n game = VikingLottoGame.setupGame(options);\r\n }\r\n\r\n this.gameIds()[options.type].push(game.id());\r\n }.bind(this);\r\n\r\n this.gameInstances = function () {\r\n var gameIds = this.gameIds();\r\n var games = { eurojackpot: [], keno: [], lotto: [], vikinglotto: [], allornothing: [] };\r\n var models = { eurojackpot: EurojackpotGame, keno: KenoGame, lotto: LottoGame, vikinglotto: VikingLottoGame, allornothing: AllOrNothingGame };\r\n\r\n Object.keys(gameIds).map(function (key) {\r\n gameIds[key].map(function (id) {\r\n var game = models[key].get(id);\r\n\r\n if (game) {\r\n games[key].push(game);\r\n }\r\n });\r\n });\r\n\r\n return games;\r\n }.bind(this);\r\n\r\n this.name = function () {\r\n return (this.title() + ' ' + this.subtitle()) || '';\r\n }.bind(this);\r\n\r\n this.toJSON = function () {\r\n return {\r\n description: this.description(),\r\n gameIds: this.gameIds(),\r\n gameType: this.gameType(),\r\n id: this.id(),\r\n packageId: this.packageId(),\r\n status: this.status(),\r\n subtitle: this.subtitle(),\r\n title: this.title()\r\n };\r\n }.bind(this);\r\n\r\n this.totalPrice = function () {\r\n var gameInstances = this.gameInstances();\r\n var totalPrice = 0;\r\n var types = Object.keys(gameInstances);\r\n\r\n types.map(function (type) {\r\n gameInstances[type].map(function (game) {\r\n var price = game.totalPrice();\r\n\r\n if (type === 'keno') {\r\n price *= 7;\r\n }\r\n\r\n totalPrice += price;\r\n });\r\n });\r\n\r\n return totalPrice;\r\n }.bind(this);\r\n\r\n this.createDataLayerProduct = function (subscription) {\r\n var dataLayerProducts = [];\r\n var gameInstances = this.gameInstances();\r\n var types = Object.keys(gameInstances);\r\n var coupon = this.title().toLowerCase();\r\n\r\n types.forEach(function (type) {\r\n gameInstances[type].forEach(function (game) {\r\n game.createDataLayerProduct(subscription).forEach(function (dataLayerProduct) {\r\n dataLayerProduct.coupon = coupon;\r\n dataLayerProducts.push(dataLayerProduct);\r\n });\r\n });\r\n });\r\n\r\n return dataLayerProducts;\r\n }.bind(this);\r\n\r\n });\r\n\r\n PackageGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.gameInstanceId) {\r\n game = PackageGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = PackageGame.construct(options, options.state || 'new');\r\n }\r\n\r\n return game;\r\n };\r\n\r\n // Public functions:\r\n return PackageGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/WizardPackageGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Core/Model',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n ],\r\n function (m, Model, AllOrNothingGame, EurojackpotGame, KenoGame, LottoGame, VikingLottoGame, EurojackpotInfo, LottoInfo, VikingLottoInfo) {\r\n\r\n // Model:\r\n var WizardPackageGame = Model('PackageGame', function (content) {\r\n\r\n // Variables:\r\n this.description = m.prop(content.description);\r\n this.gameIds = m.prop(content.gameIds || {\r\n allornothing: [],\r\n eurojackpot: [],\r\n keno: [],\r\n lotto: [],\r\n vikinglotto: []\r\n });\r\n this.gameType = m.prop('WizardPackage');\r\n this.packageId = m.prop(content.packageId || '');\r\n this.playType = m.prop(content.playType || 'Lightning');\r\n this.status = m.prop(content.status || 'open');\r\n this.subtitle = m.prop(content.subtitle);\r\n this.title = m.prop(content.title);\r\n this.withJokerSaturday = m.prop(false);\r\n this.withJokerWednesday = m.prop(false);\r\n this.totalJokerPrice = m.prop(0);\r\n this.jokerPrice = m.prop(10);\r\n this.numberOfJokerWednesdays = m.prop(0);\r\n this.numberOfJokerSaturdays = m.prop(0);\r\n\r\n var infoData = (EurojackpotInfo.jokerData() || LottoInfo.data() || VikingLottoInfo.jokerData());\r\n var jokerWednesdayOpenDrawPrice = infoData.jokerWednesday && infoData.jokerWednesday.openDraw && infoData.jokerWednesday.openDraw.rowPrice;\r\n var jokerSaturdayOpenDrawPrice = infoData.jokerSaturday && infoData.jokerSaturday.openDraw && infoData.jokerSaturday.openDraw.rowPrice;\r\n var jokerPrice = jokerWednesdayOpenDrawPrice || jokerSaturdayOpenDrawPrice;\r\n if (jokerPrice) {\r\n // it's only possible to buy two rows at a time.\r\n this.jokerPrice(jokerPrice * 2);\r\n }\r\n\r\n // Functions:\r\n this.addGame = function (options) {\r\n options = options || {};\r\n var game = null;\r\n\r\n if (options.type === 'allornothing') {\r\n game = AllOrNothingGame.setupGame(options);\r\n } else if (options.type === 'eurojackpot') {\r\n game = EurojackpotGame.setupGame(options);\r\n } else if (options.type === 'keno') {\r\n game = KenoGame.setupGame(options);\r\n } else if (options.type === 'lotto') {\r\n game = LottoGame.setupGame(options);\r\n } else if (options.type === 'vikinglotto') {\r\n game = VikingLottoGame.setupGame(options);\r\n }\r\n\r\n if (game && game.id()) {\r\n this.gameIds()[options.type].push(game.id());\r\n }\r\n }.bind(this);\r\n\r\n this.gameInstances = function () {\r\n var gameIds = this.gameIds();\r\n var games = { eurojackpot: [], keno: [], lotto: [], vikinglotto: [], allornothing: [] };\r\n var models = {\r\n eurojackpot: EurojackpotGame,\r\n keno: KenoGame,\r\n lotto: LottoGame,\r\n vikinglotto: VikingLottoGame,\r\n allornothing: AllOrNothingGame\r\n };\r\n\r\n var foundJokerWednesdaysInPackage = 0;\r\n var foundJokerSaturdaysInPackage = 0;\r\n\r\n Object.keys(gameIds).map(function (key) {\r\n gameIds[key].map(function (id) {\r\n var game = models[key].get(id);\r\n\r\n if (game) {\r\n games[key].push(game);\r\n\r\n if (game.withJokerWednesday && game.withJokerWednesday()) {\r\n this.withJokerWednesday(true);\r\n foundJokerWednesdaysInPackage++;\r\n }\r\n\r\n if (game.withJokerSaturday && game.withJokerSaturday()) {\r\n this.withJokerSaturday(true);\r\n foundJokerSaturdaysInPackage++;\r\n }\r\n }\r\n }.bind(this));\r\n }.bind(this));\r\n\r\n this.numberOfJokerWednesdays(foundJokerWednesdaysInPackage);\r\n this.numberOfJokerSaturdays(foundJokerSaturdaysInPackage);\r\n\r\n return games;\r\n }.bind(this);\r\n\r\n this.name = function () {\r\n return this.title() || '';\r\n }.bind(this);\r\n\r\n this.toJSON = function () {\r\n return {\r\n description: this.description(),\r\n gameIds: this.gameIds(),\r\n gameType: this.gameType(),\r\n id: this.id(),\r\n packageId: this.packageId(),\r\n status: this.status(),\r\n subtitle: this.subtitle(),\r\n title: this.title()\r\n };\r\n }.bind(this);\r\n\r\n this.totalPrice = function () {\r\n var gameInstances = this.gameInstances();\r\n var totalPrice = 0;\r\n var types = Object.keys(gameInstances);\r\n\r\n types.map(function (type) {\r\n gameInstances[type].map(function (game) {\r\n var price = game.totalPrice();\r\n\r\n if (type === 'keno') {\r\n price *= 7;\r\n }\r\n\r\n totalPrice += price;\r\n });\r\n });\r\n\r\n return totalPrice;\r\n }.bind(this);\r\n\r\n this.totalPricePerWeek = function () {\r\n var gameInstances = this.gameInstances();\r\n var totalPrice = 0;\r\n var types = Object.keys(gameInstances);\r\n types.map(function (type) {\r\n gameInstances[type].map(function (game) {\r\n var price = game.totalPrice();\r\n if (type === 'keno' || type === 'allornothing') {\r\n price *= 7;\r\n }\r\n if (type === 'eurojackpot' && game.gameVersionNo() === 2) {\r\n price = game.totalRowsPricePerDraw() * 2;\r\n price += game.totalJokerPrice();\r\n }\r\n totalPrice += price;\r\n });\r\n });\r\n return totalPrice;\r\n }.bind(this);\r\n\r\n this.createDataLayerProduct = function (subscription) {\r\n var dataLayerProducts = [];\r\n var gameInstances = this.gameInstances();\r\n var types = Object.keys(gameInstances);\r\n var coupon = this.title().toLowerCase();\r\n\r\n types.forEach(function (type) {\r\n gameInstances[type].forEach(function (game) {\r\n game.createDataLayerProduct(subscription).forEach(function (dataLayerProduct) {\r\n dataLayerProduct.coupon = coupon;\r\n dataLayerProducts.push(dataLayerProduct);\r\n });\r\n });\r\n });\r\n\r\n return dataLayerProducts;\r\n }.bind(this);\r\n\r\n });\r\n\r\n WizardPackageGame.setupGame = function (options) {\r\n var game = undefined;\r\n\r\n if (options.gameInstanceId) {\r\n game = WizardPackageGame.get(options.gameInstanceId);\r\n\r\n if (!game || game.status() === 'completed' || (options.playType && game.playType() !== options.playType)) {\r\n game = undefined;\r\n }\r\n }\r\n\r\n if (!game) {\r\n game = WizardPackageGame.construct(options, options.state || 'new');\r\n }\r\n\r\n return game;\r\n };\r\n\r\n // Public functions:\r\n return WizardPackageGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/NumberGamePackage/Scripts/Models/Package',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/PackageGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/WizardPackageGame',\r\n ],\r\n function (Storage, DataLayer, Params, PackageModel, AllOrNothingGame, EurojackpotGame, KenoGame, LottoGame, VikingLottoGame, PackageGame, WizardPackageGame) {\r\n\r\n // Functions:\r\n var add = function (verticalType, gameType, playType, id) {\r\n var storageName = 'Subscription-Models-' + (verticalType.slice(0, 1).toUpperCase() + verticalType.slice(1));\r\n if (gameType && playType && id) {\r\n var storage = JSON.parse(Storage.get(storageName)) || {};\r\n const basketContent = basket(verticalType);\r\n const isBasketEmpty = Object.keys(basketContent).every((key) => basketContent[key].length === 0);\r\n\r\n if (!storage.basketProperties) {\r\n storage.basketProperties = {};\r\n }\r\n\r\n let gameNameForTracking = gameType;\r\n if (Params.extract('mcGameType')) {\r\n gameNameForTracking = `multiclient_${Params.extract('mcGameType')}`;\r\n }\r\n if (Params.extract('packageInstanceId')) {\r\n const packageModel = PackageModel.get(Params.extract('packageInstanceId'));\r\n const packageDescription = packageModel.information()?.description;\r\n gameNameForTracking = 'week_packages';\r\n\r\n if (!storage.basketProperties.weekPackageData) {\r\n storage.basketProperties.weekPackageData = {\r\n packageDescription: packageDescription,\r\n gameIds: []\r\n };\r\n }\r\n storage.basketProperties.weekPackageData.gameIds.push(id);\r\n }\r\n if (isBasketEmpty) {\r\n storage.basketProperties.firstInteraction = gameNameForTracking;\r\n } else {\r\n storage.basketProperties.lastInteraction = gameNameForTracking;\r\n }\r\n\r\n if (!storage[gameType]) {\r\n storage[gameType] = {};\r\n }\r\n\r\n var exists = false;\r\n var models = storage[gameType][playType];\r\n\r\n if (!models) {\r\n storage[gameType][playType] = [];\r\n } else {\r\n for (var i = 0; i < models.length; i++) {\r\n var model = models[i];\r\n\r\n if (model === id) {\r\n exists = true;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (!exists) {\r\n storage[gameType][playType].push(id);\r\n }\r\n\r\n Storage.set(storageName, JSON.stringify(storage));\r\n }\r\n };\r\n\r\n var basket = function (verticalType) {\r\n var data = get(verticalType);\r\n var models = {\r\n allornothing: [],\r\n eurojackpot: [],\r\n keno: [],\r\n lotto: [],\r\n package: [],\r\n vikinglotto: [],\r\n wizardpackage: []\r\n };\r\n\r\n if (data) {\r\n\r\n // AllOrNothing:\r\n if (data.allornothing) {\r\n Object.keys(data.allornothing).map(function (key) {\r\n data.allornothing[key].map(function (id) {\r\n var game = AllOrNothingGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.allornothing.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Eurojackpot:\r\n if (data.eurojackpot) {\r\n Object.keys(data.eurojackpot).map(function (key) {\r\n data.eurojackpot[key].map(function (id) {\r\n var game = EurojackpotGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.eurojackpot.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Keno:\r\n if (data.keno) {\r\n Object.keys(data.keno).map(function (key) {\r\n data.keno[key].map(function (id) {\r\n var game = KenoGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.keno.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Lotto:\r\n if (data.lotto) {\r\n Object.keys(data.lotto).map(function (key) {\r\n data.lotto[key].map(function (id) {\r\n var game = LottoGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.lotto.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Packages:\r\n if (data.package) {\r\n Object.keys(data.package).map(function (key) {\r\n data.package[key].map(function (id) {\r\n var game = PackageGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.package.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Wizard packages:\r\n if (data.wizardpackage) {\r\n Object.keys(data.wizardpackage).map(function (key) {\r\n data.wizardpackage[key].map(function (id) {\r\n var game = WizardPackageGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.wizardpackage.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // Vikinglotto:\r\n if (data.vikinglotto) {\r\n Object.keys(data.vikinglotto).map(function (key) {\r\n data.vikinglotto[key].map(function (id) {\r\n var game = VikingLottoGame.get(id);\r\n\r\n if (game && /basket/.test(game.status())) {\r\n models.vikinglotto.push(game);\r\n }\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n return models;\r\n };\r\n\r\n var clear = function (verticalType) {\r\n var storageName = 'Subscription-Models-' + (verticalType.slice(0, 1).toUpperCase() + verticalType.slice(1));\r\n\r\n Storage.set(storageName);\r\n\r\n if (Storage.supported) {\r\n var lowerCased = verticalType.toLowerCase();\r\n\r\n localStorage.removeItem('Model-AllOrNothingGame-' + lowerCased + '-allornothing');\r\n localStorage.removeItem('Model-EurojackpotGame-' + lowerCased + '-eurojackpot');\r\n localStorage.removeItem('Model-KenoGame-' + lowerCased + '-keno');\r\n localStorage.removeItem('Model-LottoGame-' + lowerCased + '-lotto');\r\n localStorage.removeItem('Model-VikingLottoGame-' + lowerCased + '-vikinglotto');\r\n }\r\n };\r\n\r\n var get = function (verticalType, gameType, playType) {\r\n if (!verticalType) {\r\n console.error('verticalType is undefined but is required!');\r\n // as a guard we will return an empty object\r\n return {};\r\n }\r\n var data = JSON.parse(Storage.get('Subscription-Models-' + (verticalType.slice(0, 1).toUpperCase() + verticalType.slice(1))));\r\n\r\n if (gameType && playType && data && data[gameType]) {\r\n return data[gameType][playType];\r\n }\r\n\r\n return data;\r\n };\r\n\r\n const trackBasketCheckout = function (verticalType, step) {\r\n const storageName = 'Subscription-Models-' + (verticalType.slice(0, 1).toUpperCase() + verticalType.slice(1));\r\n var storage = JSON.parse(Storage.get(storageName)) || {};\r\n const basketContent = basket(verticalType);\r\n const isBasketEmpty = Object.keys(basketContent).every((key) => basketContent[key].length === 0);\r\n\r\n if (!storage.basketProperties || isBasketEmpty) return;\r\n\r\n const { firstInteraction, lastInteraction } = storage.basketProperties;\r\n const products = [];\r\n Object.keys(basketContent).forEach((key) => {\r\n basketContent[key].forEach((game) => {\r\n let variantName = 'wizardpackage';\r\n if (key !== 'wizardpackage') {\r\n let localKey = key;\r\n if (key === 'vikinglotto') {\r\n localKey = 'viking';\r\n }\r\n\r\n variantName = DataLayer.variantName(`plus_${localKey}`, game.rows?.(), game.playType(), game.systemName?.());\r\n }\r\n const product = {\r\n name: verticalType,\r\n price: game.totalPrice?.()?.toString(),\r\n brand: 'dlo_plu',\r\n category: DataLayer.categoryName(game.playType()),\r\n variant: variantName\r\n };\r\n if (game.rowCount?.()) {\r\n product.quantity = game.rowCount();\r\n }\r\n if (key === 'wizardpackage') {\r\n product.coupon = game.name();\r\n }\r\n if (storage.basketProperties?.weekPackageData?.gameIds?.includes(game.id())) {\r\n product.coupon = storage.basketProperties.weekPackageData.packageDescription;\r\n }\r\n products.push(product);\r\n });\r\n });\r\n\r\n const actionField = { step };\r\n if (firstInteraction) {\r\n actionField.firstInteraction = firstInteraction;\r\n }\r\n if (lastInteraction) {\r\n actionField.lastInteraction = lastInteraction;\r\n }\r\n\r\n DataLayer.push('checkout', {\r\n checkout: {\r\n actionField,\r\n products\r\n }\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n add: add,\r\n basket: basket,\r\n clear: clear,\r\n get: get,\r\n trackBasketCheckout: trackBasketCheckout\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/ApiRequest',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage'\r\n ],\r\n function (m, ApiRequest, ModelStorage) {\r\n\r\n // Variables:\r\n var basePAMURL = '/dlo/scapi/danskespil/playeraccountmanagement';\r\n var baseSubscriptionURL = '/dlo/scapi/danskespil/subscriptions';\r\n var baseFaqURL = '/dlo/scapi/danskespil/faq';\r\n\r\n // Functions:\r\n var createSubscription = function (payload) {\r\n return ApiRequest({\r\n data: payload,\r\n method: 'POST',\r\n url: baseSubscriptionURL + '/subscription'\r\n });\r\n };\r\n\r\n var getBankAccounts = function () {\r\n var deferred = m.deferred();\r\n\r\n ApiRequest({\r\n method: 'GET',\r\n url: basePAMURL + '/bankaccounts',\r\n }).then(function (response) {\r\n deferred.resolve(response.data);\r\n }, function (error) {\r\n deferred.reject(error);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getOrCreateBankAccount = function (registrationNumber, accountNumber) {\r\n var deferred = m.deferred();\r\n\r\n ApiRequest({\r\n method: 'GET',\r\n url: basePAMURL + '/getorcreatebankaccount?' + 'accountNumber=' + accountNumber + '&bankCode=' + registrationNumber,\r\n }).then(function (response) {\r\n deferred.resolve(response.data);\r\n }, function (error) {\r\n deferred.reject(error);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getSubscription = function (id) {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/subscription/' + id\r\n });\r\n };\r\n\r\n var getSubscriptionDetails = function (id) {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/subscription/' + id + '/overview'\r\n });\r\n };\r\n\r\n /**\r\n * Returns a list of a customers subscription ids. Can be negated by prefixing a stateFilter with ~ (tilde).\r\n * @param {string|string[]} [stateFilter] - A state or an array of states (Active, ActiveOnHold, ActiveTerminated, ActiveNextPeriodInactive, InActive, InactiveCreated, InactiveStarting, InactiveOnHold, Terminated).\r\n */\r\n var getSubscriptionIds = function (stateFilter) {\r\n if (stateFilter && Array.isArray(stateFilter)) stateFilter = stateFilter.join();\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/idlist' + (stateFilter ? '?stateFilter=' + stateFilter : ''),\r\n timeout: 60\r\n });\r\n };\r\n\r\n /** Returns a list of a customers subscription ids, which contains at least one game of type game, where the subscriptionhas a templateState of Initialized or Active.\r\n * @param {string} [game] - A string of one game that must be included in the subscription (allornothing, eurojackpot, keno, lotto, vikinglotto).\r\n */\r\n var getActiveSubscriptionIdsWithGame = function (game) {\r\n if (!game) return;\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/idlist/game/' + game,\r\n timeout: 60\r\n });\r\n };\r\n\r\n /**\r\n * Returns an overview of a customers subscriptions.\r\n * @param {string|string[]} [templateStates] - A templateState or an array of templateStates (Initialized, Active, OnHold, Archived).\r\n */\r\n var getSubscriptionsOverview = function (templateStates) {\r\n if (templateStates && Array.isArray(templateStates)) templateStates = templateStates.join();\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/subscriptionsoverview' + (templateStates ? '?templateStateFilter=' + templateStates : ''),\r\n timeout: 60\r\n });\r\n };\r\n\r\n var getSubscriptionGapFunding = function (id) {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/subscription/' + id + '/gappurchasedetails'\r\n });\r\n };\r\n\r\n var getSubscriptionTransactions = function (id, paymentMethodId) {\r\n var deferred = m.deferred();\r\n\r\n ApiRequest({\r\n url: basePAMURL + '/subscriptionTransactions/' + id + (typeof paymentMethodId !== 'undefined' ? '/' + paymentMethodId : '')\r\n }).then(function (response) {\r\n deferred.resolve(response.data);\r\n }, function (error) {\r\n deferred.reject(error);\r\n });\r\n\r\n return deferred.promise;\r\n };\r\n\r\n var getPauseSubscriptionDetails = function (id) {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/pause'\r\n });\r\n };\r\n\r\n\r\n var getPauseSubscriptionDuration = function (id, duration) {\r\n return ApiRequest({\r\n method: 'GET',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/pause?durationOptions=' + duration\r\n });\r\n };\r\n\r\n\r\n var setPauseSubscription = function (id, duration) {\r\n return ApiRequest({\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/pause?durationInMonths=' + duration\r\n });\r\n };\r\n\r\n var pauseSubscription = function (id) {\r\n return ApiRequest({\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/state/onhold'\r\n });\r\n };\r\n\r\n var resumeSubscription = function (id) {\r\n return ApiRequest({\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/state/active'\r\n });\r\n };\r\n\r\n var registerGapFunding = function (id) {\r\n return ApiRequest({\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/GapFunded'\r\n });\r\n };\r\n\r\n // TODO: should fail if gameDataId is wrong\r\n var terminateSubscriptionGame = function (id, gameDataId) {\r\n return ApiRequest({\r\n method: 'DELETE',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/gamedata/' + gameDataId\r\n });\r\n };\r\n\r\n var terminateSubscription = function (id) {\r\n return ApiRequest({\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/state/terminated'\r\n });\r\n };\r\n\r\n var modifyGame = function (id, gameData) {\r\n return ApiRequest({\r\n data: gameData,\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/gameData'\r\n });\r\n };\r\n\r\n const changePaymentPlan = (id, sgKey) => {\r\n const method = 'PUT';\r\n const url = `${baseSubscriptionURL}/subscription/${id}/paymentPlanPeriod/${sgKey}`;\r\n return ApiRequest({ method, url });\r\n };\r\n\r\n var updateSubscriptionFundingMethod = function (id, fundingMethod, fundingId) {\r\n return ApiRequest({\r\n data: {\r\n fundingPaymentId: fundingId,\r\n fundingPaymentMethod: fundingMethod\r\n },\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/fundingPaymentMethod'\r\n });\r\n };\r\n\r\n var updateSubscriptionPayoutMethod = function (id, paymentMethod, paymentId) {\r\n return ApiRequest({\r\n data: {\r\n paymentMethodId: paymentId,\r\n payoutPaymentMethod: paymentMethod\r\n },\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/payoutPaymentMethod'\r\n });\r\n };\r\n\r\n var updateSubscriptionGapFundingMethod = function (id, paymentId) {\r\n return ApiRequest({\r\n method: 'PUT',\r\n url: baseSubscriptionURL + '/subscription/' + id + '/gapFundingPaymentMethod/' + paymentId\r\n });\r\n };\r\n\r\n var getDataLayerProducts = function (verticalType) {\r\n var dataLayerProducts = [];\r\n\r\n try {\r\n var basket = ModelStorage.basket(verticalType);\r\n\r\n Object.keys(basket).forEach(function (key) {\r\n basket[key].forEach(function (game) {\r\n game.createDataLayerProduct('plus').forEach(function (dataLayerProduct) {\r\n dataLayerProducts.push(dataLayerProduct);\r\n });\r\n });\r\n });\r\n } catch (ignoredEx) {\r\n }\r\n\r\n return dataLayerProducts;\r\n };\r\n\r\n var getWizardGames = function () {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/wizard/games'\r\n });\r\n };\r\n\r\n var getWizardPackages = function (game, numberOfGames, risk, budget) {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/wizard/packages/' + game + '/' + numberOfGames + '/' + risk + '/' + budget\r\n });\r\n };\r\n\r\n var getWizardPricePoint = function (game, numberOfGames, risk) {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/wizard/pricepoint/' + game + '/' + numberOfGames + '/' + risk\r\n });\r\n };\r\n\r\n var getWizardRefreshCache = function () {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/wizard/refreshcache'\r\n });\r\n };\r\n\r\n var getWizardRisk = function () {\r\n return ApiRequest({\r\n url: baseSubscriptionURL + '/wizard/risk'\r\n });\r\n };\r\n\r\n var getFaqItems = function (searchParams) {\r\n return ApiRequest({\r\n url: baseFaqURL + '/search?' + searchParams\r\n });\r\n };\r\n\r\n var getFaqArticle = function (id) {\r\n return ApiRequest({\r\n url: baseFaqURL + '/article?article=' + id\r\n });\r\n };\r\n\r\n // Public functions:\r\n return {\r\n createSubscription,\r\n getBankAccounts,\r\n getDataLayerProducts,\r\n getOrCreateBankAccount,\r\n getFaqArticle,\r\n getFaqItems,\r\n getSubscription,\r\n getSubscriptionDetails,\r\n getSubscriptionGapFunding,\r\n getSubscriptionTransactions,\r\n getSubscriptionsOverview,\r\n getSubscriptionIds,\r\n getActiveSubscriptionIdsWithGame,\r\n getWizardGames,\r\n getWizardPackages,\r\n getWizardPricePoint,\r\n getWizardRefreshCache,\r\n getWizardRisk,\r\n pauseSubscription,\r\n resumeSubscription,\r\n registerGapFunding,\r\n terminateSubscription,\r\n terminateSubscriptionGame,\r\n modifyGame,\r\n changePaymentPlan,\r\n updateSubscriptionGapFundingMethod,\r\n updateSubscriptionFundingMethod,\r\n updateSubscriptionPayoutMethod,\r\n getPauseSubscriptionDetails,\r\n getPauseSubscriptionDuration,\r\n setPauseSubscription,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Basket',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/JokerOverlay',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoDictionary',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotDictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoDictionary',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoDictionary',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingDictionary',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Basket',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (Component, CrossWindowEvents, Params, Render, Overlay, JokerOverlay, JackpotInfo, KenoDictionary, KenoInfo, KenoGame, EurojackpotDictionary, EurojackpotInfo, EurojackpotGame, LottoDictionary, LottoInfo, LottoGame, VikingLottoDictionary, VikingLottoInfo, VikingLottoGame, AllOrNothingDictionary, AllOrNothingInfo, AllOrNothingGame, Basket, Dictionary, GameController, ModelStorage, Utils, DataLayer) {\r\n\r\n // Component:\r\n Component('basket', [KenoDictionary, EurojackpotDictionary, LottoDictionary, VikingLottoDictionary, AllOrNothingDictionary, JackpotInfo, KenoInfo, EurojackpotInfo, LottoInfo, VikingLottoInfo, AllOrNothingInfo], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.$top = m.prop();\r\n this.actionActive = m.prop(false);\r\n this.basketMaxHeight = m.prop();\r\n this.basketPurchaseLink = m.prop(settings.basketPurchaseLink || '');\r\n this.d = Dictionary.get.bind({ prefix: 'Basket/' });\r\n this.initialDataLayerProducts = m.prop(null);\r\n this.minimumRowsEurojackpot = m.prop(parseInt(settings.minimumRowsEurojackpot, 10) || 2);\r\n this.minimumRowsKeno = m.prop(parseInt(settings.minimumRowsKeno, 10) || 1);\r\n this.minimumRowsLotto = m.prop(parseInt(settings.minimumRowsLotto, 10) || 10);\r\n this.minimumRowsVikinglotto = m.prop(parseInt(settings.minimumRowsVikinglotto, 10) || 10);\r\n this.minimumRowsAllOrNothing = m.prop(parseInt(settings.minimumRowsAllOrNothing, 10) || 1);\r\n this.overlayToggling = m.prop(false);\r\n this.property = property;\r\n this.removingGame = m.prop(false);\r\n this.render = m.prop(Render());\r\n this.queryParams = m.prop(window.location.search.slice(1));\r\n this.showNoGames = m.prop(false);\r\n this.toggled = m.prop(false);\r\n this.verticalType = m.prop(settings.verticalType || 'plus');\r\n this.basketIsOnWizardPage = document.querySelector('.wizard-wrapper.basket-container > .basket');\r\n this.basketStyleBar = m.prop('position: fixed; bottom: 0; left: 0; right: 0; z-index: 100;');\r\n this.eurojackpotManualGameVersionNo = m.prop(settings.eurojackpotManualGameVersionNo);\r\n\r\n // Functions:\r\n this.action = function () {\r\n if (!this.overlayToggling()) {\r\n var deferred = m.deferred();\r\n var game = this.activeGame();\r\n var games = this.games();\r\n var self = this;\r\n\r\n if (!game && games.length > 0 && this.allGamesValid()) {\r\n this.property('proceedBarProcessing', true);\r\n\r\n window.location.href = Params.uniqueParams(this.basketPurchaseLink() + '?' + this.verticalType() + '&' + this.queryParams());\r\n } else if (game && game.isGameValid() && this.activeGameValid() && !this.actionActive()) {\r\n var active = GameController.active();\r\n\r\n this.actionActive(true);\r\n\r\n if ((active.type === 'eurojackpot' && active.settings.hasJoker && active.settings.jokerEnabled) || (active.type !== 'eurojackpot' && (game.withJokerSaturday || game.withJokerWednesday))) {\r\n var data = EurojackpotInfo.jokerData();\r\n var dictionary = EurojackpotDictionary.get;\r\n\r\n if (active.type === 'lotto') {\r\n data = LottoInfo.data();\r\n dictionary = LottoDictionary.get;\r\n } else if (active.type === 'vikinglotto') {\r\n data = VikingLottoInfo.jokerData();\r\n dictionary = VikingLottoDictionary.get;\r\n }\r\n\r\n var overlay = new Overlay(JokerOverlay(game, active.type + '-classic-game-overlay', dictionary, data));\r\n\r\n this.overlayToggling(true);\r\n\r\n overlay.show(function () {\r\n self.overlayToggling(false);\r\n\r\n deferred.resolve();\r\n }, function () {\r\n self.actionActive(false);\r\n self.overlayToggling(false);\r\n\r\n deferred.reject();\r\n });\r\n } else {\r\n deferred.resolve();\r\n }\r\n\r\n deferred.promise.then(function () {\r\n if (game && self.activeGameValid()) {\r\n game.status(game.status() === 'basket' ? 'updated-in-basket' : 'add-to-basket');\r\n\r\n if (game.status() === 'updated-in-basket' && this.initialDataLayerProducts()) {\r\n DataLayer.removeFromCart(this.initialDataLayerProducts());\r\n }\r\n\r\n if (game.status() === 'add-to-basket' || game.status() === 'updated-in-basket') {\r\n DataLayer.addToCart(game.createDataLayerProduct('plus'));\r\n }\r\n\r\n game.save();\r\n\r\n m.redraw();\r\n }\r\n\r\n setTimeout(function () {\r\n GameController.reset();\r\n\r\n self.actionActive(false);\r\n\r\n m.redraw();\r\n }, 2000);\r\n }.bind(this));\r\n }\r\n }\r\n }.bind(this);\r\n\r\n this.activeGame = function () {\r\n var active = GameController.active();\r\n\r\n if (active && active.type === 'allornothing') {\r\n return AllOrNothingGame.get(active.id);\r\n }\r\n\r\n if (active && active.type === 'eurojackpot') {\r\n return EurojackpotGame.get(active.id);\r\n }\r\n\r\n if (active && active.type === 'keno') {\r\n return KenoGame.get(active.id);\r\n }\r\n\r\n if (active && active.type === 'lotto') {\r\n return LottoGame.get(active.id);\r\n }\r\n\r\n if (active && active.type === 'vikinglotto') {\r\n return VikingLottoGame.get(active.id);\r\n }\r\n\r\n return null;\r\n };\r\n\r\n this.activeGameValid = function () {\r\n var active = GameController.active();\r\n var game = this.activeGame();\r\n\r\n // Not active:\r\n if (!active) {\r\n return false;\r\n }\r\n\r\n // Classic:\r\n if (active.game === 'classic') {\r\n return game.getRowsSummary().length >= this.minimumRows(active.type);\r\n }\r\n\r\n // All other games:\r\n return game.isGameValid();\r\n }.bind(this);\r\n\r\n this.allGamesValid = function () {\r\n var basket = ModelStorage.basket(this.verticalType());\r\n var keys = Object.keys(basket);\r\n var valid = true;\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n if (!valid) {\r\n break;\r\n }\r\n\r\n var key = keys[i];\r\n var games = basket[key];\r\n\r\n for (var j = 0; j < games.length; j++) {\r\n var game = { game: games[j], type: key };\r\n var validity = this.getGameValidity(game);\r\n\r\n if (!validity.valid) {\r\n valid = false;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return valid;\r\n }.bind(this);\r\n\r\n this.basketStyle = function () {\r\n var height = document.querySelector('.basket-inner-wrapper')?.offsetHeight || 0;\r\n\r\n return this.toggled() ? 'max-height: ' + height + 'px;' : '';\r\n }.bind(this);\r\n\r\n this.buttonState = function () {\r\n var allGamesValid = this.allGamesValid();\r\n var active = GameController.active();\r\n var game = this.activeGame();\r\n var gameValid = this.activeGameValid();\r\n var gamesAmount = this.games().length;\r\n var numbersAmount = 0;\r\n var numbersLeft = 0;\r\n var state = {\r\n disabled: true,\r\n desktop: 'PurchaseNow',\r\n mobile: 'PurchaseNow',\r\n numbersLeft: 0,\r\n rowsLeft: 0,\r\n totalPrice: this.totalPrice()\r\n };\r\n\r\n // Active game:\r\n if (active) {\r\n\r\n // In basket and valid:\r\n if (game.status() === 'basket' && gameValid) {\r\n state.desktop = 'SaveChanges';\r\n state.disabled = false;\r\n state.mobile = 'SaveChanges';\r\n\r\n // Classic:\r\n } else if (active.game === 'classic') {\r\n var minimumRows = this.minimumRows(active.type);\r\n var rowsAmount = 0;\r\n\r\n if (game && game.getRowsSummary) {\r\n rowsAmount = game.getRowsSummary().length;\r\n }\r\n\r\n state.desktop = 'PutInBasket';\r\n state.mobile = 'PutInBasket';\r\n state.rowsLeft = minimumRows - rowsAmount;\r\n\r\n if (minimumRows === 1 && rowsAmount === 0) {\r\n state.desktop = 'AddARow';\r\n state.mobile = 'AddARow';\r\n } else if (state.rowsLeft > 0) {\r\n state.desktop = state.rowsLeft > 1 ? 'AddMoreRows' : 'AddOneMoreRow';\r\n state.mobile = state.rowsLeft > 1 ? 'AddMoreRows' : 'AddOneMoreRow';\r\n } else {\r\n state.disabled = false;\r\n }\r\n\r\n // Lucky:\r\n } else if (active.game === 'lucky') {\r\n if (game) {\r\n var row = game.getRow(1);\r\n\r\n numbersAmount = row.numbers.length;\r\n\r\n if (row.vikingNumber) {\r\n numbersAmount++;\r\n }\r\n\r\n if (row.starNumbers && row.starNumbers.length > 0) {\r\n numbersAmount += row.starNumbers.length;\r\n }\r\n }\r\n\r\n state.desktop = numbersAmount === 0 ? 'PickAtLeastOneNumber' : 'PutInBasket';\r\n state.disabled = !gameValid;\r\n state.mobile = numbersAmount === 0 ? 'PickAtLeastOneNumber' : 'PutInBasket';\r\n\r\n // System:\r\n } else {\r\n if (game) {\r\n numbersAmount = game.getRow(1).numbers.length;\r\n numbersLeft = game.getSystemNumberAmount() - numbersAmount;\r\n }\r\n\r\n state.desktop = numbersLeft > 0 ? 'PickXNumbers' : 'PutInBasket';\r\n state.disabled = !gameValid;\r\n state.mobile = numbersLeft > 0 ? 'PickXNumbers' : 'PutInBasket';\r\n state.numbersLeft = numbersLeft;\r\n }\r\n\r\n // No games added:\r\n } else if (gamesAmount === 0) {\r\n state.desktop = 'AddGamesToBuyDesktop';\r\n state.mobile = 'AddGamesToBuyMobile';\r\n\r\n // Games added, validate to proceed:\r\n } else {\r\n state.disabled = !allGamesValid;\r\n }\r\n\r\n return state;\r\n }.bind(this);\r\n\r\n this.changeGame = function (game) {\r\n var self = this;\r\n\r\n return function () {\r\n if (self.basketIsOnWizardPage) {\r\n self.toggled(false);\r\n var playType = game.game.playType().toLowerCase();\r\n var gameType = game.type.toLowerCase();\r\n var id = game.game.id();\r\n CrossWindowEvents.fire('ds.event.basket:edit', {\r\n gameType: gameType,\r\n playType: playType,\r\n id: id\r\n });\r\n\r\n } else if (game.game.playType() !== 'Lightning') {\r\n var timeout = 0;\r\n\r\n if (GameController.active()) {\r\n timeout = 2000;\r\n\r\n GameController.reset();\r\n }\r\n\r\n self.toggled(false);\r\n\r\n setTimeout(function () {\r\n var playType = game.game.playType().toLowerCase();\r\n\r\n if (playType.substring(0, 4) === 'keno') {\r\n playType = playType.slice(4);\r\n }\r\n\r\n GameController.active(playType, game.type, game.game.id());\r\n\r\n m.redraw();\r\n }, timeout);\r\n }\r\n };\r\n }.bind(this);\r\n\r\n this.className = function () {\r\n var className = 'subscription-basket-bar-wrapper';\r\n\r\n if (this.toggled()) {\r\n className += ' basket-opened';\r\n }\r\n\r\n return className;\r\n }.bind(this);\r\n\r\n this.gameReconstruct = function () {\r\n var gameId = Params.extract('gameId');\r\n var gameType = Params.extract('gameType');\r\n var verticalType = this.verticalType();\r\n\r\n if (gameId && gameType) {\r\n var game = {\r\n allornothing: AllOrNothingGame,\r\n keno: KenoGame,\r\n eurojackpot: EurojackpotGame,\r\n lotto: LottoGame,\r\n vikinglotto: VikingLottoGame\r\n }[gameType].get(gameId);\r\n\r\n if (game) {\r\n var playType = game.playType().toLowerCase();\r\n\r\n if (playType === 'kenomillion') {\r\n game.playType('Lightning');\r\n } else if (gameType !== 'keno') {\r\n game.numberOfDraws(1);\r\n }\r\n\r\n playType = game.playType().toLowerCase();\r\n\r\n if (playType === 'lightning') {\r\n gameId = verticalType.toLowerCase() + '-' + gameType;\r\n\r\n game.id(gameId);\r\n\r\n game.save();\r\n }\r\n\r\n setTimeout(function () {\r\n ModelStorage.add(verticalType, gameType, playType, gameId);\r\n\r\n game.status('add-to-basket');\r\n\r\n game.save();\r\n\r\n m.redraw();\r\n }, 2000);\r\n }\r\n }\r\n }.bind(this);\r\n\r\n this.games = function () {\r\n var games = [];\r\n\r\n if (Basket.isFeedDownForAGameInBasket()) {\r\n return games;\r\n }\r\n\r\n var basket = ModelStorage.basket(this.verticalType());\r\n\r\n Object.keys(basket).map(function (key) {\r\n basket[key].map(function (game) {\r\n var playType = game.playType();\r\n\r\n games.push({ game: game, name: key.charAt(0).toUpperCase() + key.slice(1) + playType, type: key });\r\n });\r\n });\r\n\r\n return games;\r\n }.bind(this);\r\n\r\n this.gamesAdded = function () {\r\n var added = [];\r\n\r\n this.games().map(function (game) {\r\n var status = game.game.status();\r\n\r\n if (status === 'add-to-basket' || status === 'updated-in-basket') {\r\n added.push(game);\r\n }\r\n });\r\n\r\n return added;\r\n }.bind(this);\r\n\r\n this.getGameSystem = function (game) {\r\n if (game.type === 'keno') {\r\n return game.game.getSystemString();\r\n }\r\n if (game.type === 'allornothing') {\r\n return;\r\n }\r\n return game.game.systemName();\r\n };\r\n\r\n this.getGameValidity = function (game) {\r\n var minimumRows = this.minimumRows(game.type);\r\n var playType = game.game.playType();\r\n var isPackage = game.type.match(/package/);\r\n\r\n // Eurojackpot wrong version detection\r\n var serverIsV2 = this.eurojackpotManualGameVersionNo() === 2;\r\n var clientGameIsV1 = isPackage ?\r\n game.game && game.game.gameInstances && game.game.gameInstances().eurojackpot && game.game.gameInstances().eurojackpot.length && game.game.gameInstances().eurojackpot[0].gameVersionNo() === 1 :\r\n game.type === 'eurojackpot' && game.game.gameVersionNo() === 1;\r\n if (serverIsV2 && clientGameIsV1) {\r\n return { valid: false, version: 1 };\r\n }\r\n\r\n // Package:\r\n if (isPackage) {\r\n return { valid: true };\r\n }\r\n\r\n // Classic:\r\n if (playType === 'Classic' && typeof game.game.getRowsSummary !== 'undefined' && game.game.getRowsSummary().length < minimumRows) {\r\n return { options: { rows: minimumRows }, playType: playType, valid: false };\r\n }\r\n\r\n // Lucky:\r\n if (playType === 'Lucky' && !game.game.isGameValid()) {\r\n return { options: { numbers: 1 }, playType: playType, valid: false };\r\n }\r\n\r\n // System:\r\n if (playType === 'System' && !game.game.isGameValid()) {\r\n return { options: { numbers: game.game.getSystemNumberAmount() }, playType: playType, valid: false };\r\n }\r\n\r\n var rowsCount = game.game.rows().length;\r\n\r\n // Lightning:\r\n if (playType === 'Lightning' && (game.type === 'keno' && rowsCount !== 0 ? rowsCount : game.game.rowsToGenerate()) < minimumRows) {\r\n return { options: { rows: minimumRows }, playType: playType, valid: false };\r\n }\r\n\r\n return { valid: true };\r\n }.bind(this);\r\n\r\n this.getRowCount = function (game) {\r\n var rows = 0;\r\n\r\n if (!game.type.match(/package/)) {\r\n var playType = game.game.playType();\r\n\r\n if (playType === 'Lightning') {\r\n var rowsLength = game.game.getRows().length;\r\n\r\n rows = game.type === 'keno' && rowsLength > 0 ? rowsLength : game.game.rowsToGenerate();\r\n } else if (playType === 'System') {\r\n rows = game.type === 'keno' ? game.game.getSystemCombinationAmount() : game.game.getSystemRowAmount();\r\n } else if (playType === 'Lucky') {\r\n rows = game.game.rowsToGenerate();\r\n } else {\r\n rows = game.game.getRowsSummary().length;\r\n }\r\n }\r\n\r\n return rows;\r\n }.bind(this);\r\n\r\n this.getRowCountPrice = function (game) {\r\n var rows = this.getRowCount(game);\r\n const dictionary = `Row${rows === 1 ? '' : 's'}CountPrice`;\r\n var price = 0;\r\n\r\n if (game.type === 'keno') {\r\n price = game.game.stakePerRow();\r\n } else {\r\n var data = {\r\n eurojackpot: EurojackpotInfo,\r\n lotto: LottoInfo['saturday'](),\r\n vikinglotto: VikingLottoInfo,\r\n allornothing: AllOrNothingInfo\r\n }[game.type].data();\r\n\r\n price = data.draws && data.draws[0] && data.draws[0].rowPrice ? data.draws[0].rowPrice : 0;\r\n }\r\n\r\n var hasJackpot = typeof game.game.plusSubscriptionJackpot !== 'undefined' && game.game.plusSubscriptionJackpot();\r\n if (game.type === 'eurojackpot' && game.game.gameVersionNo() === 2 && !hasJackpot) {\r\n return ['Tuesday', 'Friday'].map(function (day) {\r\n return m('div', this.d(dictionary, { price: price, rows: rows }) + ' - ' + this.d('Games/Eurojackpot' + day));\r\n }.bind(this));\r\n }\r\n\r\n return this.d(dictionary, { price: price, rows: rows });\r\n }.bind(this);\r\n\r\n this.itemClassName = function (game) {\r\n var className = 'basket-item';\r\n\r\n if (!this.getGameValidity(game).valid) {\r\n className += ' invalid-item';\r\n }\r\n\r\n if (game.game.status() === 'remove-from-basket') {\r\n className += ' remove-item';\r\n }\r\n\r\n return className;\r\n }.bind(this);\r\n\r\n this.markAsAdded = (game) => {\r\n return ($element, rendered, context) => {\r\n $element.addEventListener('animationend', () => {\r\n game.status('basket');\r\n game.save();\r\n\r\n if (context.didAppear) {\r\n m.redraw();\r\n }\r\n\r\n if (rendered) {\r\n context.didAppear = true;\r\n }\r\n });\r\n };\r\n };\r\n\r\n this.minimumRows = function (type) {\r\n return {\r\n allornothing: this.minimumRowsAllOrNothing(),\r\n eurojackpot: this.minimumRowsEurojackpot(),\r\n keno: this.minimumRowsKeno(),\r\n lotto: this.minimumRowsLotto(),\r\n vikinglotto: this.minimumRowsVikinglotto()\r\n }[type];\r\n }.bind(this);\r\n\r\n this.removeGame = function (game) {\r\n if (!this.removingGame()) {\r\n const self = this;\r\n\r\n return function () {\r\n self.removingGame(true);\r\n\r\n if (self.games().length === 1) {\r\n self.showNoGames(true);\r\n }\r\n\r\n game.status('remove-from-basket');\r\n game.save();\r\n m.redraw();\r\n\r\n const removedBasketItems = document.querySelectorAll('.basket-item.remove-item');\r\n\r\n removedBasketItems.forEach((item) => {\r\n item.addEventListener('animationend', () => {\r\n if (game.createDataLayerProduct) {\r\n DataLayer.removeFromCart(game.createDataLayerProduct('plus'));\r\n }\r\n\r\n if (game.rowsToGenerate) {\r\n game.rowsToGenerate(0);\r\n }\r\n\r\n if (game.rows?.().length > 0) {\r\n game.removeAllRows();\r\n }\r\n\r\n game.withJokerSaturday?.(false);\r\n game.withJokerWednesday?.(false);\r\n\r\n game.status('open');\r\n game.save();\r\n\r\n if (self.games?.().length === 0) {\r\n setTimeout(() => {\r\n self.showNoGames(false);\r\n self.toggled(false);\r\n m.redraw();\r\n }, 1000);\r\n }\r\n\r\n if (GameController.active()?.id === game.id()) {\r\n GameController.reset();\r\n }\r\n\r\n self.removingGame(false);\r\n m.redraw();\r\n }, { once: true });\r\n });\r\n\r\n };\r\n }\r\n }.bind(this);\r\n\r\n this.removeJoker = function (game, day) {\r\n return function (event) {\r\n event.stopPropagation();\r\n\r\n game.status('remove-' + day + '-joker-from-basket');\r\n const jokerDays = ['saturday', 'wednesday'];\r\n if (day === 'both') {\r\n jokerDays.forEach(function (day) {\r\n game['withJoker' + (day.slice(0, 1).toUpperCase() + day.slice(1))](false);\r\n });\r\n } else {\r\n game['withJoker' + (day.slice(0, 1).toUpperCase() + day.slice(1))](false);\r\n }\r\n\r\n game.save();\r\n };\r\n }.bind(this);\r\n\r\n this.subitemClassName = function (game, day) {\r\n var className = 'subitem-wrapper';\r\n var status = game.status();\r\n\r\n if ((status === 'remove-both-joker-from-basket' && day === 'both') ||\r\n (status === 'remove-saturday-joker-from-basket' && day === 'saturday') ||\r\n (status === 'remove-wednesday-joker-from-basket' && day === 'wednesday')) {\r\n className += ' remove-subitem';\r\n }\r\n\r\n return className;\r\n }.bind(this);\r\n\r\n this.toggle = function () {\r\n this.toggled(!this.toggled());\r\n }.bind(this);\r\n\r\n this.totalPrice = function () {\r\n if (Basket.isFeedDownForAGameInBasket()) {\r\n return 0;\r\n }\r\n\r\n var basket = ModelStorage.basket(this.verticalType());\r\n var keys = Object.keys(basket);\r\n var totalPrice = 0;\r\n\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n var games = basket[key];\r\n\r\n for (var j = 0; j < games.length; j++) {\r\n var game = games[j];\r\n var price = game.totalPrice();\r\n var type = game.playType();\r\n\r\n if (type !== 'Classic' || (type === 'Classic' && game.getRowsSummary().length >= this.minimumRows(key))) {\r\n if ((key === 'keno') || (key === 'allornothing')) {\r\n price *= 7;\r\n }\r\n\r\n if (key === 'wizardpackage') {\r\n price = game.totalPricePerWeek();\r\n }\r\n\r\n totalPrice += price;\r\n }\r\n }\r\n }\r\n\r\n return totalPrice;\r\n }.bind(this);\r\n\r\n this.dataLayerTracking = function () {\r\n var activeGame = this.activeGame();\r\n\r\n if (activeGame && !this.initialDataLayerProducts()) {\r\n this.initialDataLayerProducts(activeGame.createDataLayerProduct('plus'));\r\n }\r\n\r\n if (!activeGame) {\r\n this.initialDataLayerProducts(null);\r\n }\r\n }.bind(this);\r\n\r\n // Reset:\r\n GameController.reset();\r\n\r\n // Game reconstruction:\r\n this.gameReconstruct();\r\n\r\n },\r\n\r\n view: function (controller) {\r\n controller.dataLayerTracking();\r\n\r\n var games = controller.games();\r\n var amount = games.length;\r\n var render = controller.render();\r\n var shouldShowBasket = !controller.buttonState().disabled || games.length > 0;\r\n var hasEurojackpotV2 = false;\r\n\r\n if (!shouldShowBasket) return;\r\n\r\n return m('div', { class: controller.className(), config: render.depend('basket'), style: controller.basketStyleBar() }, [\r\n m('div', { class: 'basket-bar-inner-wrapper' }, [\r\n m('div', {\r\n class: 'basket-wrapper',\r\n config: render.depend('basket-wrapper'),\r\n style: controller.basketStyle()\r\n }, [\r\n m('div', { class: 'basket-inner-wrapper', config: render.depend('inner-wrapper') }, [\r\n m('div', { class: 'basket-header' }, controller.d('Headline')),\r\n m('ul', { class: 'basket-items-list' }, [\r\n function () {\r\n if (amount === 0 || controller.showNoGames()) {\r\n return m('li', { class: 'no-basket-item' }, controller.d('NoGamesInBasket'));\r\n }\r\n }(),\r\n games.map(function (game) {\r\n var isPackage = game.type.match(/package/);\r\n var isWizardPackage = game.type === 'wizardpackage';\r\n var validity = controller.getGameValidity(game);\r\n\r\n return m('li', {\r\n class: controller.itemClassName(game),\r\n config: render.depend('basket-item'),\r\n id: 'basket-item-' + game.game.id()\r\n }, [\r\n m('.item-inner-wrapper', [\r\n m('.delete-item-button', { onclick: controller.removeGame(game.game) }),\r\n\r\n m('div', { class: 'item-contents' }, [\r\n !validity.valid ?\r\n validity.version ?\r\n m('span', { class: 'error-message' }, controller.d('InvalidItemVersion', validity.options)) :\r\n m('span', { class: 'error-message' }, controller.d('InvalidItem' + validity.playType, validity.options))\r\n : null,\r\n\r\n m('div', { class: 'item-title' }, isPackage\r\n ? game.game.name()\r\n : controller.d('Games/' + game.name, {\r\n system: game.type.match(/package/)\r\n ? null\r\n : controller.getGameSystem(game)\r\n })),\r\n\r\n m(isPackage ? 'i' : 'div', { class: 'item-description' },\r\n isPackage ? game.game.description() : controller.getRowCountPrice(game)),\r\n\r\n function () {\r\n var dom = [];\r\n var hasJackpot = typeof game.game.plusSubscriptionJackpot !== 'undefined' && game.game.plusSubscriptionJackpot();\r\n var hasJoker = typeof game.game.withJokerSaturday !== 'undefined';\r\n var isEurojackpotV2 = game.name.toLowerCase().indexOf('eurojackpot') !== -1 && game.game.gameVersionNo() === 2;\r\n hasEurojackpotV2 = hasEurojackpotV2 || isEurojackpotV2;\r\n\r\n if (isPackage) {\r\n var games = [];\r\n var instances = {};\r\n\r\n if (game.game && game.game.gameInstances) {\r\n instances = game.game.gameInstances();\r\n }\r\n\r\n var keys = Object.keys(instances);\r\n\r\n keys.map(function (key) {\r\n instances[key].map(function (game) {\r\n games.push(controller.d('PackageGame' + (key.slice(0, 1).toUpperCase() + key.slice(1)) + game.playType()));\r\n });\r\n });\r\n\r\n dom.push(m('.item-description', games.join(', ')));\r\n }\r\n\r\n if (hasJoker) {\r\n var saturday = game.game.withJokerSaturday();\r\n var totalJokerPrice = game.game.totalJokerPrice();\r\n var wednesday = game.game.withJokerWednesday();\r\n var isEurojackpotJackpot = game.type === 'eurojackpot' && game.game.verticalType && game.game.verticalType() === 'jackpot';\r\n\r\n if (!isEurojackpotJackpot && saturday && wednesday) {\r\n totalJokerPrice /= 2;\r\n }\r\n\r\n\r\n if (isEurojackpotV2 && (saturday || wednesday)) {\r\n if (!hasJackpot) {\r\n dom.push(m('', {\r\n class: controller.subitemClassName(game.game, 'both'),\r\n id: 'basket-subitem-both' + '-' + game.game.id()\r\n }, [\r\n m('.subitem-inner-wrapper', [\r\n m('.subitem-headline', [\r\n m('.delete-subitem-button', {\r\n onclick: controller.removeJoker(game.game, 'both')\r\n }),\r\n controller.d('Games/BothJoker/Title')\r\n ]),\r\n m('.subitems-indent',\r\n [saturday, wednesday].map(function (type, index) {\r\n if (type) {\r\n var day = (index === 0 ? 'saturday' : 'wednesday');\r\n\r\n return m('div', [\r\n controller.d('Games/BothJoker/Joker' + (day.slice(0, 1).toUpperCase() + day.slice(1)) + 'Price', { price: totalJokerPrice })\r\n ]);\r\n }\r\n })\r\n )\r\n ])\r\n ]));\r\n } else {\r\n var day = 'both';\r\n dom.push(m('span', {\r\n class: controller.subitemClassName(game.game, day),\r\n id: 'basket-subitem-' + day + '-' + game.game.id()\r\n }, [\r\n m('span.subitem-inner-wrapper', [\r\n m('.delete-subitem-button', {\r\n onclick: controller.removeJoker(game.game, day)\r\n }),\r\n controller.d('JokerPrice', { price: totalJokerPrice })\r\n ])\r\n ]));\r\n }\r\n } else {\r\n [saturday, wednesday].map(function (type, index) {\r\n if (type) {\r\n var day = (index === 0 ? 'saturday' : 'wednesday');\r\n if (isPackage) {\r\n var numberOfJokers = day === 'wednesday' ? game.game.numberOfJokerWednesdays() : game.game.numberOfJokerSaturdays();\r\n dom.push(m('span', {\r\n class: controller.subitemClassName(game.game, day),\r\n id: 'basket-subitem-' + day + '-' + game.game.id()\r\n }, [\r\n m('span.subitem-inner-wrapper', numberOfJokers > 1\r\n ? controller.d('PluralNumberOfJoker' + (day.slice(0, 1).toUpperCase() + day.slice(1)) + 'Price', { price: game.game.jokerPrice(), numberOfJokers: numberOfJokers })\r\n : controller.d('NumberOfJoker' + (day.slice(0, 1).toUpperCase() + day.slice(1)) + 'Price', { price: game.game.jokerPrice(), numberOfJokers: numberOfJokers })\r\n )\r\n ]));\r\n } else {\r\n dom.push(m('span', {\r\n class: controller.subitemClassName(game.game, day),\r\n id: 'basket-subitem-' + day + '-' + game.game.id()\r\n }, [\r\n m('span.subitem-inner-wrapper', [\r\n m('.delete-subitem-button', {\r\n onclick: controller.removeJoker(game.game, day)\r\n }),\r\n controller.d('Joker' + (day.slice(0, 1).toUpperCase() + day.slice(1)) + 'Price', { price: totalJokerPrice })\r\n ])\r\n ]));\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (hasJackpot) {\r\n dom.push(m('.item-description', controller.d('JackpotSize', { jackpot: hasJackpot })));\r\n }\r\n\r\n return dom;\r\n }(),\r\n ]),\r\n m('.item-price', [\r\n function () {\r\n var totalPrice = isWizardPackage ? game.game.totalPricePerWeek() : game.game.totalPrice();\r\n return Utils.formatCurrency(totalPrice);\r\n }(),\r\n\r\n // edit icon.\r\n (!isWizardPackage && (game.name.indexOf('Lightning') === -1 || controller.basketIsOnWizardPage) && !validity.version)\r\n ? m('span', {\r\n class: 'edit-item-button',\r\n onclick: controller.changeGame(game)\r\n }, [\r\n m('svg', { class: 'edit-item-button-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#edit_icon' })\r\n ])\r\n ])\r\n : null\r\n ])\r\n ])\r\n ]);\r\n })\r\n ]),\r\n m('.basket__total', [\r\n m('.basket__total-text', controller.d(controller.verticalType() === 'jackpot' && hasEurojackpotV2 ? 'TotalPerDraw' : 'TotalPerWeek')),\r\n m('.basket__total-price', Utils.formatCurrency(controller.totalPrice()))\r\n ])\r\n ])\r\n ]),\r\n\r\n m('.basket__placeholder.js-number-box-animation-destination', {\r\n onclick: controller.toggle,\r\n 'data-uitest-id': 'Basket__btn--toggle'\r\n }, [\r\n m('.basket__placeholder-text.basket__placeholder-text--opened-basket', [\r\n m('div', controller.d('OpenBasket' + (amount === 0 ? 'Empty' : ''), { games: amount })),\r\n ]),\r\n m('.basket__placeholder-text.basket__placeholder-text--closed-basket', [\r\n m('div', controller.d('CloseBasket')),\r\n ]),\r\n m('svg.basket__placeholder-icon', [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#arrow_up' })\r\n ])\r\n ]),\r\n function () {\r\n var state = controller.buttonState();\r\n\r\n return m('div', {\r\n class: 'basket-bar-purchase-button' + (state.disabled ? ' inactive' : '') + (controller.property('proceedBarProcessing') ? ' processing' : ''),\r\n onclick: controller.action,\r\n 'data-uitest-id': 'Basket__btn--purchase'\r\n }, [\r\n m('div', { class: 'purchase-button-loader-box' }, [\r\n m('span', { class: 'loader-text' }, controller.d('ProceedBar/Processing')),\r\n m('span', { class: 'loader-animation-box' }, [\r\n m('span', { class: 'loader-dot' }),\r\n m('span', { class: 'loader-dot' }),\r\n m('span', { class: 'loader-dot' })\r\n ])\r\n ]),\r\n m('div', { class: 'purchase-button-text' }, [\r\n m('span', { class: 'mobile-hide' }, controller.d(state.desktop, {\r\n numbers: state.numbersLeft,\r\n rows: state.rowsLeft,\r\n totalPrice: Utils.formatCurrency(state.totalPrice)\r\n })),\r\n m('span', { class: 'mobile-only' }, controller.d(state.mobile, {\r\n numbers: state.numbersLeft,\r\n rows: state.rowsLeft,\r\n totalPrice: Utils.formatCurrency(state.totalPrice)\r\n }))\r\n ])\r\n ]);\r\n }(),\r\n controller.gamesAdded().map(function (game) {\r\n var isPackage = game.type.match(/package/);\r\n var status = game.game.status();\r\n\r\n return m('div', {\r\n class: 'basket-notification-wrapper',\r\n config: controller.markAsAdded(game.game),\r\n key: game.game.id()\r\n }, [\r\n m('div', { class: 'basket-notification-header' }, controller.d(status === 'updated-in-basket' ? 'GameUpdated' : 'NewGameAdded')),\r\n m('ul', { class: 'basket-notification-items' }, [\r\n m('li', { class: 'item' }, [\r\n m('span', { class: 'item-title' }, isPackage ? game.game.name() : controller.d('Games/' + game.name, { system: controller.getGameSystem(game) })),\r\n\r\n m(isPackage ? 'i' : 'span', { class: 'item-description' },\r\n isPackage ? game.game.description() : controller.getRowCountPrice(game)),\r\n\r\n function () {\r\n var dom = [];\r\n var hasJackpot = typeof game.game.plusSubscriptionJackpot !== 'undefined' && game.game.plusSubscriptionJackpot();\r\n var hasJoker = typeof game.game.withJokerSaturday !== 'undefined';\r\n\r\n if (isPackage) {\r\n var games = [];\r\n var instances = {};\r\n\r\n if (game.game && game.game.gameInstances) {\r\n instances = game.game.gameInstances();\r\n }\r\n\r\n var keys = Object.keys(instances);\r\n\r\n keys.map(function (key) {\r\n instances[key].map(function (game) {\r\n games.push(controller.d('PackageGame' + (key.slice(0, 1).toUpperCase() + key.slice(1)) + game.playType()));\r\n });\r\n });\r\n\r\n dom.push(m('span', { class: 'item-description' }, games.join(', ')));\r\n }\r\n\r\n if (hasJoker) {\r\n var saturday = game.game.withJokerSaturday();\r\n var totalJokerPrice = game.game.totalJokerPrice();\r\n var wednesday = game.game.withJokerWednesday();\r\n var isEurojackpotJackpot = game.type === 'eurojackpot' && game.game.verticalType && game.game.verticalType() === 'jackpot';\r\n\r\n if (!isEurojackpotJackpot && saturday && wednesday) {\r\n totalJokerPrice /= 2;\r\n }\r\n\r\n var subitemStructure = function (args) {\r\n return m('span', { class: controller.subitemClassName(args.game, args.day) }, [\r\n m('span', { class: 'subitem-inner-wrapper' }, [\r\n m('span', {\r\n class: 'delete-subitem-button',\r\n onclick: controller.removeJoker(args.game, args.day)\r\n }),\r\n args.labelText\r\n ])\r\n ]);\r\n };\r\n\r\n if (isEurojackpotJackpot) {\r\n dom.push(subitemStructure({\r\n game: game.game,\r\n day: 'both',\r\n labelText: controller.d('JokerPrice', { price: totalJokerPrice })\r\n }));\r\n } else {\r\n [saturday, wednesday].map(function (type, index) {\r\n if (type) {\r\n var day = (index === 0 ? 'satur' : 'wednes') + 'day';\r\n\r\n dom.push(subitemStructure({\r\n game: game.game,\r\n day: day,\r\n labelText: controller.d('Joker' + (day.slice(0, 1).toUpperCase() + day.slice(1)) + 'Price', { price: game.game.jokerPrice() })\r\n }));\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (hasJackpot) {\r\n dom.push(m('span', { class: 'item-description' }, controller.d('JackpotSize', { jackpot: hasJackpot })));\r\n }\r\n\r\n return dom;\r\n }()\r\n ])\r\n ])\r\n ]);\r\n })\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController',\r\n [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (Params, Storage) {\r\n\r\n // Variables:\r\n var selectedViaHeader = false;\r\n var toggleShowMore = false;\r\n\r\n // Functions:\r\n var active = function (game, type, id, settings) {\r\n var gameController = JSON.parse(Storage.get('Subscription-GameController'));\r\n\r\n if (!gameController) {\r\n gameController = {};\r\n }\r\n\r\n if (type && id) {\r\n gameController.active = { game: game, id: id, settings: settings, type: type };\r\n }\r\n\r\n Storage.set('Subscription-GameController', JSON.stringify(gameController));\r\n\r\n return gameController.active;\r\n };\r\n\r\n var headerSelect = function (value) {\r\n if (typeof value === 'undefined') {\r\n return selectedViaHeader;\r\n }\r\n\r\n selectedViaHeader = value;\r\n };\r\n\r\n var reset = function () {\r\n headerSelect(false);\r\n Params.remove('gameInstanceId');\r\n Storage.set('Subscription-GameController', JSON.stringify(false));\r\n };\r\n\r\n var showMore = function (value) {\r\n if (typeof value === 'undefined') {\r\n return toggleShowMore;\r\n }\r\n\r\n toggleShowMore = value;\r\n };\r\n\r\n // Public functions:\r\n return {\r\n active: active,\r\n headerSelect: headerSelect,\r\n reset: reset,\r\n showMore: showMore\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n ],\r\n function (m, EurojackpotInfo, KenoInfo, LottoInfo, VikingLottoInfo, AllOrNothingInfo) {\r\n var ready = m.deferred();\r\n\r\n var drawingTimes = {};\r\n var playSystems = {};\r\n var serverTime = new Date(document.querySelector('body').getAttribute('data-time-now'));\r\n\r\n var getServerTime = function () {\r\n var serverTime = document.body.getAttribute('data-time-now');\r\n if (!serverTime) return new Date();\r\n return new Date(serverTime);\r\n };\r\n\r\n // Variables:\r\n var cardTypeIcons = {\r\n ApplePay: 'applepay',\r\n APPLEPAY_DK: 'dankort',\r\n APPLEPAY_MC: 'mastercard',\r\n APPLEPAY_VISA: 'visa',\r\n APPLEPAY_VISA_ELEC: 'visa_electron',\r\n BS: 'betalingsservice',\r\n DK: 'dankort',\r\n dankort: 'dankort',\r\n 'E-DK': 'edankort',\r\n ELEC: 'visa_electron',\r\n 'V-DK': 'visadankort',\r\n visa_dk: 'visadankort', // eslint-disable-line camelcase -- Not our model\r\n VISA: 'visa',\r\n visa: 'visa',\r\n VisaElectron: 'visa_electron',\r\n visa_elec: 'visa_electron', // eslint-disable-line camelcase -- Not our model\r\n MC: 'mastercard',\r\n mc: 'mastercard',\r\n 'MC(DK)': 'mastercard',\r\n Maestro: 'maestro',\r\n MTRO: 'maestro',\r\n Dinersclub: 'dinersclub',\r\n DIN: 'dinersclub',\r\n Card: 'kreditkort',\r\n CARD: 'kreditkort',\r\n 'MPO_mc(DK)': 'mobilepay',\r\n 'MPO_visa_dk(DK)': 'mobilepay',\r\n 'MPO_visa_elec(DK)': 'mobilepay',\r\n 'MPO_dankort(DK)': 'mobilepay',\r\n MPO_mc: 'mobilepay', // eslint-disable-line camelcase -- Not our model\r\n MPO_visa: 'mobilepay', // eslint-disable-line camelcase -- Not our model\r\n mpo_visa_dk: 'mobilepay', // eslint-disable-line camelcase -- Not our model\r\n };\r\n\r\n // Reepay Error Mapping https://help.reepay.com/en/knowledge/can-i-test-my-integration-to-reepay\r\n var errorCodeMapping = {\r\n 'error.http.200.acquirer_communication_error': 'AcquirerCommunicationError',\r\n 'error.http.200.acquirer_error': 'AcquirerError',\r\n 'error.http.200.acquirer_integration_error': 'AcquirerIntegrationError',\r\n 'error.http.200.acquirer_authentication_error': 'AcquirerAuthenticationError',\r\n 'error.http.200.acquirer_configuration_error': 'AcquirerConfigurationError',\r\n 'error.http.200.acquirer_rejected_error': 'AcquirerRejectedError',\r\n 'error.http.200.insufficient_funds': 'InsufficientFunds',\r\n 'error.http.200.settle_blocked': 'SettleBlocked',\r\n 'error.http.200.credit_card_expired': 'CreditCardExpired',\r\n 'error.http.200.declined_by_acquirer': 'DeclinedByAcquirer',\r\n 'error.http.200.credit_card_lost_or_stolen': 'CreditCardLostOrStolen',\r\n 'error.http.200.credit_card_suspected_fraud': 'CreditCardSuspectedFraud',\r\n 'error.http.200.authorization_expired': 'AuthorizationExpired',\r\n 'error.http.200.authorization_amount_exceeded': 'AuthorizationAmountExceeded',\r\n 'error.http.200.authorization_voided': 'AuthorizationVoided',\r\n 'error.http.200.sca_required': 'ScaRequired',\r\n };\r\n\r\n var resolveFundingType = function (type) {\r\n type = type.toLowerCase();\r\n\r\n if (type === 'bs') {\r\n return 'paymentService';\r\n }\r\n\r\n if (type === 'card') {\r\n return 'creditCard';\r\n }\r\n\r\n if (type === 'bankaccount') {\r\n return 'bankAccount';\r\n }\r\n\r\n if (type === 'wallet') {\r\n return 'wallet';\r\n }\r\n };\r\n\r\n var getGameType = function (game) {\r\n if (!game || !game.gameType) return;\r\n var gameType = game.gameType.toLowerCase();\r\n if (gameType === 'saturday' || gameType === 'lottosaturday') gameType = 'lotto';\r\n return gameType;\r\n };\r\n\r\n var getPlaySystems = function (game) {\r\n var gameType = getGameType(game);\r\n if (playSystems[gameType]) return playSystems[gameType];\r\n if (!EurojackpotInfo.isFeedDown() && EurojackpotInfo.data()) playSystems.eurojackpot = EurojackpotInfo.data().playSystems;\r\n if (!LottoInfo.isFeedDown() && LottoInfo.data() && LottoInfo.data().lottoSaturday) playSystems.lotto = LottoInfo.data().lottoSaturday.playSystems;\r\n if (!VikingLottoInfo.isFeedDown() && VikingLottoInfo.data()) playSystems.vikinglotto = VikingLottoInfo.data().playSystems;\r\n return playSystems[gameType];\r\n };\r\n\r\n var getPlayType = function (game) {\r\n if (!game || !game.playType) return;\r\n if (game.playType.toLowerCase() === 'million') game.playType = 'lightning';\r\n return game.playType.toLowerCase();\r\n };\r\n\r\n var extractDrawingTime = function (data) {\r\n if (data.openDraw && data.openDraw.drawingTime) return data.openDraw.drawingTime;\r\n if (data.draws && data.draws.length > 0 && data.draws[0].drawingTime) return data.draws[0].drawingTime;\r\n };\r\n\r\n var getDrawingTime = function (gameType) {\r\n if (drawingTimes[gameType]) return drawingTimes[gameType];\r\n if (!EurojackpotInfo.isFeedDown() && EurojackpotInfo.data()) drawingTimes.eurojackpot = extractDrawingTime(EurojackpotInfo.data());\r\n if (!LottoInfo.isFeedDown() && LottoInfo.data() && LottoInfo.data().lottoSaturday) drawingTimes.lotto = extractDrawingTime(LottoInfo.data().lottoSaturday);\r\n if (!VikingLottoInfo.isFeedDown() && VikingLottoInfo.data()) drawingTimes.vikinglotto = extractDrawingTime(VikingLottoInfo.data());\r\n if (!AllOrNothingInfo.isFeedDown() && AllOrNothingInfo.data()) drawingTimes.allornothing = extractDrawingTime(AllOrNothingInfo.data());\r\n if (!KenoInfo.isFeedDown() && KenoInfo.data()) drawingTimes.keno = extractDrawingTime(KenoInfo.data());\r\n return drawingTimes[gameType];\r\n };\r\n\r\n var getDrawingTimeByGame = function (gameType, gameInstances) {\r\n if (gameType !== 'eurojackpot' || !gameInstances || !gameInstances.length) return getDrawingTime(gameType);\r\n var draws = getDraws(gameType);\r\n for (var i = 0; i < gameInstances.length; i++) {\r\n var game = gameInstances[i];\r\n if (draws && game.drawDays && game.firstDrawDate && game.lastDrawDate) {\r\n var first = new Date(game.firstDrawDate);\r\n var last = new Date(game.lastDrawDate);\r\n var filterDraws = draws.filter(function (draw) {\r\n var drawingTime = new Date(draw);\r\n if (drawingTime < first) return false;\r\n if (drawingTime > last) return false;\r\n // check drawDay is included in this subscription-game\r\n return game.drawDays[(drawingTime.getUTCDay() + 6) % 7];\r\n });\r\n if (filterDraws.length && filterDraws[0].drawingTime) {\r\n return filterDraws[0].drawingTime;\r\n }\r\n }\r\n }\r\n return getDrawingTime(gameType);\r\n };\r\n\r\n var isDrawingDateToday = function (gameType, gameInstances) {\r\n serverTime = getServerTime();\r\n var drawingTime = gameInstances ? getDrawingTimeByGame(gameType, gameInstances) : getDrawingTime(gameType);\r\n if (!drawingTime) return;\r\n drawingTime = new Date(drawingTime);\r\n var isSameDay = serverTime.getDate() === drawingTime.getDate() && serverTime.getMonth() === drawingTime.getMonth() && serverTime.getFullYear() === drawingTime.getFullYear();\r\n if (isSameDay) {\r\n var serverTimeMinutesToday = (serverTime.getHours() * 60) + serverTime.getMinutes();\r\n var drawTimeMinutesToday = (drawingTime.getHours() * 60) + drawingTime.getMinutes();\r\n return serverTimeMinutesToday < drawTimeMinutesToday;\r\n }\r\n return false;\r\n };\r\n\r\n\r\n /** Returns the first date, based on a specific week day, on or after a specific start date.\r\n * @param {int} dayOfWeek - The day of week, monday = 1, tuesday = 2 and so on.\r\n * @param {string} startDate - A start date for the earliest returned date.\r\n * @param {string} [startTime] - An optional start time for the earliest returned date.\r\n * @return {string} The first coming date on a specific week day.\r\n */\r\n const getFirstSpecificWeekDayOnOrAfterDate = (dayOfWeek, startDate, startTime = '19:00:00') => {\r\n const d = new Date(startDate);\r\n const firstComingDay = d.setUTCDate(d.getUTCDate() + ((7 + dayOfWeek - d.getUTCDay()) % 7));\r\n return `${getDateAsString(firstComingDay)}T${startTime}`;\r\n };\r\n\r\n\r\n /** Returns an array of draw times for a specific game type.\r\n * @param {string} gameType - The game type, in lowercase.\r\n * @param {string} [startDate] - An optional start date used to generate draws if draw date is unknown.\r\n * @return {Array} An array of draw times for the specific game.\r\n */\r\n const getDraws = (gameType, startDate) => {\r\n let draws = [];\r\n\r\n if (gameType === 'allornothing' && AllOrNothingInfo.data()?.draws?.length) {\r\n draws = AllOrNothingInfo.data().draws.map((draw) => draw.drawingTime);\r\n }\r\n\r\n if (gameType === 'eurojackpot' && EurojackpotInfo.data()?.draws?.length) {\r\n draws = EurojackpotInfo.data().draws.map((draw) => draw.drawingTime);\r\n }\r\n\r\n if (gameType === 'keno' && KenoInfo.data()?.draws?.length) {\r\n draws = KenoInfo.data().draws.map((draw) => draw.drawingTime);\r\n }\r\n\r\n if (gameType === 'lotto' && LottoInfo.data()?.lottoSaturday?.draws?.length) {\r\n draws = LottoInfo.data().lottoSaturday.draws.map((draw) => draw.drawingTime);\r\n }\r\n\r\n if (gameType === 'vikinglotto' && VikingLottoInfo.data()?.draws?.length) {\r\n draws = VikingLottoInfo.data().draws.map((draw) => draw.drawingTime);\r\n }\r\n\r\n if (gameType === 'jokerwednesday') {\r\n draws = [getFirstSpecificWeekDayOnOrAfterDate(3, startDate)];\r\n }\r\n\r\n if (gameType === 'jokersaturday') {\r\n draws = [getFirstSpecificWeekDayOnOrAfterDate(6, startDate)];\r\n }\r\n\r\n return draws;\r\n };\r\n\r\n\r\n const getGameInfoData = (gameType) => {\r\n if (gameType === 'allornothing' && AllOrNothingInfo.data()) {\r\n return AllOrNothingInfo.data();\r\n }\r\n\r\n if (gameType === 'eurojackpot' && EurojackpotInfo.data()) {\r\n return EurojackpotInfo.data();\r\n }\r\n\r\n if (gameType === 'keno' && KenoInfo.data()) {\r\n return KenoInfo.data();\r\n }\r\n\r\n if (gameType === 'lotto' && LottoInfo.data()?.lottoSaturday) {\r\n return LottoInfo.data().lottoSaturday;\r\n }\r\n\r\n if (gameType === 'vikinglotto' && VikingLottoInfo.data()) {\r\n return VikingLottoInfo.data();\r\n }\r\n\r\n return null;\r\n };\r\n\r\n const getDrawDataByDate = (gameType, date) => {\r\n return getGameInfoData(gameType)?.draws?.find((draw) => {\r\n return getDateAsString(draw.drawingTime) === date;\r\n });\r\n };\r\n\r\n const getFirstDrawWithCampaign = ({ gameType, campaignNameSegment, effectiveDate }) => {\r\n let matchingCampaign = null;\r\n if (!gameType || !campaignNameSegment || !effectiveDate) return null;\r\n\r\n getGameInfoData(gameType)?.draws?.forEach((draw) => {\r\n if (matchingCampaign) return matchingCampaign;\r\n\r\n draw.campaignData?.forEach((campaign) => {\r\n if (campaign.name.toLowerCase().includes(campaignNameSegment) &&\r\n getDateAsString(campaign.date) >= effectiveDate) {\r\n return matchingCampaign = campaign;\r\n }\r\n });\r\n });\r\n\r\n return matchingCampaign;\r\n };\r\n\r\n const getDateAsString = (d) => {\r\n d = new Date(d);\r\n return `${d.getUTCFullYear().toString()}-${('0' + (d.getUTCMonth() + 1)).slice(-2)}-${('0' + d.getUTCDate()).slice(-2)}`;\r\n };\r\n\r\n const getDateAndTimeAsString = (d) => {\r\n const dateAsString = getDateAsString(d);\r\n d = new Date(d);\r\n return `${dateAsString}T${('0' + d.getHours()).slice(-2)}:${('0' + d.getMinutes()).slice(-2)}:${('0' + d.getSeconds()).slice(-2)}`;\r\n };\r\n\r\n var hasEurojackpotGameBeenConverted = function (game) {\r\n var gameType = getGameType(game);\r\n if (gameType !== 'eurojackpot') return false;\r\n // fake games does not always have drawDays, but we assume they are converted\r\n if (!game.drawDays) return true;\r\n return game.drawDays[1] && game.drawDays[4];\r\n };\r\n\r\n var checkIfEurojackpotDrawDayCouldBeATuesday = function (game, date) {\r\n var isConverted = hasEurojackpotGameBeenConverted(game);\r\n var checkDate = new Date(date);\r\n var drawDayIsATuesday = checkDate.getDay() === 2;\r\n if (getGameType(game) === 'eurojackpot' && !isConverted && drawDayIsATuesday) {\r\n // Eurojackpot game is not converted. It can't have draw on a tuesday\r\n checkDate.setDate(checkDate.getDate() + 3);\r\n return getDateAndTimeAsString(checkDate);\r\n }\r\n return date;\r\n };\r\n\r\n var getFirstDrawingTimeOnOrAfterDate = function (game, onOrAfterDate) {\r\n if (!onOrAfterDate || !game) return;\r\n var gameType = getGameType(game);\r\n onOrAfterDate = getDateAsString(onOrAfterDate);\r\n var draws = getDraws(gameType, onOrAfterDate);\r\n if (draws) {\r\n draws = draws.filter(function (draw) {\r\n var drawingTime = getDateAsString(draw);\r\n if (onOrAfterDate <= drawingTime) return true;\r\n });\r\n if (draws.length === 0) {\r\n onOrAfterDate = checkIfEurojackpotDrawDayCouldBeATuesday(game, onOrAfterDate);\r\n return onOrAfterDate;\r\n }\r\n var drawDate = draws[0];\r\n drawDate = checkIfEurojackpotDrawDayCouldBeATuesday(game, drawDate);\r\n return getDateAsString(drawDate);\r\n }\r\n\r\n onOrAfterDate = checkIfEurojackpotDrawDayCouldBeATuesday(game, onOrAfterDate);\r\n return onOrAfterDate;\r\n };\r\n\r\n const getFirstDrawingTimeAfterDate = (game, afterDate) => {\r\n if (!afterDate || !game) return;\r\n let firstDrawingTimeAfterDate;\r\n const gameType = getGameType(game);\r\n const draws = getDraws(gameType);\r\n\r\n if (draws?.length) {\r\n const futureDraws = draws.filter((draw) => getDateAsString(afterDate) < getDateAsString(draw));\r\n\r\n if (futureDraws.length === 0) {\r\n // It looks like we do have a (limited length) draw history from SG, but maybe\r\n // our afterDate is too far into the future. We create our own future draw then.\r\n const dateBasedAfterDate = new Date(afterDate);\r\n const firstDayAfterAfterDate = getDateAsString(dateBasedAfterDate.setDate(dateBasedAfterDate.getDate() + 1));\r\n\r\n // We extract the draw time hours from the first draw.\r\n const drawTime = draws[0].split('T')[1];\r\n\r\n if (gameType === 'allornothing' || gameType === 'keno') {\r\n firstDrawingTimeAfterDate = `${firstDayAfterAfterDate}T${drawTime}`;\r\n\r\n } else if (gameType === 'eurojackpot') {\r\n // We initially use the Eurojackpot Tuesday draw.\r\n firstDrawingTimeAfterDate = getFirstSpecificWeekDayOnOrAfterDate(2, firstDayAfterAfterDate, drawTime);\r\n\r\n // .. then we check if we need to actually display the Eurojackpot Friday draw.\r\n firstDrawingTimeAfterDate = checkIfEurojackpotDrawDayCouldBeATuesday(game, firstDrawingTimeAfterDate);\r\n\r\n } else if (gameType === 'lotto') {\r\n firstDrawingTimeAfterDate = getFirstSpecificWeekDayOnOrAfterDate(6, firstDayAfterAfterDate, drawTime);\r\n\r\n } else if (gameType === 'vikinglotto') {\r\n firstDrawingTimeAfterDate = getFirstSpecificWeekDayOnOrAfterDate(3, firstDayAfterAfterDate, drawTime);\r\n }\r\n\r\n return firstDrawingTimeAfterDate;\r\n\r\n } else {\r\n firstDrawingTimeAfterDate = futureDraws[0];\r\n firstDrawingTimeAfterDate = checkIfEurojackpotDrawDayCouldBeATuesday(game, firstDrawingTimeAfterDate);\r\n return firstDrawingTimeAfterDate;\r\n }\r\n\r\n } else {\r\n // Fallback, we don't have any draws, something is buggy.\r\n return afterDate;\r\n }\r\n };\r\n\r\n var init = function () {\r\n m.sync([\r\n AllOrNothingInfo.ready,\r\n EurojackpotInfo.ready,\r\n KenoInfo.ready,\r\n LottoInfo.ready,\r\n VikingLottoInfo.ready,\r\n ]).then(function () {\r\n ready.resolve();\r\n });\r\n };\r\n\r\n init();\r\n\r\n // Public functions:\r\n return {\r\n cardTypeIcons,\r\n errorCodeMapping,\r\n resolveFundingType,\r\n getDrawingTime,\r\n getDrawingTimeByGame,\r\n getFirstDrawingTimeAfterDate,\r\n getFirstDrawingTimeOnOrAfterDate,\r\n getGameType,\r\n getPlaySystems,\r\n getPlayType,\r\n getDrawDataByDate,\r\n getFirstDrawWithCampaign,\r\n hasEurojackpotGameBeenConverted,\r\n isDrawingDateToday,\r\n getServerTime,\r\n ready: ready.promise,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/CreditCard',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Common/Framework/EventHandling/Scripts/OutsideClick',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n ],\r\n function (m, OutsideClick, Info, Render) {\r\n var toggleDropdown = m.prop(false);\r\n var render = m.prop(Render());\r\n\r\n render().ready.then(function (nodes) {\r\n var dropdown = nodes['dropdown'];\r\n\r\n if (!dropdown.rendered) {\r\n OutsideClick(dropdown.$element, dropdown.context, function () {\r\n toggleDropdown(false);\r\n });\r\n }\r\n });\r\n\r\n var add = function (data) {\r\n return !data.showCardTypes ? m('.creditcard.creditcard--add', [\r\n m('.creditcard__dropdown', {\r\n onclick: function () {\r\n toggleDropdown(!toggleDropdown());\r\n },\r\n config: render().depend('dropdown'),\r\n class: toggleDropdown() ? 'creditcard__dropdown--open' : ''\r\n }, [\r\n m('span', data.toggleLabel),\r\n m('.creditcard__dropdown-menu',\r\n data.getNewAllowedCards.map(function (card) {\r\n return m('.creditcard__dropdown-menu-item', { onclick: data.cb.bind(null, card) }, card.cardName);\r\n })\r\n )\r\n ]),\r\n\r\n m('.creditcard__disclaimer', data.disclaimer)\r\n ]) : m('.creditcard.creditcard--add', { onclick: data.cb }, [\r\n m('.creditcard__new', [\r\n m('img', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/CreditCardIcons/plus.svg',\r\n alt: ''\r\n }),\r\n m('.creditcard__new-label', data.toggleLabel),\r\n ])\r\n ]);\r\n };\r\n\r\n var card = function (data) {\r\n var selected = data.selectedCard().cardId === data.card.cardId;\r\n var cardType = Info.cardTypeIcons[data.card.cardType];\r\n const cardExpiration = data.card.isApplePay ? ''\r\n : (data.card.cardExpirationDate.month + '/' + data.card.cardExpirationDate.year);\r\n let cardName = (data.card.text.left || '');\r\n if (data.card.isApplePay && cardName.toLowerCase().indexOf('apple') === -1) {\r\n cardName += ' Apple\\u00a0Pay';\r\n }\r\n\r\n return m('.creditcard', {\r\n onclick: data.card.disabled ? null : data.cb,\r\n class: (cardType ? 'creditcard--' + cardType : '')\r\n + (selected ? ' creditcard--selected' : ' creditcard--not-selected')\r\n + (data.card.disabled ? ' creditcard--disabled' : '')\r\n }, [\r\n m('.creditcard__logo',\r\n [\r\n cardType ? m('img', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/CreditCardIcons/' + cardType + '.svg',\r\n alt: ''\r\n }) : null,\r\n cardType !== 'applepay' && data.card.isApplePay ? m('img', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/CreditCardIcons/applepay.svg',\r\n alt: ''\r\n }) : null\r\n ]\r\n ),\r\n\r\n m('.creditcard__text', [\r\n m('.creditcard__number-and-date', [\r\n m('.creditcard__number', data.card.cardNumber.replace(/x/ig, '●')),\r\n m('.creditcard__date', cardExpiration),\r\n ]),\r\n m('.creditcard__type', cardName.trim())\r\n ]),\r\n\r\n m('.creditcard__state', [\r\n m('img', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/CreditCardIcons/checkmark.svg',\r\n alt: ''\r\n }),\r\n m('span', data.infoLabel)\r\n ])\r\n\r\n ]);\r\n };\r\n\r\n\r\n // Public functions:\r\n return {\r\n add: add,\r\n card: card,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController',\r\n ], (Utils, LoginController) => {\r\n let loggedInFn = () => {};\r\n let loggedOutFn = () => {};\r\n\r\n const getReturnUrl = () => {\r\n if (location.origin.includes('danskespil.dk')) {\r\n return location.origin;\r\n }\r\n return 'https://danskespil.dk';\r\n };\r\n\r\n const launch = (loggedIn, doNotTriggerLogIn) => {\r\n if (loggedIn) {\r\n loggedInFn();\r\n } else {\r\n loggedOutFn();\r\n if (!doNotTriggerLogIn) {\r\n triggerLogInModal();\r\n }\r\n }\r\n\r\n DSAPI.Account.subscribeUserLoggedIn({ callback: loggedInFn });\r\n DSAPI.Account.subscribeUserLoggedOut({ callback: loggedOutFn });\r\n };\r\n\r\n const init = (isLoggedIn, loggedIn, loggedOut, doNotTriggerLogIn) => {\r\n document.body.setAttribute('data-override-logout-return-url', getReturnUrl());\r\n\r\n if (typeof loggedIn === 'function') {\r\n loggedInFn = loggedIn;\r\n }\r\n\r\n if (typeof loggedOut === 'function') {\r\n loggedOutFn = loggedOut;\r\n }\r\n\r\n if (document.body.classList.contains('is-logged-in')) {\r\n // This seems to be the most reliable way to see if user is logged in.\r\n launch(true, doNotTriggerLogIn);\r\n } else if (typeof isLoggedIn === 'boolean') {\r\n // The parent component tells us if user is logged in. Not reliable if done by calling ILoggedInService.IsLoggedIn().\r\n launch(isLoggedIn, doNotTriggerLogIn);\r\n } else {\r\n // Final solution\r\n launch(!!Utils.cookie('BOSSOisLoggedIn' + DS.Config.BOSSOCONTEXT), doNotTriggerLogIn);\r\n }\r\n };\r\n\r\n const triggerLogInModal = () => {\r\n // Only open login if we're not editing or previewing the page in Sitecore.\r\n if (document.body.classList.contains('mode-normal')) {\r\n LoginController.openLogin({\r\n source: 'subscription',\r\n cancelUrl: getReturnUrl(),\r\n });\r\n }\r\n };\r\n\r\n return { init, triggerLogInModal };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n\r\n return function State(initialStates) {\r\n var states = [];\r\n\r\n if (typeof initialStates === 'string') {\r\n states.push(initialStates);\r\n }\r\n\r\n if (Array.isArray(initialStates)) {\r\n states = initialStates;\r\n }\r\n\r\n m.redraw();\r\n\r\n this.add = function (state) {\r\n if (states.indexOf(state) === -1) {\r\n states.push(state);\r\n }\r\n m.redraw();\r\n };\r\n\r\n this.has = function (state) {\r\n if (state) {\r\n return states.indexOf(state) > -1;\r\n }\r\n return states.length > 0;\r\n };\r\n\r\n this.hasError = function () {\r\n var hasErrors = states.filter(function (state) {\r\n return state.match(/^error/);\r\n });\r\n\r\n return hasErrors.length > 0;\r\n };\r\n\r\n this.remove = function (state) {\r\n var index = states.indexOf(state);\r\n if (index > -1) {\r\n states.splice(index, 1);\r\n }\r\n m.redraw();\r\n };\r\n\r\n this.states = states;\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/SubscriptionChecks',\r\n function () {\r\n\r\n // check to see if we have a valid subscription.\r\n var subscriptionIsActive = function (subscriptionResponse) {\r\n if (!subscriptionResponse.templateState) {\r\n return false;\r\n }\r\n\r\n var subscriptionState = subscriptionResponse.templateState.toLowerCase();\r\n\r\n // credit card and betalingsservice would be 'active'.\r\n // however, betalingsservice can be 'initialized' before it's active.\r\n var activeSubscriptionStates = ['active', 'initialized'];\r\n return activeSubscriptionStates.indexOf(subscriptionState) > -1;\r\n };\r\n\r\n var subscriptionCanBeGapOrAdhocFunded = function (subscriptionGapFundingResponse) {\r\n // fundingMethodSubType is a string, which is empty if subscription can be neither gap- or adhoc-funded.\r\n return !!subscriptionGapFundingResponse.fundingMethodSubType;\r\n };\r\n\r\n const subscriptionIsWeeklyAndHasFailedFirstFunding = (subscription) => !!subscription.firstDepositInfo?.();\r\n\r\n return {\r\n subscriptionIsActive,\r\n subscriptionCanBeGapOrAdhocFunded,\r\n subscriptionIsWeeklyAndHasFailedFirstFunding,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Tracking',\r\n [\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer',\r\n ],\r\n function (Ensighten, DataLayer) {\r\n\r\n // try to read the existing tracking breadcrumb, otherwise default to the last known 'plus' breadcrumb.\r\n this.breadCrumb = window.dataLayer\r\n && window.dataLayer[0]\r\n && window.dataLayer[0].page\r\n && window.dataLayer[0].page.breadcrumb\r\n ? window.dataLayer[0].page.breadcrumb\r\n : '%2fds%2fdlo_plu%2fforside';\r\n\r\n // set/overwrite breadcrumb\r\n var setBreadCrumb = function (breadCrumb) {\r\n this.breadCrumb = breadCrumb;\r\n }.bind(this);\r\n\r\n // use when certain value should be tracked.\r\n var trackEvent = function (location, stepName, value) {\r\n Ensighten.pushGaEvent(location, stepName, value.toString());\r\n };\r\n\r\n // use when wizardpackage offers should be tracked.\r\n var trackPackageOffers = function (packages) {\r\n packages.forEach(function (pack) {\r\n DataLayer.productImpression({\r\n name: 'plus',\r\n brand: 'dlo_plu',\r\n category: 'lyn',\r\n variant: 'plu_wizard_package',\r\n id: pack.id,\r\n price: pack.totalPrice\r\n });\r\n });\r\n };\r\n\r\n // use when content of page change, without page being reloaded (SPA).\r\n var trackRouteChange = function (route, subRoute) {\r\n window.dataLayer.push({\r\n event: 'virtualPage',\r\n page: {\r\n breadcrumb: this.breadCrumb + '/virtualPath/' + route + (subRoute ? '/' + subRoute : '')\r\n }\r\n });\r\n }.bind(this);\r\n\r\n return {\r\n setBreadCrumb: setBreadCrumb,\r\n trackEvent: trackEvent,\r\n trackPackageOffers: trackPackageOffers,\r\n trackRouteChange: trackRouteChange,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils'\r\n ],\r\n function (Utils) {\r\n var formattedAmount = function (amount) {\r\n return {\r\n short: amount ? amount : 0,\r\n long: Utils.formatCurrency(amount || 0)\r\n };\r\n };\r\n\r\n var formattedDates = function (date) {\r\n return {\r\n short: date ? Utils.getShortDate(date) : '',\r\n shortWithTime: date ? Utils.getShortDateWithTime(date) : '',\r\n long: date ? Utils.getLongDate(date).replace(/ /g, ' ') || '' : '',\r\n longWithTime: date ? Utils.getLongDateWithTime(date).replace(/ /g, ' ') || '' : '',\r\n raw: date ? date : ''\r\n };\r\n };\r\n\r\n // takes response from Api.getSubscriptionGapFunding(id)\r\n var gapFundingVars = function (subscriptionGapFundingResponse) {\r\n var res = subscriptionGapFundingResponse;\r\n var startDate;\r\n var endDate;\r\n var endDatePlusOneDay;\r\n var endDateMinusOneDay;\r\n var amount;\r\n\r\n if (res.fundingMethodSubType === 'subscription-first-deposit') {\r\n amount = res.remainingGapAmount;\r\n }\r\n\r\n if (res.fundingMethodSubType === 'gap-fund') {\r\n startDate = res.gapPeriod?.start || '';\r\n endDate = res.gapPeriod?.end || '';\r\n endDatePlusOneDay = endDate ? Utils.addOneDayToDate(endDate) : '';\r\n endDateMinusOneDay = endDate ? Utils.subtractOneDayFromDate(endDate) : '';\r\n amount = res.remainingGapAmount;\r\n }\r\n\r\n if (res.fundingMethodSubType === 'adhoc-fund') {\r\n startDate = res.nextDrawPeriod?.start || '';\r\n endDate = res.nextDrawPeriod?.end || '';\r\n endDatePlusOneDay = endDate ? Utils.addOneDayToDate(endDate) : '';\r\n endDateMinusOneDay = endDate ? Utils.subtractOneDayFromDate(endDate) : '';\r\n amount = res.drawRecurringAmount / 100;\r\n }\r\n\r\n return {\r\n gapFundingRemainingAmount: formattedAmount(amount).short,\r\n gapFundingRemainingAmountLong: formattedAmount(amount).long,\r\n\r\n gapFundingDrawRecurringAmount: formattedAmount(res.drawRecurringAmount).short,\r\n gapFundingDrawRecurringAmountLong: formattedAmount(res.drawRecurringAmount).long,\r\n\r\n gapFundingDateEffectiveDate: formattedDates(res.effectiveDate).short,\r\n gapFundingDateEffectiveDateLong: formattedDates(res.effectiveDate).long,\r\n gapFundingDateEffectiveDateRaw: formattedDates(res.effectiveDate).raw,\r\n\r\n gapFundingDateFirstDrawWithoutGap: formattedDates(res.firstDrawWithoutGap).short,\r\n gapFundingDateFirstDrawWithoutGapLong: formattedDates(res.firstDrawWithoutGap).long,\r\n gapFundingDateFirstDrawWithoutGapRaw: formattedDates(res.firstDrawWithoutGap).raw,\r\n\r\n gapFundingDateLastDayBeforeFirstDrawWithoutGap: res.firstDrawWithoutGap ? Utils.getShortDate(Utils.subtractOneDayFromDate(res.firstDrawWithoutGap)) : '',\r\n gapFundingDateLastDayBeforeSubscriptionStartLong: res.firstDrawWithoutGap ? Utils.getLongDate(Utils.subtractOneDayFromDate(res.firstDrawWithoutGap)).replace(/ /g, ' ') : '',\r\n\r\n gapFundingDateNextDrawWithGap: formattedDates(res.nextDrawWithGap).short,\r\n gapFundingDateNextDrawWithGapLong: formattedDates(res.nextDrawWithGap).long,\r\n gapFundingDateNextDrawWithGapRaw: formattedDates(res.nextDrawWithGap).raw,\r\n\r\n gapFundingDateStart: formattedDates(startDate).short,\r\n gapFundingDateStartLong: formattedDates(startDate).long,\r\n gapFundingDateStartRaw: formattedDates(startDate).raw,\r\n\r\n gapFundingDateEnd: formattedDates(endDate).short,\r\n gapFundingDateEndLong: formattedDates(endDate).long,\r\n gapFundingDateEndRaw: formattedDates(endDate).raw,\r\n\r\n gapFundingDateEndPlusOneDay: formattedDates(endDatePlusOneDay).short,\r\n gapFundingDateEndPlusOneDayLong: formattedDates(endDatePlusOneDay).long,\r\n gapFundingDateEndPlusOneDayRaw: formattedDates(endDatePlusOneDay).raw,\r\n\r\n gapFundingDateEndMinusOneDay: formattedDates(endDateMinusOneDay).short,\r\n gapFundingDateEndMinusOneDayLong: formattedDates(endDateMinusOneDay).long,\r\n gapFundingDateEndMinusOneDayRaw: formattedDates(endDateMinusOneDay).raw,\r\n };\r\n };\r\n\r\n // takes reponse from Api.getSubscriptionTransactions(id)\r\n var transactionVars = function (subscriptionTransactionsResponse) {\r\n var res = subscriptionTransactionsResponse;\r\n\r\n return {\r\n transactionAmount: formattedAmount(res.amount).short,\r\n transactionAmountLong: formattedAmount(res.amount).long,\r\n\r\n transactionBalance: formattedAmount(res.balance).short,\r\n transactionBalanceLong: formattedAmount(res.balance).long,\r\n\r\n transactionDateCreated: formattedDates(res.createdAt).short,\r\n transactionDateCreatedLong: formattedDates(res.createdAt).long,\r\n\r\n transactionDateCreatedPlusOneDay: res.createdAt ? Utils.getShortDate(Utils.addOneDayToDate(res.createdAt)) : '',\r\n transactionDateCreatedPlusOneDayLong: res.createdAt ? Utils.getLongDate(Utils.addOneDayToDate(res.createdAt)).replace(/ /g, ' ') : '',\r\n };\r\n };\r\n\r\n // takes response from Api.getSubscription(id)\r\n var subscriptionVars = function (subscriptionResponse) {\r\n var res = subscriptionResponse;\r\n\r\n return {\r\n subscriptionDateCreated: formattedDates(res.createdDate).short,\r\n subscriptionDateCreatedLong: formattedDates(res.createdDate).long,\r\n\r\n subscriptionDateEffectiveDate: formattedDates(res.effectiveDate).short,\r\n subscriptionDateEffectiveDateLong: formattedDates(res.effectiveDate).long,\r\n subscriptionDateEffectiveDateRaw: formattedDates(res.effectiveDate).raw,\r\n\r\n subscriptionDateNextActivePeriodStart: formattedDates(res.nextActivePeriodStart).short,\r\n subscriptionDateNextActivePeriodStartLong: formattedDates(res.nextActivePeriodStart).long,\r\n\r\n subscriptionDateNextDrawWithGap: formattedDates(res.nextDrawWithGap).short,\r\n subscriptionDateNextDrawWithGapLong: formattedDates(res.nextDrawWithGap).long,\r\n\r\n subscriptionDateFirstDepositInfoDeadline: res.firstDepositInfo?.firstDepositDeadline ? formattedDates(res.firstDepositInfo.firstDepositDeadline).short : '',\r\n subscriptionDateFirstDepositInfoDeadlineWithTime: res.firstDepositInfo?.firstDepositDeadline ? formattedDates(res.firstDepositInfo.firstDepositDeadline).shortWithTime : '',\r\n subscriptionDateFirstDepositInfoDeadlineLong: res.firstDepositInfo?.firstDepositDeadline ? formattedDates(res.firstDepositInfo.firstDepositDeadline).long : '',\r\n subscriptionDateFirstDepositInfoDeadlineLongWithTime: res.firstDepositInfo?.firstDepositDeadline ? formattedDates(res.firstDepositInfo.firstDepositDeadline).longWithTime : '',\r\n subscriptionDateFirstDepositInfoDeadlineRaw: res.firstDepositInfo?.firstDepositDeadline ? formattedDates(res.firstDepositInfo.firstDepositDeadline).raw : '',\r\n\r\n subscriptionDateFirstDepositInfoUpcomingDrawDate: res.firstDepositInfo?.upcomingDrawDate ? formattedDates(res.firstDepositInfo.upcomingDrawDate).short : '',\r\n subscriptionDateFirstDepositInfoUpcomingDrawDateLong: res.firstDepositInfo?.upcomingDrawDate ? formattedDates(res.firstDepositInfo.upcomingDrawDate).long : '',\r\n subscriptionDateFirstDepositInfoUpcomingDrawDateLongWithTime: res.firstDepositInfo?.upcomingDrawDate ? formattedDates(res.firstDepositInfo.upcomingDrawDate).longWithTime : '',\r\n subscriptionDateFirstDepositInfoUpcomingDrawDateRaw: res.firstDepositInfo?.upcomingDrawDate ? formattedDates(res.firstDepositInfo.upcomingDrawDate).raw : '',\r\n };\r\n };\r\n\r\n // takes response from Api.getSubscriptionDetails(id)\r\n const subscriptionDetailsVars = (subscriptionDetailsResponse) => {\r\n const res = subscriptionDetailsResponse;\r\n const endDate = res.endDate;\r\n const endDateMinusOneDay = endDate ? Utils.subtractOneDayFromDate(endDate) : '';\r\n\r\n return {\r\n subscriptionDetailsDateEnd: formattedDates(res.endDate).short,\r\n subscriptionDetailsDateEndLong: formattedDates(res.endDate).long,\r\n subscriptionDetailsDateEndRaw: formattedDates(res.endDate).raw,\r\n\r\n subscriptionDetailsDateEndMinusOneDay: formattedDates(endDateMinusOneDay).short,\r\n subscriptionDetailsDateEndMinusOneDayLong: formattedDates(endDateMinusOneDay).long,\r\n subscriptionDetailsDateEndMinusOneDayRaw: formattedDates(endDateMinusOneDay).raw,\r\n\r\n subscriptionDetailsDateFirstDraw: formattedDates(res.firstDrawDate).short,\r\n subscriptionDetailsDateFirstDrawLong: formattedDates(res.firstDrawDate).long,\r\n subscriptionDetailsDateFirstDrawRaw: formattedDates(res.firstDrawDate).raw,\r\n\r\n subscriptionDetailsDateLastDraw: formattedDates(res.lastDrawDate).short,\r\n subscriptionDetailsDateLastDrawLong: formattedDates(res.lastDrawDate).long,\r\n subscriptionDetailsDateLastDrawRaw: formattedDates(res.lastDrawDate).raw,\r\n\r\n subscriptionDetailsDateStart: formattedDates(res.startDate).short,\r\n subscriptionDetailsDateStartLong: formattedDates(res.startDate).long,\r\n subscriptionDetailsDateStartRaw: formattedDates(res.startDate).raw,\r\n };\r\n };\r\n\r\n return {\r\n gapFundingVars,\r\n subscriptionVars,\r\n subscriptionDetailsVars,\r\n transactionVars,\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/AppBasketChecker',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n ], (Utils, Params, LottoGame, VikingLottoGame, EurojackpotGame, AllOrNothingGame, KenoGame) => {\r\n /**\r\n * @typedef {Object} rowNumber\r\n * @property {number} number - The number value.\r\n * @property {boolean} autogenerated - Whether the number was autogenerated.\r\n */\r\n\r\n /**\r\n * @typedef {Object} row\r\n * @property {Array.} numbers - An array of rowNumber belonging to the row.\r\n * @property {Array.} [starNumbers] - An array of starNumbers belonging to the row.\r\n * @property {rowNumber} [vikingNumbers] - A vikingNumber belonging to the row.\r\n */\r\n\r\n /**\r\n * @typedef {Object} appGameModel\r\n * @property {string} gameType - The type of the game.\r\n * @property {string} playType - The type of play.\r\n * @property {number} [rowsToGenerate] - The number of rows to generate.\r\n * @property {string} [systemName] - The subscription id of the game.\r\n * @property {Array.} [rows] - An array of rows in the game.\r\n * @property {boolean} withJokerSaturday - Whether the game has joker for saturday.\r\n * @property {boolean} withJokerWednesday - Whether the game has joker for wednesday.\r\n */\r\n\r\n /**\r\n * @typedef {Object} appPlusBasketModel\r\n * @property {Array.} games - An array of appGameModel objects representing the games in the basket.\r\n */\r\n\r\n const verticalType = Params.detect('jackpot') ? 'jackpot' : 'plus';\r\n const appPlusBasketKey = 'LottoApp-Plus-Basket-Model';\r\n const gameModels = {\r\n Lotto: LottoGame,\r\n Vikinglotto: VikingLottoGame,\r\n Eurojackpot: EurojackpotGame,\r\n AllOrNothing: AllOrNothingGame,\r\n Keno: KenoGame,\r\n };\r\n\r\n function useAppBasketModel() {\r\n return Boolean(localStorage.getItem(appPlusBasketKey));\r\n }\r\n\r\n function getGamesFromAppBasket() {\r\n return new Promise((resolve) => {\r\n let appPlusBasketModel = localStorage.getItem(appPlusBasketKey);\r\n if (!appPlusBasketModel) {\r\n resolve([]);\r\n return;\r\n }\r\n appPlusBasketModel = JSON.parse(appPlusBasketModel);\r\n if (!Array.isArray(appPlusBasketModel) ||\r\n appPlusBasketModel.length === 0) {\r\n resolve([]);\r\n return;\r\n }\r\n\r\n Utils.setSessionStorage('isLottoAppPurchase', true);\r\n const gamesFromAppBasket = [];\r\n appPlusBasketModel.forEach((appGameModel) => {\r\n const gameModel = gameModels[appGameModel.gameType];\r\n if (!gameModel) {\r\n return;\r\n }\r\n\r\n const game = gameModel.setupGame({ playType: appGameModel.playType });\r\n game.verticalType(verticalType);\r\n if (appGameModel.gameType === 'Eurojackpot') {\r\n game.gameVersionNo(2);\r\n }\r\n if (appGameModel.systemName) {\r\n game.systemName(appGameModel.systemName);\r\n }\r\n if (['Lightning', 'Lucky'].includes(appGameModel.playType) &&\r\n appGameModel.rowsToGenerate) {\r\n game.rowsToGenerate(appGameModel.rowsToGenerate);\r\n }\r\n if (appGameModel.rows) {\r\n appGameModel.rows.forEach((row, index) => {\r\n const rowNumber = index + 1;\r\n game.addRow();\r\n if (row.numbers) {\r\n row.numbers.forEach((number) => {\r\n game.addNumber(rowNumber, number.number, number.autogenerated);\r\n });\r\n }\r\n if (row.starNumbers) {\r\n row.starNumbers.forEach((number) => {\r\n game.addStarNumber(rowNumber, number.number, number.autogenerated);\r\n });\r\n }\r\n if (row.vikingNumber) {\r\n game.addVikingNumber(rowNumber, row.vikingNumber.number, row.vikingNumber.autogenerated);\r\n }\r\n });\r\n }\r\n if (appGameModel.withJokerSaturday) {\r\n game.withJokerSaturday(appGameModel.withJokerSaturday);\r\n }\r\n if (appGameModel.withJokerWednesday) {\r\n game.withJokerWednesday(appGameModel.withJokerWednesday);\r\n }\r\n game._gameType = appGameModel.gameType.toLowerCase();\r\n game.save();\r\n gamesFromAppBasket.push(game);\r\n });\r\n\r\n resolve(gamesFromAppBasket);\r\n });\r\n }\r\n\r\n function clearAppBasket() {\r\n localStorage.removeItem(appPlusBasketKey);\r\n }\r\n\r\n return {\r\n useAppBasketModel,\r\n getGamesFromAppBasket,\r\n clearAppBasket,\r\n };\r\n });","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/WeekPackageChecker', [\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Basket',\r\n 'DanskeSpil/Domain/NumberGamePackage/Scripts/Models/Package',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n], (Params, Basket, PackageModel, EurojackpotGame, LottoGame, VikingLottoGame, ModelStorage) => {\r\n const WeekPackageChecker = ({ setupSubscription, handleEmptyBasket }) => {\r\n const verticalType = Params.detect('jackpot') ? 'jackpot' : 'plus';\r\n const packageId = Params.extract('packageInstanceId');\r\n const packageModel = PackageModel.get(packageId);\r\n const packageCoupons = packageModel.information()?.coupons;\r\n const gamesModelsMap = {\r\n EuroJackpot: EurojackpotGame,\r\n LottoSaturday: LottoGame,\r\n VikingLotto: VikingLottoGame\r\n };\r\n const basketGameTypesMap = {\r\n LottoSaturday: 'lotto',\r\n EuroJackpot: 'eurojackpot',\r\n VikingLotto: 'vikinglotto',\r\n };\r\n if (packageCoupons?.length > 0) {\r\n packageCoupons.forEach((coupon) => {\r\n const playType = Params.extract('packagePlayType') || coupon.playType;\r\n const couponMainGame = coupon.couponGames.find((game) => game.gameType === coupon.gameType);\r\n const couponJokerSaturday = coupon.couponGames.find((game) => game.gameType === 'JokerSaturday');\r\n const couponJokerWednesday = coupon.couponGames.find((game) => game.gameType === 'JokerWednesday');\r\n const gameModel = gamesModelsMap[couponMainGame.gameType].setupGame({ verticalType, playType });\r\n gameModel.numberOfDraws(1);\r\n gameModel.id(`${verticalType}-${gameModel.id()}`);\r\n if (playType.toLowerCase() !== 'lightning') {\r\n if (couponMainGame.rows?.length > 0) {\r\n couponMainGame.rows.forEach((row, index) => {\r\n gameModel.addRow();\r\n row.numbers.forEach((number) => {\r\n gameModel.addNumber((index + 1), number);\r\n });\r\n if (row.starNumbers) {\r\n row.starNumbers.forEach((number) => {\r\n gameModel.addStarNumber((index + 1), number);\r\n });\r\n }\r\n if (row.vikingNumber) {\r\n gameModel.addVikingNumber((index + 1), row.vikingNumber);\r\n }\r\n });\r\n }\r\n } else {\r\n gameModel.rowsToGenerate(couponMainGame.rowCount);\r\n }\r\n if (couponJokerSaturday) {\r\n gameModel.withJokerSaturday(true);\r\n if (playType.toLowerCase() !== 'lightning' && couponJokerSaturday.rows?.length > 0) {\r\n gameModel._generatedJokerRowsSaturday(couponJokerSaturday.rows);\r\n }\r\n }\r\n if (couponJokerWednesday) {\r\n gameModel.withJokerWednesday(true);\r\n if (playType.toLowerCase() !== 'lightning' && couponJokerWednesday.rows?.length > 0) {\r\n gameModel._generatedJokerRowsWednesday(couponJokerWednesday.rows);\r\n }\r\n }\r\n gameModel.save();\r\n ModelStorage.add(verticalType, basketGameTypesMap[couponMainGame.gameType], playType.toLowerCase(), gameModel.id());\r\n gameModel.status('add-to-basket');\r\n gameModel.save();\r\n });\r\n // timeout used to ensure that the games are added to the basket before the subscription is set up\r\n setTimeout(() => {\r\n setupSubscription();\r\n Params.remove('packageInstanceId&packagePlayType');\r\n }, 2000);\r\n } else {\r\n if (Basket.isEmpty()) {\r\n handleEmptyBasket();\r\n } else {\r\n setupSubscription();\r\n }\r\n }\r\n };\r\n\r\n return WeekPackageChecker;\r\n});","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/Subscription',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiableGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Notification',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Subscription',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, GoTo, SubscriptionModel, ModifiableGames, ErrorMessage, Notification, Modal, SubscriptionTemplate) {\r\n\r\n Component('plus-subscription', [Dictionary, Info], function (m, route, settings, property) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.property = property;\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n this.model = new SubscriptionModel();\r\n this.modifiableGames = new ModifiableGames();\r\n this.state = new State('loading');\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.logoutLink = m.prop(settings.logoutLink);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.storedCards = settings.storedCards;\r\n this.modal = m.prop();\r\n this.subscription = m.prop();\r\n\r\n this.goTo = new GoTo({\r\n changeFunding: settings.changeFundingLink,\r\n changePaymentPlan: settings.changePaymentPlanLink,\r\n changePayout: settings.changePayoutLink,\r\n editGame: settings.editGameLink ? { link: settings.editGameLink, gaEvent: ['mit_plus', 'spilkort', 'rediger'] } : null,\r\n convertEurojackpotGame: settings.convertEurojackpotGameLink ? { link: settings.convertEurojackpotGameLink, gaEvent: ['mit_plus', 'spilkort', 'rediger'] } : null,\r\n terminateGame: settings.terminateGameLink,\r\n pauseGame: settings.pauseGameLink ? { link: settings.pauseGameLink, gaEvent: ['mit_plus', 'indstillinger', 'pause_abonnement'] } : null,\r\n resumePausedGame: settings.pauseGameLink ? { link: settings.pauseGameLink, gaEvent: ['mit_plus', 'indstillinger', 'genoptag_abonnement'] } : null,\r\n gapPayment: settings.gapPaymentLink,\r\n subscriptionId: this.subscriptionId(),\r\n });\r\n\r\n this.ifLoggedIn = function () {\r\n this.state.add('loading');\r\n this.state.remove('notLoggedIn');\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n this.subscription(SubscriptionTemplate({\r\n subscription: res,\r\n modal: this.modal,\r\n goTo: this.goTo,\r\n storedCards: this.storedCards,\r\n modifiableGames: this.modifiableGames,\r\n d: this.d,\r\n }));\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner.plus-spinner--subscription');\r\n if (error) return error;\r\n\r\n return [\r\n m('.plus-page__component.plus-page__component--large', [\r\n Notification({ modifiableGames: ctrl.modifiableGames, d: ctrl.d, goTo: ctrl.goTo }),\r\n ctrl.subscription(),\r\n ]),\r\n Modal(ctrl.modal()),\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Plus/Price',\r\n [\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils',\r\n ],\r\n function (EurojackpotInfo, KenoInfo, LottoInfo, VikingLottoInfo, AllOrNothingInfo, Utils) {\r\n var prices = {};\r\n var pricesFormatted = {};\r\n\r\n var getPrice = function (gameType) {\r\n if (!gameType || !getPrices()[gameType]) return;\r\n return getPrices()[gameType];\r\n };\r\n\r\n var getPriceFormatted = function (gameType) {\r\n if (!gameType || !getPricesFormatted()[gameType]) return;\r\n return getPricesFormatted()[gameType];\r\n };\r\n\r\n var getPrices = function () {\r\n var data;\r\n\r\n // all or nothing row value\r\n if (!AllOrNothingInfo.isFeedDown() && AllOrNothingInfo.data() && !prices.allornothing) {\r\n data = AllOrNothingInfo.data();\r\n if (data && data.openDraw) {\r\n prices.allornothing = data.openDraw.rowPrice;\r\n }\r\n }\r\n\r\n // eurojackpot row value\r\n if (!EurojackpotInfo.isFeedDown() && EurojackpotInfo.data() && !prices.eurojackpot) {\r\n data = EurojackpotInfo.data();\r\n if (data && data.openDraw) {\r\n prices.eurojackpot = data.openDraw.rowPrice;\r\n } else if (data.draws && data.draws.length > 0) {\r\n prices.eurojackpot = data.draws[0].rowPrice;\r\n }\r\n }\r\n\r\n // keno (default stake value)\r\n if (!KenoInfo.isFeedDown() && KenoInfo.data() && !prices.keno) {\r\n data = KenoInfo.data();\r\n if (data.stakeOptions) {\r\n var defaultStake = data.stakeOptions.filter(function (stake) {\r\n return stake.IsDefault;\r\n }).map(function (stake) {\r\n return stake.Value;\r\n });\r\n\r\n if (defaultStake.length > 0) {\r\n prices.keno = defaultStake[0];\r\n }\r\n }\r\n }\r\n\r\n // lotto row value\r\n if (!LottoInfo.isFeedDown() && LottoInfo.data() && !prices.lotto) {\r\n data = LottoInfo.data();\r\n if (data && data.lottoSaturday && data.lottoSaturday.openDraw) {\r\n prices.lotto = data.lottoSaturday.openDraw.rowPrice;\r\n } else if (data && data.lottoSaturday && data.lottoSaturday.draws && data.lottoSaturday.draws.length > 0) {\r\n prices.lotto = data.lottoSaturday.draws[0].rowPrice;\r\n }\r\n }\r\n\r\n // vikinglotto row value\r\n if (!VikingLottoInfo.isFeedDown() && VikingLottoInfo.data() && !prices.vikinglotto) {\r\n data = VikingLottoInfo.data();\r\n if (data && data.openDraw) {\r\n prices.vikinglotto = data.openDraw.rowPrice;\r\n } else if (data.draws && data.draws.length > 0) {\r\n prices.vikinglotto = data.draws[0].rowPrice;\r\n }\r\n }\r\n\r\n // joker value\r\n if (!prices.joker) {\r\n data = (EurojackpotInfo.jokerData() || LottoInfo.data() || VikingLottoInfo.jokerData());\r\n var jokerWednesdayOpenDrawPrice = data.jokerWednesday && data.jokerWednesday.openDraw && data.jokerWednesday.openDraw.rowPrice;\r\n var jokerSaturdayOpenDrawPrice = data.jokerSaturday && data.jokerSaturday.openDraw && data.jokerSaturday.openDraw.rowPrice;\r\n var jokerPrice = jokerWednesdayOpenDrawPrice || jokerSaturdayOpenDrawPrice;\r\n if (jokerPrice) {\r\n // it's only possible to buy two rows at a time.\r\n prices.joker = jokerPrice * 2;\r\n }\r\n }\r\n\r\n return prices;\r\n };\r\n\r\n var getPricesFormatted = function () {\r\n if (Object.keys(pricesFormatted).length > 0) return pricesFormatted;\r\n\r\n var prices = getPrices();\r\n\r\n if (prices.allornothing) {\r\n pricesFormatted.allornothing = Utils.formatCurrency(prices.allornothing);\r\n }\r\n\r\n if (prices.eurojackpot) {\r\n pricesFormatted.eurojackpot = Utils.formatCurrency(prices.eurojackpot);\r\n }\r\n\r\n if (prices.keno) {\r\n pricesFormatted.keno = Utils.formatCurrency(prices.keno);\r\n }\r\n\r\n if (prices.lotto) {\r\n pricesFormatted.lotto = Utils.formatCurrency(prices.lotto);\r\n }\r\n\r\n if (prices.vikinglotto) {\r\n pricesFormatted.vikinglotto = Utils.formatCurrency(prices.vikinglotto);\r\n }\r\n\r\n if (prices.joker) {\r\n pricesFormatted.joker = Utils.formatCurrency(prices.joker);\r\n }\r\n\r\n return pricesFormatted;\r\n };\r\n\r\n // Public functions:\r\n return {\r\n getPrice: getPrice,\r\n getPriceFormatted: getPriceFormatted,\r\n getPrices: getPrices,\r\n getPricesFormatted: getPricesFormatted,\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Plus/SubscriptionPeriods',\r\n [],\r\n function () {\r\n\r\n return function SubscriptionPeriods() {\r\n var getUpdates = function ({ subscriptionDetailsRes }) {\r\n return subscriptionDetailsRes.updates;\r\n };\r\n\r\n var getDrawPeriods = function ({ subscriptionDetailsRes }) {\r\n if (!subscriptionDetailsRes) return;\r\n var periods = subscriptionDetailsRes.drawPeriods;\r\n\r\n periods = periods.map(function (period) {\r\n period.isNotFunded = period.fundingState && period.fundingState.toLowerCase() === 'notfunded';\r\n return period;\r\n });\r\n\r\n return periods;\r\n };\r\n\r\n this.getCurrentPeriod = function ({ subscriptionDetailsRes }) {\r\n if (!subscriptionDetailsRes) return;\r\n var drawPeriods = getDrawPeriods({ subscriptionDetailsRes });\r\n\r\n // if we have an active period, it's our current period\r\n if (drawPeriods && drawPeriods.length > 0) {\r\n var activePeriod = drawPeriods.filter(function (period) {\r\n return period.isActive;\r\n })[0];\r\n if (activePeriod) return activePeriod;\r\n }\r\n\r\n // there is no current period.\r\n return null;\r\n };\r\n\r\n this.getLastPaidPeriod = function ({ subscriptionDetailsRes }) {\r\n if (!subscriptionDetailsRes) return;\r\n var drawPeriods = getDrawPeriods({ subscriptionDetailsRes });\r\n\r\n // iterate drawPeriods in reverse order and return first funded\r\n if (drawPeriods && drawPeriods.length > 0) {\r\n for (let i = drawPeriods.length - 1; i >= 0; i--) {\r\n if (drawPeriods[i].isNotFunded === false) {\r\n return drawPeriods[i];\r\n }\r\n }\r\n }\r\n\r\n // there is no paid period.\r\n return null;\r\n };\r\n\r\n this.getUpdatedDrawPeriods = function ({ subscriptionDetailsRes }) {\r\n var drawPeriods = getDrawPeriods({ subscriptionDetailsRes });\r\n var updates = getUpdates({ subscriptionDetailsRes });\r\n var matches = [];\r\n\r\n if (drawPeriods && updates && drawPeriods.length > 0 && updates.length > 0) {\r\n updates.map(function (update) {\r\n drawPeriods.map(function (drawPeriod) {\r\n if (drawPeriod.startDate === update.updateDate) {\r\n matches.push({\r\n drawPeriod: drawPeriod,\r\n update: update\r\n });\r\n }\r\n });\r\n });\r\n }\r\n return matches;\r\n };\r\n\r\n this.getNextPeriod = function ({ subscriptionDetailsRes }) {\r\n if (!subscriptionDetailsRes || subscriptionDetailsRes.subscriptionState === 'terminated') return null;\r\n\r\n var drawPeriods = getDrawPeriods({ subscriptionDetailsRes });\r\n if (!drawPeriods || drawPeriods.length === 0) return null;\r\n\r\n var currentPeriod = this.getCurrentPeriod({ subscriptionDetailsRes });\r\n\r\n // if we have no currentPeriod, our subscription could be newly created.\r\n if (!currentPeriod) {\r\n\r\n var nextActivePeriodStart = subscriptionDetailsRes.nextActivePeriodStart;\r\n\r\n var periodMatchingNextActivePeriodStart = drawPeriods.filter(function (period) {\r\n return period.startDate === nextActivePeriodStart;\r\n })[0];\r\n\r\n // if our period start date matches the subscriptions active start date, it's our next period.\r\n if (periodMatchingNextActivePeriodStart) {\r\n return periodMatchingNextActivePeriodStart;\r\n }\r\n\r\n // if we reach here, the current period most likely had a failed funding.\r\n // SG does not return the instance if the funding is failed.\r\n }\r\n\r\n // we have draw periods, so let's find the one for our next period.\r\n if (drawPeriods && drawPeriods.length > 1) {\r\n var currentPeriodStartDate = currentPeriod.startDate;\r\n\r\n // remove the current period.\r\n var nextPeriods = drawPeriods.filter(function (period) {\r\n return period.startDate !== currentPeriodStartDate;\r\n });\r\n\r\n // if more than one period exist, sort periods after date.\r\n if (nextPeriods.length > 1) {\r\n nextPeriods = nextPeriods.sort(function (a, b) {\r\n return a.startDate > b.startDate ? 1 : -1;\r\n });\r\n }\r\n\r\n // we found our next period.\r\n return nextPeriods[0];\r\n }\r\n\r\n // at this point, there's only one drawPeriod left.\r\n var period = drawPeriods[0];\r\n\r\n // if the period is active, it's the current period. we have no next periods, which is probably because\r\n // the subscription has recently been deleted.\r\n if (period.isActive) {\r\n return null;\r\n }\r\n\r\n // is it a period that have failed funding?\r\n if (period.fundingState.toLowerCase() === 'failed') {\r\n return null;\r\n }\r\n\r\n // there's only one drawPeriod, it's not the current period, and it does not have a failed funding. very strange.\r\n // this is a fallback that should not happen...\r\n console.error('There seems to be something wrong with the next draw period.');\r\n return period;\r\n\r\n };\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n [\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n ],\r\n function (Ensighten, Utils) {\r\n\r\n var GoTo = function (args) {\r\n if (!args) return;\r\n var goTo = {};\r\n\r\n var getLink = function (link) {\r\n return (typeof link === 'object' && link.link) ? link.link : link;\r\n };\r\n\r\n var getGaEvent = function (link) {\r\n return (typeof link === 'object' && link.gaEvent) ? link.gaEvent : null;\r\n };\r\n\r\n const delay = (ms = 50) => new Promise((res) => setTimeout(res, ms));\r\n\r\n var sendGaEvent = async function (gaEvent) {\r\n if (!gaEvent) return;\r\n var category = gaEvent[0];\r\n var action = gaEvent[1];\r\n var label = gaEvent[2];\r\n if (category && action && label) {\r\n if (typeof action === 'function') action = action();\r\n if (typeof label === 'function') label = label();\r\n Ensighten.pushGaEventOnPageRedirect(category, action, label);\r\n await delay();\r\n }\r\n };\r\n\r\n var link = function (link) {\r\n const gaEvent = getGaEvent(link);\r\n link = getLink(link);\r\n return async function () {\r\n if (!link) {\r\n await sendGaEvent(gaEvent);\r\n window.history.back();\r\n } else {\r\n await sendGaEvent(gaEvent);\r\n window.location.href = link;\r\n }\r\n };\r\n };\r\n\r\n var linkWithSubscriptionId = function (link, id) {\r\n var gaEvent = getGaEvent(link);\r\n link = getLink(link);\r\n return async function () {\r\n await sendGaEvent(gaEvent);\r\n window.location.href = link + '?subscriptionId=' + id;\r\n };\r\n };\r\n\r\n const linkWithSubscriptionIdAndReturnUrl = (link, id) => {\r\n const returnUrl = Utils.link(location.pathname).addCurrentParams().link;\r\n const gaEvent = getGaEvent(link);\r\n link = getLink(link);\r\n return async () => {\r\n await sendGaEvent(gaEvent);\r\n location.href = `${link}?subscriptionId=${id}&returnUrl=${encodeURIComponent(returnUrl)}`;\r\n };\r\n };\r\n\r\n var linkWithSubscriptionIdAndGameId = function (link, subscriptionId) {\r\n var gaEvent = getGaEvent(link);\r\n link = getLink(link);\r\n link += '?subscriptionId=' + subscriptionId;\r\n return async function (gameId) {\r\n await sendGaEvent(gaEvent);\r\n if (!gameId) {\r\n window.location.href = link;\r\n }\r\n window.location.href = link + '&gameId=' + gameId;\r\n };\r\n };\r\n\r\n for (var arg in args) {\r\n if (args.hasOwnProperty(arg) && args[arg]) {\r\n switch (arg) {\r\n case 'leavePauseConfirm':\r\n case 'leaveResumePauseConfirm':\r\n case 'overview':\r\n case 'plus':\r\n goTo[arg] = link(args[arg]);\r\n break;\r\n case 'convertEurojackpotGame':\r\n case 'editGame':\r\n case 'modifyGameReceipt':\r\n case 'terminateGameReceipt':\r\n case 'terminateSubscriptionReceipt':\r\n goTo[arg] = linkWithSubscriptionIdAndGameId(args[arg], args.subscriptionId);\r\n break;\r\n case 'changePaymentPlan':\r\n case 'gapPayment':\r\n case 'pauseGame':\r\n case 'resumePausedGame':\r\n case 'terminateGame':\r\n case 'terminateSubscription':\r\n goTo[arg] = linkWithSubscriptionId(args[arg], args.subscriptionId);\r\n break;\r\n case 'changeFunding':\r\n case 'changePayout':\r\n goTo[arg] = linkWithSubscriptionIdAndReturnUrl(args[arg], args.subscriptionId);\r\n break;\r\n default:\r\n goTo[arg] = linkWithSubscriptionId(args[arg], args.subscriptionId);\r\n }\r\n }\r\n }\r\n\r\n return goTo;\r\n };\r\n\r\n return GoTo;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGameAdd',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotApi',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/SaturdayLottoApi',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoApi',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, EurojackpotApi, SaturdayLottoApi, VikingLottoApi, Dictionary) {\r\n\r\n var ModifiedGameAdd = function (args) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/ModifyGame/' });\r\n var dButtonLabels = Dictionary.get.bind({ prefix: 'Plus/ButtonLabels/' });\r\n var newSelectedSystem = m.prop(args.selectedSystem());\r\n var modal = args.modal;\r\n var rowNumbers = args.numbers.classicRowNumbers;\r\n this.firstRowNumbers = args.firstRowNumbers;\r\n this.gameSettings = args.gameSettings;\r\n this.gameType = args.gameType;\r\n this.numbers = args.numbers;\r\n this.playSystems = args.playSystems;\r\n this.playType = args.playType;\r\n this.pricePerRow = args.pricePerRow;\r\n this.rows = args.rows;\r\n this.selectedAddRowNumbers = m.prop({});\r\n this.selectedSystem = args.selectedSystem;\r\n this.modifyClassicRowIndex = m.prop();\r\n\r\n this.getSelectedNumbers = function (type) {\r\n var numbers = rowNumbers()[type];\r\n if (!numbers || numbers.length === 0) return null;\r\n return numbers.filter(function (num) {\r\n return num.selected;\r\n });\r\n }.bind(this);\r\n\r\n this.clearSelectedNumbers = function () {\r\n var types = ['numbers', 'extraNumbers'];\r\n types.forEach(function (type) {\r\n var numbers = rowNumbers()[type];\r\n if (numbers && numbers.length > 0) {\r\n numbers.forEach(function (num) {\r\n num.selected = false;\r\n });\r\n }\r\n });\r\n this.updateModal();\r\n }.bind(this);\r\n\r\n this.autoFillNumbers = async () => {\r\n const numbers = rowNumbers().numbers;\r\n const extraNumbers = rowNumbers().extraNumbers;\r\n const selectedNumbers = numbers?.filter((num) => num.selected).map((obj) => obj.num);\r\n const selectedExtraNumbers = extraNumbers?.filter((num) => num.selected).map((obj) => obj.num);\r\n const system = newSelectedSystem()?.num;\r\n let randomNumbers;\r\n const options = {\r\n playType: this.playType,\r\n rowsToGenerate: 1,\r\n requiredNumbers: selectedNumbers,\r\n };\r\n\r\n if (this.playType === 'classic') {\r\n if (foundEnoughClassicNumbers()) return;\r\n }\r\n\r\n if (this.playType === 'system') {\r\n if (foundEnoughSystemNumbers()) return;\r\n options.system = system;\r\n }\r\n\r\n if (this.gameType === 'lotto') {\r\n randomNumbers = await SaturdayLottoApi.getRandomNumbers(options).then((res) => res).catch(() => false);\r\n\r\n if (randomNumbers?.length > 0) {\r\n this.clearSelectedNumbers();\r\n randomNumbers[0].forEach((num) => this.toggleNumber(numbers[num - 1], 'numbers'));\r\n }\r\n }\r\n\r\n if (this.gameType === 'vikinglotto') {\r\n options.requiredVikingNumber = selectedExtraNumbers || '';\r\n randomNumbers = await VikingLottoApi.getRandomNumbers(options).then((res) => res).catch(() => false);\r\n\r\n if (randomNumbers?.length > 0) {\r\n this.clearSelectedNumbers();\r\n randomNumbers[0].numbers.forEach((num) => this.toggleNumber(numbers[num - 1], 'numbers'));\r\n this.toggleNumber(extraNumbers[randomNumbers[0].vikingNumber - 1], 'extraNumbers');\r\n }\r\n }\r\n\r\n if (this.gameType === 'eurojackpot') {\r\n options.requiredStarNumbers = selectedExtraNumbers || '';\r\n options.gameVersionNo = 2;\r\n randomNumbers = await EurojackpotApi.getRandomNumbers(options).then((res) => res).catch(() => false);\r\n\r\n if (randomNumbers?.length > 0) {\r\n this.clearSelectedNumbers();\r\n randomNumbers[0].numbers.forEach((num) => this.toggleNumber(numbers[num - 1], 'numbers'));\r\n randomNumbers[0].starNumbers?.forEach((num) => this.toggleNumber(extraNumbers[num - 1], 'extraNumbers'));\r\n }\r\n }\r\n\r\n this.updateModal();\r\n };\r\n\r\n var updateClassicNumbers = function () {\r\n var selectedNumbers = this.getSelectedNumbers('numbers', rowNumbers());\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers', rowNumbers());\r\n var rowObj = {\r\n numbers: null,\r\n extraNumbers: null,\r\n pricePerRow: this.pricePerRow\r\n };\r\n\r\n rowObj.numbers = selectedNumbers.map(function (num) {\r\n return num.num;\r\n });\r\n\r\n if (selectedExtraNumbers && selectedExtraNumbers.length) {\r\n rowObj.extraNumbers = selectedExtraNumbers.map(function (num) {\r\n return num.num;\r\n });\r\n }\r\n\r\n var newRows = this.rows();\r\n\r\n if (this.modifyClassicRowIndex() >= 0) {\r\n newRows[this.modifyClassicRowIndex()] = rowObj;\r\n this.modifyClassicRowIndex(-1);\r\n } else {\r\n newRows.push(rowObj);\r\n }\r\n\r\n this.rows(newRows);\r\n }.bind(this);\r\n\r\n var updateLuckyNumbers = function () {\r\n var luckyNumbers = this.firstRowNumbers();\r\n var selectedNumbers = this.getSelectedNumbers('numbers', rowNumbers());\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers', rowNumbers());\r\n\r\n luckyNumbers.numbers = selectedNumbers.map(function (num) {\r\n return num.num;\r\n });\r\n\r\n if (selectedExtraNumbers && selectedExtraNumbers.length) {\r\n luckyNumbers.extraNumbers = selectedExtraNumbers.map(function (num) {\r\n return num.num;\r\n });\r\n } else {\r\n luckyNumbers.extraNumbers = null;\r\n }\r\n\r\n this.firstRowNumbers(luckyNumbers);\r\n }.bind(this);\r\n\r\n var updateSystemNumbers = function () {\r\n var systemNumbers = this.firstRowNumbers();\r\n var selectedNumbers = this.getSelectedNumbers('numbers', rowNumbers());\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers', rowNumbers());\r\n\r\n systemNumbers.numbers = selectedNumbers.map(function (num) {\r\n return num.num;\r\n });\r\n\r\n if (selectedExtraNumbers && selectedExtraNumbers.length) {\r\n systemNumbers.extraNumbers = selectedExtraNumbers.map(function (num) {\r\n return num.num;\r\n });\r\n } else {\r\n systemNumbers.extraNumbers = null;\r\n }\r\n\r\n this.firstRowNumbers(systemNumbers);\r\n this.selectedSystem(newSelectedSystem());\r\n\r\n this.playSystems = this.playSystems.map(function (playSystem) {\r\n playSystem.selected = playSystem === this.selectedSystem();\r\n return playSystem;\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n var foundEnoughClassicNumbers = function () {\r\n this.selectedAddRowNumbers({});\r\n var selectedNumbers = this.getSelectedNumbers('numbers', rowNumbers());\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers', rowNumbers());\r\n var foundAllNumbers = false;\r\n var foundAllExtraNumbers = false;\r\n\r\n if (rowNumbers().numbersRequired) {\r\n if (rowNumbers().numbersRequired === selectedNumbers.length) {\r\n foundAllNumbers = true;\r\n }\r\n } else {\r\n foundAllNumbers = true;\r\n }\r\n\r\n if (rowNumbers().extraNumbersRequired) {\r\n if (rowNumbers().extraNumbersRequired === selectedExtraNumbers.length) {\r\n foundAllExtraNumbers = true;\r\n }\r\n } else {\r\n foundAllExtraNumbers = true;\r\n }\r\n\r\n return foundAllNumbers && foundAllExtraNumbers;\r\n }.bind(this);\r\n\r\n var foundEnoughLuckyNumbers = function () {\r\n var selectedNumbers = this.getSelectedNumbers('numbers', rowNumbers());\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers', rowNumbers());\r\n var selectedNumbersLength = selectedNumbers.length ? selectedNumbers.length : 0;\r\n var selectedExtraNumbersLength = selectedExtraNumbers && selectedExtraNumbers.length ? selectedExtraNumbers.length : 0;\r\n var selectedLength = selectedNumbersLength + selectedExtraNumbersLength;\r\n return selectedLength > 0 && selectedLength <= rowNumbers().maxLuckyTotalNumbers;\r\n }.bind(this);\r\n\r\n var foundEnoughSystemNumbers = function () {\r\n var selectedNumbers = this.getSelectedNumbers('numbers', rowNumbers());\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers', rowNumbers());\r\n\r\n var foundAllNumbers = false;\r\n var foundAllExtraNumbers = false;\r\n\r\n if (newSelectedSystem().requiredNumbers) {\r\n if (newSelectedSystem().requiredNumbers === selectedNumbers.length) {\r\n foundAllNumbers = true;\r\n }\r\n } else {\r\n foundAllNumbers = true;\r\n }\r\n\r\n if (newSelectedSystem().requiredExtraNumbers) {\r\n if (newSelectedSystem().requiredExtraNumbers === selectedExtraNumbers.length) {\r\n foundAllExtraNumbers = true;\r\n }\r\n } else {\r\n foundAllExtraNumbers = true;\r\n }\r\n\r\n return foundAllNumbers && foundAllExtraNumbers;\r\n }.bind(this);\r\n\r\n this.enableAddRowButton = function () {\r\n if (this.playType === 'classic') return foundEnoughClassicNumbers();\r\n if (this.playType === 'lucky') return foundEnoughLuckyNumbers();\r\n if (this.playType === 'system') return foundEnoughSystemNumbers();\r\n }.bind(this);\r\n\r\n this.toggleNumber = function (num, type) {\r\n var toggled = !num.selected;\r\n var selectedNumbers = this.getSelectedNumbers('numbers');\r\n var selectedExtraNumbers = this.getSelectedNumbers('extraNumbers');\r\n\r\n if (toggled) {\r\n if (this.playType === 'classic' || this.playType === 'lucky') {\r\n if (type === 'numbers' && selectedNumbers.length >= rowNumbers().numbersRequired) return;\r\n if (type === 'extraNumbers' && selectedExtraNumbers.length >= rowNumbers().extraNumbersRequired) return;\r\n }\r\n\r\n if (this.playType === 'lucky') {\r\n var selectedTotal = selectedNumbers.length + (selectedExtraNumbers && selectedExtraNumbers.length ? selectedExtraNumbers.length : 0);\r\n var requiredTotal = rowNumbers().maxLuckyTotalNumbers;\r\n if (selectedTotal >= requiredTotal) return;\r\n }\r\n\r\n if (this.playType === 'system') {\r\n if (type === 'numbers' && selectedNumbers.length >= newSelectedSystem().requiredNumbers) return;\r\n if (type === 'extraNumbers' && selectedExtraNumbers.length >= newSelectedSystem().requiredExtraNumbers) return;\r\n }\r\n }\r\n\r\n num.selected = toggled;\r\n this.updateModal();\r\n }.bind(this);\r\n\r\n this.updateSystem = function (playSystem) {\r\n newSelectedSystem(playSystem);\r\n this.updateModal();\r\n }.bind(this);\r\n\r\n this.addClassicRow = function () {\r\n this.clearSelectedNumbers();\r\n this.modifyClassicRowIndex(-1);\r\n this.updateModal();\r\n }.bind(this);\r\n\r\n this.modifyClassicRow = function (rowIndex) {\r\n this.modifyClassicRowIndex(rowIndex);\r\n var row = this.rows()[rowIndex];\r\n\r\n if (rowNumbers().numbers && rowNumbers().numbers.length > 0) {\r\n rowNumbers().numbers.forEach(function (number) {\r\n number.selected = row.numbers.indexOf(number.num) > -1;\r\n }.bind(this));\r\n }\r\n\r\n if (rowNumbers().extraNumbers && rowNumbers().extraNumbers.length > 0) {\r\n rowNumbers().extraNumbers.forEach(function (extraNumber) {\r\n extraNumber.selected = row.extraNumbers.indexOf(extraNumber.num) > -1;\r\n }.bind(this));\r\n }\r\n\r\n this.updateModal();\r\n }.bind(this);\r\n\r\n this.updateModal = function () {\r\n var addRowButtonDisabled = m.prop(true);\r\n addRowButtonDisabled(!this.enableAddRowButton());\r\n\r\n var requiredNumbers = rowNumbers().numbersRequired;\r\n var requiredExtraNumbers = rowNumbers().extraNumbersRequired;\r\n\r\n if (this.playType === 'system') {\r\n requiredNumbers = newSelectedSystem().requiredNumbers;\r\n requiredExtraNumbers = newSelectedSystem().requiredExtraNumbers;\r\n }\r\n\r\n modal({\r\n modifiers: ['add-row', 'add-row-' + this.gameType, 'buttons-align-row'],\r\n content: m('.game-card-edit-classic-rows__select-numbers-wrapper', [\r\n m('.game-card-edit-classic-rows__select-numbers__title', {\r\n 'data-uitest-id': 'title'\r\n }, d('ModalEditClassicRowsText-' + this.gameType + '-' + this.playType, {\r\n requiredNumbers: requiredNumbers,\r\n requiredExtraNumbers: requiredExtraNumbers\r\n })),\r\n\r\n m('.game-card-edit-classic-rows__select-numbers', {\r\n class: 'game-card-edit-classic-rows__select-numbers--' + this.gameType\r\n }, [\r\n\r\n m('.game-card-edit-classic-rows__buttons', [\r\n this.playType === 'lucky' ? '' : m('.game-card-edit-classic-rows__button.game-card-edit-classic-rows__button--auto-fill',\r\n { onclick: this.autoFillNumbers },\r\n d('ModalEditClassicRowsText-auto-fill')),\r\n m('.game-card-edit-classic-rows__button.game-card-edit-classic-rows__button--clear-numbers',\r\n { onclick: this.clearSelectedNumbers },\r\n d('ModalEditClassicRowsText-clear-numbers')),\r\n ]),\r\n\r\n rowNumbers().extraNumbers && rowNumbers().extraNumbers.length > 0 ?\r\n m('.game-card-edit-classic-rows__extra-numbers', [\r\n rowNumbers().extraNumbers.map(function (num) {\r\n return m('.game-card-edit-classic-rows__extra-number', {\r\n class: num.selected ? 'game-card-edit-classic-rows__extra-number--selected' : '',\r\n onclick: this.toggleNumber.bind(null, num, 'extraNumbers'),\r\n }, num.num);\r\n }.bind(this))\r\n ]) : '',\r\n\r\n rowNumbers().numbers.length > 0 ?\r\n m('.game-card-edit-classic-rows__numbers', [\r\n rowNumbers().numbers.map(function (num) {\r\n return m('.game-card-edit-classic-rows__number', {\r\n class: num.selected ? 'game-card-edit-classic-rows__number--selected' : '',\r\n onclick: this.toggleNumber.bind(null, num, 'numbers'),\r\n }, num.num);\r\n }.bind(this))\r\n ]) : '',\r\n\r\n ]),\r\n\r\n m('.plus-modal__btns',\r\n [\r\n m('.plus-button.plus-button--secondary.plus-button--slim', {\r\n 'data-uitest-id': 'ctaSecondary',\r\n onclick: function () {\r\n modal(null);\r\n }\r\n }, dButtonLabels('Cancel')),\r\n\r\n m('.plus-button.plus-button--slim', {\r\n 'data-uitest-id': 'ctaPrimary',\r\n class: this.enableAddRowButton() ? '' : ' plus-button--disabled',\r\n onclick: function () {\r\n if (this.playType === 'lucky') updateLuckyNumbers();\r\n if (this.playType === 'system') updateSystemNumbers();\r\n\r\n if (this.playType === 'classic') {\r\n updateClassicNumbers();\r\n this.clearSelectedNumbers();\r\n }\r\n\r\n modal(null);\r\n }.bind(this)\r\n }, dButtonLabels('Add')),\r\n ]\r\n ),\r\n ]),\r\n hideLogo: true,\r\n modal: modal,\r\n });\r\n m.redraw();\r\n }.bind(this);\r\n\r\n };\r\n\r\n return ModifiedGameAdd;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGameDelete',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (Dictionary) {\r\n\r\n var ModifiedGameDelete = function (args) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/ModifyGame/' });\r\n this.rows = args.rows;\r\n this.modal = args.modal;\r\n this.numbers = args.numbers;\r\n\r\n this.deleteRow = function (deleteRow) {\r\n var rowLength = this.rows().length;\r\n if (rowLength <= this.numbers.requiredMinimumRows()) {\r\n this.modal({\r\n title: d('ModalMinimumRowsRequiredTitle'),\r\n text: d('ModalMinimumRowsRequiredText' + (rowLength > 1 ? 'Plural' : ''), { minimumRows: rowLength }),\r\n buttons: [{ dButtonLabel: 'Ok' }],\r\n modal: this.modal,\r\n });\r\n return;\r\n }\r\n\r\n var newRows = this.rows().filter(function (row) {\r\n return row !== deleteRow;\r\n });\r\n\r\n this.rows(newRows);\r\n }.bind(this);\r\n\r\n };\r\n\r\n return ModifiedGameDelete;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGameNumbers',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n\r\n var ModifiedGameNumbers = function (args) {\r\n var gameSettings = args.gameSettings;\r\n var gameType = args.gameType;\r\n var hasEurojackpotGameBeenConverted = args.hasEurojackpotGameBeenConverted;\r\n var firstRowNumbers = args.firstRowNumbers();\r\n var playSystems = args.playSystems;\r\n var playType = args.playType;\r\n var storedClassicRowNumbers = m.prop();\r\n var systemName = args.systemName;\r\n this.selectedSystem = args.selectedSystem;\r\n\r\n var makeArrayOfClassicRowNumbers = function (size) {\r\n var arr = [];\r\n for (var number = 1; number <= size; number++) {\r\n arr.push({\r\n num: number,\r\n selected: false,\r\n });\r\n }\r\n return arr;\r\n };\r\n\r\n var preSelectNumbers = function (type, numbers) {\r\n return numbers.map(function (number) {\r\n if (firstRowNumbers[type].indexOf(number.num) > -1) {\r\n number.selected = true;\r\n }\r\n return number;\r\n });\r\n }.bind(this);\r\n\r\n var makePlaySystemObj = function (playSystem, currentPlaySystem) {\r\n var requiredExtraNumbers;\r\n if (gameType === 'eurojackpot') requiredExtraNumbers = 2;\r\n if (gameType === 'vikinglotto') requiredExtraNumbers = 1;\r\n return {\r\n num: playSystem,\r\n selected: playSystem === currentPlaySystem,\r\n requiredNumbers: Number(playSystem.match(/[0-9]+/)[0]),\r\n requiredExtraNumbers: requiredExtraNumbers,\r\n rows: Number(playSystem.match(/[0-9]+$/)[0]),\r\n };\r\n };\r\n\r\n if (playType === 'system') {\r\n this.playSystems = function () {\r\n var currentPlaySystemFoundInPlaySystems = false;\r\n\r\n var excludedSystems = gameSettings[gameType].excludedSystems;\r\n if (excludedSystems) {\r\n excludedSystems = excludedSystems.split(',');\r\n playSystems = playSystems.filter(function (playSystem) {\r\n return excludedSystems.indexOf(playSystem) === -1;\r\n });\r\n }\r\n\r\n playSystems = playSystems.map(function (playSystem) {\r\n var playSystemObj = makePlaySystemObj(playSystem, systemName);\r\n\r\n if (playSystemObj.selected) {\r\n this.selectedSystem(playSystemObj);\r\n currentPlaySystemFoundInPlaySystems = true;\r\n }\r\n return playSystemObj;\r\n }.bind(this));\r\n\r\n if (!currentPlaySystemFoundInPlaySystems) {\r\n var playSystemObj = makePlaySystemObj(systemName, systemName);\r\n this.selectedSystem(playSystemObj);\r\n playSystems.unshift(playSystemObj);\r\n }\r\n\r\n return playSystems;\r\n }.bind(this)();\r\n }\r\n\r\n this.classicRowNumbers = function () {\r\n if (storedClassicRowNumbers()) return storedClassicRowNumbers();\r\n\r\n var numbers = makeArrayOfClassicRowNumbers(gameSettings[gameType].numbers);\r\n if (playType === 'lucky' || playType === 'system') numbers = preSelectNumbers('numbers', numbers);\r\n\r\n var extraNumbers = gameSettings[gameType].extraNumbers;\r\n\r\n if (hasEurojackpotGameBeenConverted && gameSettings[gameType].extraNumbersConverted) {\r\n extraNumbers = gameSettings[gameType].extraNumbersConverted;\r\n }\r\n\r\n if (extraNumbers) {\r\n extraNumbers = makeArrayOfClassicRowNumbers(extraNumbers);\r\n if (playType === 'lucky' || playType === 'system') extraNumbers = preSelectNumbers('extraNumbers', extraNumbers);\r\n }\r\n\r\n var numbersRequired = gameSettings[gameType].numbersRequired;\r\n var extraNumbersRequired = gameSettings[gameType].extraNumbersRequired || 0;\r\n\r\n storedClassicRowNumbers({\r\n numbers: numbers,\r\n extraNumbers: extraNumbers,\r\n numbersRequired: numbersRequired,\r\n extraNumbersRequired: extraNumbersRequired,\r\n maxLuckyNumbers: numbersRequired,\r\n maxLuckyExtraNumbers: extraNumbersRequired,\r\n maxLuckyTotalNumbers: (numbersRequired + extraNumbersRequired) - 1,\r\n });\r\n\r\n return storedClassicRowNumbers();\r\n }.bind(this);\r\n\r\n this.lightningRowNumbers = function (addNumber) {\r\n var lightningRowNumbers = gameSettings[gameType].rowChoices.split(',').filter(function (rowNumber) {\r\n return Number(rowNumber);\r\n }).map(function (rowNumber) {\r\n return Number(rowNumber);\r\n });\r\n if (addNumber && lightningRowNumbers.indexOf(addNumber) === -1) {\r\n lightningRowNumbers.push(addNumber);\r\n lightningRowNumbers = lightningRowNumbers.sort(function (a, b) {\r\n return a - b;\r\n });\r\n }\r\n return lightningRowNumbers;\r\n }.bind(this);\r\n\r\n this.requiredMinimumRows = function () {\r\n return this.lightningRowNumbers()[0];\r\n }.bind(this);\r\n\r\n };\r\n\r\n return ModifiedGameNumbers;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGameAdd',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGameDelete',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGameNumbers',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n ],\r\n function (m, Add, Delete, Numbers, Info) {\r\n\r\n var ModifiedGame = function (game, gameSettings, modal) {\r\n var clonedGame = JSON.parse(JSON.stringify(game));\r\n var playSystems = Info.getPlaySystems(clonedGame) || [];\r\n this.firstRowNumbers = m.prop(clonedGame.rows && clonedGame.rows[0]);\r\n this.gameType = Info.getGameType(clonedGame);\r\n this.playType = Info.getPlayType(clonedGame);\r\n this.pricePerRow = clonedGame.rows && clonedGame.rows[0] && clonedGame.rows[0].pricePerRow;\r\n this.rows = m.prop(clonedGame.rows);\r\n this.rowsToGenerate = m.prop(clonedGame.rowsToGenerate);\r\n this.selectedSystem = m.prop();\r\n this.systemName = clonedGame.systemName;\r\n this.withJokerSaturday = m.prop(clonedGame.withJokerSaturday);\r\n this.withJokerWednesday = m.prop(clonedGame.withJokerWednesday);\r\n this.withJokers = m.prop(clonedGame.withJokerWednesday && clonedGame.withJokerSaturday);\r\n this.drawDays = clonedGame.drawDays;\r\n\r\n this.numberOfRows = function () {\r\n var numberOfRows = this.rowsToGenerate();\r\n if (this.playType === 'classic') numberOfRows = this.rows().length;\r\n if (this.playType === 'system') numberOfRows = this.selectedSystem().rows;\r\n return numberOfRows;\r\n }.bind(this);\r\n\r\n this.changedDiff = function () {\r\n return {\r\n systemHasChanged: this.systemName && this.systemName !== clonedGame.systemName,\r\n rowNumbersHasChanged: JSON.stringify(game.rows) !== JSON.stringify(this.rows()),\r\n rowsHasIncreased: game.rowsToGenerate < this.rowsToGenerate(),\r\n rowsHasDecreased: game.rowsToGenerate > this.rowsToGenerate(),\r\n jokerSaturdayWasAdded: !game.withJokerSaturday && this.withJokerSaturday(),\r\n jokerSaturdayWasRemoved: game.withJokerSaturday && !this.withJokerSaturday(),\r\n jokerWednesdayWasAdded: !game.withJokerWednesday && this.withJokerWednesday(),\r\n jokerWednesdayWasRemoved: game.withJokerWednesday && !this.withJokerWednesday(),\r\n };\r\n }.bind(this);\r\n\r\n this.hasChanged = function () {\r\n if (game.rows && game.rows.length > 0 && game.rows[0].numbers) {\r\n game.rows[0].numbers = game.rows[0].numbers.sort(function (a, b) {\r\n return a - b;\r\n });\r\n }\r\n return (\r\n (this.firstRowNumbers() && JSON.stringify(game.rows[0]) !== JSON.stringify(this.firstRowNumbers()))\r\n || JSON.stringify(game.rows) !== JSON.stringify(this.rows())\r\n || game.rowsToGenerate !== this.rowsToGenerate()\r\n || !!game.withJokerSaturday !== !!this.withJokerSaturday()\r\n || !!game.withJokerWednesday !== !!this.withJokerWednesday()\r\n );\r\n };\r\n\r\n this.game = function () {\r\n clonedGame.rows = this.rows();\r\n clonedGame.rowsToGenerate = this.rowsToGenerate();\r\n clonedGame.withJokerSaturday = this.withJokerSaturday();\r\n clonedGame.withJokerWednesday = this.withJokerWednesday();\r\n clonedGame.systemName = this.selectedSystem() && this.selectedSystem().num;\r\n if (this.playType === 'lucky' || this.playType === 'system') clonedGame.rows = [this.firstRowNumbers()];\r\n if (this.gameType === 'keno') {\r\n clonedGame.playType = 'Lightning';\r\n clonedGame.numberOfNumbersPerRow = gameSettings.keno.numberOfNumbersPerRow || 9;\r\n }\r\n return clonedGame;\r\n };\r\n\r\n this.numbers = new Numbers({\r\n hasEurojackpotGameBeenConverted: Info.hasEurojackpotGameBeenConverted(game),\r\n firstRowNumbers: this.firstRowNumbers,\r\n gameSettings: gameSettings,\r\n gameType: this.gameType,\r\n playSystems: playSystems,\r\n playType: this.playType,\r\n systemName: this.systemName,\r\n selectedSystem: this.selectedSystem,\r\n });\r\n\r\n this.add = new Add({\r\n firstRowNumbers: this.firstRowNumbers,\r\n gameSettings: gameSettings,\r\n gameType: this.gameType,\r\n modal: modal,\r\n numbers: this.numbers,\r\n playSystems: this.numbers.playSystems,\r\n playType: this.playType,\r\n rows: this.rows,\r\n pricePerRow: this.pricePerRow,\r\n selectedSystem: this.selectedSystem,\r\n });\r\n\r\n this.delete = new Delete({\r\n modal: modal,\r\n numbers: this.numbers,\r\n rows: this.rows,\r\n });\r\n\r\n };\r\n\r\n return ModifiedGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GameDetails',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Plus/Price',\r\n ],\r\n function (Info, Utils, Price) {\r\n\r\n var GameDetails = function (args) {\r\n var prices;\r\n var subscription = args.subscription;\r\n var d = args.d;\r\n var pauseInfo = args.template.pauseInfo;\r\n\r\n return function (args) {\r\n var game = args.game;\r\n var editGame = args.editGame;\r\n var editGameLink = args.editGameLink;\r\n var convertEurojackpotGameLink = args.convertEurojackpotGameLink;\r\n var editGameChangeDate = args.editGameChangeDate;\r\n var shouldShowEditOption = args.shouldShowEditOption;\r\n var convertEurojackpot = args.convertEurojackpot;\r\n var pricePerWeekFormatted = args.pricePerWeekFormatted;\r\n var shouldShowTerminateOption = args.shouldShowTerminateOption;\r\n var terminateGameFn = args.terminateGameFn;\r\n var modifiableGames = args.modifiableGames;\r\n var gameType = Info.getGameType(game);\r\n var playType = Info.getPlayType(game);\r\n var showConvertEurojackpotConversionDate = args.showConvertEurojackpotConversionDate;\r\n var showTemplateEffectiveDate = args.showTemplateEffectiveDate;\r\n\r\n var canGameBeEditedOnConvertPage = function () {\r\n\r\n // if we're not in the eurojackpot convert flow, we don't block editing of any game.\r\n if (!convertEurojackpot) return true;\r\n\r\n // if we are in the eurojackpot convert flow, we block editing of any non-eurojackpot game.\r\n if (convertEurojackpot && gameType !== 'eurojackpot') return false;\r\n\r\n // if we have already converted the eurojackpot game, we disable re-editing.\r\n if (game.gameChangedReason === 'converted') return false;\r\n\r\n // game can be converted.\r\n return true;\r\n };\r\n\r\n var canEurojackpotGameBeConverted = function () {\r\n var templateGame = subscription.getTemplateGame(game.id);\r\n if (\r\n gameType === 'eurojackpot'\r\n && templateGame\r\n && templateGame.canBeConverted\r\n && templateGame.drawDays\r\n && !templateGame.drawDays[1]\r\n ) return true;\r\n };\r\n\r\n var canGameBeChanged = function () {\r\n return (\r\n shouldShowEditOption\r\n && modifiableGames.sitecoreAllowsGameModifications(gameType, playType, subscription)\r\n && (editGameLink || convertEurojackpotGameLink)\r\n && gameChangedReason() !== 'deleted'\r\n && !subscription.templateIsOnHold()\r\n && !subscription.currentPeriodHasFundingFailed()\r\n && !subscription.nextPeriodHasFundingFailed()\r\n && canGameBeEditedOnConvertPage()\r\n );\r\n };\r\n\r\n var canGameBeTerminated = function () {\r\n return (\r\n shouldShowTerminateOption\r\n && modifiableGames.sitecoreAllowsGameDeletion(gameType, playType, subscription)\r\n && terminateGameFn\r\n && subscription.canTerminateSubscription()\r\n && gameChangedReason() !== 'deleted'\r\n );\r\n };\r\n\r\n var showEditClassicRows = function () {\r\n return editGame && playType === 'classic';\r\n };\r\n\r\n var showEditJokers = function () {\r\n return editGame && !(gameType === 'allornothing' || gameType === 'keno');\r\n };\r\n\r\n var showEditRows = function () {\r\n return editGame && (playType === 'lightning' || playType === 'million');\r\n };\r\n\r\n var showEditOptions = function () {\r\n return showEditJokers() || showEditRows() || showEditClassicRows();\r\n };\r\n\r\n var showEditLuckyNumbers = function () {\r\n return editGame && playType === 'lucky';\r\n };\r\n\r\n var showEditSystem = function () {\r\n return editGame && playType === 'system';\r\n };\r\n\r\n var nextDrawLabel = function () {\r\n if (showEditOptions()) return d('GameCard/NextDrawLabelEffectiveFrom');\r\n if (subscription.isJackpot()) return d('GameCard/NextDrawLabel');\r\n if (subscription.paymentPlanHasNotStarted()) return d('GameCard/NextDrawLabelFirstPossibleDraw');\r\n if (subscription.isInActive() || showConvertEurojackpotConversionDate || showTemplateEffectiveDate) return d('GameCard/NextDrawLabelInActive');\r\n return d('GameCard/NextDrawLabel');\r\n };\r\n\r\n var getJackpotNextDrawValue = function (game) {\r\n var triggerValue = game.addOnTriggerValue;\r\n if (triggerValue > 1000000) triggerValue = triggerValue / 1000000;\r\n if (triggerValue) return d('GameCard/NextDrawValueJackpotWithTrigger', { trigger: Utils.formatCurrency(triggerValue) });\r\n return d('GameCard/NextDrawValueJackpotWithoutTrigger');\r\n };\r\n\r\n var nextDrawValue = function () {\r\n\r\n // For the Eurojackpot conversion page.\r\n if (!subscription.isJackpot() && (showTemplateEffectiveDate || showConvertEurojackpotConversionDate)) {\r\n var firstDrawAfterConversion;\r\n var lastInstanceGame = subscription.getLastInstanceGame(game.id);\r\n\r\n if (lastInstanceGame) {\r\n firstDrawAfterConversion = Info.getFirstDrawingTimeAfterDate(game, lastInstanceGame.lastDrawDate);\r\n } else {\r\n var gapFundingInstance = subscription.gapFundingInstance();\r\n if (gapFundingInstance) {\r\n firstDrawAfterConversion = Info.getFirstDrawingTimeAfterDate(game, gapFundingInstance.endDate);\r\n }\r\n if (!firstDrawAfterConversion) firstDrawAfterConversion = subscription.effectiveDate();\r\n firstDrawAfterConversion = Info.getFirstDrawingTimeOnOrAfterDate(game, firstDrawAfterConversion);\r\n }\r\n\r\n firstDrawAfterConversion = Utils.getDayDateAndMonth(firstDrawAfterConversion);\r\n editGameChangeDate && editGameChangeDate(firstDrawAfterConversion);\r\n return firstDrawAfterConversion;\r\n }\r\n\r\n if ((showEditOptions() && !subscription.isTerminated())) {\r\n var date = subscription.getEffectiveFromDate(game);\r\n\r\n if (subscription.isJackpot()) {\r\n date = getJackpotNextDrawValue(game);\r\n date = date.charAt(0).toLowerCase() + date.slice(1);\r\n }\r\n\r\n editGameChangeDate && editGameChangeDate(date);\r\n return date;\r\n }\r\n\r\n if (subscription.isTerminated()) {\r\n return d('GameCard/NextDrawValueTerminated');\r\n }\r\n\r\n if (subscription.isJackpot()) {\r\n return getJackpotNextDrawValue(game);\r\n }\r\n\r\n if (subscription.isInActive()) {\r\n if (subscription.sgInstances() && subscription.sgInstances().length > 0) {\r\n var firstDrawDate = Info.getFirstDrawingTimeOnOrAfterDate(game, subscription.firstDrawDate(subscription.sgInstances()[0]));\r\n return Utils.getDayDateAndMonth(firstDrawDate);\r\n }\r\n var firstAvailableDrawingTime = Info.getFirstDrawingTimeOnOrAfterDate(game, subscription.unpauseDate() ?? subscription.templateChangesValidFrom());\r\n return Utils.getDayDateAndMonth(firstAvailableDrawingTime);\r\n }\r\n\r\n if (hasGameExpired()) {\r\n return d('GameCard/NextDrawValueExpired');\r\n }\r\n\r\n // collect sgInstances for this game\r\n var sgInstances = subscription.sgInstances();\r\n var gameInstances = [];\r\n for (var i = 0; i < sgInstances.length; i++) {\r\n var drawGames = sgInstances[i].drawGames;\r\n for (var j = 0; j < drawGames.length; j++) {\r\n if (drawGames[j].templateId === game.templateId) {\r\n gameInstances.push(drawGames[j]);\r\n }\r\n }\r\n }\r\n if (Info.isDrawingDateToday(gameType, gameInstances)) {\r\n return d('GameCard/NextDrawValueSameDay', { timeStamp: Utils.getTimeStamp(Info.getDrawingTimeByGame(gameType, gameInstances)) });\r\n }\r\n\r\n return Utils.getDayDateAndMonth(Info.getDrawingTimeByGame(gameType, gameInstances));\r\n };\r\n\r\n var getPrices = function () {\r\n prices = {\r\n rowPrice: typeof Price.getPrice(gameType) === 'number' && Price.getPrice(gameType),\r\n jokerPrice: typeof Price.getPrice('joker') === 'number' && Price.getPrice('joker'),\r\n rowPriceFormatted: Price.getPriceFormatted(gameType),\r\n jokerPriceFormatted: Price.getPriceFormatted('joker'),\r\n };\r\n return prices;\r\n };\r\n\r\n var editJokerPrice = function () {\r\n return '(1 joker = ' + getPrices().jokerPriceFormatted + ')';\r\n };\r\n\r\n var editRowsPrice = function () {\r\n return '(1 række = ' + getPrices().rowPriceFormatted + ')';\r\n };\r\n\r\n var rowsPrice = function () {\r\n return getPrices().rowPrice;\r\n };\r\n\r\n var rowsAndPriceLabel = function () {\r\n var numberOfRows = game.rowCount;\r\n if (editGame) numberOfRows = game.modified.numberOfRows();\r\n var rowPriceFormatted = getPrices().rowPriceFormatted;\r\n\r\n if (gameType === 'keno') {\r\n var kenoRowPrice = game.costPerDraw / game.rowCount;\r\n if (playType === 'lightning' && game.templateId) kenoRowPrice /= 100;\r\n rowPriceFormatted = Utils.formatCurrency(kenoRowPrice);\r\n }\r\n\r\n if (gameType === 'eurojackpot') {\r\n var isConverted = Info.hasEurojackpotGameBeenConverted(game);\r\n var eurojackpotTuesdayLabel = '';\r\n var eurojackpotFridayLabel = '';\r\n\r\n if (numberOfRows === 1) {\r\n if (playType === 'system') {\r\n eurojackpotTuesdayLabel = d('GameCard/RowsSystemEurojackpotTuesday');\r\n eurojackpotFridayLabel = d('GameCard/RowsSystemEurojackpotFriday');\r\n } else {\r\n eurojackpotTuesdayLabel = d('GameCard/RowsSingleEurojackpotTuesday', { rowCount: numberOfRows });\r\n eurojackpotFridayLabel = d('GameCard/RowsSingleEurojackpotFriday', { rowCount: numberOfRows });\r\n }\r\n } else {\r\n eurojackpotTuesdayLabel = d('GameCard/RowsSeveralEurojackpotTuesday', { rowCount: numberOfRows });\r\n eurojackpotFridayLabel = d('GameCard/RowsSeveralEurojackpotFriday', { rowCount: numberOfRows });\r\n }\r\n\r\n if (!rowPriceFormatted) return isConverted\r\n ? [eurojackpotTuesdayLabel, eurojackpotFridayLabel]\r\n : [eurojackpotFridayLabel];\r\n const rowPriceLabel = d('GameCard/RowPrice', { rowPrice: rowPriceFormatted });\r\n return isConverted\r\n ? [eurojackpotTuesdayLabel + rowPriceLabel, eurojackpotFridayLabel + rowPriceLabel]\r\n : [eurojackpotFridayLabel + rowPriceLabel];\r\n }\r\n\r\n var label = '';\r\n if (numberOfRows === 1) {\r\n if (playType === 'system') {\r\n label = d('GameCard/RowsSystem');\r\n } else {\r\n label = d('GameCard/RowsSingle', { rowCount: numberOfRows });\r\n }\r\n } else {\r\n label = d('GameCard/RowsSeveral', { rowCount: numberOfRows });\r\n }\r\n\r\n if (!rowPriceFormatted) return [label];\r\n const rowPriceLabel = d('GameCard/RowPrice', { rowPrice: rowPriceFormatted });\r\n return [label + rowPriceLabel];\r\n };\r\n\r\n var pricePerWeek = function () {\r\n var totalCostPerWeek = game.totalCostPerWeek / 100;\r\n if (editGame) {\r\n var numberOfRows = game.modified.numberOfRows();\r\n totalCostPerWeek = numberOfRows * getPrices().rowPrice;\r\n if (gameType === 'keno') totalCostPerWeek = numberOfRows * (game.costPerDraw / game.rowCount);\r\n if (gameType === 'keno' || gameType === 'allornothing') totalCostPerWeek *= 7;\r\n\r\n if (Info.hasEurojackpotGameBeenConverted(game)) {\r\n totalCostPerWeek *= 2;\r\n }\r\n\r\n if (game.modified.withJokerWednesday()) totalCostPerWeek += getPrices().jokerPrice;\r\n if (game.modified.withJokerSaturday()) totalCostPerWeek += getPrices().jokerPrice;\r\n }\r\n if (!totalCostPerWeek) return;\r\n var formattedPrice = Utils.formatCurrency(totalCostPerWeek);\r\n if (pricePerWeekFormatted) pricePerWeekFormatted(formattedPrice);\r\n return formattedPrice;\r\n };\r\n\r\n var hasGameExpired = function () {\r\n if (subscription.isArchived()) {\r\n var drawDate = new Date(game.lastDrawDate);\r\n var serverTime = Info.getServerTime();\r\n return drawDate.getTime() < serverTime.getTime();\r\n }\r\n };\r\n\r\n var jokerLabel = function () {\r\n var hasJokerSaturday = game.withJokerSaturday;\r\n var hasJokerWednesday = game.withJokerWednesday;\r\n if (editGame) {\r\n hasJokerSaturday = game.modified.withJokerSaturday();\r\n hasJokerWednesday = game.modified.withJokerWednesday();\r\n }\r\n if (hasJokerSaturday && hasJokerWednesday) return d('GameCard/JokerWednesdayAndSaturday');\r\n if (hasJokerSaturday) return d('GameCard/JokerSaturday');\r\n if (hasJokerWednesday) return d('GameCard/JokerWednesday');\r\n };\r\n\r\n var jokerLabelTerminated = function (game, day) {\r\n var hasJokerSaturday = game.withJokerSaturday;\r\n var hasJokerWednesday = game.withJokerWednesday;\r\n if (editGame) {\r\n hasJokerSaturday = game.modified.withJokerSaturday();\r\n hasJokerWednesday = game.modified.withJokerWednesday();\r\n }\r\n\r\n if (day === 'tirsdag' && hasJokerWednesday) return d('GameCard/TerminatedSubscriptions/JokerWednesday');\r\n if (day === 'fredag' && hasJokerSaturday) return d('GameCard/TerminatedSubscriptions/JokerSaturday');\r\n\r\n if (hasJokerSaturday && hasJokerWednesday) return d('GameCard/TerminatedSubscriptions/JokerWednesdayAndSaturday');\r\n if (hasJokerSaturday) return d('GameCard/TerminatedSubscriptions/JokerSaturday');\r\n if (hasJokerWednesday) return d('GameCard/TerminatedSubscriptions/JokerWednesday');\r\n };\r\n\r\n var gameTypeLabel = function () {\r\n var systemName = game.modified && game.modified.selectedSystem() && game.modified.selectedSystem().num;\r\n systemName = systemName || game.systemName || '';\r\n return (subscription.isJackpot() ? d('GameTypes/Jackpot') + ' ' : '') + d('GameTypes/' + Utils.capitalize(gameType) + Utils.capitalize(playType), { systemName: Utils.capitalize(systemName) || '' });\r\n };\r\n\r\n var gameChangedReason = function () {\r\n var reason = game.gameChangedReason;\r\n if (reason === 'deleted') return reason;\r\n if (!subscription.canTerminateSubscription()) reason = 'subscriptionTerminated';\r\n if (subscription.templateState() === 'onhold') reason = 'pause';\r\n return reason;\r\n };\r\n\r\n const gameLastInstanceEndDate = () => {\r\n const allInstances = subscription.instances();\r\n\r\n // Get all instances containing this game,\r\n // where the instance start date is greater than the game last draw date.\r\n const instancesWithGame = allInstances\r\n .filter((instance) => instance.drawGames.some((drawGame) => drawGame.templateId === game.templateId))\r\n .filter((instance) => instance.startDate > game.lastDrawDate);\r\n\r\n if (instancesWithGame.length) {\r\n const lastInstance = instancesWithGame[instancesWithGame.length - 1];\r\n const lastInstanceGame = lastInstance.drawGames\r\n .filter((lastGame) => lastGame.templateId === game.templateId)[0];\r\n\r\n // Games like Keno sometimes don't have a lastDrawDate, so we'll settle for the endDate.\r\n return lastInstanceGame.lastDrawDate ?? lastInstance.endDate;\r\n }\r\n\r\n // Looks like the game has been deleted from the next instance,\r\n // so the last draw date is the one the game already knows about.\r\n if (!instancesWithGame.length) {\r\n return game.lastDrawDate;\r\n }\r\n };\r\n\r\n var gameChangedReasonLabel = function () {\r\n var reason = gameChangedReason();\r\n if (reason === 'pause' && pauseInfo?.pauseStatus === 'UpcomingPause') {\r\n return d('GameCard/GamePauseUpComing', {\r\n pauseStart: Utils.getDayDateAndMonth(pauseInfo.upcomingPauseDate),\r\n pauseEnd: Utils.getDayDateAndMonth(pauseInfo.unpauseDate)\r\n });\r\n }\r\n if (reason === 'pause') return d('GameCard/GamePauseOnGoing', { pauseEnd: Utils.getDayDateAndMonth(pauseInfo.unpauseDate) });\r\n if (reason === 'converted') return d('GameCard/GameHasBeenConverted');\r\n if (reason === 'modified') return d('GameCard/GameChangedFromDate', { date: Utils.getDayDateAndMonth(game.gameChangedDate) });\r\n if (reason === 'deleted') {\r\n if (!game.gameChangedDate) return d('GameCard/GameDeletedAfterUnknownDate');\r\n return d('GameCard/GameDeletedAfterDate', { date: Utils.getDayDateAndMonth(game.gameChangedDate) });\r\n }\r\n if (reason === 'subscriptionTerminated') {\r\n var lastInstanceEndDate = gameLastInstanceEndDate();\r\n if (lastInstanceEndDate) return d('GameCard/GameLastDrawDate', { date: Utils.getDayDateAndMonth(lastInstanceEndDate) });\r\n if (!lastInstanceEndDate) return d('GameCard/GameLastDrawDateTerminated');\r\n }\r\n };\r\n\r\n return {\r\n canEurojackpotGameBeConverted: canEurojackpotGameBeConverted,\r\n canGameBeChanged: canGameBeChanged,\r\n canGameBeTerminated: canGameBeTerminated,\r\n editJokerPrice: editJokerPrice,\r\n editRowsPrice: editRowsPrice,\r\n gameChangedReason: gameChangedReason,\r\n gameChangedReasonLabel: gameChangedReasonLabel,\r\n gameType: gameType,\r\n gameTypeLabel: gameTypeLabel,\r\n hasGameExpired: hasGameExpired,\r\n jokerLabel: jokerLabel,\r\n jokerLabelTerminated: jokerLabelTerminated,\r\n nextDrawLabel: nextDrawLabel,\r\n nextDrawValue: nextDrawValue,\r\n playType: playType,\r\n pricePerWeek: pricePerWeek,\r\n rowsAndPriceLabel: rowsAndPriceLabel,\r\n rowsPrice: rowsPrice,\r\n showEditClassicRows: showEditClassicRows,\r\n showEditJokers: showEditJokers,\r\n showEditLuckyNumbers: showEditLuckyNumbers,\r\n showEditOptions: showEditOptions,\r\n showEditRows: showEditRows,\r\n showEditSystem: showEditSystem,\r\n };\r\n };\r\n\r\n };\r\n\r\n return GameDetails;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Games',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GameDetails',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiedGame',\r\n ],\r\n function (m, Info, Utils, GameDetails, ModifiedGame) {\r\n\r\n var Games = function (args) {\r\n var template = args.template;\r\n var sgInstances = args.instances;\r\n var allInstances = args.allInstances;\r\n var convertEurojackpot = args.convertEurojackpot;\r\n var gameSettings = args.gameSettings;\r\n var modal = args.modal;\r\n var subscription = args.subscription;\r\n var d = args.d;\r\n\r\n var fixPropertiesOnTemplateGames = function (games) {\r\n games.forEach(function (game) {\r\n var gameType = Info.getGameType(game);\r\n var playType = Info.getPlayType(game);\r\n game.rowCount = (playType === 'lightning' || playType === 'lucky') ? game.rowsToGenerate : game.rows.length;\r\n game.totalCostPerWeek = game.costPerDraw * 100;\r\n if (gameType === 'allornothing' || gameType === 'keno') game.totalCostPerWeek *= 7;\r\n if (playType === 'kenomillion') game.playType = 'Million';\r\n\r\n if (Info.hasEurojackpotGameBeenConverted(game)) {\r\n game.totalCostPerWeek *= 2;\r\n }\r\n\r\n });\r\n return games;\r\n };\r\n\r\n template.games = fixPropertiesOnTemplateGames(template.games);\r\n\r\n var areRowsTheSame = function (game1, game2) {\r\n var game1GameType = Info.getGameType(game1);\r\n var game1PlayType = Info.getPlayType(game1);\r\n if (game1GameType === 'keno') return true;\r\n var isGame1RowsEmpty = false;\r\n var isGame2RowsEmpty = false;\r\n if (!game1.rows || (game1.rows && game1.rows.length === 0)) isGame1RowsEmpty = true;\r\n if (!game2.rows || (game2.rows && game2.rows.length === 0)) isGame2RowsEmpty = true;\r\n if (isGame1RowsEmpty && isGame2RowsEmpty) return true;\r\n if (isGame1RowsEmpty !== isGame2RowsEmpty) return false;\r\n if (!isGame1RowsEmpty && !isGame2RowsEmpty) {\r\n if (game1PlayType === 'lucky') return JSON.stringify(game1.rows[0]) === JSON.stringify(game2.rows[0]);\r\n if (game1PlayType === 'classic') return JSON.stringify(game1.rows) === JSON.stringify(game2.rows);\r\n if (game1PlayType === 'system') return JSON.stringify(game1.rows) === JSON.stringify(game2.rows);\r\n // fallback\r\n return JSON.stringify(game1.rows) === JSON.stringify(game2.rows);\r\n }\r\n };\r\n\r\n var hasGameChanged = function (game1, game2) {\r\n var game1GameType = Info.getGameType(game1);\r\n var game2GameType = Info.getGameType(game2);\r\n var game1PlayType = Info.getPlayType(game1);\r\n var game2PlayType = Info.getPlayType(game2);\r\n var hasGameSameProperties = (\r\n game1GameType === game2GameType\r\n && game1PlayType === game2PlayType\r\n && game1.rowCount === game2.rowCount\r\n && !!game1.withJokerSaturday === !!game2.withJokerSaturday\r\n && !!game1.withJokerWednesday === !!game2.withJokerWednesday\r\n && game1.systemName === game2.systemName\r\n && areRowsTheSame(game1, game2)\r\n && JSON.stringify(game1.drawDays) === JSON.stringify(game2.drawDays)\r\n );\r\n return !hasGameSameProperties;\r\n };\r\n\r\n var checkIfInstanceGameHasChanged = function (currentInstance, activeGames) {\r\n var nextInstances = allInstances.filter(function (instance) {\r\n return instance !== currentInstance && instance.startDate > currentInstance.startDate;\r\n });\r\n\r\n activeGames.forEach(function (activeGame) {\r\n nextInstances.forEach(function (nextInstance) {\r\n if (activeGame.gameChangedReason) return;\r\n var nextGames = nextInstance.drawGames;\r\n\r\n var nextGame = nextGames.filter(function (nextGame) {\r\n return nextGame.templateId === activeGame.templateId;\r\n })[0];\r\n\r\n if (!nextGame) {\r\n activeGame.gameChangedReason = 'deleted';\r\n var lastInstanceGame = getLastInstanceGame(activeGame.templateId);\r\n activeGame.gameChangedDate = lastInstanceGame?.lastDrawDate;\r\n }\r\n\r\n if (nextGame && !activeGame.gameChangedReason && hasGameChanged(activeGame, nextGame)) {\r\n activeGame.gameChangedReason = 'modified';\r\n if (nextGame.firstDrawDate) {\r\n activeGame.gameChangedDate = nextGame.firstDrawDate;\r\n } else {\r\n // Games like Keno sometimes don't have a firstDrawDate, so we'll settle for the startDate.\r\n activeGame.gameChangedDate = Info.getFirstDrawingTimeOnOrAfterDate(nextGame, nextInstance.startDate);\r\n }\r\n }\r\n });\r\n });\r\n\r\n return activeGames;\r\n };\r\n\r\n var markEurojackpotGamesAsConverted = function (activeGames) {\r\n activeGames.forEach(function (activeGame) {\r\n var templateGame = getTemplateGame(activeGame.id);\r\n var eurojackpotGameBeenConverted = Info.hasEurojackpotGameBeenConverted(templateGame);\r\n var gameIsMarkedAsDeleted = activeGame.gameChangedReason && activeGame.gameChangedReason === 'deleted';\r\n\r\n if (eurojackpotGameBeenConverted && !gameIsMarkedAsDeleted) {\r\n // Eurojackpot game has been converted, and is not already marked as deleted, so we mark it as converted.\r\n activeGame.gameChangedReason = 'converted';\r\n }\r\n });\r\n };\r\n\r\n var getActiveGames = function () {\r\n var activeGames;\r\n\r\n if (sgInstances && sgInstances.length > 0) {\r\n var currentInstance;\r\n var activeAndCommittedInstances = sgInstances;\r\n\r\n if (activeAndCommittedInstances.length >= 1) {\r\n // sometimes we have two instances from SG, eg. after an ad-hoc funding.\r\n var activeInstances = activeAndCommittedInstances.filter(function (instance) {\r\n return instance.isActive;\r\n });\r\n\r\n // we select the active or the first. gap funded instances are not active until the day after.\r\n if (activeInstances.length > 0) currentInstance = activeInstances[0];\r\n if (activeInstances.length === 0) currentInstance = activeAndCommittedInstances[0];\r\n }\r\n\r\n if (currentInstance) {\r\n activeGames = currentInstance.drawGames;\r\n }\r\n\r\n if (activeGames) {\r\n activeGames = checkIfInstanceGameHasChanged(currentInstance, activeGames);\r\n }\r\n }\r\n\r\n if (!activeGames) {\r\n activeGames = template.games;\r\n }\r\n\r\n // If we're on the Convert page, mark those Eurojackpot games that have already been converted.\r\n if (convertEurojackpot) markEurojackpotGamesAsConverted(activeGames);\r\n\r\n return activeGames;\r\n };\r\n\r\n var setGameProperties = function (game, properties) {\r\n Object.keys(properties).forEach(function (key) {\r\n game[key] = properties[key];\r\n });\r\n };\r\n\r\n var getTemplateGame = function (gameId, setProperties) {\r\n // check if gameId is in templates.\r\n var game = template.games.filter(function (templateGame) {\r\n return templateGame.id === gameId;\r\n })[0];\r\n\r\n if (game) {\r\n if (setProperties) setGameProperties(game, setProperties);\r\n if (gameSettings && modal) game.modified = new ModifiedGame(game, gameSettings, modal);\r\n return game;\r\n }\r\n\r\n // gameId belongs to an instance, let's find its templateId.\r\n sgInstances.forEach(function (instance) {\r\n instance.drawGames.forEach(function (drawGame) {\r\n if (drawGame.id === gameId) game = drawGame;\r\n });\r\n });\r\n\r\n if (game) {\r\n var templateGameId = game.templateId;\r\n game = template.games.filter(function (templateGame) {\r\n return templateGame.id === templateGameId;\r\n })[0];\r\n }\r\n\r\n if (game) {\r\n if (setProperties) setGameProperties(game, setProperties);\r\n if (gameSettings && modal) game.modified = new ModifiedGame(game, gameSettings, modal);\r\n return game;\r\n }\r\n };\r\n\r\n var getLastDrawDateInstanceGame = function (gameId) {\r\n var game;\r\n\r\n allInstances.forEach(function (instance) {\r\n instance.drawGames.forEach(function (drawGame) {\r\n if (drawGame.id === gameId) game = drawGame;\r\n });\r\n });\r\n\r\n if (game) {\r\n var lastInstanceGame = getLastInstanceGame(game.templateId);\r\n if (lastInstanceGame) {\r\n return lastInstanceGame.lastDrawDate;\r\n }\r\n }\r\n };\r\n\r\n var getLastInstanceGame = function (templateGameId) {\r\n if (sgInstances && sgInstances.length > 0) {\r\n let instancesWithGame = sgInstances.filter(function (instance) {\r\n return instance.drawGames.filter(function (drawGame) {\r\n return drawGame.templateId === templateGameId;\r\n }).length > 0;\r\n });\r\n var lastInstance = instancesWithGame[instancesWithGame.length - 1];\r\n var game = lastInstance.drawGames.filter(function (drawGame) {\r\n return drawGame.templateId === templateGameId;\r\n });\r\n return game[0];\r\n }\r\n };\r\n\r\n var getEffectiveFromDate = function (game) {\r\n var date;\r\n var templateChangesValidFrom = subscription.templateChangesValidFrom();\r\n var lastInstanceGame = getLastInstanceGame(game.id);\r\n\r\n if (templateChangesValidFrom) {\r\n date = Info.getFirstDrawingTimeOnOrAfterDate(game, templateChangesValidFrom);\r\n } else if (lastInstanceGame) {\r\n date = Info.getFirstDrawingTimeAfterDate(game, lastInstanceGame.lastDrawDate);\r\n } else {\r\n // No date means that SG did not yet create any instances (a new subscription). We can then use the effectiveDate.\r\n date = Info.getFirstDrawingTimeOnOrAfterDate(game, template.effectiveDate);\r\n }\r\n\r\n date = Utils.getDayDateAndMonth(date);\r\n return date;\r\n };\r\n\r\n var gameDetails = function () {\r\n return new GameDetails({\r\n instances: sgInstances,\r\n template: template,\r\n convertEurojackpot: convertEurojackpot,\r\n gameSettings: gameSettings,\r\n modal: modal,\r\n subscription: subscription,\r\n d: d,\r\n });\r\n };\r\n\r\n return {\r\n activeGames: m.prop(getActiveGames()),\r\n gameDetails: gameDetails(),\r\n getEffectiveFromDate: getEffectiveFromDate,\r\n getLastDrawDateInstanceGame: getLastDrawDateInstanceGame,\r\n getLastInstanceGame: getLastInstanceGame,\r\n getTemplateGame: getTemplateGame,\r\n };\r\n\r\n };\r\n\r\n return Games;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiableGames',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n ],\r\n function (Utils, Info) {\r\n\r\n var ModifiableGames = function () {\r\n var dsPlus = window.DS && window.DS.Plus;\r\n var dsPlusDisabled = window.DS && window.DS.PlusDisabled;\r\n\r\n var hasEurojackpotSpecificDisabledItems = function () {\r\n if (!dsPlusDisabled) return;\r\n return (\r\n dsPlusDisabled.eurojackpotDisableGapFunding\r\n || dsPlusDisabled.eurojackpotDisableAdHocFunding\r\n || dsPlusDisabled.eurojackpotDisableEditingForBsSubscriptions\r\n || dsPlusDisabled.eurojackpotDisableEditingForCcSubscriptions\r\n || dsPlusDisabled.eurojackpotDisableEditingForJackpotSubscriptions\r\n );\r\n };\r\n\r\n // Check to see if a subscription contains at least one Eurojackpot game.\r\n this.subscriptionHasEurojackpotGame = function (subscription) {\r\n var hasEurojackpotGame = subscription.games().filter(function (game) {\r\n var gameType = Info.getGameType(game);\r\n return gameType === 'eurojackpot';\r\n }).length > 0;\r\n if (hasEurojackpotGame) return true;\r\n };\r\n\r\n this.disableAllModifications = dsPlusDisabled && !hasEurojackpotSpecificDisabledItems();\r\n this.disableEurojackpotGapFunding = dsPlusDisabled && dsPlusDisabled.eurojackpotDisableGapFunding;\r\n this.disableEurojackpotAdHocFunding = dsPlusDisabled && dsPlusDisabled.eurojackpotDisableAdHocFunding;\r\n var disableEurojackpotEditingForBsSubscriptions = dsPlusDisabled && dsPlusDisabled.eurojackpotDisableEditingForBsSubscriptions;\r\n var disableEurojackpotEditingForCcSubscriptions = dsPlusDisabled && dsPlusDisabled.eurojackpotDisableEditingForCcSubscriptions;\r\n var disableEurojackpotEditingForJpSubscriptions = dsPlusDisabled && dsPlusDisabled.eurojackpotDisableEditingForJackpotSubscriptions;\r\n\r\n // Which games that can be edited are controlled from Sitecore.\r\n this.sitecoreAllowsGameModifications = function (gameType, playType, subscription) {\r\n if (!dsPlus || this.disableAllModifications) return false;\r\n\r\n var isGameModifiable = dsPlus['modify' + Utils.capitalize(gameType) + Utils.capitalize(playType)];\r\n\r\n if (subscription.isJackpot()) {\r\n isGameModifiable = dsPlus['modifyJackpot' + Utils.capitalize(gameType)];\r\n }\r\n\r\n if (gameType === 'eurojackpot') {\r\n\r\n // Check to see if we should disable editing of Eurojackpot games with BS subscription.\r\n if (subscription.isBsFunded() && disableEurojackpotEditingForBsSubscriptions) {\r\n isGameModifiable = false;\r\n }\r\n\r\n // Check to see if we should disable editing of Eurojackpot games with CC subscription.\r\n if (!subscription.isBsFunded() && disableEurojackpotEditingForCcSubscriptions) {\r\n isGameModifiable = false;\r\n }\r\n\r\n if (subscription.isJackpot() && disableEurojackpotEditingForJpSubscriptions) {\r\n isGameModifiable = false;\r\n }\r\n }\r\n\r\n return isGameModifiable;\r\n };\r\n\r\n // Which games that can be deleted are controlled from Sitecore.\r\n this.sitecoreAllowsGameDeletion = function (gameType, playType, subscription) {\r\n if (!dsPlus || this.disableAllModifications) return false;\r\n\r\n var isGameDeletable = dsPlus['delete' + Utils.capitalize(gameType) + Utils.capitalize(playType)];\r\n\r\n if (subscription.isJackpot()) {\r\n isGameDeletable = dsPlus['deleteJackpot' + Utils.capitalize(gameType)];\r\n }\r\n\r\n if (subscription.games().length === 1 && !dsPlus.deleteSubscription) {\r\n isGameDeletable = false;\r\n }\r\n\r\n return isGameDeletable;\r\n };\r\n\r\n\r\n // Whether a subscription can be terminated is controlled from Sitecore.\r\n this.sitecoreAllowsSubscriptionTermination = function () {\r\n if (!dsPlus || this.disableAllModifications) return false;\r\n return dsPlus.deleteSubscription;\r\n };\r\n\r\n this.disabledNotificationText = function () {\r\n return dsPlusDisabled && dsPlusDisabled.text;\r\n };\r\n\r\n };\r\n\r\n return ModifiableGames;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/SubscriptionDates',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n ],\r\n function (Utils) {\r\n\r\n var SubscriptionDates = function ({ subscriptionRes, details }) {\r\n if (!subscriptionRes) return;\r\n var dates = {};\r\n\r\n dates.createdDate = function () {\r\n return subscriptionRes.createdDate;\r\n };\r\n dates.createdDate.formatted = function () {\r\n return Utils.formatISO8601(dates.createdDate(), { includeTime: false });\r\n };\r\n\r\n dates.effectiveDate = function () {\r\n return subscriptionRes.effectiveDate;\r\n };\r\n dates.effectiveDate.formatted = function () {\r\n return Utils.formatISO8601(dates.effectiveDate(), { includeTime: false });\r\n };\r\n\r\n dates.unpauseDate = function () {\r\n return subscriptionRes.pauseInfo?.unpauseDate;\r\n };\r\n dates.unpauseDate.formatted = function () {\r\n return Utils.formatISO8601(dates.unpauseDate(), { includeTime: false });\r\n };\r\n\r\n dates.firstDrawDate = function (instance) {\r\n return instance.firstDrawDate;\r\n };\r\n dates.firstDrawDate.formatted = function (instance) {\r\n return Utils.formatISO8601(dates.firstDrawDate(instance), { includeTime: false });\r\n };\r\n\r\n dates.lastDrawDate = function (instance) {\r\n return instance.lastDrawDate;\r\n };\r\n dates.lastDrawDate.formatted = function (instance) {\r\n return Utils.formatISO8601(dates.lastDrawDate(instance), { includeTime: false });\r\n };\r\n\r\n dates.nextFundingDate = () => subscriptionRes.nextFundingDate;\r\n dates.nextFundingDate.formatted = () => Utils.formatISO8601(dates.nextFundingDate(), { includeTime: false });\r\n\r\n dates.startDate = function (instance) {\r\n if (!instance) {\r\n var instances = details.sgInstances();\r\n\r\n var fundedInstances = instances.filter(function (instance) {\r\n return instance.fundingState.toLowerCase() === 'funded';\r\n });\r\n\r\n if (fundedInstances.length > 1) {\r\n var activeFundedInstances = fundedInstances.filter(function (instance) {\r\n return instance.isActive;\r\n });\r\n\r\n if (activeFundedInstances.length > 0) {\r\n return dates.firstDrawDate(activeFundedInstances[0]);\r\n }\r\n\r\n return dates.firstDrawDate(fundedInstances[0]);\r\n }\r\n\r\n if (instances.length === 0 && details.isInActive()) {\r\n return dates.effectiveDate();\r\n }\r\n\r\n // fallback\r\n return dates.effectiveDate();\r\n } else {\r\n return instance.startDate;\r\n }\r\n };\r\n\r\n dates.startDate.formatted = function (instance) {\r\n return Utils.formatISO8601(dates.startDate(instance), { includeTime: false });\r\n };\r\n\r\n dates.endDate = function (instance) {\r\n return instance.endDate;\r\n };\r\n dates.endDate.formatted = function (instance) {\r\n return Utils.formatISO8601(dates.endDate(instance), { includeTime: false });\r\n };\r\n\r\n return dates;\r\n };\r\n\r\n\r\n return SubscriptionDates;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/SubscriptionProperties',\r\n () => {\r\n const SubscriptionProperties = function ({ subscriptionRes, subscriptionDetailsRes }) {\r\n if (!subscriptionRes || !subscriptionDetailsRes) return;\r\n\r\n const props = {};\r\n\r\n props.canChangeFunding = () => !props.isBsFunded() && !props.isArchived();\r\n\r\n props.canChangePayout = () => props.state() !== 'terminated';\r\n\r\n props.canTerminateSubscription = () => !props.isArchived();\r\n\r\n props.isArchivedNotTerminated = () => props.isArchived() && props.state !== 'terminated';\r\n\r\n props.isArchived = () => props.templateState() === 'archived';\r\n\r\n props.isBsFunded = () => subscriptionRes.fundingPaymentMethod.toLowerCase() === 'bs';\r\n\r\n props.isGapFunded = () => !!subscriptionRes.gapFundingPaymentMethodId;\r\n\r\n props.isInActive = () => props.state()?.match(/inactive/);\r\n\r\n props.isJackpot = () => subscriptionRes.isJackpot || false;\r\n\r\n props.state = () => subscriptionDetailsRes.state?.toLowerCase();\r\n\r\n props.templateState = () => subscriptionRes.templateState?.toLowerCase();\r\n\r\n return props;\r\n };\r\n\r\n return SubscriptionProperties;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Shared/SubscriptionCard/Helpers',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/LabelDictionary',\r\n ],\r\n function (LabelDictionary) {\r\n const gameLogos = {\r\n allornothing: {\r\n src: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/GameTypes.svg#allornothing-white',\r\n width: '82',\r\n height: '14',\r\n classNames: '-mt-2'\r\n },\r\n eurojackpot: {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/GameLogos.svg#eurojackpot_logo',\r\n width: '76',\r\n height: '12'\r\n },\r\n 'jackpot-eurojackpot': {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/GameLogos.svg#eurojackpot_logo',\r\n width: '56',\r\n height: '14'\r\n },\r\n lottosaturday: {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/GameLogos.svg#lotto_logo',\r\n width: '50',\r\n height: '11'\r\n },\r\n saturday: {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/GameLogos.svg#lotto_logo',\r\n width: '50',\r\n height: '11'\r\n },\r\n vikinglotto: {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/GameLogos.svg#vikinglotto_logo',\r\n width: '72',\r\n height: '14'\r\n },\r\n keno: {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/GameLogos.svg#keno_logo',\r\n width: '50',\r\n height: '13'\r\n },\r\n };\r\n const gameBadges = {\r\n saturday: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#lotto',\r\n lottosaturday: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#lotto',\r\n vikinglotto: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#vikinglotto',\r\n eurojackpot: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#eurojackpot',\r\n 'jackpot-eurojackpot': '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#jackpot-eurojackpot',\r\n keno: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#keno',\r\n allornothing: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons.svg#allornothing'\r\n };\r\n const danishPlayTypesDictionary = {\r\n classic: 'Vælg Selv',\r\n system: 'System',\r\n lucky: 'Lykke',\r\n lightning: 'Lyn'\r\n };\r\n const displayGameNames = {\r\n allornothing: 'Alt eller Intet',\r\n eurojackpot: 'Eurojackpot',\r\n keno: 'Keno',\r\n lotto: 'Lotto',\r\n lottosaturday: 'Lotto',\r\n saturday: 'Lotto',\r\n vikinglotto: 'Vikinglotto',\r\n };\r\n\r\n const dictionaryPlaceholder = {\r\n jackpotLogoLabel: 'Højpuljeservice',\r\n plusSubscriptionLabel: 'PLUS abonnement',\r\n totalPerDraw: '/trækning',\r\n totalPerWeek: '/ugen',\r\n jackpotActivationFrom: 'Aktiveres ved {jackpotTriggerAmount} mio.',\r\n jokerSaturday: 'Lørdag',\r\n jokerWednesday: 'Onsdag',\r\n singularRowCount: '{rowsCount} række',\r\n multipleRowsCount: '{rowsCount} rækker',\r\n feedDownDescription: 'Vi oplevede et midlertidigt problem med at hente priser på {games}.',\r\n };\r\n\r\n const dictionary = function ({ customLabels } = {}) {\r\n this.dictionary = dictionaryPlaceholder;\r\n if (customLabels) {\r\n this.dictionary = { ...this.dictionary, ...customLabels };\r\n }\r\n\r\n return new LabelDictionary(this.dictionary).getLabel;\r\n };\r\n\r\n return {\r\n gameLogos,\r\n gameBadges,\r\n danishPlayTypesDictionary,\r\n dictionary,\r\n displayGameNames,\r\n };\r\n });","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Shared/SubscriptionCard/GameLine',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/Shared/Svg/Svg',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Shared/SubscriptionCard/Helpers',\r\n ],\r\n function (m, Svg, SubscriptionUtils, Helpers) {\r\n const GameLine = {\r\n controller: function ({ gameData }) {\r\n const rowCount = m.prop(0);\r\n const drawDaysCount = m.prop(0);\r\n const assetGameName = m.prop('');\r\n const gameLogo = m.prop(null);\r\n\r\n const init = () => {\r\n rowCount(SubscriptionUtils.getGameRowCount(gameData));\r\n drawDaysCount(gameData.drawDays.filter((dayBoolean) => dayBoolean).length);\r\n assetGameName(gameData.gameType.toLowerCase());\r\n gameLogo(Helpers.gameLogos[assetGameName()]);\r\n };\r\n\r\n init();\r\n\r\n document.addEventListener('subscription:update', () => {\r\n init();\r\n m.redraw();\r\n });\r\n\r\n return { rowCount, drawDaysCount, assetGameName, gameLogo };\r\n },\r\n view: function ({ rowCount, drawDaysCount, assetGameName, gameLogo }, { gameData, isJackpot, dictionary, isFeedDown }) {\r\n let wrapperClass = 'flex gap-8 items-center text-12 text-white font-semibold';\r\n if (isFeedDown) {\r\n wrapperClass += ' opacity-80 grayscale';\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {isJackpot ?\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 {dictionary((rowCount() === 1 ? 'singularRowCount' : 'multipleRowsCount'), { rowsCount: rowCount() })}\r\n {(gameData.withJokerSaturday || gameData.withJokerWednesday) ? \r\n \r\n \r\n : null}\r\n
\r\n
:
\r\n
\r\n \r\n {drawDaysCount() > 1 ? {drawDaysCount()} × : null}\r\n
\r\n {dictionary((rowCount() === 1 ? 'singularRowCount' : 'multipleRowsCount'), { rowsCount: rowCount() })}\r\n {Helpers.danishPlayTypesDictionary[gameData.playType.toLowerCase()]}\r\n
\r\n
\r\n {(gameData.withJokerSaturday || gameData.withJokerWednesday) ?
\r\n \r\n
\r\n {gameData.withJokerSaturday ? {dictionary('jokerSaturday')} : null}\r\n {gameData.withJokerSaturday && gameData.withJokerWednesday ? + : null}\r\n {gameData.withJokerWednesday ? {dictionary('jokerWednesday')} : null}\r\n
\r\n
: null}\r\n
}\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n return GameLine;\r\n });","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Shared/SubscriptionCard/Gradient',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n // eslint-disable-next-line no-unused-vars\r\n function (m) {\r\n const Gradient = {\r\n controller: function () {\r\n const colorsMap = {\r\n keno: '#00a5eb',\r\n vikinglotto: 'rgb(var(--colors-vikinglotto-blue-1))',\r\n lottosaturday: 'rgb(var(--colors-lotto-red-1))',\r\n saturday: 'rgb(var(--colors-lotto-red-1))',\r\n eurojackpot: 'rgb(var(--colors-yellow-1))',\r\n allornothing: '#009a60',\r\n };\r\n const cardShadow = 'inset-0 shadow-[81.844px_151.752px_88.664px_0px_rgba(102,39,39,0),52.289px_97.19px_80.707px_0px_rgba(0,0,0,0.02),29.555px_54.562px_68.203px_0px_rgba(0,0,0,0.08),12.504px_24.439px_50.016px_0px_rgba(0,0,0,0.13),3.41px_6.252px_27.281px_0px_rgba(0,0,0,0.15)] md:shadow-[81.844px_303.504px_88.664px_0px_rgba(0,0,0,0.00),52.289px_194.379px_80.707px_0px_rgba(0,0,0,0.02),29.555px_109.125px_68.203px_0px_rgba(0,0,0,0.08),12.504px_48.879px_50.016px_0px_rgba(0,0,0,0.13),3.41px_12.504px_27.281px_0px_rgba(0,0,0,0.15)]';\r\n const plusDefaultBackground = 'linear-gradient(239deg, #00FFAE -55.52%, rgb(var(--colors-green-1)) 2.15%, rgb(var(--colors-green-2)) 106.16%) padding-box';\r\n const jackpotDefaultBackground = 'conic-gradient(#FEB700, #936212B2, #FEB700B2, #C88515B2, #C88515B2, #FEB700B2, #936212B2, #FEB700B2) border-box';\r\n\r\n return { colorsMap, cardShadow, plusDefaultBackground, jackpotDefaultBackground };\r\n },\r\n view: function ({ colorsMap, cardShadow, plusDefaultBackground, jackpotDefaultBackground }, { gameNames, isJackpot }) {\r\n let gradientBackground = isJackpot ? jackpotDefaultBackground : plusDefaultBackground;\r\n if (gameNames.length) {\r\n if (gameNames.length === 1) {\r\n gradientBackground = colorsMap[gameNames[0]];\r\n if (gameNames[0] === 'jackpot-eurojackpot') {\r\n gradientBackground = jackpotDefaultBackground;\r\n }\r\n } else {\r\n let colors = gameNames.map((gameName) => colorsMap[gameName]).filter((color) => color);\r\n colors = colors.concat(colors.toReversed());\r\n gradientBackground = `conic-gradient(${colors.join(', ')}) border-box`;\r\n }\r\n }\r\n return (
\r\n
\r\n \r\n
\r\n
);\r\n }\r\n };\r\n\r\n return Gradient;\r\n });","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/RotarySelector',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/NumbersRotarySelector/RotarySelector'\r\n ],\r\n // eslint-disable-next-line no-unused-vars\r\n function (m, NumberGamesRotarySelector) {\r\n\r\n // Template:\r\n var RotarySelector = function (options, value, valuePostfix) {\r\n return ();\r\n };\r\n\r\n // Public functions:\r\n return RotarySelector;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/SimpleCubeLoader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Template:\r\n var SimpleLoader = function () {\r\n var generateCubeFaces = function () {\r\n var cubeInnerFace = m('.cube-inner-face');\r\n var cubeFace = m('.cube-face', [\r\n m('.square'),\r\n m('.diamond'),\r\n m('.circle'),\r\n m('.triangle')\r\n ]);\r\n\r\n return [\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace\r\n ];\r\n };\r\n\r\n return m('.ds-cube-loader-wrapper',\r\n m('.ds-cube-wrapper',\r\n m('.ds-cube', generateCubeFaces())\r\n )\r\n );\r\n };\r\n\r\n // Public functions:\r\n return SimpleLoader;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/GameSelector',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // View:\r\n var GameSelector = function (controller) {\r\n return m('.multi-client-game-selector__wrapper', [\r\n m('.multi-client-game-selector', [\r\n controller.playTypes().map(function (playType) {\r\n return m('span.game-selector-button', {\r\n class: m.route.param('playType') === playType.playType ? ' active' : '',\r\n onclick: () => {\r\n controller.goToRoute(playType.playType);\r\n }\r\n }, playType.label);\r\n })\r\n ])\r\n ]);\r\n };\r\n\r\n return GameSelector;\r\n });","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/StepInfo', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/GenericOverlay'\r\n], function (m, GlobalUtils, Utils, Overlay, GenericOverlay) {\r\n // Component:\r\n var StepInfo = {\r\n controller: function (args) {\r\n GlobalUtils.extend(this, args.controller);\r\n\r\n const capitalizedPlayType = Utils.formatNaming(this.playType(), 'capitalized');\r\n const dictionaryFolder = () => {\r\n if (this.currentFlowStepIndex() === -1 &&\r\n this.preGameClientStep?.active()) {\r\n return 'preGame';\r\n }\r\n\r\n return this.currentFlowStepIndex() === -1 ? 'game' : this.currentFlowStep();\r\n };\r\n\r\n const getText = (name) => {\r\n if (this.mcDictionary(dictionaryFolder() + '/helpOverlay')) {\r\n var text = this.mcDictionary(dictionaryFolder() + '/helpOverlay')[name];\r\n if (this.mcDictionary(dictionaryFolder() + '/helpOverlay')[capitalizedPlayType]) {\r\n var playTypeText = this.mcDictionary(dictionaryFolder() + '/helpOverlay')[capitalizedPlayType][name];\r\n }\r\n\r\n if (typeof playTypeText === 'string' && playTypeText.length) return playTypeText;\r\n if (typeof text === 'string' && text.length) return text;\r\n }\r\n };\r\n\r\n this.infoTitle = () => getText('Title');\r\n this.infoText = () => getText('Text');\r\n\r\n this.showInfoOverlay = () => {\r\n var infoOverlayDictionary = {\r\n dismiss: this.mcDictionary('closeButton')\r\n };\r\n\r\n if (this.infoTitle()) infoOverlayDictionary.header = this.infoTitle();\r\n if (this.infoText()) infoOverlayDictionary.body = this.infoText();\r\n\r\n return new Overlay(GenericOverlay(infoOverlayDictionary)).show();\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n var hideInfoButton = !controller.infoTitle() && !controller.infoText();\r\n return m('.multi-client__question-button', {\r\n class: hideInfoButton ? 'multi-client__question-button--hidden' : '',\r\n onclick: controller.showInfoOverlay\r\n }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/MultiClientCommonIcons.svg#question-icon' })\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n return StepInfo;\r\n});\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/FooterSection',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Helpers/UIHelpers'\r\n ],\r\n function (m, UIHelpers) {\r\n // View:\r\n var FooterSection = function (controller) {\r\n var navigateToStep = function (index) {\r\n return function () {\r\n if (index > controller.currentFlowStepIndex()) return;\r\n controller.goToFlowStep(index);\r\n };\r\n };\r\n\r\n let showCtaButton = true;\r\n let stepsCount = controller.flowStepsNames().length;\r\n let stepStartIndex = controller.currentFlowStepIndex() + 1;\r\n if (controller.preGameClientStep) {\r\n stepsCount += 1;\r\n stepStartIndex += 1;\r\n\r\n if (controller.preGameClientStep.active() &&\r\n controller.currentFlowStepIndex() === -1) {\r\n stepStartIndex -= 1;\r\n showCtaButton = Boolean(controller.preGameClientStepShowCtaButton?.());\r\n }\r\n }\r\n\r\n if (controller.currentFlowStep() === 'confirm') {\r\n if (controller.askForDeposit() && controller.useQuickDeposit) {\r\n showCtaButton = false;\r\n }\r\n }\r\n\r\n const isClientStepActive = () => {\r\n return !controller.preGameClientStep?.active();\r\n };\r\n\r\n const headerBottomDistanceToTheTop = () => {\r\n const $stepHeader = controller.$element.querySelector('.multi-client__flow-step-header') || controller.$element.querySelector('.js-multi-client__flow-step-header');\r\n return $stepHeader ? ($stepHeader.clientHeight + $stepHeader.offsetTop) : null;\r\n };\r\n\r\n const ctaSlot = () => {\r\n if (!showCtaButton) return null;\r\n const numbersPickerCtaSlot = controller.property('numbersPickerCtaSlot')?.({\r\n numbersPickerGoToNextFlowStep: controller.goToNextFlowStep,\r\n currentFlowStepIndex: controller.currentFlowStepIndex\r\n });\r\n if (numbersPickerCtaSlot) {\r\n return m('.multi-client-cta-btn.use-tailwind-styling-class-only-for-automatic-tests.mb-30', numbersPickerCtaSlot);\r\n }\r\n\r\n return m('.multi-client-cta-btn', {\r\n 'data-uitest-id': 'go-to-next-step-button',\r\n class: controller.canGoToNextStep() ? '' : ' btn--disabled',\r\n onclick: controller.goToNextFlowStep\r\n }, controller.nextButtonLabel());\r\n };\r\n\r\n // Return:\r\n return m('.multi-client-footer', {\r\n config: UIHelpers.stickyComponent({\r\n $container: controller.$element,\r\n topLimit: headerBottomDistanceToTheTop,\r\n key: 'multi-client-footer'\r\n })\r\n }, [\r\n ctaSlot(),\r\n m('.multi-client__progress-bar', [\r\n m('.multi-client__progress-bar-active-bar', {\r\n style: 'width:' + (stepStartIndex / (stepsCount <= 2 ? stepsCount : (stepsCount - 1)) * 100) + '%;'\r\n }),\r\n controller.preGameClientStep ? m('.multi-client__progress-bar-dot.multi-client__progress-bar-dot--active', {\r\n onclick: () => {\r\n navigateToStep(-1)();\r\n controller.gameSelectorOptions.isVisible = false;\r\n controller.preGameClientStep.active(true);\r\n controller.isThemeOn?.(true);\r\n }\r\n }) : null,\r\n m('.multi-client__progress-bar-dot', {\r\n class: (isClientStepActive() || controller.currentFlowStepIndex() !== -1) ? 'multi-client__progress-bar-dot--active' : '',\r\n onclick: () => {\r\n if (controller.currentFlowStepIndex() === -1) return;\r\n navigateToStep(-1)();\r\n }\r\n }),\r\n controller.flowStepsNames().map(function (currentFlowStep, index) {\r\n if (currentFlowStep === 'receipt') return null;\r\n return m('.multi-client__progress-bar-dot', {\r\n class: index <= controller.currentFlowStepIndex() ? 'multi-client__progress-bar-dot--active' : '',\r\n onclick: navigateToStep(index)\r\n });\r\n })\r\n ])\r\n ]);\r\n };\r\n\r\n return FooterSection;\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/CheckButton',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n ],\r\n function (m, Render) {\r\n // View:\r\n var CheckButton = function (option, onSelect, isSelected) {\r\n var render = Render();\r\n var value = typeof option === 'object' ? option.value : option;\r\n var _onSelect = function (option) {\r\n return function () {\r\n onSelect(option);\r\n m.redraw(true);\r\n };\r\n };\r\n\r\n var className = function () {\r\n var className = '';\r\n\r\n if (isSelected) {\r\n className += 'check-button--selected';\r\n }\r\n if (option.isDisabled) {\r\n className += 'check-button--disabled';\r\n }\r\n\r\n return className;\r\n };\r\n\r\n var renderDetails = function (details) {\r\n if (Array.isArray(details)) {\r\n return m('.details-wrapper', {\r\n config: render.depend('collapsible-wrapper')\r\n }, details.map(function (detail) {\r\n return m('.detail-item', detail);\r\n }));\r\n }\r\n return [];\r\n };\r\n\r\n var secondaryCta = function () {\r\n if (!option.details) {\r\n return;\r\n }\r\n var button = null;\r\n if (option.details) {\r\n button = m('svg', { class: 'icon arrow-down-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/MultiClientCommonIcons.svg#arrow-down-icon' })\r\n ]);\r\n }\r\n return button ? m('.secondary-cta', { config: render.depend('secondary-cta') }, button) : null;\r\n };\r\n\r\n const iconIndicator = () => {\r\n if (option.iconIndicator) {\r\n return m('.icon-indicator', typeof option.iconIndicator === 'function' ? option.iconIndicator() : option.iconIndicator);\r\n }\r\n return null;\r\n };\r\n\r\n var configCollapsible = function (wrapperNode, checkNode, buttonNode) {\r\n if (wrapperNode.rendered) {\r\n return;\r\n }\r\n\r\n var wrapperContext = wrapperNode.context;\r\n var $wrapper = wrapperNode.$element;\r\n wrapperContext.height = $wrapper.offsetHeight;\r\n wrapperContext.isCollapsed = true;\r\n $wrapper.style.maxHeight = 0;\r\n var $button = buttonNode.$element;\r\n\r\n if (option.showDetails) {\r\n $wrapper.setAttribute('data-show-details', option.showDetails);\r\n }\r\n\r\n var collapseAnyOtherSection = function () {\r\n var activeSecondaryCtas = document.querySelectorAll('.secondary-cta.active');\r\n if (!activeSecondaryCtas) return;\r\n for (var i = 0; i < activeSecondaryCtas.length; i++) {\r\n // we don't want to collapse the details if the other checkNode is the selected one or it has the show details attribute\r\n var $parent = activeSecondaryCtas[i].parentElement;\r\n if ($parent.classList.contains('check-button--selected') ||\r\n $parent.querySelector('.details-wrapper').getAttribute('data-show-details')) continue;\r\n if ($button !== activeSecondaryCtas[i]) activeSecondaryCtas[i].click();\r\n }\r\n };\r\n\r\n var toggleCollapsible = function (event) {\r\n collapseAnyOtherSection();\r\n // If you click o the checkNode we want to only expand the collapsable section\r\n // You can click on the secondaryCta (the arrow) to toggle the collapsing of the details section\r\n if (event) {\r\n if (event.target.classList.contains('check-button--selected') &&\r\n !wrapperContext.isCollapsed) {\r\n return;\r\n }\r\n\r\n // if you collapsed the details for a section that has show details attribute using the secondaryCta,\r\n // we want to remove it so next time when collapseAnyOtherSection is called this section will toggle as well\r\n if ($wrapper.getAttribute('data-show-details')) $wrapper.removeAttribute('data-show-details');\r\n }\r\n $button.classList.toggle('active');\r\n $wrapper.classList.toggle('active');\r\n var maxHeight = wrapperContext.isCollapsed ? wrapperContext.height + 'px' : '0px';\r\n\r\n $wrapper.style.maxHeight = maxHeight;\r\n wrapperContext.isCollapsed = !wrapperContext.isCollapsed;\r\n };\r\n\r\n if (isSelected || option.showDetails) toggleCollapsible();\r\n\r\n checkNode.$element.addEventListener('click', function (event) {\r\n if (option.isDisabled) return;\r\n toggleCollapsible(event);\r\n });\r\n\r\n $button.addEventListener('click', function (event) {\r\n event.stopPropagation();\r\n toggleCollapsible(event);\r\n });\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n if (nodes['check-button'] && nodes['check-button'].rendered) return;\r\n if (nodes['collapsible-wrapper']) {\r\n configCollapsible(nodes['collapsible-wrapper'], nodes['check-button'], nodes['secondary-cta']);\r\n }\r\n });\r\n\r\n var attrs = {\r\n class: className(),\r\n config: render.depend('check-button'),\r\n key: value + (option.extraKey ? option.extraKey : ''),\r\n onclick: _onSelect(option),\r\n 'data-uitest-id': value\r\n };\r\n\r\n if (option.id) attrs.id = option.id;\r\n\r\n return m('.check-button', attrs, [\r\n m('.check-button__dot'),\r\n m('.check-button__body', [\r\n m('.check-button__labels', [\r\n m('.check-button__label', option.label || value),\r\n option.sublabel ? m('.check-button__sublabel', option.sublabel) : null\r\n ]),\r\n option.details ? renderDetails(option.details) : null\r\n ]),\r\n iconIndicator(),\r\n secondaryCta(),\r\n ]);\r\n };\r\n\r\n return CheckButton;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Joker',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox'\r\n ],\r\n function (m, Utils, JackpotInfo, ProceedBar, Step, NotificationBox) {\r\n\r\n var Joker = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_wizard', 'joker');\r\n this.jokerWednesdayInit = m.prop(true);\r\n this.jokerSaturdayInit = m.prop(true);\r\n var jokerSaturday = JackpotInfo.getByGame('JokerSaturday');\r\n var jokerWednesday = JackpotInfo.getByGame('JokerWednesday');\r\n this.jokerWednesdaySubtitle = this.d('Joker/JokerWednesdaySubTitle');\r\n this.jokerSaturdaySubtitle = this.d('Joker/JokerSaturdaySubTitle');\r\n if (Object.keys(jokerSaturday).length > 0 && !jokerSaturday.gamestopExceeded && jokerSaturday.poolSizeDecimal > 0) {\r\n this.jokerSaturdaySubtitle = this.d('Joker/JokerSaturdaySubTitleWithPool', { pool: jokerSaturday.poolSizeFormatted });\r\n }\r\n if (Object.keys(jokerWednesday).length > 0 && !jokerWednesday.gamestopExceeded && jokerWednesday.poolSizeDecimal > 0) {\r\n this.jokerWednesdaySubtitle = this.d('Joker/JokerWednesdaySubTitleWithPool', { pool: jokerWednesday.poolSizeFormatted });\r\n }\r\n this.handleJokerWednesday = function () {\r\n this.jokerWednesdayInit = m.prop(false);\r\n this.selectedValues.jokerWednesday(!this.selectedValues.jokerWednesday());\r\n }.bind(this);\r\n this.handleJokerSaturday = function () {\r\n this.jokerSaturdayInit = m.prop(false);\r\n this.selectedValues.jokerSaturday(!this.selectedValues.jokerSaturday());\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n var value = this.selectedValues.jokerWednesday() ? 'wednesday' : '';\r\n value += this.selectedValues.jokerWednesday() && this.selectedValues.jokerSaturday() ? '_' : '';\r\n value += this.selectedValues.jokerSaturday() ? 'saturday' : '';\r\n this.tracking.trackEvent('plus_wizard', 'joker', value);\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n var showEjpJokerNotification = controller.apiValues.packages && controller.apiValues.packages().filter(function (p) {\r\n return p.games.filter(function (g) {\r\n return g.name.toLowerCase() === 'eurojackpot' && g.jokerGames && g.jokerGames.length;\r\n }).length;\r\n }).length;\r\n return m('.wizard-slide__content', [\r\n Step(controller.steps.joker, controller.steps.total),\r\n m('.wizard-slide__title', m.trust(controller.d('Joker/Title'))),\r\n controller.d('Joker/Text') ? m('.wizard-slide__text', m.trust(controller.d('Joker/Text'))) : null,\r\n\r\n m('.wizard-joker', [\r\n m('svg', m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Wizard.svg#jokerhat' })),\r\n\r\n [\r\n controller.apiValues.jokerWednesday().available ? [\r\n m('.btn-checked', {\r\n onclick: controller.handleJokerWednesday,\r\n class: controller.selectedValues.jokerWednesday() ? 'btn--selected' : !controller.jokerWednesdayInit() ? 'btn--unselected' : null,\r\n 'data-uitest-id': 'Joker__btn--wednesday'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', m.trust(controller.d('Joker/JokerWednesdayTitle', { price: controller.apiValues.jokerWednesday().price }))),\r\n m('.btn-checked__sublabel', m.trust(controller.jokerWednesdaySubtitle)),\r\n ])\r\n ]),\r\n ] : null,\r\n\r\n controller.apiValues.jokerSaturday().available ? [\r\n m('.btn-checked', {\r\n onclick: controller.handleJokerSaturday,\r\n class: controller.selectedValues.jokerSaturday() ? 'btn--selected' : !controller.jokerSaturdayInit() ? 'btn--unselected' : null,\r\n 'data-uitest-id': 'Joker__btn--saturday'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', m.trust(controller.d('Joker/JokerSaturdayTitle', { price: controller.apiValues.jokerWednesday().price }))),\r\n m('.btn-checked__sublabel', m.trust(controller.jokerSaturdaySubtitle)),\r\n ])\r\n ]),\r\n ] : null,\r\n ]\r\n ]),\r\n\r\n showEjpJokerNotification ? NotificationBox('package_ejp_select_joker', controller.notifications()) : null,\r\n\r\n m(ProceedBar, { controller: controller })\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return Joker;\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/Client/Client',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/SimpleCubeLoader'\r\n ],\r\n function (m, Utils, JackpotInfo, SimpleCubeLoader) {\r\n return function () {\r\n var flowStepsStructure = m.prop(null);\r\n var loadedGameClient = m.prop(null);\r\n\r\n this.loadGame = function () {\r\n if (!this.playType()) {\r\n return null;\r\n }\r\n\r\n this.property('stepGoToNext', null);\r\n\r\n this.game().clientContext('multiClient');\r\n if (this.game().status() === 'completed') {\r\n if (this.currentFlowStep() === 'receipt') {\r\n this.loadingClient(false);\r\n return function () {\r\n return null;\r\n };\r\n }\r\n this.goToFlowStep(-1);\r\n }\r\n\r\n var deferred = m.deferred();\r\n\r\n if (this.playType() === 'lightning') {\r\n requireDs('DanskeSpil/Domain/NumberGames/Scripts/Components/MultiClient/LightningClient', function (GameClient) {\r\n var gameClientComponent = m.component(GameClient(), { controller: this });\r\n loadedGameClient(gameClientComponent);\r\n deferred.resolve(gameClientComponent);\r\n m.redraw(true);\r\n this.loading(false);\r\n this.loadingClient(false);\r\n }.bind(this));\r\n } else {\r\n requireDs('DanskeSpil/Domain/' + this.gameType + '/Scripts/Components/GameClients/' + Utils.formatNaming(this.gameType, 'capitalized') + Utils.formatNaming(this.playType(), 'capitalized') + 'Client', function (GameClient) {\r\n deferred.resolve(GameClient(m, this.settings, this.property));\r\n m.redraw(true);\r\n this.loading(false);\r\n this.loadingClient(false);\r\n }.bind(this));\r\n }\r\n\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n var loadDependencies = function (dependencies) {\r\n var dependenciesPaths = [];\r\n\r\n // when using it with a singe dependency\r\n if (!Array.isArray(dependencies)) {\r\n dependencies = new Array(dependencies);\r\n }\r\n\r\n for (var i = 0; i < dependencies.length; i++) {\r\n // if a dependency has the `result` property and it's not null\r\n // then we skip it as we know it is already loaded\r\n if (dependencies[i].result) {\r\n continue;\r\n }\r\n\r\n // else add the dependency path to the `dependenciesPaths` array\r\n dependenciesPaths.push(dependencies[i].path);\r\n }\r\n\r\n var deferred = m.deferred();\r\n requireDs(dependenciesPaths, function () {\r\n for (var j = 0; j < arguments.length; j ++) {\r\n dependencies[j].result = arguments[j];\r\n }\r\n\r\n deferred.resolve(dependencies);\r\n });\r\n return deferred.promise;\r\n };\r\n\r\n this.generateFlowStepsComponents = function () {\r\n if (flowStepsStructure() &&\r\n this._flowSteps()[this.currentFlowStepIndex()] &&\r\n this._flowSteps()[this.currentFlowStepIndex()].dependency.result) {\r\n this.loading(false);\r\n m.redraw();\r\n }\r\n var preloadedStepsDependencies = this._flowSteps().reduce(function (dependencies, step) {\r\n // we want to preload only dependencies that are not supposed to be lazyLoaded or\r\n // if they were already loaded (we know that by checking the `result ` property)\r\n if (!step.dependency.lazyLoaded && !step.dependency.result) {\r\n dependencies.push(step.dependency);\r\n }\r\n return dependencies;\r\n }, []);\r\n\r\n var flowStepClassName = function (step) {\r\n var className = 'multi-client__flow-step';\r\n className += ' multi-client__flow-step-' + step;\r\n if (this.currentFlowStep() === step) {\r\n className += ' multi-client__flow-step--active';\r\n }\r\n return className;\r\n }.bind(this);\r\n\r\n // `individualFlowStepStructure` is used to generate the structure for individual steps and\r\n // lazyLoad components when condition is met\r\n var individualFlowStepStructure = function (step, stepIndex) {\r\n var canRenderStepContent = step.options.renderCondition(this.currentFlowStepIndex()) && step.dependency.result;\r\n\r\n // check why not\r\n if (!canRenderStepContent) {\r\n // if it is because the step should be lazyLoaded then do that\r\n if (step.options.renderCondition(this.currentFlowStepIndex()) &&\r\n !step.dependency.result &&\r\n step.dependency.lazyLoaded) {\r\n var lazyLoadedFlowStep = function () {\r\n var lazyLoadDeferred = m.deferred();\r\n loadDependencies(step.dependency).then(function () {\r\n lazyLoadDeferred.resolve();\r\n });\r\n return lazyLoadDeferred.promise;\r\n };\r\n\r\n lazyLoadedFlowStep().then(function () {\r\n // after loading the lazyLoaded dependency render and replace the flow step\r\n flowStepsStructure()[stepIndex] = individualFlowStepStructure(this._flowSteps()[stepIndex]);\r\n this.loading(false);\r\n m.redraw();\r\n }.bind(this));\r\n }\r\n }\r\n\r\n // return the structure for individual step\r\n return m('div',\r\n {\r\n class: flowStepClassName(step.name)\r\n }, canRenderStepContent ? m.component(step.dependency.result, { controller: this }) : null);\r\n }.bind(this);\r\n\r\n // we need to wait for all the preloaded dependencies to be loaded\r\n var deferred = m.deferred();\r\n loadDependencies(preloadedStepsDependencies).then(function () {\r\n var stepStructure = this._flowSteps().map(function (step, stepIndex) {\r\n return individualFlowStepStructure(step, stepIndex);\r\n }.bind(this));\r\n deferred.resolve(stepStructure);\r\n }.bind(this));\r\n return deferred.promise;\r\n }.bind(this);\r\n\r\n var Client = {\r\n controller: function () {\r\n this.loading(true);\r\n if (this.currentFlowStepIndex() === -1) {\r\n this.isStepValid(this.game().isGameValid());\r\n }\r\n this.flowStepConfig = function ($elem) {\r\n $elem.style.transform = 'translateX(-' + ((this.currentFlowStepIndex() + 1) * 100) + '%)';\r\n }.bind(this);\r\n\r\n if (!loadedGameClient()) {\r\n this.loadingClient = m.prop(true);\r\n this.loading(true);\r\n }\r\n\r\n this.gameClient = loadedGameClient() === null ? this.loadGame() : loadedGameClient;\r\n\r\n this.generateFlowStepsComponents().then(function (data) {\r\n flowStepsStructure(data);\r\n this.loading(false);\r\n m.redraw();\r\n }.bind(this));\r\n\r\n return this;\r\n }.bind(this),\r\n\r\n view: function (controller) {\r\n if (controller.currentFlowStepIndex() === -1) {\r\n controller.isStepValid(controller.game().isGameValid());\r\n }\r\n var jackpotText = JackpotInfo.getDynamicFeed(controller.mcDictionary('game/subtitle'));\r\n var rows = controller.game().getRowAmount();\r\n var description = null;\r\n let descriptionSlot = null;\r\n const isLoading = () => {\r\n if (controller.isCampaignEngineOn &&\r\n !controller.checkingForActiveCampaign()) {\r\n return controller.checkingForActiveCampaign();\r\n }\r\n return controller.loadingClient() || controller.loading();\r\n };\r\n const showDescription = () => {\r\n if (controller.campaign?.()) return true;\r\n if (controller.isOpenDrawPartOfCampaign()) return true;\r\n if (controller.activeCampaignModel().campaignType === 'EachDraw' &&\r\n controller.isOpenDrawPartOfCampaign()) {\r\n return true;\r\n }\r\n if (controller.campaignExtraDraw && controller.isThemeOn?.()) return true;\r\n\r\n return false;\r\n };\r\n if (showDescription()) {\r\n const descriptionRowsCount = controller.game().rowsToGenerate() || rows;\r\n const ticketsCount = controller.game().numberOfDraws() * descriptionRowsCount;\r\n let descriptionDictionary = 'game/description';\r\n if (descriptionRowsCount === 0) {\r\n descriptionDictionary += 'Zero';\r\n }\r\n if (descriptionRowsCount === 1) {\r\n descriptionDictionary += 'Single';\r\n }\r\n description = controller.mcDictionary(descriptionDictionary, {\r\n campaignName: controller.hasActiveCampaign() ? controller.activeCampaignModel?.().name : controller.campaign?.(),\r\n rows: descriptionRowsCount,\r\n ticketsCount\r\n });\r\n\r\n descriptionSlot = m('.multi-client__client-game-description', [\r\n m('.client-game-description__inner', m.trust(description)),\r\n controller.activeCampaignModel().campaignType === 'EachDraw' ? m('.client-game-description__question-button', {\r\n onclick: () => controller.showCampaignInformOverlay(true)\r\n },\r\n m('svg.icon', [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/MultiClientCommonIcons.svg#question-icon' })\r\n ])\r\n ) : null\r\n ]);\r\n\r\n }\r\n\r\n if (controller.property('numbersPickerGameDescriptionSlot')) {\r\n controller.property('numbersPickerGameDescriptionSlot')(descriptionSlot);\r\n }\r\n\r\n return m('.multi-client__client-wrapper', [\r\n isLoading() ? m('.multi-client-loader-wrapper', SimpleCubeLoader()) : [\r\n controller.preGameClientStep ? m(controller.preGameClientStep, { controller: controller }) : null,\r\n m('.multi-client__client-game', {\r\n class: controller.currentFlowStepIndex() === -1 ? 'active' : ''\r\n }, [\r\n controller.settings.useNewNumbersPicker ? null : m('.multi-client__flow-step-header', [\r\n m('.multi-client__flow-step-title', controller.mcDictionary('game/title')),\r\n typeof jackpotText === 'string' && jackpotText.length ? m('.multi-client__flow-step-subtitle', m.trust(jackpotText)) : null,\r\n ]),\r\n controller.gameClient(),\r\n (description?.length > 0 && !controller.property('numbersPickerGameDescriptionSlot')) ? descriptionSlot : null\r\n ]),\r\n m('.multi-client__flow-wrapper', {\r\n config: controller.flowStepConfig\r\n },\r\n flowStepsStructure())\r\n ]\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return Client;\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Components/MultiClient/LightningClient', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/Client/RotarySelector',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/NumbersPicker/PlayTypes/Lightning/Lightning',\r\n], function (m, Params, RotarySelector, NumberGamesLightning) {\r\n\r\n // Client:\r\n var GameClient = function () {\r\n\r\n // Component:\r\n var root = {\r\n controller: function (args) {\r\n Object.assign(this, args.controller);\r\n\r\n const gameInstanceIdInParams = Params.extract('gameInstanceId');\r\n if (gameInstanceIdInParams !== this.gameInstanceId()) {\r\n if (this.verticalType && ['plus', 'jackpot'].indexOf(this.verticalType()) !== -1) {\r\n // for `plus` and `jackpot` we set the gameInstance in localStorage under '`Subscription-Models-` + verticalType'\r\n return;\r\n }\r\n Params.set('gameInstanceId=' + this.game().id());\r\n }\r\n\r\n if (this.game() && !this.game().rowsToGenerate() > 0) {\r\n this.game().rowsToGenerate(this.getLightningOptions()()[0]);\r\n }\r\n },\r\n\r\n view: function (controller) {\r\n if (controller.settings.useNewNumbersPicker) {\r\n return ();\r\n }\r\n\r\n var label = controller.game().rowsToGenerate() === 1 ? controller.mcDictionary('game/lightningRow') : controller.mcDictionary('game/lightningRows');\r\n return m('.multi-client-rotary-selector__outer', RotarySelector(controller.getLightningOptions(), controller.game().rowsToGenerate, label, controller.game().save(), controller.gameType));\r\n }\r\n };\r\n\r\n return root;\r\n };\r\n\r\n // Public functions:\r\n return GameClient;\r\n\r\n});\r\n","defineDs(\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/MultiClient',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/AccountIntegration',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotDictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Helpers/MultiClientDictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/MultiClient/Client/Flow/Jackpot',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/MultiClient/MultiClient',\r\n ],\r\n function (\r\n Component,\r\n AccountIntegration,\r\n SubscriptionDictionary,\r\n EurojackpotDictionary,\r\n EurojackpotInfo,\r\n SubscriptionModelStorage,\r\n EurojackpotGame,\r\n mcDictionary,\r\n Jackpot,\r\n MultiClient\r\n ) {\r\n Component(\r\n 'eurojackpot-jackpot-multi-client',\r\n [\r\n AccountIntegration,\r\n SubscriptionDictionary,\r\n EurojackpotDictionary,\r\n EurojackpotInfo,\r\n SubscriptionModelStorage,\r\n EurojackpotGame,\r\n ],\r\n function (m, ignoreRoute, settings, property, element) {\r\n if (!SubscriptionModelStorage.get('jackpot')) {\r\n SubscriptionModelStorage.add('jackpot', 'eurojackpot', 'lightning', 'jackpot-eurojackpot');\r\n }\r\n this.d = EurojackpotDictionary.get;\r\n this.subscriptionD = SubscriptionDictionary.get;\r\n this.settings = settings;\r\n this.property = property;\r\n this.element = element;\r\n this.gameType = 'Eurojackpot';\r\n this.infoFeed = m.prop(EurojackpotInfo);\r\n this.isFeedDown = m.prop(this.infoFeed().isFeedDown());\r\n this.getLightningDefaultRowCount = m.prop(\r\n this.infoFeed().getLightningDefaultRowCount()\r\n );\r\n this.getLightningOptions = m.prop(this.infoFeed().getLightningOptions);\r\n this.verticalType = m.prop('jackpot');\r\n this.preGameClientStep = Jackpot;\r\n this.scrollWrapperToTop = () => {};\r\n this.preGameClientStepShowCtaButton = m.prop(true);\r\n this.flowSteps = m.prop([\r\n {\r\n name: 'joker',\r\n dependency: {\r\n path: 'DanskeSpil/Domain/NumberGames/Scripts/Templates/MultiClient/Client/Flow/Joker'\r\n },\r\n options: {\r\n renderCondition: function (currentFlowStepIndex) {\r\n return currentFlowStepIndex === 0;\r\n }\r\n }\r\n }\r\n ]);\r\n this.gameSelectorOptions = {\r\n isVisible: false\r\n };\r\n\r\n var setSubscriptionItem = mcDictionary.setItem.bind(null, this.subscriptionD);\r\n var eurojackpotJackpotDictionary = {\r\n addToBasket: setSubscriptionItem('MultiClient/AddToBasket'),\r\n closedGame: {\r\n noOpenDrawHeader: setSubscriptionItem('MultiClient/EurojackpotClosed/NoOpenDrawHeader'),\r\n noOpenDrawText1: setSubscriptionItem('MultiClient/EurojackpotClosed/NoOpenDrawText_1'),\r\n noOpenDrawText2: setSubscriptionItem('MultiClient/EurojackpotClosed/NoOpenDrawText_2'),\r\n gameNotAvailableHeader: setSubscriptionItem('MultiClient/EurojackpotClosed/GameNotAvailableHeader'),\r\n gameNotAvailableText1: setSubscriptionItem('MultiClient/EurojackpotClosed/GameNotAvailableText_1'),\r\n gameNotAvailableText2: setSubscriptionItem('MultiClient/EurojackpotClosed/GameNotAvailableText_2')\r\n },\r\n game: {\r\n subtitle: setSubscriptionItem('MultiClient/GameStep/Subtitle')\r\n },\r\n joker: {\r\n multipleJokerLabel: setSubscriptionItem('MultiClient/Joker/SingleJokerWithPrice')\r\n }\r\n };\r\n\r\n mcDictionary.setDictionary.bind(this.d)(eurojackpotJackpotDictionary);\r\n\r\n // Component\r\n MultiClient(m, EurojackpotGame, this);\r\n }.bind(this)\r\n );\r\n }\r\n);\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/NumberBoxAnimation',\r\n [],\r\n function () {\r\n var animationSteps = 25;\r\n var animationStepsCounter = 0;\r\n var numberBoxEl;\r\n var translate = {};\r\n var opacity = {};\r\n var scale = {};\r\n var steps = {};\r\n\r\n var animateNumberAnimation = function () {\r\n animationStepsCounter++;\r\n\r\n scale.height = 1 + (steps.height * animationStepsCounter);\r\n scale.width = 1 + (steps.width * animationStepsCounter);\r\n\r\n translate.top += steps.top;\r\n translate.left += steps.left;\r\n\r\n opacity.start += opacity.steps;\r\n numberBoxEl.style.opacity = opacity.start;\r\n numberBoxEl.style.transformOrigin = 'top left';\r\n\r\n numberBoxEl.style.transform = 'translate(' + translate.left + 'px, ' + translate.top + 'px) scale(' + scale.width + ', ' + scale.height + ')';\r\n\r\n if (animationStepsCounter < animationSteps) {\r\n requestAnimationFrame(animateNumberAnimation);\r\n } else {\r\n numberBoxEl.style.opacity = 0;\r\n numberBoxEl.style.transform = 'none';\r\n }\r\n };\r\n\r\n // Template:\r\n var NumberBoxAnimation = function (originEl, toggled) {\r\n var destinationEl = document.querySelector('.js-number-box-animation-destination');\r\n numberBoxEl = document.querySelector('.js-number-box-animation');\r\n\r\n if (!numberBoxEl || !destinationEl) {\r\n return;\r\n }\r\n\r\n if (!toggled) {\r\n var o = originEl;\r\n originEl = destinationEl;\r\n destinationEl = o;\r\n }\r\n\r\n var originBox = originEl.getBoundingClientRect();\r\n var destinationBox = destinationEl.getBoundingClientRect();\r\n translate.top = 0;\r\n translate.left = 0;\r\n scale.width = 1;\r\n scale.height = 1;\r\n opacity.start = 0.6;\r\n opacity.end = 0;\r\n animationStepsCounter = 0;\r\n\r\n numberBoxEl.style.transformOrigin = 'top left';\r\n numberBoxEl.style.opacity = opacity.start;\r\n numberBoxEl.style.top = originBox.top + 'px';\r\n numberBoxEl.style.left = originBox.x + 'px';\r\n numberBoxEl.style.width = originBox.width + 'px';\r\n numberBoxEl.style.height = originBox.height + 'px';\r\n numberBoxEl.style['border-radius'] = window.getComputedStyle(originEl)['border-top-left-radius'];\r\n\r\n steps.width = ((destinationBox.width / originBox.width) - 1) / animationSteps;\r\n steps.height = ((destinationBox.height / originBox.height) - 1) / animationSteps;\r\n steps.top = (destinationBox.top - originBox.top) / animationSteps;\r\n steps.left = (destinationBox.left - originBox.left) / animationSteps;\r\n opacity.steps = (opacity.end - opacity.start) / animationSteps;\r\n\r\n requestAnimationFrame(animateNumberAnimation);\r\n };\r\n\r\n // Public functions:\r\n return NumberBoxAnimation;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/InputRange',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n return {\r\n controller: function ({ controller, settings }) {\r\n Object.assign(this, controller);\r\n this.selectedValue = m.prop(settings.defaultValue);\r\n this.onInput = (event) => {\r\n this.stepSize(settings.stepValue);\r\n const value = Number(Math.round(event.currentTarget.value));\r\n this.selectedValue(value);\r\n settings.handler(value);\r\n };\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller, { settings }) {\r\n var inputRangeTicks = function () {\r\n var ticks = (settings.maxValue - settings.minValue) / (settings.stepValue);\r\n var tickEls = [];\r\n for (var i = 0; i <= ticks; i++) {\r\n tickEls.push(m('.input-range__tick'));\r\n }\r\n return tickEls;\r\n };\r\n\r\n return m('.input-range', [\r\n m('.input-range__ticks',\r\n inputRangeTicks().length < 7 ? inputRangeTicks() : null\r\n ),\r\n\r\n m('input.input-range__range', {\r\n type: 'range',\r\n min: settings.minValue,\r\n max: settings.maxValue,\r\n step: controller.stepSize(),\r\n value: settings.selectedValue || controller.selectedValue(),\r\n oninput: controller.onInput,\r\n 'data-uitest-id': 'input-range__range'\r\n })\r\n ]);\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Checkbox', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n], (m) => {\r\n\r\n const Checkbox = ({ handleCheck, label, text }) => {\r\n\r\n // We create a unique reference, in case there are more than one\r\n // checkbox on the page. We use the label for that, as it should\r\n // be unique for each checkbox in a sane world.\r\n const uniqueReference = `checkBox${label.replace(/\\W/g, '')}`;\r\n\r\n return m('.checkbox',\r\n {\r\n 'data-uitest-id': 'Checkbox',\r\n class: handleCheck() ? 'checkbox--checked' : '',\r\n },\r\n [\r\n m('input#regNr', {\r\n id: uniqueReference,\r\n onchange: handleCheck,\r\n type: 'checkbox',\r\n value: handleCheck()\r\n }),\r\n m('.checkbox__box'),\r\n m('label.checkbox__label', { for: uniqueReference }, label),\r\n text ? m('label.checkbox__text', m.trust(text)) : '',\r\n ]\r\n );\r\n\r\n };\r\n\r\n return Checkbox;\r\n});\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render'\r\n ],\r\n function (m, Render) {\r\n\r\n // Template:\r\n var Loader = function (controller) {\r\n\r\n // Variables:\r\n var render = Render();\r\n\r\n // Functions:\r\n var generateCubeFaces = function () {\r\n var cubeFaces = [];\r\n var cubeFace = m('div', { class: 'cube-face' }, [\r\n m('div', { class: 'square' }),\r\n m('div', { class: 'diamond' }),\r\n m('div', { class: 'circle' }),\r\n m('div', { class: 'triangle' })\r\n ]);\r\n var cubeInnerFace = m('div', { class: 'cube-inner-face' });\r\n var emoji = m('div', { class: 'emoji-face' }, [\r\n m('div', { class: 'eyes' }, [\r\n m('div', { class: 'eyebrows' })\r\n ]),\r\n m('div', { class: 'mouth' })\r\n ]);\r\n var numberOfFaces = 6;\r\n\r\n for (var i = 0; i < numberOfFaces; i++) {\r\n if (i === 0) {\r\n var cubeFaceWithEmoji = JSON.parse(JSON.stringify(cubeFace));\r\n\r\n cubeFaceWithEmoji.children.push(emoji);\r\n cubeFaces.push(cubeFaceWithEmoji);\r\n } else {\r\n cubeFaces.push(cubeFace);\r\n }\r\n }\r\n\r\n for (var j = 0; j < numberOfFaces; j++) {\r\n cubeFaces.push(cubeInnerFace);\r\n }\r\n\r\n return cubeFaces;\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var cube = nodes['cube'];\r\n var cubeWrapper = nodes['cubeWrapper'];\r\n var $cube = cube.$element;\r\n var $cubeWrapper = cubeWrapper.$element;\r\n\r\n if (controller.error()) {\r\n var cycleEnd = function (event) {\r\n if (event.animationName === 'giro') {\r\n $cubeWrapper.className += ' error';\r\n }\r\n };\r\n\r\n $cube.addEventListener('animationiteration', cycleEnd, false);\r\n }\r\n });\r\n\r\n // View:\r\n return m('div', { class: 'ds-cube-loader-wrapper' }, [\r\n m('div', { class: 'spinner' }),\r\n m('div', { class: 'ds-cube-wrapper', config: render.depend('cubeWrapper') }, [\r\n m('div', { class: 'ds-cube', config: render.depend('cube') }, [\r\n generateCubeFaces()\r\n ]),\r\n m('div', { class: 'ds-cube-loader-text' }, [\r\n m('div', { class: 'ds-cube-loader-text-headline' }, controller.d('Loader/ErrorHeadline')),\r\n m('div', { class: 'ds-cube-loader-text-description' }, controller.d('Loader/ErrorDescription'))\r\n ])\r\n ])\r\n ]);\r\n };\r\n\r\n // Public functions:\r\n return Loader;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SimpleLoader',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Template:\r\n var SimpleLoader = function () {\r\n var generateCubeFaces = function () {\r\n var cubeInnerFace = m('.cube-inner-face');\r\n var cubeFace = m('.cube-face', [\r\n m('.square'),\r\n m('.diamond'),\r\n m('.circle'),\r\n m('.triangle')\r\n ]);\r\n\r\n return [\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace,\r\n cubeInnerFace\r\n ];\r\n };\r\n\r\n return m('.ds-cube-loader-wrapper',\r\n m('.ds-cube-wrapper',\r\n m('.ds-cube', generateCubeFaces())\r\n )\r\n );\r\n };\r\n\r\n // Public functions:\r\n return SimpleLoader;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Error',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader'\r\n ],\r\n function (m, Dictionary, Loader) {\r\n\r\n // Template:\r\n var Error = function () {\r\n\r\n // Controller:\r\n var controller = function () {\r\n\r\n // Variables:\r\n this.d = Dictionary.get.bind({ prefix: 'Game/' });\r\n this.error = m.prop(true);\r\n\r\n };\r\n\r\n // View:\r\n return Loader(new controller());\r\n\r\n };\r\n\r\n // Public functions:\r\n return Error;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/JackpotRangeSlider',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Hammer',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Framework/HammerTime',\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils'\r\n ],\r\n function (Hammer, ignoredHammerTime, m, Render, DOMUtils) {\r\n\r\n // Template:\r\n var JackpotRangeSlider = function (controller) {\r\n\r\n // Variables:\r\n var interval = controller.jackpotInterval();\r\n var maskSpaces = [];\r\n var maximum = controller.jackpotMaximum();\r\n var minimum = controller.jackpotMinimum();\r\n var render = Render();\r\n var sliderPipes = interval.map(function () {\r\n return '|';\r\n }).join(' ');\r\n\r\n for (var i = 0; i < 100; i++) {\r\n maskSpaces.push(' ');\r\n }\r\n\r\n maskSpaces = maskSpaces.join('');\r\n\r\n var selectedFound = interval.some(function (value) {\r\n return controller.jackpotSelected() === value;\r\n });\r\n\r\n if (!selectedFound) {\r\n controller.jackpotSelected(minimum);\r\n }\r\n\r\n var selected = controller.jackpotSelected();\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var back = nodes['back'];\r\n var bar = nodes['bar'];\r\n var mask = nodes['mask'];\r\n var slider = nodes['slider'];\r\n var white = nodes['white'];\r\n var wrapper = nodes['wrapper'];\r\n var $back = back.$element;\r\n var $bar = bar.$element;\r\n var $mask = mask.$element;\r\n var $slider = slider.$element;\r\n var $white = white.$element;\r\n var $wrapper = wrapper.$element;\r\n\r\n if (!slider.rendered) {\r\n var barWidth = DOMUtils.calculateElementOuterWidth($bar);\r\n var currentPosition = 0;\r\n var delta = 0;\r\n var deltaBegin = 0;\r\n var deltaEnd = 0;\r\n var game = controller.game();\r\n var hammer = new Hammer($slider);\r\n var sliderWidth = DOMUtils.calculateElementOuterWidth($slider);\r\n var barSliderWidth = barWidth - (sliderWidth * 1.3);\r\n var step = barWidth / interval.length;\r\n\r\n $slider.addEventListener('mousedown', function () {\r\n $slider.className += ' pressed';\r\n });\r\n\r\n hammer.on('panstart', function (event) {\r\n deltaBegin = event.deltaX;\r\n\r\n $slider.className += ' pressed';\r\n $wrapper.className += ' pressed';\r\n });\r\n\r\n hammer.on('panleft panright', function (event) {\r\n delta = (controller.property('jackpotRangeSliderPosition') || 0) + event.deltaX;\r\n\r\n if (delta < 0) {\r\n delta = 0;\r\n } else if (delta > barSliderWidth) {\r\n delta = barSliderWidth;\r\n }\r\n\r\n $back.style.transform = 'translateX(' + delta + 'px) scale(1.6)';\r\n $mask.style.transform = 'translateX(' + delta + 'px)';\r\n $slider.style.transform = 'translateX(' + delta + 'px)';\r\n $white.style.transform = 'translateX(' + delta + 'px)';\r\n\r\n currentPosition = Math.round(delta / step);\r\n });\r\n\r\n hammer.on('panend', function (event) {\r\n deltaEnd = event.deltaX;\r\n\r\n var deltaDifference = deltaEnd - deltaBegin;\r\n var position = controller.property('jackpotRangeSliderPosition') || 0;\r\n var finalPosition = position + deltaDifference;\r\n\r\n if (finalPosition < 0) {\r\n finalPosition = 0;\r\n } else if (finalPosition > barSliderWidth) {\r\n finalPosition = barSliderWidth;\r\n }\r\n\r\n currentPosition = Math.round(finalPosition / step);\r\n\r\n if (currentPosition >= interval.length) {\r\n currentPosition = interval.length - 1;\r\n }\r\n\r\n finalPosition = (currentPosition * step) + (currentPosition * 1.3);\r\n\r\n $back.style.transform = 'translateX(' + finalPosition + 'px) scale(1.6)';\r\n $mask.style.transform = 'translateX(' + finalPosition + 'px)';\r\n $slider.style.transform = 'translateX(' + finalPosition + 'px)';\r\n $white.style.transform = 'translateX(' + finalPosition + 'px)';\r\n\r\n controller.property('jackpotRangeSliderPosition', finalPosition);\r\n controller.property('jackpotRangeSliderPreviouslySelected', controller.jackpotSelected());\r\n\r\n controller.jackpotSelected(interval[currentPosition]);\r\n\r\n game.plusSubscriptionJackpot(controller.jackpotSelected());\r\n game.save();\r\n\r\n $slider.className = 'slider-knob';\r\n $wrapper.className = 'slider-bar-wrapper';\r\n\r\n m.redraw();\r\n });\r\n }\r\n });\r\n\r\n // TODO: have an init method that sets the initial position of the slider knob.\r\n\r\n // View:\r\n return m('div', { class: 'jackpot-subscriptions-range-slider-container', config: interval.length > 1 ? render.depend() : null }, [\r\n m('div', { class: 'jackpot-range-slider-headline' }, controller.d('JoinWhenPoolSizeIsMinimum')),\r\n m('div', { class: 'jackpot-range-slider-wrapper' }, [\r\n m('div', { class: 'slider-header' }, [\r\n m('div', { class: 'limit' }, [\r\n m('div', { class: 'amount-wrapper' }, interval.map(function (value) {\r\n return m('div', { class: 'amount' + (selected == value ? ' selected' : '') + (controller.property('jackpotRangeSliderPreviouslySelected') == value && selected != value ? ' previously-selected' : '') }, value);\r\n })),\r\n m('span', { class: 'limit-text' }, controller.d('SliderMio'))\r\n ]),\r\n m('div', { class: 'slider-button minus' }, '-'),\r\n m('div', { class: 'slider-button plus' }, '+'),\r\n ]),\r\n interval.length > 1 ?\r\n m('div', { class: 'slider-bar-wrapper', config: render.depend('wrapper') }, [\r\n m('div', { class: 'slider-bar', config: render.depend('bar') }, [\r\n m('div', { class: 'slider-white-bar', config: render.depend('white') })\r\n ]),\r\n m('div', { class: 'slider-knob', config: render.depend('slider') }, [\r\n m('div', { class: 'knob-arrows' })\r\n ]),\r\n m('div', { class: 'slide-back-knob', config: render.depend('back') }),\r\n m('div', { class: 'slider-grid-mask-wrapper' }, [\r\n m('div', { class: 'grid-mask', config: render.depend('mask') }),\r\n m.trust(sliderPipes),\r\n m.trust(maskSpaces)\r\n ]),\r\n m('div', { class: 'slider-grid' }, [\r\n m.trust(sliderPipes),\r\n m.trust(maskSpaces)\r\n ]),\r\n m('span', { class: 'slider-value minimum' }, controller.d('SliderMillions', { millions: minimum })),\r\n m('span', { class: 'slider-value maximum' }, controller.d('SliderMillions', { millions: maximum }))\r\n ]) : null\r\n ])\r\n ]);\r\n };\r\n\r\n // Public functions:\r\n return JackpotRangeSlider;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/JokerToggle',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Template:\r\n var JokerToggle = function (controller) {\r\n\r\n // Variables:\r\n var game = controller.game();\r\n var valid = game.isGameValid();\r\n var withJokerSaturday = game.withJokerSaturday();\r\n var withJokerWednesday = game.withJokerWednesday();\r\n var hasWednesdayJoker = controller.isJackpot() ? controller.hasWednesdayJoker() : true;\r\n var hasSaturdayJoker = controller.isJackpot() ? controller.hasSaturdayJoker() : true;\r\n\r\n if (game.playType() === 'Lightning' && game.rowsToGenerate() === 0) {\r\n valid = false;\r\n }\r\n\r\n var bothJoker = typeof (controller.manualGameVersionNo) === 'function' && controller.manualGameVersionNo() === 2;\r\n var withJoker = withJokerWednesday || withJokerSaturday;\r\n var hasJoker = hasWednesdayJoker || hasSaturdayJoker;\r\n\r\n // View:\r\n return m('div', { class: 'subscriptions-joker-toggle-wrapper' + (valid ? ' active' : '') }, [\r\n valid && withJokerSaturday && withJokerWednesday ? null : m('div', { class: 'joker-toggle-invalid-text' }, controller.d('JokerInvalid')),\r\n m('div', { class: 'joker-toggle-switchs-wrapper' }, [\r\n m('div', { class: 'toggle-switchs-logo' }, [\r\n m('svg', { class: 'joker-text-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGamePackage/Graphics/SpriteSheets/PackageCommonIcons.svg#icon-joker_logo_white' })\r\n ]),\r\n m('svg', { class: 'joker-hat-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGamePackage/Graphics/SpriteSheets/PackageCommonIcons.svg#icon-joker_hue_for_white_bg' })\r\n ])\r\n ]),\r\n bothJoker ? null : m('div', { class: 'toggle-switch-wrapper' + (valid && hasWednesdayJoker ? ' active ' : '') + (valid && withJokerWednesday ? ' selected' : ''), onclick: valid && hasWednesdayJoker ? controller.toggleJoker('Wednesday') : null }, [\r\n m('div', { class: 'joker-description' }, controller.d('JokerPriceWednesday', { price: controller.jokerPrice() })),\r\n m('div', { class: 'toggle-switch' }, [\r\n m('svg', { class: 'check-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons.svg#icon-checkmark' })\r\n ]),\r\n m('span', { class: 'bar-icon' })\r\n ])\r\n ]),\r\n bothJoker ? null : m('div', { class: 'toggle-switch-wrapper' + (valid && hasSaturdayJoker ? ' active ' : '') + (valid && withJokerSaturday ? ' selected' : ''), onclick: valid && hasSaturdayJoker ? controller.toggleJoker('Saturday') : null }, [\r\n m('div', { class: 'joker-description' }, controller.d('JokerPriceSaturday', { price: controller.jokerPrice() })),\r\n m('div', { class: 'toggle-switch' }, [\r\n m('svg', { class: 'check-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons.svg#icon-checkmark' })\r\n ]),\r\n m('span', { class: 'bar-icon' })\r\n ])\r\n ]),\r\n !bothJoker ? null : m('div', { class: 'toggle-switch-wrapper' + (valid && hasJoker ? ' active ' : '') + (valid && withJoker ? ' selected' : ''), onclick: valid && hasJoker ? controller.toggleJoker('both') : null }, [\r\n m('div', { class: 'joker-description' }, controller.d(controller.isJackpot() ? 'JokerPrice' : 'JokerPriceBoth', { price: controller.jokerPrice() * (controller.isJackpot() ? 1 : 2) })),\r\n m('div', { class: 'toggle-switch' }, [\r\n m('svg', { class: 'check-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/NumberGames/Graphics/SpriteSheets/NumberGamesCommonIcons.svg#icon-checkmark' })\r\n ]),\r\n m('span', { class: 'bar-icon' })\r\n ])\r\n ])\r\n ])\r\n ]);\r\n\r\n };\r\n\r\n // Public functions:\r\n return JokerToggle;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SeparatorLine',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ], (m) => {\r\n\r\n const SeparatorLine = (label) => {\r\n\r\n return m('.separator-line', { class: !label ? 'separator-line--no-label' : '' },\r\n label ? [\r\n m('.separator-line__line'),\r\n m('.separator-line__label', label),\r\n m('.separator-line__line'),\r\n ] : m('.separator-line__line')\r\n );\r\n\r\n };\r\n\r\n return SeparatorLine;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/PaymentMethods',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SeparatorLine',\r\n ], (m, Dictionary, SeparatorLine) => {\r\n\r\n const PaymentMethods = (\r\n {\r\n administerNewCards,\r\n bsEnabled,\r\n mobilePayEnabled,\r\n applePayEnabled,\r\n changeAccountNumber,\r\n changeCreditCard,\r\n changeRegistrationNumber,\r\n creditCardEnabled,\r\n fundingType,\r\n isJackpot,\r\n maxNumberOfCreditCards,\r\n selectedAccountNumber,\r\n selectedCreditCard,\r\n selectedRegistrationNumber,\r\n setFundingType,\r\n storedCards,\r\n }) => {\r\n\r\n const showBsFunding = bsEnabled && !isJackpot;\r\n const showCreditCardFunding = creditCardEnabled;\r\n const showMobilePay = mobilePayEnabled;\r\n const showApplePay = applePayEnabled;\r\n const d = Dictionary.get.bind({ prefix: 'Funding/PaymentMethods/' });\r\n\r\n // Pre-select \"New card\" button, if no cards exist on customer's account.\r\n if (fundingType() === 'creditCard' && storedCards.length === 0) {\r\n changeCreditCard({ cardId: 'new' });\r\n }\r\n\r\n return m('.payment-methods', { 'data-uitest-id': 'PaymentMethods' }, [\r\n showCreditCardFunding ? [\r\n m('.btn-checked', {\r\n onclick: setFundingType.bind(null, 'creditCard'),\r\n class: fundingType() === 'creditCard' ? 'btn--selected' : 'btn--unselected',\r\n 'data-uitest-id': 'PaymentMethods__btn--creditcard'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', d('CreditCard/Label')),\r\n m('.btn-checked__icons',\r\n m('img', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/ButtonIcons/creditcards.svg' })\r\n ),\r\n ])\r\n ]),\r\n\r\n fundingType() === 'creditCard' ?\r\n [\r\n SeparatorLine(d('CreditCard/SeparatorLabel')),\r\n\r\n storedCards.filter((card) => !card.isApplePay).map(((card) => {\r\n const month = card.cardExpirationDate?.month;\r\n const year = card.cardExpirationDate?.year;\r\n return m('.btn-checked.btn-checked--sub-btn', {\r\n class: selectedCreditCard()?.cardId === card.cardId ? 'btn--selected' : 'btn--unselected',\r\n onclick: changeCreditCard.bind(null, card),\r\n 'data-uitest-id': 'PaymentMethods__card'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', card.cardName),\r\n m('.btn-checked__sublabel', [\r\n card.cardNumber.replace(/x/ig, '●'),\r\n m('span', d('CreditCard/ExpireDate', { month, year })),\r\n ]),\r\n ])\r\n ]);\r\n })),\r\n\r\n storedCards.length < maxNumberOfCreditCards\r\n ? m('.btn-checked.btn-checked--sub-btn', {\r\n class: selectedCreditCard()?.cardId === 'new' || (storedCards.length === 0 && !selectedCreditCard()) ? 'btn--selected' : 'btn--unselected',\r\n onclick: changeCreditCard.bind(null, { cardId: 'new' }),\r\n 'data-uitest-id': 'PaymentMethods__card'\r\n }, [\r\n m('.btn-checked__plus'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', d('CreditCard/AddNewCard')),\r\n ])\r\n ]) : '',\r\n\r\n storedCards.length > 0\r\n ? m('.payment-method__manage-cards-link', { onclick: administerNewCards }, d('CreditCard/ManageStoredCards'))\r\n : '',\r\n\r\n ] : '',\r\n ] : '',\r\n\r\n showMobilePay ? [\r\n SeparatorLine(),\r\n m('.btn-checked', {\r\n onclick: () => {\r\n setFundingType('mobilePay');\r\n changeCreditCard({ cardId: 'mobilePay' });\r\n },\r\n class: fundingType() === 'mobilePay' ? 'btn--selected' : 'btn--unselected',\r\n 'data-uitest-id': 'PaymentMethods__btn--mobile-pay'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', 'MobilePay'),\r\n m('.btn-checked__icons', { class: 'btn-checked__icons--mobile-pay' },\r\n m('img', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/ButtonIcons/mobilepay.svg' })\r\n ),\r\n ])\r\n ]),\r\n ] : null,\r\n\r\n showApplePay ? [\r\n SeparatorLine(),\r\n m('.btn-checked', {\r\n onclick: () => {\r\n changeCreditCard({ cardType: 'ApplePay', cardId: 'applePay' });\r\n setFundingType('applePay');\r\n },\r\n class: fundingType() === 'applePay' ? 'btn--selected' : 'btn--unselected',\r\n 'data-uitest-id': 'PaymentMethods__btn--apple-pay'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', d('Mobile/ApplePay')),\r\n m('.btn-checked__icons',\r\n m('img', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/ButtonIcons/applepay.svg' })\r\n ),\r\n ])\r\n ]),\r\n ] : null,\r\n\r\n showBsFunding ? [\r\n SeparatorLine(),\r\n\r\n m('.btn-checked', {\r\n onclick: setFundingType.bind(null, 'paymentService'),\r\n class: fundingType() === 'paymentService' ? 'btn--selected' : 'btn--unselected',\r\n 'data-uitest-id': 'PaymentMethods__btn--payment-service'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', d('Bs/Label')),\r\n m('.btn-checked__icons',\r\n m('img', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/ButtonIcons/bs.svg' })\r\n ),\r\n ])\r\n ]),\r\n\r\n fundingType() === 'paymentService' ? [\r\n SeparatorLine(d('Bs/SeparatorLabel')),\r\n\r\n m('.payment-method__bank-account', { 'data-uitest-id': 'PaymentMethods__BS' }, [\r\n m('.payment-method__bank-account-reg-nr', [\r\n m('label', { for: 'regNr' }, d('Bs/RegNumber')),\r\n m('input#regNr', {\r\n oninput: m.withAttr('value', changeRegistrationNumber),\r\n type: 'number',\r\n value: selectedRegistrationNumber()\r\n }),\r\n ]),\r\n m('.payment-method__bank-account-account-nr', [\r\n m('label', { for: 'accNr' }, d('Bs/AccountNumber')),\r\n m('input#accNr', {\r\n oninput: m.withAttr('value', changeAccountNumber),\r\n type: 'number',\r\n value: selectedAccountNumber()\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 return PaymentMethods;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n ],\r\n function (m, Utils) {\r\n return {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.showProceed = m.prop(!!this.proceed);\r\n this.showGoBack = m.prop(!!this.back);\r\n this.canProceed = this.canProceed || m.prop(true);\r\n this.proceedClicked = m.prop(false);\r\n this.backClicked = m.prop(false);\r\n this.proceedLabel = m.prop(this.proceedLabel || 'CtaLabels/Next');\r\n this.proceedLabelAmount = this.proceedLabelAmount ? this.proceedLabelAmount : m.prop();\r\n\r\n this.proceedHandler = function () {\r\n this.proceedClicked(true);\r\n this.backClicked(false);\r\n m.redraw();\r\n this.proceed();\r\n }.bind(this);\r\n\r\n this.backHandler = function () {\r\n this.proceedClicked(false);\r\n this.backClicked(true);\r\n m.redraw();\r\n this.back();\r\n }.bind(this);\r\n\r\n this.loading = this.loading || m.prop();\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-proceedbar',\r\n {\r\n class: controller.loading() ? 'wizard-proceedbar--loading' : ''\r\n }, [\r\n\r\n controller.showGoBack()\r\n ? m('.wizard-proceedbar__btn-back', {\r\n class: controller.backClicked() ? 'btn--selected' : '',\r\n onclick: !controller.loading() ? controller.backHandler : null,\r\n 'data-uitest-id': 'ProceedBar__btn--back'\r\n })\r\n : null,\r\n\r\n controller.showProceed()\r\n ? m('.wizard-proceedbar__btn-proceed', {\r\n class: (controller.proceedClicked() ? ' btn--selected' : '') + (!controller.canProceed() ? ' btn--disabled' : ''),\r\n onclick: !controller.loading() && controller.canProceed() ? controller.proceedHandler : null,\r\n 'data-uitest-id': 'ProceedBar__btn--proceed'\r\n }, controller.loading() ? controller.d('CtaLabels/Loading') : m.trust(controller.d(controller.proceedLabel(), { amount: controller.proceedLabelAmount() })))\r\n : null,\r\n ]);\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/StepsIndicator',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n\r\n // Template:\r\n var StepsIndicator = function (step, numberOfSteps) {\r\n\r\n // View:\r\n return m('.steps-indicator',\r\n m('.steps-indicator__inner', [\r\n m('.steps-indicator__steps',\r\n (function () {\r\n var arr = [];\r\n for (var i = 1; i <= numberOfSteps; i++) {\r\n arr.push(m('.steps-indicator__step', {\r\n class: i <= step ? 'steps-indicator__step--selected' : ''\r\n }, i));\r\n }\r\n return arr;\r\n })()\r\n ),\r\n m('.steps-indicator__bg', [\r\n m('.steps-indicator__bg-selected', {\r\n style: 'width:' + (((step - 1) / (numberOfSteps - 1)) * 100) + '%'\r\n })\r\n ]),\r\n m('svg.steps-indicator__filter',\r\n m('defs',\r\n m('filter#steps-indicator__filter-goo', [\r\n m('feGaussianBlur', { in: 'SourceGraphic', result: 'blur', stdDeviation: '7', x: '0' }),\r\n m('feColorMatrix', {\r\n in: 'blur',\r\n mode: 'matrix',\r\n result: 'goo',\r\n values: '1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 19 -9'\r\n }),\r\n m('feComposite', { in: 'SourceGraphic', in2: 'goo' })\r\n ])\r\n )\r\n )\r\n ])\r\n );\r\n };\r\n\r\n // Public functions:\r\n return StepsIndicator;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils'\r\n ],\r\n function (m, Dictionary, Utils) {\r\n var Step = function (step, total) {\r\n var d = Dictionary.get.bind({ prefix: 'Wizard/Step/' });\r\n\r\n // if the user got in the purchase flow by selecting 'buy as subscription' in a game from the LottoApp\r\n // then we set in sessionStorage the key 'isLottoAppPurchase' to true, if the key is found\r\n // then we need to hide '.wizard-topnav' element\r\n // '.wizard-topnav' is added as static HTML in 9 .ascx files and Step.js is common for all of them and made the most sense to add this logic here\r\n if (Utils.getSessionStorage('isLottoAppPurchase')) {\r\n document.querySelector('.wizard-topnav').style.display = 'none';\r\n }\r\n\r\n return m('.wizard-step', { 'data-uitest-id': 'Step' }, m.trust(d('Label', { step: step, total: total })));\r\n };\r\n\r\n return Step;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Outputs',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Texts',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n ],\r\n function (m, Texts, ProceedBar, Step) {\r\n\r\n var getStepIndicator = function (stepArr) {\r\n var step = stepArr ? stepArr[0] || null : null;\r\n var numberOfSteps = stepArr ? stepArr[1] || null : null;\r\n\r\n if (step && numberOfSteps) {\r\n return Step(step, numberOfSteps);\r\n }\r\n };\r\n\r\n var init = function (showSteps, showProceedBar, deleteProceedNext, deleteProceedBack) {\r\n\r\n return function (dPath, cb) {\r\n var texts = Texts(this.d, dPath, false, false, false, !cb);\r\n\r\n if (deleteProceedNext) {\r\n delete this.proceed;\r\n m.redraw();\r\n }\r\n\r\n if (deleteProceedBack) {\r\n delete this.back;\r\n m.redraw();\r\n }\r\n\r\n var steps = showSteps ? getStepIndicator(this.step()) : null;\r\n var title = texts.title ? m('h2', m.trust(texts.title)) : null;\r\n var subtitle = texts.subtitle ? m('h3.subtitle', m.trust(texts.subtitle)) : null;\r\n var text = texts.text ? m('p', m.trust(texts.text)) : null;\r\n var button = cb && texts.ctaLabel ? m('.buttons', m('.button.button--primary', { onclick: cb }, texts.ctaLabel)) : null;\r\n var proceedBar = showProceedBar && (this.back || this.proceed) ? ProceedBar(this) : null;\r\n\r\n return [\r\n steps,\r\n title,\r\n subtitle,\r\n text,\r\n button,\r\n proceedBar\r\n ];\r\n };\r\n };\r\n\r\n // Public functions:\r\n return init;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/FlipClock',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Framework/TimeUtils/Scripts/TimeUtils'\r\n ],\r\n function (m, Render, TimeUtils) {\r\n var render = Render();\r\n\r\n return {\r\n controller: function (options) {\r\n var deadline = new Date(options.deadline);\r\n var countersBefore = {};\r\n var countersActive = {};\r\n var toggleStates = {};\r\n\r\n this.flipper = function (counter) {\r\n var diff = deadline - TimeUtils.getServerDateTime();\r\n var t = TimeUtils.getCompoundTimeObject(diff);\r\n\r\n if (countersBefore[counter] !== t[counter]) {\r\n countersBefore[counter] = t[counter];\r\n countersActive[counter] = t[counter] + 1;\r\n toggleStates[counter] = !toggleStates[counter];\r\n }\r\n\r\n var state = toggleStates[counter];\r\n var valBefore = formatCounter(counter, countersBefore[counter]);\r\n var valActive = formatCounter(counter, countersActive[counter]);\r\n\r\n return m('ul.flip', [\r\n m('li', { class: state ? 'active' : 'before' },\r\n m('.flipper', [\r\n m('.up', [\r\n m('.shadow'),\r\n m('.inn.js-up', state ? valBefore : valActive)\r\n ]),\r\n m('.down', [\r\n m('.shadow'),\r\n m('.inn.js-down', state ? valBefore : valActive)\r\n ]),\r\n ])),\r\n m('li', { class: !state ? 'active' : 'before' },\r\n m('.flipper', [\r\n m('.up', [\r\n m('.shadow'),\r\n m('.inn.js-up', !state ? valBefore : valActive)\r\n ]),\r\n m('.down', [\r\n m('.shadow'),\r\n m('.inn.js-down', !state ? valBefore : valActive)\r\n ]),\r\n ]))\r\n ]);\r\n };\r\n\r\n var formatCounter = function (counter, val) {\r\n if (counter === 'days') {\r\n val = val >= 99 ? 99 : val;\r\n } else if (counter === 'hours') {\r\n val = val === 24 ? 0 : val;\r\n } else {\r\n // mins and secs\r\n val = val === 60 ? 0 : val;\r\n }\r\n // prefix with zero for value 0-9\r\n val = ('0' + val).slice(-2);\r\n return val;\r\n };\r\n\r\n render.ready.then(function () {\r\n // \"manually\" redraw every second if Time Consuming Notification is not doing it for us\r\n if (!document.querySelector('div[data-component=time-consuming-notification]')) {\r\n setInterval(function () {\r\n m.redraw();\r\n }, 1000);\r\n }\r\n });\r\n\r\n return this;\r\n },\r\n\r\n view: function (component) {\r\n return m('.flip-clock.play.flip-clock--small', {\r\n config: render.depend()\r\n }, [\r\n component.flipper('days'),\r\n component.flipper('hours'),\r\n component.flipper('mins'),\r\n component.flipper('secs')\r\n ]);\r\n }\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Modal',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n ],\r\n function (m, Utils) {\r\n\r\n return {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n\r\n this.handleProceed = function () {\r\n this.modal.show(false);\r\n if (this.modal.proceedCta === 'reload') {\r\n location.reload();\r\n } else {\r\n this.modal.proceedCta();\r\n }\r\n }.bind(this);\r\n\r\n this.handleDefault = function () {\r\n this.modal.show(false);\r\n this.modal.defaultCta();\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-modal', { class: controller.modal.show() ? 'wizard-modal--show' : '' },\r\n m('.wizard-modal__box', [\r\n controller.modal.logoSrc() ? m('img.wizard-modal__logo', {\r\n src: controller.modal.logoSrc()\r\n }) : null,\r\n\r\n controller.modal.title() ? m('.wizard-modal__title', m.trust(controller.modal.title())) : null,\r\n controller.modal.text() ? m('.wizard-modal__text', m.trust(controller.modal.text())) : null,\r\n\r\n m('.wizard-modal__btns', [\r\n controller.modal.proceedLabel() ? m('.wizard-modal__btn-proceed', {\r\n onclick: controller.handleProceed,\r\n 'data-uitest-id': 'Modal__btn--proceed'\r\n }, controller.modal.proceedLabel()) : null,\r\n\r\n controller.modal.defaultLabel() ? m('.wizard-modal__btn', {\r\n onclick: controller.handleDefault,\r\n label: controller.modal.defaultLabel(),\r\n 'data-uitest-id': 'Modal__btn--default'\r\n }, controller.modal.defaultLabel()) : null,\r\n ])\r\n\r\n ])\r\n );\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ], (m) => {\r\n const PlusHeader = ({ center, h1, title, subtitle, text, disclaimer }) => {\r\n return m('.plus-header', {\r\n 'data-uitest-id': 'Header',\r\n class: center ? 'plus-header--centered' : ''\r\n }, [\r\n h1 ? m('.plus-header__h1', { 'data-uitest-id': 'h1' }, m.trust(h1)) : null,\r\n title ? m('.plus-header__title', { 'data-uitest-id': 'title' }, m.trust(title)) : null,\r\n subtitle ? m('.plus-header__subtitle', { 'data-uitest-id': 'subtitle' }, m.trust(subtitle)) : null,\r\n text ? m('.plus-header__text', { 'data-uitest-id': 'text' }, m.trust(text)) : null,\r\n disclaimer ? m('.plus-header__disclaimer', { 'data-uitest-id': 'disclaimer' }, m.trust(disclaimer)) : null,\r\n ]);\r\n\r\n };\r\n\r\n return PlusHeader;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Receipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Common/Framework/EventHandling/Scripts/AppEvent',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/CreditCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Receipt',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/YourNextDraws',\r\n ],\r\n function (Component, AppEvent, Params, Payment, AllOrNothingInfo, EurojackpotInfo, LottoInfo, Api, CreditCard, Dictionary, LoggedInOrOut, ModelStorage, State, Utils, Vars, Subscription, Modal, ProceedBar, VikingLottoInfo, DataLayer, ErrorMessage, Header, Receipt, YourNextDraws) {\r\n Component('receipt', [Dictionary, AllOrNothingInfo, EurojackpotInfo, LottoInfo, VikingLottoInfo], function (m, route, settings) {\r\n\r\n const root = {\r\n controller: function () {\r\n this.gapFundingLink = m.prop(settings.gapFundingLink);\r\n this.gapFundingModalDelay = m.prop(settings.gapFundingModalDelay);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.proceedLink = m.prop(settings.proceedLink);\r\n this.storedCards = m.prop(CreditCard.getStoredCards(settings.storedCards, '') || []);\r\n this.canBeGapFunded = m.prop();\r\n this.fundedCard = m.prop();\r\n this.gameInfo = m.prop({\r\n allornothing: AllOrNothingInfo,\r\n eurojackpot: EurojackpotInfo,\r\n lotto: LottoInfo['saturday'](),\r\n vikinglotto: VikingLottoInfo,\r\n });\r\n this.gapFundedCard = m.prop();\r\n this.gapFundingTransaction = m.prop();\r\n this.hasBeenGapFunded = m.prop();\r\n this.isJackpot = m.prop();\r\n this.modalDelayDone = m.prop(false);\r\n this.outputVars = m.prop({});\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.subscriptionHasUnpayedPaymentPlan = m.prop();\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/Receipt/' });\r\n this.dPaymentMethods = Dictionary.get.bind({ prefix: 'Plus/PaymentMethods/' });\r\n this.state = new State('loading');\r\n this.proceedLabel = 'ProceedBar/Proceed';\r\n\r\n this.proceed = () => {\r\n location.href = Utils.link(this.proceedLink()).link;\r\n };\r\n\r\n this.goToGapFunding = () => {\r\n return () => {\r\n location.href = Utils.link(this.gapFundingLink()).addCurrentParams().link;\r\n };\r\n };\r\n\r\n const trackingGetProductsFromLocalStorage = (subscription) => {\r\n let subscriptionFromLocalStorageValues = Subscription.setupGame({ gameInstanceId: subscription.id });\r\n const basketStorage = ModelStorage.get(subscription.verticalType());\r\n const basketProperties = basketStorage?.basketProperties;\r\n if (Array.isArray(subscriptionFromLocalStorageValues)) {\r\n subscriptionFromLocalStorageValues = subscriptionFromLocalStorageValues[0];\r\n }\r\n let products = [];\r\n const games = (subscriptionFromLocalStorageValues && subscriptionFromLocalStorageValues.gameInstances()) || [];\r\n games.forEach((instance) => {\r\n const productArray = instance.instance.createDataLayerProduct('plus').map((dataLayerProduct) => dataLayerProduct);\r\n if (basketProperties?.weekPackageData?.gameIds?.length > 0) {\r\n const basketGameIds = basketStorage[instance.type.toLowerCase()]?.[instance.instance.playType().toLowerCase()];\r\n const weekPackageMatchId = basketProperties.weekPackageData.gameIds.find((id) => basketGameIds?.includes(id));\r\n if (weekPackageMatchId) {\r\n productArray.forEach((product) => product.coupon = basketProperties.weekPackageData.packageDescription);\r\n }\r\n }\r\n products = products.concat(productArray);\r\n });\r\n return products;\r\n };\r\n\r\n const trackingGetWizardProductsFromLocalStorage = () => {\r\n const wizardPackages = ModelStorage.basket('plus').wizardpackage;\r\n let wizardProducts = [];\r\n if (wizardPackages && wizardPackages.length) {\r\n wizardPackages.forEach((wizardPackage) => {\r\n const gameInstances = wizardPackage.gameInstances();\r\n for (const gameType in gameInstances) {\r\n if (gameInstances.hasOwnProperty(gameType)) {\r\n gameInstances[gameType].forEach((gameInstance) => {\r\n const productArray = gameInstance.createDataLayerProduct('plus').map((dataLayerProduct) => {\r\n dataLayerProduct.coupon = wizardPackage.title();\r\n return dataLayerProduct;\r\n });\r\n wizardProducts = wizardProducts.concat(productArray);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n return wizardProducts;\r\n };\r\n\r\n const doTracking = (subscription) => {\r\n const verticalType = subscription.isJackpot ? 'jackpot' : 'plus';\r\n const isGapFunded = subscription.gapFundingPaymentMethodId;\r\n let subscriptionFromLocalStorageValues = Subscription.setupGame({ gameInstanceId: subscription.id });\r\n ModelStorage.trackBasketCheckout(verticalType, 3);\r\n const basketProperties = ModelStorage.get(verticalType)?.basketProperties;\r\n if (Array.isArray(subscriptionFromLocalStorageValues)) subscriptionFromLocalStorageValues = subscriptionFromLocalStorageValues[0];\r\n if (!subscriptionFromLocalStorageValues) {\r\n ModelStorage.clear(verticalType);\r\n return;\r\n }\r\n const products = trackingGetProductsFromLocalStorage(subscriptionFromLocalStorageValues);\r\n let wizardProducts = trackingGetWizardProductsFromLocalStorage();\r\n ModelStorage.clear(verticalType);\r\n\r\n if (isGapFunded) {\r\n wizardProducts = JSON.parse(localStorage.getItem('plus-wizard-gab-data')) || [];\r\n localStorage.removeItem('plus-wizard-gab-data');\r\n wizardProducts.forEach((product) => product.category = product.category + '_gap');\r\n products.forEach((product) => product.category = product.category + '_gap');\r\n } else if (wizardProducts && wizardProducts.length) {\r\n localStorage.setItem('plus-wizard-gab-data', JSON.stringify(wizardProducts));\r\n }\r\n\r\n let trackProducts = [];\r\n if (wizardProducts && wizardProducts.length) {\r\n trackProducts = wizardProducts;\r\n } else if (products && products.length) {\r\n trackProducts = products;\r\n }\r\n if (trackProducts.length) {\r\n const actionField = {\r\n id: subscription.id,\r\n totalPrice: Utils.calculateTotalPricePerWeekForSubscription(subscription)\r\n };\r\n if (basketProperties) {\r\n if (basketProperties.firstInteraction) {\r\n actionField.firstInteraction = basketProperties.firstInteraction;\r\n }\r\n if (basketProperties.lastInteraction) {\r\n actionField.lastInteraction = basketProperties.lastInteraction;\r\n }\r\n }\r\n DataLayer.purchaseCompleted(actionField, trackProducts);\r\n }\r\n };\r\n\r\n const loadSubscription = () => {\r\n this.state.add('loading');\r\n const id = this.subscriptionId();\r\n\r\n const getSubscriptionSuccess = (res) => {\r\n const subscription = res;\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.subscriptionVars(subscription)));\r\n subscription.games = Utils.sortGamesByDrawDateAndName(subscription.games, this.outputVars().subscriptionDateEffectiveDateRaw);\r\n this.isJackpot(subscription.isJackpot);\r\n this.subscription(subscription);\r\n this.hasBeenGapFunded(!!subscription.gapFundingPaymentMethodId);\r\n this.subscriptionHasUnpayedPaymentPlan(subscription.firstDepositInfo);\r\n\r\n if ((!this.hasBeenGapFunded() || this.subscriptionHasUnpayedPaymentPlan()) && !!this.gapFundingLink()) {\r\n this.canBeGapFunded(true);\r\n }\r\n\r\n this.fundedCard(Utils.getCardFromCardId(this.storedCards(), subscription.fundingPaymentMethodId));\r\n this.gapFundedCard(Utils.getCardFromCardId(this.storedCards(), subscription.gapFundingPaymentMethodId));\r\n if (subscription?.gapFundingPaymentMethodId && !this.gapFundedCard()) {\r\n Payment.getPaymentMethod(subscription.gapFundingPaymentMethodId).then((response) => {\r\n this.gapFundedCard(response);\r\n m.redraw();\r\n }).catch((error) => {\r\n console.error('Payment Method Id = ' + subscription?.gapFundingPaymentMethodId + ' was not found. Error was: ' + error);\r\n });\r\n }\r\n doTracking(subscription);\r\n AppEvent.fire('purchase-complete', { subscriptionId: subscription.id });\r\n };\r\n\r\n const getTransactionsSuccess = (res) => {\r\n if (res && res.length > 0) {\r\n let cardTransaction;\r\n const acceptedTransactions = res.filter((transaction) => transaction.status === 'ACCEPTED');\r\n if (acceptedTransactions.length > 0) {\r\n this.hasBeenGapFunded(true);\r\n cardTransaction = acceptedTransactions.filter((transaction) => transaction.paymentMethodId)[0];\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.transactionVars(cardTransaction)));\r\n }\r\n if (this.subscription().fundingPaymentMethod === 'BS') {\r\n // If the transaction was made on a BS subscription, it was a gap funding transaction.\r\n if (cardTransaction.amount > 0 || cardTransaction.status.toLowerCase() !== 'pending') {\r\n this.gapFundingTransaction({ transaction: cardTransaction });\r\n }\r\n }\r\n }\r\n };\r\n\r\n const getSubscriptionDetailsSuccess = (res) => {\r\n if (res && res.drawPeriods && res.drawPeriods.length > 0) {\r\n const periodFundedByCard = res.drawPeriods.filter((drawPeriod) => drawPeriod.fundingPaymentMethod === 'Card')[0];\r\n if (periodFundedByCard) {\r\n // If we have a draw period on a new BS subscription, funded by Card, it has been gap funded.\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.subscriptionDetailsVars(periodFundedByCard)));\r\n }\r\n }\r\n };\r\n\r\n const getSubscriptionDataSuccess = (res) => {\r\n getSubscriptionSuccess(res[0]);\r\n getSubscriptionDetailsSuccess(res[1]);\r\n getTransactionsSuccess(res[2]);\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.gapFundingVars(res[3])));\r\n this.state.remove('loading');\r\n };\r\n\r\n const getSubscriptionDataError = (err) => {\r\n console.error('Error loading subscription', err);\r\n this.state.add('errorLoadingSubscriptionData');\r\n this.state.remove('loading');\r\n };\r\n\r\n m.sync([\r\n Api.getSubscription(id),\r\n Api.getSubscriptionDetails(id),\r\n Api.getSubscriptionTransactions(id),\r\n Api.getSubscriptionGapFunding(id),\r\n ]).then(getSubscriptionDataSuccess, getSubscriptionDataError);\r\n\r\n };\r\n\r\n this.isGameInSubscription = (gameName) => {\r\n return this.subscription().games.find((game) => {\r\n return game.gameType === gameName;\r\n });\r\n };\r\n\r\n this.ifLoggedIn = () => {\r\n this.state.remove('notLoggedIn');\r\n loadSubscription();\r\n };\r\n\r\n this.ifLoggedOut = () => {\r\n this.state.add('notLoggedIn');\r\n };\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n const error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n if (error) {\r\n return [\r\n m('.plus-error--centered', error),\r\n m(ProceedBar, { controller: controller }),\r\n ];\r\n }\r\n\r\n const vars = controller.outputVars();\r\n const subscription = controller.subscription();\r\n const verticalType = subscription.isJackpot ? 'Jackpot' : 'Plus';\r\n let effectiveDate = vars.subscriptionDateEffectiveDateRaw;\r\n\r\n const headerOptions = {\r\n title: controller.d(`Header/${verticalType}Title${controller.subscriptionHasUnpayedPaymentPlan() ? 'UnpayedPaymentPlan' : ''}`),\r\n subtitle: controller.d(`Header/${verticalType}Subtitle${controller.subscriptionHasUnpayedPaymentPlan() ? 'UnpayedPaymentPlan' : ''}`),\r\n center: true,\r\n };\r\n if (controller.isGameInSubscription('LottoSaturday')) {\r\n headerOptions.text = controller.d(`Header/${verticalType}LottoDescription`);\r\n }\r\n\r\n return [\r\n Header(headerOptions),\r\n\r\n Receipt({ controller, subscription }),\r\n\r\n !controller.subscriptionHasUnpayedPaymentPlan()\r\n ? YourNextDraws({\r\n subscription,\r\n effectiveDate,\r\n separatorLineLabel: controller.d('YourNextDraws/Title'),\r\n }) : '',\r\n\r\n m(ProceedBar, { controller }),\r\n\r\n // Gap Funding Modal\r\n controller.canBeGapFunded() && !controller.hasBeenGapFunded() && !subscription.isJackpot ?\r\n (() => {\r\n let dictionaryPath = 'GapModal/';\r\n let countDown = vars.gapFundingDateEndRaw;\r\n const modalProceed = controller.goToGapFunding;\r\n\r\n if (controller.subscriptionHasUnpayedPaymentPlan()) {\r\n dictionaryPath = 'UnpayedPaymentPlanModal/';\r\n countDown = null;\r\n }\r\n\r\n const gapFundingModalOptions = {\r\n controller,\r\n countDown,\r\n dictionary: controller.d,\r\n dictionaryPath,\r\n modalDelay: controller.gapFundingModalDelay,\r\n modalProceed,\r\n vars,\r\n };\r\n return m.component(Modal, gapFundingModalOptions);\r\n })() : null,\r\n\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/YourNextDraws',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n ], (m, Info, Utils) => {\r\n const YourNextDraws = ({ subscription, effectiveDate, separatorLineLabel = 'Næste trækninger' }) => {\r\n if (!subscription || subscription.isJackpot) return;\r\n const games = JSON.parse(JSON.stringify(subscription.games));\r\n const mappedGames = [];\r\n\r\n const hasJokerWednesday = games.filter((game) => game.withJokerWednesday).length;\r\n const hasJokerSaturday = games.filter((game) => game.withJokerSaturday).length;\r\n if (hasJokerWednesday) mappedGames.push({ gameType: 'jokerwednesday' });\r\n if (hasJokerSaturday) mappedGames.push({ gameType: 'jokersaturday' });\r\n\r\n games.forEach((game) => {\r\n if (game.type === 'wizardpackage') {\r\n Object.keys(game.game.gameIds).forEach((gameId) => {\r\n if (game.game.gameIds[gameId].length) {\r\n mappedGames.push({ gameType: gameId });\r\n }\r\n });\r\n } else {\r\n mappedGames.push({ gameType: game.gameType });\r\n }\r\n });\r\n\r\n const gamesUniqueByGameType = [...new Map(mappedGames.map((game) => [game.gameType, game])).values()];\r\n\r\n gamesUniqueByGameType.sort((a, b) => {\r\n const dateA = Info.getFirstDrawingTimeOnOrAfterDate(a, effectiveDate);\r\n const dateB = Info.getFirstDrawingTimeOnOrAfterDate(b, effectiveDate);\r\n if (dateA < dateB) return -1;\r\n if (dateA > dateB) return 1;\r\n return 0;\r\n });\r\n\r\n return m('.your-next-draws', { 'data-uitest-id': 'NextDraws' }, [\r\n m('.your-next-draws__title', [\r\n m('.your-next-draws__title-line'),\r\n m('.your-next-draws__title-text', separatorLineLabel),\r\n m('.your-next-draws__title-line'),\r\n ]),\r\n\r\n gamesUniqueByGameType.map((game) => {\r\n let gameType = game.gameType.toLowerCase();\r\n if (gameType === 'lottosaturday') {\r\n gameType = 'lotto';\r\n }\r\n\r\n let gameLogo = gameType;\r\n const firstDrawingTimeOnOrAfterDate = Info.getFirstDrawingTimeOnOrAfterDate(game, effectiveDate);\r\n const drawData = Info.getDrawDataByDate(gameType, firstDrawingTimeOnOrAfterDate);\r\n\r\n if (gameLogo === 'jokersaturday' || gameLogo === 'jokerwednesday') {\r\n gameLogo = 'joker';\r\n }\r\n\r\n const rowStructure = ({ gameLogo, date }) => {\r\n return m('.your-next-draws__game', {\r\n 'data-uitest-id': `${gameLogo}-NextDrawsRow`\r\n }, [\r\n m('img.your-next-draws__game-logo', {\r\n src: `/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/${gameLogo}.svg`,\r\n alt: '',\r\n }),\r\n m('svg.your-next-draws__game-line', m('line', { x1: 0, y1: 1, x2: '100%', y2: 1 })),\r\n m('.your-next-draws__game-text',\r\n { 'data-uitest-id': 'NextDrawsDate' },\r\n date,\r\n )\r\n ]);\r\n };\r\n\r\n const rowBlock = [\r\n rowStructure({\r\n gameLogo,\r\n date: Utils.getDayDateAndMonth(firstDrawingTimeOnOrAfterDate)\r\n })\r\n ];\r\n\r\n if (gameType === 'lotto' && drawData?.gameVersionNo > 2) {\r\n const superMillionaireCampaignDraw = Info.getFirstDrawWithCampaign({ gameType, campaignNameSegment: 'super', effectiveDate: firstDrawingTimeOnOrAfterDate });\r\n rowBlock.push(\r\n superMillionaireCampaignDraw ? rowStructure({\r\n gameLogo: 'super_millionaer_chancen',\r\n date: Utils.getDayDateAndMonth(superMillionaireCampaignDraw.date)\r\n }) : null,\r\n drawData.campaignNumbers.includes(-1) ? rowStructure({\r\n gameLogo: 'millionaer_chancen',\r\n date: Utils.getDayDateAndMonth(firstDrawingTimeOnOrAfterDate)\r\n }) : null\r\n );\r\n }\r\n\r\n return rowBlock;\r\n })\r\n ]);\r\n };\r\n\r\n return YourNextDraws;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Tooltip',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n return {\r\n controller: function (options) {\r\n this.text = options.text || '';\r\n this.modalLeft = m.prop();\r\n this.isTooltipOpen = m.prop(false);\r\n\r\n this.toggleTooltip = function (e) {\r\n this.isTooltipOpen(!this.isTooltipOpen());\r\n\r\n if (this.isTooltipOpen()) {\r\n var bodyRect = document.querySelector('body').getBoundingClientRect();\r\n var baseRect = e.target.getBoundingClientRect();\r\n var modalRect = e.target.querySelector('.tooltip__modal').getBoundingClientRect();\r\n var defaultModalLeft = -(modalRect.width - baseRect.width) / 2;\r\n\r\n if (modalRect.right > (bodyRect.right - 20)) {\r\n // modal too close to right edge of screen, move it to be 20px from right edge\r\n this.modalLeft(Math.floor(defaultModalLeft - (modalRect.right - bodyRect.right) - 20));\r\n } else if (modalRect.left < 20) {\r\n // modal too close to left edge of screen, move it to be 20px from left edge\r\n this.modalLeft(Math.floor(-baseRect.left + 20));\r\n } else {\r\n // position modal centered above base\r\n this.modalLeft(defaultModalLeft);\r\n }\r\n\r\n } else {\r\n this.modalLeft(false);\r\n }\r\n\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n if (!controller.text) return [];\r\n\r\n return m('span.tooltip', {\r\n class: controller.isTooltipOpen() ? 'open' : '',\r\n onclick: controller.toggleTooltip\r\n }, [\r\n '?',\r\n m('.tooltip__bg'),\r\n m('.tooltip__modal', {\r\n style: controller.modalLeft() ? 'left:' + controller.modalLeft() + 'px' : ''\r\n }, controller.text)\r\n ]);\r\n }\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/MultiClient/Client/Flow/Jackpot',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/InputRange'\r\n ],\r\n function (m, Params, InputRange) {\r\n const isActive = m.prop(null);\r\n\r\n var Jackpot = {\r\n controller: function (args) {\r\n Object.assign(this, args.controller);\r\n\r\n if (!isActive()) {\r\n return;\r\n }\r\n\r\n this.stepSize = m.prop(1);\r\n this.property('nextButtonLabel', this.subscriptionD('MultiClient/Jackpot/NextButton'));\r\n this.property('stepGoToNext', () => {\r\n isActive(false);\r\n this.property('stepGoToNext', null);\r\n this.property('nextButtonLabel', null);\r\n });\r\n\r\n this.jackpotOptions = this.settings.jackpotOptions?.sort((a, b) => a - b);\r\n this.jackpotQuickSelectOptions = this.settings.jackpotQuickSelectOptions;\r\n this.jackpotDefault = this.settings.jackpotDefault;\r\n\r\n this.game().numberOfDraws(1);\r\n this.isStepValid(true);\r\n this.selectedJackpot = m.prop(this.game().plusSubscriptionJackpot() || this.jackpotDefault || 0);\r\n this.game().plusSubscriptionJackpot(this.selectedJackpot());\r\n\r\n this.onChange = (e) => {\r\n this.updateJackpot(this.jackpotOptions[e - 1]);\r\n };\r\n\r\n this.updateJackpot = (value) => {\r\n this.selectedJackpot(value);\r\n this.game().plusSubscriptionJackpot(this.selectedJackpot());\r\n };\r\n\r\n const paramJackpotLimit = Params.extract('jackpotLimit') ? parseInt(Params.extract('jackpotLimit'), 10) : null;\r\n if (paramJackpotLimit) {\r\n this.updateJackpot(paramJackpotLimit);\r\n }\r\n },\r\n\r\n view: function (controller) {\r\n if (!isActive()) {\r\n return m('div');\r\n }\r\n\r\n const inputValue = () => {\r\n const jackpotValue = controller.selectedJackpot();\r\n if (jackpotValue < controller.jackpotOptions[0]) {\r\n return 1;\r\n }\r\n if (jackpotValue > controller.jackpotOptions[controller.jackpotOptions.length - 1]) {\r\n return controller.jackpotOptions.length + 1;\r\n }\r\n if (controller.jackpotOptions.includes(jackpotValue)) {\r\n return controller.jackpotOptions.indexOf(jackpotValue) + 1;\r\n }\r\n\r\n controller.stepSize('any');\r\n const closestJackpot = controller.jackpotOptions.reduce((prev, curr) => {\r\n return (Math.abs(curr - jackpotValue) < Math.abs(prev - jackpotValue) ? curr : prev);\r\n });\r\n\r\n const closestJackpotIndex = controller.jackpotOptions.indexOf(closestJackpot);\r\n const otherJackpotIndex = closestJackpotIndex + (closestJackpot > controller.jackpotOptions[closestJackpotIndex + 1] ? 1 : -1);\r\n const otherJackpot = controller.jackpotOptions[otherJackpotIndex < 0 ? 1 : otherJackpotIndex];\r\n const ratio = (jackpotValue - Math.min(otherJackpot, closestJackpot)) / (Math.min(otherJackpot, closestJackpot) - Math.max(otherJackpot, closestJackpot));\r\n\r\n return (closestJackpotIndex || 1) + Math.abs(ratio);\r\n };\r\n\r\n const quickSelectOptions = controller.jackpotQuickSelectOptions.map((option) => {\r\n return m('.jackpot-quick-options__option', {\r\n onclick: () => {\r\n controller.updateJackpot(option);\r\n }\r\n }, option + ' MIO');\r\n });\r\n\r\n return m('.multi-client__flow-step-pre-client.multi-client__step-jackpot', {\r\n class: isActive() ? 'multi-client__flow-step-pre-client--active' : ''\r\n }, [\r\n m('.multi-client__flow-step-jackpot-header', [\r\n m('.multi-client__flow-step-title', controller.subscriptionD('MultiClient/Jackpot/Title')),\r\n m('.multi-client__flow-step-subtitle', controller.subscriptionD('MultiClient/Jackpot/Subtitle'))\r\n ]),\r\n m('.pool-size-display', [\r\n m('.pool-size-display__title', controller.subscriptionD('MultiClient/Jackpot/JackpotSelectorLabel')),\r\n m('div', controller.subscriptionD('MultiClient/Jackpot/JackpotSelectorValue', { value: controller.selectedJackpot() }))\r\n ]),\r\n controller.jackpotQuickSelectOptions.length > 0 ? m('.jackpot-quick-options', quickSelectOptions) : null,\r\n m(InputRange, {\r\n controller: controller,\r\n settings: {\r\n minValue: 1,\r\n maxValue: controller.jackpotOptions.length,\r\n stepValue: 1,\r\n selectedValue: inputValue(),\r\n stepSize: controller.stepSize(),\r\n handler: controller.onChange\r\n }\r\n }),\r\n ]);\r\n },\r\n active: function (state) {\r\n if (state !== undefined) {\r\n isActive(state);\r\n }\r\n return isActive();\r\n }\r\n };\r\n\r\n return Jackpot;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Funding/FundingErrorOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var FundingErrorOverlay = function (className, d) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (ignoredConfirm, dismiss) {\r\n return m('.subscriptions-wrapper', { class: this.class() }, [\r\n\r\n m('.pannel', [\r\n\r\n m('.close-button', { onclick: dismiss },\r\n m('svg.icon',\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#close_icon' })\r\n )\r\n ),\r\n\r\n m('h2', d('FundingErrorOverlay/Headline')),\r\n m('p', m.trust(d('FundingErrorOverlay/Description'))),\r\n\r\n m('.cta-button', { onclick: dismiss }, d('FundingErrorOverlay/Cancel')),\r\n\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return FundingErrorOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Funding/PaymentMethodButton',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg',\r\n ],\r\n function (m, Svg) {\r\n\r\n return {\r\n controller: function (options) {\r\n this.fundingType = m.prop(options.fundingType);\r\n this.selected = m.prop(options.selected);\r\n this.controller = options.controller;\r\n this.children = options.children;\r\n\r\n this.cardTypes = options.controller.getCardTypes().map(function (card) {\r\n if (card && card.icon) {\r\n return card.icon;\r\n }\r\n });\r\n\r\n return this;\r\n },\r\n\r\n view: function (component) {\r\n var selectedFundingType = component.controller.fundingType();\r\n\r\n return m('.payment-method-button',\r\n {\r\n onclick: component.controller.selectFunding(component.fundingType()),\r\n class: selectedFundingType === component.fundingType() ? 'payment-method-button--selected' : '',\r\n 'data-uitest-id': component.fundingType() === 'paymentService'\r\n ? 'subscriptions-selectPaymentMethod-funding-radioBS'\r\n : 'subscriptions-selectPaymentMethod-funding-radioCard'\r\n },\r\n\r\n m('.payment-method-button__inner',\r\n {\r\n class: component.fundingType() === 'paymentService' ? 'payment-method-button__payment-service' : 'payment-method-button__credit-card'\r\n },\r\n [component.fundingType() === 'paymentService'\r\n ? [\r\n m('h4.payment-method-button__header', 'Tilmeld Betalingsservice'),\r\n m('svg.icon', m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/PaymentMethod.svg#betalingsservice' }))\r\n ]\r\n : selectedFundingType !== 'creditCard'\r\n ? m('h4.payment-method-button__header', component.controller.d('ChooseOtherPayment'))\r\n : [\r\n m('h4.payment-method-button__header', 'Betalingskort'),\r\n Svg('payment_cards', { class: 'payment__cards' })],\r\n selectedFundingType === component.fundingType() && typeof component.children === 'function' ? component.children(component.controller) : null\r\n ]\r\n )\r\n );\r\n }\r\n };\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/ListItem',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/DOMUtils'\r\n ],\r\n function (m, Render, Utils, DOMUtils) {\r\n\r\n // Template:\r\n var ListItem = function (controller, game) {\r\n\r\n // Variables:\r\n var hasRows = game.playType === 'Classic' || ((game.rows && game.rows.length > 0) && game.playType !== 'Million');\r\n var renderId = 'SubscriptionDetailsGameRows' + game.id;\r\n var rendered = renderId + 'Rendered';\r\n var render = controller.property(renderId);\r\n\r\n if (!render) {\r\n render = Render();\r\n\r\n controller.property(renderId, render);\r\n controller.property(rendered, true);\r\n }\r\n\r\n // Functions:\r\n var className = function () {\r\n return 'subscription-item-' + (hasRows ? 'and-game-' : '') + 'wrapper';\r\n };\r\n\r\n // Render:\r\n render.ready.then(function (nodes) {\r\n var container = nodes['container'];\r\n\r\n if (hasRows && !container.rendered && controller.property(rendered)) {\r\n controller.property(rendered, false);\r\n\r\n var item = nodes['item'];\r\n var list = nodes['list'];\r\n\r\n if (item && list) {\r\n var $item = item.$element;\r\n var $list = list.$element;\r\n var $shadow = nodes['shadow'].$element;\r\n\r\n item.context.toggled = false;\r\n\r\n $item.addEventListener('click', function () {\r\n var $rows = nodes['row'];\r\n\r\n if (!$rows.length || $rows.length === 1) {\r\n $rows = [$rows];\r\n }\r\n\r\n var rowHeight = DOMUtils.calculateElementOuterHeight($rows[0].$element);\r\n var toggled = item.context.toggled;\r\n var style = 'height: ' + (toggled ? '0' : (rowHeight * game.rows.length)) + 'px;';\r\n\r\n item.context.toggled = !item.context.toggled;\r\n\r\n $list.style = style;\r\n $shadow.style = style;\r\n\r\n container.$element.className = className() + (item.context.toggled ? ' game-rows-opened' : '');\r\n });\r\n }\r\n }\r\n });\r\n\r\n // View:\r\n return m('div', { class: className(), config: render.depend('container') }, [\r\n\r\n // Game:\r\n m('div', { class: 'item', config: render.depend('item') }, [\r\n m('span', { class: 'description-cell' }, [\r\n m('span', { class: 'title' }, controller.d('GameTypes/' + (game.gameType === 'saturday' ? 'LottoSaturday' : game.gameType) + game.playType, { systemName: game.systemName || '' })),\r\n m('span', { class: 'description' }, [\r\n controller.d('Row' + (game.rowCount !== 1 ? 's' : '') + 'Count', { rows: game.rowCount }),\r\n game.withJokerWednesday ? controller.d('WithJokerWednesday') : null,\r\n game.withJokerSaturday ? controller.d('WithJokerSaturday') : null\r\n ]),\r\n ]),\r\n m('span', { class: 'price-cell' }, [\r\n controller.d('PricePerWeek', { price: Utils.formatNumber(game.totalCostPerWeek / 100) }),\r\n game.addOnTriggerValue ? m('span', { class: 'jackpot' }, controller.d('PlayedWhenJackpotAbove', { millions: game.addOnTriggerValue / 100000000 })) : null\r\n ]),\r\n function () {\r\n if (!/lightning|million/.test(game.playType.toLowerCase())) {\r\n return m('span', { class: 'arrow-cell' }, [\r\n m('svg', { class: 'arrow-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#arrow_right' })\r\n ])\r\n ]);\r\n }\r\n }()\r\n ]),\r\n\r\n // Lucky or System numbers:\r\n function () {\r\n if (/lucky|system/.test(game.playType.toLowerCase())) {\r\n var row = game.rows[0];\r\n var numbers = row.numbers.join(', ');\r\n\r\n if (row.extraNumbers && row.extraNumbers.length > 0) {\r\n var extraNumbers = row.extraNumbers.join(',');\r\n\r\n if (numbers.length > 0) {\r\n numbers = numbers + ' + ' + extraNumbers;\r\n } else {\r\n numbers = extraNumbers;\r\n }\r\n }\r\n\r\n return m('div', { class: 'subscription-item-game-wrapper' }, [\r\n m('div', { class: 'subscription-item-game-rows-list', config: render.depend('list') }, [\r\n m('div', { class: 'row', config: render.depend('row') }, [\r\n m.trust(controller.d(game.playType + 'Numbers', { numbers: numbers, systemName: game.systemName || '' }))\r\n ])\r\n ]),\r\n m('div', { class: 'subscription-item-game-shadow', config: render.depend('shadow') })\r\n ]);\r\n }\r\n }(),\r\n\r\n // Classic numbers:\r\n function () {\r\n if (hasRows && game.playType.toLowerCase() === 'classic') {\r\n return m('div', { class: 'subscription-item-game-wrapper' }, [\r\n m('div', { class: 'subscription-item-game-rows-list', config: render.depend('list') }, [\r\n game.rows.map(function (row, index) {\r\n var numbers = row.numbers.join(', ');\r\n\r\n if (row.extraNumbers && row.extraNumbers.length > 0) {\r\n var extraNumbers = row.extraNumbers.join(',');\r\n\r\n if (numbers.length > 0) {\r\n numbers = numbers + ' + ' + extraNumbers;\r\n } else {\r\n numbers = extraNumbers;\r\n }\r\n }\r\n\r\n return m('div', { class: 'row', config: render.depend('row') }, [\r\n m.trust(controller.d('RowNumber', { number: index + 1, numbers: numbers }))\r\n ]);\r\n })\r\n ]),\r\n m('div', { class: 'subscription-item-game-shadow', config: render.depend('shadow') })\r\n ]);\r\n }\r\n }()\r\n\r\n ]);\r\n\r\n };\r\n\r\n // Public functions:\r\n return ListItem;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/PauseOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var PauseOverlay = function (className, d) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (confirm, dismiss) {\r\n return m('.subscriptions-wrapper', { class: this.class() }, [\r\n m('.pannel', [\r\n\r\n m('.close-button', { onclick: dismiss },\r\n m('svg.icon',\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#close_icon' })\r\n )\r\n ),\r\n\r\n m('h2', d('PauseOverlay/Headline')),\r\n m('p', m.trust(d('PauseOverlay/Description'))),\r\n\r\n m('.cta-buttons', [\r\n m('.cta-button', { onclick: confirm }, d('PauseOverlay/Confirm')),\r\n m('.cta-button', { onclick: dismiss }, d('PauseOverlay/Cancel'))\r\n ])\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return PauseOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/ReactivateOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var ReactivateOverlay = function (className, d) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (ignoredConfirm, dismiss) {\r\n return m('.subscriptions-wrapper', { class: this.class() }, [\r\n m('.pannel', [\r\n\r\n m('.close-button', { onclick: dismiss },\r\n m('svg.icon',\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#close_icon' })\r\n )\r\n ),\r\n\r\n m('h2', d('ReactivateOverlay/Headline')),\r\n m('p', m.trust(d('ReactivateOverlay/Description'))),\r\n\r\n m('.cta-button', { onclick: dismiss }, d('ReactivateOverlay/Dismiss')),\r\n\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return ReactivateOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/TerminateOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var TerminateOverlay = function (className, d) {\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (ignoredConfirm, dismiss) {\r\n return m('.subscriptions-wrapper', { class: this.class() }, [\r\n\r\n m('.pannel', [\r\n\r\n m('.close-button', { onclick: dismiss },\r\n m('svg.icon',\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#close_icon' })\r\n )\r\n ),\r\n\r\n m('h2', d('TerminateOverlay/Headline')),\r\n m('p', m.trust(d('TerminateOverlay/Text'))),\r\n\r\n m('.cta-button', { onclick: dismiss }, d('TerminateOverlay/Dismiss')),\r\n\r\n ])\r\n ]);\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return TerminateOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/TotalPricePerWeek',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils'\r\n ],\r\n function (m, Utils) {\r\n\r\n // Template:\r\n var TotalPricePerWeek = function (controller, game) {\r\n\r\n // Variables:\r\n var isJackpot = controller.isJackpot();\r\n\r\n // View:\r\n return m('div', { class: 'item total' }, [\r\n m('span', { class: 'description-cell' }, [\r\n m('span', { class: 'title' }, controller.d('GrandTotal' + (isJackpot ? 'Jackpot' : '')))\r\n ]),\r\n m('span', { class: 'price-cell' }, controller.d('PricePerWeek', { price: Utils.formatNumber(game.costPerWeek / 100) }))\r\n ]);\r\n\r\n };\r\n\r\n // Public functions:\r\n return TotalPricePerWeek;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangeFunding',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Alerts',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/CreditCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Outputs',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ChangeFundingAndPayout/ChangeFunding',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage'\r\n ],\r\n function (Component, Params, Reepay, Alerts, Api, CreditCard, Dictionary, Info, LoggedInOrOut, State, Utils, Subscription, Loader, Modal, Outputs, ProceedBar, ChangeFunding, Storage) {\r\n\r\n // Component:\r\n Component('change-funding', [Dictionary], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n\r\n this.returnUrl = m.prop(Params.extract('returnUrl'));\r\n this.newCardAdded = m.prop(Params.detect('newCardAdded'));\r\n this.addDeclined = m.prop(Params.detect('addDeclined') || Params.detect('error'));\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.d = Dictionary.get.bind({ prefix: 'ChangeFunding/' });\r\n this.modalDictionary = Dictionary.get.bind({ prefix: 'Modal/' });\r\n\r\n this.bankAccounts = m.prop([]);\r\n this.error = m.prop(false);\r\n this.fundingType = m.prop();\r\n this.fundingTypeChanged = m.prop(false);\r\n this.getNewAllowedCards = CreditCard.getNewAllowedCards(settings.cardTypes, this.d('CreditCardNew'), settings.storedCards, settings.maxNumberOfCreditCards);\r\n this.getStoredAndAllowedNewCards = m.prop(CreditCard.getStoredAndAllowedNewCards(settings.storedCards, settings.cardTypes, 999, this.d('CreditCardNew'), this.d('CardExpiredShort')) || []);\r\n this.loggedInOrOut = LoggedInOrOut;\r\n this.originalFundingAccountNumber = m.prop('');\r\n this.originalFundingRegistrationNumber = m.prop('');\r\n this.property = property;\r\n this.selectedCard = m.prop(false);\r\n this.selectedFundingAccountNumber = m.prop('');\r\n this.selectedFundingRegistrationNumber = m.prop('');\r\n this.state = new State('loading');\r\n this.storedCards = m.prop(CreditCard.getStoredCards(settings.storedCards, this.d('CardExpiredShort')) || []);\r\n this.subscription = m.prop();\r\n this.validBankAccounts = m.prop([]);\r\n this.validNemKontoAccounts = m.prop([]);\r\n this.applePay = m.prop(false);\r\n if (settings?.applePayEnabled) {\r\n // Injects Reepay script into DOM..\r\n Reepay.load().then(() => this.applePay(Reepay.isApplePayAvailable()));\r\n }\r\n\r\n this.step = m.prop([1, 2]);\r\n this.alert = Alerts('danger').bind(this);\r\n this.header = Outputs(true).bind(this);\r\n this.output = Outputs(true, true, true).bind(this);\r\n\r\n // Functions:\r\n this.back = () => {\r\n let backLink = Utils.link(this.backLink()).addParam(`subscriptionId=${this.subscriptionId()}`).link;\r\n if (this.returnUrl()) {\r\n backLink = decodeURIComponent(this.returnUrl());\r\n }\r\n location.href = backLink;\r\n };\r\n\r\n this.updateProceedBarState = function () {\r\n if (this.subscription()) {\r\n var selectedCard = this.selectedCard();\r\n var selectedCardIsDisabled = selectedCard.disabled;\r\n var selectedCardIsAllowed = selectedCard.allowSubscriptions;\r\n var selectedCardIsBarred = selectedCard.cardBarred;\r\n var selectedCardIsExpired = selectedCard.cardExpirationDate && selectedCard.cardExpirationDate.expired;\r\n var noStoredCards = !(this.storedCards() && this.storedCards().length > 0);\r\n this.property('proceedBarInactive', selectedCardIsDisabled || !selectedCardIsAllowed || selectedCardIsBarred || selectedCardIsExpired || noStoredCards);\r\n } else {\r\n this.property('proceedBarInactive', true);\r\n }\r\n };\r\n\r\n this.proceed = function () {\r\n var fundingType = this.fundingType();\r\n var fundingPaymentId = null;\r\n var fundingPaymentMethod = null;\r\n var id = this.subscription().id();\r\n var promises = [];\r\n var self = this;\r\n\r\n // Funding:\r\n if (fundingType === 'paymentService') {\r\n var accountNumber = Utils.leftPad(this.selectedFundingAccountNumber(), 10, '0');\r\n var registrationNumber = Utils.leftPad(this.selectedFundingRegistrationNumber(), 4, '0');\r\n\r\n var success = function (res) {\r\n fundingPaymentId = res.paymentMethodId;\r\n fundingPaymentMethod = 'BS';\r\n };\r\n\r\n var error = function (err) {\r\n this.state.add('errorGettingOrCreatingBankAccount');\r\n console.error('errorGettingOrCreatingBankAccount', err);\r\n this.property('proceedBarProceeding', false);\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n promises.push(Api.getOrCreateBankAccount(registrationNumber, accountNumber).then(success, error));\r\n\r\n } else if (fundingType === 'creditCard') {\r\n fundingPaymentId = this.selectedCard().cardId;\r\n fundingPaymentMethod = 'Card';\r\n }\r\n\r\n // Update subscription:\r\n m.sync(promises).then(function () {\r\n var success = function () {\r\n // everything is fine\r\n let proceedLink = `${self.proceedLink()}?subscriptionId=${id}`;\r\n if (self.returnUrl()) {\r\n proceedLink += `&returnUrl=${self.returnUrl()}`;\r\n }\r\n location.href = proceedLink;\r\n };\r\n\r\n var error = function (err) {\r\n this.state.add('errorUpdatingSubscriptionFundingMethod');\r\n console.error('errorUpdatingSubscriptionFundingMethod', err);\r\n this.property('proceedBarProceeding', false);\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n m.sync([Api.updateSubscriptionFundingMethod(id, fundingPaymentMethod, fundingPaymentId)])\r\n .then(success, error);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.selectCard = function (card) {\r\n this.selectedCard(card);\r\n if (card && card.type === 'new') {\r\n CreditCard.addNew(card, this.storedCards());\r\n }\r\n this.updateProceedBarState();\r\n }.bind(this);\r\n\r\n this.newCard = function () {\r\n CreditCard.addNew({\r\n cardType: 'Card',\r\n }, this.storedCards());\r\n this.updateProceedBarState();\r\n }.bind(this);\r\n\r\n this.newApplePay = function () {\r\n CreditCard.addNew({\r\n cardType: 'ApplePay',\r\n }, this.storedCards());\r\n this.updateProceedBarState();\r\n }.bind(this);\r\n\r\n // Context:\r\n this.getBankAccounts = function () {\r\n var success = function (res) {\r\n this.bankAccounts(res);\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.bankAccounts([]);\r\n this.state.add('errorGettingBankAccountData');\r\n console.error('errorGettingBankAccountData', err);\r\n }.bind(this);\r\n\r\n return Api.getBankAccounts().then(success, error);\r\n }.bind(this);\r\n\r\n this.getSubscription = function (id) {\r\n var success = function (res) {\r\n if (res.fundingPaymentMethod.toLowerCase() === 'bs') {\r\n this.state.add('errorCanNotChangePaymentMethodOnBsSubscription');\r\n }\r\n this.subscription(Subscription.new(res));\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.subscription(null);\r\n this.state.add('errorLoadingSubscriptionData');\r\n console.error('errorLoadingSubscriptionData', err);\r\n }.bind(this);\r\n\r\n return Api.getSubscription(id).then(success, error);\r\n }.bind(this);\r\n\r\n this.syncBankAccountsAndSubscription = function () {\r\n var success = function () {\r\n var bankAccountFundingMatch = false;\r\n var creditCardMatch = false;\r\n var subscription = this.subscription();\r\n var fundingId = subscription.fundingPaymentMethodId();\r\n var validBankAccounts = [];\r\n var validNemKontoAccounts = [];\r\n\r\n this.fundingType(Info.resolveFundingType(subscription.fundingPaymentMethod()));\r\n\r\n this.bankAccounts().forEach(function (bankAccount) {\r\n if (bankAccount.paymentMethodId === fundingId) {\r\n bankAccountFundingMatch = bankAccount;\r\n }\r\n\r\n if (bankAccount.isValid && !bankAccount.isNemkonto) {\r\n validBankAccounts.push(bankAccount);\r\n }\r\n\r\n if (bankAccount.isNemkonto) {\r\n validNemKontoAccounts.push(bankAccount);\r\n }\r\n });\r\n\r\n this.validBankAccounts(validBankAccounts);\r\n this.validNemKontoAccounts(validNemKontoAccounts);\r\n\r\n if (bankAccountFundingMatch) {\r\n this.selectedFundingAccountNumber(bankAccountFundingMatch.accountNumber);\r\n this.selectedFundingRegistrationNumber(bankAccountFundingMatch.bankCode);\r\n this.originalFundingAccountNumber(this.selectedFundingAccountNumber());\r\n this.originalFundingRegistrationNumber(this.selectedFundingRegistrationNumber());\r\n }\r\n\r\n if (this.fundingType() === 'creditCard') {\r\n this.storedCards().map(function (card) {\r\n if (card.cardId === fundingId) {\r\n creditCardMatch = card;\r\n }\r\n });\r\n }\r\n\r\n if (creditCardMatch) {\r\n this.selectedCard(creditCardMatch);\r\n }\r\n\r\n this.updateProceedBarState();\r\n\r\n // New card added:\r\n if (this.newCardAdded()) {\r\n var newCard = CreditCard.getLatestAddedCard(this.storedCards());\r\n\r\n if (!newCard) {\r\n // we still don't have the card details, so we try to reload 3 times before finally failing\r\n var refreshBrowserCount = JSON.parse(Storage.get('Subscriptions-RefreshBrowserCount'));\r\n if (!refreshBrowserCount) {\r\n refreshBrowserCount = 0;\r\n Storage.set('Subscriptions-RefreshBrowserCount', refreshBrowserCount);\r\n }\r\n if (refreshBrowserCount < 3) {\r\n Storage.set('Subscriptions-RefreshBrowserCount', ++refreshBrowserCount);\r\n setTimeout(function () {\r\n location.reload();\r\n }.bind(this), 5000);\r\n } else {\r\n Storage.set('Subscriptions-RefreshBrowserCount', null);\r\n this.state.add('errorGettingLatestCardAdded');\r\n this.state.remove('loading');\r\n m.redraw();\r\n }\r\n } else {\r\n var success = function () {\r\n window.location.href = this.proceedLink() + '?subscriptionId=' + this.subscriptionId();\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.state.add('errorUpdatingSubscriptionFundingMethod');\r\n console.error('errorUpdatingSubscriptionFundingMethod', err);\r\n\r\n try {\r\n // let's see if we know about this error already\r\n var parsedError = JSON.parse(err.exceptionMessage).errors[0].title;\r\n if (parsedError === 'Bad Request') {\r\n this.state.add('errorUpdatingSubscriptionFundingMethodBadRequest');\r\n }\r\n } catch (e) {\r\n // some unknown error happened\r\n }\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var id = this.subscriptionId();\r\n\r\n if (!id) {\r\n this.state.add('noSubscriptionId');\r\n this.state.remove('loading');\r\n m.redraw();\r\n return;\r\n }\r\n\r\n Api.updateSubscriptionFundingMethod(id, 'Card', newCard.cardId)\r\n .then(success, error);\r\n }\r\n } else {\r\n // everything is fine\r\n this.state.remove('loading');\r\n m.redraw();\r\n }\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.state.add('errorSyncingBankAccountsAndSubscription');\r\n console.error('errorSyncingBankAccountsAndSubscription', err);\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n this.state.add('loading');\r\n m.sync([this.getBankAccounts(), this.getSubscription(this.subscriptionId())]).then(success, error);\r\n }.bind(this);\r\n\r\n this.loggedInOrOut.init(\r\n this.isLoggedIn(),\r\n function () {\r\n // run when logged in\r\n this.state.remove('notLoggedIn');\r\n this.syncBankAccountsAndSubscription();\r\n }.bind(this),\r\n function () {\r\n // run when logged out\r\n this.state.add('notLoggedIn');\r\n }.bind(this)\r\n );\r\n\r\n this.reload = function () {\r\n location.reload();\r\n return false;\r\n };\r\n\r\n if (this.getStoredAndAllowedNewCards().length === 0) {\r\n this.state.add('errorNoAvailableCreditCards');\r\n }\r\n\r\n this.updateProceedBarState();\r\n },\r\n\r\n view: function (controller) {\r\n var state = controller.state.has;\r\n\r\n if (state('loading')) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n if (state('notLoggedIn')) {\r\n return controller.output('Errors/NotLoggedIn/', controller.loggedInOrOut.triggerLogInModal);\r\n }\r\n\r\n if (state('noSubscriptionId')) {\r\n return controller.output('Errors/NoSubscriptionId/');\r\n }\r\n\r\n if (state('errorCanNotChangePaymentMethodOnBsSubscription')) {\r\n return controller.output('Errors/CanNotChangePaymentMethodOnBsSubscription/');\r\n }\r\n\r\n if (state('errorNoAvailableCreditCards')) {\r\n return controller.output('Errors/ErrorNoAvailableCreditCards/');\r\n }\r\n\r\n if (state('errorGettingBankAccountData')) {\r\n return controller.output('Errors/ErrorGettingBankAccountData/', controller.reload);\r\n }\r\n\r\n if (state('errorGettingLatestCardAdded')) {\r\n return controller.output('Errors/ErrorGettingLatestCardAdded/', controller.reload);\r\n }\r\n\r\n if (state('errorGettingOrCreatingBankAccount')) {\r\n return controller.output('Errors/ErrorGettingOrCreatingBankAccount/', controller.reload);\r\n }\r\n\r\n if (state('errorSyncingBankAccountsAndSubscription')) {\r\n return controller.output('Errors/ErrorSyncingBankAccountsAndSubscription/', controller.reload);\r\n }\r\n\r\n if (state('errorLoadingSubscriptionData')) {\r\n return controller.output('Errors/ErrorLoadingSubscriptionData/', controller.reload);\r\n }\r\n\r\n if (state('errorUpdatingSubscriptionFundingMethodBadRequest')) {\r\n return controller.output('Errors/ErrorUpdatingSubscriptionFundingMethodBadRequest/', controller.reload);\r\n }\r\n\r\n if (state('errorUpdatingSubscriptionFundingMethod')) {\r\n return controller.output('Errors/ErrorUpdatingSubscriptionFundingMethod/', controller.reload);\r\n }\r\n\r\n // View:\r\n return [\r\n // subscription.fundingPaymentMethodId() != null is check if there is a payment on the subscription (Kasper Tidemann)\r\n // https://viden.danskespil.dk/display/PAM/Subscription+API\r\n controller.header(!controller.subscription().fundingPaymentMethodId() ? 'NoPayment/' : ''),\r\n\r\n ChangeFunding(controller),\r\n\r\n // Gap Funding Decline Modal\r\n controller.addDeclined() ?\r\n m(Modal, {\r\n controller: controller,\r\n dictionary: controller.modalDictionary,\r\n dictionaryPath: 'TransactionDeclined/',\r\n errorPath: Utils.getErrorPath(),\r\n modalDelay: m.prop(0)\r\n }) : null,\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangePayout',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ChangeFundingAndPayout/ChangePayout'\r\n ],\r\n function (Component, Ensighten, Params, Api, Dictionary, Utils, Subscription, Loader, ProceedBar, ChangePayout) {\r\n\r\n // Component:\r\n Component('change-payout', [Dictionary], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.addCreditCardToggled = m.prop(false);\r\n this.backLink = m.prop(settings.backLink || 'back');\r\n this.returnUrl = m.prop(Params.extract('returnUrl'));\r\n this.bankAccounts = m.prop([]);\r\n this.d = Dictionary.get.bind({ prefix: 'ChangePayout/' });\r\n this.error = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(true);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.originalPayoutId = m.prop();\r\n this.originalPayoutType = m.prop();\r\n this.payoutId = m.prop();\r\n this.payoutType = m.prop();\r\n this.payoutHasNemKonto = m.prop(false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.property = property;\r\n this.selectedCard = m.prop(false);\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.validBankAccounts = m.prop([]);\r\n this.validNemKontoAccounts = m.prop([]);\r\n\r\n // Functions:\r\n this.back = () => {\r\n let backLink = `${this.backLink()}?subscriptionId=${this.subscriptionId()}`;\r\n if (this.returnUrl()) {\r\n backLink = decodeURIComponent(this.returnUrl());\r\n }\r\n location.href = backLink;\r\n };\r\n\r\n this.changesMade = function () {\r\n this.property('proceedBarInactive', this.originalPayoutId() === this.payoutId() && this.originalPayoutType() === this.payoutType());\r\n }.bind(this);\r\n\r\n this.getBankAccounts = function () {\r\n var self = this;\r\n\r\n return Api.getBankAccounts().then(function (response) {\r\n self.bankAccounts(response);\r\n });\r\n }.bind(this);\r\n\r\n this.getSubscription = function (id) {\r\n var self = this;\r\n\r\n return Api.getSubscription(id).then(function (response) {\r\n self.subscription(Subscription.new(response));\r\n });\r\n }.bind(this);\r\n\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n var id = this.subscription().id();\r\n var payoutPaymentId = null;\r\n var payoutPaymentMethod = null;\r\n var payoutType = this.payoutType();\r\n var self = this;\r\n\r\n // Payout:\r\n if (payoutType === 'bankAccount' || payoutType === 'nemKonto') {\r\n payoutPaymentId = this.payoutId();\r\n payoutPaymentMethod = 'BankAccount';\r\n } else if (payoutType === 'wallet') {\r\n payoutPaymentMethod = 'Wallet';\r\n }\r\n\r\n // Update subscription:\r\n Api.updateSubscriptionPayoutMethod(id, payoutPaymentMethod, payoutPaymentId).then(function () {\r\n\r\n // Tracking.\r\n Ensighten.pushGaEventOnPageRedirect('mit_plus', 'ændre_gevinstkonto', {\r\n wallet: 'spilkonto',\r\n nemkonto: 'nemkonto',\r\n bankaccount: 'bankkonto'\r\n }[payoutType.toLowerCase()]);\r\n\r\n let proceedLink = `${self.proceedLink()}?subscriptionId=${id}`;\r\n if (self.returnUrl()) {\r\n proceedLink += `&returnUrl=${self.returnUrl()}`;\r\n }\r\n location.href = proceedLink;\r\n }, function (err) {\r\n console.error('updateSubscriptionPayoutMethod returned error:', err);\r\n self.property('proceedBarProceeding', false);\r\n m.redraw();\r\n });\r\n }.bind(this);\r\n\r\n this.resolvePayoutType = function (type) {\r\n type = type.toLowerCase();\r\n\r\n if (type === 'bs') {\r\n return 'paymentService';\r\n }\r\n\r\n if (type === 'card') {\r\n return 'creditCard';\r\n }\r\n\r\n if (type === 'bankaccount') {\r\n return 'bankAccount';\r\n }\r\n\r\n if (type === 'wallet') {\r\n return 'wallet';\r\n }\r\n }.bind(this);\r\n\r\n this.selectCard = function (card) {\r\n var self = this;\r\n\r\n return function () {\r\n self.property('proceedBarInactive', card && card.type === 'new');\r\n self.selectedCard(card);\r\n };\r\n }.bind(this);\r\n\r\n this.storedCards = function () {\r\n var storedCards = settings.storedCards || [];\r\n var cards = [];\r\n\r\n storedCards.map(function (card) {\r\n cards.push({ id: card.cardId, name: card.cardName, number: card.cardNumber, type: 'existing' });\r\n });\r\n\r\n return cards;\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n Utils.triggerLogin();\r\n }\r\n\r\n // Context:\r\n var self = this;\r\n\r\n m.sync([this.getBankAccounts(), this.getSubscription(this.subscriptionId())]).then(function () {\r\n var bankAccounts = self.bankAccounts();\r\n var creditCardMatch = false;\r\n var subscription = self.subscription();\r\n var payoutType = self.resolvePayoutType(subscription.payoutPaymentMethodType());\r\n var validBankAccounts = [];\r\n var validNemKontoAccounts = [];\r\n\r\n self.loading(false);\r\n self.payoutId(subscription.payoutPaymentMethodId());\r\n self.payoutType(payoutType);\r\n\r\n self.originalPayoutId(self.payoutId());\r\n self.originalPayoutType(self.payoutType());\r\n\r\n bankAccounts.map(function (bankAccount) {\r\n if (bankAccount.paymentMethodId === subscription.payoutPaymentMethodId() && payoutType === 'bankAccount') {\r\n self.payoutType('nemKonto');\r\n\r\n self.originalPayoutType(self.payoutType());\r\n }\r\n\r\n if (bankAccount.isValid && !bankAccount.isNemkonto) {\r\n validBankAccounts.push(bankAccount);\r\n }\r\n\r\n var isNemKontoDuplicate = bankAccount.isNemkonto && validNemKontoAccounts.some(function (account) {\r\n return account.accountNumber === bankAccount.accountNumber;\r\n });\r\n if (bankAccount.isNemkonto && !isNemKontoDuplicate) {\r\n validNemKontoAccounts.push(bankAccount);\r\n\r\n self.payoutHasNemKonto(true);\r\n }\r\n });\r\n\r\n self.validBankAccounts(validBankAccounts);\r\n self.validNemKontoAccounts(validNemKontoAccounts);\r\n\r\n if (creditCardMatch) {\r\n self.selectedCard(creditCardMatch);\r\n }\r\n\r\n m.redraw();\r\n }, function (error) {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n\r\n Utils.parseError(error, self);\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var payoutType = controller.payoutType();\r\n var subscription = controller.subscription();\r\n\r\n // Test scenario: Loading\r\n /// /////////////////////////////////////////////\r\n // loading = true;\r\n /// /////////////////////////////////////////////\r\n\r\n // Loading:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n // View:\r\n if (!loading && subscription) {\r\n controller.changesMade();\r\n\r\n return [\r\n // Headers:\r\n m('h2', controller.d('Title')),\r\n m('h3.subtitle', m.trust(controller.d('Subtitle'))),\r\n\r\n m('p', controller.d('ChangePayoutDescription')),\r\n ChangePayout(controller),\r\n\r\n // Message related to payout type:\r\n (payoutType && /nemkonto|wallet/i.test(payoutType)) ? m('p', controller.d((payoutType === 'wallet' ? 'Wallet' : 'NemKonto') + 'BottomText')) : null,\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n\r\n ];\r\n }\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/AllornothingClassicClient',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController'\r\n ],\r\n function () {\r\n\r\n // Template:\r\n var AllOrNothingClassicClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingDictionary',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Components/GameClients/AllOrNothingClassicClient'\r\n ], function (AllOrNothingDictionary, AllOrNothingInfo, AllOrNothingClassicClient) {\r\n m.sync([AllOrNothingDictionary.ready, AllOrNothingInfo.ready]).then(function () {\r\n if (AllOrNothingInfo.isFeedDown()) {\r\n console.warn('All or Nothing: feed is down!');\r\n\r\n deferred.reject('feed-down');\r\n } else if (AllOrNothingInfo.noOpenDraw()) {\r\n console.warn('All or Nothing: no open draw!');\r\n\r\n deferred.reject('no-open-draw');\r\n } else {\r\n deferred.resolve(AllOrNothingClassicClient(m, settings, property));\r\n }\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return AllOrNothingClassicClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/EurojackpotClassicClient',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController'\r\n ],\r\n function (GameController) {\r\n\r\n // Template:\r\n var EurojackpotClassicClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.jokerEnabled = settings.hasJoker;\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotDictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Components/GameClients/EurojackpotClassicClient'\r\n ], function (Dictionary, EurojackpotDictionary, EurojackpotInfo, EurojackpotClassicClient) {\r\n m.sync([EurojackpotDictionary.ready, EurojackpotInfo.ready]).then(function () {\r\n var d = Dictionary.get.bind({ prefix: 'Game/' });\r\n\r\n if (!GameController.active()) {\r\n settings.currentRow = 1;\r\n }\r\n\r\n if (EurojackpotInfo.isFeedDown()) {\r\n console.warn('Eurojackpot: feed is down!');\r\n\r\n deferred.reject('feed-down');\r\n } else if (EurojackpotInfo.noOpenDraw()) {\r\n console.warn('Eurojackpot: no open draw!');\r\n\r\n deferred.reject('no-open-draw');\r\n } else {\r\n deferred.resolve([\r\n m('.game-client__title', d('MinimumRows', { rows: settings.minimumRows })),\r\n EurojackpotClassicClient(m, settings, property)\r\n ]);\r\n }\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return EurojackpotClassicClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/EurojackpotLuckyClient',\r\n function () {\r\n\r\n // Template:\r\n var EurojackpotLuckyClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.jokerEnabled = settings.hasJoker;\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotDictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Components/GameClients/EurojackpotLuckyClient'\r\n ], function (EurojackpotDictionary, EurojackpotInfo, EurojackpotLuckyClient) {\r\n m.sync([EurojackpotDictionary.ready, EurojackpotInfo.ready]).then(function () {\r\n property('animate', '');\r\n\r\n var luckyRowOptions = EurojackpotInfo.getLuckyRowOptions();\r\n var minimumRows = parseInt(settings.minimumRows, 10) || 10;\r\n var rows = [];\r\n\r\n for (var i = 0; i < luckyRowOptions.length; i++) {\r\n var row = luckyRowOptions[i];\r\n\r\n if (row >= minimumRows) {\r\n rows.push(row);\r\n }\r\n }\r\n\r\n settings.luckyRowOptions = rows;\r\n\r\n deferred.resolve(EurojackpotLuckyClient(m, settings, property));\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return EurojackpotLuckyClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/EurojackpotSystemClient',\r\n function () {\r\n\r\n // Template:\r\n var EurojackpotSystemClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.jokerEnabled = settings.hasJoker;\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotDictionary',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Components/GameClients/EurojackpotSystemClient'\r\n ], function (EurojackpotDictionary, EurojackpotInfo, EurojackpotSystemClient) {\r\n m.sync([EurojackpotDictionary.ready, EurojackpotInfo.ready]).then(function () {\r\n var data = EurojackpotInfo.data();\r\n var excludedSystems = settings.excludedSystems && settings.excludedSystems.length > 0 ? settings.excludedSystems.split(',') : [];\r\n\r\n if (excludedSystems.length > 0 && data.playSystems && data.playSystems.length > 0) {\r\n var playSystems = data.playSystems;\r\n var filteredPlaySystems = [];\r\n\r\n for (var i = 0; i < playSystems.length; i++) {\r\n var playSystem = playSystems[i];\r\n\r\n if (excludedSystems.indexOf(playSystem) === -1) {\r\n filteredPlaySystems.push(playSystem);\r\n }\r\n }\r\n\r\n data.playSystems = filteredPlaySystems;\r\n\r\n EurojackpotInfo.data(data);\r\n }\r\n\r\n property('animate', '');\r\n\r\n deferred.resolve(EurojackpotSystemClient(m, settings, property));\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return EurojackpotSystemClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/LottoClassicClient',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController'\r\n ],\r\n function (GameController) {\r\n\r\n // Template:\r\n var LottoClassicClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.gameType = 'saturday';\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoDictionary',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Components/GameClients/LottoClassicClient'\r\n ], function (Dictionary, LottoDictionary, LottoInfo, LottoClassicClient) {\r\n m.sync([LottoDictionary.ready, LottoInfo.ready]).then(function () {\r\n var d = Dictionary.get.bind({ prefix: 'Game/' });\r\n\r\n if (!GameController.active()) {\r\n settings.currentRow = 1;\r\n }\r\n\r\n if (LottoInfo.isFeedDown()) {\r\n console.warn('Lotto: feed is down!');\r\n deferred.reject('feed-down');\r\n } else if (LottoInfo.saturday().noOpenDraw()) {\r\n console.warn('Lotto: no open draw!');\r\n deferred.reject('no-open-draw');\r\n } else {\r\n deferred.resolve([\r\n m('.game-client__title', d('MinimumRows', { rows: settings.minimumRows })),\r\n LottoClassicClient(m, settings, property)\r\n ]);\r\n }\r\n\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return LottoClassicClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/LottoLuckyClient',\r\n function () {\r\n\r\n // Template:\r\n var LottoLuckyClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.gameType = 'saturday';\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoDictionary',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Components/GameClients/LottoLuckyClient'\r\n ], function (LottoDictionary, LottoInfo, LottoLuckyClient) {\r\n m.sync([LottoDictionary.ready, LottoInfo.ready]).then(function () {\r\n if (LottoInfo.isFeedDown()) {\r\n deferred.reject('feed-down');\r\n } else if (LottoInfo.saturday().noOpenDraw()) {\r\n deferred.reject('no-open-draw');\r\n } else {\r\n property('animate', '');\r\n\r\n var luckyRowOptions = LottoInfo.saturday().getLuckyRowOptions();\r\n var minimumRows = parseInt(settings.minimumRows, 10) || 10;\r\n var rows = [];\r\n\r\n for (var i = 0; i < luckyRowOptions.length; i++) {\r\n var row = luckyRowOptions[i];\r\n\r\n if (row >= minimumRows) {\r\n rows.push(row);\r\n }\r\n }\r\n\r\n settings.luckyRowOptions = rows;\r\n\r\n deferred.resolve(LottoLuckyClient(m, settings, property));\r\n }\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return LottoLuckyClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/LottoSystemClient',\r\n function () {\r\n\r\n // Template:\r\n var LottoSystemClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.gameType = 'saturday';\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoDictionary',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Components/GameClients/LottoSystemClient'\r\n ], function (LottoDictionary, LottoInfo, LottoSystemClient) {\r\n m.sync([LottoDictionary.ready, LottoInfo.ready]).then(function () {\r\n var data = LottoInfo.data();\r\n var excludedSystems = settings.excludedSystems && settings.excludedSystems.length > 0 ? settings.excludedSystems.split(',') : [];\r\n\r\n if (excludedSystems.length > 0 && data.lottoSaturday && data.lottoSaturday.playSystems && data.lottoSaturday.playSystems.length > 0) {\r\n var playSystems = data.lottoSaturday.playSystems;\r\n var filteredPlaySystems = [];\r\n\r\n for (var i = 0; i < playSystems.length; i++) {\r\n var playSystem = playSystems[i];\r\n\r\n if (excludedSystems.indexOf(playSystem) === -1) {\r\n filteredPlaySystems.push(playSystem);\r\n }\r\n }\r\n\r\n data.lottoSaturday.playSystems = filteredPlaySystems;\r\n\r\n LottoInfo.data(data);\r\n }\r\n\r\n if (LottoInfo.isFeedDown()) {\r\n deferred.reject('feed-down');\r\n } else if (LottoInfo.saturday().noOpenDraw()) {\r\n deferred.reject('no-open-draw');\r\n } else {\r\n property('animate', '');\r\n\r\n deferred.resolve(LottoSystemClient(m, settings, property));\r\n }\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return LottoSystemClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/VikinglottoClassicClient',\r\n [\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController'\r\n ],\r\n function (GameController) {\r\n\r\n // Template:\r\n var VikinglottoClassicClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoDictionary',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Components/GameClients/VikingLottoClassicClient'\r\n ], function (Dictionary, VikingLottoDictionary, VikingLottoInfo, VikingLottoClassicClient) {\r\n m.sync([VikingLottoDictionary.ready, VikingLottoInfo.ready]).then(function () {\r\n var d = Dictionary.get.bind({ prefix: 'Game/' });\r\n\r\n if (!GameController.active()) {\r\n settings.currentRow = 1;\r\n }\r\n\r\n if (VikingLottoInfo.isFeedDown()) {\r\n console.warn('Vikinglotto: feed is down!');\r\n\r\n deferred.reject('feed-down');\r\n } else if (VikingLottoInfo.noOpenDraw()) {\r\n console.warn('Vikinglotto: no open draw!');\r\n\r\n deferred.reject('no-open-draw');\r\n } else {\r\n deferred.resolve([\r\n m('.game-client__title', d('MinimumRows', { rows: settings.minimumRows })),\r\n VikingLottoClassicClient(m, settings, property)\r\n ]);\r\n }\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return VikinglottoClassicClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/VikinglottoLuckyClient',\r\n function () {\r\n\r\n // Template:\r\n var VikinglottoLuckyClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoDictionary',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Components/GameClients/VikingLottoLuckyClient'\r\n ], function (VikingLottoDictionary, VikingLottoInfo, VikingLottoLuckyClient) {\r\n m.sync([VikingLottoDictionary.ready, VikingLottoInfo.ready]).then(function () {\r\n property('animate', '');\r\n\r\n var luckyRowOptions = VikingLottoInfo.getLuckyRowOptions();\r\n var minimumRows = parseInt(settings.minimumRows, 10) || 10;\r\n var rows = [];\r\n\r\n for (var i = 0; i < luckyRowOptions.length; i++) {\r\n var row = luckyRowOptions[i];\r\n\r\n if (row >= minimumRows) {\r\n rows.push(row);\r\n }\r\n }\r\n\r\n settings.luckyRowOptions = rows;\r\n\r\n deferred.resolve(VikingLottoLuckyClient(m, settings, property));\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return VikinglottoLuckyClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/VikinglottoSystemClient',\r\n function () {\r\n\r\n // Template:\r\n var VikinglottoSystemClient = function (m, settings, property) {\r\n\r\n // Variables:\r\n var deferred = m.deferred();\r\n\r\n settings = settings || {};\r\n settings.subscriptionsMode = true;\r\n\r\n // Setup:\r\n requireDs([\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoDictionary',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Components/GameClients/VikingLottoSystemClient'\r\n ], function (VikingLottoDictionary, VikingLottoInfo, VikingLottoSystemClient) {\r\n m.sync([VikingLottoDictionary.ready, VikingLottoInfo.ready]).then(function () {\r\n property('animate', '');\r\n\r\n var data = VikingLottoInfo.data();\r\n var excludedSystems = settings.excludedSystems && settings.excludedSystems.length > 0 ? settings.excludedSystems.split(',') : [];\r\n\r\n if (excludedSystems.length > 0 && data.playSystems && data.playSystems.length > 0) {\r\n var playSystems = data.playSystems;\r\n var filteredPlaySystems = [];\r\n\r\n for (var i = 0; i < playSystems.length; i++) {\r\n var playSystem = playSystems[i];\r\n\r\n if (excludedSystems.indexOf(playSystem) === -1) {\r\n filteredPlaySystems.push(playSystem);\r\n }\r\n }\r\n\r\n data.playSystems = filteredPlaySystems;\r\n\r\n VikingLottoInfo.data(data);\r\n }\r\n\r\n deferred.resolve(VikingLottoSystemClient(m, settings, property));\r\n });\r\n });\r\n\r\n // Return:\r\n return deferred.promise;\r\n\r\n };\r\n\r\n // Public functions:\r\n return VikinglottoSystemClient;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/BoxWhite',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, Dictionary) {\r\n return {\r\n controller: function (settings) {\r\n this.d = Dictionary.get.bind({ prefix: 'Wizard/' });\r\n this.boxIcon = settings.boxIcon;\r\n this.boxCta = settings.boxCta;\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.box-white', [\r\n controller.boxIcon ? m('.box-white__icon', m('img', { src: controller.boxIcon })) : null,\r\n controller.d('Intro/BoxText') ? m('.box-white__text', m.trust(controller.d('Intro/BoxText'))) : null,\r\n controller.boxCta && controller.d('Intro/BoxCtaLabel')\r\n ? m('.box-white__btn', {\r\n onclick: controller.boxCta,\r\n 'data-uitest-id': 'BoxWhite__btn'\r\n }, m.trust(controller.d('Intro/BoxCtaLabel')))\r\n : null\r\n ]);\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/TopNav',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/ChooseGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/GameClients',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/LightningRows',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/LightningJoker',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/Final',\r\n ],\r\n function (m, Utils, DataLayer, AllOrNothingInfo, LottoInfo, EurojackpotInfo, KenoInfo, VikingLottoInfo, AllOrNothingGame, LottoGame, EurojackpotGame, KenoGame, VikingLottoGame, ModelStorage, Modal, TopNav, ChooseGame, GameClients, LightningRows, LightningJoker, Final) {\r\n\r\n var ChooseGames = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.region = args.region;\r\n this.tracking.trackRouteChange('plus_choose_games', this.region);\r\n this.proceedLabel = 'ChooseGames/CtaLabels/Next';\r\n this.playType = m.prop('lightning');\r\n this.game = m.prop();\r\n this.rows = m.prop();\r\n this.loading = m.prop();\r\n this.addedJokerWednesday = m.prop();\r\n this.addedJokerSaturday = m.prop();\r\n this.loadedPreviousGame = m.prop();\r\n this.removeFromBasket = m.prop(false);\r\n this.offerJoker = m.prop(this.gameHasJoker(this.region));\r\n this.gameFaqSearchParams = m.prop();\r\n\r\n // Custom link to \"Højpulje Service\" page\r\n // TODO: Move these links to Sitecore.\r\n this.linksToHighPool = {\r\n eurojackpot: '/plus-abonnement/eurojackpot/hojpuljeservice',\r\n };\r\n\r\n // reset dialog flow steps, in case you came from final step of dialog flow (choose packages overview) to this page.\r\n this.steps.current(1);\r\n\r\n this.getLightningOptions = function (region) {\r\n return this.settings.games.filter(function (game) {\r\n return game.name === region && game.game.verticalType === 'plus';\r\n })[0].game.options.split(',').map(function (num) {\r\n return Number(num);\r\n });\r\n };\r\n\r\n m.sync([AllOrNothingInfo.ready, KenoInfo.ready, LottoInfo.ready, VikingLottoInfo.ready, EurojackpotInfo.ready]).then(function () {\r\n this.regionSettings = {\r\n allornothing: {\r\n infoFeed: AllOrNothingInfo,\r\n defaultRowCount: AllOrNothingInfo.getLightningDefaultRowCount(),\r\n game: AllOrNothingGame,\r\n lightningOptions: m.prop(this.getLightningOptions('allornothing')),\r\n name: 'Alt eller Intet',\r\n numberOfNumbersPerRow: this.allSettings[this.region].numberOfNumbersPerRow\r\n },\r\n eurojackpot: {\r\n infoFeed: EurojackpotInfo,\r\n defaultRowCount: EurojackpotInfo.getLightningDefaultRowCount(),\r\n game: EurojackpotGame,\r\n lightningOptions: m.prop(this.getLightningOptions('eurojackpot')),\r\n name: 'Eurojackpot',\r\n numberOfNumbersPerRow: this.allSettings[this.region].numberOfNumbersPerRow,\r\n manualGameVersionNo: this.allSettings[this.region].manualGameVersionNo\r\n },\r\n keno: {\r\n infoFeed: KenoInfo,\r\n defaultRowCount: KenoInfo.getDrawRepeatDefault(),\r\n game: KenoGame,\r\n lightningOptions: m.prop(this.getLightningOptions('keno')),\r\n name: 'Keno',\r\n numberOfNumbersPerRow: this.allSettings[this.region].numberOfNumbersPerRow\r\n },\r\n lotto: {\r\n infoFeed: LottoInfo,\r\n defaultRowCount: LottoInfo.saturday().getLightningDefaultRowCount(),\r\n game: LottoGame,\r\n lightningOptions: m.prop(this.getLightningOptions('lotto')),\r\n name: 'Lotto',\r\n numberOfNumbersPerRow: this.allSettings[this.region].numberOfNumbersPerRow\r\n },\r\n vikinglotto: {\r\n infoFeed: VikingLottoInfo,\r\n defaultRowCount: VikingLottoInfo.getDefaultRowCount(),\r\n game: VikingLottoGame,\r\n lightningOptions: m.prop(this.getLightningOptions('vikinglotto')),\r\n name: 'Vikinglotto',\r\n numberOfNumbersPerRow: this.allSettings[this.region].numberOfNumbersPerRow\r\n }\r\n };\r\n\r\n if (this.regionSettings[this.region].infoFeed && this.regionSettings[this.region].infoFeed.isFeedDown()) {\r\n this.modal.show(true);\r\n this.modal.title(this.d('ChooseGames/Errors/GameFeedIsDown/Title'));\r\n this.modal.text(this.d('ChooseGames/Errors/GameFeedIsDown/Text', { region: this.regionSettings[this.region].name }));\r\n this.modal.proceedLabel(this.d('ChooseGames/Errors/GameFeedIsDown/ProceedLabel'));\r\n this.modal.proceedCta = 'reload';\r\n this.modal.defaultLabel(this.d('ChooseGames/Errors/GameFeedIsDown/DefaultLabel'));\r\n this.modal.defaultCta = this.goToRoute;\r\n }\r\n }.bind(this));\r\n\r\n this.changeSteps = function (playType) {\r\n this.playType(playType.toLowerCase());\r\n if (this.playType() === 'lightning') {\r\n this.steps = this.stepsSelect('lightning' + (this.offerJoker() ? 'Joker' : ''));\r\n return;\r\n }\r\n this.steps = this.stepsSelect('gameClient');\r\n }.bind(this);\r\n\r\n this.handleGameRemovedFromBasket = function () {\r\n var region = typeof this.region === 'function' ? this.region() : this.region;\r\n if (ModelStorage.basket('plus')[region].length === 0) {\r\n this.addedJokerWednesday(false);\r\n this.addedJokerSaturday(false);\r\n this.rows(this.regionSettings[region].defaultRowCount);\r\n this.removeFromBasket(true);\r\n this.steps.current(this.steps.chooseGame);\r\n m.redraw();\r\n }\r\n };\r\n\r\n this.addGameToBasket = function () {\r\n var game = this.game();\r\n if (this.offerJoker()) {\r\n game.withJokerWednesday(this.addedJokerWednesday());\r\n game.withJokerSaturday(this.addedJokerSaturday());\r\n }\r\n DataLayer.addToCart(game.createDataLayerProduct('plus'));\r\n game.status('add-to-basket');\r\n game.save();\r\n ModelStorage.add('plus', this.region, 'lightning', game.id());\r\n this.game(game);\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n // this redraw is needed to keep the current step in sync with the back button\r\n m.redraw();\r\n this.steps.current(this.steps.current() + 1);\r\n this.triggerBasketPlacement();\r\n }.bind(this);\r\n\r\n this.back = function () {\r\n m.redraw();\r\n this.steps.current(this.steps.current() - 1);\r\n this.triggerBasketPlacement();\r\n }.bind(this);\r\n\r\n // init with lightning\r\n this.changeSteps('lightning');\r\n\r\n // redirect if we should edit a game that was already in basket\r\n if (this.shouldEditGameInBasket() && this.paramPlayType()) {\r\n this.changeSteps(this.paramPlayType());\r\n this.proceed();\r\n m.redraw();\r\n }\r\n\r\n const gameFaqParams = this.settings.games.find((game) => game.name === this.region)?.game?.faqSearchParams;\r\n if (gameFaqParams) {\r\n this.gameFaqSearchParams(gameFaqParams);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return [\r\n TopNav(controller.goToRoute),\r\n\r\n // A clitch happened, typical on mobile, where the view is loaded without the controller?\r\n !controller.steps.current || !controller.steps.current() ? location.reload() : null,\r\n\r\n m('.wizard-slides', {\r\n class: 'wizard-slides--step' + controller.steps.current(),\r\n 'data-uitest-id': 'ChooseGames'\r\n }, [\r\n m('.wizard-slide', controller.steps.current() === controller.steps.chooseGame ? m.component(ChooseGame, { controller: controller }) : null),\r\n\r\n controller.playType() === 'lightning'\r\n ? [\r\n m('.wizard-slide', controller.steps.current() === controller.steps.lightningRows ? m.component(LightningRows, { controller: controller }) : null),\r\n controller.offerJoker() ? m('.wizard-slide', controller.steps.current() === controller.steps.lightningJoker ? m.component(LightningJoker, { controller: controller }) : null) : null,\r\n ]\r\n : m('.wizard-slide', controller.steps.current() === controller.steps.classicRows ? m.component(GameClients, { controller: controller }) : null),\r\n\r\n m('.wizard-slide', controller.steps.current() === controller.steps.chooseGameFinal ? m.component(Final, { controller: controller }) : null),\r\n ]),\r\n\r\n m(Modal, { controller: controller })\r\n ];\r\n }\r\n\r\n };\r\n\r\n return ChooseGames;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/GamePad',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary'\r\n ],\r\n function (m, Dictionary) {\r\n return {\r\n controller: function (settings) {\r\n var d = Dictionary.get.bind({ prefix: 'Common/GameNames/' });\r\n var gamesToDisplay = m.prop(settings.gamesToDisplay);\r\n var selectedVal = m.prop(settings.selectedGame);\r\n\r\n var clickHandler = function (val) {\r\n if (val === selectedVal()) {\r\n // deselect by selecting the value 0\r\n selectedVal(0);\r\n settings.handler(0);\r\n } else {\r\n // select value\r\n selectedVal(val);\r\n settings.handler(val);\r\n }\r\n };\r\n\r\n this.gamePad = function () {\r\n var sortOrder = ['lotto', 'lottosaturday', 'eurojackpot', 'vikinglotto', 'keno', 'allornothing'];\r\n\r\n var sortedGames = gamesToDisplay().sort(function (a, b) {\r\n return sortOrder.indexOf(a.name.toLowerCase()) - sortOrder.indexOf(b.name.toLowerCase());\r\n });\r\n\r\n return sortedGames.map(function (game) {\r\n var checked = selectedVal() === game.id;\r\n\r\n return m('.wizard-gamepad__game',\r\n {\r\n onclick: clickHandler.bind(null, game.id),\r\n 'data-uitest-id': 'GamePad__game--' + game.name.toLowerCase()\r\n },\r\n [\r\n m('.wizard-gamepad__game-marker', { checked: checked }),\r\n m('.wizard-gamepad__btn', {\r\n checked: checked,\r\n }, m('img', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons/' + game.name.toLowerCase() + '.svg' })),\r\n m('.wizard-gamepad__label', d(game.name.toLowerCase()))\r\n ]\r\n );\r\n });\r\n };\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-gamepad', controller.gamePad());\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Hero',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/BoxWhite'\r\n ],\r\n function (m, Dictionary, CrossWindowEvents, BoxWhite) {\r\n return {\r\n controller: function (settings) {\r\n this.d = Dictionary.get.bind({ prefix: 'Wizard/' });\r\n this.boxCta = settings.boxCta;\r\n this.heroImage = settings.heroImage;\r\n\r\n this.isLottieRendered = m.prop(false);\r\n this.staticTopSpots = document.querySelector('#wizard-topspot #landing-topspot .lottie-top-spot')?.outerHTML;\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n if (controller.staticTopSpots && !controller.isLottieRendered()) {\r\n controller.isLottieRendered(true);\r\n setTimeout(() => {\r\n const isInit = m.prop(false);\r\n CrossWindowEvents.fire('ds.event.lottietopspot:initialize', {\r\n $parent: document.querySelector('.front-page .hero .lottie-top-spot'),\r\n isInit\r\n });\r\n }, 0);\r\n }\r\n return m('.hero',\r\n [\r\n controller.staticTopSpots ? m.trust(controller.staticTopSpots) : null,\r\n !controller.staticTopSpots ? m('.hero__bg', m.trust(controller.heroImage())) : null,\r\n m('.hero__inner',\r\n [\r\n !controller.staticTopSpots ? m('.hero__content', [\r\n m('.hero__title .hero__title--mobile', m.trust(controller.d('Intro/TitleMobile'))),\r\n m('.hero__title', m.trust(controller.d('Intro/Title'))),\r\n m('.hero__text .hero__text--mobile', m.trust(controller.d('Intro/TextMobile'))),\r\n m('.hero__text', m.trust(controller.d('Intro/Text'))),\r\n ]) : null,\r\n\r\n m('.hero__boxes',\r\n\r\n m(BoxWhite, {\r\n boxIcon: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Wizard/note-plus.svg',\r\n boxCta: controller.boxCta,\r\n })\r\n )\r\n ])\r\n ]\r\n );\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/HeroPackages',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n return {\r\n controller: function (settings) {\r\n this.title = settings.title;\r\n this.text = settings.text;\r\n this.boxText = settings.boxText;\r\n this.boxCta = settings.boxCta;\r\n this.boxCtaLabel = settings.boxCtaLabel;\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.hero-packages',\r\n m('.hero-packages__inner',\r\n [\r\n\r\n m('.hero-packages__content', [\r\n m('.hero-packages__title', controller.title),\r\n m('.hero-packages__text', controller.text),\r\n ]),\r\n\r\n ])\r\n );\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/NumPad',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n return {\r\n controller: function (settings) {\r\n var numbersToDisplay = m.prop(settings.numbersToDisplay);\r\n var selectedVal = m.prop(settings.selectedNumber);\r\n\r\n var clickHandler = function (val) {\r\n if (val === selectedVal()) {\r\n // deselect by selecting the value 0\r\n selectedVal(0);\r\n settings.handler(0);\r\n } else {\r\n // select value\r\n selectedVal(val);\r\n settings.handler(val);\r\n }\r\n };\r\n\r\n this.numPad = function () {\r\n var numpad = [];\r\n for (var i = 1; i <= numbersToDisplay(); i++) {\r\n numpad.push(m('.wizard-numpad__btn', {\r\n class: selectedVal() === i ? 'btn--selected' : '',\r\n onclick: clickHandler.bind(null, i),\r\n 'data-uitest-id': 'NumPad__btn--' + i\r\n }, i));\r\n }\r\n return numpad;\r\n };\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-numpad', controller.numPad());\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Slider',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril'\r\n ],\r\n function (m) {\r\n return {\r\n controller: function (settings) {\r\n var minValue = m.prop(settings.minValue);\r\n var maxValue = m.prop(settings.maxValue);\r\n var stepValue = m.prop(settings.stepValue);\r\n var minLabel = m.prop(settings.minLabel);\r\n var minSubLabel = m.prop(settings.minSubLabel);\r\n var maxLabel = m.prop(settings.maxLabel);\r\n var maxSubLabel = m.prop(settings.maxSubLabel);\r\n var showToolTip = m.prop(settings.showToolTip);\r\n var showTicks = m.prop(settings.showTicks);\r\n var selectedValue = m.prop(settings.selectedValue || minValue);\r\n var rangeWidth = m.prop();\r\n\r\n var setRangeWidth = function (element) {\r\n rangeWidth(element.offsetWidth);\r\n };\r\n\r\n var wizardTicks = function () {\r\n var ticks = (maxValue() - minValue()) / (stepValue());\r\n var tickEls = [];\r\n for (var i = 0; i <= ticks; i++) {\r\n tickEls.push(m('.wizard-slider__tick'));\r\n }\r\n return tickEls;\r\n };\r\n\r\n var wizardToolTip = function () {\r\n var thumbSize = 15;\r\n var ratio = (selectedValue() - minValue()) / (maxValue() - minValue());\r\n\r\n return m('.wizard-slider__tooltip-wrapper', m('.wizard-slider__tooltip', {\r\n style: { left: (ratio * (rangeWidth() - (thumbSize * 2))) - thumbSize + 'px' }\r\n }, selectedValue() + ' kr.'));\r\n };\r\n\r\n var onInput = function () {\r\n var value = Number(this.value);\r\n selectedValue(value);\r\n settings.handler(value);\r\n };\r\n\r\n this.slider = function () {\r\n return [\r\n showToolTip() ? wizardToolTip() : null,\r\n\r\n m('.wizard-slider__ticks',\r\n showTicks() ? wizardTicks() : null\r\n ),\r\n\r\n m('input.wizard-slider__range', {\r\n type: 'range',\r\n min: minValue(),\r\n max: maxValue(),\r\n step: stepValue(),\r\n value: selectedValue(),\r\n oninput: onInput,\r\n config: setRangeWidth,\r\n 'data-uitest-id': 'Slider__range'\r\n }),\r\n\r\n minLabel() && maxLabel() ? m('.wizard-slider__min-max-labels', [\r\n m('.wizard-slider__min-label', m.trust(minLabel())),\r\n m('.wizard-slider__max-label', m.trust(maxLabel())),\r\n minSubLabel() && maxSubLabel() ? [\r\n m('.wizard-slider__min-sublabel', m.trust(minSubLabel())),\r\n m('.wizard-slider__max-sublabel', m.trust(maxSubLabel())),\r\n ] : null\r\n ]) : null\r\n\r\n ];\r\n };\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-slider', controller.slider());\r\n }\r\n\r\n };\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/TopNav',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary'\r\n ],\r\n function (m, Dictionary) {\r\n var TopNav = function (navigate, label) {\r\n\r\n if (!label) {\r\n var d = Dictionary.get.bind({ prefix: 'Wizard/TopNavigation/' });\r\n label = d('Label');\r\n }\r\n\r\n return m('.wizard-topnav',\r\n m('.wizard-topnav__inner',\r\n m('.wizard-topnav__nav', { onclick: navigate, 'data-uitest-id': 'TopNav__btn' }, m.trust(label))\r\n )\r\n );\r\n };\r\n\r\n return TopNav;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Loading',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SimpleLoader'\r\n ],\r\n function (m, SimpleLoader) {\r\n\r\n var Loading = function () {\r\n return m('.wizard-loading',\r\n SimpleLoader()\r\n );\r\n };\r\n\r\n return Loading;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/PriceChangeOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n ],\r\n function (m) {\r\n\r\n // Context:\r\n var PriceChangeOverlay = function (className, d, dictionaryPath, ctaCallback) {\r\n var show = true;\r\n\r\n // Return:\r\n return {\r\n class: m.prop(className),\r\n\r\n render: function (ignoredConfirm, dismiss) {\r\n return m('.modal', {\r\n class: show ? 'modal--show' : ''\r\n },\r\n m('.modal__modal',\r\n m('.modal__content', [\r\n m('.modal__title', d(dictionaryPath + '/Title')),\r\n m('.modal__subtitle', m.trust(d(dictionaryPath + '/Abstract')))\r\n ]),\r\n m('.modal__buttons', [\r\n m('button.modal__button', {\r\n onclick: function () {\r\n show = false;\r\n dismiss();\r\n }\r\n }, m('span.modal__button-label', d('PriceChangeOverlay/CancelButton'))),\r\n m('button.modal__button.modal__button--primary', {\r\n onclick: ctaCallback\r\n }, m('span.modal__button-label', d('PriceChangeOverlay/ProceedButton')))\r\n ])\r\n )\r\n );\r\n }\r\n };\r\n };\r\n\r\n // Public functions:\r\n return PriceChangeOverlay;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, Dictionary) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/ErrorMessages/' });\r\n\r\n var getText = function (errorState) {\r\n if (!d()) return;\r\n var dError = d()[errorState];\r\n\r\n if (dError) {\r\n var title = dError.title || dError.Title;\r\n var text = dError.text || dError.Text;\r\n var tryAgain = dError.tryAgain || dError.TryAgain;\r\n\r\n if (title || text) {\r\n return m('.plus-error.plus-page__component.plus-page__component--large', [\r\n title ? m('.plus-error__title', m.trust(title)) : '',\r\n text ? m('.plus-error__text', m.trust(text)) : '',\r\n tryAgain ? m('.plus-buttons', [\r\n m('.plus-button', {\r\n onclick: function () {\r\n location.reload();\r\n }\r\n }, tryAgain),\r\n ]) : '',\r\n ]);\r\n }\r\n }\r\n\r\n if (errorState) {\r\n console.error('An error happened, found no dictionary keys for Subscriptions/Plus/ErrorMessages/' + errorState);\r\n var dErrorFallback = d()['errorFallback'];\r\n var titleFallback = dErrorFallback.title;\r\n var textFallback = dErrorFallback.text;\r\n\r\n return m('.plus-error.plus-page__component.plus-page__component--large', [\r\n titleFallback ? m('.plus-error__title', m.trust(titleFallback)) : '',\r\n textFallback ? m('.plus-error__text', m.trust(textFallback)) : '',\r\n ]);\r\n }\r\n\r\n return null;\r\n };\r\n\r\n var ErrorMessage = function (state) {\r\n if (typeof state === 'string') {\r\n var tempState = state;\r\n state = {\r\n has: function (s) {\r\n return s === tempState;\r\n }\r\n };\r\n }\r\n\r\n if (state.has('notLoggedIn')) return getText('notLoggedIn');\r\n if (state.has('errorBasketIsEmpty')) return getText('errorBasketIsEmpty');\r\n if (state.has('errorCouldNotTerminateGame')) return getText('errorCouldNotTerminateGame');\r\n if (state.has('errorEurojackpotGameHasAlreadyBeenConverted')) return getText('errorEurojackpotGameHasAlreadyBeenConverted');\r\n if (state.has('errorGameHasBeenTerminatedAndCannotBeModified')) return getText('errorGameHasBeenTerminatedAndCannotBeModified');\r\n if (state.has('errorGameHasNoFutureUnfundedDrawPeriod')) return getText('errorGameHasNoFutureUnfundedDrawPeriod');\r\n if (state.has('errorGettingSubscriptionPauseDuration')) return getText('errorGettingSubscriptionPauseDuration');\r\n if (state.has('errorLoadingSubscriptionData')) return getText('errorLoadingSubscriptionData');\r\n if (state.has('errorMissingCreditCardId')) return getText('errorMissingCreditCardId');\r\n if (state.has('errorMissingSelectedCreditCard')) return getText('errorMissingSelectedCreditCard');\r\n if (state.has('errorModifyingGame')) return getText('errorModifyingGame');\r\n if (state.has('errorNoGameDetails')) return getText('errorNoGameDetails');\r\n if (state.has('errorNoGameId')) return getText('errorNoGameId');\r\n if (state.has('errorRequestIsInvalid')) return getText('errorRequestIsInvalid');\r\n if (state.has('errorResumingSubscription')) return getText('errorResumingSubscription');\r\n if (state.has('errorSettingSubscriptionOnPause')) return getText('errorSettingSubscriptionOnPause');\r\n if (state.has('errorSubscriptionCouldNotBeFound')) return getText('errorSubscriptionCouldNotBeFound');\r\n if (state.has('errorSubscriptionFundingIsDisabled')) return getText('errorSubscriptionFundingIsDisabled');\r\n if (state.hasError()) return getText('errorFallback');\r\n };\r\n\r\n return ErrorMessage;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditClassicRows',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, Dictionary) {\r\n\r\n var GameCardEditClassicRows = function (args) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n var game = args.game.modified;\r\n var gameType = game.gameType;\r\n var rows = game.add.rows;\r\n var pricePerRow = game.add.pricePerRow;\r\n\r\n return m('.game-card__edit-classic-rows',\r\n {\r\n 'data-uitest-id': 'GameCardEditClassicRows',\r\n class: 'game-card__edit-classic-rows--' + gameType,\r\n },\r\n [\r\n m('.game-card__edit-description', [\r\n m('.game-card__edit-description-label', d('GameCard/EditRows/Label')),\r\n m('.game-card__edit-description-sublabel', { 'data-uitest-id': 'pricePerRowLabel' }, args.details.editRowsPrice()),\r\n ]),\r\n\r\n m('.game-card-edit-classic-rows', { class: 'game-card-edit-classic-rows--' + gameType },\r\n [\r\n rows().map(function (row, i) {\r\n return m('.game-card-edit-classic-rows__row',\r\n [\r\n m('.game-card-edit-classic-rows__row-numbers', { onclick: game.add.modifyClassicRow.bind(null, i) },\r\n [\r\n row.numbers.sort(function (a, b) {\r\n return a - b;\r\n }).map(function (num) {\r\n return m('.game-card-edit-classic-rows__row-number', num);\r\n }),\r\n\r\n gameType === 'vikinglotto' || gameType === 'eurojackpot' ? row.extraNumbers.sort(function (a, b) {\r\n return a - b;\r\n }).map(function (num) {\r\n return m('.game-card-edit-classic-rows__row-number.game-card-edit-classic-rows__row-number--extra-number', {\r\n class: 'game-card-edit-classic-rows__row-number--extra-number-' + gameType\r\n }, num);\r\n }) : '',\r\n ]\r\n ),\r\n m('.game-card-edit-classic-rows__delete', {\r\n onclick: game.delete.deleteRow.bind(null, row)\r\n }),\r\n ]);\r\n }),\r\n\r\n m('.game-card-edit-classic-rows__add-row', {\r\n onclick: game.add.addClassicRow\r\n }, d('ModifyGame/AddRowPrice', { price: pricePerRow })),\r\n ]\r\n ),\r\n\r\n\r\n ]);\r\n\r\n };\r\n\r\n return GameCardEditClassicRows;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditJoker',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, Info, ignoreDictionary) {\r\n\r\n var GameCardEditJoker = function (args) {\r\n var d = args.d;\r\n var game = args.game.modified;\r\n var combineEurojackpotJokers = Info.hasEurojackpotGameBeenConverted(game);\r\n\r\n return m('.game-card__edit-rows', { 'data-uitest-id': 'GameCardEditJoker' },\r\n [\r\n m('.game-card__edit-description', [\r\n m('.game-card__edit-description-label', 'Rediger joker'),\r\n m('.game-card__edit-description-sublabel', { 'data-uitest-id': 'pricePerJokerLabel' }, args.details.editJokerPrice()),\r\n ]),\r\n\r\n m('.game-card__edit-jokers', [\r\n\r\n combineEurojackpotJokers ?\r\n m('.game-card__edit-joker',\r\n {\r\n class: game.withJokerWednesday() ? 'game-card__edit-joker--selected' : '',\r\n 'data-uitest-id': 'jokers',\r\n onclick: function () {\r\n game.withJokers(!game.withJokers());\r\n game.withJokerWednesday(game.withJokers());\r\n game.withJokerSaturday(game.withJokers());\r\n m.redraw();\r\n }\r\n }, m('div', [\r\n d('GameCard/JokerCtaWednesdayAndSaturday'),\r\n m('.game-card__edit-joker--sublabel', d('GameCard/JokerCtaWednesdayAndSaturdaySublabel'))\r\n ]))\r\n : [\r\n\r\n m('.game-card__edit-joker',\r\n {\r\n class: game.withJokerWednesday() ? 'game-card__edit-joker--selected' : '',\r\n 'data-uitest-id': 'jokerWednesday',\r\n onclick: function () {\r\n game.withJokerWednesday(!game.withJokerWednesday());\r\n m.redraw();\r\n }\r\n }, d('GameCard/JokerCtaWednesday')),\r\n\r\n m('.game-card__edit-joker',\r\n {\r\n class: game.withJokerSaturday() ? 'game-card__edit-joker--selected' : '',\r\n 'data-uitest-id': 'jokerSaturday',\r\n onclick: function () {\r\n game.withJokerSaturday(!game.withJokerSaturday());\r\n m.redraw();\r\n }\r\n }, d('GameCard/JokerCtaSaturday')),\r\n ]\r\n\r\n ]),\r\n ]);\r\n\r\n };\r\n\r\n return GameCardEditJoker;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditRows',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/RotarySelector',\r\n ],\r\n function (m, Dictionary, RotarySelector) {\r\n\r\n var GameCardEditRows = function (args) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/GameCard/' });\r\n var game = args.game.modified;\r\n var lightningRowNumbers = m.prop(game.numbers.lightningRowNumbers(game.rowsToGenerate()));\r\n\r\n return m('.game-card__edit-rows', { 'data-uitest-id': 'GameCardEditRows' },\r\n [\r\n m('.game-card__edit-description', [\r\n m('.game-card__edit-description-label', d('EditRows/Label')),\r\n m('.game-card__edit-description-sublabel', { 'data-uitest-id': 'pricePerRowLabel' }, args.details.editRowsPrice()),\r\n ]),\r\n\r\n RotarySelector(lightningRowNumbers, game.rowsToGenerate, game.rowsToGenerate() === 1 ? d('EditRows/Row') : d('EditRows/Rows')),\r\n ]);\r\n\r\n };\r\n\r\n return GameCardEditRows;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditSystem',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, Dictionary) {\r\n\r\n var GameCardEditSystem = function (args) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n var game = args.game && args.game.modified;\r\n if (!game || !game.gameType || !game.numbers || !game.numbers.playSystems || !game.add || !game.add.updateSystem) return;\r\n\r\n var gameType = game.gameType;\r\n var playSystems = game.numbers.playSystems;\r\n var updateSystem = game.add.updateSystem;\r\n\r\n return m('.game-card__edit-rows', { 'data-uitest-id': 'GameCardEditSystem', },\r\n [\r\n m('.game-card__edit-description', [\r\n m('.game-card__edit-description-label', d('GameCard/EditRows/System')),\r\n ]),\r\n\r\n m('.game-card-edit-system', { class: 'game-card-edit-system--' + gameType },\r\n [\r\n m('.game-card-edit-system__systems', [\r\n playSystems.map(function (playSystem) {\r\n return m('.game-card-edit-system__system', {\r\n class: (playSystem.selected ? 'game-card-edit-system__system--selected' : ''),\r\n onclick: updateSystem.bind(null, playSystem)\r\n }, playSystem.num);\r\n }),\r\n ]),\r\n ]\r\n ),\r\n ]);\r\n };\r\n\r\n return GameCardEditSystem;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditNumbers',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n ],\r\n function (m, Dictionary) {\r\n\r\n var GameCardEditNumbers = function (args) {\r\n var d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n var game = args.game && args.game.modified;\r\n if (!game || !game.gameType || !game.playType || !game.add || !game.add.firstRowNumbers || !game.add.updateModal) return;\r\n\r\n var firstRowNumbers = game.add.firstRowNumbers;\r\n var gameType = game.gameType;\r\n var playType = game.playType;\r\n var updateModal = game.add.updateModal;\r\n\r\n return m('.game-card__edit-rows', { 'data-uitest-id': 'GameCardEditLuckyNumbers', },\r\n [\r\n m('.game-card__edit-description', [\r\n m('.game-card__edit-description-label',\r\n playType === 'lucky' ? d('GameCard/EditRows/LuckyNumbers')\r\n : playType === 'system' ? d('GameCard/EditRows/SystemNumbers') : ''\r\n ),\r\n ]),\r\n\r\n m('.game-card-edit-numbers',\r\n {\r\n class: 'game-card-edit-numbers--' + gameType + ' game-card-edit-numbers--' + playType\r\n },\r\n [\r\n m('.game-card-edit-numbers__numbers', [\r\n\r\n firstRowNumbers().numbers.sort(function (a, b) {\r\n return a - b;\r\n }).map(function (num) {\r\n return m('.game-card-edit-numbers__number', num);\r\n }),\r\n\r\n firstRowNumbers().extraNumbers ? firstRowNumbers().extraNumbers.sort(function (a, b) {\r\n return a - b;\r\n }).map(function (num) {\r\n return m('.game-card-edit-numbers__extra-number', num);\r\n }) : '',\r\n ]),\r\n\r\n m('.game-card-edit-numbers__add-row', {\r\n onclick: updateModal\r\n }, playType === 'lucky' ? d('ModifyGame/AddRemoveLuckyNumbers')\r\n : playType === 'system' ? d('ModifyGame/ChangeSystemNumbers') : ''),\r\n ]\r\n ),\r\n\r\n ]);\r\n };\r\n\r\n return GameCardEditNumbers;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCard',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Svg',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditRows',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditClassicRows',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditJoker',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditSystem',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCardEditNumbers',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n ],\r\n function (m, Svg, GameCardEditRows, GameCardEditClassicRows, GameCardEditJoker, GameCardEditSystem, GameCardEditNumbers, ErrorMessage, Header) {\r\n var GameCard = function (args) {\r\n var game = args.game;\r\n var modifiableGames = args.modifiableGames;\r\n var shouldShowTerminateOption = args.shouldShowTerminateOption;\r\n var shouldShowEditOption = args.shouldShowEditOption;\r\n var d = args.d;\r\n var goTo = args.goTo;\r\n var editGame = args.editGame;\r\n var terminateGameFn = args.terminateGameFn;\r\n var subscription = args.subscription;\r\n var header = args.header;\r\n var customCta = args.customCta;\r\n var showLogoAndLabel = args.showLogoAndLabel;\r\n\r\n var details = subscription.gameDetails({\r\n game: game,\r\n editGame: editGame,\r\n editGameLink: goTo && goTo.editGame,\r\n convertEurojackpotGameLink: goTo && goTo.convertEurojackpotGame,\r\n editGameChangeDate: args.editGameChangeDate,\r\n pricePerWeekFormatted: args.pricePerWeekFormatted,\r\n shouldShowEditOption: shouldShowEditOption,\r\n convertEurojackpot: args.convertEurojackpot,\r\n shouldShowTerminateOption: shouldShowTerminateOption,\r\n terminateGameFn: terminateGameFn,\r\n modifiableGames: modifiableGames,\r\n showConvertEurojackpotConversionDate: args.showConvertEurojackpotConversionDate,\r\n showTemplateEffectiveDate: args.showTemplateEffectiveDate,\r\n });\r\n\r\n if (!details) return ErrorMessage('errorNoGameDetails');\r\n\r\n return m('.game-card', {\r\n 'data-uitest-id': 'GameCard',\r\n class: 'game-card--' + details.gameType\r\n + (details.showEditOptions() ? ' game-card--edit-game' : '')\r\n + (details.gameChangedReasonLabel() ? ' game-card--changed' : '')\r\n + (header ? ' game-card--with-header' : '')\r\n }, [\r\n\r\n header ? Header(header) : '',\r\n\r\n details.gameChangedReasonLabel() ? m('.game-card__changed',\r\n {\r\n 'data-uitest-id': 'ChangedReasonLabel',\r\n class: details.gameChangedReason() === 'converted' ? 'game-card__changed--green' : ''\r\n },\r\n details.gameChangedReasonLabel()) : '',\r\n\r\n m('.game-card__inner',\r\n [\r\n\r\n m('.game-card__inner-column', [\r\n m('.game-card__header',\r\n [\r\n m('img', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + details.gameType + '.svg',\r\n alt: details.gameTypeLabel()\r\n }),\r\n m('.game-card__gametype', { 'data-uitest-id': 'GameCardLabel' }, details.gameTypeLabel()),\r\n ]\r\n ),\r\n\r\n m('.game-card__content', [\r\n m('.game-card__content-left', showLogoAndLabel ? [\r\n m('.game-card__logo-and-label', [\r\n m('.game-card__logo', showLogoAndLabel.logo),\r\n m('.game-card__label', showLogoAndLabel.label),\r\n ]),\r\n ] : [\r\n\r\n details.rowsAndPriceLabel() ? details.rowsAndPriceLabel().map(function (label) {\r\n return m('.game-card__rows', {\r\n 'data-uitest-id': 'RowsAndPriceLabel'\r\n }, label);\r\n }) : '',\r\n\r\n details.jokerLabel() ? m('.game-card__joker', { 'data-uitest-id': 'JokerLabel' }, details.jokerLabel()) : '',\r\n ]),\r\n\r\n details.canGameBeChanged() ?\r\n m('.game-card__edit', {\r\n 'data-uitest-id': 'CtaEditGame',\r\n onclick: details.canEurojackpotGameBeConverted() && goTo.convertEurojackpotGame\r\n ? goTo.convertEurojackpotGame.bind(null, game.id)\r\n : goTo.editGame.bind(null, game.id)\r\n }, [\r\n Svg('edit', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Plus.svg' }),\r\n d('GameCard/Edit')\r\n ]) : null\r\n ]),\r\n\r\n showLogoAndLabel ? '' : m('.game-card__footer', [\r\n m('.game-card__footer-next-draw', [\r\n m('.game-card__footer-next-draw-label', { 'data-uitest-id': 'NextDrawLabel' }, details.nextDrawLabel()),\r\n m('.game-card__footer-next-draw-value', { 'data-uitest-id': 'NextDrawValue' }, details.nextDrawValue()),\r\n ]),\r\n details.pricePerWeek() ? m('.game-card__footer-price-per-week', [\r\n m('.game-card__footer-price-per-week-label', d('GameCard/PricePerWeekLabel')),\r\n m('.game-card__footer-price-per-week-value', { 'data-uitest-id': 'PricePerWeekValue' }, details.pricePerWeek()),\r\n ]) : ''\r\n ]),\r\n\r\n details.canGameBeTerminated() ? m('.game-card__cta', [\r\n m('.plus-button.plus-button--slim', {\r\n 'data-uitest-id': 'CtaTerminateGame',\r\n onclick: terminateGameFn.bind(null, game.id)\r\n }, d('ButtonLabels/TerminateGame')),\r\n ]) : '',\r\n\r\n customCta ? m('.game-card__cta', [\r\n m('.plus-button.plus-button--slim', {\r\n 'data-uitest-id': 'CtaCustom',\r\n onclick: customCta.fn\r\n }, customCta.label),\r\n ]) : '',\r\n\r\n ]),\r\n\r\n details.showEditOptions() || details.showEditLuckyNumbers() ?\r\n m('.game-card__inner-column', [\r\n\r\n details.showEditRows() || details.showEditLuckyNumbers() ? GameCardEditRows({\r\n game: game,\r\n details: details,\r\n }) : '',\r\n\r\n details.showEditClassicRows() ? GameCardEditClassicRows({\r\n game: game,\r\n details: details,\r\n }) : '',\r\n\r\n details.showEditSystem() ? GameCardEditSystem({\r\n game: game,\r\n }) : '',\r\n\r\n details.showEditLuckyNumbers() || details.showEditSystem() ? GameCardEditNumbers({\r\n game: game,\r\n }) : '',\r\n\r\n details.showEditJokers() ? GameCardEditJoker({\r\n d: d,\r\n game: game,\r\n details: details,\r\n }) : '',\r\n\r\n ]) : '',\r\n\r\n ]\r\n )\r\n ]);\r\n };\r\n\r\n return GameCard;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GamePaymentDetails',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n ], (m, Info, Utils) => {\r\n const GamePaymentDetails = ({ d, goTo, storedCards, subscription }) => {\r\n const period = subscription.currentPeriod();\r\n const paymentMethod = m.prop(Info.cardTypeIcons['CARD']);\r\n const cardNumber = m.prop('●●●● ●●●● ●●●● ●●●●');\r\n const addApplePay = m.prop(false);\r\n const isSubscriptionFundedByCard = subscription.fundingPaymentMethod() === 'Card';\r\n const currentPaymentPlanPeriodInWeeks = subscription.currentPaymentPlanPeriodInWeeks();\r\n const hasChangedPaymentPlan = subscription.hasChangedPaymentPlan();\r\n const nextFundingDate = subscription.nextFundingDate?.formatted?.();\r\n const changeFunding = goTo?.changeFunding;\r\n const changePaymentPlan = goTo?.changePaymentPlan;\r\n\r\n if (isSubscriptionFundedByCard) {\r\n const id = subscription.fundingPaymentMethodId();\r\n if (storedCards && storedCards.length > 0 && id) {\r\n storedCards.map(function (storedCard) {\r\n if (storedCard.cardId === id) {\r\n paymentMethod(Info.cardTypeIcons[storedCard.cardType]);\r\n cardNumber(storedCard.cardNumber.replace(/x/ig, '●'));\r\n addApplePay(storedCard.isApplePay && Info.cardTypeIcons[storedCard.cardType] !== 'applepay');\r\n }\r\n });\r\n }\r\n } else {\r\n paymentMethod(Info.cardTypeIcons[subscription.fundingPaymentMethod()]);\r\n const id = subscription?.bsAgreement?.()?.id;\r\n if (subscription.fundingPaymentMethod() === 'BS' && id) {\r\n cardNumber(d('PaymentDetails/BsAgreementId', { id }));\r\n } else {\r\n cardNumber(null);\r\n }\r\n }\r\n\r\n const getTotalPricePreLabel = () => {\r\n if (hasChangedPaymentPlan) {\r\n return d('PaymentDetails/PerWeek' + currentPaymentPlanPeriodInWeeks + 'ChangedPaymentPlan', {\r\n lastDayBeforeChangedDate: hasChangedPaymentPlan.changedFromDate\r\n });\r\n }\r\n\r\n if (currentPaymentPlanPeriodInWeeks) {\r\n if (nextFundingDate) {\r\n return d('PaymentDetails/NextFundingDate', { nextFundingDate });\r\n }\r\n\r\n return d('PaymentDetails/PerWeek' + currentPaymentPlanPeriodInWeeks);\r\n }\r\n\r\n return d('PaymentDetails/PerWeek');\r\n };\r\n\r\n const getTotalPriceLabel = () => {\r\n if (changePaymentPlan && currentPaymentPlanPeriodInWeeks) {\r\n return m('.game-payment-details__key-link', {\r\n onclick: changePaymentPlan\r\n }, m.trust(d('PaymentDetails/TotalPrice' + currentPaymentPlanPeriodInWeeks)));\r\n }\r\n\r\n if (currentPaymentPlanPeriodInWeeks) {\r\n return m.trust(d('PaymentDetails/TotalPrice' + currentPaymentPlanPeriodInWeeks));\r\n }\r\n\r\n return m.trust(d('PaymentDetails/TotalPrice'));\r\n };\r\n\r\n const getTotalCost = () => {\r\n let totalCost;\r\n\r\n if (!period) {\r\n totalCost = subscription.costPerWeek() / 100;\r\n } else {\r\n totalCost = period.drawGamesTotalCostPerWeek / 100;\r\n }\r\n\r\n if (currentPaymentPlanPeriodInWeeks) {\r\n totalCost *= currentPaymentPlanPeriodInWeeks;\r\n }\r\n\r\n return Utils.formatCurrency(totalCost);\r\n };\r\n\r\n return m('.game-payment-details', { 'data-uitest-id': 'GamePayment' }, [\r\n subscription.isTerminated() ? '' : m('.game-payment-details__row', [\r\n m('.game-payment-details__key', m.trust(d('PaymentDetails/PaymentMethod'))),\r\n\r\n m('img', {\r\n class: 'game-payment-details__card-icon',\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/Plus/SquaredCreditCards/' + paymentMethod() + '.svg',\r\n alt: ''\r\n }),\r\n\r\n addApplePay() ? m('img', {\r\n class: 'game-payment-details__card-icon',\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/Plus/SquaredCreditCards/applepay.svg',\r\n alt: ''\r\n }) : null,\r\n\r\n m('.game-payment-details__value', { 'data-uitest-id': 'paymentMethod' }, (d('PaymentMethods/' + paymentMethod()) + (addApplePay() ? ' Apple\\u00a0Pay' : '')).trim()),\r\n ]),\r\n subscription.isTerminated() ? '' : m('.game-payment-details__row', cardNumber()\r\n ? m('.game-payment-details__subvalue', { 'data-uitest-id': 'cardNumber' }, isSubscriptionFundedByCard && changeFunding\r\n ? m('span.game-payment-details__link', { onclick: changeFunding }, cardNumber())\r\n : cardNumber())\r\n : ''),\r\n\r\n m('.game-payment-details__row.game-payment-details__row--stretch',\r\n m('.game-payment-details__prevalue', m.trust(getTotalPricePreLabel()))\r\n ),\r\n\r\n m('.game-payment-details__row game-payment-details__row--total-price', [\r\n m('.game-payment-details__key', getTotalPriceLabel()),\r\n m('.game-payment-details__value', { 'data-uitest-id': 'totalCost' }, getTotalCost()),\r\n ]),\r\n ]);\r\n\r\n };\r\n\r\n return GamePaymentDetails;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Notification',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiableGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/CreditCard',\r\n ],\r\n function (m, ModifiableGames) {\r\n var Notification = function ({ d, goTo, subscription, hideNotifications, storedCards }) {\r\n var modifiableGames = new ModifiableGames();\r\n var showNotification = m.prop();\r\n var text = m.prop();\r\n var ctaFn = m.prop();\r\n var ctaSecondaryFn = m.prop();\r\n var ctaLabel = m.prop();\r\n var ctaSecondaryLabel = m.prop();\r\n var notificationType = m.prop();\r\n\r\n var disableAllModifications = modifiableGames.disableAllModifications;\r\n var disableEurojackpotGapFunding = modifiableGames.disableEurojackpotGapFunding;\r\n var disableEurojackpotAdHocFunding = modifiableGames.disableEurojackpotAdHocFunding;\r\n\r\n // This notification will be placed on the Overview page.\r\n if (!subscription) {\r\n // We are only interested in the notification about all modifications being turned off.\r\n if (disableAllModifications) {\r\n text(modifiableGames.disabledNotificationText());\r\n notificationType('warning');\r\n showNotification(true);\r\n }\r\n }\r\n\r\n // This notification will be placed above each subscription.\r\n if (subscription) {\r\n var subscriptionHasEurojackpotGame = modifiableGames.subscriptionHasEurojackpotGame(subscription);\r\n\r\n // We don't want to place any notifications if Overview page already shows all modifications are turned off.\r\n if (disableAllModifications) return;\r\n\r\n // Check to see if we should display notification about a current period funding that has failed..\r\n if (subscription.currentPeriodHasFundingFailed()) {\r\n\r\n if (subscription.canAdHocOrGapFund()) {\r\n\r\n // Check to see if we shouldn't display this notification.\r\n if (subscriptionHasEurojackpotGame && disableEurojackpotGapFunding) return;\r\n if (subscriptionHasEurojackpotGame && disableEurojackpotAdHocFunding) return;\r\n\r\n if (subscription.isBsFunded()) {\r\n text(d('Notifications/FundingFailed/CurrentPeriod/CanGapFund/BsText', { startDate: subscription.canAdHocOrGapFund().startDate, endDate: subscription.canAdHocOrGapFund().endDate }));\r\n } else {\r\n text(d('Notifications/FundingFailed/CurrentPeriod/CanGapFund/CardText', { startDate: subscription.canAdHocOrGapFund().startDate, endDate: subscription.canAdHocOrGapFund().endDate }));\r\n }\r\n ctaLabel(d('ButtonLabels/YesPlease'));\r\n ctaFn(goTo.gapPayment);\r\n } else {\r\n if (subscription.isBsFunded()) {\r\n text(d('Notifications/FundingFailed/CurrentPeriod/CanNotGapFund/BsText'));\r\n } else {\r\n text(d('Notifications/FundingFailed/CurrentPeriod/CanNotGapFund/CardText'));\r\n }\r\n }\r\n notificationType('danger');\r\n showNotification(true);\r\n }\r\n\r\n // Check to see if we should display notification that the current payment method has expired.\r\n const id = subscription.fundingPaymentMethodId();\r\n if (storedCards?.length > 0 && id) {\r\n storedCards.map(function (storedCard) {\r\n if (storedCard.cardId === id && storedCard.cardExpirationDate?.expired) {\r\n\r\n // Display notification to change payment method.\r\n text(d('Notifications/PaymentCardHasExpired/Text'));\r\n ctaLabel(d('ButtonLabels/ChangeCard'));\r\n ctaFn(goTo?.changeFunding);\r\n notificationType('warning');\r\n showNotification(true);\r\n }\r\n });\r\n }\r\n\r\n // Check to see if we should display notification about a next period funding that has failed..\r\n if (\r\n !showNotification()\r\n && subscription.nextPeriodHasFundingFailed()\r\n ) {\r\n if (subscription.canAdHocOrGapFund()) {\r\n\r\n // Check to see if we shouldn't display this notification.\r\n if (subscriptionHasEurojackpotGame && disableEurojackpotGapFunding) return;\r\n if (subscriptionHasEurojackpotGame && disableEurojackpotAdHocFunding) return;\r\n\r\n if (subscription.isBsFunded()) {\r\n text(d('Notifications/FundingFailed/NextPeriod/CanGapFund/BsText', { startDate: subscription.canAdHocOrGapFund().startDate, endDate: subscription.canAdHocOrGapFund().endDate }));\r\n } else {\r\n text(d('Notifications/FundingFailed/NextPeriod/CanGapFund/CardText', { startDate: subscription.canAdHocOrGapFund().startDate, endDate: subscription.canAdHocOrGapFund().endDate }));\r\n }\r\n ctaLabel(d('ButtonLabels/YesPlease'));\r\n ctaFn(goTo.gapPayment);\r\n } else {\r\n if (subscription.isBsFunded()) {\r\n text(d('Notifications/FundingFailed/NextPeriod/CanNotGapFund/BsText'));\r\n } else {\r\n text(d('Notifications/FundingFailed/NextPeriod/CanNotGapFund/CardText'));\r\n }\r\n }\r\n notificationType('danger');\r\n showNotification(true);\r\n }\r\n\r\n // Check to see if payment plan has not started.\r\n if (\r\n !showNotification()\r\n && subscription.paymentPlanHasNotStarted()\r\n ) {\r\n text(d('Notifications/PaymentPlanHasNotStarted/Text', { firstDepositDeadline: subscription.paymentPlanHasNotStarted().firstDepositDeadline }));\r\n ctaLabel(d('Notifications/PaymentPlanHasNotStarted/CtaPrimaryLabel'));\r\n ctaFn(goTo.gapPayment);\r\n ctaSecondaryLabel(d('Notifications/PaymentPlanHasNotStarted/CtaSecondaryLabel'));\r\n ctaSecondaryFn(goTo.terminateGame);\r\n notificationType('danger');\r\n showNotification(true);\r\n }\r\n\r\n // Check to see if we should display notification to offer gapfunding possibility.\r\n if (\r\n !showNotification()\r\n && subscription.canAdHocOrGapFund()\r\n && subscription.canAdHocOrGapFund().fundingType === 'gap-fund'\r\n ) {\r\n\r\n // Check to see if we shouldn't display this notification.\r\n if (subscriptionHasEurojackpotGame && disableEurojackpotGapFunding) return;\r\n\r\n // Display notification to offer gapfunding\r\n text(d('Notifications/OfferGapFund/Text', { startDate: subscription.canAdHocOrGapFund().startDate, endDate: subscription.canAdHocOrGapFund().endDate }));\r\n ctaLabel(d('ButtonLabels/YesPlease'));\r\n ctaFn(goTo.gapPayment);\r\n notificationType('warning');\r\n showNotification(true);\r\n }\r\n\r\n // Check to see if we should display notification to offer ad-hocfunding possibility.\r\n if (\r\n !showNotification()\r\n && subscription.canAdHocOrGapFund()\r\n && subscription.canAdHocOrGapFund().fundingType === 'adhoc-fund'\r\n ) {\r\n\r\n // Check to see if we shouldn't display this notification.\r\n if (subscriptionHasEurojackpotGame && disableEurojackpotAdHocFunding) return;\r\n\r\n // Display notification to offer ad-hocfunding\r\n text(d('Notifications/OfferAdHocFund/Text', { startDate: subscription.canAdHocOrGapFund().startDate, endDate: subscription.canAdHocOrGapFund().endDate }));\r\n ctaLabel(d('ButtonLabels/YesPlease'));\r\n ctaFn(goTo.gapPayment);\r\n notificationType('warning');\r\n showNotification(true);\r\n }\r\n\r\n // Check to see if we should display notification that the current payment plan has changed.\r\n if (\r\n !showNotification()\r\n && subscription.hasChangedPaymentPlan()\r\n ) {\r\n const { changedFromDate, costPerPaymentPlan, paymentPlanPeriodInWeeks } = subscription.hasChangedPaymentPlan();\r\n text(d('Notifications/PaymentPlanHasChanged/Text' + paymentPlanPeriodInWeeks, { changedFromDate, costPerPaymentPlan }));\r\n notificationType('info');\r\n showNotification(true);\r\n }\r\n }\r\n\r\n\r\n // View:\r\n if (showNotification() && !hideNotifications) {\r\n return m('.plus-notification',\r\n {\r\n 'data-uitest-id': 'Notification',\r\n class: notificationType() ? 'plus-notification--' + notificationType() : '',\r\n }, [\r\n m('.plus-notification__bg', m('.plus-notification__bg-inner')),\r\n m('.plus-notification__inner', [\r\n m('.plus-notification__icon'),\r\n\r\n m('.plus-notification__text-and-buttons', [\r\n m('.plus-notification__text', m.trust(text())),\r\n ctaFn() || ctaSecondaryFn() ? m('.plus-buttons', [\r\n ctaSecondaryFn() ? m('.plus-button.plus-button--secondary', {\r\n 'data-uitest-id': 'cta--secondary',\r\n onclick: ctaSecondaryFn()\r\n }, ctaSecondaryLabel()) : '',\r\n ctaFn() ? m('.plus-button', {\r\n 'data-uitest-id': 'cta',\r\n onclick: ctaFn()\r\n }, ctaLabel()) : ''\r\n ]) : '',\r\n ]),\r\n\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n return Notification;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/SubscriptionCard',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n ],\r\n function (m, Info, Utils) {\r\n\r\n var SubscriptionCard = function (args) {\r\n var d = args.d;\r\n var subscription = args.subscription;\r\n var costPerWeek = subscription.costPerWeek();\r\n subscription.games().sort(function (game1, game2) {\r\n return game1.rowCount - game2.rowCount;\r\n });\r\n\r\n var makeGame = function (game, day) {\r\n var gameType = Info.getGameType(game);\r\n var jokerLabel = subscription.gameDetails(game).jokerLabelTerminated(game, day);\r\n return m('.plus-subscription-card__rows-and-logo', [\r\n m('.plus-subscription-card__rows', game.rowCount),\r\n m('img.plus-subscription-card__logo', {\r\n class: 'plus-subscription-card__logo--' + gameType,\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + gameType + '.svg',\r\n alt: ''\r\n }),\r\n day ? m('.plus-subscription-card__day', day) : '',\r\n jokerLabel ? m('.plus-subscription-card__joker', jokerLabel) : '',\r\n ]);\r\n };\r\n\r\n return m('.plus-subscription-card',\r\n m('.plus-subscription-card__inner', [\r\n\r\n m('.plus-subscription-card__inner-column', [\r\n subscription.games().map(function (game) {\r\n if (Info.getGameType(game) === 'eurojackpot' && game.drawDays && game.drawDays[1] && game.drawDays[4]) {\r\n return [\r\n makeGame(game, 'tirsdag'),\r\n makeGame(game, 'fredag'),\r\n ];\r\n }\r\n return makeGame(game);\r\n }),\r\n ]),\r\n\r\n m('.game-card__footer', [\r\n m('.game-card__footer-next-draw', d('GameCard/PricePerWeekLabel')),\r\n m('.game-card__footer-price-per-week-value', Utils.formatCurrency(costPerWeek / 100)),\r\n ]),\r\n\r\n ])\r\n );\r\n\r\n };\r\n\r\n return SubscriptionCard;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Authentication',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginController',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SeparatorLine',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n ],\r\n function (Component, Storage, Params, LoginController, Dictionary, LoggedInOrOut, State, Utils, SeparatorLine, Header, ProceedBar) {\r\n Component('authentication', [Dictionary], function (m, route, settings, property) {\r\n const root = {\r\n controller: function () {\r\n this.property = property;\r\n\r\n this.backLink = m.prop(settings.backLink);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.proceedLink = m.prop(settings.proceedLink);\r\n this.signUpLink = m.prop(settings.signUpLink);\r\n\r\n this.d = Dictionary.get.bind({ prefix: 'Authentication/' });\r\n this.state = new State('loading');\r\n\r\n this.verticalType = m.prop(Params.detect('plus') ? 'plus' : 'jackpot');\r\n this.isJackpot = m.prop(this.verticalType() === 'jackpot');\r\n\r\n this.back = () => {\r\n location.href = Utils.link(this.backLink()).addCurrentParams().link;\r\n };\r\n\r\n this.login = () => {\r\n this.state.add('loading');\r\n LoginController.openLogin({ source: 'subscription' });\r\n };\r\n\r\n this.signUp = () => {\r\n this.state.add('loading');\r\n Storage.set('Subscription-verticalType', this.verticalType());\r\n location.href = Utils.link(this.signUpLink())\r\n .addParam('sub=true')\r\n .addParam(`returnurl=${Utils.link(this.proceedLink()).addCurrentParams().link}`)\r\n .addParam(`signupsuccessurl=${Utils.link(this.proceedLink()).addCurrentParams().link}`)\r\n .link;\r\n };\r\n\r\n this.ifLoggedIn = () => {\r\n location.href = Utils.link(this.proceedLink()).addCurrentParams().link;\r\n };\r\n\r\n this.ifLoggedOut = () => {\r\n this.state.remove('loading');\r\n };\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut, true);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n\r\n if (state.has('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n return [\r\n Header({\r\n title: controller.d('Title'),\r\n subtitle: controller.d(`Subtitle${controller.isJackpot() ? 'Jackpot' : ''}`),\r\n center: true,\r\n }),\r\n\r\n m('.authentication__buttons', [\r\n m('.btn-checked', {\r\n onclick: (ev) => {\r\n ev.currentTarget.classList.add('btn--selected');\r\n controller.login();\r\n },\r\n 'data-uitest-id': 'LogIn__btn'\r\n }, [\r\n m('.btn-checked__labels', m('.btn-checked__label.btn-checked__label--centered', controller.d('LoginButton')))\r\n ]),\r\n\r\n SeparatorLine(controller.d('ButtonsSeparatorText')),\r\n\r\n m('.btn-checked', {\r\n onclick: (ev) => {\r\n ev.currentTarget.classList.add('btn--selected');\r\n controller.signUp();\r\n },\r\n 'data-uitest-id': 'CreateAccount__btn'\r\n }, [\r\n m('.btn-checked__labels', m('.btn-checked__label.btn-checked__label--centered', controller.d('CreateAccountButton')))\r\n ]),\r\n\r\n Header({\r\n disclaimer: controller.d('Disclaimer'),\r\n center: true,\r\n }),\r\n ]),\r\n\r\n Header({\r\n subtitle: controller.d('RedAccountInfoTitle'),\r\n text: controller.d('RedAccountInfoText'),\r\n center: true,\r\n }),\r\n\r\n m(ProceedBar, { controller }),\r\n\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/BasketOverview',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Basket',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/AppBasketChecker',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/WeekPackageChecker',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Checkbox',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SeparatorLine',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Receipt',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/YourNextDraws',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n ],\r\n function (Component, Render, Event, Params, Subscription, Basket, Dictionary, State, Utils, EurojackpotInfo, EurojackpotGame, KenoInfo, KenoGame, LottoInfo, LottoGame, VikingLottoInfo, VikingLottoGame, AllOrNothingInfo, AllOrNothingGame, ModelStorage, AppBasketChecker, WeekPackageChecker, Checkbox, SeparatorLine, ErrorMessage, Header, Modal, Receipt, YourNextDraws, ProceedBar, Step) {\r\n Component('basket-overview', [Dictionary, EurojackpotInfo, KenoInfo, LottoInfo, VikingLottoInfo, AllOrNothingInfo], function (m, route, settings) {\r\n const render = Render();\r\n const root = {\r\n controller: function () {\r\n this.backLink = m.prop(settings.backLink);\r\n this.backLinkJackpot = m.prop(settings.backLinkJackpot);\r\n this.fundingLink = m.prop(settings.fundingLink);\r\n this.proceedLink = m.prop(settings.proceedLink);\r\n this.verticalType = m.prop(Params.detect('plus') ? 'plus' : 'jackpot');\r\n this.isJackpot = m.prop(this.verticalType() === 'jackpot');\r\n this.termsAccepted = m.prop(false);\r\n this.gamesWithPriceChanges = m.prop(settings.gamesWithPriceChanges || []);\r\n this.modal = m.prop();\r\n this.canProceed = m.prop(false);\r\n this.showTerms = m.prop(false);\r\n this.subscription = m.prop();\r\n this.d = Dictionary.get.bind({ prefix: 'BasketOverview/' });\r\n this.state = new State('loading');\r\n this.proceedLabel = 'ProceedBar/Proceed';\r\n this.serverTime = m.prop(document.body.getAttribute('data-time-now'));\r\n\r\n this.gameInfo = m.prop({\r\n allornothing: AllOrNothingInfo,\r\n eurojackpot: EurojackpotInfo,\r\n lotto: LottoInfo['saturday'](),\r\n vikinglotto: VikingLottoInfo,\r\n });\r\n\r\n this.back = () => {\r\n location.href = Utils\r\n .link(this.isJackpot() ? this.backLinkJackpot() : this.backLink())\r\n .addCurrentParams()\r\n .removeParam('plus', 'jackpot', 'mcGameType', 'mcGameId')\r\n .link;\r\n };\r\n\r\n this.proceed = (checkForPriceChanges) => {\r\n this.state.add('loading');\r\n const showPriceChangeOverlay = typeof checkForPriceChanges !== 'undefined' ? checkForPriceChanges : true;\r\n const priceChangesDictionary = Utils.getPriceChangeDictionaryPath(this.gamesWithPriceChanges(), this.subscription().games);\r\n\r\n if (showPriceChangeOverlay && priceChangesDictionary) {\r\n this.state.remove('loading');\r\n this.modal({\r\n hideLogo: true,\r\n title: this.d('Modal/PriceChange/' + priceChangesDictionary + '/title'),\r\n text: this.d('Modal/PriceChange/' + priceChangesDictionary + '/text'),\r\n buttons: [\r\n {\r\n label: this.d('Modal/PriceChange/ctaCancel'),\r\n secondary: true,\r\n },\r\n {\r\n label: this.d('Modal/PriceChange/ctaProceed'),\r\n cta: function () {\r\n this.proceed(false);\r\n this.modal(null);\r\n }.bind(this)\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n return;\r\n }\r\n\r\n const isLoggedIn = document.body.classList.contains('is-logged-in');\r\n const proceedLinkFunding = Utils\r\n .link(this.fundingLink())\r\n .addCurrentParams()\r\n .removeParam('mcGameType', 'mcGameId', 'packageInstanceId', 'packagePlayType')\r\n .link;\r\n const proceedLink = Utils\r\n .link(this.proceedLink())\r\n .addCurrentParams()\r\n .removeParam('mcGameType', 'mcGameId', 'packageInstanceId', 'packagePlayType')\r\n .link;\r\n location.href = isLoggedIn ? proceedLinkFunding : proceedLink;\r\n };\r\n\r\n this.getRowCount = (game) => {\r\n let rows = 0;\r\n if (!game.type.match(/package/)) {\r\n const playType = game.game.playType();\r\n if (/lightning|lucky/.test(playType.toLowerCase())) {\r\n const rowsLength = game.game.getRows().length;\r\n rows = game.type === 'keno' && rowsLength > 0 ? rowsLength : game.game.rowsToGenerate();\r\n } else if (playType === 'System') {\r\n rows = game.type === 'keno' ? game.game.getSystemCombinationAmount() : game.game.getSystemRowAmount();\r\n } else if (playType === 'Lucky') {\r\n rows = game.game.rowsToGenerate();\r\n } else {\r\n rows = game.game.getRowsSummary();\r\n }\r\n }\r\n return rows;\r\n };\r\n\r\n this.handleRemoveGame = (game) => {\r\n const numberOfGames = this.subscription().games.length;\r\n if (numberOfGames === 1) {\r\n this.modal({\r\n text: this.d('Modal/RemoveLastGameWarning/text'),\r\n buttons: [\r\n {\r\n label: this.d('Modal/RemoveLastGameWarning/ctaCancel'),\r\n secondary: true,\r\n },\r\n {\r\n label: this.d('Modal/RemoveLastGameWarning/ctaProceed'),\r\n cta: () => {\r\n removeGame(game);\r\n this.modal(null);\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n return;\r\n }\r\n removeGame(game);\r\n };\r\n\r\n const removeGame = (game) => {\r\n if (game.rowsToGenerate) {\r\n game.rowsToGenerate(0);\r\n }\r\n if (game.withJokerSaturday) {\r\n game.withJokerSaturday(false);\r\n game.withJokerWednesday(false);\r\n }\r\n game.status('open');\r\n game.save();\r\n if (Basket.isEmpty()) {\r\n handleEmptyBasket();\r\n }\r\n this.subscription(mapSubscriptionToFitReceipt());\r\n };\r\n\r\n this.handleRemoveJoker = (game, daysToRemove = []) => {\r\n daysToRemove.forEach((day) => {\r\n game[`withJoker${day}`](false);\r\n game.save();\r\n });\r\n this.subscription(mapSubscriptionToFitReceipt());\r\n };\r\n\r\n const getCostPerDraw = (game, isPlus) => {\r\n const isGameInPackage = !!game.type?.match?.(/package/);\r\n if (isGameInPackage) return game.game.totalPricePerWeek();\r\n let totalPrice = game.game.totalPrice();\r\n if (isPlus && game.type === 'eurojackpot') totalPrice /= 2;\r\n return totalPrice;\r\n };\r\n\r\n const mapSubscriptionToFitReceipt = () => {\r\n let subscription = Subscription.new({ status: 'basket', verticalType: this.verticalType() });\r\n subscription.isJackpot = subscription.isJackpot();\r\n const isPlus = !subscription.isJackpot;\r\n subscription.games = subscription.gamesInBasket().map((game) => {\r\n game.costPerDraw = getCostPerDraw(game, isPlus);\r\n game.gameType = game.type;\r\n game.playType = game.game.playType();\r\n game.systemName = game.game.systemName?.();\r\n game.rows = this.getRowCount(game);\r\n game.drawDays = game.game.drawDays?.();\r\n game.rowsToGenerate = game.game.rowsToGenerate?.();\r\n game.withJokerWednesday = game.game.withJokerWednesday?.();\r\n game.withJokerSaturday = game.game.withJokerSaturday?.();\r\n game.addOnTriggerValue = game.game.plusSubscriptionJackpot?.() * 1000000;\r\n return game;\r\n });\r\n return subscription;\r\n };\r\n\r\n if (Basket.isFeedDownForAGameInBasket()) {\r\n const gameNames = {\r\n allornothing: 'Alt eller Intet',\r\n eurojackpot: 'Eurojackpot',\r\n keno: 'Keno',\r\n lotto: 'Lotto',\r\n vikinglotto: 'Vikinglotto',\r\n };\r\n\r\n const games = Basket.isFeedDownForAGameInBasket()\r\n .map((game) => gameNames[game]).join(', ').replace(/,([^,]*)$/, ' og$1');\r\n\r\n this.modal({\r\n hideLogo: true,\r\n text: this.d('Modal/PricesFailedToLoad/text', { games }),\r\n buttons: [\r\n {\r\n label: this.d('Modal/PricesFailedToLoad/ctaContinue'),\r\n secondary: true,\r\n },\r\n {\r\n label: this.d('Modal/PricesFailedToLoad/ctaTryAgain'),\r\n cta: function () {\r\n this.state.add('loading');\r\n location.reload();\r\n }.bind(this)\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n }\r\n\r\n const handleEmptyBasket = () => {\r\n this.state.add('loading');\r\n this.back();\r\n };\r\n\r\n this.handleTermsAccepted = (ev) => {\r\n if (!ev) return this.termsAccepted();\r\n this.termsAccepted(!this.termsAccepted());\r\n this.canProceed(this.termsAccepted());\r\n return this.termsAccepted();\r\n };\r\n\r\n this.isGameInSubscription = (gameName) => {\r\n return this.subscription().games.find((game) => {\r\n if (game.type === 'wizardpackage') {\r\n return game.game.gameInstances()[gameName];\r\n }\r\n return game.type === gameName;\r\n });\r\n };\r\n\r\n const init = () => {\r\n // Check to see if we got redirected from MultiClient.\r\n let mcGameId = Params.extract('mcGameId');\r\n const mcGameType = Params.extract('mcGameType');\r\n const packageId = Params.extract('packageInstanceId');\r\n const verticalType = Params.detect('jackpot') ? 'jackpot' : 'plus';\r\n\r\n if (mcGameId && mcGameType) {\r\n const game = {\r\n eurojackpot: EurojackpotGame,\r\n lotto: LottoGame,\r\n vikinglotto: VikingLottoGame,\r\n keno: KenoGame,\r\n allornothing: AllOrNothingGame,\r\n }[mcGameType].get(mcGameId);\r\n\r\n if (game) {\r\n if (game.playType().toLowerCase() === 'kenomillion') {\r\n game.playType('Lightning');\r\n } else if (mcGameType !== 'keno') {\r\n game.numberOfDraws(1);\r\n }\r\n mcGameId = verticalType + '-' + mcGameType;\r\n game.id(mcGameId);\r\n game.save();\r\n\r\n setTimeout(function () {\r\n ModelStorage.add(verticalType, mcGameType, 'lightning', mcGameId);\r\n game.status('add-to-basket');\r\n game.save();\r\n setupSubscription();\r\n }, 2000);\r\n }\r\n } else if (AppBasketChecker.useAppBasketModel()) {\r\n AppBasketChecker.getGamesFromAppBasket().then((gamesFromAppBasket) => {\r\n if (gamesFromAppBasket.length > 0) {\r\n gamesFromAppBasket.forEach((game) => {\r\n const gameId = `lottoApp-${verticalType}-${game._gameType}-${game.playType().toLowerCase()}`;\r\n ModelStorage.add(verticalType, game._gameType, game.playType().toLowerCase(), gameId);\r\n game.id(gameId);\r\n game.status('add-to-basket');\r\n game.save();\r\n });\r\n setupSubscription();\r\n AppBasketChecker.clearAppBasket();\r\n } else {\r\n handleEmptyBasket();\r\n }\r\n });\r\n } else if (packageId) {\r\n WeekPackageChecker({ setupSubscription, handleEmptyBasket });\r\n } else {\r\n if (Basket.isEmpty()) {\r\n handleEmptyBasket();\r\n } else {\r\n setupSubscription();\r\n }\r\n }\r\n };\r\n\r\n const setupSubscription = () => {\r\n let subscription = mapSubscriptionToFitReceipt();\r\n subscription.games = Utils.sortGamesByDrawDateAndName(subscription.games, this.serverTime());\r\n this.subscription(subscription);\r\n this.state.remove('loading');\r\n Event.fire('setupSubscription');\r\n ModelStorage.trackBasketCheckout(this.verticalType(), 1);\r\n };\r\n\r\n init();\r\n\r\n // Get the #showTerms DOM element, which comes from a dictionary item, and add a listener to it.\r\n this.handleTerms = ($element, ignoreRendered, context) => {\r\n if (context.hasEventListenerAdded) return;\r\n const $showTerms = $element.querySelector('#showTerms');\r\n if ($showTerms) context.hasEventListenerAdded = true;\r\n $showTerms?.addEventListener('click', () => {\r\n this.showTerms(true);\r\n m.redraw();\r\n });\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n const error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n if (error) {\r\n delete controller.proceed;\r\n return [\r\n m('.plus-error--centered', error),\r\n m(ProceedBar, { controller: controller }),\r\n ];\r\n }\r\n\r\n const subscription = controller.subscription();\r\n const verticalType = subscription.verticalType();\r\n\r\n const headerOptions = {\r\n title: controller.d(`${Utils.capitalize(verticalType)}Title`),\r\n subtitle: controller.d(`${Utils.capitalize(verticalType)}Subtitle`),\r\n center: true,\r\n };\r\n\r\n if (controller.isGameInSubscription('lotto')) {\r\n headerOptions.text = controller.d(`${Utils.capitalize(verticalType)}LottoDescription`);\r\n }\r\n\r\n return [\r\n Step(1, 3),\r\n\r\n Header(headerOptions),\r\n\r\n Receipt({ controller, subscription }),\r\n\r\n verticalType === 'plus' ? (\r\n m('.basket-overview__add-more-games', { onclick: controller.back, 'data-uitest-id': 'AddMoreGames' }, controller.d('AddMoreGames'))\r\n ) : null,\r\n\r\n SeparatorLine(controller.d('SeparatorLine/Terms')),\r\n\r\n m('div', { config: render.depend('checkboxTerms', controller.handleTerms) },\r\n Checkbox({\r\n handleCheck: controller.handleTermsAccepted,\r\n label: controller.d('Checkboxes/AcceptTerms/label'),\r\n text: controller.d('Checkboxes/AcceptTerms/text'),\r\n })\r\n ),\r\n\r\n YourNextDraws({\r\n subscription,\r\n effectiveDate: controller.serverTime(),\r\n separatorLineLabel: controller.d('NextDrawsLabel')\r\n }),\r\n\r\n m(ProceedBar, { controller: controller }),\r\n\r\n Modal(controller.modal()),\r\n\r\n m('.basket-overview__terms', { class: controller.showTerms() ? 'basket-overview__terms--show' : '' }, [\r\n m('.basket-overview__terms-close-wrapper',\r\n m('.basket-overview__terms-close', { onclick: controller.showTerms.bind(null, false) })\r\n ),\r\n m('iframe', { src: '/regler_og_vilkaar/vilkaar/vilkaar-dlo' }),\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/Subscriptions/Scripts/Components/ChangeFundingReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (Component, Params, Api, Dictionary, Subscription, Loader, ProceedBar) {\r\n\r\n // Component:\r\n Component('change-funding-receipt', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n\r\n // Variables:\r\n this.d = Dictionary.get.bind({ prefix: 'ChangeFundingReceipt/' });\r\n this.error = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.property = property;\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n\r\n // Functions:\r\n this.proceed = function () {\r\n window.location.href = this.proceedLink() + '?subscriptionId=' + this.subscriptionId();\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.proceed();\r\n }\r\n\r\n // Context:\r\n var self = this;\r\n\r\n Api.getSubscriptionDetails(this.subscriptionId()).then(function (response) {\r\n self.loading(false);\r\n self.subscription(Subscription.new(response));\r\n\r\n m.redraw();\r\n }.bind(this), function () {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var subscription = controller.subscription();\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n // View:\r\n if (!loading && subscription) {\r\n return [\r\n // Headers:\r\n m('h2', controller.d('Title')),\r\n m('h3.subtitle', m.trust('Subtitle')),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n ];\r\n }\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangeFundingAndPayout',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ChangeFundingAndPayout/ChangeFunding',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ChangeFundingAndPayout/ChangePayout'\r\n ],\r\n function (Component, Params, Payment, Reepay, Api, Dictionary, Info, Utils, Subscription, Loader, ProceedBar, ChangeFunding, ChangePayout) {\r\n\r\n // Component:\r\n Component('change-funding-and-payout', [Dictionary], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.addCreditCardToggled = m.prop(false);\r\n this.backLink = m.prop(settings.backLink || 'back');\r\n this.bankAccounts = m.prop([]);\r\n this.d = Dictionary.get.bind({ prefix: 'ChangeFundingAndPayout/' });\r\n this.error = m.prop(false);\r\n this.fundingId = m.prop();\r\n this.fundingType = m.prop();\r\n this.fundingTypeChanged = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(true);\r\n this.originalFundingId = m.prop();\r\n this.originalFundingType = m.prop();\r\n this.originalPayoutId = m.prop();\r\n this.originalPayoutType = m.prop();\r\n this.payoutId = m.prop();\r\n this.payoutType = m.prop();\r\n this.payoutHasNemKonto = m.prop(false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.property = property;\r\n this.selectedCard = m.prop(false);\r\n this.selectedFundingAccountNumber = m.prop('');\r\n this.selectedFundingRegistrationNumber = m.prop('');\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.validBankAccounts = m.prop([]);\r\n this.validNemKontoAccounts = m.prop([]);\r\n this.applePay = m.prop(false);\r\n if (settings?.applePayEnabled) {\r\n // Injects Reepay script into DOM..\r\n Reepay.load().then(() => this.applePay(Reepay.isApplePayAvailable()));\r\n }\r\n\r\n // Functions:\r\n this.addCreditCard = function () {\r\n this.addCreditCardToggled(true);\r\n\r\n var selectedCard = this.selectedCard();\r\n\r\n var data = {\r\n acceptUrl: window.location.href + '?cardAdded=true',\r\n cancelUrl: window.location.href + '?cardCancelled=true',\r\n cardType: selectedCard.cardType,\r\n contextType: 'subscriptions'\r\n };\r\n\r\n Payment.saveCard(data);\r\n }.bind(this);\r\n\r\n this.addCreditCardClass = function () {\r\n return this.addCreditCardToggled() ? ' processing' : '';\r\n }.bind(this);\r\n\r\n this.back = function () {\r\n var backLink = this.backLink();\r\n\r\n if (!backLink || backLink === 'back') {\r\n window.history.back();\r\n } else {\r\n window.location.href = backLink + '?subscriptionId=' + this.subscriptionId();\r\n }\r\n }.bind(this);\r\n\r\n this.cardTypes = function () {\r\n var cardTypes = settings.cardTypes || [];\r\n var cards = [];\r\n var self = this;\r\n\r\n cardTypes.forEach(function (card) {\r\n if (card.allowCardToBeStored) {\r\n cards.push({\r\n cardType: card.cardType,\r\n icon: Info.cardTypeIcons[card.cardType],\r\n name: card.cardName + self.d('CreditCardNew'),\r\n number: card.number,\r\n type: 'new'\r\n });\r\n }\r\n });\r\n\r\n return cards;\r\n }.bind(this);\r\n\r\n this.changeFundingAccountNumber = function (value) {\r\n this.selectedFundingAccountNumber(value.replace(/[^0-9]/g, ''));\r\n\r\n return value;\r\n }.bind(this);\r\n\r\n this.changeFundingRegistrationNumber = function (value) {\r\n this.selectedFundingRegistrationNumber(value.replace(/[^0-9]/g, ''));\r\n\r\n return value;\r\n }.bind(this);\r\n\r\n this.changesMade = function () {\r\n this.property('proceedBarInactive', this.originalFundingId() === this.fundingId() && this.originalFundingType() === this.fundingType() && this.originalPayoutId() === this.payoutId() && this.originalPayoutType() === this.payoutType());\r\n }.bind(this);\r\n\r\n this.getBankAccounts = function () {\r\n var self = this;\r\n\r\n return Api.getBankAccounts().then(function (response) {\r\n self.bankAccounts(response);\r\n });\r\n }.bind(this);\r\n\r\n this.getSubscription = function (id) {\r\n var self = this;\r\n\r\n return Api.getSubscription(id).then(function (response) {\r\n self.subscription(Subscription.new(response));\r\n });\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n var fundingType = this.fundingType();\r\n var fundingPaymentId = null;\r\n var fundingPaymentMethod = null;\r\n var id = this.subscription().id();\r\n var payoutPaymentId = null;\r\n var payoutPaymentMethod = null;\r\n var payoutType = this.payoutType();\r\n var promises = [];\r\n var self = this;\r\n\r\n // Funding:\r\n if (fundingType === 'paymentService') {\r\n var accountNumber = Utils.leftPad(this.selectedFundingAccountNumber(), 10, '0');\r\n var registrationNumber = Utils.leftPad(this.selectedFundingRegistrationNumber(), 4, '0');\r\n\r\n promises.push(Api.getOrCreateBankAccount(registrationNumber, accountNumber).then(function (response) {\r\n fundingPaymentId = response.paymentMethodId;\r\n fundingPaymentMethod = 'BS';\r\n }));\r\n } else if (fundingType === 'creditCard') {\r\n var selectedCard = this.selectedCard();\r\n fundingPaymentId = selectedCard.cardId;\r\n fundingPaymentMethod = 'Card';\r\n }\r\n\r\n // Payout:\r\n if (payoutType === 'bankAccount' || payoutType === 'nemKonto') {\r\n payoutPaymentId = this.payoutId();\r\n payoutPaymentMethod = 'BankAccount';\r\n } else if (payoutType === 'wallet') {\r\n payoutPaymentMethod = 'Wallet';\r\n }\r\n\r\n // Update subscription:\r\n m.sync(promises).then(function () {\r\n m.sync([\r\n Api.updateSubscriptionFundingMethod(id, fundingPaymentMethod, fundingPaymentId),\r\n Api.updateSubscriptionPayoutMethod(id, payoutPaymentMethod, payoutPaymentId)\r\n ]).then(function () {\r\n window.location.href = self.proceedLink() + '?subscriptionId=' + id;\r\n }, function () {\r\n self.property('proceedBarProceeding', false);\r\n\r\n m.redraw();\r\n });\r\n });\r\n }.bind(this);\r\n\r\n this.resolveFundingOrPayoutType = function (type) {\r\n type = type.toLowerCase();\r\n\r\n if (type === 'bs') {\r\n return 'paymentService';\r\n }\r\n\r\n if (type === 'card') {\r\n return 'creditCard';\r\n }\r\n\r\n if (type === 'bankaccount') {\r\n return 'bankAccount';\r\n }\r\n\r\n if (type === 'wallet') {\r\n return 'wallet';\r\n }\r\n }.bind(this);\r\n\r\n this.selectCard = function (card) {\r\n var self = this;\r\n\r\n return function () {\r\n self.property('proceedBarInactive', card && card.type === 'new');\r\n self.selectedCard(card);\r\n };\r\n }.bind(this);\r\n\r\n this.storedCards = function () {\r\n var storedCards = settings.storedCards || [];\r\n var cards = [];\r\n\r\n storedCards.map(function (card) {\r\n cards.push({ id: card.cardId, name: card.cardName, number: card.cardNumber, type: 'existing' });\r\n });\r\n\r\n return cards;\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.back();\r\n }\r\n\r\n // Context:\r\n var self = this;\r\n\r\n m.sync([this.getBankAccounts(), this.getSubscription(this.subscriptionId())]).then(function () {\r\n var bankAccounts = self.bankAccounts();\r\n var bankAccountFundingMatch = false;\r\n var creditCardMatch = false;\r\n var subscription = self.subscription();\r\n var payoutType = self.resolveFundingOrPayoutType(subscription.payoutPaymentMethodType());\r\n var validBankAccounts = [];\r\n var validNemKontoAccounts = [];\r\n\r\n self.fundingId(subscription.fundingPaymentMethodId());\r\n self.fundingType(self.resolveFundingOrPayoutType(subscription.fundingPaymentMethod()));\r\n self.loading(false);\r\n self.payoutId(subscription.payoutPaymentMethodId());\r\n self.payoutType(payoutType);\r\n\r\n self.originalFundingId(self.fundingId());\r\n self.originalFundingType(self.fundingType());\r\n self.originalPayoutId(self.payoutId());\r\n self.originalPayoutType(self.payoutType());\r\n\r\n bankAccounts.map(function (bankAccount) {\r\n if (bankAccount.paymentMethodId === subscription.fundingPaymentMethodId()) {\r\n bankAccountFundingMatch = bankAccount;\r\n }\r\n\r\n if (bankAccount.paymentMethodId === subscription.payoutPaymentMethodId() && payoutType === 'bankAccount') {\r\n self.payoutType('nemKonto');\r\n\r\n self.originalPayoutType(self.payoutType());\r\n }\r\n\r\n if (bankAccount.isValid && !bankAccount.isNemkonto) {\r\n validBankAccounts.push(bankAccount);\r\n }\r\n\r\n if (bankAccount.isNemkonto) {\r\n validNemKontoAccounts.push(bankAccount);\r\n\r\n self.payoutHasNemKonto(true);\r\n }\r\n });\r\n\r\n self.validBankAccounts(validBankAccounts);\r\n self.validNemKontoAccounts(validNemKontoAccounts);\r\n\r\n if (bankAccountFundingMatch) {\r\n self.selectedFundingAccountNumber(bankAccountFundingMatch.accountNumber);\r\n self.selectedFundingRegistrationNumber(bankAccountFundingMatch.bankCode);\r\n }\r\n\r\n if (self.fundingType() === 'creditCard') {\r\n var fundingId = self.fundingId();\r\n\r\n self.storedCards().map(function (card) {\r\n if (card.id === fundingId) {\r\n creditCardMatch = card;\r\n }\r\n });\r\n }\r\n\r\n if (creditCardMatch) {\r\n self.selectedCard(creditCardMatch);\r\n }\r\n\r\n m.redraw();\r\n }, function () {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var payoutType = controller.payoutType();\r\n var subscription = controller.subscription();\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n // View:\r\n if (!loading && subscription) {\r\n controller.changesMade();\r\n\r\n return [\r\n // Headers:\r\n m('h2', controller.d('Title')),\r\n m('h3.subtitle', m.trust('Subtitle')),\r\n\r\n m('div', { class: 'change-funding-and-payout-wrapper' }, [\r\n m('div', { class: 'change-funding-wrapper subscriptions-select-funding-wrapper' }, [\r\n m('div', { class: 'change-funding-and-payout-headline' }, controller.d('ChangeFundingHeadline')),\r\n m('div', { class: 'change-funding-and-payout-description' }, controller.d('ChangeFundingDescription')),\r\n ChangeFunding(controller)\r\n ]),\r\n m('div', { class: 'change-payout-wrapper subscriptions-select-funding-wrapper' }, [\r\n m('div', { class: 'change-funding-and-payout-headline' }, controller.d('ChangePayoutHeadline')),\r\n m('div', { class: 'change-funding-and-payout-description' }, controller.d('ChangePayoutDescription')),\r\n ChangePayout(controller)\r\n ])\r\n ]),\r\n\r\n // Message related to payout type:\r\n (payoutType && /nemkonto|wallet/.test(payoutType.toLowerCase())) ? m('p', controller.d((payoutType === 'wallet' ? 'Wallet' : 'NemKonto') + 'BottomText')) : null,\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n\r\n ];\r\n }\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangeFundingAndPayoutReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/SubscriptionChecks',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/FlipClock',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Outputs',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (Component, Params, Api, Dictionary, LoggedInOrOut, State, SubscriptionChecks, Utils, Vars, Subscription, FlipClock, Loader, Outputs, ProceedBar) {\r\n\r\n // Component:\r\n Component('change-funding-and-payout-receipt', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n // Variables:\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.returnUrl = m.prop(Params.extract('returnUrl'));\r\n this.showGapFundingIfAvailable = m.prop(settings.showGapFundingIfAvailable || false);\r\n this.gapFundingProceedLink = m.prop(settings.gapFundingProceedLink || false);\r\n\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n\r\n this.d = Dictionary.get.bind({ prefix: 'ChangeFundingAndPayoutReceipt/' });\r\n this.error = m.prop(false);\r\n this.property = property;\r\n this.state = new State('loading');\r\n this.loggedInOrOut = LoggedInOrOut;\r\n this.outputVars = m.prop({});\r\n this.hasBeenGapFunded = m.prop(true);\r\n this.canBeGapFunded = m.prop(false);\r\n this.fundingMethodSubType = m.prop();\r\n\r\n this.step = m.prop([2, 2]);\r\n this.output = Outputs(true).bind(this);\r\n\r\n // Functions:\r\n this.proceed = () => {\r\n let proceedLink = Params.uniqueParams(this.proceedLink() + '?subscriptionId=' + this.subscriptionId());\r\n if (this.returnUrl()) {\r\n proceedLink = decodeURIComponent(this.returnUrl());\r\n }\r\n location.href = proceedLink;\r\n };\r\n\r\n this.gapFundingProceed = function () {\r\n window.location.href = Params.uniqueParams(this.gapFundingProceedLink() + '?subscriptionId=' + this.subscriptionId());\r\n }.bind(this);\r\n\r\n // get gapfunding\r\n this.getSubscriptionGapFunding = function (id) {\r\n var success = function (res) {\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.gapFundingVars(res)));\r\n\r\n if (!SubscriptionChecks.subscriptionCanBeGapOrAdhocFunded(res)) {\r\n // subscription cannot be gap- or adhoc-funded.\r\n this.state.remove('loading');\r\n m.redraw();\r\n return;\r\n }\r\n\r\n this.canBeGapFunded(true);\r\n this.hasBeenGapFunded(false);\r\n this.fundingMethodSubType(res.fundingMethodSubType);\r\n\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.state.add('errorLoadingSubscriptionData');\r\n console.error('errorLoadingSubscriptionData', err);\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n Api.getSubscriptionGapFunding(id).then(success, error);\r\n };\r\n\r\n // get subscription\r\n this.getSubscription = function (id) {\r\n var success = function (res) {\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.subscriptionVars(res)));\r\n\r\n if (SubscriptionChecks.subscriptionIsActive(res)) {\r\n // subscription is active, check to see if we should offer gap- or adhoc-funding.\r\n this.getSubscriptionGapFunding(id);\r\n } else {\r\n // subscription is not active.\r\n this.state.add('subscriptionTemplateStateNotActive');\r\n this.state.remove('loading');\r\n m.redraw();\r\n }\r\n\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.state.add('errorLoadingSubscriptionData');\r\n console.error('errorLoadingSubscriptionData', err);\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n Api.getSubscription(id).then(success, error);\r\n };\r\n\r\n // get subscription details\r\n this.getSubscriptionDetails = function () {\r\n var id = this.subscriptionId();\r\n\r\n if (!id) {\r\n this.state.add('noSubscriptionId');\r\n return;\r\n }\r\n\r\n var success = function (res) {\r\n if (res) {\r\n var subscription = Subscription.new(res);\r\n this.subscription(subscription);\r\n this.getSubscription(id);\r\n } else {\r\n this.state.remove('loading');\r\n this.state.add('errorNoResponseFromSubscriptionData');\r\n m.redraw();\r\n }\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.state.add('errorLoadingSubscriptionData');\r\n console.error('errorLoadingSubscriptionData', err);\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n this.state.add('loading');\r\n Api.getSubscriptionDetails(id).then(success, error);\r\n }.bind(this);\r\n\r\n this.loggedInOrOut.init(\r\n this.isLoggedIn(),\r\n function () {\r\n // run when logged in\r\n this.state.remove('notLoggedIn');\r\n this.getSubscriptionDetails();\r\n }.bind(this),\r\n function () {\r\n // run when logged out\r\n this.state.add('notLoggedIn');\r\n }.bind(this)\r\n );\r\n\r\n this.reload = function () {\r\n location.reload();\r\n return false;\r\n };\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var state = controller.state.has;\r\n var vars = controller.outputVars();\r\n\r\n if (state('loading')) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n if (state('notLoggedIn')) {\r\n return controller.output('Errors/NotLoggedIn/', controller.loggedInOrOut.triggerLogInModal);\r\n }\r\n\r\n if (state('noSubscriptionId')) {\r\n return controller.output('Errors/NoSubscriptionId/');\r\n }\r\n\r\n if (state('errorLoadingSubscriptionData')) {\r\n return controller.output('Errors/ErrorLoadingSubscriptionData/', controller.reload);\r\n }\r\n\r\n if (state('errorNoResponseFromSubscriptionData')) {\r\n return controller.output('Errors/ErrorNoResponseFromSubscriptionData/', controller.reload);\r\n }\r\n\r\n var gapFundingTitle;\r\n var gapFundingSubtitle;\r\n var gapFundingInfoTitle;\r\n var gapFundingInfoSubtitle;\r\n var gapFundingConfirmLabel;\r\n var gapFundingConfirmSubLabel;\r\n var gapFundingDeclineLabel;\r\n var gapFundingDeclineSubLabel;\r\n\r\n if (controller.fundingMethodSubType() === 'adhoc-fund') {\r\n vars.gapFundingDateEndRaw = null;\r\n gapFundingTitle = m.trust(controller.d('GapFundingRequest/AdHoc/Title', vars));\r\n gapFundingSubtitle = m.trust(controller.d('GapFundingRequest/AdHoc/Subtitle', vars));\r\n gapFundingInfoTitle = m.trust(controller.d('GapFundingRequest/AdHoc/InfoTitle', vars));\r\n gapFundingInfoSubtitle = m.trust(controller.d('GapFundingRequest/AdHoc/InfoSubtitle', vars));\r\n gapFundingConfirmLabel = controller.d('GapFundingRequest/AdHoc/ButtonConfirmLabel');\r\n gapFundingConfirmSubLabel = controller.d('GapFundingRequest/AdHoc/ButtonConfirmSubLabel');\r\n gapFundingDeclineLabel = controller.d('GapFundingRequest/AdHoc/ButtonDeclineLabel');\r\n gapFundingDeclineSubLabel = controller.d('GapFundingRequest/AdHoc/ButtonDeclineSubLabel');\r\n } else {\r\n gapFundingTitle = m.trust(controller.d('GapFundingRequest/Title', vars));\r\n gapFundingSubtitle = m.trust(controller.d('GapFundingRequest/Subtitle', vars));\r\n gapFundingInfoTitle = m.trust(controller.d('GapFundingRequest/InfoTitle', vars));\r\n gapFundingInfoSubtitle = m.trust(controller.d('GapFundingRequest/InfoSubtitle', vars));\r\n gapFundingConfirmLabel = controller.d('GapFundingRequest/ButtonConfirmLabel');\r\n gapFundingConfirmSubLabel = controller.d('GapFundingRequest/ButtonConfirmSubLabel');\r\n gapFundingDeclineLabel = controller.d('GapFundingRequest/ButtonDeclineLabel');\r\n gapFundingDeclineSubLabel = controller.d('GapFundingRequest/ButtonDeclineSubLabel');\r\n }\r\n\r\n // View:\r\n return [\r\n controller.output(),\r\n\r\n controller.showGapFundingIfAvailable() && !controller.hasBeenGapFunded() && controller.canBeGapFunded() ? [\r\n\r\n m('h3.content-size-less-bottom', {\r\n style: 'border-top: 1px solid; padding-top: 2rem;'\r\n }, gapFundingTitle),\r\n m('p', gapFundingSubtitle),\r\n\r\n // if there's a valid subscription start date, add count down effect\r\n (vars.gapFundingDateEndRaw) ? m('.content-size-lg',\r\n {\r\n style: 'display:flex;justify-content:center;margin-bottom: 2rem;'\r\n },\r\n m(FlipClock, { deadline: vars.gapFundingDateEndRaw })\r\n ) : null,\r\n\r\n m('h3.content-size-less-bottom', gapFundingInfoTitle),\r\n m('p', gapFundingInfoSubtitle),\r\n\r\n m('.proceed-bar-wrapper', [\r\n m('.proceed-bar', [\r\n m('.proceed-bar-content', [\r\n m('.proceed-bar-back', {\r\n // going back to the original default proceed\r\n onclick: controller.proceed\r\n }, [\r\n m('a.back', [\r\n m('.total-price', gapFundingDeclineLabel),\r\n m('.total-price', {\r\n style: 'font-size: 1.1rem'\r\n }, gapFundingDeclineSubLabel),\r\n ])\r\n ]),\r\n m('.proceed-bar-cta', {\r\n onclick: controller.gapFundingProceed\r\n }, [\r\n m('a.proceed', [\r\n m('.total-price', gapFundingConfirmLabel),\r\n m('.total-price', {\r\n style: 'font-size: 1.1rem'\r\n }, gapFundingConfirmSubLabel),\r\n ])\r\n ])\r\n ])\r\n ])\r\n ])\r\n\r\n ] : ProceedBar(controller)\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangePaymentPlan',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n ],\r\n function (Component, Api, LoggedInOrOut, Params, Dictionary, State, Utils, ProceedBar, ErrorMessage, Header, Modal, Step) {\r\n Component('change-payment-plan', [Dictionary], function (m, route, settings, property) {\r\n\r\n const root = {\r\n controller: function () {\r\n this.property = property;\r\n this.property('proceedBarInactive', true);\r\n this.backLink = m.prop(settings.backLink);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.paymentPlanPeriods = settings.paymentPlanPeriods || [];\r\n this.proceedLink = m.prop(settings.proceedLink);\r\n this.currentPaymentPlanPeriod = m.prop();\r\n this.modal = m.prop();\r\n this.pricePerWeek = m.prop();\r\n this.selectedPaymentPlanPeriod = m.prop();\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.proceedLabel = 'CtaLabels/Confirm';\r\n this.d = Dictionary.get.bind({ prefix: 'ChangePaymentPlan/' });\r\n this.state = new State('loading');\r\n\r\n this.paymentPlanPeriods.sort((a, b) => {\r\n if (a.multiplier < b.multiplier) return -1;\r\n if (a.multiplier > b.multiplier) return 1;\r\n return 0;\r\n });\r\n\r\n this.selectPeriod = (period) => {\r\n this.selectedPaymentPlanPeriod(period);\r\n this.property('proceedBarInactive', !this.selectedPaymentPlanPeriod());\r\n };\r\n\r\n const findPaymentPlanFromMultiplier = (multiplier) => {\r\n return this.paymentPlanPeriods.filter((paymentPlanPeriod) => paymentPlanPeriod.multiplier === multiplier)[0];\r\n };\r\n\r\n const loadSubscription = () => {\r\n this.state.add('loading');\r\n\r\n const getSubscriptionSuccess = (res) => {\r\n this.currentPaymentPlanPeriod(findPaymentPlanFromMultiplier(res.paymentPlanPeriodInWeeks));\r\n this.selectedPaymentPlanPeriod(this.currentPaymentPlanPeriod());\r\n this.pricePerWeek(res.totalCostPerWeek);\r\n this.state.remove('loading');\r\n };\r\n\r\n const getSubscriptionError = (err) => {\r\n console.error('Error loading subscription', err);\r\n this.state.add('errorLoadingSubscriptionData');\r\n this.state.remove('loading');\r\n };\r\n\r\n Api.getSubscription(this.subscriptionId()).then(getSubscriptionSuccess, getSubscriptionError);\r\n };\r\n\r\n this.totalPrice = (period) => {\r\n let multiplier;\r\n if (this.selectedPaymentPlanPeriod()) multiplier = this.selectedPaymentPlanPeriod().multiplier;\r\n if (period) multiplier = period.multiplier;\r\n return multiplier ? Utils.formatCurrency(this.pricePerWeek() * multiplier) : '';\r\n };\r\n\r\n this.back = () => {\r\n location.href = Utils.link(this.backLink()).addCurrentParams().removeParam('subscriptionId').link;\r\n };\r\n\r\n this.canProceed = () => this.selectedPaymentPlanPeriod() && this.selectedPaymentPlanPeriod() !== this.currentPaymentPlanPeriod();\r\n\r\n this.proceed = () => {\r\n this.state.add('loading');\r\n\r\n const changePaymentPlanSuccess = () => {\r\n location.href = Utils.link(this.proceedLink()).addCurrentParams().link;\r\n };\r\n\r\n const changePaymentPlanError = (err) => {\r\n console.error('Error changing payment plan', err);\r\n this.modal({\r\n text: this.d('Modal/ErrorChangingPaymentPlan/Text'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'TryAgain',\r\n cta: () => {\r\n this.proceed();\r\n this.modal(null);\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n\r\n this.state.remove('loading');\r\n };\r\n\r\n const sgKey = this.selectedPaymentPlanPeriod().sgKey;\r\n Api.changePaymentPlan(this.subscriptionId(), sgKey).then(changePaymentPlanSuccess, changePaymentPlanError);\r\n };\r\n\r\n this.ifLoggedIn = () => {\r\n this.state.remove('notLoggedIn');\r\n loadSubscription();\r\n };\r\n\r\n this.ifLoggedOut = () => {\r\n this.state.add('notLoggedIn');\r\n };\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n const error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) {\r\n return [\r\n Step(1, 2),\r\n m('.plus-spinner.plus-spinner--subscription'),\r\n ];\r\n }\r\n\r\n if (error) {\r\n return [\r\n Step(1, 2),\r\n m('.plus-error--centered', error),\r\n ];\r\n }\r\n\r\n return [\r\n Step(1, 2),\r\n\r\n Header({\r\n title: controller.d('Header/Title'),\r\n subtitle: controller.d('Header/Subtitle'),\r\n center: true,\r\n }),\r\n\r\n m('.btn-checked__wrapper',\r\n controller.paymentPlanPeriods.map((period) => {\r\n\r\n // Don't show periods that cannot be selected, unless the period is the subscriptions current period plan.\r\n if (!period.canSelect && period !== controller.selectedPaymentPlanPeriod()) return;\r\n\r\n return m('.btn-checked', {\r\n onclick: controller.selectPeriod.bind(null, period),\r\n class: controller.selectedPaymentPlanPeriod() === period ? 'btn--selected' : 'btn--unselected',\r\n 'data-uitest-id': 'PaymentPlan__btn'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', period.perWeekText.replace('{price}', controller.totalPrice(period))),\r\n m('.btn-checked__sublabel', m.trust(period.perWeekSubText)),\r\n ])\r\n ]);\r\n })\r\n ),\r\n\r\n m(ProceedBar, { controller: controller }),\r\n\r\n Modal(controller.modal()),\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangePaymentPlanReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/CreditCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Receipt',\r\n ],\r\n function (Component, Params, AllOrNothingInfo, EurojackpotInfo, LottoInfo, Api, CreditCard, Dictionary, LoggedInOrOut, State, Utils, Vars, ProceedBar, VikingLottoInfo, ErrorMessage, Header, Receipt) {\r\n Component('change-payment-plan-receipt', [Dictionary, AllOrNothingInfo, EurojackpotInfo, LottoInfo, VikingLottoInfo], function (m, route, settings) {\r\n\r\n const root = {\r\n controller: function () {\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.proceedLink = m.prop(settings.proceedLink);\r\n this.storedCards = m.prop(CreditCard.getStoredCards(settings.storedCards, '') || []);\r\n this.fundedCard = m.prop();\r\n this.gameInfo = m.prop({\r\n allornothing: AllOrNothingInfo,\r\n eurojackpot: EurojackpotInfo,\r\n lotto: LottoInfo['saturday'](),\r\n vikinglotto: VikingLottoInfo,\r\n });\r\n this.isJackpot = m.prop();\r\n this.outputVars = m.prop({});\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.d = Dictionary.get.bind({ prefix: 'ChangePaymentPlanReceipt/' });\r\n this.dPaymentMethods = Dictionary.get.bind({ prefix: 'Plus/PaymentMethods/' });\r\n this.state = new State('loading');\r\n this.proceedLabel = 'ProceedBar/Proceed';\r\n\r\n this.proceed = () => {\r\n location.href = Utils.link(this.proceedLink()).link;\r\n };\r\n\r\n const loadSubscription = () => {\r\n this.state.add('loading');\r\n const id = this.subscriptionId();\r\n\r\n const getSubscriptionSuccess = (res) => {\r\n const subscription = res;\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.subscriptionVars(subscription)));\r\n subscription.games = Utils.sortGamesByDrawDateAndName(subscription.games, this.outputVars().subscriptionDateEffectiveDateRaw);\r\n this.isJackpot(subscription.isJackpot);\r\n this.subscription(subscription);\r\n this.fundedCard(Utils.getCardFromCardId(this.storedCards(), subscription.fundingPaymentMethodId));\r\n this.isJackpot(subscription.isJackpot);\r\n this.state.remove('loading');\r\n };\r\n\r\n const getSubscriptionError = (err) => {\r\n console.error('Error loading subscription', err);\r\n this.state.add('errorLoadingSubscriptionData');\r\n this.state.remove('loading');\r\n };\r\n\r\n Api.getSubscription(id).then(getSubscriptionSuccess, getSubscriptionError);\r\n };\r\n\r\n this.ifLoggedIn = () => {\r\n this.state.remove('notLoggedIn');\r\n loadSubscription();\r\n };\r\n\r\n this.ifLoggedOut = () => {\r\n this.state.add('notLoggedIn');\r\n };\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n const error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n if (error) {\r\n return [\r\n m('.plus-error--centered', error),\r\n m(ProceedBar, { controller: controller }),\r\n ];\r\n }\r\n\r\n const subscription = controller.subscription();\r\n\r\n return [\r\n Header({\r\n title: controller.d('Header/Title'),\r\n subtitle: controller.d('Header/Subtitle' + subscription.paymentPlanPeriodInWeeks),\r\n center: true,\r\n }),\r\n\r\n Receipt({\r\n controller: controller,\r\n subscription: subscription,\r\n }),\r\n\r\n m(ProceedBar, { controller: controller }),\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ChangePayoutReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (Component, Params, Api, Dictionary, Subscription, Loader, ProceedBar) {\r\n\r\n // Component:\r\n Component('change-payout-receipt', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n\r\n // Variables:\r\n this.d = Dictionary.get.bind({ prefix: 'ChangePayoutReceipt/' });\r\n this.error = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.returnUrl = m.prop(Params.extract('returnUrl'));\r\n this.property = property;\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n\r\n // Functions:\r\n this.proceed = () => {\r\n let proceedLink = `${this.proceedLink()}?subscriptionId=${this.subscriptionId()}`;\r\n if (this.returnUrl()) {\r\n proceedLink = decodeURIComponent(this.returnUrl());\r\n }\r\n location.href = proceedLink;\r\n };\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.proceed();\r\n }\r\n\r\n // Context:\r\n var self = this;\r\n\r\n Api.getSubscriptionDetails(this.subscriptionId()).then(function (response) {\r\n self.loading(false);\r\n self.subscription(Subscription.new(response));\r\n\r\n m.redraw();\r\n }.bind(this), function () {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var subscription = controller.subscription();\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n // View:\r\n if (!loading && subscription) {\r\n return [\r\n // Headers:\r\n m('h2', controller.d('Title')),\r\n m('h3.subtitle', m.trust('Subtitle')),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n\r\n ];\r\n }\r\n\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Created',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/PaymentMethods',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n ],\r\n function (CrossWindowEvents, Storage, Component, Params, Payment, Reepay, Api, Dictionary, Info, ModelStorage, Utils, Vars, Subscription, PaymentMethods, ProceedBar, Header, Step) {\r\n\r\n var dsPrettyPrefix = DS.Config.PRETTYPREFIX || '';\r\n\r\n // Component:\r\n Component('created', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n // Variables:\r\n this.addCreditCardToggled = m.prop(false);\r\n this.d = Dictionary.get.bind({ prefix: 'Created/' });\r\n this.modalDictionary = Dictionary.get.bind({ prefix: 'Modal/' });\r\n this.backLink = m.prop(settings.backLink.Url || false);\r\n this.cardTypes = m.prop(settings.cardTypes || []);\r\n this.error = m.prop(false);\r\n this.games = m.prop();\r\n this.fundingType = m.prop('creditCard');\r\n this.fundingMethodSubType = m.prop();\r\n this.canProceed = m.prop();\r\n this.gapFundingAmount = m.prop(0);\r\n this.gapFundingCardPayment = m.prop(Params.detect('gapFundingCardPayment'));\r\n this.paymentPlanCardPayment = m.prop(Params.detect('paymentPlanCardPayment'));\r\n this.maxNumberOfCreditCards = m.prop(settings.maxNumberOfCreditCards || 3);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || '');\r\n this.loading = m.prop(true);\r\n this.logoutLink = m.prop(settings.logoutLink || '');\r\n this.nextDrawWithGap = m.prop();\r\n this.proceedLink = m.prop(settings.proceedLink.Url || '');\r\n this.property = property;\r\n this.queryParams = m.prop(window.location.search.slice(1).replace(/gapFundingCard(Added|Cancelled)=true/gi, ''));\r\n this.selectedCard = m.prop(false);\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.subscription = m.prop(Subscription.setupGame({ gameInstanceId: this.subscriptionId() }));\r\n this.verticalType = m.prop();\r\n this.urlSuffix = m.prop('?' + this.verticalType() + '&subscriptionId=' + this.subscriptionId() + '&' + this.queryParams());\r\n this.storedCards = m.prop(settings.storedCards || []);\r\n this.alreadyGapFunded = m.prop();\r\n this.outputVars = m.prop({});\r\n this.manageStoredCards = m.prop(settings.manageStoredCards ? settings.manageStoredCards : dsPrettyPrefix + '/mine-oplysninger#/cards');\r\n this.firstDepositInfo = m.prop();\r\n this.paymentPlanPeriodInWeeks = m.prop();\r\n this.mobilePay = m.prop(this.cardTypes().find((cardType) => cardType.cardType === 'mobilepay'));\r\n this.applePay = m.prop(false);\r\n if (settings.applePayEnabled) {\r\n // Injects Reepay script into DOM.\r\n Reepay.load().then(() => this.applePay(Reepay.isApplePayAvailable()));\r\n }\r\n\r\n // Functions:\r\n this.getShortDate = function (d) {\r\n var shortDate = new Date(d);\r\n return shortDate.getDate() + '/' + (shortDate.getMonth() + 1);\r\n };\r\n\r\n this.getShortDateWithTime = function (d) {\r\n var shortDate = new Date(d);\r\n return `${shortDate.getDate()}/${shortDate.getMonth() + 1} kl. ${shortDate.getHours()}:${('0' + shortDate.getMinutes()).slice(-2)}`;\r\n };\r\n\r\n this.back = function () {\r\n window.location.href = Params.uniqueParams(this.backLink() + this.urlSuffix());\r\n }.bind(this);\r\n\r\n this.getCardTypes = function () {\r\n var cardTypes = this.cardTypes();\r\n var self = this;\r\n\r\n if (!cardTypes) {\r\n return [];\r\n }\r\n\r\n return cardTypes.filter(function (cardType) {\r\n if (cardType.allowSubscriptions) {\r\n cardType.icon = Info.cardTypeIcons[cardType.cardType];\r\n cardType.text = cardType.cardName + self.d('CreditCardNew');\r\n cardType.type = 'new';\r\n cardType.value = cardType.cardType;\r\n cardType.cardExpirationDate = { expired: false };\r\n\r\n return cardType;\r\n }\r\n });\r\n }.bind(this);\r\n\r\n this.maskPartialPan = function (partialPan) {\r\n return partialPan.replace(/x/ig, '●');\r\n };\r\n\r\n this.getLatestAddedCard = function () {\r\n var newCards = [];\r\n var storedCardsBefore = JSON.parse(Storage.get('Subscriptions-StoredCards'));\r\n var storedCardsNow = this.getStoredCards();\r\n\r\n for (var i = 0; i < storedCardsNow.length; i++) {\r\n var storedCardNow = storedCardsNow[i];\r\n\r\n if (storedCardsBefore.indexOf(storedCardNow.cardId) === -1) {\r\n newCards.push(storedCardNow);\r\n }\r\n }\r\n\r\n if (newCards.length > 0) {\r\n return newCards[0];\r\n }\r\n }.bind(this);\r\n\r\n this.getStoredCards = function () {\r\n var self = this;\r\n var storedCards = this.storedCards();\r\n\r\n storedCards = storedCards.sort(function (a, b) {\r\n if (a.preferedCard || (b.cardExpirationDate && b.cardExpirationDate.expired)) {\r\n return -1;\r\n }\r\n\r\n if (b.preferedCard || (a.cardExpirationDate && a.cardExpirationDate.expired)) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n });\r\n\r\n return storedCards.map(function (item) {\r\n var expiredText = item.cardExpirationDate.expired ? self.d('CardExpiredShort') : '';\r\n\r\n item.value = item.cardId;\r\n item.disabled = item.cardExpirationDate && item.cardExpirationDate.expired;\r\n item.text = {\r\n left: item.cardName + expiredText,\r\n right: item.cardNumber.replace(/x/ig, '●')\r\n };\r\n\r\n return item;\r\n });\r\n }.bind(this);\r\n\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n this.getAcceptUrl = function () {\r\n if (!this.proceedLink().length) {\r\n console.error('Created.js - Proceed Link Url not defined');\r\n }\r\n return window.location.origin + Params.uniqueParams(this.proceedLink() + '?subscriptionId=' + this.subscriptionId());\r\n }.bind(this);\r\n\r\n this.getPaymentDetails = (cardType, subscriptionId) => {\r\n return {\r\n acceptUrl: this.getAcceptUrl(),\r\n cancelUrl: Params.uniqueParams(window.location.href),\r\n cardType: cardType,\r\n contextType: 'subscriptions',\r\n ledger: subscriptionId,\r\n orderId: subscriptionId,\r\n saveCard: false,\r\n subtype: this.fundingMethodSubType(),\r\n drawingPeriod: {\r\n periodStart: this.outputVars().gapFundingDateStartRaw,\r\n periodEnd: this.outputVars().gapFundingDateEndRaw\r\n }\r\n };\r\n };\r\n\r\n // Functions:\r\n this.proceed = function () {\r\n var selectedCard = this.selectedCard();\r\n var subscription = this.subscription();\r\n const firstDepositInfo = this.firstDepositInfo();\r\n const fundingAmount = firstDepositInfo?.totalCost || (subscription.gapFundingAmount() * 100);\r\n this.fundingMethodSubType(firstDepositInfo?.subType || 'gap-fund');\r\n\r\n if (selectedCard && selectedCard.cardId === 'new') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n this.getPaymentDetails('card', subscription.id())\r\n );\r\n } else if (this.mobilePay() && this.fundingType() === 'mobilePay') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n this.getPaymentDetails(this.mobilePay().cardType, subscription.id())\r\n );\r\n } else if (this.applePay() && this.fundingType() === 'applePay') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n this.getPaymentDetails('ApplePay', subscription.id())\r\n );\r\n } else if (selectedCard && selectedCard?.cardId !== 'new') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n {\r\n ...this.getPaymentDetails(selectedCard.cardType, subscription.id()),\r\n cardId: selectedCard.cardId\r\n }\r\n );\r\n\r\n } else {\r\n this.state.add('errorWithSelectedCreditCard');\r\n }\r\n }.bind(this);\r\n\r\n const canContinueWithCreditCard = () => {\r\n if (this.fundingType() !== 'creditCard') return false;\r\n return !!this.selectedCard();\r\n };\r\n\r\n const canContinueWithMobilePay = () => {\r\n if (this.fundingType() !== 'mobilePay') return false;\r\n return !!this.selectedCard() && this.selectedCard().cardType === 'mobilepay';\r\n };\r\n\r\n\r\n this.setFundingType = (fundingType) => {\r\n this.fundingType(fundingType);\r\n if (fundingType === 'creditCard') this.canProceed(canContinueWithCreditCard());\r\n if (fundingType === 'mobilePay') this.canProceed(canContinueWithMobilePay());\r\n };\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n // Context:\r\n this.selectedCard(this.storedCards().filter((card) => !card.isApplePay)[0]);\r\n\r\n var id = this.subscriptionId();\r\n var subscription = this.subscription();\r\n\r\n // Support a flexible flow, so fetch subscription data no matter what:\r\n Api.getSubscription(id).then(function (response) {\r\n this.firstDepositInfo(response.firstDepositInfo);\r\n this.paymentPlanPeriodInWeeks(response.paymentPlanPeriodInWeeks);\r\n this.verticalType(response.isJackpot ? 'jackpot' : 'plus');\r\n ModelStorage.clear(this.verticalType());\r\n\r\n var firstDrawWithoutGap = subscription.firstDrawWithoutGap();\r\n var gapFundingAmount = subscription.gapFundingAmount();\r\n var gapFundingGames = subscription.gapFundingGames();\r\n var nextDrawWithGap = subscription.nextDrawWithGap();\r\n\r\n if (!gapFundingAmount && response.firstDepositInfo != null) {\r\n gapFundingAmount = response.firstDepositInfo.totalCost / 100;\r\n gapFundingGames = response.games;\r\n }\r\n\r\n if (response.gapFundingPaymentMethodId) {\r\n this.alreadyGapFunded(true);\r\n }\r\n\r\n // Subscription data:\r\n subscription = Subscription.new(response);\r\n subscription.firstDrawWithoutGap(firstDrawWithoutGap);\r\n subscription.gapFundingAmount(gapFundingAmount);\r\n subscription.gapFundingGames(gapFundingGames);\r\n subscription.nextDrawWithGap(nextDrawWithGap);\r\n subscription.verticalType(this.verticalType());\r\n\r\n if (subscription.fundingPaymentMethod() === 'Card') {\r\n var id = subscription.fundingPaymentMethodId();\r\n var storedCards = this.storedCards();\r\n\r\n storedCards.map(function (storedCard) {\r\n if (storedCard.cardId === id) {\r\n this.selectedCard(storedCard);\r\n }\r\n }.bind(this));\r\n }\r\n\r\n // Subscription:\r\n subscription.save();\r\n\r\n this.subscription(subscription);\r\n\r\n if (this.firstDepositInfo()) {\r\n // Payment plan payment missing, show page.\r\n this.loading(false);\r\n m.redraw();\r\n\r\n } else if (this.paymentPlanCardPayment()) {\r\n // Payment plan payment successful, redirect back to receipt page.\r\n location.href = Utils.link(location.origin + this.backLink()).addCurrentParams().link;\r\n\r\n } else if (this.gapFundingCardPayment()) {\r\n // Gap funding payment successful, redirect back to receipt page.\r\n subscription.gapFundingTotalAmount(gapFundingAmount);\r\n subscription.gapFundingTransaction({ amount: gapFundingAmount * 100, fee: 0 });\r\n subscription.isGapFunded(true);\r\n subscription.save();\r\n location.href = Utils.link(location.origin + this.backLink()).addCurrentParams().link;\r\n\r\n } else {\r\n // Gap funding payment missing, show page.\r\n var getSubscriptionGapFundingSuccess = function (res) {\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.gapFundingVars(res)));\r\n subscription.gapFundingAmount(res.remainingGapAmount);\r\n subscription.gapFundingGames(res.games);\r\n subscription.nextDrawWithGap(res.nextDrawWithGap);\r\n subscription.save();\r\n this.loading(false);\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var getSubscriptionGapFundingError = function (err) {\r\n console.error('getSubscriptionGapFundingError', err);\r\n }.bind(this);\r\n\r\n Api.getSubscriptionGapFunding(this.subscription().id()).then(getSubscriptionGapFundingSuccess, getSubscriptionGapFundingError);\r\n }\r\n }.bind(this), function () {\r\n this.error(true);\r\n this.loading(false);\r\n\r\n m.redraw();\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n var loading = controller.loading();\r\n\r\n // Loading:\r\n if (loading) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n var storedCards = controller.getStoredCards();\r\n var availableCards = controller.getCardTypes().filter(function (card) {\r\n if (card.allowSubscriptions) {\r\n return card;\r\n }\r\n });\r\n\r\n var description = '';\r\n var subscription = controller.subscription();\r\n var firstDrawWithoutGap = subscription.firstDrawWithoutGap();\r\n var gapFundingAmount = subscription.gapFundingAmount();\r\n var gapFundingGames = subscription.gapFundingGames();\r\n var firstDepositInfo = controller.firstDepositInfo();\r\n\r\n if (!gapFundingAmount || gapFundingAmount <= 0 || subscription.gapFundingPaymentMethodId()) {\r\n delete controller.proceed;\r\n }\r\n\r\n var gapFundingDataError = gapFundingAmount <= 0 || gapFundingGames.length === 0;\r\n var verticalType = controller.verticalType().slice(0, 1).toUpperCase() + controller.verticalType().slice(1);\r\n var verticalTypeDictionary = verticalType === 'Plus' ? 'PLUS' : 'Jackpot';\r\n var alreadyGapFunded = controller.alreadyGapFunded();\r\n\r\n if (gapFundingDataError) {\r\n // Scenario 1: Error\r\n console.error('Gap funding error: data missing!');\r\n delete controller.proceed;\r\n\r\n if (firstDrawWithoutGap) {\r\n description = controller.d('GapFundingInfoDataErrorWithStartDate', { verticalType: verticalTypeDictionary });\r\n start = controller.d('GapFundingInfoDataErrorWithStartDateStart', {\r\n firstDraw: controller.getShortDate(firstDrawWithoutGap),\r\n verticalType: verticalTypeDictionary\r\n });\r\n } else {\r\n description = controller.d('GapFundingInfoDataError', { verticalType: verticalTypeDictionary });\r\n start = controller.d('GapFundingInfoDataErrorStart', { verticalType: verticalTypeDictionary });\r\n }\r\n\r\n } else {\r\n var gapPrice = Utils.formatNumber(gapFundingAmount);\r\n var hasGapPrice = gapFundingAmount > 0;\r\n var nextDrawWithGap = subscription.nextDrawWithGap();\r\n const paymentPlanPeriodInWeeks = controller.paymentPlanPeriodInWeeks();\r\n var start = '';\r\n var startDate = '';\r\n var gapDate = '';\r\n var fromToPeriod = '';\r\n\r\n if (alreadyGapFunded) {\r\n description = controller.d('GapFundingAlreadyPayed');\r\n\r\n } else if (firstDepositInfo && paymentPlanPeriodInWeeks) {\r\n // We need to pay for the initial payment plan.\r\n description = controller.d('PaymentPlan', { firstDepositDeadline: controller.getShortDateWithTime(firstDepositInfo.firstDepositDeadline) });\r\n fromToPeriod = controller.d(`ReceiptPeriodPaymentPlan${paymentPlanPeriodInWeeks}`, { startDate: Utils.formatISO8601(firstDepositInfo.firstDepositDeadline, { includeTime: false }) });\r\n\r\n } else if (!firstDrawWithoutGap && !nextDrawWithGap) {\r\n // Scenario 2: No dates\r\n description = controller.d('GapFundingInfoNoDrawDates', {\r\n gapPrice: gapPrice,\r\n verticalType: verticalTypeDictionary\r\n });\r\n fromToPeriod = '';\r\n start = controller.d('GapFundingInfoNoDrawDatesStart', { verticalType: verticalTypeDictionary });\r\n\r\n } else if (!firstDrawWithoutGap && nextDrawWithGap) {\r\n // Scenario 3: No first draw date\r\n description = controller.d('GapFundingInfoNextDrawWithGap', {\r\n gapPrice: gapPrice,\r\n nextDraw: controller.getShortDate(nextDrawWithGap),\r\n verticalType: verticalTypeDictionary\r\n });\r\n fromToPeriod = controller.d('GapFundingPeriod', controller.outputVars());\r\n start = controller.d('GapFundingInfoNextDrawWithGapStart', { verticalType: verticalTypeDictionary });\r\n\r\n } else if (firstDrawWithoutGap && !nextDrawWithGap) {\r\n // Scenario 4: No next draw date\r\n description = controller.d('GapFundingInfoFirstDrawWithoutGap', {\r\n firstDraw: controller.getShortDate(firstDrawWithoutGap),\r\n gapPrice: gapPrice,\r\n verticalType: verticalTypeDictionary\r\n });\r\n fromToPeriod = '';\r\n\r\n } else {\r\n // Scenario 5: Everything is awesome!\r\n gapDate = Utils.formatISO8601(nextDrawWithGap, { includeTime: false });\r\n startDate = Utils.formatISO8601(firstDrawWithoutGap, { includeTime: false });\r\n description = controller.d('GapFundingInfo', {\r\n gapDate: controller.getShortDate(nextDrawWithGap),\r\n startDate: controller.getShortDate(firstDrawWithoutGap),\r\n gapPrice: gapPrice,\r\n verticalType: verticalTypeDictionary\r\n });\r\n fromToPeriod = gapDate.replace(/ /g, ' ') + ' - ' + startDate.replace(/ /g, ' ');\r\n\r\n }\r\n\r\n }\r\n\r\n if (availableCards.length === 0 && storedCards.length === 0) {\r\n delete controller.proceed;\r\n }\r\n\r\n // View:\r\n return [\r\n\r\n Step(1, 2),\r\n Header({\r\n title: controller.d(verticalType + 'Title' + (firstDepositInfo ? 'PaymentPlan' : '')),\r\n subtitle: description,\r\n center: true,\r\n }),\r\n\r\n // No cards for payment:\r\n availableCards.length === 0 && storedCards.length === 0 ? [\r\n m('p', controller.d('CreditCardInfoNoAvailableCards')),\r\n ] : [\r\n\r\n\r\n // Gap funding data error:\r\n gapFundingDataError ? [\r\n m('h3.subtitle', m.trust(start)),\r\n m('p', m.trust(description))\r\n ] : null,\r\n\r\n alreadyGapFunded ? [\r\n m('h3.subtitle', m.trust(start)),\r\n m('p', m.trust(description))\r\n ] : null,\r\n\r\n // Has gap price:\r\n !gapFundingDataError && hasGapPrice && !alreadyGapFunded ? [\r\n m('.t-receipt', { 'data-uitest-id': 'Receipt' }, [\r\n m('svg.t-receipt__bg', { role: 'none' }, [\r\n m('mask', { id: 'tReceiptMask' }, [\r\n m('rect', { width: '100%' })\r\n ]),\r\n m('g', { mask: 'url(#tReceiptMask)' }, [\r\n m('rect', { width: '100%' })\r\n ])\r\n ]),\r\n m('.t-receipt__game', [\r\n m('.t-receipt__game-title', controller.d(verticalType + 'Title' + (firstDepositInfo ? 'PaymentPlan' : ''))),\r\n m('.t-receipt__game-text', m.trust(fromToPeriod)),\r\n m('svg.t-receipt__separator', m('line', { x1: 0, y1: 1, x2: '100%', y2: 1 })),\r\n m('.t-receipt__total', [\r\n m('.t-receipt__game-total-label', controller.d('ReceiptSum')),\r\n m('.t-receipt__game-total-value', Utils.formatCurrency(gapFundingAmount)),\r\n ]),\r\n ])\r\n ]),\r\n\r\n PaymentMethods({\r\n administerNewCards: () => {\r\n window.location.href = controller.manageStoredCards();\r\n },\r\n changeCreditCard: controller.selectedCard,\r\n creditCardEnabled: true,\r\n mobilePayEnabled: !firstDepositInfo && controller.mobilePay(),\r\n applePayEnabled: controller.applePay(),\r\n fundingType: controller.fundingType,\r\n maxNumberOfCreditCards: controller.maxNumberOfCreditCards(),\r\n selectedCreditCard: controller.selectedCard,\r\n setFundingType: controller.setFundingType,\r\n storedCards: controller.storedCards(),\r\n })\r\n\r\n ] : null\r\n\r\n ],\r\n\r\n // Proceed bar:\r\n ProceedBar(controller, hasGapPrice ? { price: Utils.formatNumber(gapFundingAmount) } : null)\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Funding', [\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Basket',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/PaymentMethods',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n], function (Ensighten, Storage, Component, Reepay, Basket, Params, Payment, Api, Dictionary, LoggedInOrOut, State, Utils, Subscription, PaymentMethods, ProceedBar, ErrorMessage, Header, Modal, Step) {\r\n Component('funding', [Dictionary], function (m, route, settings) {\r\n const root = {\r\n controller: function () {\r\n this.isJackpot = m.prop(!Params.detect('plus') || false);\r\n this.backLink = m.prop(settings.backLink);\r\n this.cardTypes = m.prop(settings.cardTypes || []);\r\n this.creditCardEnabled = m.prop(settings.creditCardEnabled);\r\n this.d = Dictionary.get.bind({ prefix: 'Funding/' });\r\n this.fundingCardAdded = m.prop(Params.detect('fundingCardAdded'));\r\n this.fundingCardCancelled = m.prop(Params.detect('fundingCardCancelled') || Params.detect('error'));\r\n this.triedToGetCardDetails = m.prop(Params.detect('triedToGetCardDetails'));\r\n this.fundingType = m.prop(this.isJackpot() ? 'creditCard' : settings.defaultFundingType || 'creditCard');\r\n this.bsEnabled = m.prop(settings.isFromFaroeIslands ? false : settings.bsEnabled);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.maxNumberOfCreditCards = m.prop(settings.maxNumberOfCreditCards);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.proceedJackpotLink = m.prop(settings.proceedJackpotLink || false);\r\n this.proceedPaymentPlanLink = m.prop(settings.proceedPaymentPlanLink);\r\n this.selectedAccountNumber = m.prop('');\r\n this.selectedPayoutPaymentId = m.prop(false);\r\n this.selectedPayoutPaymentLoaded = m.prop(false);\r\n this.selectedPayoutPaymentMethod = m.prop(false);\r\n this.selectedRegistrationNumber = m.prop('');\r\n this.verticalType = m.prop(this.isJackpot() ? 'jackpot' : 'plus');\r\n this.subscription = m.prop(Subscription.new({ status: 'basket', verticalType: this.verticalType() }));\r\n this.selectedCard = m.prop();\r\n this.modal = m.prop();\r\n this.state = new State('loading');\r\n this.proceedLabel = 'ProceedBar/Proceed';\r\n this.canProceed = m.prop(false);\r\n this.storedCards = m.prop();\r\n this.applePay = m.prop(false);\r\n if (settings.applePayEnabled && !this.isJackpot()) {\r\n // Injects Reepay script into DOM.\r\n Reepay.load().then(() => this.applePay(Reepay.isApplePayAvailable()));\r\n }\r\n\r\n if (!this.creditCardEnabled()) {\r\n this.fundingType('paymentService');\r\n }\r\n\r\n const suitableCreditCardsForSubscription = settings.storedCards?.filter((card) => {\r\n if (card.cardBarred) return false;\r\n if (!card.allowSubscriptions) return false;\r\n if (card.cardExpirationDate?.expired) return false;\r\n if (card.isApplePay) return false;\r\n return true;\r\n }) || [];\r\n this.storedCards(suitableCreditCardsForSubscription);\r\n\r\n this.manageStoredCardsLink = m.prop(\r\n settings.manageStoredCards\r\n ? settings.manageStoredCards\r\n : `${DS.Config.PRETTYPREFIX || ''}/mine-oplysninger#/cards`\r\n );\r\n\r\n if (this.fundingCardCancelled()) {\r\n this.modal({\r\n text: this.d('Modal/FundingCardCancelled/text'),\r\n buttons: [\r\n {\r\n dButtonLabel: 'Ok',\r\n cta: () => {\r\n this.modal(null);\r\n this.state.add('loading');\r\n location.href = Utils.link(location.href)\r\n .addCurrentParams()\r\n .removeParam('fundingCardAdded', 'fundingCardCancelled')\r\n .link;\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n this.state.remove('loading');\r\n }\r\n\r\n const addNewCreditCard = () => {\r\n this.state.add('loading');\r\n Storage.set('Subscriptions-StoredCards', JSON.stringify(this.storedCards().map((card) => card.cardId)));\r\n const acceptUrl = Utils.link(location.href)\r\n .addCurrentParams()\r\n .removeParam('fundingCardCancelled')\r\n .addParam('fundingCardAdded')\r\n .link;\r\n const cancelUrl = Utils.link(location.href)\r\n .addCurrentParams()\r\n .removeParam('fundingCardAdded')\r\n .addParam('fundingCardCancelled')\r\n .link;\r\n Payment.saveCard({ acceptUrl, cancelUrl, contextType: 'subscriptions', provider: 'reepay', preauth: true });\r\n };\r\n\r\n this.back = () => {\r\n location.href = Utils.link(this.backLink()).addCurrentParams().link;\r\n };\r\n\r\n const canContinueWithCreditCard = () => {\r\n if (this.fundingType() !== 'creditCard') return false;\r\n return !!this.selectedCard();\r\n };\r\n\r\n const canContinueWithBs = () => {\r\n if (this.fundingType() !== 'paymentService') return false;\r\n return !!(this.selectedAccountNumber() && this.selectedRegistrationNumber());\r\n };\r\n\r\n this.changeRegistrationNumber = (value) => {\r\n value = value.replace(/[^0-9]/g, '');\r\n if (value.length > 4) value = value.substr(0, 4);\r\n this.selectedRegistrationNumber(value || '');\r\n this.canProceed(canContinueWithBs());\r\n };\r\n\r\n this.changeAccountNumber = (value) => {\r\n value = value.replace(/[^0-9]/g, '');\r\n if (value.length > 10) value = value.substr(0, 10);\r\n this.selectedAccountNumber(value || '');\r\n this.canProceed(canContinueWithBs());\r\n };\r\n\r\n this.changeCreditCard = (card) => {\r\n this.selectedCard(card);\r\n this.canProceed(canContinueWithCreditCard());\r\n };\r\n\r\n this.administerNewCards = () => {\r\n this.state.add('loading');\r\n location.href = Utils.link(this.manageStoredCardsLink()).addCurrentParams().addParam('create-subscription').link;\r\n };\r\n\r\n this.setFundingType = (fundingType) => {\r\n this.fundingType(fundingType);\r\n if (fundingType === 'creditCard') this.canProceed(canContinueWithCreditCard());\r\n if (fundingType === 'paymentService') this.canProceed(canContinueWithBs());\r\n if (fundingType === 'applePay') this.canProceed(true);\r\n };\r\n\r\n this.getLatestAddedCard = () => {\r\n const newCards = [];\r\n const storedCardsBefore = JSON.parse(Storage.get('Subscriptions-StoredCards')) || [];\r\n const storedCardsNow = this.storedCards();\r\n for (let i = 0; i < storedCardsNow.length; i++) {\r\n const storedCardNow = storedCardsNow[i];\r\n if (storedCardsBefore.indexOf(storedCardNow.cardId) === -1) newCards.push(storedCardNow);\r\n }\r\n return newCards[0];\r\n };\r\n\r\n const makePaymentPlan = (cardId) => {\r\n location.href = Utils.link(this.proceedPaymentPlanLink())\r\n .addCurrentParams()\r\n .removeParam('fundingCardAdded', 'fundingCardCancelled', 'triedToGetCardDetails')\r\n .addParam(this.verticalType(), 'cardId=' + cardId)\r\n .link;\r\n };\r\n\r\n const createBsOrJackpotSubscription = (subscription) => {\r\n\r\n const createSubscriptionSuccess = (res) => {\r\n subscription = Subscription.new(res);\r\n subscription.status('created');\r\n subscription.verticalType(this.verticalType());\r\n subscription.save();\r\n const id = subscription.id();\r\n\r\n const getSubscriptionGapFundingSuccess = (gapRes) => {\r\n if (!this.isJackpot()) {\r\n subscription.firstDrawWithoutGap(gapRes.firstDrawWithoutGap);\r\n subscription.gapFundingAmount(gapRes.remainingGapAmount || 0);\r\n subscription.gapFundingGames(gapRes.games);\r\n subscription.nextDrawWithGap(gapRes.nextDrawWithGap);\r\n }\r\n\r\n subscription.save();\r\n const proceedDestination = this.isJackpot() ? this.proceedJackpotLink() : this.proceedLink();\r\n\r\n location.href = Utils.link(proceedDestination)\r\n .addCurrentParams()\r\n .removeParam('fundingCardAdded', 'fundingCardCancelled', 'triedToGetCardDetails')\r\n .addParam('subscriptionId=' + id)\r\n .link;\r\n };\r\n\r\n const getSubscriptionGapFundingError = (gapErr) => {\r\n console.error('Error loading gap funding', gapErr);\r\n this.modal({\r\n text: this.d('Modal/ErrorLoadingGapFunding/text'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'TryAgain',\r\n cta: () => {\r\n this.modal(null);\r\n this.state.add('loading');\r\n Api.getSubscriptionGapFunding(id).then(getSubscriptionGapFundingSuccess, getSubscriptionGapFundingError);\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n this.state.remove('loading');\r\n };\r\n\r\n Api.getSubscriptionGapFunding(id).then(getSubscriptionGapFundingSuccess, getSubscriptionGapFundingError);\r\n };\r\n\r\n const createSubscriptionError = (err) => {\r\n console.error('Error creating subscription', err);\r\n this.modal({\r\n text: this.d('Modal/ErrorCreatingSubscription/text'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'TryAgain',\r\n cta: () => {\r\n this.modal(null);\r\n createBsOrJackpotSubscription(subscription);\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n this.state.remove('loading');\r\n };\r\n\r\n subscription.create().then(createSubscriptionSuccess, createSubscriptionError);\r\n };\r\n\r\n this.proceed = () => {\r\n this.state.add('loading');\r\n const cardId = this.selectedCard()?.cardId;\r\n const fundingType = this.fundingCardAdded() ? 'creditCard' : this.fundingType();\r\n\r\n if (!this.canProceed() || (fundingType === 'creditCard' && !cardId)) {\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n if (this.isJackpot() && fundingType === 'creditCard' && cardId === 'new') {\r\n addNewCreditCard();\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n const deferred = m.deferred();\r\n const subscription = this.subscription();\r\n subscription.payoutPaymentId(this.selectedPayoutPaymentId());\r\n subscription.payoutPaymentMethod(this.selectedPayoutPaymentMethod());\r\n\r\n // Betalingsservice:\r\n if (fundingType === 'paymentService') {\r\n const accountNumber = Utils.leftPad(this.selectedAccountNumber(), 10, '0');\r\n const registrationNumber = Utils.leftPad(this.selectedRegistrationNumber(), 4, '0');\r\n\r\n const getOrCreateBankAccountSuccess = (res) => {\r\n subscription.fundingPaymentId(res.paymentMethodId);\r\n subscription.fundingPaymentMethod('BS');\r\n deferred.resolve();\r\n };\r\n\r\n const getOrCreateBankAccountError = (err) => {\r\n console.error('Error getting or creating bank account', err);\r\n this.modal({\r\n text: this.d('Modal/ErrorGettingOrCreatingBankAccount/text'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'TryAgain',\r\n cta: () => {\r\n this.modal(null);\r\n this.proceed();\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n this.state.remove('loading');\r\n };\r\n\r\n Api.getOrCreateBankAccount(registrationNumber, accountNumber).then(getOrCreateBankAccountSuccess, getOrCreateBankAccountError);\r\n }\r\n\r\n // Credit card:\r\n if (fundingType === 'creditCard') {\r\n if (cardId !== 'new') {\r\n subscription.fundingPaymentId(cardId);\r\n subscription.fundingPaymentMethod('Card');\r\n }\r\n deferred.resolve();\r\n }\r\n\r\n // Apple Pay:\r\n if (fundingType === 'applePay') {\r\n deferred.resolve();\r\n }\r\n\r\n // Create subscription:\r\n deferred.promise.then(() => {\r\n if ((fundingType === 'creditCard' || fundingType === 'applePay') && !this.isJackpot()) {\r\n makePaymentPlan(cardId);\r\n } else {\r\n createBsOrJackpotSubscription(subscription);\r\n }\r\n });\r\n\r\n // Tracking.\r\n Ensighten.pushGaEventOnPageRedirect(this.isJackpot() ? 'jackpot' : 'plus', fundingType, this.subscription().id());\r\n };\r\n\r\n const init = () => {\r\n if (!this.bsEnabled() && !this.creditCardEnabled()) {\r\n this.state.add('errorSubscriptionFundingIsDisabled');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n if (Basket.isEmpty()) {\r\n this.state.add('errorBasketIsEmpty');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n if (!this.selectedCard()) {\r\n this.storedCards().forEach((card) => {\r\n if (card.preferedCard) this.changeCreditCard(card);\r\n });\r\n\r\n if (!this.selectedCard()) {\r\n this.changeCreditCard(this.storedCards()[0]);\r\n }\r\n }\r\n\r\n const getBankAccountsSuccess = (res) => {\r\n for (let i = 0; i < res.length; i++) {\r\n const account = res[i];\r\n\r\n if (account?.isNemkonto || account?.isValid) {\r\n this.selectedPayoutPaymentLoaded(true);\r\n this.selectedPayoutPaymentId(account.paymentMethodId);\r\n this.selectedPayoutPaymentMethod('BankAccount');\r\n break;\r\n }\r\n }\r\n\r\n if (!this.fundingCardAdded()) {\r\n // No new credit card have been added, so it's the default first time page load.\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n // New credit card have been added, get its details.\r\n const latestAddedCard = this.getLatestAddedCard();\r\n\r\n if (!latestAddedCard) {\r\n // A new card has apparently been added, but we don't have its details.\r\n\r\n if (!this.triedToGetCardDetails()) {\r\n // We will try to reload the page once to see if we now have received the card details from our backend.\r\n setTimeout(() => {\r\n location.href = Utils.link(location.href)\r\n .addCurrentParams()\r\n .addParam('triedToGetCardDetails')\r\n .link;\r\n }, 2000);\r\n return;\r\n }\r\n\r\n // It looks like a new card have been added, but the customer might already had this card registered.\r\n // Or something bad happened...\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n // Everything is fine, let's proceed with the newly added credit card.\r\n this.canProceed(true);\r\n this.selectedCard(latestAddedCard);\r\n this.proceed();\r\n };\r\n\r\n const getBankAccountsError = (err) => {\r\n console.error('Error getting bank accounts', err);\r\n this.modal({\r\n text: this.d('Modal/ErrorLoadingBankAccounts/text'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'TryAgain',\r\n cta: () => {\r\n this.modal(null);\r\n this.state.add('loading');\r\n location.reload();\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n this.state.remove('loading');\r\n };\r\n\r\n Api.getBankAccounts().then(getBankAccountsSuccess, getBankAccountsError);\r\n };\r\n\r\n this.ifLoggedIn = () => {\r\n this.state.remove('notLoggedIn');\r\n init();\r\n };\r\n\r\n this.ifLoggedOut = () => {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n };\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n const error = ErrorMessage(state);\r\n const verticalType = controller.isJackpot() ? 'Jackpot' : 'Plus';\r\n\r\n if (state.has('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n if (error) {\r\n delete controller.proceed;\r\n return [\r\n Step(2, 3),\r\n m('.plus-error--centered', error),\r\n m(ProceedBar, { controller: controller }),\r\n ];\r\n }\r\n\r\n return [\r\n Step(2, 3),\r\n\r\n Header({\r\n title: controller.d(`${verticalType}Title`),\r\n subtitle: controller.d(`${verticalType}Subtitle`),\r\n center: true,\r\n }),\r\n\r\n PaymentMethods({\r\n administerNewCards: controller.administerNewCards,\r\n bsEnabled: controller.bsEnabled(),\r\n changeAccountNumber: controller.changeAccountNumber,\r\n changeCreditCard: controller.changeCreditCard,\r\n changeRegistrationNumber: controller.changeRegistrationNumber,\r\n creditCardEnabled: controller.creditCardEnabled(),\r\n fundingType: controller.fundingType,\r\n isJackpot: controller.isJackpot(),\r\n applePayEnabled: controller.applePay(),\r\n maxNumberOfCreditCards: controller.maxNumberOfCreditCards(),\r\n selectedAccountNumber: controller.selectedAccountNumber,\r\n selectedCreditCard: controller.selectedCard,\r\n selectedRegistrationNumber: controller.selectedRegistrationNumber,\r\n setFundingType: controller.setFundingType,\r\n storedCards: controller.storedCards(),\r\n }),\r\n\r\n m(ProceedBar, { controller: controller }),\r\n\r\n Modal(controller.modal()),\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/GapFunding',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/StepsIndicator',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer'\r\n ],\r\n function (CrossWindowEvents, Component, Params, Payment, Api, Dictionary, Utils, Vars, Subscription, Loader, ProceedBar, StepsIndicator, DataLayer) {\r\n\r\n // Component:\r\n Component('gap-funding', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink || 'back');\r\n this.d = Dictionary.get.bind({ prefix: 'GapFunding/' });\r\n this.error = m.prop(false);\r\n this.gapFundingAmount = m.prop(0);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(true);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.property = property;\r\n\r\n this.queryParams = m.prop(window.location.search.slice(1));\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.subscription = m.prop(Subscription.setupGame({ gameInstanceId: this.subscriptionId() }));\r\n this.verticalType = m.prop('plus');\r\n this.urlSuffix = m.prop('?' + this.verticalType() + '&subscriptionId=' + this.subscriptionId() + '&' + this.queryParams());\r\n this.outputVars = m.prop({});\r\n this.firstDepositInfo = m.prop(this.subscription().firstDepositInfo?.());\r\n\r\n // Functions:\r\n this.back = function () {\r\n window.location.href = Params.uniqueParams(this.backLink() + this.urlSuffix());\r\n }.bind(this);\r\n\r\n this.getSubscriptionTransactions = function () {\r\n var id = this.subscriptionId();\r\n\r\n return Api.getSubscriptionTransactions(id).then(function (response) {\r\n return response;\r\n });\r\n }.bind(this);\r\n\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n var subscription = this.subscription();\r\n var id = subscription.id();\r\n var queryParams = this.queryParams();\r\n var selectedCard = subscription.gapFundingSelectedCard();\r\n const firstDepositInfo = this.firstDepositInfo();\r\n const subType = firstDepositInfo ? firstDepositInfo.subType : 'gap-fund';\r\n const amount = firstDepositInfo?.totalCost || (subscription.gapFundingAmount() * 100);\r\n\r\n var data = {\r\n acceptUrl: Params.uniqueParams(window.location.origin + this.proceedLink() + '?subscriptionId=' + id + '&' + queryParams),\r\n cancelUrl: window.location.href,\r\n capture: true,\r\n cardId: selectedCard.cardId,\r\n cardType: selectedCard.cardType,\r\n contextType: 'subscriptions',\r\n ledger: id,\r\n orderId: id,\r\n subtype: subType,\r\n provider: selectedCard.provider,\r\n drawingPeriod: {\r\n periodStart: this.outputVars().gapFundingDateStartRaw,\r\n periodEnd: this.outputVars().gapFundingDateEndRaw\r\n }\r\n };\r\n\r\n Payment.capture(amount, Payment.types.CARD_PAYMENT, data);\r\n }.bind(this);\r\n\r\n this.transactionFee = function () {\r\n return 0;\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n var gapDataLayerProducts = Utils.getSessionStorage('DS-Basket-GapDataLayerProducts') || [];\r\n\r\n if (gapDataLayerProducts.length > 0) {\r\n gapDataLayerProducts.forEach(function (product) {\r\n product.category += '_gap';\r\n product.id += '_gap';\r\n });\r\n\r\n DataLayer.addToCart(gapDataLayerProducts);\r\n }\r\n\r\n this.getExperationDate = function (gapFundingSelectedCard) {\r\n var expirationMonth = ('0' + gapFundingSelectedCard.cardExpirationDate.month).slice(-2);\r\n var expirationYear = ('' + gapFundingSelectedCard.cardExpirationDate.year).slice(-2);\r\n var expiration = expirationMonth + ' / ' + expirationYear;\r\n return expiration;\r\n };\r\n\r\n // Get subscription transactions:\r\n this.getSubscriptionTransactions().then(function (response) {\r\n var status = response.length > 0 && response[0].status && response[0].status === 'SUCCESS';\r\n\r\n if (status) {\r\n window.location.href = Params.uniqueParams(this.proceedLink() + this.urlSuffix());\r\n } else {\r\n var id = this.subscriptionId();\r\n\r\n var getSubscriptionGapFundingSuccess = function (res) {\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.gapFundingVars(res)));\r\n this.loading(false);\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var getSubscriptionGapFundingError = function (err) {\r\n console.error('getSubscriptionGapFundingError', err);\r\n }.bind(this);\r\n\r\n Api.getSubscriptionGapFunding(id).then(getSubscriptionGapFundingSuccess, getSubscriptionGapFundingError);\r\n }\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n var loading = controller.loading();\r\n\r\n // Test scenario: Loading\r\n /// /////////////////////////////////////////////\r\n // loading = true;\r\n /// /////////////////////////////////////////////\r\n\r\n // Loading:\r\n if (loading) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n var fee = controller.transactionFee();\r\n var subscription = controller.subscription();\r\n var gapFundingAmount = subscription.gapFundingAmount();\r\n var gapFundingSelectedCard = subscription.gapFundingSelectedCard();\r\n const isMobilePay = gapFundingSelectedCard?.cardType === 'mobilepay';\r\n let totalAmount = gapFundingAmount + fee;\r\n const firstDepositInfo = controller.firstDepositInfo();\r\n\r\n if (firstDepositInfo) {\r\n totalAmount = (firstDepositInfo.totalCost / 100) + fee;\r\n }\r\n\r\n var verticalType = controller.verticalType().slice(0, 1).toUpperCase() + controller.verticalType().slice(1);\r\n var expiration = isMobilePay ? controller.d('UnknownExpiry') : controller.getExperationDate(gapFundingSelectedCard);\r\n\r\n return [\r\n\r\n // Steps:\r\n StepsIndicator(2, 3),\r\n\r\n // Headers:\r\n m('h2', controller.d(verticalType + 'Title' + (firstDepositInfo ? 'PaymentPlan' : ''))),\r\n m('h3.subtitle', controller.d(verticalType + 'Subtitle' + (firstDepositInfo ? 'PaymentPlan' : ''))),\r\n\r\n // Payment:\r\n m('.receipt.receipt--split.content-size-extra-top',\r\n m('.receipt__inner',\r\n m('.receipt__content',\r\n isMobilePay ?\r\n [\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', controller.d('PaymentMethod')),\r\n m('.receipt__content-row--right', gapFundingSelectedCard.cardName),\r\n ])\r\n ] : [\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', controller.d('CardNumber')),\r\n m('.receipt__content-row--right', gapFundingSelectedCard.cardNumber.replace(/x/ig, '●')),\r\n ]),\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', controller.d('Expiration')),\r\n m('.receipt__content-row--right', expiration),\r\n ]),\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', controller.d('CVC')),\r\n m('.receipt__content-row--right', 'xxx'),\r\n ]),\r\n ]\r\n\r\n )\r\n )),\r\n\r\n // Games:\r\n m('.receipt.receipt--simple-gray.content-size-extra-bottom',\r\n m('.receipt__inner',\r\n m('.receipt__content',\r\n [\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', controller.d('ToBePaidnow')),\r\n m('.receipt__content-row--right', Utils.formatCurrency(gapFundingAmount)),\r\n ]),\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', controller.d('Fee')),\r\n m('.receipt__content-row--right', Utils.formatCurrency(fee)),\r\n ]),\r\n ]\r\n ),\r\n m('.receipt__content-row.receipt__content-row--sum', [\r\n m('.receipt__content-row--left', controller.d('TotalPrice')),\r\n m('.receipt__content-row--right', Utils.formatCurrency(totalAmount)),\r\n ])\r\n )),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller, { price: Utils.formatNumber(totalAmount) })\r\n\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/GapFundingOverview',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Templates/Alerts',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/SubscriptionChecks',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/PaymentMethods',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Outputs',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n ],\r\n function (Component, Params, Alerts, Payment, Reepay, Api, Dictionary, LoggedInOrOut, State, SubscriptionChecks, Utils, Vars, Subscription, Modal, PaymentMethods, ProceedBar, Outputs, Header, Step) {\r\n\r\n var dsPrettyPrefix = DS.Config.PRETTYPREFIX || '';\r\n\r\n // Component:\r\n Component('gapfunding-overview', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink.Url || '');\r\n this.cardTypes = m.prop(settings.cardTypes || []);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || '');\r\n this.proceedLink = m.prop(settings.proceedLink.Url || '');\r\n this.storedCards = m.prop(settings.storedCards || []);\r\n this.cardTypes = m.prop(settings.cardTypes || []);\r\n\r\n this.firstDepositInfo = m.prop();\r\n this.payedWithNewCard = m.prop(Params.detect('payedWithNewCard'));\r\n this.gapDeclined = m.prop(Params.detect('gapDeclined') || Params.detect('error'));\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.subscription = m.prop();\r\n this.outputVars = m.prop({});\r\n this.fundingMethodSubType = m.prop();\r\n this.fundingPeriod = m.prop();\r\n this.fundingType = m.prop('creditCard');\r\n this.paymentPlanPeriodInWeeks = m.prop();\r\n this.canProceed = m.prop();\r\n\r\n this.d = Dictionary.get.bind({ prefix: 'GapFundingOverview/' });\r\n this.modalDictionary = Dictionary.get.bind({ prefix: 'Modal/' });\r\n this.error = m.prop(false);\r\n this.manageStoredCards = m.prop(settings.manageStoredCards ? settings.manageStoredCards : dsPrettyPrefix + '/mine-oplysninger#/cards');\r\n this.maxNumberOfCreditCards = m.prop(settings.maxNumberOfCreditCards || 3);\r\n this.selectedCard = m.prop(this.storedCards().filter((card) => !card.isApplePay)[0]);\r\n this.mobilePay = m.prop(this.cardTypes().find((cardType) => cardType.cardType === 'mobilepay'));\r\n this.applePay = m.prop(false);\r\n if (settings.applePayEnabled) {\r\n // Injects Reepay script into DOM.\r\n Reepay.load().then(() => this.applePay(Reepay.isApplePayAvailable()));\r\n }\r\n this.property = property;\r\n this.state = new State('loading');\r\n this.loggedInOrOut = LoggedInOrOut;\r\n\r\n this.step = m.prop([1, 2]);\r\n this.alert = Alerts('danger').bind(this);\r\n this.output = Outputs(true, true, true).bind(this);\r\n\r\n // Functions:\r\n this.getAcceptUrl = function () {\r\n if (!this.proceedLink().length) {\r\n console.error('Created.js - Proceed Link Url not defined');\r\n }\r\n return window.location.origin + Params.uniqueParams(this.proceedLink() + '?subscriptionId=' + this.subscriptionId());\r\n }.bind(this);\r\n\r\n this.getPaymentDetails = (cardType, subscriptionId) => {\r\n return {\r\n acceptUrl: this.getAcceptUrl(),\r\n cancelUrl: Params.uniqueParams(window.location.href + '&gapDeclined'),\r\n cardType: cardType,\r\n contextType: 'subscriptions',\r\n ledger: subscriptionId,\r\n orderId: subscriptionId,\r\n saveCard: false,\r\n subtype: this.fundingMethodSubType(),\r\n drawingPeriod: {\r\n periodStart: this.outputVars().gapFundingDateStartRaw,\r\n periodEnd: this.outputVars().gapFundingDateEndRaw\r\n }\r\n };\r\n };\r\n\r\n this.proceed = function () {\r\n var selectedCard = this.selectedCard();\r\n var subscription = this.subscription();\r\n var fundingAmount = subscription.gapFundingAmount() * 100;\r\n\r\n if (selectedCard && selectedCard?.cardId === 'new') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n this.getPaymentDetails('card', subscription.id())\r\n );\r\n } else if (this.mobilePay() && this.fundingType() === 'mobilePay') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n this.getPaymentDetails(this.mobilePay().cardType, subscription.id())\r\n );\r\n } else if (this.applePay() && this.fundingType() === 'applePay') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n this.getPaymentDetails('ApplePay', subscription.id())\r\n );\r\n } else if (selectedCard && selectedCard?.cardId !== 'new') {\r\n Payment.capture(\r\n fundingAmount,\r\n Payment.types.CARD_PAYMENT,\r\n {\r\n ...this.getPaymentDetails(selectedCard.cardType, subscription.id()),\r\n cardId: selectedCard.cardId\r\n }\r\n );\r\n\r\n } else {\r\n this.state.add('errorWithSelectedCreditCard');\r\n }\r\n }.bind(this);\r\n\r\n this.back = function () {\r\n window.location.href = Params.uniqueParams(this.backLink());\r\n }.bind(this);\r\n\r\n this.getCardTypes = function () {\r\n var cardTypes = this.cardTypes();\r\n var self = this;\r\n\r\n if (!cardTypes) {\r\n return [];\r\n }\r\n\r\n return cardTypes.filter(function (cardType) {\r\n if (cardType.allowSubscriptions) {\r\n cardType.text = cardType.cardName + self.d('CreditCardNew');\r\n cardType.type = 'new';\r\n cardType.value = cardType.cardType;\r\n\r\n return cardType;\r\n }\r\n });\r\n }.bind(this);\r\n\r\n const canContinueWithCreditCard = () => {\r\n if (this.fundingType() !== 'creditCard') return false;\r\n return !!this.selectedCard();\r\n };\r\n\r\n const canContinueWithMobilePay = () => {\r\n if (this.fundingType() !== 'mobilePay') return false;\r\n return this.selectedCard()?.cardType === 'mobilepay';\r\n };\r\n\r\n\r\n this.setFundingType = (fundingType) => {\r\n this.fundingType(fundingType);\r\n if (fundingType === 'creditCard') this.canProceed(canContinueWithCreditCard());\r\n if (fundingType === 'mobilePay') this.canProceed(canContinueWithMobilePay());\r\n };\r\n\r\n\r\n // get subscription data\r\n this.getSubscription = function () {\r\n this.state.add('loading');\r\n var id = this.subscriptionId();\r\n\r\n if (!id) {\r\n this.state.add('noSubscriptionId');\r\n this.state.remove('loading');\r\n m.redraw();\r\n return;\r\n }\r\n\r\n this.subscription(Subscription.setupGame({ gameInstanceId: id }));\r\n var subscription = this.subscription();\r\n\r\n var getSubscriptionSuccess = function (res) {\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.subscriptionVars(res)));\r\n this.paymentPlanPeriodInWeeks(res.paymentPlanPeriodInWeeks);\r\n\r\n if (!SubscriptionChecks.subscriptionIsActive(res)) {\r\n this.state.add('subscriptionTemplateStateNotActive');\r\n }\r\n\r\n // create new subscription from response\r\n subscription = Subscription.new(res);\r\n\r\n var getSubscriptionGapFundingSuccess = function (res) {\r\n\r\n if (SubscriptionChecks.subscriptionIsWeeklyAndHasFailedFirstFunding(subscription)) {\r\n // Subscription is weekly, failed its first payment, and can be funded.\r\n const firstDepositInfo = subscription.firstDepositInfo?.();\r\n this.firstDepositInfo(firstDepositInfo);\r\n this.fundingMethodSubType(firstDepositInfo.subType);\r\n subscription.gapFundingAmount(this.firstDepositInfo() ? this.firstDepositInfo().totalCost / 100 : 0);\r\n this.fundingPeriod(null);\r\n res.fundingMethodSubType = this.fundingMethodSubType();\r\n res.remainingGapAmount = subscription.gapFundingAmount();\r\n\r\n } else if (!SubscriptionChecks.subscriptionCanBeGapOrAdhocFunded(res)) {\r\n // Subscription cannot be gap- or adhoc-funded.\r\n this.state.add('gapFundingPaymentMethodIdExist');\r\n\r\n } else {\r\n this.fundingMethodSubType(res.fundingMethodSubType);\r\n\r\n if (this.fundingMethodSubType() === 'gap-fund') {\r\n subscription.gapFundingAmount(res.remainingGapAmount || 0);\r\n this.fundingPeriod(res.gapPeriod);\r\n }\r\n\r\n if (this.fundingMethodSubType() === 'adhoc-fund') {\r\n subscription.gapFundingAmount(res.drawRecurringAmount / 100 || 0);\r\n this.fundingPeriod(res.nextDrawPeriod);\r\n }\r\n }\r\n\r\n this.outputVars(Utils.extendObject(this.outputVars(), Vars.gapFundingVars(res)));\r\n\r\n // Save the subtype, we need it on the receipt to get the correct dictionary\r\n sessionStorage.setItem('SgFundingMethodSubType', this.fundingMethodSubType() || '');\r\n\r\n subscription.gapFundingGames(res.games);\r\n subscription.verticalType('plus');\r\n\r\n // if customer payed with a new card, update subscription details and continue to receipt\r\n if (this.payedWithNewCard()) {\r\n var fundingAmount = subscription.gapFundingAmount() * 100;\r\n subscription.gapFundingTotalAmount(fundingAmount);\r\n subscription.gapFundingTransaction({ amount: fundingAmount, fee: 0 });\r\n subscription.isGapFunded(true);\r\n subscription.save();\r\n window.location.href = Params.uniqueParams(this.proceedLink() + '?subscriptionId=' + this.subscriptionId());\r\n return;\r\n }\r\n\r\n if (this.gapDeclined()) {\r\n // lets make a modal\r\n }\r\n\r\n if (subscription.fundingPaymentMethod() === 'Card') {\r\n var id = subscription.fundingPaymentMethodId();\r\n this.storedCards().map(function (storedCard) {\r\n if (storedCard.cardId === id) {\r\n this.selectedCard(storedCard);\r\n }\r\n }.bind(this));\r\n }\r\n\r\n if (!subscription.gapFundingAmount() || subscription.gapFundingAmount() <= 0) {\r\n if (this.fundingPeriod() && this.fundingPeriod().start) {\r\n this.state.add('noGapFundingAmountOrNoGapFundingGamesStartDateExist');\r\n } else {\r\n this.state.add('noGapFundingAmountOrNoGapFundingGamesStartDateMissing');\r\n }\r\n }\r\n\r\n if (!this.fundingMethodSubType()) {\r\n this.state.add('gapFundingPaymentMethodIdExist');\r\n }\r\n\r\n subscription.save();\r\n this.subscription(subscription);\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var getSubscriptionGapFundingError = function (err) {\r\n console.error('getSubscriptionGapFundingError', err);\r\n this.state.add('errorLoadingSubscriptionData');\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n Api.getSubscriptionGapFunding(id).then(getSubscriptionGapFundingSuccess, getSubscriptionGapFundingError);\r\n\r\n }.bind(this);\r\n\r\n // uh oh\r\n var getSubscriptionError = function (err) {\r\n console.error('getSubscriptionError', err);\r\n this.state.add('errorLoadingSubscriptionData');\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n Api.getSubscription(id).then(getSubscriptionSuccess, getSubscriptionError);\r\n };\r\n\r\n this.maskPartialPan = function (partialPan) {\r\n return partialPan.replace(/x/ig, '●');\r\n };\r\n\r\n\r\n this.loggedInOrOut.init(\r\n this.isLoggedIn(),\r\n () => {\r\n // run when logged in\r\n this.state.remove('notLoggedIn');\r\n this.getSubscription();\r\n },\r\n () => {\r\n // run when logged out\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }\r\n );\r\n\r\n this.reload = function () {\r\n location.reload();\r\n return false;\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n var state = controller.state.has;\r\n var vars = controller.outputVars();\r\n\r\n if (state('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n if (state('notLoggedIn')) {\r\n return controller.output('Errors/NotLoggedIn/', controller.loggedInOrOut.triggerLogInModal);\r\n }\r\n\r\n if (state('noSubscriptionId')) {\r\n return controller.output('Errors/NoSubscriptionId/');\r\n }\r\n\r\n if (state('errorLoadingSubscriptionData')) {\r\n return controller.output('Errors/ErrorLoadingSubscriptionData/', controller.reload);\r\n }\r\n\r\n if (state('errorNoAvailableCreditCards')) {\r\n return controller.output('Errors/ErrorNoAvailableCreditCards/');\r\n }\r\n\r\n if (state('gapFundingPaymentMethodIdExist')) {\r\n return controller.output('Errors/GapFundingPaymentMethodIdExist/');\r\n }\r\n\r\n if (state('subscriptionTemplateStateNotActive')) {\r\n return controller.output('Errors/SubscriptionTemplateStateNotActive/');\r\n }\r\n\r\n if (state('nextGapFundingDateOccursAfterSubscriptionStart')) {\r\n return controller.output('Errors/NextGapFundingDateOccursAfterSubscriptionStart/');\r\n }\r\n\r\n if (state('noGapFundingAmountOrNoGapFundingGamesStartDateExist')) {\r\n return controller.output(['Errors/NoGapFundingAmountOrNoGapFundingGames/StartDateExist/', vars]);\r\n }\r\n\r\n if (state('noGapFundingAmountOrNoGapFundingGamesStartDateMissing')) {\r\n return controller.output('Errors/NoGapFundingAmountOrNoGapFundingGames/StartDateMissing/');\r\n }\r\n\r\n var fromToPeriod;\r\n var title = controller.d('Title');\r\n var subtitle;\r\n var text;\r\n const firstDepositInfo = controller.firstDepositInfo();\r\n const paymentPlanPeriodInWeeks = controller.paymentPlanPeriodInWeeks();\r\n\r\n if (firstDepositInfo) {\r\n title = controller.d('TitlePaymentPlan') || title;\r\n subtitle = controller.d('SubtitlePaymentPlan', { firstDepositDeadline: vars.subscriptionDateFirstDepositInfoDeadlineWithTime });\r\n fromToPeriod = controller.d(`ReceiptPeriodPaymentPlan${paymentPlanPeriodInWeeks}`, { startDate: Utils.formatISO8601(firstDepositInfo.firstDepositDeadline, { includeTime: false }) });\r\n // hide back button, as we can actually do a payment now\r\n delete controller.back;\r\n m.redraw();\r\n } else if (!vars.gapFundingDateStart && !vars.gapFundingDateEndMinusOneDay) {\r\n fromToPeriod = controller.d('Title', vars);\r\n title = controller.d('Errors/NoFirstDrawDateAndNoNextDrawDate/Title', vars) || title;\r\n subtitle = controller.d('Errors/NoFirstDrawDateAndNoNextDrawDate/Subtitle', vars);\r\n text = controller.d('Errors/NoFirstDrawDateAndNoNextDrawDate/Text', vars);\r\n } else if (!vars.gapFundingDateStart && vars.gapFundingDateEndMinusOneDay) {\r\n fromToPeriod = 'Fra ' + vars.gapFundingDateEndLong;\r\n title = controller.d('Errors/NoFirstDrawDate/Title', vars) || title;\r\n subtitle = controller.d('Errors/NoFirstDrawDate/Subtitle', vars);\r\n text = controller.d('Errors/NoFirstDrawDate/Text', vars);\r\n } else if (vars.gapFundingDateStart && !vars.gapFundingDateEndMinusOneDay) {\r\n fromToPeriod = 'Indtil ' + vars.gapFundingDateStartLong;\r\n title = controller.d('Errors/NoNextDrawDate/Title', vars) || title;\r\n subtitle = controller.d('Errors/NoNextDrawDate/Subtitle', vars);\r\n text = controller.d('Errors/NoNextDrawDate/Text', vars);\r\n } else {\r\n // everything is awesome!\r\n fromToPeriod = vars.gapFundingDateStartLong + ' - ' + vars.gapFundingDateEndMinusOneDayLong;\r\n subtitle = controller.d('Subtitle', vars);\r\n text = controller.d('Text', vars);\r\n\r\n // hide back button, as we can actually do a payment now\r\n delete controller.back;\r\n m.redraw();\r\n }\r\n\r\n return [\r\n Step(1, 2),\r\n Header({\r\n title: title,\r\n subtitle: subtitle,\r\n text: text,\r\n center: true,\r\n }),\r\n\r\n // alerts\r\n state('errorWithSelectedCreditCard') ? controller.alert('Alerts/ErrorWithSelectedCreditCard/') : null,\r\n\r\n m('.t-receipt', { 'data-uitest-id': 'Receipt' }, [\r\n m('svg.t-receipt__bg', { role: 'none' }, [\r\n m('mask', { id: 'tReceiptMask' }, [\r\n m('rect', { width: '100%' })\r\n ]),\r\n m('g', { mask: 'url(#tReceiptMask)' }, [\r\n m('rect', { width: '100%' })\r\n ])\r\n ]),\r\n m('.t-receipt__game', [\r\n m('.t-receipt__game-title', controller.d(`ReceiptTitle${firstDepositInfo ? 'PaymentPlan' : ''}`)),\r\n m('.t-receipt__game-text', m.trust(fromToPeriod)),\r\n m('svg.t-receipt__separator', m('line', { x1: 0, y1: 1, x2: '100%', y2: 1 })),\r\n m('.t-receipt__total', [\r\n m('.t-receipt__game-total-label', controller.d('ReceiptSum')),\r\n m('.t-receipt__game-total-value', m.trust(vars.gapFundingRemainingAmountLong)),\r\n ]),\r\n ])\r\n ]),\r\n\r\n PaymentMethods({\r\n administerNewCards: () => {\r\n window.location.href = controller.manageStoredCards();\r\n },\r\n changeCreditCard: controller.selectedCard,\r\n creditCardEnabled: true,\r\n mobilePayEnabled: !firstDepositInfo && controller.mobilePay(),\r\n applePayEnabled: controller.applePay(),\r\n fundingType: controller.fundingType,\r\n maxNumberOfCreditCards: controller.maxNumberOfCreditCards(),\r\n selectedCreditCard: controller.selectedCard,\r\n setFundingType: controller.setFundingType,\r\n storedCards: controller.storedCards(),\r\n }),\r\n\r\n // Gap Funding Decline Modal\r\n controller.gapDeclined() ?\r\n m(Modal, {\r\n controller: controller,\r\n dictionary: controller.modalDictionary,\r\n dictionaryPath: 'TransactionDeclined/',\r\n errorPath: Utils.getErrorPath(),\r\n modalDelay: m.prop(0)\r\n }) : null,\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/GapFundingReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Vars',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Outputs'\r\n ],\r\n function (Component, Params, Api, Dictionary, LoggedInOrOut, State, Utils, Vars, Subscription, Loader, ProceedBar, Outputs) {\r\n\r\n // Component:\r\n Component('gapfunding-receipt', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n\r\n // Variables:\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.storedCards = m.prop(settings.storedCards || []);\r\n\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.outputVars = m.prop({});\r\n this.transactionVars = m.prop({});\r\n this.gapFundingVars = m.prop({});\r\n this.fundingMethodSubType = m.prop(sessionStorage.getItem('SgFundingMethodSubType'));\r\n\r\n this.d = Dictionary.get.bind({ prefix: 'GapFundingReceipt/' });\r\n this.error = m.prop(false);\r\n this.cardName = m.prop();\r\n this.property = property;\r\n this.state = new State('loading');\r\n this.loggedInOrOut = LoggedInOrOut;\r\n\r\n this.step = m.prop([2, 2]);\r\n this.header = Outputs(true).bind(this);\r\n this.output = Outputs(true, true).bind(this);\r\n\r\n // Functions:\r\n this.getSubscriptionTransactions = function () {\r\n var id = this.subscriptionId();\r\n\r\n if (!id) {\r\n this.state.add('noSubscriptionId');\r\n return;\r\n }\r\n\r\n // yay\r\n var success = function (transactions) {\r\n if (transactions && transactions.length > 0) {\r\n\r\n var getSubscriptionGapFundingSuccess = function (res) {\r\n this.gapFundingVars(Vars.gapFundingVars(res));\r\n\r\n // check if valid gap funding exist\r\n transactions = transactions.filter(function (tr) {\r\n return tr.type.toLowerCase() === 'deposit'\r\n && tr.status.toLowerCase() === 'accepted'\r\n && tr.paymentMethodId\r\n && tr.paymentMethodId !== '0';\r\n });\r\n\r\n var transaction = transactions[0];\r\n\r\n if (!transaction) {\r\n this.state.add('errorNoValidTransaction');\r\n }\r\n\r\n if (transaction) {\r\n if (!transaction.amount || transaction.amount <= 0) {\r\n this.state.add('errorNoTransactionAmount');\r\n }\r\n\r\n this.storedCards().forEach(function (card) {\r\n if (card.cardId === transaction.paymentMethodId && card.cardName) {\r\n this.cardName(card.cardName);\r\n }\r\n }.bind(this));\r\n\r\n this.transactionVars(Vars.transactionVars(transaction));\r\n this.outputVars(Utils.extendObject({}, this.gapFundingVars(), this.transactionVars()));\r\n }\r\n this.state.remove('loading');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n var getSubscriptionGapFundingError = function (err) {\r\n console.error('getSubscriptionGapFundingError', err);\r\n this.state.remove('loading');\r\n this.state.add('errorLoadingSubscriptionData');\r\n m.redraw();\r\n }.bind(this);\r\n\r\n Api.getSubscriptionGapFunding(id).then(getSubscriptionGapFundingSuccess, getSubscriptionGapFundingError);\r\n\r\n } else {\r\n this.state.remove('loading');\r\n this.state.add('errorNoResponseFromSubscriptionData');\r\n m.redraw();\r\n }\r\n }.bind(this);\r\n\r\n // uh oh\r\n var error = function (err) {\r\n this.state.add('errorLoadingSubscriptionData');\r\n\r\n if (err && err.errors && err.errors[0] && err.errors[0].Title) {\r\n if (err.errors[0].Title === 'SubscriptionIdNotValid') {\r\n this.state.add('errorSubscriptionIdNotValid');\r\n }\r\n }\r\n\r\n console.error('errorLoadingSubscriptionData', err);\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n this.state.add('loading');\r\n this.subscription(Subscription.setupGame({ gameInstanceId: id }));\r\n Api.getSubscriptionTransactions(id).then(success, error);\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n window.location.href = this.proceedLink();\r\n }.bind(this);\r\n\r\n this.loggedInOrOut.init(\r\n this.isLoggedIn(),\r\n function () {\r\n // run when logged in\r\n this.state.remove('notLoggedIn');\r\n this.getSubscriptionTransactions();\r\n }.bind(this),\r\n function () {\r\n // run when logged out\r\n this.state.add('notLoggedIn');\r\n }.bind(this)\r\n );\r\n\r\n this.reload = function () {\r\n location.reload();\r\n return false;\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n var state = controller.state.has;\r\n\r\n if (state('loading')) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n if (state('notLoggedIn')) {\r\n return controller.output('Errors/NotLoggedIn/', controller.loggedInOrOut.triggerLogInModal);\r\n }\r\n\r\n if (state('noSubscriptionId')) {\r\n return controller.output('Errors/NoSubscriptionId/');\r\n }\r\n\r\n if (state('errorSubscriptionIdNotValid')) {\r\n return controller.output('Errors/ErrorSubscriptionIdNotValid/', controller.reload);\r\n }\r\n\r\n if (state('errorLoadingSubscriptionData')) {\r\n return controller.output('Errors/ErrorLoadingSubscriptionData/', controller.reload);\r\n }\r\n\r\n if (state('errorNoTransactionAmount')) {\r\n return controller.output('Errors/ErrorNoTransactionAmount/');\r\n }\r\n\r\n if (state('errorNoValidTransaction')) {\r\n return controller.output('Errors/ErrorNoValidTransaction/');\r\n }\r\n\r\n if (state('errorNoResponseFromSubscriptionData')) {\r\n return controller.output('Errors/ErrorNoResponseFromSubscriptionData/');\r\n }\r\n\r\n var vars = controller.outputVars();\r\n var cardName = controller.cardName();\r\n let header = controller.header(['', vars]);\r\n const fundingMethodSubType = controller.fundingMethodSubType();\r\n\r\n if (fundingMethodSubType === 'subscription-first-deposit') {\r\n header = controller.header(['PaymentPlan/', vars]);\r\n }\r\n\r\n if (fundingMethodSubType === 'adhoc-fund') {\r\n header = controller.header(['AdHoc/', vars]);\r\n }\r\n\r\n // View:\r\n return [\r\n header,\r\n\r\n m('.subscription-overview-wrapper',\r\n m('.receipt.content-size-extra-top.content-size-extra-bottom',\r\n m('.receipt__inner', [\r\n m('.receipt__prefix-label', controller.d('Receipt/PrefixLabel')),\r\n m('.receipt__title', controller.d(`Receipt/Title${(fundingMethodSubType === 'subscription-first-deposit' ? 'PaymentPlan' : '')}`)),\r\n m('.receipt__subtitle', controller.d('Receipt/Subtitle') + (cardName ? ' - ' + cardName : '')),\r\n m('.receipt__content', [\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', [\r\n m.trust(controller.d('Receipt/PaidDate', vars)),\r\n m('.subtext', controller.d('Receipt/CardType' + (cardName ? '' : 'Unknown'), { cardType: cardName })),\r\n ]),\r\n m('.receipt__content-row--right', m.trust(vars.transactionAmountLong)),\r\n ]),\r\n m('.receipt__content-row', [\r\n m('.receipt__content-row--left', [\r\n controller.d('Receipt/Fee'),\r\n m('.subtext', controller.d('Receipt/ByPaymentWith' + (cardName ? 'Card' : 'UnknownCard'), { card: cardName }))\r\n ]),\r\n m('.receipt__content-row--right', Utils.formatCurrency(0)),\r\n ]),\r\n ]),\r\n m('.receipt__content-row.receipt__content-row--sum', [\r\n m('.receipt__content-row--left', controller.d('Receipt/Total')),\r\n m('.receipt__content-row--right', m.trust(vars.transactionAmountLong)),\r\n ])\r\n ])\r\n )\r\n ),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller),\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/MakePaymentPlan',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Payment',\r\n 'DanskeSpil/Framework/PlayerAccountManagement/Scripts/Helpers/Reepay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Basket',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n ],\r\n function (Component, Payment, Reepay, Api, Basket, LoggedInOrOut, Params, Dictionary, State, Utils, Subscription, ProceedBar, ErrorMessage, Header, Modal, Step) {\r\n Component('make-payment-plan', [Dictionary], function (m, route, settings, property) {\r\n\r\n const root = {\r\n controller: function () {\r\n this.property = property;\r\n this.property('proceedBarInactive', true);\r\n this.paymentPlanPeriods = settings.paymentPlanPeriods || [];\r\n this.backLink = m.prop(settings.backLink);\r\n this.cardId = m.prop(Params.extract('cardId'));\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/MakePaymentPlan/' });\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.proceedLink = m.prop(settings.proceedLink);\r\n this.storedCards = m.prop(settings.storedCards || []);\r\n this.modal = m.prop();\r\n this.verticalType = m.prop('plus');\r\n this.selectedCard = m.prop();\r\n this.selectedPaymentPlanPeriod = m.prop();\r\n this.queryParams = m.prop(window.location.search.slice(1));\r\n this.state = new State();\r\n this.subscription = m.prop(Subscription.new({ status: 'basket', verticalType: this.verticalType() }));\r\n\r\n // Injects Reepay script into DOM.\r\n Reepay.load();\r\n\r\n if (this.cardId() === 'new') {\r\n this.selectedCard({ cardId: null, cardType: 'card' });\r\n } else if (this.cardId() === 'applePay') {\r\n this.selectedCard({ cardId: null, cardType: 'ApplePay' });\r\n } else {\r\n this.storedCards().forEach((storedCard) => {\r\n if (storedCard.cardId === this.cardId()) {\r\n this.selectedCard(storedCard);\r\n }\r\n });\r\n }\r\n\r\n this.paymentPlanPeriods.sort((a, b) => {\r\n if (a.multiplier < b.multiplier) return -1;\r\n if (a.multiplier > b.multiplier) return 1;\r\n return 0;\r\n });\r\n\r\n this.selectPeriod = (period) => {\r\n this.selectedPaymentPlanPeriod(period);\r\n this.property('proceedBarInactive', !this.selectedPaymentPlanPeriod());\r\n };\r\n\r\n this.back = () => {\r\n location.href = Utils.link(this.backLink()).addCurrentParams().removeParam('cardId').link;\r\n };\r\n\r\n this.proceed = () => {\r\n this.state.add('loading');\r\n\r\n const createSubscriptionSuccess = (res) => {\r\n const subscription = Subscription.new(res);\r\n subscription.status('created');\r\n subscription.verticalType(this.verticalType());\r\n subscription.paymentPlanPeriod(this.selectedPaymentPlanPeriod());\r\n subscription.save();\r\n const id = subscription.id();\r\n\r\n // Reepay funding may fail or be declined. But since we have already made\r\n // the subscription by now (we needed the subscription ID for Reepay), we\r\n // will redirect to the receipt page, where we will inform the user that\r\n // payment has not yet been made.\r\n const proceedUrl = Utils.link(location.origin + this.proceedLink())\r\n .addCurrentParams()\r\n .removeParam('cardId')\r\n .addParam(this.verticalType(), 'subscriptionId=' + id)\r\n .link;\r\n\r\n let totalCost = subscription.firstDepositInfo().totalCost;\r\n\r\n // TODO: for testers, remove before release. Lets you cancel the payment by adding the url parameter \"failPayment\".\r\n if (Params.detect('failPayment')) totalCost = 0;\r\n\r\n Payment.capture(\r\n totalCost,\r\n Payment.types.CARD_PAYMENT,\r\n {\r\n acceptUrl: proceedUrl,\r\n cancelUrl: proceedUrl,\r\n capture: true,\r\n cardId: this.selectedCard().cardId,\r\n cardType: this.selectedCard().cardType,\r\n contextType: 'subscriptions',\r\n ledger: id,\r\n orderId: id,\r\n provider: 'reepay',\r\n subtype: 'subscription-first-deposit',\r\n }\r\n ).bind(this);\r\n };\r\n\r\n const getBankAccountsSuccess = (bankAccountRes) => {\r\n const subscription = this.subscription();\r\n let foundSelectedPayout = false;\r\n\r\n for (let i = 0; i < bankAccountRes.length; i++) {\r\n const account = bankAccountRes[i];\r\n if (account && (account.isNemkonto || account.isValid)) {\r\n subscription.payoutPaymentId(account.paymentMethodId);\r\n subscription.payoutPaymentMethod('BankAccount');\r\n foundSelectedPayout = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!foundSelectedPayout) {\r\n console.error('Error, could not find payout account');\r\n }\r\n\r\n if (this.cardId() === 'applePay') {\r\n subscription.fundingPaymentMethod('ApplePay');\r\n } else {\r\n if (this.cardId() !== 'new') {\r\n subscription.fundingPaymentId(this.cardId());\r\n }\r\n subscription.fundingPaymentMethod('Card');\r\n }\r\n\r\n subscription.create(this.selectedPaymentPlanPeriod()).then(createSubscriptionSuccess);\r\n\r\n };\r\n\r\n const getBankAccountsError = (err) => {\r\n console.error('Error getting bank accounts', err);\r\n this.modal({\r\n text: this.d('Modal/ErrorLoadingBankAccounts/text'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'TryAgain',\r\n cta: () => {\r\n this.proceed();\r\n this.modal(null);\r\n }\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n this.state.remove('loading');\r\n };\r\n\r\n Api.getBankAccounts().then(getBankAccountsSuccess, getBankAccountsError);\r\n };\r\n\r\n if (Basket.isEmpty()) this.state.add('errorBasketIsEmpty');\r\n if (!this.cardId()) this.state.add('errorMissingCreditCardId');\r\n if (!this.selectedCard()) this.state.add('errorMissingSelectedCreditCard');\r\n\r\n this.ifLoggedIn = () => {\r\n this.state.remove('notLoggedIn');\r\n };\r\n\r\n this.ifLoggedOut = () => {\r\n this.state.add('notLoggedIn');\r\n };\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n this.totalPrice = (period) => {\r\n let multiplier;\r\n if (this.selectedPaymentPlanPeriod()) multiplier = this.selectedPaymentPlanPeriod().multiplier;\r\n if (period) multiplier = period.multiplier;\r\n return multiplier ? Utils.formatCurrency(Basket.pricePerWeek() * multiplier) : '';\r\n };\r\n\r\n this.getBrandSpecificText = (dictionary, fallback) => {\r\n let text = fallback;\r\n Object.keys(dictionary || {}).reverse().forEach((key) => {\r\n let brandText = dictionary[key];\r\n if (brandText && Basket.isGameInBasket(key)) {\r\n text = brandText;\r\n }\r\n });\r\n return text;\r\n };\r\n\r\n this.canProceed = this.selectedPaymentPlanPeriod;\r\n this.proceedLabel = 'CtaLabels/Pay';\r\n this.proceedLabelAmount = this.totalPrice;\r\n\r\n },\r\n\r\n view: function (controller) {\r\n const state = controller.state;\r\n const error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) {\r\n return m('.plus-spinner.plus-spinner--subscription');\r\n }\r\n\r\n if (error) {\r\n delete controller.proceed;\r\n return [\r\n Step(3, 4),\r\n m('.plus-error--centered', error),\r\n m(ProceedBar, { controller: controller }),\r\n ];\r\n }\r\n\r\n return [\r\n Step(3, 4),\r\n\r\n Header({\r\n title: controller.d('HeaderTitle'),\r\n subtitle: controller.d('HeaderSubtitle'),\r\n center: true,\r\n }),\r\n\r\n m('.btn-checked__wrapper',\r\n controller.paymentPlanPeriods.map((period) => {\r\n\r\n // Don't show periods that cannot be selected.\r\n if (!period.canSelect) return;\r\n\r\n return m('.btn-checked', {\r\n onclick: controller.selectPeriod.bind(null, period),\r\n class: controller.selectedPaymentPlanPeriod() === period ? 'btn--selected' : 'btn--unselected',\r\n 'data-uitest-id': 'PaymentPlan__btn'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label',\r\n controller.getBrandSpecificText(period.brandSpecificPerWeekText, period.perWeekText)\r\n .replace('{price}', controller.totalPrice(period))),\r\n m('.btn-checked__sublabel', m.trust(\r\n controller.getBrandSpecificText(period.brandSpecificPerWeekSubText, period.perWeekSubText))),\r\n ])\r\n ]);\r\n })\r\n ),\r\n\r\n m(ProceedBar, { controller: controller }),\r\n\r\n Modal(controller.modal()),\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/NoValidBankAccount',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (CrossWindowEvents, Component, Params, Dictionary, Utils, ProceedBar) {\r\n\r\n // Component:\r\n Component('no-valid-bank-account', [Dictionary], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink || false);\r\n this.d = Dictionary.get.bind({ prefix: 'NoValidBankAccount/' });\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.property = property;\r\n this.queryParams = m.prop(window.location.search.slice(1));\r\n this.verticalType = m.prop(Params.detect('plus') ? 'plus' : 'jackpot');\r\n\r\n // Functions:\r\n this.back = function () {\r\n var backLink = this.backLink();\r\n\r\n if (!backLink || backLink === 'back') {\r\n window.history.back();\r\n } else {\r\n window.location.href = backLink + '?' + this.verticalType() + '&' + this.queryParams();\r\n }\r\n }.bind(this);\r\n\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var verticalType = Utils.capitalize(controller.verticalType());\r\n\r\n return [\r\n // Headers:\r\n m('h2', controller.d(verticalType + 'Title')),\r\n m('h3.subtitle', controller.d(verticalType + 'Subtitle')),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/ReactivateReceipt',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (CrossWindowEvents, Component, Params, Api, Dictionary, Subscription, Loader, ProceedBar) {\r\n\r\n // Component:\r\n Component('reactivate-receipt', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n\r\n // Variables:\r\n this.d = Dictionary.get.bind({ prefix: 'ReactivateReceipt/' });\r\n this.error = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(false);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.property = property;\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n\r\n // Functions:\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n window.location.href = this.proceedLink() + '?subscriptionId=' + this.subscriptionId();\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n // Context:\r\n var self = this;\r\n\r\n Api.getSubscriptionDetails(this.subscriptionId()).then(function (response) {\r\n self.loading(false);\r\n self.subscription(Subscription.new(response));\r\n\r\n m.redraw();\r\n }.bind(this), function () {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var subscription = controller.subscription();\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n // View:\r\n if (!loading && subscription) {\r\n return [\r\n // Headers:\r\n m('h2', controller.d('Title')),\r\n m('h3.subtitle', controller.d('Subtitle')),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n ];\r\n }\r\n\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/SubscriptionDetails',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/ListItem',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/PauseOverlay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/ReactivateOverlay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/TerminateOverlay',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/SubscriptionDetails/TotalPricePerWeek'\r\n ],\r\n function (Component, Params, Overlay, Api, Dictionary, Utils, Subscription, Loader, ProceedBar, ListItem, PauseOverlay, ReactivateOverlay, TerminateOverlay, TotalPricePerWeek) {\r\n\r\n // Component:\r\n Component('subscription-details', [Dictionary], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink || 'back');\r\n this.changeFundingLink = m.prop(settings.changeFundingLink);\r\n this.changePayoutLink = m.prop(settings.changePayoutLink);\r\n this.d = Dictionary.get.bind({ prefix: 'SubscriptionDetails/' });\r\n this.error = m.prop(false);\r\n this.fundingPaymentMethod = m.prop(false);\r\n this.games = m.prop(false);\r\n this.isJackpot = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(true);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.pauseOverlay = m.prop(new Overlay(PauseOverlay('subscription-general-overlay', this.d)));\r\n this.property = property;\r\n this.reactivateOverlay = m.prop(new Overlay(ReactivateOverlay('subscription-general-overlay', this.d)));\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.subscriptionReactivateLink = m.prop(settings.subscriptionReactivateLink);\r\n this.subscriptionTerminatedLink = m.prop(settings.subscriptionTerminatedLink);\r\n this.subscriptionTransactionsLink = m.prop(settings.subscriptionTransactionsLink);\r\n this.template = m.prop();\r\n this.terminateOverlay = m.prop(new Overlay(TerminateOverlay('subscription-general-overlay', this.d)));\r\n\r\n // Functions:\r\n this.back = function () {\r\n var backLink = this.backLink();\r\n\r\n if (!backLink || backLink === 'back') {\r\n window.history.back();\r\n } else {\r\n window.location.href = backLink;\r\n }\r\n }.bind(this);\r\n\r\n this.changeFunding = function () {\r\n var subscription = this.subscription();\r\n\r\n if (this.fundingPaymentMethod().toLowerCase() !== 'bs' && !subscription.isTerminated()) {\r\n window.location.href = this.changeFundingLink() + '?subscriptionId=' + subscription.id();\r\n }\r\n }.bind(this);\r\n\r\n this.changePayout = function () {\r\n var subscription = this.subscription();\r\n\r\n if (!subscription.isTerminated()) {\r\n window.location.href = this.changePayoutLink() + '?subscriptionId=' + subscription.id();\r\n }\r\n }.bind(this);\r\n\r\n // Commented out.. not used (for now)\r\n // this.changeSubscription = function () {\r\n // var subscription = this.subscription();\r\n // if (subscription.isTerminated()) {\r\n // this.reactivateSubscription();\r\n // } else if (subscription.isInactive() || subscription.isOnHold()) {\r\n // // Commented out.. there is no resumeOverlay\r\n // // this.resumeSubscription();\r\n // } else if (subscription.isActive()) {\r\n // this.pauseSubscription();\r\n // }\r\n // }.bind(this);\r\n\r\n this.currentPeriod = function () {\r\n var drawPeriods = this.drawPeriods();\r\n\r\n if (drawPeriods && drawPeriods.length > 0) {\r\n var drawPeriod = drawPeriods[0];\r\n\r\n if (drawPeriod.firstDrawDate && drawPeriod.lastDrawDate) {\r\n return drawPeriod;\r\n }\r\n }\r\n\r\n return null;\r\n }.bind(this);\r\n\r\n this.drawPeriods = function () {\r\n var subscription = this.subscription();\r\n\r\n if (subscription && subscription.drawPeriods() && subscription.drawPeriods().length > 0) {\r\n return subscription.drawPeriods();\r\n }\r\n\r\n return null;\r\n }.bind(this);\r\n\r\n this.getSubscription = function () {\r\n var self = this;\r\n\r\n return Api.getSubscription(this.subscriptionId()).then(function (response) {\r\n self.fundingPaymentMethod(response.fundingPaymentMethod);\r\n self.isJackpot((response && response.isJackpot) || false);\r\n self.template(response);\r\n\r\n var games = [];\r\n\r\n for (var i = 0; i < response.games.length; i++) {\r\n var game = response.games[i];\r\n var gameType = game.gameType.toLowerCase();\r\n\r\n game.rowCount = game.playType.toLowerCase() === 'lightning' ? game.rowsToGenerate : game.rows.length;\r\n game.totalCostPerWeek = game.costPerDraw * 100;\r\n\r\n if (gameType === 'allornothing' || gameType === 'keno') {\r\n game.totalCostPerWeek *= 7;\r\n }\r\n\r\n if (gameType === 'eurojackpot' && game.drawDays && game.drawDays[1] && game.drawDays[4]) {\r\n // If a converted Eurojackpot game has no jokers, the total price per week is price * 2.\r\n // If a converted Eurojackpot game has two jokers, each joker is put on each drawDay (Tuesday and Friday). The total price is thus still price * 2.\r\n // A converted Eurojackpot game cannot have only one joker.\r\n game.totalCostPerWeek *= 2;\r\n }\r\n\r\n if (gameType === 'lottosaturday') {\r\n game.gameType = 'saturday';\r\n }\r\n\r\n if (gameType === 'kenomillion') {\r\n game.playType = 'Million';\r\n }\r\n\r\n games.push(game);\r\n }\r\n\r\n self.games(games);\r\n });\r\n }.bind(this);\r\n\r\n this.getSubscriptionDetails = function () {\r\n var self = this;\r\n\r\n return Api.getSubscriptionDetails(this.subscriptionId()).then(function (response) {\r\n response.subscriptionState = response.state.toLowerCase();\r\n\r\n self.subscription(Subscription.new(response));\r\n });\r\n }.bind(this);\r\n\r\n this.pauseSubscription = function () {\r\n var subscription = this.subscription();\r\n\r\n if (!subscription.isInactive()) {\r\n this.pauseOverlay().show(function () {\r\n Api.pauseSubscription(subscription.id()).then(function () {\r\n window.location.reload();\r\n });\r\n });\r\n }\r\n }.bind(this);\r\n\r\n // Test scenario: Show pause overlay\r\n /// /////////////////////////////////////////////\r\n // this.pauseOverlay().show(function () {\r\n // var subscription = this.subscription();\r\n // Api.pauseSubscription(subscription.id()).then(function () {\r\n // window.location.reload();\r\n // });\r\n // }.bind(this));\r\n /// /////////////////////////////////////////////\r\n\r\n // Commented out.. there is no resumeOverlay\r\n // this.resumeSubscription = function () {\r\n // var subscription = this.subscription();\r\n // this.resumeOverlay().show(function () {\r\n // Api.resumeSubscription(subscription.id()).then(function () {\r\n // window.location.reload();\r\n // });\r\n // });\r\n // }.bind(this);\r\n\r\n this.updates = function () {\r\n var subscription = this.subscription();\r\n var updates = [];\r\n\r\n if (subscription && subscription.updates() && subscription.updates().length > 0) {\r\n updates = subscription.updates();\r\n }\r\n\r\n return updates;\r\n }.bind(this);\r\n\r\n this.reactivateSubscription = function () {\r\n var self = this;\r\n\r\n this.reactivateOverlay().show(function () {\r\n Api.reactivateSubscription(self.subscription().id()).then(function () {\r\n window.location.href = self.subscriptionReactivateLink() + '?subscriptionId=' + self.subscription().id();\r\n });\r\n });\r\n }.bind(this);\r\n\r\n // Test scenario: Show reactivate overlay\r\n /// /////////////////////////////////////////////\r\n // this.reactivateOverlay().show(function () {\r\n // Api.reactivateSubscription(this.subscription().id()).then(function () {\r\n // window.location.href = this.subscriptionReactivateLink() + '?subscriptionId=' + this.subscription().id();\r\n // }.bind(this));\r\n // }.bind(this));\r\n /// /////////////////////////////////////////////\r\n\r\n this.subscriptionTransactions = function () {\r\n window.location.href = this.subscriptionTransactionsLink() + '?subscriptionId=' + this.subscription().id();\r\n }.bind(this);\r\n\r\n this.terminateSubscription = function (e) {\r\n e.preventDefault();\r\n this.terminateOverlay().show();\r\n }.bind(this);\r\n\r\n // Test scenario: Show terminate overlay\r\n /// /////////////////////////////////////////////\r\n // this.terminateOverlay().show();\r\n /// /////////////////////////////////////////////\r\n\r\n this.totalPricePerWeekInactive = function () {\r\n var games = this.games();\r\n var totalPricePerWeek = 0;\r\n\r\n for (var i = 0; i < games.length; i++) {\r\n totalPricePerWeek += games[i].totalCostPerWeek;\r\n }\r\n\r\n return { costPerWeek: totalPricePerWeek };\r\n }.bind(this);\r\n\r\n this.updatedDrawPeriods = function () {\r\n var drawPeriods = this.drawPeriods();\r\n var matches = [];\r\n var updates = this.updates();\r\n\r\n if (drawPeriods && updates && drawPeriods.length > 0 && updates.length > 0) {\r\n updates.map(function (update) {\r\n drawPeriods.map(function (drawPeriod) {\r\n if (drawPeriod.startDate === update.updateDate) {\r\n matches.push({\r\n drawPeriod: drawPeriod,\r\n update: update\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n return matches;\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n Utils.triggerLogin();\r\n }\r\n\r\n // Context:\r\n var self = this;\r\n\r\n m.sync([this.getSubscription(), this.getSubscriptionDetails()]).then(function () {\r\n self.loading(false);\r\n\r\n m.redraw();\r\n }, function (error) {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n\r\n Utils.parseError(error, self);\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n\r\n // Test scenario: loading or error\r\n /// /////////////////////////////////////////////\r\n // loading = true;\r\n /// /////////////////////////////////////////////\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n var currentPeriod = controller.currentPeriod();\r\n var currentPeriodIsNotFunded = currentPeriod && currentPeriod.fundingState.toLowerCase() === 'notfunded';\r\n var subscription = controller.subscription();\r\n var state = subscription ? subscription.subscriptionState() : null;\r\n var updatedDrawPeriods = controller.updatedDrawPeriods();\r\n\r\n // View:\r\n if (subscription) {\r\n var isBSFunded = controller.fundingPaymentMethod().toLowerCase() === 'bs';\r\n var isInactive = subscription.isInactive() || /inactive/.test(subscription.subscriptionState().toLowerCase());\r\n var isJackpot = controller.isJackpot();\r\n var isOnHold = subscription.isOnHold();\r\n var isTerminated = subscription.isTerminated();\r\n\r\n return [\r\n m('h2', controller.d('SubscriptionNumber', { number: subscription.id() })),\r\n m('h3.subtitle', function () {\r\n var bs = subscription.bsAgreement();\r\n var created = Utils.formatISO8601(subscription.createdDate(), { includeTime: false });\r\n var type = controller.d('Type' + subscription.subscriptionType());\r\n return controller.d('SubscriptionDescription' + (bs ? 'BS' : ''), {\r\n bs: bs ? bs.id : null,\r\n created: created,\r\n type: type\r\n });\r\n }()),\r\n\r\n\r\n m('.subscription-overview-wrapper.content-size-lg.content-size-extra-top.content-size-extra-bottom', [\r\n m('.subscription-overview-item-wrapper', [\r\n\r\n // Actions bar:\r\n m('div', { class: 'subscription-item-actions-bar-wrapper' }, [\r\n m('div', { class: 'actions-bar-inner-wrapper' }, [\r\n\r\n // change payout\r\n m('span', {\r\n class: 'action-button' + (isTerminated ? ' disabled' : ''),\r\n onclick: controller.changePayout\r\n }, [\r\n m('span', { class: 'icon in' }, [\r\n m('svg', { class: 'arrow-out' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#transaction-arrow' })\r\n ]),\r\n m('svg', { class: 'arrow-in' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#transaction-arrow' })\r\n ])\r\n ]),\r\n m('span', { class: 'action-button-text' }, controller.d('ChangePayout'))\r\n ]),\r\n\r\n // change funding\r\n !isBSFunded ? m('span', {\r\n class: 'action-button' + (isTerminated ? ' disabled' : ''),\r\n onclick: controller.changeFunding\r\n }, [\r\n m('svg', { class: 'icon', style: 'transform: rotate(-45deg)' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#activate' })\r\n ]),\r\n m('span', { class: 'action-button-text' }, controller.d('ChangeFunding'))\r\n ]) : null,\r\n\r\n // view all transactions\r\n m('span', { class: 'action-button', onclick: controller.subscriptionTransactions }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#transactions' })\r\n ]),\r\n m('span', { class: 'action-button-text' }, controller.d('AllTransactions'))\r\n ])\r\n\r\n ])\r\n ]),\r\n\r\n // Current period:\r\n currentPeriod ? [\r\n\r\n // Header:\r\n m('div', { class: 'subscription-item-header' }, [\r\n m('h2', { class: 'headline' }, function () {\r\n var endDate = Utils.formatISO8601(currentPeriod.endDate, { includeTime: false });\r\n var firstDrawDate = Utils.formatISO8601(currentPeriod.firstDrawDate, { includeTime: false });\r\n var lastDrawDate = Utils.formatISO8601(currentPeriod.lastDrawDate, { includeTime: false });\r\n var startDate = Utils.formatISO8601(currentPeriod.startDate, { includeTime: false });\r\n var subscriptionState = subscription.subscriptionState();\r\n\r\n subscriptionState = subscriptionState.slice(0, 1).toUpperCase() + subscriptionState.slice(1);\r\n\r\n // Applies until:\r\n if (updatedDrawPeriods.length > 0) {\r\n return controller.d('AppliesUntil', { date: endDate });\r\n }\r\n\r\n return controller.d('SubscriptionState' + subscriptionState, {\r\n endDate: endDate,\r\n firstDrawDate: firstDrawDate,\r\n lastDrawDate: lastDrawDate,\r\n startDate: startDate\r\n });\r\n }()),\r\n m('h3', { class: 'subheadline' }, controller.d((currentPeriodIsNotFunded || isJackpot ? 'Funding' : 'Funded') + 'With' + currentPeriod.fundingPaymentMethod))\r\n ]),\r\n\r\n // Games:\r\n m('div', { class: 'subscription-item-games-list' }, [\r\n currentPeriod.drawGames.map(function (game) {\r\n return ListItem(controller, game);\r\n }),\r\n\r\n // Total price per week:\r\n TotalPricePerWeek(controller, currentPeriod)\r\n ])\r\n ] : null,\r\n\r\n // Updated draw periods:\r\n updatedDrawPeriods.map(function (drawPeriodUpdate) {\r\n var drawPeriod = drawPeriodUpdate.drawPeriod;\r\n\r\n return [\r\n m('hr', { class: 'subscription-invalid-item-separator' }),\r\n m('div', { class: 'subscription-invalid-item-wrapper' }, [\r\n m('div', { class: 'subscription-item-header' }, [\r\n m('h2', { class: 'headline' }, controller.d('AppliesAfter', { date: Utils.formatISO8601(drawPeriod.startDate, { includeTime: false }) })),\r\n m('h3', { class: 'subheadline' }, controller.d('FundingWith' + drawPeriod.fundingPaymentMethod))\r\n ]),\r\n\r\n m('div', { class: 'subscription-item-games-list' }, [\r\n drawPeriod.drawGames.map(function (game) {\r\n return ListItem(controller, game);\r\n }),\r\n\r\n // Total price per week:\r\n TotalPricePerWeek(controller, drawPeriod)\r\n ])\r\n ])\r\n ];\r\n }),\r\n\r\n // On hold, no draw periods and no updates:\r\n (isOnHold || isInactive || isTerminated) && !currentPeriod && updatedDrawPeriods.length === 0 ? [\r\n\r\n // Header:\r\n m('div', { class: 'subscription-item-header' }, [\r\n m('h2', { class: 'headline' }, controller.d('Subscription' + (isInactive ? 'Inactive' : '') + (isOnHold ? 'OnHoldNoDrawPeriodsOrUpdates' : '') + (isTerminated ? 'Terminated' : '')))\r\n ]),\r\n\r\n // Games:\r\n m('div', { class: 'subscription-item-games-list' }, [\r\n controller.games().map(function (game) {\r\n return ListItem(controller, game);\r\n }),\r\n\r\n // Total price per week:\r\n TotalPricePerWeek(controller, controller.totalPricePerWeekInactive())\r\n ])\r\n\r\n ] : null,\r\n\r\n // Expected start date:\r\n state.toLowerCase() === 'inactivecreated' ? [\r\n m('p', { class: 'subscription-item-description' }, controller.d('ExpectedStartDate', { date: Utils.formatISO8601(subscription.nextActivePeriodStart(), { includeTime: false }) }))\r\n ] : null\r\n\r\n ])\r\n ]),\r\n\r\n\r\n m('p', [\r\n isTerminated ? [\r\n controller.d('CancelledSubscriptionText'),\r\n m('span', {\r\n class: 'cancel-subscription',\r\n onclick: controller.reactivateSubscription\r\n }, controller.d('ReactivateSubscriptionLink')),\r\n controller.d('CancelledSubscriptionDot')\r\n ] : [\r\n controller.d('CancelSubscriptionText'),\r\n m('a', {\r\n onclick: controller.terminateSubscription\r\n }, controller.d('CancelSubscriptionLink')),\r\n controller.d('CancelSubscriptionDot')\r\n ]\r\n ]),\r\n\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n\r\n ];\r\n }\r\n\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/SubscriptionTerminated',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (CrossWindowEvents, Component, Params, Api, Dictionary, Subscription, Loader, ProceedBar) {\r\n\r\n // Component:\r\n Component('subscription-terminated', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n\r\n // Variables:\r\n this.d = Dictionary.get.bind({ prefix: 'SubscriptionTerminated/' });\r\n this.error = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(false);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.proceedLink = m.prop(settings.proceedLink || false);\r\n this.property = property;\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n\r\n // Functions:\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n window.location.href = this.proceedLink();\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n // Context:\r\n var self = this;\r\n\r\n Api.getSubscriptionDetails(this.subscriptionId()).then(function (response) {\r\n self.loading(false);\r\n\r\n self.subscription(Subscription.new(response));\r\n\r\n m.redraw();\r\n }, function () {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var subscription = controller.subscription();\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('.loader-wrapper', Loader(controller));\r\n }\r\n\r\n // View:\r\n if (subscription) {\r\n return [\r\n // Headers\r\n m('h2', controller.d('Title')),\r\n m('h3.subtitle', controller.d('Subtitle')),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n ];\r\n }\r\n\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/SubscriptionTransactions',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Loader',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (CrossWindowEvents, Component, Params, Api, Dictionary, Subscription, Loader, ProceedBar) {\r\n\r\n // Component:\r\n Component('subscription-transactions', function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n\r\n controller: function () {\r\n\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink || false);\r\n this.d = Dictionary.get.bind({ prefix: 'SubscriptionTransactions/' });\r\n this.error = m.prop(false);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.loading = m.prop(false);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.property = property;\r\n this.subscription = m.prop();\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.transactions = m.prop([]);\r\n\r\n // Functions:\r\n this.back = function () {\r\n var backLink = this.backLink();\r\n\r\n if (!backLink || backLink === 'back') {\r\n window.history.back();\r\n } else {\r\n window.location.href = backLink + '?subscriptionId=' + this.subscriptionId();\r\n }\r\n }.bind(this);\r\n\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n // Context:\r\n var self = this;\r\n\r\n Api.getSubscriptionTransactions(this.subscriptionId()).then(function (response) {\r\n\r\n // TODO: remove this when done - this is just for testing!\r\n\r\n if (!response || response.length === 0) {\r\n var statusTypes = ['ACCEPTED', 'REJECTED', 'PENDING', 'PROCESSING', 'CANCELLED', 'ABANDONED', 'CORRECTED'];\r\n var transactions = [];\r\n var types = ['deposit', 'withdrawal', 'wager', 'adjustment', 'win', 'credit', 'debit'];\r\n\r\n statusTypes.map(function (status, index) {\r\n transactions.push({\r\n amount: index * 100,\r\n createdAt: new Date().toISOString(),\r\n paymentMethodId: Math.round(Math.random() * (index === 0 ? 1 : index) * 1000),\r\n transactionId: Math.round(Math.random() * (index === 0 ? 1 : index) * 1000),\r\n status: status,\r\n balance: index * 60,\r\n ledger: self.subscriptionId(),\r\n type: types[index]\r\n });\r\n });\r\n\r\n self.transactions(transactions);\r\n }\r\n\r\n console.warn('TRANSACTIONS', self.transactions());\r\n });\r\n\r\n Api.getSubscriptionDetails(this.subscriptionId()).then(function (response) {\r\n self.loading(false);\r\n\r\n self.subscription(Subscription.new(response));\r\n\r\n m.redraw();\r\n }, function () {\r\n self.error(true);\r\n self.loading(false);\r\n\r\n m.redraw();\r\n });\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var error = controller.error();\r\n var loading = controller.loading();\r\n var subscription = controller.subscription();\r\n var transactions = controller.transactions();\r\n var amount = transactions.length;\r\n\r\n // Loading or error:\r\n if (loading || error) {\r\n return m('div', { class: 'subscriptions-transactions-wrapper' }, [\r\n Loader(controller)\r\n ]);\r\n }\r\n\r\n // View:\r\n if (!loading && subscription) {\r\n return m('div', { class: 'subscriptions-transactions-wrapper js-proceed-bar-container' }, [\r\n m('section', { class: 'subscriptions-headline-spot' }, [\r\n m('h2', { class: 'subscriptions-headline-title' }, controller.d('Title')),\r\n m('h3', { class: 'subscriptions-headline-description' }, controller.d('Subtitle'))\r\n ]),\r\n\r\n m('div', { class: 'subscription-overview-wrapper proceed-bar-top' }, [\r\n m('div', { class: 'subscription-overview-item-wrapper' }, [\r\n m('div', { class: 'subscription-item-header' }, [\r\n m('h2', { class: 'headline' }, controller.d('SubscriptionNo', { id: subscription.id() })),\r\n m('h3', { class: 'subheadline' }, controller.d('Transaction' + (amount !== 1 ? 's' : ''), { amount: amount }))\r\n ]),\r\n m('div', { class: 'subscription-item-games-list' }, [\r\n m('div', { class: 'item' }, [\r\n m('span', { class: 'description-cell' }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#withdrawal_icon' })\r\n ]),\r\n m('span', { class: 'title' }, '2017-11-16'),\r\n m('span', { class: 'description' }, 'subtitle'),\r\n ]),\r\n m('span', { class: 'price-cell' }, [\r\n '60 kr.',\r\n m('span', { class: 'balance' }, '100 kr.')\r\n ]),\r\n ]),\r\n m('div', { class: 'item' }, [\r\n m('span', { class: 'description-cell' }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#deposit_icon' })\r\n ]),\r\n m('span', { class: 'title' }, '2017-11-16'),\r\n m('span', { class: 'description' }, 'subtitle'),\r\n ]),\r\n m('span', { class: 'price-cell' }, [\r\n '60 kr.',\r\n m('span', { class: 'balance' }, '100 kr.')\r\n ]),\r\n ]),\r\n m('div', { class: 'item' }, [\r\n m('span', { class: 'description-cell' }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#deposit_icon' })\r\n ]),\r\n m('span', { class: 'title' }, '2017-11-16'),\r\n m('span', { class: 'description' }, 'subtitle'),\r\n ]),\r\n m('span', { class: 'price-cell' }, [\r\n '60 kr.',\r\n m('span', { class: 'balance' }, '100 kr.')\r\n ]),\r\n ]),\r\n m('div', { class: 'item' }, [\r\n m('span', { class: 'description-cell' }, [\r\n m('svg', { class: 'icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Management.svg#deposit_icon' })\r\n ]),\r\n m('span', { class: 'title' }, '2017-11-16'),\r\n m('span', { class: 'description' }, 'subtitle'),\r\n ]),\r\n m('span', { class: 'price-cell' }, [\r\n '60 kr.',\r\n m('span', { class: 'balance' }, '100 kr.')\r\n ]),\r\n ]),\r\n m('div', { class: 'subscription-item-games-list-overflow-arrow' }, [\r\n m('svg', { class: 'arrow-icon' }, [\r\n m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/UiKit.svg#arrow_down' })\r\n ])\r\n ])\r\n ])\r\n ])\r\n ]),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n\r\n ]);\r\n }\r\n\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/SubscriptionsNotAvailable',\r\n [\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/ProceedBar'\r\n ],\r\n function (CrossWindowEvents, Component, Params, Dictionary, Utils, ProceedBar) {\r\n\r\n // Component:\r\n Component('subscriptions-not-available', [Dictionary], function (m, route, settings, property) {\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n\r\n // Variables:\r\n this.backLink = m.prop(settings.backLink || false);\r\n this.d = Dictionary.get.bind({ prefix: 'SubscriptionsNotAvailable/' });\r\n this.isLoggedIn = m.prop(settings.isLoggedIn || false);\r\n this.logoutLink = m.prop(settings.logoutLink || false);\r\n this.property = property;\r\n this.verticalType = m.prop(Params.detect('plus') ? 'plus' : 'jackpot');\r\n\r\n // Functions:\r\n this.back = function () {\r\n var backLink = this.backLink();\r\n\r\n if (!backLink || backLink === 'back') {\r\n window.history.back();\r\n } else {\r\n window.location.href = backLink + '?' + this.verticalType();\r\n }\r\n }.bind(this);\r\n\r\n this.logout = function () {\r\n var logoutLink = this.logoutLink();\r\n\r\n if (logoutLink) {\r\n window.location.href = logoutLink;\r\n }\r\n }.bind(this);\r\n\r\n // Login check:\r\n if (!this.isLoggedIn()) {\r\n this.logout();\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n this.logout();\r\n }.bind(this));\r\n\r\n },\r\n\r\n view: function (controller) {\r\n var verticalType = Utils.capitalize(controller.verticalType());\r\n\r\n return [\r\n // Headers\r\n m('h2', controller.d(verticalType + 'Title')),\r\n m('h3.subtitle', controller.d(verticalType + 'Subtitle')),\r\n\r\n // Proceed bar:\r\n ProceedBar(controller)\r\n ];\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/TopSpot',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController'\r\n ],\r\n function (Component, GameController) {\r\n\r\n // Component:\r\n Component('topspot', 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.ctaAnchor = m.prop(settings.ctaAnchor);\r\n this.ctaText = m.prop(settings.ctaText);\r\n this.ctaURL = m.prop(settings.ctaUrl);\r\n this.description = m.prop(settings.description);\r\n this.subtitle = m.prop(settings.subtitle);\r\n this.title = m.prop(settings.title);\r\n this.bgimage = m.prop(settings.bgimage);\r\n this.mobilebgimage = m.prop(settings.mobilebgimage);\r\n\r\n // Functions:\r\n this.ctaAction = function () {\r\n var anchor = this.ctaAnchor();\r\n var url = this.ctaURL();\r\n\r\n if (anchor) {\r\n GameController.showMore(true);\r\n } else if (url) {\r\n window.location.href = url;\r\n }\r\n }.bind(this);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n return m('section', { class: 'subscriptions-topspot' }, [\r\n m('picture', { class: 'subscriptions-topspot-image-wrapper' }, [\r\n m('source', { class: 'subscriptions-topspot-image', media: '(max-width: 768px) and (orientation: portrait)', srcset: controller.mobilebgimage() }),\r\n m('source', { class: 'subscriptions-topspot-image', media: '(min-width: 768px)(orientation: landscape)', srcset: controller.mobilebgimage() }),\r\n m('img', { class: 'subscriptions-topspot-image', alt: 'alt text', src: controller.bgimage() })\r\n ]),\r\n m('div', { class: 'subscriptions-topspot-content-wrapper' }, [\r\n controller.title() ? m('h1', { class: 'subscriptions-topspot-headline' }, controller.title()) : null,\r\n controller.subtitle() ? m('h2', { class: 'subscriptions-topspot-subheadline' }, controller.subtitle()) : null,\r\n controller.ctaText() ? m('a', { class: 'subscriptions-topspot-button', onclick: controller.ctaAction }, controller.ctaText()) : null\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/AddNewSubscriptionGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ChooseGames',\r\n ],\r\n function (m, Dictionary, Header, ChooseGames) {\r\n\r\n var AddNewSubscriptionGame = {\r\n controller: function (settings) {\r\n this.title = m.prop(settings.title);\r\n this.subtitle = m.prop(settings.subtitle);\r\n this.allOrNothingLink = m.prop(settings.allOrNothingLink);\r\n this.eurojackpotLink = m.prop(settings.eurojackpotLink);\r\n this.kenoLink = m.prop(settings.kenoLink);\r\n this.lottoLink = m.prop(settings.lottoLink);\r\n this.vikinglottoLink = m.prop(settings.vikinglottoLink);\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/AddNewSubscriptionGame/' });\r\n this.hideHeader = true;\r\n\r\n this.goToRoute = function (region) {\r\n if (region === 'allornothing' && this.allOrNothingLink()) window.location.href = this.allOrNothingLink();\r\n if (region === 'eurojackpot' && this.eurojackpotLink()) window.location.href = this.eurojackpotLink();\r\n if (region === 'keno' && this.kenoLink()) window.location.href = this.kenoLink();\r\n if (region === 'lotto' && this.lottoLink()) window.location.href = this.lottoLink();\r\n if (region === 'vikinglotto' && this.vikinglottoLink()) window.location.href = this.vikinglottoLink();\r\n }.bind(this);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n\r\n return m('.plus-page__component.plus-page__component--large.plus-add-new-subscription-game', [\r\n Header({\r\n title: ctrl.title(),\r\n subtitle: ctrl.subtitle(),\r\n }),\r\n\r\n m(ChooseGames, { controller: ctrl })\r\n ]);\r\n\r\n }\r\n };\r\n\r\n return AddNewSubscriptionGame;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/ModifyGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, SubscriptionModel, GoTo, ErrorMessage, GameCard, Header, Modal) {\r\n\r\n Component('plus-modify-game', [Dictionary, Info], function (m, route, settings, property) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.property = property;\r\n this.modal = m.prop();\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n this.model = new SubscriptionModel(settings, this.modal);\r\n this.state = new State('loading');\r\n this.gameId = m.prop(Params.extract('gameId'));\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.logoutLink = m.prop(settings.logoutLink);\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.storedCards = m.prop(settings.storedCards);\r\n this.gameSettings = settings.gameSettings;\r\n this.editGameChangeDate = m.prop();\r\n this.pricePerWeekFormatted = m.prop();\r\n this.game = m.prop();\r\n this.subscription = m.prop();\r\n this.convertEurojackpotGame = m.prop();\r\n this.hasBeenConverted = m.prop();\r\n this.gaEventAction = m.prop();\r\n this.gaEventLabel = m.prop();\r\n\r\n this.goTo = new GoTo({\r\n overview: { link: settings.topNavLinkUrl, gaEvent: ['mit_plus', 'click', 'go to overview'] },\r\n modifyGameReceipt: { link: settings.modifyGameReceiptLinkUrl, gaEvent: ['mit_plus', this.gaEventAction, this.gaEventLabel] },\r\n subscriptionId: this.subscriptionId(),\r\n });\r\n\r\n this.modifySubscription = function () {\r\n this.state.add('loading');\r\n var modifiedGame = this.game().modified.game();\r\n\r\n // Tracking.\r\n var gaEventAction = 'rediger_abonnement_' + Info.getGameType(modifiedGame) + '_' + Info.getPlayType(modifiedGame);\r\n this.gaEventAction(gaEventAction);\r\n var changes = [];\r\n var changedDiff = this.game().modified.changedDiff();\r\n if (changedDiff.systemHasChanged) changes.push('system_ændret');\r\n if (changedDiff.rowNumbersHasChanged) changes.push('nye_tal');\r\n if (changedDiff.rowsHasIncreased) changes.push('rækker_op');\r\n if (changedDiff.rowsHasDecreased) changes.push('rækker_ned');\r\n if (changedDiff.jokerSaturdayWasAdded) changes.push('joker_lørdag_tilføjet');\r\n if (changedDiff.jokerSaturdayWasRemoved) changes.push('joker_lørdag_fjernet');\r\n if (changedDiff.jokerWednesdayWasAdded) changes.push('joker_onsdag_tilføjet');\r\n if (changedDiff.jokerWednesdayWasRemoved) changes.push('joker_onsdag_fjernet');\r\n this.gaEventLabel(changes.join(','));\r\n\r\n this.model.modifyGame(this.subscriptionId(), modifiedGame).then(function () {\r\n this.goTo.modifyGameReceipt(modifiedGame.id);\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.showModalConfirmModifySubscription = function () {\r\n this.modal({\r\n title: this.d('ModifyGame/ModalConfirmModifySubscriptionTitle'),\r\n text: this.d('ModifyGame/ModalConfirmModifySubscriptionText', { date: this.editGameChangeDate() }),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'Confirm',\r\n cta: function () {\r\n this.modifySubscription();\r\n this.modal(null);\r\n }.bind(this),\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n }.bind(this);\r\n\r\n this.ifLoggedIn = function () {\r\n this.state.remove('notLoggedIn');\r\n this.state.add('loading');\r\n\r\n if (!this.gameId()) {\r\n this.state.remove('loading');\r\n this.state.add('errorNoGameId');\r\n return;\r\n }\r\n\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n if (res.isArchived()) {\r\n this.state.add('errorGameHasBeenTerminatedAndCannotBeModified');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n var game = res.getTemplateGame(this.gameId());\r\n if (!game) {\r\n this.state.add('errorGameHasNoFutureUnfundedDrawPeriod');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n var gameType = Info.getGameType(game);\r\n if (gameType === 'eurojackpot' && game.canBeConverted && !this.hasBeenConverted()) {\r\n\r\n // Game has not been converted, and therefore should be.\r\n // If the game has only one joker, we remove it.\r\n // We mark the game as if it has already been converted, to display the future game details to the user,\r\n // as how the game will look like once the conversion is done.\r\n var setProperties = {\r\n hasBeenConverted: true,\r\n drawDays: [false, true, false, false, true, false, false],\r\n };\r\n\r\n // A converted Eurojackpot game cannot have only one joker.\r\n // If there's only one joker selected, remove them both.\r\n if (!game.withJokerSaturday || !game.withJokerWednesday) {\r\n setProperties.withJokerSaturday = false;\r\n setProperties.withJokerWednesday = false;\r\n }\r\n\r\n // Get the \"fake\" game details.\r\n game = res.getTemplateGame(this.gameId(), setProperties);\r\n this.convertEurojackpotGame(true);\r\n }\r\n\r\n this.hasBeenConverted(Info.hasEurojackpotGameBeenConverted(game));\r\n this.game(game);\r\n this.subscription(res);\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner.plus-spinner--subscription');\r\n if (error) return error;\r\n\r\n var subscription = ctrl.subscription();\r\n\r\n return [\r\n\r\n subscription ? m('.plus-page__component.plus-page__component--medium', [\r\n\r\n ctrl.convertEurojackpotGame()\r\n ? (function () {\r\n var subtitle = ctrl.d('ModifyGame/ConvertEurojackpotGame/HeaderSubTitle');\r\n\r\n if (subscription.isJackpot()) {\r\n // Games on Jackpot subscriptions behave differently than normal BS or Card subscription games,\r\n // in that a modification of the game is effective from next draw, not the next pay cycle.\r\n // However, if the date of modification is earlier than when SG have implemented the new Eurojackpot\r\n // version 2, we need to inform the customer that a modification of number of rows will be\r\n // effective from next draw, but the extra Tuesday draw is not effective until after 25/3-2022.\r\n var now = Info.getServerTime();\r\n var eurojackpotConversionDate = new Date('2022-03-25');\r\n\r\n if (now.getTime() < eurojackpotConversionDate.getTime()) {\r\n subtitle = ctrl.d('ModifyGame/ConvertEurojackpotGame/HeaderSubTitleJackpotBeforeConversionDate');\r\n }\r\n }\r\n\r\n return Header({\r\n title: ctrl.d('ModifyGame/ConvertEurojackpotGame/HeaderTitle'),\r\n subtitle: subtitle\r\n });\r\n\r\n })()\r\n : Header({\r\n title: ctrl.d('ModifyGame/HeaderTitle'),\r\n subtitle: ctrl.d('ModifyGame/HeaderSubTitle')\r\n }),\r\n\r\n m('.game-cards', GameCard({\r\n game: ctrl.game(),\r\n editGame: true,\r\n editGameChangeDate: ctrl.editGameChangeDate,\r\n pricePerWeekFormatted: ctrl.pricePerWeekFormatted,\r\n gameSettings: ctrl.gameSettings,\r\n subscription: subscription,\r\n modal: ctrl.modal,\r\n d: ctrl.d,\r\n })),\r\n\r\n ctrl.editGameChangeDate() ? m('.plus-header__small-print', { 'data-uitest-id': 'gameChangeDate', }, ctrl.d('ModifyGame/ChangesWillBeValidFrom', { date: ctrl.editGameChangeDate() })) : '',\r\n\r\n m('.plus-buttons .plus-buttons--align-center',\r\n ctrl.convertEurojackpotGame()\r\n ? [\r\n m('.plus-button.plus-button--secondary', {\r\n 'data-uitest-id': 'modifyGameCancel',\r\n onclick: ctrl.goTo.overview\r\n }, ctrl.d('ButtonLabels/ModifyGameCancel')),\r\n m('.plus-button', {\r\n 'data-uitest-id': 'modifyGameProceed',\r\n onclick: ctrl.showModalConfirmModifySubscription\r\n }, m.trust(ctrl.d('ButtonLabels/ConvertEurojackpotGameProceed', { pricePerWeek: ctrl.pricePerWeekFormatted() }))),\r\n ]\r\n : [\r\n m('.plus-button.plus-button--secondary', {\r\n 'data-uitest-id': 'modifyGameCancel',\r\n onclick: ctrl.goTo.overview\r\n }, ctrl.d('ButtonLabels/ModifyGameCancel')),\r\n m('.plus-button', {\r\n 'data-uitest-id': 'modifyGameProceed',\r\n class: ctrl.game().modified.hasChanged() ? '' : 'plus-button--disabled',\r\n onclick: ctrl.showModalConfirmModifySubscription\r\n }, ctrl.d('ButtonLabels/ModifyGameProceed')),\r\n ]),\r\n\r\n ]) : '',\r\n\r\n Modal(ctrl.modal()),\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/ModifyGameReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, Utils, SubscriptionModel, GoTo, GameCard, ErrorMessage, Header) {\r\n\r\n Component('plus-modify-game-receipt', [Dictionary, Info], function (m, route, settings, property) {\r\n var root = {\r\n controller: function () {\r\n this.property = property;\r\n this.model = new SubscriptionModel();\r\n this.state = new State('loading');\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.templateGameId = m.prop(Params.extract('gameId'));\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.subscription = m.prop();\r\n this.loggedInOrOut = LoggedInOrOut;\r\n this.firstDrawDate = m.prop();\r\n this.goTo = new GoTo({ overview: settings.backLink });\r\n this.game = m.prop();\r\n\r\n this.isLoggedIn = function () {\r\n this.state.add('loading');\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n var templateGame = res.getTemplateGame(this.templateGameId());\r\n var firstDrawDate;\r\n var lastInstanceGame = res.getLastInstanceGame(this.templateGameId());\r\n if (lastInstanceGame) {\r\n firstDrawDate = Info.getFirstDrawingTimeAfterDate(lastInstanceGame, lastInstanceGame.lastDrawDate);\r\n firstDrawDate = Utils.getDayDateAndMonth(firstDrawDate);\r\n this.firstDrawDate(firstDrawDate);\r\n } else {\r\n var gapFundingInstance = res.gapFundingInstance();\r\n var date;\r\n if (gapFundingInstance) {\r\n date = Info.getFirstDrawingTimeAfterDate(templateGame, gapFundingInstance.endDate);\r\n }\r\n if (!date) date = res.effectiveDate();\r\n firstDrawDate = Info.getFirstDrawingTimeOnOrAfterDate(templateGame, date);\r\n firstDrawDate = Utils.getDayDateAndMonth(firstDrawDate);\r\n this.firstDrawDate(firstDrawDate);\r\n }\r\n this.game(templateGame);\r\n this.subscription(res);\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner');\r\n if (error) return error;\r\n\r\n return [\r\n\r\n m('.plus-page__component.plus-page__component--medium', [\r\n\r\n Header({\r\n h1: ctrl.d('ModifyGameReceipt/HeaderTitle'),\r\n subtitle: ctrl.firstDrawDate()\r\n ? m.trust(ctrl.d('ModifyGameReceipt/HeaderSubTitleFirstDrawDate', { date: ctrl.firstDrawDate() }))\r\n : m.trust(ctrl.d('ModifyGameReceipt/HeaderSubTitleNoDate')),\r\n }),\r\n\r\n GameCard({\r\n game: ctrl.game(),\r\n showTemplateEffectiveDate: true,\r\n subscription: ctrl.subscription(),\r\n d: ctrl.d,\r\n header: {\r\n title: m.trust(ctrl.d('ModifyGameReceipt/CardHeaderTitle')),\r\n },\r\n }),\r\n\r\n m('.plus-buttons',\r\n m('.plus-button', {\r\n onclick: ctrl.goTo.overview\r\n }, ctrl.d('ButtonLabels/GoToOverview'))\r\n ),\r\n ]),\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/TerminateSubscription',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/ModifiableGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, GoTo, SubscriptionModel, ModifiableGames, ErrorMessage, GameCard, Header, Modal) {\r\n\r\n Component('plus-terminate-subscription', [Dictionary, Info], function (m, route, settings, property) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.property = property;\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n this.model = new SubscriptionModel();\r\n this.modifiableGames = new ModifiableGames();\r\n this.state = new State('loading');\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.loggedInOrOut = LoggedInOrOut;\r\n this.modal = m.prop();\r\n this.subscription = m.prop();\r\n this.terminateGameId = m.prop();\r\n this.terminatedGameNames = m.prop();\r\n\r\n this.goTo = new GoTo({\r\n terminateGameReceipt: { link: settings.terminateGameReceiptLink, gaEvent: ['mit_plus', 'opsig_spil', this.terminatedGameNames] },\r\n terminateSubscriptionReceipt: { link: settings.terminateSubscriptionReceiptLink, gaEvent: ['mit_plus', 'opsig_abonnement', this.terminatedGameNames] },\r\n subscriptionId: this.subscriptionId(),\r\n });\r\n\r\n this.modalContentTerminateGame = function () {\r\n return {\r\n text: this.d('TerminateSubscription/ModalConfirmTerminateGameTitle'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'Confirm',\r\n cta: this.terminateGame,\r\n }\r\n ],\r\n modal: this.modal,\r\n };\r\n }.bind(this);\r\n\r\n this.modalContentTerminateSubscription = function () {\r\n return {\r\n text: this.d('TerminateSubscription/ModalConfirmTerminateSubscriptionTitle'),\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'Confirm',\r\n cta: this.terminateSubscription,\r\n }\r\n ],\r\n modal: this.modal,\r\n };\r\n }.bind(this);\r\n\r\n this.terminateGame = function () {\r\n this.state.add('loading');\r\n var templateGameId = this.subscription().getTemplateGame(this.terminateGameId()).id;\r\n\r\n // Get names of game, for tracking purposes.\r\n var terminatedGame = this.subscription().getTemplateGame(this.terminateGameId());\r\n terminatedGame = Info.getGameType(terminatedGame) + '_' + Info.getPlayType(terminatedGame);\r\n this.terminatedGameNames(terminatedGame);\r\n\r\n // Terminate game!\r\n this.model.terminateGame(this.subscriptionId(), templateGameId).then(function () {\r\n this.goTo.terminateGameReceipt(this.terminateGameId());\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.terminateSubscription = function () {\r\n if (!this.modifiableGames.sitecoreAllowsSubscriptionTermination()) {\r\n this.modal({\r\n text: this.d('TerminateSubscription/ModalTerminationOfSubscriptionIsDisabledText'),\r\n buttons: [{ dButtonLabel: 'Ok' }],\r\n modal: this.modal,\r\n });\r\n return;\r\n }\r\n this.state.add('loading');\r\n\r\n // Get names of all games, for tracking purposes.\r\n var terminatedGameNames = this.subscription().games().map(function (terminatedGame) {\r\n return Info.getGameType(terminatedGame) + '_' + Info.getPlayType(terminatedGame);\r\n }).join(',');\r\n this.terminatedGameNames(terminatedGameNames);\r\n\r\n // Terminate subscription!\r\n this.model.terminateSubscription(this.subscriptionId()).then(function () {\r\n this.goTo.terminateSubscriptionReceipt();\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.terminateGameOrSubscription = function (gameId) {\r\n this.terminateGameId(gameId);\r\n if (!this.subscription().games() || this.subscription().games().length === 0) return;\r\n var nonDeletedallGamesInSubscription = this.subscription().games().filter(function (game) {\r\n return !(game.gameChangedReason && game.gameChangedReason === 'deleted');\r\n });\r\n if (nonDeletedallGamesInSubscription.length === 1 || !gameId) {\r\n this.modal(this.modalContentTerminateSubscription());\r\n } else {\r\n this.modal(this.modalContentTerminateGame());\r\n }\r\n }.bind(this);\r\n\r\n this.ifLoggedIn = function () {\r\n this.state.remove('notLoggedIn');\r\n this.state.add('loading');\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n this.subscription(res);\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner.plus-spinner--subscription');\r\n if (error) return error;\r\n\r\n var subscription = ctrl.subscription();\r\n\r\n if (!subscription) return ErrorMessage('errorLoadingSubscriptionData');\r\n\r\n var games = subscription.games();\r\n if (!games || games.length === 0) return ErrorMessage('errorNoGameDetails');\r\n\r\n return [\r\n\r\n m('.plus-page__component.plus-page__component--large', [\r\n\r\n (function () {\r\n if (subscription.canTerminateSubscription()) {\r\n if (!ctrl.modifiableGames.sitecoreAllowsSubscriptionTermination()) {\r\n return Header({\r\n title: ctrl.d('TerminateSubscription/HeaderTitleSubscriptionTerminationIsDisabled'),\r\n subtitle: ctrl.d('TerminateSubscription/HeaderSubTitleSubscriptionTerminationIsDisabled')\r\n });\r\n } else {\r\n return Header({\r\n title: ctrl.d('TerminateSubscription/HeaderTitle'),\r\n subtitle: ctrl.d('TerminateSubscription/HeaderSubTitle')\r\n });\r\n }\r\n } else {\r\n if (subscription.isArchivedNotTerminated()) {\r\n return Header({\r\n title: ctrl.d('TerminateSubscription/HeaderTitleSubscriptionIsActiveTerminated'),\r\n subtitle: ctrl.d('TerminateSubscription/HeaderSubTitleSubscriptionIsActiveTerminated')\r\n });\r\n } else {\r\n return Header({\r\n title: ctrl.d('TerminateSubscription/HeaderTitleSubscriptionIsTerminated'),\r\n subtitle: ctrl.d('TerminateSubscription/HeaderSubTitleSubscriptionIsTerminated')\r\n });\r\n }\r\n }\r\n })(),\r\n\r\n m('.game-cards', { 'data-uitest-id': 'GameCards' }, games.map(function (game) {\r\n return GameCard({\r\n game: game,\r\n shouldShowTerminateOption: true,\r\n terminateGameFn: ctrl.terminateGameOrSubscription,\r\n subscription: subscription,\r\n modifiableGames: ctrl.modifiableGames,\r\n d: ctrl.d,\r\n });\r\n })),\r\n\r\n subscription.canTerminateSubscription() && ctrl.modifiableGames.sitecoreAllowsSubscriptionTermination() ? m('.plus-buttons',\r\n m('.plus-button.plus-button--secondary', {\r\n 'data-uitest-id': 'ctaTerminateSubscription',\r\n onclick: ctrl.modal.bind(null, ctrl.modalContentTerminateSubscription())\r\n }, ctrl.d('ButtonLabels/TerminateSubscription'))\r\n ) : '',\r\n ]),\r\n\r\n Modal(ctrl.modal()),\r\n\r\n ];\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/TerminateGameReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, Utils, GoTo, SubscriptionModel, ErrorMessage, Header) {\r\n\r\n Component('plus-terminate-game-receipt', [Dictionary, Info], function (m, route, settings, property) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.property = property;\r\n this.model = new SubscriptionModel();\r\n this.state = new State('loading');\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/TerminateGameReceipt/' });\r\n this.dButtonLabels = Dictionary.get.bind({ prefix: 'Plus/ButtonLabels/' });\r\n this.gameId = m.prop(Params.extract('gameId'));\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.logoutLink = m.prop(settings.logoutLink);\r\n this.subscription = m.prop();\r\n this.loggedInOrOut = LoggedInOrOut;\r\n this.subscriptionBeginsOn = m.prop();\r\n this.gameLastdrawDateOn = m.prop();\r\n this.goTo = new GoTo({ overview: settings.backLink });\r\n\r\n this.isLoggedIn = function () {\r\n this.state.add('loading');\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n var lastDrawDate = res.getLastDrawDateInstanceGame(this.gameId());\r\n if (lastDrawDate) {\r\n lastDrawDate = Utils.formatISO8601(lastDrawDate, { includeTime: false });\r\n this.gameLastdrawDateOn(lastDrawDate);\r\n } else {\r\n var subscriptionBeginsOn = Utils.formatISO8601(res.sgTemplate().effectiveDate, { includeTime: false });\r\n this.subscriptionBeginsOn(subscriptionBeginsOn);\r\n }\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner');\r\n if (error) return error;\r\n\r\n return [\r\n\r\n m('.plus-page__component.plus-page__component--large', [\r\n\r\n Header({\r\n title: ctrl.d('HeaderTitle'),\r\n subtitle: ctrl.gameLastdrawDateOn()\r\n ? m.trust(ctrl.d('HeaderSubTitle', { date: ctrl.gameLastdrawDateOn() }))\r\n : m.trust(ctrl.d('HeaderSubTitleNoDate', { date: ctrl.subscriptionBeginsOn() }))\r\n\r\n }),\r\n\r\n m('.plus-buttons',\r\n m('.plus-button', {\r\n onclick: ctrl.goTo.overview\r\n }, ctrl.dButtonLabels('GoToOverview'))\r\n ),\r\n ]),\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/TerminateSubscriptionReceipt',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, Utils, GoTo, SubscriptionModel, ErrorMessage, Header) {\r\n\r\n Component('plus-terminate-subscription-receipt', [Dictionary, Info], function (m, route, settings, property) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.property = property;\r\n this.model = new SubscriptionModel();\r\n this.state = new State('loading');\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/TerminateSubscriptionReceipt/' });\r\n this.dButtonLabels = Dictionary.get.bind({ prefix: 'Plus/ButtonLabels/' });\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.logoutLink = m.prop(settings.logoutLink);\r\n this.subscription = m.prop();\r\n this.loggedInOrOut = LoggedInOrOut;\r\n this.lastDrawDateTerminatedSubscription = m.prop();\r\n this.goTo = new GoTo({ overview: settings.backLink });\r\n\r\n this.isLoggedIn = function () {\r\n this.state.add('loading');\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n this.lastDrawDateTerminatedSubscription(Utils.formatISO8601(res.lastDrawDateTerminatedSubscription(), { includeTime: false }));\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner');\r\n if (error) return error;\r\n\r\n return [\r\n\r\n m('.plus-page__component.plus-page__component--large', [\r\n\r\n Header({\r\n title: ctrl.d('HeaderTitle'),\r\n subtitle: ctrl.lastDrawDateTerminatedSubscription()\r\n ? m.trust(ctrl.d('HeaderSubTitle', { dato: ctrl.lastDrawDateTerminatedSubscription() }))\r\n : m.trust(ctrl.d('HeaderSubTitleNoLastDrawDate')),\r\n }),\r\n\r\n m('.plus-buttons',\r\n m('.plus-button', {\r\n onclick: ctrl.goTo.overview\r\n }, ctrl.dButtonLabels('GoToOverview'))\r\n ),\r\n ]),\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/Subscriptions',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Notification',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/SubscriptionCard',\r\n ],\r\n function (m, Dictionary, State, GoTo, SubscriptionModel, Header, Notification, ActiveSubscriptionTemplate, ArchivedSubscriptionTemplate) {\r\n var Subscriptions = {\r\n controller: function (args) {\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n this.model = new SubscriptionModel(args);\r\n this.state = new State('loading');\r\n this.loaded = args.loaded || m.prop();\r\n this.hideIfNoSubscriptions = args.hideIfNoSubscriptions;\r\n this.convertEurojackpot = args.convertEurojackpot;\r\n this.terminated = args.terminated;\r\n this.title = args.title;\r\n this.modal = args.modal;\r\n this.chunks = m.prop();\r\n this.chunksIndex = m.prop(0);\r\n this.chunksShowNext = m.prop(false);\r\n this.chunksShowPrev = m.prop(false);\r\n this.subscriptionsOutput = m.prop([]);\r\n this.prevChunksIndex = m.prop();\r\n this.plusLinkUrl = args.plusLinkUrl;\r\n this.plusLinkText = args.plusLinkText;\r\n this.storedCards = m.prop(args.storedCards);\r\n this.goTo = new GoTo({ plus: this.plusLinkUrl });\r\n\r\n var init = function () {\r\n\r\n var success = function (res) {\r\n this.loaded(true);\r\n\r\n if (!res || res.length === 0) {\r\n this.state.add('noActiveSubscriptionsFound');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n if (res && res.length > 0) {\r\n res = res.map(function (subscription) {\r\n if (isNaN(subscription)) return subscription.id;\r\n return subscription;\r\n }).sort(function (a, b) {\r\n return b - a;\r\n });\r\n var chunks = [];\r\n var numberOfSubscriptionsPerChunk = this.terminated ? 6 : 3;\r\n while (res.length > 0) {\r\n var chunk = res.splice(0, numberOfSubscriptionsPerChunk);\r\n chunks.push(chunk);\r\n }\r\n this.chunks(chunks);\r\n if (this.chunks().length > 1) this.chunksShowNext(true);\r\n this.updateSubscriptionsChunk();\r\n }\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.loaded(true);\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this);\r\n\r\n if (this.convertEurojackpot) {\r\n this.model.getActiveSubscriptionIdsWithGame('eurojackpot').then(success, error);\r\n } else {\r\n var stateFilter = this.terminated ? 'Terminated' : '~Terminated';\r\n this.model.getSubscriptionIds(stateFilter).then(success, error);\r\n }\r\n }.bind(this);\r\n\r\n this.updateSubscriptionsChunk = function () {\r\n if (this.chunks().length > 0) {\r\n if (this.chunksIndex() !== this.prevChunksIndex()) {\r\n this.state.add('loading');\r\n this.prevChunksIndex(this.chunksIndex());\r\n var idArr = [];\r\n this.chunks()[this.chunksIndex()].forEach(function (id) {\r\n idArr.push(id);\r\n });\r\n return m.sync(idArr.map(function (id) {\r\n return this.model.getSubscription(id);\r\n }.bind(this))).then(function (res) {\r\n if (this.terminated) {\r\n this.subscriptionsOutput(\r\n res.map(function (subscription) {\r\n return ArchivedSubscriptionTemplate({\r\n subscription: subscription,\r\n d: this.d,\r\n });\r\n }.bind(this))\r\n );\r\n } else {\r\n this.subscriptionsOutput(\r\n res.map((subscription) => {\r\n const goTo = new GoTo({\r\n changeFunding: args.changeFundingLink ? { link: args.changeFundingLink, gaEvent: ['mit_plus', 'indstillinger', 'skift_indbetaling'] } : null,\r\n changePaymentPlan: args.changePaymentPlanLink ? { link: args.changePaymentPlanLink, gaEvent: ['mit_plus', 'indstillinger', 'skift_betalingsplan'] } : null,\r\n changePayout: args.changePayoutLink ? { link: args.changePayoutLink, gaEvent: ['mit_plus', 'indstillinger', 'skift_gevinstkonto'] } : null,\r\n editGame: args.editGameLink ? { link: args.editGameLink, gaEvent: ['mit_plus', 'spilkort', 'rediger'] } : null,\r\n convertEurojackpotGame: args.convertEurojackpotGameLink ? { link: args.convertEurojackpotGameLink, gaEvent: ['mit_plus', 'spilkort', 'rediger'] } : null,\r\n plus: args.plusLinkUrl,\r\n terminateGame: args.terminateGameLink ? { link: args.terminateGameLink, gaEvent: ['mit_plus', 'indstillinger', 'opsig_abonnement'] } : null,\r\n pauseGame: args.pauseGameLink ? { link: args.pauseGameLink, gaEvent: ['mit_plus', 'indstillinger', 'pause_abonnement'] } : null,\r\n resumePausedGame: args.pauseGameLink ? { link: args.pauseGameLink, gaEvent: ['mit_plus', 'indstillinger', 'genoptag_abonnement'] } : null,\r\n gapPayment: args.gapPaymentLink,\r\n subscriptionId: subscription.id(),\r\n d: this.d,\r\n });\r\n\r\n return ActiveSubscriptionTemplate({\r\n subscription,\r\n hideNotifications: args.hideNotifications,\r\n convertEurojackpot: this.convertEurojackpot,\r\n modal: this.modal,\r\n goTo,\r\n storedCards: this.storedCards(),\r\n d: this.d,\r\n });\r\n })\r\n );\r\n }\r\n this.state.remove('loading');\r\n }.bind(this), function (errs) {\r\n errs.forEach(function (err) {\r\n this.state.add(err.errorState);\r\n }.bind(this));\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }\r\n }\r\n }.bind(this);\r\n\r\n this.toggleChunks = function (increase, terminated) {\r\n this.chunksShowNext(true);\r\n this.chunksShowPrev(true);\r\n var prevIndex = this.chunksIndex();\r\n var index = increase ? prevIndex + 1 : prevIndex - 1;\r\n\r\n // Beginning of chunks?\r\n if (index <= 0) {\r\n index = 0;\r\n this.chunksShowPrev(false);\r\n }\r\n\r\n // End of chunks?\r\n if (index >= this.chunks().length - 1) {\r\n index = this.chunks().length - 1;\r\n this.chunksShowNext(false);\r\n }\r\n\r\n this.chunksIndex(index);\r\n var scrollToOffset = 20;\r\n var scrollToId = 'subscriptions-' + (terminated ? 'terminated' : 'active');\r\n var header = document.querySelector('header.header');\r\n if (header && header.offsetHeight) {\r\n scrollToOffset += header.offsetHeight;\r\n }\r\n document.getElementById(scrollToId).scrollIntoView();\r\n window.scrollBy(0, -scrollToOffset);\r\n this.updateSubscriptionsChunk();\r\n }.bind(this);\r\n\r\n init();\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state.has;\r\n\r\n if (ctrl.hideIfNoSubscriptions && ctrl.subscriptionsOutput().length === 0) return m('');\r\n\r\n return m('.plus-page__component plus-page__component--large', { id: 'subscriptions-' + (ctrl.terminated ? 'terminated' : 'active') }, [\r\n\r\n Notification({ d: ctrl.d }),\r\n\r\n ctrl.title ? Header({ title: ctrl.title }) : '',\r\n\r\n state('loading') && ctrl.terminated ? m('.plus-spinner.plus-spinner--terminated-subscriptions') : '',\r\n state('loading') && !ctrl.terminated ? m('.plus-spinner.plus-spinner--subscription') : '',\r\n\r\n state('noActiveSubscriptionsFound') ? m('.plus-no-subscription', [\r\n m('img.plus-no-subscription__image', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Wizard/note-plus.svg',\r\n alt: 'Plus'\r\n }),\r\n m('.plus-no-subscription__text', m.trust(ctrl.d('Overview/NoSubscriptions'))),\r\n ctrl.plusLinkUrl && ctrl.plusLinkText ? m('.plus-buttons', m('.plus-button', {\r\n onclick: ctrl.goTo.plus\r\n }, ctrl.plusLinkText)) : '',\r\n ]) : '',\r\n\r\n !state('loading') ? [\r\n\r\n ctrl.terminated ? m('.game-cards', ctrl.subscriptionsOutput()) : ctrl.subscriptionsOutput(),\r\n\r\n ctrl.chunksShowNext() || ctrl.chunksShowPrev() ?\r\n m('.plus-buttons.plus-buttons--align-right',\r\n [\r\n ctrl.chunksShowPrev() ? m('.plus-button.plus-button--narrow.plus-button--secondary', {\r\n onclick: ctrl.toggleChunks.bind(null, false, ctrl.terminated)\r\n }, ctrl.d('ButtonLabels/ShowPrevious')) : '',\r\n ctrl.chunksShowNext() ? m('.plus-button.plus-button--narrow.plus-button--secondary', {\r\n onclick: ctrl.toggleChunks.bind(null, true, ctrl.terminated)\r\n }, ctrl.d('ButtonLabels/ShowNext')) : ''\r\n ]\r\n ) : '',\r\n\r\n ] : ''\r\n ]);\r\n\r\n }\r\n };\r\n\r\n return Subscriptions;\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/ConvertOverview',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/Subscriptions',\r\n ],\r\n function (Component, Dictionary, Info, LoggedInOrOut, State, ErrorMessage, Modal, Subscriptions) {\r\n\r\n Component('plus-convert-overview', [Dictionary, Info], function (m, route, settings) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.state = new State();\r\n this.modal = m.prop();\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n\r\n this.activeEurojackpotSubscriptionsSettings = {\r\n modal: this.modal,\r\n convertEurojackpotGameLink: settings.convertGameLink,\r\n terminateGameLink: settings.terminateGameLink,\r\n storedCards: settings.storedCards,\r\n hideNotifications: true,\r\n convertEurojackpot: true,\r\n };\r\n\r\n this.ifLoggedIn = function () {\r\n this.state.remove('notLoggedIn');\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (error) return error;\r\n\r\n return [\r\n\r\n m(Subscriptions, ctrl.activeEurojackpotSubscriptionsSettings),\r\n\r\n Modal(ctrl.modal()),\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/ConvertDecide',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Plus/Price',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/GameCard',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n ],\r\n function (Component, Params, Dictionary, Info, LoggedInOrOut, State, Price, GoTo, SubscriptionModel, GameCard, ErrorMessage, Header, Modal) {\r\n\r\n Component('plus-convert-decide', [Dictionary, Info], function (m, route, settings) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.state = new State();\r\n this.modal = m.prop();\r\n this.d = Dictionary.get.bind({ prefix: 'Plus/' });\r\n this.gameId = m.prop(Params.extract('gameId'));\r\n this.subscriptionId = m.prop(Params.extract('subscriptionId'));\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.yourChoiceImageUrl = settings.yourChoiceImageUrl;\r\n this.model = new SubscriptionModel(settings, this.modal);\r\n this.editGameChangeDate = m.prop();\r\n this.game = m.prop();\r\n this.subscription = m.prop();\r\n this.showSplitRows = m.prop();\r\n this.splitRowsGame = m.prop();\r\n this.splitRows = m.prop();\r\n this.showDoubleRows = m.prop();\r\n this.doubleRowsGame = m.prop();\r\n this.playType = m.prop();\r\n this.isJackpot = m.prop();\r\n this.modifyGameType = m.prop('fordoble');\r\n\r\n this.goTo = new GoTo({\r\n editGame: { link: settings.editGameLink, gaEvent: ['mit_plus', 'rediger', 'frit_valg'] },\r\n modifyGameReceipt: { link: settings.modifyGameReceiptLink, gaEvent: ['mit_plus', 'rediger', this.modifyGameType] },\r\n subscriptionId: this.subscriptionId(),\r\n });\r\n\r\n this.activeEurojackpotSubscriptionsSettings = {\r\n modal: this.modal,\r\n convertGameLink: settings.convertGameLink,\r\n storedCards: settings.storedCards,\r\n hideNotifications: true,\r\n convertEurojackpot: true,\r\n };\r\n\r\n var convertGame = function (conversion) {\r\n this.state.add('loading');\r\n var game = this.game();\r\n\r\n if (conversion === 'split') {\r\n this.modifyGameType('fordel');\r\n game.rowsToGenerate = this.splitRows();\r\n }\r\n\r\n // If there's only one joker selected, remove them both.\r\n if (!game.withJokerSaturday || !game.withJokerWednesday) {\r\n game.withJokerSaturday = false;\r\n game.withJokerWednesday = false;\r\n }\r\n\r\n // Mark the game as converted by marking Tuesday and Friday draw days.\r\n game.drawDays = [false, true, false, false, true, false, false];\r\n this.model.modifyGame(this.subscriptionId(), game).then(function () {\r\n this.goTo.modifyGameReceipt(game.id);\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n\r\n }.bind(this);\r\n\r\n this.showModalSplitRows = function () {\r\n this.modal({\r\n title: this.d('ConvertDecide/ModalConfirmSplitRowsTitle'),\r\n text: this.d('ConvertDecide/ModalConfirmSplitRowsText', { date: this.editGameChangeDate() }),\r\n gaEventAction: 'fordel',\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'Confirm',\r\n cta: function () {\r\n convertGame('split');\r\n this.modal(null);\r\n }.bind(this),\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n }.bind(this);\r\n\r\n this.showModalDoubleRows = function () {\r\n this.modal({\r\n title: this.d('ConvertDecide/ModalConfirmDoubleRowsTitle'),\r\n text: this.d('ConvertDecide/ModalConfirmDoubleRowsText', { date: this.editGameChangeDate() }),\r\n gaEventAction: 'fordoble',\r\n buttons: [\r\n {\r\n secondary: true,\r\n dButtonLabel: 'Cancel',\r\n },\r\n {\r\n dButtonLabel: 'Confirm',\r\n cta: function () {\r\n convertGame();\r\n this.modal(null);\r\n }.bind(this),\r\n }\r\n ],\r\n modal: this.modal,\r\n });\r\n }.bind(this);\r\n\r\n this.ifLoggedIn = function () {\r\n this.state.remove('notLoggedIn');\r\n this.state.add('loading');\r\n\r\n if (!this.gameId()) {\r\n this.state.remove('loading');\r\n this.state.add('errorNoGameId');\r\n return;\r\n }\r\n\r\n this.model.getSubscription(this.subscriptionId()).then(function (res) {\r\n if (res.isArchived()) {\r\n this.state.add('errorGameHasBeenTerminatedAndCannotBeModified');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n this.game(res.getTemplateGame(this.gameId()));\r\n if (!this.game()) {\r\n this.state.add('errorGameHasNoFutureUnfundedDrawPeriod');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n var game = this.game();\r\n var gameType = Info.getGameType(game);\r\n var playType = Info.getPlayType(game);\r\n this.isJackpot(res.isJackpot());\r\n this.playType(playType);\r\n var eurojackpotRowPrice = Price.getPrice(gameType);\r\n var jokerPrice = Price.getPrice('joker');\r\n\r\n if (Info.hasEurojackpotGameBeenConverted(game)) {\r\n this.state.add('errorEurojackpotGameHasAlreadyBeenConverted');\r\n this.state.remove('loading');\r\n return;\r\n }\r\n\r\n if ((playType === 'lightning' || playType === 'lucky') && game.rowCount >= 2 && !this.isJackpot()) {\r\n this.splitRows(Math.floor(game.rowsToGenerate / 2));\r\n\r\n var splitRowsGame = {\r\n id: game.id,\r\n gameType: game.gameType,\r\n playType: game.playType,\r\n rowCount: this.splitRows(),\r\n totalCostPerWeek: 2 * this.splitRows() * eurojackpotRowPrice * 100,\r\n drawDays: [false, true, false, false, true, false, false],\r\n };\r\n\r\n if (game.withJokerSaturday && game.withJokerWednesday) {\r\n splitRowsGame.withJokerSaturday = true;\r\n splitRowsGame.withJokerWednesday = true;\r\n splitRowsGame.totalCostPerWeek += 2 * jokerPrice * 100;\r\n } else {\r\n splitRowsGame.withJokerSaturday = false;\r\n splitRowsGame.withJokerWednesday = false;\r\n }\r\n\r\n this.splitRowsGame(splitRowsGame);\r\n this.showSplitRows(true);\r\n }\r\n\r\n if (!this.isJackpot()) {\r\n var rows = game.rowsToGenerate;\r\n if (playType === 'system') rows = Number(game.systemName.match(/[0-9]+$/)[0]);\r\n\r\n var doubleRowsGame = {\r\n id: game.id,\r\n gameType: game.gameType,\r\n playType: game.playType,\r\n rowCount: game.rowsToGenerate,\r\n totalCostPerWeek: 2 * rows * eurojackpotRowPrice * 100,\r\n drawDays: [false, true, false, false, true, false, false],\r\n };\r\n\r\n if (game.withJokerSaturday && game.withJokerWednesday) {\r\n doubleRowsGame.withJokerSaturday = true;\r\n doubleRowsGame.withJokerWednesday = true;\r\n doubleRowsGame.totalCostPerWeek += 2 * jokerPrice * 100;\r\n } else {\r\n doubleRowsGame.withJokerSaturday = false;\r\n doubleRowsGame.withJokerWednesday = false;\r\n }\r\n\r\n this.doubleRowsGame(doubleRowsGame);\r\n this.showDoubleRows(true);\r\n }\r\n\r\n this.subscription(res);\r\n this.state.remove('loading');\r\n }.bind(this), function (err) {\r\n this.state.add(err.errorState);\r\n this.state.remove('loading');\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n this.headerText = function () {\r\n var game = this.game();\r\n var hasJoker = game.withJokerSaturday || game.withJokerWednesday;\r\n var rows = game.rowsToGenerate;\r\n if (this.playType() === 'system') rows = Number(game.systemName.match(/[0-9]+$/)[0]);\r\n var rowsLabel = this.playType() === 'system' ? ' systemrække' : ' række';\r\n rowsLabel = rows + rowsLabel + (rows > 1 ? 'r' : '');\r\n\r\n if (this.isJackpot()) {\r\n if (hasJoker) {\r\n return this.d('ConvertDecide/Header/Jackpot/GameWithJokerText', { rows: rowsLabel });\r\n } else {\r\n return this.d('ConvertDecide/Header/Jackpot/GameWithoutJokerText', { rows: rowsLabel });\r\n }\r\n } else {\r\n if (hasJoker) {\r\n return this.showSplitRows()\r\n ? this.d('ConvertDecide/Header/GameWithJoker/CanSplitRowsText', { rows: rowsLabel })\r\n : this.d('ConvertDecide/Header/GameWithJoker/CanNotSplitRowsText', { rows: rowsLabel });\r\n } else {\r\n return this.showSplitRows()\r\n ? this.d('ConvertDecide/Header/GameWithoutJoker/CanSplitRowsText', { rows: rowsLabel })\r\n : this.d('ConvertDecide/Header/GameWithoutJoker/CanNotSplitRowsText', { rows: rowsLabel });\r\n }\r\n }\r\n\r\n }.bind(this);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner.plus-spinner--subscription');\r\n if (error) return error;\r\n\r\n var subscription = ctrl.subscription();\r\n\r\n return [\r\n\r\n subscription ? [\r\n\r\n m('.game-cards', [\r\n m('.game-cards__two-columns', [\r\n Header({\r\n h1: ctrl.d('ConvertDecide/Header/Title'),\r\n subtitle: m.trust(ctrl.headerText())\r\n }),\r\n ]),\r\n\r\n GameCard({\r\n game: ctrl.game(),\r\n showTemplateEffectiveDate: true,\r\n subscription: subscription,\r\n d: ctrl.d,\r\n })\r\n ]),\r\n\r\n Header({\r\n title: ctrl.d('ConvertDecide/Subheader/Title'),\r\n subtitle: m.trust(ctrl.d('ConvertDecide/Subheader/Text'))\r\n }),\r\n\r\n m('.game-cards', [\r\n ctrl.showSplitRows() ? GameCard({\r\n game: ctrl.splitRowsGame(),\r\n editGameChangeDate: ctrl.editGameChangeDate,\r\n subscription: subscription,\r\n d: ctrl.d,\r\n showConvertEurojackpotConversionDate: true,\r\n header: {\r\n title: m.trust(ctrl.d('ConvertDecide/AdjustRows/Title')),\r\n subtitle: m.trust(ctrl.d('ConvertDecide/AdjustRows/Text')),\r\n },\r\n customCta: {\r\n fn: ctrl.showModalSplitRows,\r\n label: m.trust(ctrl.d('ConvertDecide/AdjustRows/CtaLabel')),\r\n },\r\n }) : '',\r\n ctrl.showDoubleRows() ? GameCard({\r\n game: ctrl.doubleRowsGame(),\r\n editGameChangeDate: ctrl.editGameChangeDate,\r\n subscription: subscription,\r\n d: ctrl.d,\r\n showConvertEurojackpotConversionDate: true,\r\n header: {\r\n title: m.trust(ctrl.d('ConvertDecide/DoubleRows/Title')),\r\n subtitle: m.trust(ctrl.d('ConvertDecide/DoubleRows/Text')),\r\n },\r\n customCta: {\r\n fn: ctrl.showModalDoubleRows,\r\n label: m.trust(ctrl.d('ConvertDecide/DoubleRows/CtaLabel')),\r\n },\r\n }) : '',\r\n GameCard({\r\n game: ctrl.game(),\r\n subscription: subscription,\r\n d: ctrl.d,\r\n showConvertEurojackpotConversionDate: true,\r\n header: {\r\n title: m.trust(ctrl.d('ConvertDecide/YourChoice/Title')),\r\n subtitle: m.trust(ctrl.d('ConvertDecide/YourChoice/Text')),\r\n },\r\n showLogoAndLabel: {\r\n logo: ctrl.yourChoiceImageUrl ? m('img', { src: ctrl.yourChoiceImageUrl }) : '',\r\n label: m.trust(ctrl.d('ConvertDecide/YourChoice/GameCardText')),\r\n },\r\n customCta: {\r\n fn: ctrl.goTo.editGame ? ctrl.goTo.editGame.bind(null, ctrl.game().id) : null,\r\n label: m.trust(ctrl.d('ConvertDecide/YourChoice/CtaLabel')),\r\n }\r\n }),\r\n ]),\r\n\r\n ] : '',\r\n\r\n Modal(ctrl.modal()),\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/Overview',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/AddNewSubscriptionGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/Subscriptions',\r\n ],\r\n function (Component, Dictionary, Info, LoggedInOrOut, State, ErrorMessage, Modal, AddNewSubscriptionGame, Subscriptions) {\r\n\r\n Component('plus-overview', [Dictionary, Info], function (m, route, settings) {\r\n\r\n var root = {\r\n controller: function () {\r\n this.state = new State();\r\n this.isLoggedIn = m.prop(settings.isLoggedIn);\r\n this.modal = m.prop();\r\n this.activeSubscriptionsLoaded = m.prop(false);\r\n this.activeSubscriptionsSettings = {\r\n modal: this.modal,\r\n loaded: this.activeSubscriptionsLoaded,\r\n changeFundingLink: settings.changeFundingLink,\r\n changePaymentPlanLink: settings.changePaymentPlanLink,\r\n changePayoutLink: settings.changePayoutLink,\r\n editGameLink: settings.editGameLink,\r\n convertEurojackpotGameLink: settings.convertEurojackpotGameLink,\r\n gapPaymentLink: settings.gapPaymentLink,\r\n storedCards: settings.storedCards,\r\n terminateGameLink: settings.terminateGameLink,\r\n pauseGameLink: settings.pauseGameLink,\r\n plusLinkUrl: settings.plusLinkUrl,\r\n plusLinkText: settings.plusLinkText,\r\n };\r\n this.addNewSubscriptionSettings = {\r\n title: settings.addNewTitle,\r\n subtitle: settings.addNewSubtitle,\r\n allOrNothingLink: settings.addNewAllOrNothingLink,\r\n eurojackpotLink: settings.addNewEurojackpotLink,\r\n kenoLink: settings.addNewKenoLink,\r\n lottoLink: settings.addNewLottoLink,\r\n vikinglottoLink: settings.addNewVikinglottoLink,\r\n };\r\n\r\n this.ifLoggedIn = function () {\r\n this.state.remove('notLoggedIn');\r\n }.bind(this);\r\n\r\n this.ifLoggedOut = function () {\r\n this.state.add('notLoggedIn');\r\n }.bind(this);\r\n\r\n LoggedInOrOut.init(this.isLoggedIn(), this.ifLoggedIn, this.ifLoggedOut);\r\n\r\n },\r\n\r\n view: function (ctrl) {\r\n var state = ctrl.state;\r\n var error = ErrorMessage(state);\r\n\r\n if (error) return error;\r\n\r\n return [\r\n\r\n // active subscriptions\r\n m(Subscriptions, ctrl.activeSubscriptionsSettings),\r\n\r\n // add new subscription game\r\n m(AddNewSubscriptionGame, ctrl.addNewSubscriptionSettings),\r\n\r\n // terminated subscriptions\r\n ctrl.activeSubscriptionsLoaded() ? m(Subscriptions, {\r\n title: settings.terminatedSubscriptionsTitle,\r\n terminated: true,\r\n hideIfNoSubscriptions: true,\r\n }) : '',\r\n\r\n Modal(ctrl.modal()),\r\n\r\n ];\r\n\r\n }\r\n };\r\n\r\n route('/', root);\r\n\r\n });\r\n\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/Pause', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Info',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/LoggedInOrOut',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/State',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/GoTo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/ErrorMessage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Header',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Plus/Modal',\r\n], (Component, Ensighten, Params, Utils, Api, Dictionary, Info, LoggedInOrOut, State, GoTo, ErrorMessage, Header, Modal) => {\r\n Component('plus-pause', [Dictionary, Info], (m, route, settings) => {\r\n\r\n const root = {\r\n controller: function () {\r\n const {\r\n durationOptions,\r\n modalText,\r\n modalCancelText,\r\n modalConfirmText,\r\n receiptCtaUrl,\r\n resumeModalText,\r\n resumeModalCancelText,\r\n resumeModalConfirmText,\r\n resumeReceiptCtaUrl,\r\n isLoggedIn,\r\n } = settings;\r\n\r\n const selected = m.prop();\r\n const modal = m.prop();\r\n const subscriptionId = Params.extract('subscriptionId');\r\n const pauseOptionStartDate = m.prop('');\r\n const pauseOptionEndDates = m.prop([]);\r\n const state = new State('loading');\r\n const receiptSubTitle = m.prop(settings.receiptSubTitle);\r\n\r\n const goTo = new GoTo({\r\n leavePauseConfirm: receiptCtaUrl,\r\n leaveResumePauseConfirm: resumeReceiptCtaUrl,\r\n });\r\n\r\n LoggedInOrOut.init(\r\n isLoggedIn,\r\n () => state.remove('notLoggedIn'),\r\n () => state.add('notLoggedIn'),\r\n );\r\n\r\n const showModalConfirmPause = () => {\r\n Ensighten.pushGaEvent('mit_plus', 'valgt_pause_periode', selected());\r\n modal({\r\n text: modalText,\r\n gaEventAction: 'bekraeft_pause',\r\n buttons: [\r\n {\r\n secondary: true,\r\n label: modalCancelText,\r\n },\r\n {\r\n label: modalConfirmText,\r\n cta: setPauseSubscription,\r\n },\r\n ],\r\n modal,\r\n });\r\n };\r\n\r\n const showModalConfirmPauseResume = () => {\r\n modal({\r\n text: resumeModalText,\r\n gaEventAction: 'bekraeft_genoptag',\r\n buttons: [\r\n {\r\n secondary: true,\r\n label: resumeModalCancelText,\r\n },\r\n {\r\n label: resumeModalConfirmText,\r\n cta: resumeSubscription,\r\n },\r\n ],\r\n modal,\r\n });\r\n };\r\n\r\n const clearPauseStates = () => {\r\n state.remove('subscriptionChangedToNotPaused');\r\n state.remove('subscriptionChangedToPaused');\r\n state.remove('subscriptionIsNotPaused');\r\n state.remove('subscriptionIsPaused');\r\n state.remove('errorSettingSubscriptionOnPause');\r\n };\r\n\r\n const resumeSubscription = () => {\r\n clearPauseStates();\r\n state.add('loading');\r\n Api.resumeSubscription(subscriptionId, selected()).then(\r\n () => {\r\n state.add('subscriptionChangedToNotPaused');\r\n state.remove('loading');\r\n },\r\n (err) => {\r\n console.error(err);\r\n state.add('errorResumingSubscription');\r\n state.remove('loading');\r\n });\r\n };\r\n\r\n const setPauseSubscription = () => {\r\n clearPauseStates();\r\n state.add('loading');\r\n Api.setPauseSubscription(subscriptionId, selected()).then(\r\n (res) => {\r\n const pausedState = res.pauseStatus === 'NotPaused' ? 'errorSettingSubscriptionOnPause' : 'subscriptionChangedToPaused';\r\n state.add(pausedState);\r\n receiptSubTitle(receiptSubTitle().replace('{pauseEnd}', Utils.getLongDate(res.unpauseDate)));\r\n state.remove('loading');\r\n },\r\n (err) => {\r\n console.error(err);\r\n state.add('errorSettingSubscriptionOnPause');\r\n state.remove('loading');\r\n });\r\n };\r\n\r\n const initialize = () => {\r\n Api.getPauseSubscriptionDuration(subscriptionId, durationOptions).then(\r\n (res) => {\r\n const pausedState = res.pauseStatus === 'NotPaused' ? 'subscriptionIsNotPaused' : 'subscriptionIsPaused';\r\n state.add(pausedState);\r\n pauseOptionStartDate(Utils.getLongDate(res.pauseDate));\r\n pauseOptionEndDates(res.unpauseOptions);\r\n state.remove('loading');\r\n },\r\n (err) => {\r\n console.error(err);\r\n state.add('errorGettingSubscriptionPauseDuration');\r\n state.remove('loading');\r\n });\r\n };\r\n\r\n initialize();\r\n\r\n return {\r\n goTo,\r\n modal,\r\n pauseOptionEndDates,\r\n pauseOptionStartDate,\r\n receiptSubTitle,\r\n selected,\r\n showModalConfirmPause,\r\n showModalConfirmPauseResume,\r\n state,\r\n };\r\n },\r\n\r\n view: (\r\n {\r\n goTo,\r\n modal,\r\n pauseOptionEndDates,\r\n pauseOptionStartDate,\r\n receiptSubTitle,\r\n selected,\r\n showModalConfirmPause,\r\n showModalConfirmPauseResume,\r\n state,\r\n }) => {\r\n\r\n let {\r\n title,\r\n subTitle,\r\n ctaText,\r\n receiptTitle,\r\n receiptCtaText,\r\n resumeTitle,\r\n resumeSubTitle,\r\n resumeReceiptTitle,\r\n resumeReceiptSubTitle,\r\n resumeReceiptCtaText,\r\n resumeCtaText,\r\n monthSingularText,\r\n monthPluralText,\r\n optionInfoDateText,\r\n } = settings;\r\n\r\n const error = ErrorMessage(state);\r\n\r\n if (state.has('loading')) return m('.plus-spinner.plus-spinner--subscription');\r\n if (error) return error;\r\n\r\n return [\r\n state.has('subscriptionIsNotPaused')\r\n ? [\r\n Header({ title, subtitle: subTitle }),\r\n\r\n m('.btn-checked__wrapper',\r\n pauseOptionEndDates().map((pauseOption) => {\r\n const label = optionInfoDateText\r\n .replace('{pauseStart}', pauseOptionStartDate())\r\n .replace('{pauseEnd}', Utils.getLongDate(pauseOption.unpauseDate));\r\n\r\n return m('.btn-checked.btn-checked--wide', {\r\n onclick: () => selected(pauseOption.duration),\r\n class: selected() === pauseOption.duration ? 'btn--selected' : '',\r\n 'data-uitest-id': 'pauseOption'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', m.trust(`${pauseOption.duration} ${pauseOption.duration === 1 ? monthSingularText : monthPluralText}`)),\r\n m('.btn-checked__sublabel.btn-checked__sublabel--small', m.trust(label)),\r\n ])\r\n ]);\r\n })\r\n ),\r\n\r\n m('.plus-buttons.plus-buttons--centered-buttons',\r\n m('.plus-button', {\r\n 'data-uitest-id': 'pauseProceed',\r\n class: selected() ? '' : 'plus-button--disabled',\r\n disabled: !selected(),\r\n onclick: showModalConfirmPause,\r\n }, ctaText)\r\n ),\r\n ] : '',\r\n\r\n state.has('subscriptionChangedToPaused')\r\n ? [\r\n Header({\r\n title: receiptTitle,\r\n subtitle: m.trust(receiptSubTitle())\r\n }),\r\n m('.plus-buttons.plus-buttons--centered-buttons',\r\n m('.plus-button', {\r\n 'data-uitest-id': 'pauseProceed',\r\n onclick: goTo.leavePauseConfirm,\r\n }, receiptCtaText)\r\n ),\r\n ] : '',\r\n\r\n state.has('subscriptionIsPaused')\r\n ? [\r\n Header({\r\n title: resumeTitle,\r\n subtitle: m.trust(resumeSubTitle)\r\n }),\r\n m('.plus-buttons.plus-buttons--centered-buttons',\r\n m('.plus-button', {\r\n 'data-uitest-id': 'pauseProceed',\r\n onclick: showModalConfirmPauseResume,\r\n }, resumeCtaText)\r\n ),\r\n ] : '',\r\n\r\n state.has('subscriptionChangedToNotPaused')\r\n ? [\r\n Header({\r\n title: resumeReceiptTitle,\r\n subtitle: m.trust(resumeReceiptSubTitle)\r\n }),\r\n m('.plus-buttons.plus-buttons--centered-buttons',\r\n m('.plus-button', {\r\n 'data-uitest-id': 'pauseProceed',\r\n onclick: goTo.leaveResumePauseConfirm,\r\n }, resumeReceiptCtaText)\r\n ),\r\n ] : '',\r\n\r\n modal() ? Modal(modal()) : '',\r\n ];\r\n },\r\n };\r\n route('/', root);\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/Faq',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n ],\r\n function (m, Utils, Api) {\r\n\r\n var Faq = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.faqArticles = m.prop([]);\r\n this.loadingFaqArticles = m.prop(true);\r\n this.articleStep = m.prop(this.settings.faqShowSteps);\r\n this.searchParams = m.prop(this.gameFaqSearchParams?.() || this.settings.faqSearchParams);\r\n this.totalArticles = m.prop(0);\r\n this.visibleArticles = m.prop(0);\r\n\r\n var getArticles = function () {\r\n var success = function (res) {\r\n var articleIds = JSON.parse(res.data).articles.map(function (article) {\r\n return {\r\n id: article.knowledgeArticleId,\r\n };\r\n });\r\n\r\n var articles = [];\r\n articleIds.forEach(function (article) {\r\n articles.push(Api.getFaqArticle(article.id));\r\n });\r\n\r\n m.sync(articles).then(function (args) {\r\n this.totalArticles(args.length);\r\n this.visibleArticles(Math.min(this.totalArticles(), this.articleStep()));\r\n\r\n articles = args\r\n .map(function (res) {\r\n var parsedRes = JSON.parse(res.data);\r\n return {\r\n id: parsedRes.knowledgeArticleId,\r\n title: parsedRes.title,\r\n answer: parsedRes.answer\r\n };\r\n })\r\n .sort(function (a, b) {\r\n a = a.title.toUpperCase();\r\n b = b.title.toUpperCase();\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 this.faqArticles(articles);\r\n this.loadingFaqArticles(false);\r\n }.bind(this), function (err) {\r\n this.loadingFaqArticles(false);\r\n console.error(err);\r\n }.bind(this));\r\n\r\n }.bind(this);\r\n\r\n var error = function (err) {\r\n this.loadingFaqArticles(false);\r\n console.error(err);\r\n }.bind(this);\r\n\r\n Api.getFaqItems(this.searchParams()).then(success, error);\r\n }.bind(this);\r\n\r\n this.handleItem = function (ev) {\r\n ev.currentTarget.classList.toggle('wizard-faq__item--show');\r\n if (ev.currentTarget.classList.toString().indexOf('wizard-faq__item--show') > -1) {\r\n var question = ev.currentTarget.querySelector('.wizard-faq__item-title').innerText.toLowerCase().replace(/\\W/g, '_');\r\n this.tracking.trackEvent('plus_faq', 'open_faq', question);\r\n }\r\n }.bind(this);\r\n\r\n if (this.faqArticles().length === 0) {\r\n getArticles();\r\n }\r\n\r\n this.handleFaqStep = function () {\r\n this.visibleArticles(Math.min(this.totalArticles(), this.visibleArticles() + this.articleStep()));\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n var faqArticles = controller.faqArticles().slice(0, controller.visibleArticles());\r\n\r\n return m('.wizard-faq', { 'data-uitest-id': 'Faq' }, [\r\n m('.wizard-faq__title', m.trust(controller.d('Faq/Title'))),\r\n\r\n controller.loadingFaqArticles() ? null : [\r\n controller.totalArticles() > 0 ? m('.wizard-faq__container', faqArticles.map(function (article, i) {\r\n return m('.wizard-faq__item', {\r\n onclick: controller.handleItem,\r\n key: article.id,\r\n 'data-uitest-id': 'Faq__btn--' + (i + 1)\r\n }, [\r\n m('.wizard-faq__item-title', m.trust(article.title)),\r\n m('.wizard-faq__item-answer', m.trust(article.answer)),\r\n ]);\r\n })) : m('.wizard-faq__text', m.trust(controller.d('Faq/FallbackText'))),\r\n\r\n controller.totalArticles() > 0 && controller.visibleArticles() < controller.totalArticles() ?\r\n m('.wizard-faq__slim-btn', {\r\n onclick: controller.handleFaqStep,\r\n 'data-uitest-id': 'Faq__btn--show-more'\r\n }, controller.d('Faq/CtaLoadMore')) : null,\r\n ]\r\n\r\n ]);\r\n }\r\n };\r\n\r\n return Faq;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/PlusBulletPoints',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils'\r\n ],\r\n function (m, Utils) {\r\n\r\n var PlusBulletPoints = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.plus-bullet-points', { 'data-uitest-id': 'PlusBulletPoints' }, [\r\n m('.plus-bullet-points__title', m.trust(controller.d('PlusBulletPoints/Title'))),\r\n\r\n m('.plus-bullet-points__container', [\r\n m('.plus-bullet-points__point', [\r\n m('img.plus-bullet-points__point-icon', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/plus-bullet-point.svg' }),\r\n m('.plus-bullet-points__point-text', m.trust(controller.d('PlusBulletPoints/Bullet01')))\r\n ]),\r\n\r\n m('.plus-bullet-points__point', [\r\n m('img.plus-bullet-points__point-icon', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/plus-bullet-point.svg' }),\r\n m('.plus-bullet-points__point-text', m.trust(controller.d('PlusBulletPoints/Bullet02')))\r\n ]),\r\n\r\n m('.plus-bullet-points__point', [\r\n m('img.plus-bullet-points__point-icon', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/plus-bullet-point.svg' }),\r\n m('.plus-bullet-points__point-text', m.trust(controller.d('PlusBulletPoints/Bullet03')))\r\n ]),\r\n\r\n m('.plus-bullet-points__point', [\r\n m('img.plus-bullet-points__point-icon', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/plus-bullet-point.svg' }),\r\n m('.plus-bullet-points__point-text', m.trust(controller.d('PlusBulletPoints/Bullet04')))\r\n ]),\r\n ])\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return PlusBulletPoints;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/ChooseGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Picture',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Render',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/Faq',\r\n ],\r\n function (m, Utils, CrossWindowEvents, Picture, Render, NotificationBox, Faq) {\r\n\r\n var ChooseGame = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.triggerBasketPlacement();\r\n this.render = Render();\r\n this.heroBg = m.prop();\r\n\r\n this.isLottieRendered = m.prop(false);\r\n this.staticTopSpots = document.querySelector(`#wizard-topspot #${this.region}-topspot .lottie-top-spot`)?.outerHTML;\r\n\r\n this.proceed = function (type) {\r\n this.changeSteps(type);\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n this.render.ready.then(function (nodes) {\r\n var hero = nodes['hero'];\r\n\r\n if (!hero.rendered) {\r\n if (!this.lightningHeroImageUrl[this.region]) return;\r\n this.heroBg(Picture\r\n .reset()\r\n .css('choose-game__hero-bg')\r\n .mobile(this.lightningHeroImageUrl[this.region].mobile)\r\n .sm(this.lightningHeroImageUrl[this.region].tablet)\r\n .xxl(this.lightningHeroImageUrl[this.region].desktop)\r\n .output());\r\n }\r\n }.bind(this));\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n if (controller.gameController.active) controller.gameController.reset();\r\n if (controller.staticTopSpots && !controller.isLottieRendered()) {\r\n controller.isLottieRendered(true);\r\n setTimeout(() => {\r\n const isInit = m.prop(false);\r\n CrossWindowEvents.fire('ds.event.lottietopspot:initialize', {\r\n $parent: document.querySelector('.wizard-slide .lottie-top-spot'),\r\n isInit\r\n });\r\n }, 0);\r\n }\r\n\r\n return m('.choose-game__step-wrapper', [\r\n controller.staticTopSpots ? m.trust(controller.staticTopSpots) : null,\r\n m('.choose-game', { class: 'choose-game--' + controller.region }, [\r\n !controller.staticTopSpots ?\r\n m('.choose-game__hero', { config: controller.render.depend('hero') }, [\r\n controller.heroBg(),\r\n m('.choose-game__hero-content', [\r\n\r\n // hero image, mobile.\r\n m('img.choose-game__game-logo.choose-game__game-logo--mobile', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/'\r\n + controller.region\r\n + (controller.region === 'allornothing' || controller.region === 'keno' || controller.region === 'vikinglotto' ? '-white.svg' : '.svg')\r\n }),\r\n\r\n // hero image, desktop.\r\n m('img.choose-game__game-logo', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/'\r\n + controller.region\r\n + '-white.svg'\r\n }),\r\n\r\n // hero description.\r\n m('.choose-game__text', m.trust(controller.d('ChooseGames/ChooseGameType/' + controller.region + '/Description'))),\r\n ])]\r\n ) : null,\r\n\r\n m('.choose-game__title', m.trust(controller.d('ChooseGames/ChooseGameType/Title'))),\r\n\r\n m('.choose-game__choices', [\r\n\r\n m('.choose-game__choice', {\r\n onclick: controller.proceed.bind(null, 'lightning'),\r\n 'data-uitest-id': 'ChooseGame__btn--lightning'\r\n }, [\r\n m('.choose-game__choice-icon-container',\r\n m('img.choose-game__choice-icon', { src: controller.gameTypeIcons.lightning }),\r\n ),\r\n m('.choose-game__choice-content', [\r\n m('.choose-game__choice-title', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/LightningTitle'))),\r\n m('.choose-game__choice-text', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/LightningText'))),\r\n m('.choose-game__arrow'),\r\n ])\r\n ]),\r\n\r\n controller.gameHasClassic(controller.region) ?\r\n m('.choose-game__choice', {\r\n onclick: controller.proceed.bind(null, 'classic'),\r\n 'data-uitest-id': 'ChooseGame__btn--classic'\r\n }, [\r\n m('.choose-game__choice-icon-container',\r\n m('img.choose-game__choice-icon', { src: controller.gameTypeIcons.classic }),\r\n ),\r\n m('.choose-game__choice-content', [\r\n m('.choose-game__choice-title', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/ChooseSelfTitle'))),\r\n m('.choose-game__choice-text', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/ChooseSelfText'))),\r\n m('.choose-game__arrow'),\r\n ])\r\n ]) : null,\r\n\r\n controller.gameHasLucky(controller.region) ?\r\n m('.choose-game__choice', {\r\n onclick: controller.proceed.bind(null, 'lucky'),\r\n 'data-uitest-id': 'ChooseGame__btn--lucky'\r\n }, [\r\n m('.choose-game__choice-icon-container',\r\n m('img.choose-game__choice-icon', { src: controller.gameTypeIcons.lucky }),\r\n ),\r\n m('.choose-game__choice-content', [\r\n m('.choose-game__choice-title', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/LuckyNumbersTitle'))),\r\n m('.choose-game__choice-text', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/LuckyNumbersText'))),\r\n m('.choose-game__arrow'),\r\n ])\r\n ]) : null,\r\n\r\n controller.gameHasSystem(controller.region) ?\r\n m('.choose-game__choice', {\r\n onclick: controller.proceed.bind(null, 'system'),\r\n 'data-uitest-id': 'ChooseGame__btn--system'\r\n }, [\r\n m('.choose-game__choice-icon-container',\r\n m('img.choose-game__choice-icon', { src: controller.gameTypeIcons.system }),\r\n ),\r\n m('.choose-game__choice-content', [\r\n m('.choose-game__choice-title', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/SystemTitle'))),\r\n m('.choose-game__choice-text', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/SystemText'))),\r\n m('.choose-game__arrow'),\r\n ])\r\n ]) : null,\r\n\r\n controller.gameHasHighpool(controller.region) && controller.linksToHighPool[controller.region] ?\r\n m('a.choose-game__choice', { href: controller.linksToHighPool[controller.region] },\r\n [\r\n m('.choose-game__choice-icon-container',\r\n m('img.choose-game__choice-icon', { src: controller.gameTypeIcons.highPool }),\r\n ),\r\n m('.choose-game__choice-content', [\r\n m('.choose-game__choice-title', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/HighPoolServiceTitle'))),\r\n m('.choose-game__choice-text', m.trust(controller.d('ChooseGames/ChooseGameType/GameTypes/HighPoolServiceText'))),\r\n m('.choose-game__arrow'),\r\n ])\r\n ]) : null\r\n\r\n ]),\r\n\r\n controller.isEurojackpotV2(controller.region) ? NotificationBox('ejp_select_playtype', controller.notifications()) : null,\r\n\r\n m('.choose-game__text', m.trust(controller.d('ChooseGames/ChooseGameType/' + controller.region + '/DrawDates'))),\r\n\r\n ]),\r\n !controller.faqHidden() ? m(Faq, { controller: controller }) : null,\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return ChooseGame;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/GameClients',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Models/AllOrNothingGame',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Models/EurojackpotGame',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Models/LottoGame',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Models/VikingLottoGame',\r\n 'DanskeSpil/Domain/Keno/Scripts/Models/KenoGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox'\r\n ],\r\n function (m, Utils, Event, Params, AllOrNothingGame, EurojackpotGame, LottoGame, VikingLottoGame, KenoGame, ModelStorage, ProceedBar, NotificationBox) {\r\n\r\n var GameClients = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.region = m.prop(this.paramGameType() || args.controller.region);\r\n this.playType(this.paramPlayType() || this.playType());\r\n this.tracking.trackRouteChange('plus_choose_games', this.region() + '/' + this.playType());\r\n this.triggerBasketPlacement();\r\n this.resetCheck = m.prop(false);\r\n this.gameClient = m.prop();\r\n\r\n this.capitalize = function (str) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n };\r\n\r\n this.settings = this.allSettings[this.region()];\r\n\r\n this.loadGame = function () {\r\n var game = null;\r\n var active;\r\n\r\n if (this.shouldEditGameInBasket()) {\r\n if (this.paramId() && this.paramGameType()) {\r\n Params.set('gameInstanceId=' + this.paramId());\r\n active = {\r\n type: this.paramGameType(),\r\n id: this.paramId()\r\n };\r\n }\r\n } else {\r\n var gameInBasket = ModelStorage.basket('plus')[this.region()].filter(function (game) {\r\n return game.playType().toLowerCase() === this.playType();\r\n }.bind(this));\r\n\r\n if (gameInBasket.length) {\r\n var id = gameInBasket[0].id();\r\n Params.set('gameInstanceId=' + id);\r\n active = {\r\n type: this.region(),\r\n id: id\r\n };\r\n }\r\n }\r\n\r\n // reset params.\r\n this.resetParams();\r\n\r\n if (active) {\r\n if (active.type === 'allornothing') {\r\n game = AllOrNothingGame.get(active.id);\r\n } else if (active.type === 'eurojackpot') {\r\n game = EurojackpotGame.get(active.id);\r\n } else if (active.type === 'lotto') {\r\n game = LottoGame.get(active.id);\r\n } else if (active.type === 'vikinglotto') {\r\n game = VikingLottoGame.get(active.id);\r\n } else if (active.type === 'keno') {\r\n game = KenoGame.get(active.id);\r\n }\r\n }\r\n\r\n if (game && game.rows) {\r\n this.settings.currentRow = game.rows().length - 1;\r\n }\r\n\r\n requireDs('DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Game/' + this.capitalize(this.region()) + this.capitalize(this.playType()) + 'Client', function (Client) {\r\n\r\n // requireDs removes gameInstanceId when you edit the same game in the basket two times or more.\r\n // in that case, we re-set the id if the game was from the basket. if the game is not already in\r\n // the basket, a new id would have been generated by the game itself by now.\r\n if (active) {\r\n Params.set('gameInstanceId=' + active.id);\r\n }\r\n\r\n Client(m, this.settings, this.property).then(function (client) {\r\n this.gameClient(client);\r\n m.redraw();\r\n this.triggerBasketPlacement();\r\n var gameInstanceId = Params.extract('gameInstanceId');\r\n this.gameController.active(this.playType(), this.region(), gameInstanceId, {\r\n hasWednesdayJoker: this.settings.hasWednesdayJoker,\r\n hasSaturdayJoker: this.settings.hasSaturdayJoker,\r\n jokerEnabled: this.settings.enableJoker,\r\n hasJoker: this.settings.hasJoker\r\n });\r\n ModelStorage.add('plus', this.region(), this.playType(), gameInstanceId);\r\n this.resetCheck(true);\r\n m.redraw();\r\n }.bind(this), function (ignoreErr) {\r\n m.redraw();\r\n });\r\n }.bind(this));\r\n };\r\n\r\n this.handleHasAddedGameBeenDeletedFromBasket = function () {\r\n if (this.resetCheck() && !this.gameController.active()) {\r\n args.controller.proceed();\r\n }\r\n }.bind(this);\r\n\r\n // init\r\n this.loadGame();\r\n\r\n // For Classic games, add an \"Add Row\" button.\r\n if (this.playType() === 'classic') {\r\n this.proceed = () => Event.fire(`${this.region()}:classic:createNewRow`);\r\n this.canProceed = m.prop(false);\r\n this.proceedLabel = 'ChooseGames/CtaLabels/AddRow';\r\n Event.subscribe(`${this.region()}:classic:canCreateNewRow`, (canCreateNewRow) => this.canProceed(canCreateNewRow));\r\n } else {\r\n this.proceed = null;\r\n }\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n controller.handleHasAddedGameBeenDeletedFromBasket();\r\n\r\n return m('.choose-game.subscriptions-game-outer-wrapper', { class: 'choose-game--' + controller.region() + (controller.region() === 'allornothing' ? ' allornothing-region' : '') }, [\r\n m('img.choose-game__game-logo', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + controller.region() + '.svg' }),\r\n m('.game-client', controller.gameClient() ? controller.gameClient() : null),\r\n controller.isEurojackpotV2(controller.region()) ? NotificationBox('ejp_select_playtype', controller.notifications()) : null,\r\n m(ProceedBar, { controller: controller })\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return GameClients;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/Final',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n ],\r\n function (m, Utils) {\r\n\r\n var Final = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_choose_games', this.region + '/lightning/receipt');\r\n this.back = null;\r\n\r\n // Plus brand-icons link\r\n this.plusBrandIconsPath = '/Components/DanskeSpil/Domain/Subscriptions/Graphics/PlusBrandIcons';\r\n this.returnLink = '/plus-abonnement/plus-vaelg-spil?intcmp=top_menu_plusspil_brand&gameInstanceId=#/';\r\n this.lottoPath = this.returnLink + 'lotto';\r\n this.ejpPath = this.returnLink + 'eurojackpot';\r\n this.vikingLottoPath = this.returnLink + 'vikinglotto';\r\n this.kenoPath = this.returnLink + 'keno';\r\n this.aeiPath = this.returnLink + 'allornothing';\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n controller.handleGameRemovedFromBasket();\r\n\r\n return m('.choose-game', { class: 'choose-game--' + controller.region }, [\r\n m('img.choose-game__game-logo', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + controller.region + '.svg' }),\r\n m('.choose-game__title', m.trust(controller.d('ChooseGames/ChooseFinal/Title'))),\r\n m('.choose-game__text', m.trust(controller.d('ChooseGames/ChooseFinal/Text'))),\r\n\r\n m('.choose-game__note',\r\n m('img', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Wizard/note-' + controller.region + '.svg' })\r\n ),\r\n\r\n m('.choose-game__subtitle', m.trust(controller.d('ChooseGames/ChooseFinal/Subheader'))),\r\n m('.choose-game__text-gray', m.trust(controller.d('ChooseGames/ChooseFinal/Subtext'))),\r\n\r\n m('.choose-game__brand-icons-wrapper',\r\n m('a', { href: controller.lottoPath },\r\n m('img.choose-game__brand-icon.lotto-icon', { src: controller.plusBrandIconsPath + '/lotto-icon.svg' })),\r\n m('a', { href: controller.ejpPath },\r\n m('img.choose-game__brand-icon.ejp-icon', { src: controller.plusBrandIconsPath + '/ejp-icon.svg' })),\r\n m('a', { href: controller.vikingLottoPath },\r\n m('img.choose-game__brand-icon.viking-lotto-icon', { src: controller.plusBrandIconsPath + '/viking-lotto-icon.svg' })),\r\n m('a', { href: controller.kenoPath },\r\n m('img.choose-game__brand-icon.keno-icon', { src: controller.plusBrandIconsPath + '/keno-icon.svg' })),\r\n m('a', { href: controller.aeiPath },\r\n m('img.choose-game__brand-icon.aei-icon', { src: controller.plusBrandIconsPath + '/alt-eller-intet-icon.svg' })),\r\n ),\r\n\r\n ]);\r\n }\r\n };\r\n\r\n return Final;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/LightningJoker',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox'\r\n ],\r\n function (m, Utils, JackpotInfo, ProceedBar, NotificationBox) {\r\n\r\n var LightningJoker = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_choose_games', this.region + '/lightning/joker');\r\n this.jokerWednesdayInit = m.prop(true);\r\n this.jokerSaturdayInit = m.prop(true);\r\n this.proceedLabelAmount = m.prop(0);\r\n var jokerSaturday = JackpotInfo.getByGame('JokerSaturday');\r\n var jokerWednesday = JackpotInfo.getByGame('JokerWednesday');\r\n this.jokerWednesdaySubtitle = this.d('ChooseGames/ChooseJoker/JokerWednesdaySubTitle');\r\n this.jokerSaturdaySubtitle = this.d('ChooseGames/ChooseJoker/JokerSaturdaySubTitle');\r\n var anyPoolInfo = false;\r\n\r\n if (Object.keys(jokerSaturday).length > 0 && !jokerSaturday.gamestopExceeded && jokerSaturday.poolSizeDecimal > 0) {\r\n anyPoolInfo = true;\r\n this.jokerSaturdaySubtitle = this.d('ChooseGames/ChooseJoker/JokerSaturdaySubTitleWithPool', { pool: jokerSaturday.poolSizeFormatted });\r\n }\r\n if (Object.keys(jokerWednesday).length > 0 && !jokerWednesday.gamestopExceeded && jokerWednesday.poolSizeDecimal > 0) {\r\n anyPoolInfo = true;\r\n this.jokerWednesdaySubtitle = this.d('ChooseGames/ChooseJoker/JokerWednesdaySubTitleWithPool', { pool: jokerWednesday.poolSizeFormatted });\r\n }\r\n\r\n this.jokerBothSubtitle = anyPoolInfo ? this.d('ChooseGames/ChooseJoker/JokerBothSubTitleWithPool', { poolInfoWednesday: this.jokerWednesdaySubtitle, poolInfoSaturday: this.jokerSaturdaySubtitle }) : this.d('ChooseGames/ChooseJoker/JokerBothSubTitle');\r\n\r\n this.calculateJokerPrice = function () {\r\n var game = this.game();\r\n var totalPrice = game.totalPrice() - game.totalJokerPrice();\r\n var jokerPrice = game.jokerPrice();\r\n var jokerWednesdayPrice = this.addedJokerWednesday() ? jokerPrice : 0;\r\n var jokerSaturdayPrice = this.addedJokerSaturday() ? jokerPrice : 0;\r\n this.proceedLabelAmount(totalPrice + jokerWednesdayPrice + jokerSaturdayPrice);\r\n }.bind(this);\r\n\r\n this.handleJokerWednesday = function () {\r\n this.jokerWednesdayInit = m.prop(false);\r\n this.addedJokerWednesday(!this.addedJokerWednesday());\r\n m.redraw();\r\n }.bind(this);\r\n\r\n this.handleJokerSaturday = function () {\r\n this.jokerSaturdayInit = m.prop(false);\r\n this.addedJokerSaturday(!this.addedJokerSaturday());\r\n m.redraw();\r\n }.bind(this);\r\n\r\n this.handleJokerBoth = function () {\r\n this.handleJokerSaturday();\r\n this.handleJokerWednesday();\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n this.addGameToBasket();\r\n var value = this.addedJokerWednesday() ? 'wednesday' : '';\r\n value += this.addedJokerWednesday() && this.addedJokerSaturday() ? '_' : '';\r\n value += this.addedJokerSaturday() ? 'saturday' : '';\r\n this.tracking.trackEvent('plus_choose_games', this.region + '/lightning/joker', value);\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n this.proceedLabel = 'ChooseGames/CtaLabels/AddToBasket';\r\n\r\n if (this.isEurojackpotV2(this.region)) {\r\n this.proceedLabel = 'ChooseGames/CtaLabels/EurojackpotV2/AddToBasket';\r\n }\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n controller.calculateJokerPrice();\r\n // only listen for games removed from basket if we know there's a game there from a previous session and wasn't yet removed from the basket.\r\n if (controller.loadedPreviousGame() && !controller.removeFromBasket()) {\r\n controller.handleGameRemovedFromBasket();\r\n }\r\n\r\n return m('.choose-game', { class: 'choose-game--' + controller.region }, [\r\n m('img.choose-game__game-logo', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + controller.region + '.svg' }),\r\n m('.choose-game__title', m.trust(controller.d('ChooseGames/ChooseJoker/Title'))),\r\n m('.choose-game__text', m.trust(controller.d('ChooseGames/ChooseJoker/Text'))),\r\n\r\n m('.choose-game__joker', [\r\n m('svg', m('use', { href: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Wizard.svg#jokerhat' })),\r\n\r\n controller.region === 'lotto' || !controller.isEurojackpotV2(controller.region) || controller.region === 'vikinglotto' ?\r\n m('.btn-checked', {\r\n onclick: controller.handleJokerWednesday,\r\n class: controller.addedJokerWednesday() ? 'btn--selected' : !controller.jokerWednesdayInit() ? 'btn--unselected' : null,\r\n 'data-uitest-id': 'LightningJoker__btn--wednesday'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', m.trust(controller.d('ChooseGames/ChooseJoker/JokerWednesdayTitle', { price: controller.game().jokerPrice() }))),\r\n m('.btn-checked__sublabel', m.trust(controller.jokerWednesdaySubtitle)),\r\n ])\r\n ]) : null,\r\n\r\n controller.region === 'lotto' || !controller.isEurojackpotV2(controller.region) || controller.region === 'vikinglotto' ?\r\n m('.btn-checked', {\r\n onclick: controller.handleJokerSaturday,\r\n class: controller.addedJokerSaturday() ? 'btn--selected' : !controller.jokerSaturdayInit() ? 'btn--unselected' : null,\r\n 'data-uitest-id': 'LightningJoker__btn--saturday'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', m.trust(controller.d('ChooseGames/ChooseJoker/JokerSaturdayTitle', { price: controller.game().jokerPrice() }))),\r\n m('.btn-checked__sublabel', m.trust(controller.jokerSaturdaySubtitle)),\r\n ])\r\n ]) : null,\r\n\r\n controller.isEurojackpotV2(controller.region) ? [\r\n m('.btn-checked', {\r\n onclick: controller.handleJokerBoth,\r\n class: controller.addedJokerSaturday() && controller.addedJokerSaturday() ? 'btn--selected' : !controller.jokerWednesdayInit() || !controller.jokerSaturdayInit() ? 'btn--unselected' : null,\r\n 'data-uitest-id': 'Joker__btn--both'\r\n }, [\r\n m('.btn-checked__dot'),\r\n m('.btn-checked__labels', [\r\n m('.btn-checked__label', m.trust(controller.d('ChooseGames/ChooseJoker/JokerBothTitle', { price: controller.game().jokerPrice() * 2 }))),\r\n m('.btn-checked__sublabel', m.trust(controller.jokerBothSubtitle)),\r\n ])\r\n ]),\r\n ] : null,\r\n ]),\r\n\r\n m(ProceedBar, { controller: controller }),\r\n controller.isEurojackpotV2(controller.region) ? NotificationBox('ejp_select_joker', controller.notifications()) : null\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return LightningJoker;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames/LightningRows',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/RotarySelector',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox'\r\n ],\r\n function (m, Utils, ModelStorage, ProceedBar, RotarySelector, NotificationBox) {\r\n\r\n var LightningRows = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.region = m.prop(this.paramGameType() || args.controller.region);\r\n this.tracking.trackRouteChange('plus_choose_games', this.region() + '/lightning');\r\n this.proceedLabelAmount = m.prop();\r\n this.offerJoker = m.prop(this.gameHasJoker(this.region()));\r\n\r\n // reset params.\r\n this.resetParams();\r\n\r\n if (this.regionSettings[this.region()].infoFeed && !this.regionSettings[this.region()].infoFeed.isFeedDown()) {\r\n var lightningGameInBasket;\r\n\r\n // If there's already a lightning game in the basket, we override it if customer wants to create another.\r\n // There can be only one lightning game of each game type in the subscription.\r\n if (ModelStorage.basket('plus')[this.region()].length > 0) {\r\n lightningGameInBasket = ModelStorage.basket('plus')[this.region()].filter(function (game) {\r\n return game.playType().toLowerCase() === 'lightning';\r\n })[0];\r\n }\r\n\r\n if (lightningGameInBasket) {\r\n this.game(lightningGameInBasket);\r\n if (this.offerJoker()) {\r\n this.addedJokerWednesday(this.game().withJokerWednesday());\r\n this.addedJokerSaturday(this.game().withJokerSaturday());\r\n }\r\n this.loadedPreviousGame(true);\r\n } else {\r\n this.game(this.regionSettings[this.region()].game.setupGame({\r\n gameInstanceId: undefined,\r\n numberOfDraws: 1,\r\n playType: 'Lightning',\r\n rowsToGenerate: this.regionSettings[this.region()].defaultRowCount,\r\n numberOfNumbersPerRow: this.regionSettings[this.region()].numberOfNumbersPerRow || (this.region() === 'keno' ? 9 : 0),\r\n verticalType: 'plus',\r\n manualGameVersionNo: this.regionSettings[this.region()].manualGameVersionNo\r\n }));\r\n }\r\n } else {\r\n this.modal.show(true);\r\n this.modal.title(this.d('ChooseGames/Errors/GameFeedIsDown/Title'));\r\n this.modal.text(this.d('ChooseGames/Errors/GameFeedIsDown/Text', { region: this.regionSettings[this.region()].name }));\r\n this.modal.proceedLabel(this.d('ChooseGames/Errors/GameFeedIsDown/ProceedLabel'));\r\n this.modal.proceedCta = this.goToRoute;\r\n m.redraw();\r\n }\r\n\r\n if (this.game()) {\r\n this.rows = this.game().rowsToGenerate;\r\n this.rowsOptions = this.regionSettings[this.region()].lightningOptions;\r\n this.game(this.game());\r\n this.rows(this.rows());\r\n }\r\n\r\n this.calculateJokerPrice = function () {\r\n var game = this.game();\r\n var totalPrice = game.totalPrice() - (this.offerJoker() ? game.totalJokerPrice() : 0);\r\n this.proceedLabelAmount(totalPrice);\r\n };\r\n\r\n if (!this.offerJoker()) {\r\n this.proceedLabel = 'ChooseGames/CtaLabels/AddToBasket';\r\n }\r\n\r\n if (this.isEurojackpotV2(this.region())) {\r\n this.proceedLabel = 'ChooseGames/CtaLabels/EurojackpotV2/Next';\r\n }\r\n\r\n this.proceed = function () {\r\n if (!this.offerJoker()) {\r\n this.addGameToBasket();\r\n }\r\n this.tracking.trackEvent('plus_choose_games', this.region() + '/lightning/rows', this.game().rowsToGenerate());\r\n args.controller.proceed();\r\n };\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n controller.calculateJokerPrice();\r\n // check if game is deleted from basket\r\n if (!controller.rows()) {\r\n controller.handleGameRemovedFromBasket();\r\n }\r\n\r\n return m('.choose-game', { class: 'choose-game--' + controller.region() }, [\r\n m('img.choose-game__game-logo', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + controller.region() + '.svg' }),\r\n m('.choose-game__title', m.trust(controller.d('ChooseGames/ChooseRows/Title'))),\r\n m('.choose-game__text', m.trust(controller.d('ChooseGames/ChooseRows/Text'))),\r\n RotarySelector(controller.rowsOptions, controller.rows, controller.rows() === 1\r\n ? controller.d('ChooseGames/ChooseRows/SelectorLabel')\r\n : controller.d('ChooseGames/ChooseRows/SelectorLabelPlural')),\r\n m(ProceedBar, { controller: controller }),\r\n controller.isEurojackpotV2(controller.region()) ? NotificationBox('ejp_select_playtype', controller.notifications()) : null\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return LightningRows;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Budget',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Slider',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step'\r\n ],\r\n function (m, Utils, ProceedBar, Slider, Step) {\r\n\r\n var Budget = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_wizard', 'budget');\r\n\r\n this.proceed = function () {\r\n this.tracking.trackEvent('plus_wizard', 'budget', this.selectedValues.budget());\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-slide__content', [\r\n Step(controller.steps.budget, controller.steps.total),\r\n m('.wizard-slide__title', m.trust(controller.d('Budget/Title'))),\r\n controller.d('Budget/Text') ? m('.wizard-slide__text', m.trust(controller.d('Budget/Text'))) : null,\r\n\r\n m(Slider, {\r\n minValue: controller.apiValues.budget().minPrice,\r\n maxValue: controller.apiValues.budget().maxPrice,\r\n stepValue: controller.apiValues.budget().stepPrice,\r\n selectedValue: controller.selectedValues.budget(),\r\n minLabel: m.trust(controller.d('Budget/SliderLabelMin', { price: controller.apiValues.budget().minPrice })),\r\n maxLabel: m.trust(controller.d('Budget/SliderLabelMax', { price: controller.apiValues.budget().maxPrice })),\r\n showToolTip: true,\r\n handler: controller.selectedValues.budget\r\n }),\r\n\r\n m(ProceedBar, { controller: controller })\r\n\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return Budget;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/FavoriteGame',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/GamePad',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Loading',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox'\r\n ],\r\n function (m, Utils, GamePad, Loading, ProceedBar, Step, NotificationBox) {\r\n\r\n var FavoriteGame = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_wizard', 'favorite_game');\r\n this.back = null;\r\n\r\n var getGameName = function (id) {\r\n var gameWithId = this.apiValues.games().filter(function (game) {\r\n return game.id === id;\r\n }).map(function (game) {\r\n return game.cartName;\r\n });\r\n\r\n if (gameWithId && gameWithId.length > 0) {\r\n return gameWithId[0].toLowerCase();\r\n }\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n this.tracking.trackEvent('plus_wizard', 'favorite_game', getGameName(this.selectedValues.favoriteGame()) || 'intet-favoritspil-valgt');\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n this.canProceed = function () {\r\n return this.selectedValues.favoriteGame() !== 0;\r\n };\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-slide__content', [\r\n Step(controller.steps.favoriteGame, controller.steps.total),\r\n m('.wizard-slide__title', m.trust(controller.d('FavoriteGame/Title'))),\r\n controller.d('FavoriteGame/Text') ? m('.wizard-slide__text', m.trust(controller.d('FavoriteGame/Text'))) : null,\r\n\r\n controller.apiValues.games() ?\r\n m(GamePad, {\r\n gamesToDisplay: controller.apiValues.games(),\r\n selectedGame: controller.selectedValues.favoriteGame(),\r\n handler: controller.selectedValues.favoriteGame\r\n }) : Loading(),\r\n\r\n controller.isEurojackpotV2() ? NotificationBox('package_ejp_select_fav_game', controller.notifications()) : null,\r\n\r\n m(ProceedBar, { controller: controller })\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return FavoriteGame;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Intro',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ChooseGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Hero',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/Faq',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/PlusBulletPoints',\r\n ],\r\n function (m, Utils, ChooseGames, Hero, Faq, PlusBulletPoints) {\r\n\r\n var Intro = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.shouldScrollToTopOnLoad(true);\r\n\r\n this.handleBoxCta = function () {\r\n this.steps.current(1);\r\n this.goToRoute('dialog-flow');\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.front-page', { config: controller.scrollToTop }, [\r\n m(Hero, {\r\n boxCta: controller.handleBoxCta,\r\n heroImage: controller.heroImage\r\n }),\r\n\r\n m(ChooseGames, { controller: controller }),\r\n\r\n !controller.advantagesHidden() ? m(PlusBulletPoints, { controller: controller }) : null,\r\n !controller.faqHidden() ? m(Faq, { controller: controller }) : null,\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return Intro;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/NumberOfGames',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/NumPad',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step'\r\n ],\r\n function (m, Utils, NumPad, ProceedBar, Step) {\r\n\r\n var NumberOfGames = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_wizard', 'number_of_games');\r\n\r\n this.proceed = function () {\r\n this.tracking.trackEvent('plus_wizard', 'number_of_games', this.selectedValues.numberOfGames());\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-slide__content', [\r\n Step(controller.steps.numberOfGames, controller.steps.total),\r\n m('.wizard-slide__title', m.trust(controller.d('NumberOfGames/Title'))),\r\n controller.d('NumberOfGames/Text') ? m('.wizard-slide__text', m.trust(controller.d('NumberOfGames/Text'))) : null,\r\n\r\n m(NumPad, {\r\n numbersToDisplay: controller.apiValues.games().length,\r\n selectedNumber: controller.selectedValues.numberOfGames(),\r\n handler: controller.selectedValues.numberOfGames\r\n }),\r\n\r\n m(ProceedBar, { controller: controller })\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return NumberOfGames;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Packages',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/WizardPackageGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ChooseGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/HeroPackages',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/Faq',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/PlusBulletPoints',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/DataLayer',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/NotificationBox'\r\n ],\r\n function (m, Utils, ModelStorage, WizardPackageGame, ChooseGames, HeroPackages, Faq, PlusBulletPoints, DataLayer, NotificationBox) {\r\n\r\n var Packages = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.proceed = null;\r\n this.removingGame = m.prop(false);\r\n\r\n var getPackage = function (id) {\r\n return this.apiValues.packages().filter(function (pack) {\r\n return pack.id === id;\r\n })[0];\r\n }.bind(this);\r\n\r\n var addPackage = function (id) {\r\n var packageGame = WizardPackageGame.get(id);\r\n var status = null;\r\n\r\n if (packageGame) {\r\n status = packageGame.status();\r\n }\r\n\r\n var pack = getPackage(id);\r\n\r\n packageGame = WizardPackageGame.setupGame({\r\n description: '',\r\n id: id,\r\n packageId: id,\r\n status: status,\r\n subtitle: '',\r\n title: pack.name.trim()\r\n });\r\n\r\n pack.games.forEach(function (game) {\r\n var gameName = game.name.toLowerCase() === 'lottosaturday' ? 'lotto' : game.name.toLowerCase();\r\n var options = {\r\n id: id,\r\n playType: 'Lightning',\r\n rowsToGenerate: game.NumberOfRows,\r\n type: game.name.toLowerCase() === 'lottosaturday' ? 'lotto' : game.name.toLowerCase(),\r\n withJokerSaturday: game.hasJokerSaturday,\r\n withJokerWednesday: game.hasJokerWednesday,\r\n numberOfNumbersPerRow: this.allSettings[gameName].numberOfNumbersPerRow,\r\n gameVersionNo: this.allSettings[gameName].manualGameVersionNo,\r\n verticalType: 'plus'\r\n };\r\n packageGame.addGame(options);\r\n }.bind(this));\r\n\r\n DataLayer.addToCart(packageGame.createDataLayerProduct('plus'));\r\n packageGame.status('add-to-basket');\r\n packageGame.save();\r\n\r\n ModelStorage.add('plus', 'wizardpackage', 'lightning', packageGame.id());\r\n }.bind(this);\r\n\r\n var removePackage = function (id) {\r\n if (!this.removingGame()) {\r\n this.removingGame(true);\r\n var packageGame = WizardPackageGame.get(id);\r\n packageGame.status('remove-from-basket');\r\n packageGame.save();\r\n\r\n // need to redraw before adding animationend handler, or animation might fail and clickhandler removed\r\n m.redraw();\r\n\r\n if (event.currentTarget.id === event.delegateTarget.id) {\r\n DataLayer.removeFromCart(packageGame.createDataLayerProduct('plus'));\r\n packageGame.status('open');\r\n packageGame.save();\r\n this.removingGame(false);\r\n m.redraw();\r\n }\r\n }\r\n }.bind(this);\r\n\r\n var getBasketPackages = function () {\r\n return ModelStorage.basket('plus').wizardpackage.map(function (pack) {\r\n return pack.id();\r\n });\r\n };\r\n\r\n // init, get any packages stored in localStorage\r\n this.selectedValues.packages(getBasketPackages());\r\n\r\n // can only be used to check if we should remove a package, not to add any packages\r\n this.checkBasket = function () {\r\n var selectedPackages = this.selectedValues.packages();\r\n var basketPackages = getBasketPackages();\r\n\r\n // if we have more selectedPackages than basketPackages, a package was removed from basket\r\n if (selectedPackages.length > basketPackages.length) {\r\n this.selectedValues.packages(basketPackages);\r\n m.redraw();\r\n }\r\n }.bind(this);\r\n\r\n this.isPackageSelected = function (pack) {\r\n return this.selectedValues.packages().indexOf(pack) > -1;\r\n }.bind(this);\r\n\r\n this.togglePackage = function (id) {\r\n var selectedPackages = this.selectedValues.packages();\r\n var packageIsAlreadySelected = selectedPackages.indexOf(id) > -1;\r\n\r\n if (packageIsAlreadySelected) {\r\n removePackage(id);\r\n selectedPackages.splice(selectedPackages.indexOf(id), 1);\r\n } else {\r\n addPackage(id);\r\n selectedPackages.push(id);\r\n }\r\n\r\n this.selectedValues.packages(selectedPackages);\r\n m.redraw();\r\n }.bind(this);\r\n\r\n this.packages = this.apiValues.packages().map(function (pack) {\r\n var totalPrice = 0;\r\n\r\n // add jokers if any, calculate total price\r\n pack.games = pack.games.map(function (game) {\r\n game.hasJokerWednesday = false;\r\n game.hasJokerSaturday = false;\r\n\r\n totalPrice += game.price;\r\n\r\n if (game.jokerGames) {\r\n // if EJP game has any joker then we have to add the other joker as EJP has to have both jokers\r\n var eurojackpotWithJoker = game.name.toLowerCase() === 'eurojackpot' && this.isEurojackpotV2('eurojackpot') && game.jokerGames.length > 0;\r\n // add joker wednesday if conditions are satisfied\r\n if (!eurojackpotWithJoker && game.jokerGames.indexOf(this.apiValues.jokerWednesday().id) > -1) {\r\n if ((this.selectedValues.jokerWednesday() && this.apiValues.jokerWednesday().available)) {\r\n game.hasJokerWednesday = true;\r\n totalPrice += this.apiValues.jokerWednesday().price;\r\n } else {\r\n game.hasJokerWednesday = false;\r\n }\r\n }\r\n\r\n // add joker saturday if conditions are satisfied\r\n if (!eurojackpotWithJoker && game.jokerGames.indexOf(this.apiValues.jokerSaturday().id) > -1) {\r\n if ((this.selectedValues.jokerSaturday() && this.apiValues.jokerSaturday().available)) {\r\n game.hasJokerSaturday = true;\r\n totalPrice += this.apiValues.jokerSaturday().price;\r\n } else {\r\n game.hasJokerSaturday = false;\r\n }\r\n }\r\n\r\n // Special handling for eurojackpot v2 joker\r\n if (eurojackpotWithJoker) {\r\n if (this.selectedValues.jokerWednesday() || this.selectedValues.jokerSaturday()) {\r\n game.hasJokerWednesday = true;\r\n game.hasJokerSaturday = true;\r\n totalPrice += this.apiValues.jokerWednesday().price;\r\n totalPrice += this.apiValues.jokerSaturday().price;\r\n } else {\r\n game.hasJokerWednesday = false;\r\n game.hasJokerSaturday = false;\r\n }\r\n }\r\n }\r\n\r\n return game;\r\n }.bind(this)).sort(function (a, b) {\r\n return a.NumberOfRows - b.NumberOfRows;\r\n });\r\n\r\n pack.totalPrice = totalPrice;\r\n return pack;\r\n }.bind(this));\r\n\r\n this.showEurojackpotPackageNotification = function () {\r\n if (this.allSettings['eurojackpot'].manualGameVersionNo !== 2) return false;\r\n return this.packages &&\r\n this.packages.length &&\r\n this.packages.some(function (pack) {\r\n return pack.games.some(function (game) {\r\n return game.name === 'EuroJackpot';\r\n });\r\n });\r\n }.bind(this);\r\n\r\n this.showLottoPriceChangePackageNotification = function () {\r\n return this.packages &&\r\n this.packages.length &&\r\n this.packages.some(function (pack) {\r\n return pack.games.some(function (game) {\r\n return game.name === 'LottoSaturday';\r\n });\r\n });\r\n }.bind(this);\r\n\r\n this.back = function () {\r\n // only go back to joker step if jokers are available\r\n this.steps.current(this.apiValues.jokersAreAvailable() ? this.steps.joker : this.steps.budget);\r\n this.goToRoute('dialog-flow');\r\n }.bind(this);\r\n\r\n // make basket appear at bottom of screen\r\n this.showBasketBar();\r\n\r\n // tracking\r\n this.tracking.trackPackageOffers(this.packages);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n controller.checkBasket();\r\n\r\n return m('.front-page', [\r\n\r\n m(HeroPackages, {\r\n title: m.trust(controller.d('Packages/Title')),\r\n text: m.trust(controller.d('Packages/Text'))\r\n }),\r\n\r\n controller.packages && controller.packages.length ? m('.box-packages', [\r\n controller.packages.map(function (pack, i) {\r\n return [\r\n m('.box-package-wrapper',\r\n m('.box-package', {\r\n onclick: controller.togglePackage.bind(null, pack.id),\r\n 'data-uitest-id': 'Packages__package--' + (i + 1)\r\n }, [\r\n\r\n pack.popular ? m('img.box-package__banner', {\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/banner-populaer.svg'\r\n }) : null,\r\n\r\n m('.box-package__title', m.trust(controller.d('Packages/PackageTitle', {\r\n index: (i + 1),\r\n name: pack.name || ''\r\n }))),\r\n\r\n m('.box-package__games',\r\n pack.games.map(function (game) {\r\n var packageGame = function (options) {\r\n return m('.box-package__game',\r\n [\r\n game.NumberOfRows + ' × ',\r\n\r\n m('img.box-package__game-logo', {\r\n class: 'box-package__game-logo--' + game.name.toLowerCase(),\r\n src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/' + game.name.toLowerCase() + '.svg'\r\n }),\r\n\r\n options && options.dayName ? m('span.box-package__game-name', m.trust(controller.d('Packages/Eurojackpot' + options.dayName))) : null,\r\n function () {\r\n var jokerBadge = function (label) {\r\n return m('span.box-package__game-joker', [\r\n m.trust(label),\r\n m('img.box-package__game-joker-icon', { src: '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/Wizard/jokerhat.svg' })\r\n ]);\r\n };\r\n if (game.name.toLowerCase() === 'eurojackpot' &&\r\n controller.isEurojackpotV2('eurojackpot') &&\r\n (game.hasJokerWednesday || game.hasJokerSaturday)) {\r\n return [\r\n options.dayName === 'Tuesday' && game.hasJokerWednesday ? jokerBadge(controller.d('Packages/PackageJokerWednesday')) : null,\r\n options.dayName === 'Friday' && game.hasJokerSaturday ? jokerBadge(controller.d('Packages/PackageJokerSaturday')) : null\r\n ];\r\n }\r\n return game.hasJokerWednesday || game.hasJokerSaturday\r\n ? [\r\n game.hasJokerWednesday && game.hasJokerSaturday ? jokerBadge(controller.d('Packages/PackageJokerWednesdayAndSaturday')) : null,\r\n game.hasJokerWednesday && !game.hasJokerSaturday ? jokerBadge(controller.d('Packages/PackageJokerWednesday')) : null,\r\n !game.hasJokerWednesday && game.hasJokerSaturday ? jokerBadge(controller.d('Packages/PackageJokerSaturday')) : null\r\n ]\r\n : null;\r\n }()\r\n ]\r\n );\r\n };\r\n if (game.name.toLowerCase() === 'eurojackpot' && controller.isEurojackpotV2('eurojackpot')) {\r\n return [packageGame({ dayName: 'Tuesday' }), packageGame({ dayName: 'Friday' })];\r\n }\r\n return packageGame();\r\n })\r\n ),\r\n\r\n m('.box-package__total', [\r\n m('div', m.trust(controller.d('Packages/PackageTotal'))),\r\n m('div', pack.totalPrice + ' kr.')\r\n ]),\r\n\r\n m('.box-package__btn',\r\n {\r\n class: controller.isPackageSelected(pack.id) ? 'btn--selected' : '',\r\n }, controller.isPackageSelected(pack.id)\r\n ? m.trust(controller.d('Packages/PackageRemoveFromBasket'))\r\n : m.trust(controller.d('Packages/PackageAddToBasket')))\r\n ])\r\n )\r\n\r\n ];\r\n\r\n }),\r\n controller.showEurojackpotPackageNotification() ? NotificationBox('package_ejp_select_package', controller.notifications()) : null,\r\n controller.showLottoPriceChangePackageNotification() ? NotificationBox('package_lotto_select_package', controller.notifications()) : null,\r\n ]) : null,\r\n\r\n\r\n m('.front-page__slim-btn', {\r\n onclick: controller.back,\r\n 'data-uitest-id': 'Packages__btn--back'\r\n }, controller.d('Packages/CtaLabelBackToDialogFlow')),\r\n\r\n m(ChooseGames, { controller: controller }),\r\n\r\n !controller.advantagesHidden() ? m(PlusBulletPoints, { controller: controller }) : null,\r\n !controller.faqHidden() ? m(Faq, { controller: controller }) : null,\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return Packages;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Risk',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/ProceedBar',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Slider',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Step'\r\n ],\r\n function (m, Utils, ProceedBar, Slider, Step) {\r\n\r\n var Risk = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.tracking.trackRouteChange('plus_wizard', 'risk');\r\n\r\n this.proceed = function () {\r\n this.tracking.trackEvent('plus_wizard', 'risk', this.selectedValues.risk());\r\n args.controller.proceed();\r\n }.bind(this);\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n return m('.wizard-slide__content', [\r\n Step(controller.steps.risk, controller.steps.total),\r\n m('.wizard-slide__title', m.trust(controller.d('Risk/Title'))),\r\n controller.d('Risk/Text') ? m('.wizard-slide__text', m.trust(controller.d('Risk/Text'))) : null,\r\n\r\n m(Slider, {\r\n minValue: controller.apiValues.risk().minRisk,\r\n maxValue: controller.apiValues.risk().maxRisk,\r\n stepValue: controller.apiValues.risk().stepRisk,\r\n selectedValue: controller.selectedValues.risk(),\r\n minLabel: m.trust(controller.d('Risk/SliderLabelMin')),\r\n minSubLabel: m.trust(controller.d('Risk/SliderSubLabelMin')),\r\n maxLabel: m.trust(controller.d('Risk/SliderLabelMax')),\r\n maxSubLabel: m.trust(controller.d('Risk/SliderSubLabelMax')),\r\n showTicks: true,\r\n handler: controller.selectedValues.risk\r\n }),\r\n\r\n m(ProceedBar, { controller: controller })\r\n\r\n ]);\r\n }\r\n\r\n };\r\n\r\n return Risk;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Api',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Budget',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/FavoriteGame',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Joker',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/NumberOfGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Risk',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/Modal',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Templates/Wizard/TopNav'\r\n ],\r\n function (m, Utils, Api, Dictionary, Budget, FavoriteGame, Joker, NumberOfGames, Risk, Modal, TopNav) {\r\n\r\n var DialogFlow = {\r\n controller: function (args) {\r\n Utils.extend(this, args.controller);\r\n this.hideBasketBar();\r\n this.d = Dictionary.get.bind({ prefix: 'Wizard/DialogFlow/' });\r\n\r\n // if the flow just started, reset all previous values.\r\n if (this.steps.current() === this.steps.favoriteGame) {\r\n this.resetDialogFlowValues();\r\n }\r\n\r\n this.checkIfPackagesHasJokers = function (packages) {\r\n var apiValuesJokerSaturday = this.apiValues.jokerSaturday();\r\n var apiValuesJokerWednesday = this.apiValues.jokerWednesday();\r\n\r\n packages.forEach(function (pack) {\r\n pack.games.forEach(function (game) {\r\n // if EJP game has any joker then we have to add the other joker as EJP has to have both jokers\r\n var eurojackpotWithJoker = game.name.toLowerCase() === 'eurojackpot' && game.jokerGames && game.jokerGames.length > 0;\r\n if (game.jokerGames) {\r\n game.jokerGames.forEach(function (jokerGameId) {\r\n\r\n if (jokerGameId === apiValuesJokerSaturday.id || eurojackpotWithJoker) {\r\n apiValuesJokerSaturday.available = true;\r\n this.apiValues.jokerSaturday(apiValuesJokerSaturday);\r\n this.apiValues.jokersAreAvailable(true);\r\n }\r\n\r\n if (jokerGameId === apiValuesJokerWednesday.id || eurojackpotWithJoker) {\r\n apiValuesJokerWednesday.available = true;\r\n this.apiValues.jokerWednesday(apiValuesJokerWednesday);\r\n this.apiValues.jokersAreAvailable(true);\r\n }\r\n\r\n }.bind(this));\r\n }\r\n }.bind(this));\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.getWizardGames = function () {\r\n if (!this.apiValues.games()) {\r\n Api.getWizardGames().then(\r\n function (res) {\r\n var games = res.filter(function (game) {\r\n return game.isPrimary;\r\n });\r\n var jokers = res.filter(function (game) {\r\n return game.isJoker;\r\n });\r\n this.apiValues.games(games);\r\n\r\n jokers.forEach(function (joker) {\r\n if (joker.name === 'JokerWednesday') {\r\n this.apiValues.jokerWednesday(joker);\r\n } else if (joker.name === 'JokerSaturday') {\r\n this.apiValues.jokerSaturday(joker);\r\n }\r\n }.bind(this));\r\n\r\n this.loading(false);\r\n m.redraw();\r\n }.bind(this),\r\n function (err) {\r\n this.modal.show(true);\r\n this.modal.title(this.d('Errors/ApiFailGetGames/Title'));\r\n this.modal.text(this.d('Errors/ApiFailGetGames/Text'));\r\n this.modal.proceedLabel(this.d('Errors/ApiFailGetGames/ProceedLabel'));\r\n this.modal.defaultLabel(this.d('Errors/ApiFailGetGames/DefaultLabel'));\r\n this.modal.proceedCta = this.getWizardGames;\r\n this.modal.defaultCta = this.goToRoute;\r\n console.error('getWizardGames failed', err);\r\n this.loading(false);\r\n }.bind(this));\r\n }\r\n }.bind(this);\r\n\r\n this.getWizardRisk = function (nextStep) {\r\n Api.getWizardRisk().then(\r\n function (res) {\r\n this.selectedValues.risk(res.initialRisk);\r\n this.apiValues.risk(res);\r\n this.loading(false);\r\n this.steps.current(nextStep);\r\n m.redraw();\r\n }.bind(this),\r\n function (err) {\r\n this.modal.show(true);\r\n this.modal.title(this.d('Errors/ApiFailGetRisk/Title'));\r\n this.modal.text(this.d('Errors/ApiFailGetRisk/Text'));\r\n this.modal.proceedLabel(this.d('Errors/ApiFailGetRisk/ProceedLabel'));\r\n this.modal.defaultLabel(this.d('Errors/ApiFailGetRisk/DefaultLabel'));\r\n this.modal.proceedCta = this.getWizardRisk.bind(null, nextStep);\r\n this.modal.defaultCta = this.steps.current.bind(null, 1);\r\n console.error('getWizardRisk failed', err);\r\n this.loading(false);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.getWizardPricePoint = function (nextStep) {\r\n Api.getWizardPricePoint(\r\n this.selectedValues.favoriteGame(),\r\n this.selectedValues.numberOfGames(),\r\n this.selectedValues.risk()\r\n ).then(\r\n function (res) {\r\n if (res.minPrice < res.stepPrice) res.minPrice = res.stepPrice;\r\n this.selectedValues.budget(res.initialPrice);\r\n this.apiValues.budget(res);\r\n this.loading(false);\r\n this.steps.current(nextStep);\r\n m.redraw();\r\n }.bind(this),\r\n function (err) {\r\n this.modal.show(true);\r\n this.modal.title(this.d('Errors/ApiFailGetPricePoint/Title'));\r\n this.modal.text(this.d('Errors/ApiFailGetPricePoint/Text'));\r\n this.modal.proceedLabel(this.d('Errors/ApiFailGetPricePoint/ProceedLabel'));\r\n this.modal.defaultLabel(this.d('Errors/ApiFailGetPricePoint/DefaultLabel'));\r\n this.modal.proceedCta = this.getWizardPricePoint.bind(null, nextStep);\r\n this.modal.defaultCta = this.steps.current.bind(null, 1);\r\n console.error('getWizardPricePoint failed', err);\r\n this.loading(false);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.getWizardPackages = function (nextStep) {\r\n Api.getWizardPackages(\r\n this.selectedValues.favoriteGame(),\r\n this.selectedValues.numberOfGames(),\r\n this.selectedValues.risk(),\r\n this.selectedValues.budget()\r\n ).then(\r\n function (res) {\r\n this.apiValues.packages(res);\r\n this.checkIfPackagesHasJokers(res);\r\n nextStep = this.apiValues.jokersAreAvailable() ? nextStep : nextStep + 1;\r\n this.loading(false);\r\n this.steps.current(nextStep);\r\n m.redraw();\r\n }.bind(this),\r\n function (err) {\r\n this.modal.show(true);\r\n this.modal.title(this.d('Errors/ApiFailGetPackages/Title'));\r\n this.modal.text(this.d('Errors/ApiFailGetPackages/Text'));\r\n this.modal.proceedLabel(this.d('Errors/ApiFailGetPackages/ProceedLabel'));\r\n this.modal.defaultLabel(this.d('Errors/ApiFailGetPackages/DefaultLabel'));\r\n this.modal.proceedCta = this.getWizardPackages.bind(null, nextStep);\r\n this.modal.defaultCta = this.steps.current.bind(null, 1);\r\n console.error('getWizardPackages failed', err);\r\n this.loading(false);\r\n }.bind(this));\r\n }.bind(this);\r\n\r\n this.proceed = function () {\r\n var nextStep = this.steps.current() + 1;\r\n\r\n switch (nextStep) {\r\n case this.steps.risk:\r\n if (!this.apiValues.risk()) {\r\n this.loading(true);\r\n this.getWizardRisk(nextStep);\r\n } else {\r\n this.steps.current(nextStep);\r\n m.redraw();\r\n }\r\n break;\r\n\r\n case this.steps.budget:\r\n this.loading(true);\r\n this.getWizardPricePoint(nextStep);\r\n break;\r\n\r\n case this.steps.joker:\r\n this.loading(true);\r\n this.getWizardPackages(nextStep);\r\n break;\r\n\r\n default:\r\n this.steps.current(nextStep);\r\n m.redraw();\r\n }\r\n }.bind(this);\r\n\r\n this.back = function () {\r\n var previousStep = this.steps.current() - 1;\r\n\r\n switch (previousStep) {\r\n case (this.steps.joker):\r\n previousStep = this.apiValues.jokersAreAvailable() ? previousStep : previousStep - 1;\r\n break;\r\n\r\n case (this.steps.joker - 1):\r\n this.apiValues.jokersAreAvailable(null);\r\n this.apiValues.packages(null);\r\n this.selectedValues.jokerWednesday(null);\r\n this.selectedValues.jokerSaturday(null);\r\n break;\r\n\r\n case (this.steps.budget - 1):\r\n this.apiValues.budget(null);\r\n break;\r\n }\r\n\r\n this.steps.current(previousStep);\r\n m.redraw();\r\n }.bind(this);\r\n\r\n // init, get games\r\n this.getWizardGames();\r\n\r\n return this;\r\n },\r\n\r\n view: function (controller) {\r\n if (controller.steps.current() === controller.steps.packages) {\r\n return controller.goToRoute();\r\n }\r\n\r\n return [\r\n TopNav(controller.goToRoute),\r\n m('.wizard-slides',\r\n {\r\n class: 'wizard-slides--step' + controller.steps.current(),\r\n 'data-uitest-id': 'DialogFlow'\r\n },\r\n [\r\n m('.wizard-slide', controller.steps.current() === controller.steps.favoriteGame ? m.component(FavoriteGame, { controller: controller }) : null),\r\n m('.wizard-slide', controller.steps.current() === controller.steps.numberOfGames ? m.component(NumberOfGames, { controller: controller }) : null),\r\n m('.wizard-slide', controller.steps.current() === controller.steps.risk ? m.component(Risk, { controller: controller }) : null),\r\n m('.wizard-slide', controller.steps.current() === controller.steps.budget ? m.component(Budget, { controller: controller }) : null),\r\n m('.wizard-slide', controller.steps.current() === controller.steps.joker ? m.component(Joker, { controller: controller }) : null),\r\n ]),\r\n\r\n m(Modal, { controller: controller })\r\n\r\n ];\r\n }\r\n\r\n };\r\n\r\n return DialogFlow;\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/Wizard',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Dictionary',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Tracking',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/GameController',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/ChooseGames',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Intro',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow/Packages',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Wizard/DialogFlow'\r\n ],\r\n function (Component, CrossWindowEvents, Params, Dictionary, Tracking, GameController, ChooseGames, Intro, Packages, DialogFlow) {\r\n // Component:\r\n Component('wizard', function (m, ignoreRoute, settings, property, element) {\r\n Params.set('plus');\r\n this.params = Params;\r\n this.paramGameType = m.prop();\r\n this.paramPlayType = m.prop();\r\n this.paramId = m.prop();\r\n this.shouldEditGameInBasket = m.prop();\r\n this.firstPageLoad = m.prop(true);\r\n this.d = Dictionary.get.bind({ prefix: 'Wizard/' });\r\n this.loading = m.prop(true);\r\n this.settings = settings;\r\n this.property = property;\r\n this.gameController = GameController;\r\n this.tracking = Tracking;\r\n this.shouldScrollToTopOnLoad = m.prop(true);\r\n this.advantagesHidden = m.prop(settings.advantagesHidden === 'true');\r\n this.faqHidden = m.prop(settings.faqHidden === 'true');\r\n this.heroImage = m.prop(settings.heroImage);\r\n this.notifications = m.prop(settings.notifications);\r\n this.lightningHeroImageUrl = {\r\n allornothing: {\r\n mobile: settings.heroImageAllOrNothingMobile,\r\n tablet: settings.heroImageAllOrNothingTablet,\r\n desktop: settings.heroImageAllOrNothingDesktop,\r\n },\r\n eurojackpot: {\r\n mobile: settings.heroImageEurojackpotMobile,\r\n tablet: settings.heroImageEurojackpotTablet,\r\n desktop: settings.heroImageEurojackpotDesktop,\r\n },\r\n keno: {\r\n mobile: settings.heroImageKenoMobile,\r\n tablet: settings.heroImageKenoTablet,\r\n desktop: settings.heroImageKenoDesktop,\r\n },\r\n lotto: {\r\n mobile: settings.heroImageLottoMobile,\r\n tablet: settings.heroImageLottoTablet,\r\n desktop: settings.heroImageLottoDesktop,\r\n },\r\n vikinglotto: {\r\n mobile: settings.heroImageVikinglottoMobile,\r\n tablet: settings.heroImageVikinglottoTablet,\r\n desktop: settings.heroImageVikinglottoDesktop,\r\n }\r\n };\r\n\r\n this.gameTypeIcons = {\r\n lightning: settings.gameTypeIconLightning,\r\n classic: settings.gameTypeIconClassic,\r\n lucky: settings.gameTypeIconLucky,\r\n system: settings.gameTypeIconSystem,\r\n highPool: settings.gameTypeIconHighPool,\r\n };\r\n\r\n this.allSettings = settings.games\r\n .filter(function (game) {\r\n return !game.game.isJackpot;\r\n }).reduce(function (acc, curr) {\r\n acc[curr.name] = curr.game || {};\r\n return acc;\r\n }, {});\r\n\r\n this.modal = {\r\n logoSrc: m.prop('/Components/DanskeSpil/Domain/Subscriptions/Graphics/plus-icon.svg'),\r\n show: m.prop(),\r\n title: m.prop(),\r\n text: m.prop(),\r\n proceedLabel: m.prop(),\r\n proceedCta: null,\r\n defaultLabel: m.prop(),\r\n defaultCta: null,\r\n };\r\n\r\n this.stepsSelect = function (stepSelect) {\r\n var steps = {\r\n flow: {\r\n current: m.prop(1),\r\n total: 5,\r\n favoriteGame: 1,\r\n numberOfGames: 2,\r\n risk: 3,\r\n budget: 4,\r\n joker: 5,\r\n packages: 6\r\n },\r\n lightning: {\r\n current: m.prop(1),\r\n chooseGame: 1,\r\n lightningRows: 2,\r\n chooseGameFinal: 3,\r\n },\r\n lightningJoker: {\r\n current: m.prop(1),\r\n chooseGame: 1,\r\n lightningRows: 2,\r\n lightningJoker: 3,\r\n chooseGameFinal: 4,\r\n },\r\n gameClient: {\r\n current: m.prop(1),\r\n chooseGame: 1,\r\n classicRows: 2,\r\n chooseGameFinal: 3,\r\n }\r\n };\r\n\r\n return steps[stepSelect];\r\n };\r\n\r\n // init\r\n this.steps = this.stepsSelect('flow');\r\n\r\n this.apiValues = {\r\n games: m.prop(),\r\n jokerSaturday: m.prop({}),\r\n jokerWednesday: m.prop({}),\r\n jokersAreAvailable: m.prop(),\r\n risk: m.prop(),\r\n budget: m.prop(),\r\n packages: m.prop(),\r\n };\r\n\r\n this.selectedValues = {\r\n favoriteGame: m.prop(0),\r\n numberOfGames: m.prop(0),\r\n risk: m.prop(),\r\n budget: m.prop(),\r\n packages: m.prop([]),\r\n jokerWednesday: m.prop(),\r\n jokerSaturday: m.prop()\r\n };\r\n\r\n this.resetDialogFlowValues = function () {\r\n this.apiValues.games(null);\r\n this.apiValues.jokerSaturday({});\r\n this.apiValues.jokerWednesday({});\r\n this.apiValues.jokersAreAvailable(null);\r\n this.apiValues.risk(null);\r\n this.apiValues.budget(null);\r\n this.apiValues.packages(null);\r\n this.selectedValues.favoriteGame(0);\r\n this.selectedValues.numberOfGames(0);\r\n this.selectedValues.risk(null);\r\n this.selectedValues.budget(null);\r\n this.selectedValues.packages([]);\r\n this.selectedValues.jokerWednesday(null);\r\n this.selectedValues.jokerSaturday(null);\r\n }.bind(this);\r\n\r\n this.gameTypeHasPlayType = function (gameType, playType) {\r\n gameType = gameType.toLowerCase().replace('lottosaturday', 'lotto');\r\n var playTypes = {\r\n allornothing: ['lightning', 'classic'],\r\n eurojackpot: ['lightning', 'classic', 'lucky', 'system', 'joker', 'highpool'],\r\n keno: ['lightning'],\r\n lotto: ['lightning', 'classic', 'lucky', 'system', 'joker'],\r\n vikinglotto: ['lightning', 'classic', 'lucky', 'system', 'joker'],\r\n };\r\n return playTypes[gameType] && playTypes[gameType].indexOf(playType) > -1;\r\n };\r\n\r\n // Components:\r\n var root = {\r\n controller: function () {\r\n this.showBasketBar();\r\n\r\n // don't track route change on first time user access the main page.\r\n if (this.firstPageLoad()) {\r\n this.firstPageLoad(false);\r\n } else {\r\n if (this.steps.current() === this.steps.packages) {\r\n this.tracking.trackRouteChange('plus_wizard', 'packages');\r\n } else {\r\n this.tracking.trackRouteChange('plus_wizard', 'intro');\r\n }\r\n }\r\n\r\n // redirect if we should edit a game that was already in basket\r\n if (Params.extract('action') === 'edit') {\r\n this.editGameInBasket(Params.extract('gameType'), Params.extract('playType'), Params.extract('id'));\r\n Params.set('action=');\r\n Params.set('gameType=');\r\n Params.set('playType=');\r\n Params.set('id=');\r\n }\r\n\r\n // redirect if url is trying to deep link to a specific game in a specific region, eg. /lotto/system\r\n var allornothingPlayType = m.route.param('allornothingPlayType');\r\n if (allornothingPlayType && this.gameTypeHasPlayType('allornothing', allornothingPlayType)) this.editGameInBasket('allornothing', allornothingPlayType);\r\n\r\n var eurojackpotPlayType = m.route.param('eurojackpotPlayType');\r\n if (eurojackpotPlayType && this.gameTypeHasPlayType('eurojackpot', eurojackpotPlayType)) this.editGameInBasket('eurojackpot', eurojackpotPlayType);\r\n\r\n var kenoPlayType = m.route.param('kenoPlayType');\r\n if (kenoPlayType && this.gameTypeHasPlayType('keno', kenoPlayType)) this.editGameInBasket('keno', kenoPlayType);\r\n\r\n var lottoPlayType = m.route.param('lottoPlayType');\r\n if (lottoPlayType && this.gameTypeHasPlayType('lotto', lottoPlayType)) this.editGameInBasket('lotto', lottoPlayType);\r\n\r\n var vikinglottoPlayType = m.route.param('vikinglottoPlayType');\r\n if (vikinglottoPlayType && this.gameTypeHasPlayType('vikinglotto', vikinglottoPlayType)) this.editGameInBasket('vikinglotto', vikinglottoPlayType);\r\n\r\n return this;\r\n }.bind(this),\r\n\r\n view: function (controller) {\r\n return [\r\n controller.steps.current() === controller.steps.packages\r\n ? m.component(Packages, { controller: controller })\r\n : m.component(Intro, { controller: controller })\r\n ];\r\n }\r\n };\r\n\r\n CrossWindowEvents.subscribe('ds.event.basket:edit', function (ev) {\r\n this.editGameInBasket(ev.gameType, ev.playType, ev.id);\r\n }.bind(this));\r\n\r\n this.editGameInBasket = function (gameType, playType, id) {\r\n if (gameType && playType) {\r\n this.shouldEditGameInBasket(true);\r\n this.paramGameType(gameType);\r\n this.paramPlayType(playType);\r\n this.paramId(id);\r\n this.goToRoute(gameType);\r\n } else {\r\n this.resetParams();\r\n }\r\n }.bind(this);\r\n\r\n this.resetParams = function () {\r\n this.shouldEditGameInBasket(false);\r\n this.paramGameType(null);\r\n this.paramPlayType(null);\r\n this.paramId(null);\r\n };\r\n\r\n this.gameHasJoker = function (region) {\r\n return this.gameTypeHasPlayType(region, 'joker');\r\n };\r\n\r\n this.isEurojackpotV2 = function (region) {\r\n if (region) return region === 'eurojackpot' &&\r\n this.allSettings['eurojackpot'].manualGameVersionNo === 2;\r\n return this.apiValues.games() &&\r\n this.selectedValues.favoriteGame() === 16 &&\r\n this.allSettings['eurojackpot'].manualGameVersionNo === 2;\r\n };\r\n\r\n this.gameHasClassic = function (region) {\r\n return this.gameTypeHasPlayType(region, 'classic');\r\n };\r\n\r\n this.gameHasLucky = function (region) {\r\n return this.gameTypeHasPlayType(region, 'lucky');\r\n };\r\n\r\n this.gameHasSystem = function (region) {\r\n return this.gameTypeHasPlayType(region, 'system');\r\n };\r\n\r\n this.gameHasHighpool = function (region) {\r\n return this.gameTypeHasPlayType(region, 'highpool');\r\n };\r\n\r\n this.goToRoute = function (route) {\r\n m.route('/' + (route || ''));\r\n this.gameController.reset();\r\n }.bind(this);\r\n\r\n this.hideBasketBar = function () {\r\n document.querySelector('.js-basket').classList.add('basket--hidden');\r\n };\r\n\r\n this.showBasketBar = function () {\r\n document.querySelector('.js-basket').classList.remove('basket--hidden');\r\n this.triggerBasketPlacement();\r\n }.bind(this);\r\n\r\n this.triggerBasketPlacement = function () {\r\n // basket listens to scroll events to determine its placement.\r\n window.scrollTo({ top: 1 });\r\n window.scrollTo({ top: 0 });\r\n };\r\n\r\n this.scrollToTop = function (ignoreEl, isInit) {\r\n if (isInit && this.shouldScrollToTopOnLoad()) {\r\n window.scrollTo({ top: 0 });\r\n this.shouldScrollToTopOnLoad(false);\r\n }\r\n }.bind(this);\r\n\r\n m.route.mode = 'hash';\r\n // Routes:\r\n m.route(element, '/', {\r\n '/': m.component(root),\r\n '/dialog-flow': m.component(DialogFlow, { controller: this }),\r\n '/lotto': m.component(ChooseGames, { region: 'lotto', controller: this }),\r\n '/lotto/:lottoPlayType': m.component(root),\r\n '/eurojackpot': m.component(ChooseGames, { region: 'eurojackpot', controller: this }),\r\n '/eurojackpot/:eurojackpotPlayType': m.component(root),\r\n '/vikinglotto': m.component(ChooseGames, { region: 'vikinglotto', controller: this }),\r\n '/vikinglotto/:vikinglottoPlayType': m.component(root),\r\n '/keno': m.component(ChooseGames, { region: 'keno', controller: this }),\r\n '/keno/:kenoPlayType': m.component(root),\r\n '/allornothing': m.component(ChooseGames, { region: 'allornothing', controller: this }),\r\n '/allornothing/:allornothingPlayType': m.component(root),\r\n });\r\n\r\n });\r\n });\r\n","defineDs(\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/PreviousSubscriptions/PreviousSubscriptions',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/PreviousSubscriptions/Card',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n ],\r\n (Component, Card, SubscriptionModel, LoginCache) => {\r\n // eslint-disable-next-line no-unused-vars\r\n Component('previous-subscriptions', function (m, route, settings) {\r\n const isMobile = () => window.matchMedia('(max-width: 480px)').matches;\r\n\r\n const root = {\r\n controller: function () {\r\n this.ready = m.prop(false);\r\n this.isExpanded = m.prop(false);\r\n this.subscriptionModel = new SubscriptionModel();\r\n this.subscriptions = m.prop(null);\r\n this.initialCardCount = m.prop(isMobile() ? 1 : 2);\r\n\r\n const init = async () => {\r\n const [notTerminated, terminated] = await Promise.all([\r\n this.subscriptionModel.getSubscriptionIds('~Terminated'),\r\n this.subscriptionModel.getSubscriptionIds('Terminated'),\r\n ]);\r\n\r\n const hasActiveSubscriptions = !!notTerminated.length;\r\n if (hasActiveSubscriptions || terminated.length === 0) return;\r\n\r\n const top4Terminated = terminated.slice(0, 4);\r\n const subscriptions = await Promise.all(\r\n top4Terminated.map((subscription) => this.subscriptionModel.getSubscription(subscription.id))\r\n );\r\n this.subscriptions(subscriptions);\r\n this.ready(true);\r\n document.querySelector('.previous-subscriptions').classList.remove('previous-subscriptions--hidden');\r\n };\r\n\r\n this.getCardContent = () => {\r\n const cardContent = [];\r\n for (const subscription of this.subscriptions()) {\r\n cardContent.push();\r\n }\r\n return this.isExpanded() ? cardContent : cardContent.slice(0, this.initialCardCount());\r\n };\r\n\r\n this.onExpandClick = () => {\r\n this.isExpanded(true);\r\n };\r\n\r\n if (LoginCache.isLoggedIn()) {\r\n init();\r\n }\r\n },\r\n view: function (ctrl) {\r\n if (!ctrl.ready()) {\r\n return null;\r\n }\r\n\r\n const cardContent = ctrl.getCardContent();\r\n\r\n return (\r\n \r\n
{settings.title}
\r\n
{settings.subTitle}
\r\n
{cardContent}
\r\n {ctrl.isExpanded() || ctrl.initialCardCount() > cardContent.length ? null : (\r\n \r\n )}\r\n
\r\n );\r\n },\r\n };\r\n\r\n // Setup routes:\r\n route('/', root);\r\n });\r\n }\r\n);\r\n","defineDs(\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/CurrentJackpots/Game',\r\n ['Shared/Framework/Mithril/Scripts/Core/Mithril',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n ],\r\n (m, Ensighten) => {\r\n const Game = {\r\n controller: function (args) {\r\n Object.assign(this, args);\r\n\r\n },\r\n view: function (controller) {\r\n return m('.current-jackpots__game.current-jackpots__game--' + controller.game, {\r\n onclick: () => {\r\n Ensighten.pushGaEventOnPageRedirect('plus', 'favorite_cta_click', controller.game);\r\n if (controller.btnCta) {\r\n window.location.href = controller.btnCta;\r\n }\r\n },\r\n class: 'game-order-' + controller.index,\r\n 'data-uitest-id': 'ChooseGames__btn--' + controller.game\r\n }, [\r\n m('img.current-jackpots__game-icon', { src: controller.icon }),\r\n m('img.current-jackpots__game-logo', { src: controller.logo }),\r\n m('.current-jackpots__game-pool-label', controller.poolLabel),\r\n m('.current-jackpots__game-pool-value', controller.poolValue),\r\n m('.current-jackpots__game-btn', controller.btnText)\r\n ]);\r\n },\r\n };\r\n return Game;\r\n }\r\n);\r\n","defineDs('DanskeSpil/Domain/NumberGames/Scripts/Components/CurrentJackpots/CurrentJackpots', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Framework/PuljeFeed/Scripts/JackpotInfo',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/CurrentJackpots/Game'\r\n\r\n], function (Component, JackpotInfo, GameItem) {\r\n Component('current-jackpots', function (m, route, settings, ignoreProperty, $element) {\r\n\r\n const root = {\r\n controller: function () {\r\n // variables\r\n this.title = settings.title;\r\n this.text = settings.text;\r\n let games = [];\r\n\r\n const iconPath = '/Components/DanskeSpil/Domain/Subscriptions/Graphics/SpriteSheets/WizardGameIcons/';\r\n const logoPath = '/Components/DanskeSpil/Domain/Subscriptions/Graphics/WizardGameLogos/';\r\n\r\n settings.gameOrder.forEach((game, index) => {\r\n switch (game) {\r\n case 'lotto':\r\n games.push(m(GameItem,\r\n { index: (index + 1),\r\n game: game,\r\n icon: iconPath + 'lotto.svg',\r\n logo: logoPath + 'lotto-white.svg',\r\n poolLabel: settings.labelMinPoolSizeText,\r\n poolValue: (JackpotInfo.getByGame(game)?.poolSize || JackpotInfo.getByGame(game)?.minimumPoolSize) + ' MIO',\r\n btnText: settings.labelCtaButtonText,\r\n btnCta: settings.lottoLink\r\n }));\r\n break;\r\n case 'eurojackpot':\r\n games.push(m(GameItem,\r\n { index: (index + 1),\r\n game: game,\r\n icon: iconPath + 'eurojackpot.svg',\r\n logo: logoPath + 'eurojackpot-white.svg',\r\n poolLabel: settings.labelMinPoolSizeText,\r\n poolValue: (JackpotInfo.getByGame(game)?.poolSize || JackpotInfo.getByGame(game)?.minimumPoolSize) + ' MIO',\r\n btnText: settings.labelCtaButtonText,\r\n btnCta: settings.eurojackpotLink\r\n }));\r\n break;\r\n case 'vikinglotto':\r\n\r\n games.push(m(GameItem,\r\n { index: (index + 1),\r\n game: game,\r\n icon: iconPath + 'vikinglotto.svg',\r\n logo: logoPath + 'vikinglotto-white.svg',\r\n poolLabel: settings.labelMinPoolSizeText,\r\n poolValue: (JackpotInfo.getByGame(game)?.poolSize || JackpotInfo.getByGame(game)?.minimumPoolSize) + ' MIO',\r\n btnText: settings.labelCtaButtonText,\r\n btnCta: settings.vikinglottoLink\r\n }));\r\n break;\r\n case 'keno':\r\n games.push(m(GameItem,\r\n { index: (index + 1),\r\n game: game,\r\n icon: iconPath + 'keno.svg',\r\n logo: logoPath + 'keno-white.svg',\r\n poolLabel: settings.labelKenoText,\r\n poolValue: settings.kenoValue,\r\n btnText: settings.labelCtaButtonText,\r\n btnCta: settings.kenoLink\r\n }));\r\n break;\r\n case 'allornothing':\r\n games.push(m(GameItem,\r\n { index: (index + 1),\r\n game: game,\r\n icon: iconPath + 'allornothing.svg',\r\n logo: logoPath + 'allornothing-white.svg',\r\n poolLabel: settings.labelAllOrNothingText,\r\n poolValue: settings.allOrNothingValue,\r\n btnText: settings.labelCtaButtonText,\r\n btnCta: settings.allOrNothingLink\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n this.games = games;\r\n\r\n const initateAnimation = () => {\r\n const boxes = $element.querySelectorAll('.current-jackpots__game');\r\n const randomIndex = Math.floor(Math.random() * boxes.length);\r\n const selectedBox = boxes[randomIndex];\r\n\r\n selectedBox?.classList.add('current-jackpots__game--animate');\r\n try {\r\n selectedBox.onanimationend = (event) => {\r\n const animationName = event.animationName;\r\n if (animationName === 'currentjackpots-animation') {\r\n selectedBox.classList.remove('current-jackpots__game--animate');\r\n }\r\n };\r\n } catch { (exception) => console.log(exception); }\r\n };\r\n\r\n setInterval(() => {\r\n initateAnimation();\r\n }, 4000);\r\n\r\n },\r\n\r\n view: function (controller) {\r\n return m('.current-jackpots', [\r\n (controller.title || controller.text) ? [\r\n controller.title ? m('h2.current-jackpots__title', controller.title) : null,\r\n controller.text ? m('.current-jackpots__text', m.trust(controller.text)) : null,\r\n ] : '',\r\n m('.current-jackpots__games', [\r\n controller.games\r\n ])\r\n ]);\r\n }\r\n };\r\n\r\n route('/', root);\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Plus/AddSubscriptionCta/AddSubscriptionCta.js', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Plus/Subscription',\r\n 'DanskeSpil/Domain/Authentification/Scripts/LoginCache',\r\n 'Common/Framework/EventHandling/Scripts/CrossWindowEvents',\r\n\r\n], function (Component, SubscriptionModel, LoginCache, CrossWindowEvents) {\r\n // eslint-disable-next-line no-unused-vars\r\n Component('add-subscription-cta', function (m, route, settings, ignoreProperty, $element) {\r\n\r\n const root = {\r\n controller: function () {\r\n // variables\r\n this.title = settings.title;\r\n this.text = settings.text;\r\n this.callToAction = settings.callToAction;\r\n\r\n if (settings.showOnlyForPreviousSubscriptions) {\r\n this.subscriptionModel = new SubscriptionModel();\r\n const init = async () => {\r\n const [notTerminated, terminated] = await Promise.all([\r\n this.subscriptionModel.getSubscriptionIds('~Terminated'),\r\n this.subscriptionModel.getSubscriptionIds('Terminated'),\r\n ]);\r\n if (notTerminated.length === 0 && terminated.length > 0) {\r\n $element.classList.remove('add-subscription-cta--hidden');\r\n }\r\n };\r\n\r\n if (LoginCache.isLoggedIn()) {\r\n init();\r\n }\r\n } else {\r\n $element.classList.remove('add-subscription-cta--hidden');\r\n }\r\n\r\n CrossWindowEvents.subscribe('ds.event.userLoggedOut', function () {\r\n if (settings.showOnlyForPreviousSubscriptions) {\r\n $element.classList.add('add-subscription-cta--hidden');\r\n }\r\n }.bind(this));\r\n },\r\n\r\n view: function (controller) {\r\n return (\r\n
\r\n {controller.title &&

{controller.title}

}\r\n {controller.text && (\r\n
{m.trust(controller.text)}
\r\n )}\r\n \r\n
\r\n
\r\n
{controller.callToAction.title}
\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/Subscriptions/Scripts/Components/Plus/PackageRotator/PackageRotator', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Shared/SubscriptionCard/Card',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Utils/Slider',\r\n], function (Component, Card, SubscriptionModel, ModelStorage, Slider) {\r\n Component('package-rotator', [Card, SubscriptionModel, ModelStorage], function (m, route, settings, ignoreProperty, $element) {\r\n\r\n const root = {\r\n controller: function () {\r\n\r\n this.title = settings.title;\r\n this.text = settings.text;\r\n this.cta = settings.cta;\r\n this.loading = m.prop(false);\r\n\r\n let runningTransition = false;\r\n let packages = [];\r\n this.slider;\r\n\r\n this.element = m.prop($element);\r\n\r\n const reorderPackageCollection = (arr) => {\r\n const result = [];\r\n arr.forEach((item, index) => {\r\n if (index % 2 === 0) {\r\n result.unshift(item);\r\n } else {\r\n result.push(item);\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n packages = reorderPackageCollection(settings.packages);\r\n\r\n this.subscriptionsPackages = m.prop([]);\r\n packages.forEach((subscription) => {\r\n const subscriptionPlayType = subscription.playType?.toLowerCase() || 'plus';\r\n const subscriptionModel = SubscriptionModel.new({ verticalType: subscriptionPlayType });\r\n subscriptionModel.ribbon = subscription.ribbon || null;\r\n subscription.games.forEach((gameFromPackage) => {\r\n const compatibleGameName = subscriptionModel.resolveGameType(gameFromPackage.gameType.toLowerCase());\r\n subscriptionModel.games().push({\r\n gameType: compatibleGameName,\r\n playType: 'Lightning',\r\n rowsToGenerate: gameFromPackage.rowCount,\r\n withJokerSaturday: gameFromPackage.joker?.includes('JokerSaturday') || false,\r\n withJokerWednesday: gameFromPackage.joker?.includes('JokerWednesday') || false,\r\n addOnTriggerValue: subscriptionPlayType === 'jackpot' ? gameFromPackage.jackpotAmount : null,\r\n });\r\n });\r\n const gameInstances = subscriptionModel.gameInstances();\r\n subscriptionModel.games(gameInstances.map((gameInstance) => ({\r\n game: gameInstance.instance,\r\n type: gameInstance.type.toLowerCase(),\r\n name: gameInstance.type + gameInstance.instance.playType(),\r\n })));\r\n this.subscriptionsPackages().push(subscriptionModel);\r\n });\r\n\r\n const elementClicked = (event, item, index) => {\r\n let isCenter = item.classList.contains('package-rotator__item--highlight');\r\n if (isCenter) {\r\n doCtaClick(index);\r\n }\r\n };\r\n\r\n this.initiateSlider = () => {\r\n\r\n // Select item collection\r\n const itemCollection = this.element().querySelectorAll('.package-rotator__item');\r\n\r\n // Initialize the slider\r\n const slider = Slider.init({\r\n name: 'packageRotator',\r\n container: {\r\n class: 'package-rotator__container-items',\r\n },\r\n containerItems: {\r\n class: 'package-rotator__items',\r\n },\r\n containerItem: {\r\n class: 'package-rotator__item',\r\n width: 263,\r\n padding: 0,\r\n },\r\n center: true,\r\n onLoad: () => {\r\n // Call the first function\r\n animateItems(itemCollection);\r\n this.element().getElementsByClassName('package-rotator__container-items')[0].classList.remove('package-rotator__container-items--visibility-hidden');\r\n },\r\n onClick: elementClicked,\r\n onDrag: () => animateItems(itemCollection),\r\n onTransitionStart: () => handleItemsOnClick(itemCollection),\r\n onTransitionEnd: () => reAnimateBox(itemCollection),\r\n responsive: {\r\n 768: {\r\n itemWidth: 350,\r\n },\r\n },\r\n });\r\n // Return the slider instance if needed\r\n return slider;\r\n };\r\n\r\n const distFromCenterToMaxDist = (element) => {\r\n const posLeft = element.getBoundingClientRect().left;\r\n const posRight = element.getBoundingClientRect().right;\r\n const screenCenter = window.innerWidth / 2;\r\n const middleOfElement = Math.round((posLeft + posRight) / 2);\r\n const elementWidth = Math.abs(posLeft - posRight);\r\n const maxDistance = 3 * elementWidth;\r\n const fromCenter = Math.round(screenCenter - middleOfElement);\r\n let distPercentage = Math.round((fromCenter / maxDistance) * 100, 100);\r\n // accounting for the fact that the center item is not always in the center\r\n distPercentage = distPercentage === 1 ? 0 : distPercentage;\r\n return distPercentage;\r\n };\r\n\r\n const isCenterItem = (element) => {\r\n const posLeft = element.getBoundingClientRect().left;\r\n const posRight = element.getBoundingClientRect().right;\r\n const middleOfElement = Math.round((posLeft + posRight) / 2);\r\n const elementWidth = Math.abs(posLeft - posRight);\r\n const screenCenter = window.innerWidth / 2;\r\n const low = screenCenter - (elementWidth / 2);\r\n const high = screenCenter + (elementWidth / 2);\r\n return middleOfElement >= low && middleOfElement <= high;\r\n };\r\n\r\n const doCtaClick = () => {\r\n if (window.innerWidth <= 768) {\r\n // Enables click on center item on mobile\r\n this.addSubscriptionToBasket(null);\r\n }\r\n };\r\n\r\n const reAnimateBox = (items) => {\r\n items.forEach((item) => {\r\n const animatedBox = item.querySelector('.subscription-card .animate-spin');\r\n if (animatedBox) {\r\n animatedBox.classList.remove('animate-spin--none');\r\n }\r\n });\r\n };\r\n\r\n const handleItemsOnClick = (items) => {\r\n items.forEach((item) => {\r\n const animatedBox = item.querySelector('.subscription-card .animate-spin');\r\n if (animatedBox) {\r\n animatedBox.classList.add('animate-spin--none');\r\n }\r\n });\r\n\r\n runningTransition = true;\r\n let brake = 0;\r\n const intervalId = setInterval(() => {\r\n brake++;\r\n if (brake > 10) runningTransition = false;\r\n // smooth transition on click\r\n if (runningTransition) {\r\n animateItems(items);\r\n } else {\r\n clearInterval(intervalId);\r\n }\r\n }, 30);\r\n };\r\n\r\n const calcAngle = (x) => {\r\n const sign = Math.sign(x) * -1;\r\n x = Math.abs(x);\r\n return Math.round(sign * ((-0.000998 * Math.pow(x, 2)) + (0.3058 * x)));\r\n };\r\n\r\n const calcTranslateY = (x) => {\r\n x = Math.abs(x);\r\n return Math.round((0.00002551 * Math.pow(x, 3)) + (0.03796 * Math.pow(x, 2)) - (0.55303 * x));\r\n };\r\n\r\n const calcTranslateX = (x) => {\r\n const sign = Math.sign(x) * -1;\r\n x = Math.abs(x);\r\n return Math.round(sign * ((0.0000292 * Math.pow(x, 3)) - (0.02651 * Math.pow(x, 2)) + (1.5702 * x)));\r\n };\r\n\r\n const calcScale = (x) => {\r\n x = Math.abs(x);\r\n return Math.round(((-0.00006823 * Math.pow(x, 3)) + (0.01522 * Math.pow(x, 2)) + (-1.2591 * x) + 100)) / 100;\r\n };\r\n\r\n const calcOpacity = (x) => {\r\n x = Math.abs(x);\r\n if (x <= 30) return 1;\r\n return (100 - x) / 100;\r\n };\r\n\r\n const animateItems = function (items) {\r\n Array.from(items).forEach((item, index) => { // eslint-disable-line no-unused-vars\r\n const distFromCenter = distFromCenterToMaxDist(item);\r\n const card = item.querySelector('.package-rotator__card');\r\n if (card) {\r\n let rotation = calcAngle(distFromCenter);\r\n const scale = calcScale(distFromCenter);\r\n let translateX = calcTranslateX(distFromCenter);\r\n const translateY = calcTranslateY(distFromCenter);\r\n const itemIsCenter = isCenterItem(item);\r\n\r\n item.classList.toggle('package-rotator__item--highlight', itemIsCenter);\r\n card.style.transform = `rotate(${rotation}deg) scale(${scale}) translateX(${translateX}px) translateY(${translateY}px) translateZ(0)`;\r\n card.style.opacity = calcOpacity(distFromCenter);\r\n }\r\n });\r\n };\r\n\r\n\r\n this.addSubscriptionToBasket = (event) => {\r\n event?.preventDefault();\r\n var currentIndex = this.slider.getInfo().index;\r\n let slides = this.element().querySelectorAll('.package-rotator__item');\r\n var currentSlide = slides[currentIndex];\r\n const packageId = currentSlide.getAttribute('packageid');\r\n\r\n if (this.subscriptionsPackages && packageId) {\r\n let subscriptionPackageSelected = this.subscriptionsPackages().find((p) => p.id() === packageId);\r\n if (subscriptionPackageSelected) {\r\n subscriptionPackageSelected.games().forEach((p) => {\r\n p.game.status('add-to-basket');\r\n p.game.save();\r\n ModelStorage.add(\r\n p.game.verticalType(),\r\n p.type,\r\n p.game.playType().toLowerCase(),\r\n p.game.id()\r\n );\r\n });\r\n window.location.href = window.location.origin + this.cta?.url + '?' + subscriptionPackageSelected.verticalType();\r\n }\r\n }\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n // handler for when the package-rotator__container-items is not yet loaded in the DOM because of the mithril lifecycle\r\n let packageRotatorContainer = controller.element().getElementsByClassName('package-rotator__container-items')[0];\r\n if (packageRotatorContainer && !packageRotatorContainer?.getAttribute('id'));\r\n {\r\n setTimeout(() => {\r\n if (controller.slider) {\r\n controller.slider.cleanup();\r\n }\r\n controller.slider = controller.initiateSlider();\r\n });\r\n }\r\n return (\r\n
\r\n {controller.title &&

{controller.title}

}\r\n {controller.text && (\r\n
{m.trust(controller.text)}
\r\n )}\r\n
\r\n
\r\n
\r\n {controller.subscriptionsPackages() ? controller.subscriptionsPackages().map(function (subscriptionsPackage) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n }) : ''}\r\n
\r\n
\r\n {controller.cta && (\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/NumberGames/Scripts/Components/CurrentJackpots/AudioListSpot.js', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n], function (Component, Ensighten) {\r\n Component('audio-list-spot', function (m, route, settings, ignoreProperty, $element) {\r\n\r\n const root = {\r\n controller: function () {\r\n // variables\r\n this.title = settings.title;\r\n this.text = settings.text;\r\n this.items = settings.items;\r\n this.cta = settings.cta;\r\n this.componentClassAndtheme = `audio-list-spot-wrapper ${settings.theme ? 'audio-list-spot-wrapper--' + settings.theme : ''}`;\r\n\r\n this.toggleState = (event) => {\r\n const itemCurrentlyPlaying = $element.querySelector('.audio-list-spot__item--playing');\r\n const thisAudioItem = event.currentTarget;\r\n const audioTitle = thisAudioItem.querySelector('.audio-list-spot__item-title').innerText;\r\n const audio = thisAudioItem.querySelector('audio');\r\n const isThisPlaying = thisAudioItem.classList.contains('audio-list-spot__item--playing');\r\n\r\n if (itemCurrentlyPlaying && !isThisPlaying) {\r\n const audioCurrentlyPlaying = itemCurrentlyPlaying.querySelector('audio');\r\n audioCurrentlyPlaying.pause();\r\n audioCurrentlyPlaying.currentTime = 0;\r\n itemCurrentlyPlaying.classList.remove('audio-list-spot__item--playing');\r\n }\r\n if (isThisPlaying) {\r\n audio.pause();\r\n audio.currentTime = 0;\r\n } else {\r\n audio.play();\r\n Ensighten.pushGaEvent('plus', 'audio_cta_click', audioTitle);\r\n }\r\n thisAudioItem.classList.toggle('audio-list-spot__item--playing');\r\n };\r\n\r\n this.audioEnded = (event) => {\r\n const thisAudioItem = event.currentTarget.parentElement;\r\n thisAudioItem.classList.remove('audio-list-spot__item--playing');\r\n };\r\n\r\n this.callToAction = () => {\r\n if (this.cta?.url) {\r\n\r\n if (this.cta.url.startsWith('#')) {\r\n Ensighten.pushGaEvent('plus', 'audio_cta_click', this.cta.text);\r\n } else {\r\n Ensighten.pushGaEventOnPageRedirect('plus', 'audio_cta_click', this.cta.text);\r\n }\r\n\r\n window.location.href = this.cta.url;\r\n }\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n return (\r\n
\r\n {controller.title &&

{controller.title}

}\r\n {controller.text && (\r\n
{m.trust(controller.text)}
\r\n )}\r\n
\r\n {controller.items.map(function (item) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
{item.title}
\r\n \r\n
\r\n );\r\n })}\r\n
\r\n {controller.cta && (\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/NumberGames/Scripts/Components/MultiTeaserCardsView/MultiTeaserCardsView', [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n], function (Component, Ensighten) {\r\n Component('multi-teaser-cards', function (m, route, settings, ignoreProperty, ignore$element) {\r\n\r\n const root = {\r\n controller: function () {\r\n // variables\r\n this.settings = m.prop(settings);\r\n\r\n this.itemsPerRowDesktop = this.settings().itemsPerRowDesktop || 3;\r\n this.itemsPerRowMobile = this.settings().itemsPerRowMobile || 1;\r\n\r\n this.centerItemsDesktopClass = (this.settings().cards.length > 0 && this.itemsPerRowDesktop > 1) ? 'multi-teaser-cards--center-desktop' : '';\r\n this.centerItemsMobileClass = (this.settings().cards.length > 0 && this.itemsPerRowMobile > 1) ? 'multi-teaser-cards--center-mobile' : '';\r\n\r\n this.callToActionMain = () => {\r\n if (this.settings().callToAction?.url) {\r\n\r\n if (this.settings().callToAction.url.startsWith('#')) {\r\n Ensighten.pushGaEvent('plus', 'multi_teaser_cards_cta_click', this.settings().callToAction.text);\r\n } else {\r\n Ensighten.pushGaEventOnPageRedirect('plus', 'multi_teaser_cards_cta_click', this.settings().callToAction.text);\r\n }\r\n\r\n window.location.href = this.settings().callToAction.url;\r\n }\r\n };\r\n\r\n this.callToActionCard = (card) => {\r\n if (card.callToAction?.url) {\r\n if (card.callToAction.url.startsWith('#')) {\r\n Ensighten.pushGaEvent('plus', 'multi_teaser_card_cta_click', card.callToAction.text);\r\n } else {\r\n Ensighten.pushGaEventOnPageRedirect('plus', 'multi_teaser_card_cta_click', card.callToAction.text);\r\n }\r\n window.location.href = card.callToAction.url;\r\n }\r\n };\r\n },\r\n\r\n view: function (controller) {\r\n return (\r\n
'\r\n
\r\n

{m.trust(controller.settings().title)}

\r\n
{m.trust(controller.settings().text)}
\r\n
\r\n {controller.settings().cards.map(function (card) {\r\n return (\r\n
\r\n {card.image ?
: ''}\r\n

{m.trust(card.title)}

\r\n
{m.trust(card.text)}
\r\n {card.callToAction?.url ? : ''}\r\n
\r\n );\r\n })}\r\n
\r\n {controller.settings().callToAction?.url ? : ''}\r\n
\r\n
\r\n );\r\n }\r\n };\r\n route('/', root);\r\n });\r\n});\r\n","defineDs('DanskeSpil/Domain/Lotto/Scripts/Campaigns/Components/CampaignInformOverlay',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Common/Framework/EventHandling/Scripts/Event',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Storage',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoDictionary',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Templates/Overlay',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Templates/GenericOverlay',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten'\r\n ],\r\n function (Component, Event, Storage, LottoDictionary, Overlay, GenericOverlay, Utils, Ensighten) {\r\n // Component:\r\n Component('campaign-lotto-inform-overlay', [LottoDictionary], function (m, route, settings) {\r\n if (Utils.getQueryParam('klubId') && Utils.getQueryParam('gameType')) {\r\n // if we have klubId and gameType then we know we are in spil-sammen\r\n if (Utils.getQueryParam('gameType') !== 'lotto') return;\r\n }\r\n\r\n // Check if overlay was shown:\r\n var identifier = settings.identifier;\r\n var wasShown = Storage.get(identifier);\r\n if (settings.campaign !== 'SuperMillionaire') {\r\n if (wasShown) return;\r\n }\r\n\r\n var confirmAction = function () {\r\n Ensighten.pushGaEvent('onboarding_popup', 'cta_click', settings.confirm);\r\n Storage.set(identifier, true);\r\n };\r\n\r\n const onClose = () => {\r\n Ensighten.pushGaEvent('onboarding_popup', 'closed', '');\r\n };\r\n\r\n // Components:\r\n var init = function () {\r\n var root = {\r\n controller: function () {\r\n var className = null;\r\n var svgUsePath = null;\r\n let iconUrl = null;\r\n if (settings.campaign.indexOf('Sommerlotto') !== -1) {\r\n className = 'summer-campaign';\r\n svgUsePath = '/Components/DanskeSpil/Domain/Lotto/Graphics/SpriteSheets/SummerLotto.svg#printer_ticket';\r\n }\r\n if (settings.campaign.indexOf('JuleLotto2022') > -1) {\r\n className = 'christmas-2022-campaign';\r\n svgUsePath = null;\r\n iconUrl = '/Components/DanskeSpil/Domain/Lotto/Graphics/Campaigns/Christmas/x-mas_banana_wheel.svg';\r\n }\r\n if (settings.campaign === 'SuperMillionaire') {\r\n className = 'super-millionaire';\r\n }\r\n if (settings.image) {\r\n iconUrl = settings.image;\r\n }\r\n var genericOverlayDictionary = {\r\n className: className,\r\n svgUsePath: svgUsePath,\r\n iconUrl: iconUrl,\r\n imageCaption: settings.imageCaption,\r\n header: settings.header,\r\n body: settings.body,\r\n dismiss: settings.confirm\r\n };\r\n\r\n Ensighten.pushGaEvent('onboarding_popup', 'shown', '');\r\n\r\n new Overlay(GenericOverlay(genericOverlayDictionary)).show(confirmAction, onClose);\r\n }\r\n };\r\n\r\n // Routes:\r\n route('/', root);\r\n };\r\n\r\n // check if the overlay is used in plus basket and if the basket contains any lotto games\r\n // we need to wait for all the helpers for all games to be ready before using the model\r\n if (settings.showType === 'PLUS') {\r\n requireDs([\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/ModelStorage'\r\n ], function (VikingLottoInfo, AllOrNothingInfo, EurojackpotInfo, LottoInfo, KenoInfo, ModelStorage) {\r\n m.sync([LottoInfo.ready, VikingLottoInfo.ready, EurojackpotInfo.ready, AllOrNothingInfo.ready, KenoInfo.ready]).then(function () {\r\n const checkPlusBasket = () => {\r\n var basket = ModelStorage.basket('plus');\r\n const hasLottoGame = basket?.lotto.length > 0;\r\n const hasPackageWithLotto = basket?.wizardpackage?.some((packageItem) => {\r\n return packageItem.gameInstances?.()?.lotto?.length > 0;\r\n });\r\n\r\n if (hasLottoGame || hasPackageWithLotto) {\r\n init();\r\n }\r\n };\r\n\r\n checkPlusBasket();\r\n\r\n Event.subscribe('setupSubscription', checkPlusBasket);\r\n });\r\n });\r\n } else {\r\n init();\r\n }\r\n });\r\n });\r\n","defineDs('DanskeSpil/Domain/Subscriptions/Scripts/Components/Builder/SubscriptionBuilder',\r\n [\r\n 'Shared/Framework/Mithril/Scripts/Core/Component',\r\n 'Shared/Framework/Ensighten/Scripts/Ensighten',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/Utils',\r\n 'Shared/Framework/Mithril/Scripts/Helpers/LabelDictionary',\r\n 'DanskeSpil/Framework/NumberGames/Scripts/Helpers/Params',\r\n 'DanskeSpil/Domain/Lotto/Scripts/Helpers/LottoInfo',\r\n 'DanskeSpil/Domain/VikingLotto/Scripts/Helpers/VikingLottoInfo',\r\n 'DanskeSpil/Domain/Eurojackpot/Scripts/Helpers/EurojackpotInfo',\r\n 'DanskeSpil/Domain/AllOrNothing/Scripts/Helpers/AllOrNothingInfo',\r\n 'DanskeSpil/Domain/Keno/Scripts/Helpers/KenoInfo',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Helpers/Utils',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Models/Subscription',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/Shared/Svg/Svg',\r\n 'DanskeSpil/Domain/NumberGames/Scripts/Components/Shared/Buttons/Button',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Builder/Overview/Overview',\r\n 'DanskeSpil/Domain/Subscriptions/Scripts/Components/Builder/Games/List',\r\n ],\r\n function (Component, Ensighten, Utils, LabelDictionary, Params, LottoInfo, VikingLottoInfo, EurojackpotInfo, AllOrNothingInfo, KenoInfo, SubscriptionUtils, Subscription, Svg, Button, Overview, GamesList) {\r\n // eslint-disable-next-line no-unused-vars\r\n Component('subscription-builder', function (m, ignoreRoute, settings, property, rootElement) {\r\n const root = {\r\n controller: function () {\r\n const isFeedDownMap = {\r\n eurojackpot: EurojackpotInfo.isFeedDown,\r\n lotto: LottoInfo.isFeedDown,\r\n saturday: LottoInfo.isFeedDown,\r\n lottosaturday: LottoInfo.isFeedDown,\r\n vikinglotto: VikingLottoInfo.isFeedDown,\r\n allornothing: AllOrNothingInfo.isFeedDown,\r\n keno: KenoInfo.isFeedDown,\r\n };\r\n\r\n const gameOptions = settings.gameOptions.map((gameOption) => {\r\n return {\r\n ...gameOption,\r\n isJackpot: gameOption.verticalType === 'jackpot',\r\n isFeedDown: isFeedDownMap[gameOption.gameName.toLowerCase()],\r\n };\r\n });\r\n // Normalize keys for case-insensitive labels access\r\n settings.labels = Object.keys(settings.labels).reduce((acc, key) => {\r\n acc[key.toLowerCase()] = settings.labels[key];\r\n return acc;\r\n }, {});\r\n this.isPopoverOpen = m.prop(false);\r\n this.builderLabelDictionary = new LabelDictionary(settings?.labels?.builder).getLabel;\r\n this.property = property;\r\n this.settings = settings;\r\n this.$rootElement = rootElement;\r\n this.gamesWithFeedDown = m.prop([]);\r\n this.gameInBasketWithFeedDown = m.prop([]);\r\n this.hasBuilderUrlParams = Params.detect('subscriptionBuilder');\r\n this.subscriptionInstanceId = m.prop(Params.extract('subscriptionId'));\r\n this.subscriptionInstance = m.prop(Subscription.setupGame({\r\n gameInstanceId: this.subscriptionInstanceId(),\r\n verticalType: m.route.param('gameName')?.includes('jackpot-') ? 'jackpot' : 'plus',\r\n }));\r\n this.subscriptionInstance().status('basket');\r\n if (!this.subscriptionInstanceId() ||\r\n this.subscriptionInstanceId() !== this.subscriptionInstance().id()) {\r\n Params.set(`subscriptionId=${this.subscriptionInstance().id()}`);\r\n }\r\n\r\n this.goToConfirm = (event) => {\r\n this.subscriptionInstance().save();\r\n\r\n const confirmUrlPageLink = new URL((settings.basketPurchaseLink || '/plus-abonnement/se-kurv'), window.location.href);\r\n let confirmPageLink = confirmUrlPageLink.origin + confirmUrlPageLink.pathname + '?' + this.subscriptionInstance().verticalType();\r\n const confirmPageLinkParams = new URLSearchParams(confirmUrlPageLink.search);\r\n if (confirmPageLinkParams.toString()) {\r\n confirmPageLink += '&' + confirmPageLinkParams.toString();\r\n }\r\n\r\n Ensighten.pushGaEventOnPageRedirect(this.subscriptionInstance().verticalType(), 'configured_state', event?.currentTarget?.innerText);\r\n window.location = confirmPageLink;\r\n };\r\n\r\n this.toggleSubscriptionBuilderAsPopover = (state) => {\r\n this.isPopoverOpen(state);\r\n if (!state) {\r\n m.route('/');\r\n }\r\n\r\n this.$rootElement.classList.toggle('hidden', !state);\r\n };\r\n\r\n this.sortingGames = m.prop(true);\r\n this.gamesInBasket = m.prop([]);\r\n this.gamesAvailable = m.prop([]);\r\n const sortGames = () => {\r\n this.gamesWithFeedDown([]);\r\n this.gameInBasketWithFeedDown([]);\r\n const gamesInBasket = [];\r\n this.subscriptionInstance().gamesInBasket().forEach((game) => {\r\n const gameInBasket = gameOptions.find((gameOption) => {\r\n return (gameOption.gameName === game.type) && (game.game.verticalType() ? gameOption.verticalType === game.game.verticalType() : true);\r\n });\r\n if (gameInBasket) {\r\n if (gameInBasket.isFeedDown()) {\r\n this.gameInBasketWithFeedDown().push(gameInBasket.gameName);\r\n }\r\n gamesInBasket.push(gameInBasket);\r\n } else {\r\n console.error(`Game ${game.name} not found in game options!`);\r\n }\r\n });\r\n\r\n const gamesAvailable = gameOptions.filter((gameOption) => {\r\n if (gameOption.isFeedDown()) {\r\n this.gamesWithFeedDown().push(gameOption.gameName);\r\n }\r\n return !gamesInBasket.find((gameInBasket) => {\r\n return (gameOption.gameName === gameInBasket.gameName) && (gameOption.verticalType === gameInBasket.verticalType);\r\n });\r\n });\r\n\r\n this.gamesInBasket(gamesInBasket);\r\n this.gamesAvailable(gamesAvailable);\r\n\r\n setTimeout(() => {\r\n this.sortingGames(false);\r\n m.redraw();\r\n }, 100);\r\n };\r\n\r\n Promise.all([\r\n EurojackpotInfo.ready,\r\n LottoInfo.ready,\r\n VikingLottoInfo.ready,\r\n AllOrNothingInfo.ready,\r\n KenoInfo.ready\r\n ]).then(() => {\r\n sortGames();\r\n });\r\n\r\n document.addEventListener('subscription:update', () => {\r\n this.sortingGames(true);\r\n m.redraw();\r\n sortGames();\r\n });\r\n\r\n if (this.settings.asPopOver) {\r\n this.$rootElement.className += ' fixed inset-0 z-50 bg-black/50 hidden';\r\n\r\n if (this.hasBuilderUrlParams ||\r\n ['/subscriptionBuilder'].includes(m.route()) ||\r\n ['lotto', 'vikinglotto', 'eurojackpot', 'keno', 'allornothing', 'jackpot-eurojackpot'].includes(m.route.param('gameName'))) {\r\n this.toggleSubscriptionBuilderAsPopover(true);\r\n }\r\n document.addEventListener('subscriptionBuilder:show', () => this.toggleSubscriptionBuilderAsPopover(true));\r\n }\r\n },\r\n view: function (controller) {\r\n const skeletonListLoader = (items) => {\r\n if (items.length === 0) {\r\n return null;\r\n }\r\n\r\n return (
\r\n
\r\n {items.map((ignoreItem, index) => {\r\n return (
\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 return (
\r\n
\r\n
\r\n {controller.settings.asPopOver ?
\r\n controller.toggleSubscriptionBuilderAsPopover(false)}\r\n >\r\n
\r\n \r\n
\r\n
\r\n
Luk
\r\n \r\n
\r\n
\r\n
: null}\r\n
\r\n \r\n
\r\n
\r\n
\r\n {controller.gamesInBasket().length === 0 ?
\r\n
\r\n
{controller.builderLabelDictionary('gamesListBouncingHint')}
\r\n \r\n \r\n \r\n \r\n
\r\n
: null}\r\n {controller.sortingGames() ?\r\n
\r\n {skeletonListLoader(controller.gamesInBasket())}\r\n {skeletonListLoader(controller.gamesAvailable())}\r\n
:\r\n
\r\n {controller.gamesInBasket().length > 0 ?\r\n : null}\r\n {controller.gamesAvailable().length > 0 ?\r\n 0}\r\n /> : null}\r\n
}\r\n
\r\n
\r\n
\r\n\r\n {!property('subscriptionBuilder.gamesList.item.flow:activeGameName') &&\r\n (controller.gamesInBasket().length > 0) ?
\r\n
\r\n
\r\n \r\n {controller.gamesWithFeedDown().length ? {\r\n location.reload();\r\n }}\r\n >\r\n {controller.builderLabelDictionary('actionBarReloadPageButton')}\r\n : null}\r\n {\r\n controller.goToConfirm();\r\n }}\r\n >{\r\n controller.gameInBasketWithFeedDown().length ?\r\n controller.builderLabelDictionary('actionBarConfirmWithFeedDownButton') :\r\n controller.builderLabelDictionary('actionBarConfirmButton', { subscriptionPrice: SubscriptionUtils.formatCurrency(controller.subscriptionInstance().totalPricePerWeek()) })\r\n }\r\n
\r\n
\r\n
: null}\r\n
\r\n
);\r\n }\r\n };\r\n\r\n m.route.mode = 'hash';\r\n m.route.scrollToTopOnRouteChange = false;\r\n m.route(rootElement, '/', {\r\n '/': m(root),\r\n '/subscriptionBuilder': m(root),\r\n '/:gameName': m(root),\r\n '/:gameName/:playType': m(root),\r\n });\r\n });\r\n });\r\n"]}