function html5ModeConfig(e){window.history&&history.pushState?e.html5Mode(!0):e.html5Mode(!1).hashPrefix("!")}Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t){"use strict";if(null==e)throw new TypeError("Cannot convert first argument to object");for(var n=Object(e),r=1;r<arguments.length;r++){var o=arguments[r];if(null!=o)for(var i=Object.keys(Object(o)),a=0,s=i.length;a<s;a++){var c=i[a],l=Object.getOwnPropertyDescriptor(o,c);void 0!==l&&l.enumerable&&(n[c]=o[c])}}return n}}),Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),function(){if("function"==typeof window.CustomEvent)return!1;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}(),Array.prototype.find||(Array.prototype.find=function(e){if(null==this)throw new TypeError("Array.prototype.find called on null or undefined");if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var t,n=Object(this),r=n.length>>>0,o=arguments[1],i=0;i<r;i++)if(t=n[i],e.call(o,t,i,n))return t}),Object.keys||(Object.keys=function(){"use strict";var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),n=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],r=n.length;return function(o){if("object"!=typeof o&&("function"!=typeof o||null===o))throw new TypeError("Object.keys called on non-object");var i,a,s=[];for(i in o)e.call(o,i)&&s.push(i);if(t)for(a=0;a<r;a++)e.call(o,n[a])&&s.push(n[a]);return s}}()),Array.prototype.reduce||(Array.prototype.reduce=function(e){"use strict";if(null==this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof e)throw new TypeError(e+" is not a function");var t,n=Object(this),r=n.length>>>0,o=0;if(arguments.length>=2)t=arguments[1];else{for(;o<r&&!(o in n);)o++;if(o>=r)throw new TypeError("Reduce of empty array with no initial value");t=n[o++]}for(;o<r;o++)o in n&&(t=e(t,n[o],o,n));return t}),Array.prototype.fill||(Array.prototype.fill=function(e){if(null==this)throw new TypeError("this is null or not defined");for(var t=Object(this),n=t.length>>>0,r=arguments[1]>>0,o=r<0?Math.max(n+r,0):Math.min(r,n),i=arguments[2],a=void 0===i?n:i>>0,s=a<0?Math.max(n+a,0):Math.min(a,n);o<s;)t[o]=e,o++;return t}),Object.freeze||(Object.freeze=function(e){if(Object(e)!==e)throw new TypeError("Object.freeze can only be called on Objects.");return e}),Object.values||(Object.values=function(e){return Object.keys(e).map(function(t){if(e.hasOwnProperty(t))return e[t]})}),function(e){var t,n,r,o,i=1,a=this,s="postMessage",c="addEventListener",l=a[s];e[s]=function(t,n,r){n&&(t="string"==typeof t?t:e.param(t),r=r||parent,l?r[s](t,n.replace(/([^:]+:\/\/[^\/]+).*/,"$1")):n&&(r.location=n.replace(/#.*$/,"")+"#"+ +new Date+i+++"&"+t))},e.receiveMessage=o=function(i,s,u){l?(i&&(r&&o(),r=function(t){if("string"==typeof s&&t.origin!==s||e.isFunction(s)&&!1===s(t.origin))return!1;i(t)}),a[c]?a[i?c:"removeEventListener"]("message",r,!1):a[i?"attachEvent":"detachEvent"]("onmessage",r)):(t&&clearInterval(t),t=null,i&&(u="number"==typeof s?s:"number"==typeof u?u:100,t=setInterval(function(){var e=document.location.hash,t=/^#?\d+&/;e!==n&&t.test(e)&&(n=e,i({data:e.replace(t,"")}))},u)))}}(jQuery),function(){"use strict";var e="placeholder"in document.createElement("input"),t=angular.module("html5.placeholder",[]),n=function(e,t){var n=e.getAttributeNode(t);return n?n.nodeValue:n};t.factory("placeholder",function(){var t;if(e)t=function(e,t){t&&t({back:function(){}})};else{var r="placeholderTmp"+ +new Date,o={commit:function(e){angular.forEach(e,function(e){var t,o=angular.element(e);t=n(e,"placeholder"),o.val()==t&&(o.data(r,o.val()),o.val(""))})},doRollback:function(e){angular.forEach(e,function(e){var t,n=angular.element(e);(t=n.data(r))&&(n.val(t),n.data(r,null))})}};t=function(e,t){var n;e.length&&"form"==e[0].tagName.toLowerCase()?(n=e.find("input"),n=function(e,t){return angular.forEach(t,function(t){e.push(t)}),e}(e.find("textarea"),n)):n=e,o.commit(n),t&&t({back:function(){o.doRollback(n)}})}}return{ensure:t}}),e||t.directive("placeholder",[function(){var e,t,r,o,i="_placeholder_"+ +new Date,a="focus",s="blur",c=/msie 9/i.test(navigator.userAgent);return r=function(e){"password"==e.data(i).type&&e.attr("type","text")},o=function(e){"password"==e.data(i).type&&e.attr("type","password")},e=function(){var e=angular.element(this);e.val()==n(this,"placeholder")&&(e.val(""),o(e))},t=function(){var e=angular.element(this);""==e.val()&&(e.val(n(this,"placeholder")),r(e))},{link:function(n,l,u){n.$watch("ready",function(){return"password"!=l.attr("type")||c?(l.val(u.placeholder).data(i,{type:(l.attr("type")||"").toLowerCase()}).bind(a,e).bind(s,t),r(l),void n.$on("$destroy",function(){l.unbind(a,e).unbind(s,t),o(l)})):{}})}}}])}(),angular.module("tp.i18n",["ajaxServices","ngCookies","tmh.dynamicLocale","tinypassServices"]).constant("KEY_CODES",{ESCAPE:"Escape",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ENTER:"Enter",SPACE:" ",TAB:"Tab"}).factory("dropdownTabNavigationService",["KEY_CODES",function(e){return function(t,n){const r='a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]',o=t.querySelector(n.toggleDropdownMenuButtonSelector);function i(t){t.key===e.ESCAPE?(n.closeMenu(),t.preventDefault(),n.isMenuOpened()&&t.stopPropagation()):t.key===e.ENTER?setTimeout(function(){l()},150):t.key===e.SPACE?setTimeout(function(){l()},150):t.key===e.TAB&&t.shiftKey&&n.isMenuOpened()&&n.closeMenu()}function a(){c().removeEventListener("keydown",s),c().addEventListener("keydown",s)}function s(o){if(o.key===e.ESCAPE)n.closeMenuOnClick(o),t.querySelector(n.toggleDropdownMenuButtonSelector).focus(),o.preventDefault(),o.stopPropagation();else if(o.key===e.TAB)n.closeMenuOnClick(o);else if([e.ARROW_UP,e.ARROW_DOWN].includes(o.key)){const t=function(e){const t=e.querySelectorAll(r);return Array.from(t).filter(d)}(c());let n=t.indexOf(document.activeElement);o.key===e.ARROW_DOWN?n=(n+1)%t.length:o.key===e.ARROW_UP&&(n=(n-1+t.length)%t.length),t[n].focus(),o.preventDefault()}}function c(){return t.querySelector(n.dropdownMenuContainerSelector)}function l(){u().focus()}function u(){return c().querySelector("button")}function d(e){for(;e;){if("none"===getComputedStyle(e).display)return!1;e=e.parentElement}return!0}return o.removeEventListener("keydown",i),o.addEventListener("keydown",i),{attachDropdownMenuEvents:function(){u().addEventListener("focus",a)},detachDropdownMenuEvents:function(){c().removeEventListener("keydown",s),u().removeEventListener("focus",a)}}}}]).config(["tmhDynamicLocaleProvider",function(e){e.localeLocationPattern("/libs/angular-1.2.22/i18n/angular-locale_{{locale | replaceUnderscoreToDash}}.js")}]).run(["lang",function(e){var t=TPParam.TRANSLATION_CONFIG&&TPParam.TRANSLATION_CONFIG.initialLocaleId||"en_US";e.update(t)}]).directive("autoFocus",["$timeout",function(e){return{restrict:"AC",link:function(t,n){var r=n[0];e(function(){var e=r.value;r.value="",r.focus(),r.value=e},100)}}}]).directive("t",["$compile","lang","getTextFromLocales",function(e,t,n){var r=/^arg(\d+)$/i;return{restrict:"AE",compile:function(o,i){var a=o.html(),s=[];return angular.forEach(i,function(e,t){var n=t.match(r);n&&n[1]&&(s[n[1]]=e)}),function(r,o,i){var c=t.getTemplateContext(),l=i.context?i.context:c;function u(i,c,u){if(i){var d=n(i,c,u);o.empty().append(t.formatString(d(l,a),s)),e(o.contents())(r)}}u(),t.on(u),r.$on("$destroy",function(){t.off(u)})}}}}]).directive("languageSelector",["lang","dropdownTabNavigationService",function(e,t){return{restrict:"E",scope:{},template:'<div ng-if="areLanguagesAvailable()" class="language-selector">   <button type="button" id="language-button" class="button-link language-selector__label" ng-init="buttonInit()" ng-click="toggleMenu()" aria-label="{{\'Current locale - \'}} {{locale | shortLocale}}">{{locale | shortLocale}}</button>   <div role="menu" aria-labelledby="dialog-title" aria-modal="true" id="languages-modal" tabindex="-1">      <h2 id="dialog-title" class="sr-only">{{"Select Language" | t}}</h2>      <ul id="language-list" class="language-selector__list" ng-class="{\'show\': opened === true, \'hide\': opened === false}">         <li class="language-selector__list-item" ng-repeat="(index, value) in languages | filter:showAvailableLanguage" ng-click="changeLanguage(value.locale)">            <button type="button" aria-pressed="{{value.locale === locale}}" class="language-selector__country" ng-class="{\'selected\': value.locale === locale}">{{value.localized}}              <span class="language-selector__country-image language-selector__country-image--{{value.locale | getCountryCode}}" aria-hidden="true"></span>            </button>         </li>      </ul>   </div></div>',link:function(e,n){let r;const o=n[0],i="#language-button",a="#languages-modal";function s(e){jQuery(e.target)[0]!==n.find(i)[0]&&c()}function c(){r.detachDropdownMenuEvents(),e.opened=!1,jQuery(window).off("click"),e.$apply()}e.toggleMenu=function(){e.opened=!e.opened,jQuery(window).off("click"),e.opened?r.attachDropdownMenuEvents():r.detachDropdownMenuEvents();jQuery(window).on("click",s)},e.buttonInit=function(){r=t(o,{toggleDropdownMenuButtonSelector:i,dropdownMenuContainerSelector:a,closeMenu:c,closeMenuOnClick:s,isMenuOpened:function(){return e.opened}})},e.opened=!1,e.$on("LANGUAGE_CHANGE",function(){o.querySelector(i).focus()})},controller:["$scope",function(t){function n(e){t.locale=e}function r(e){t.languages=e.sort(function(e,t){return e.localized.toLowerCase()===t.localized.toLowerCase()?0:e.localized.toLowerCase()>t.localized.toLowerCase()?1:-1})}t.languages=[],t.locale=null,t.showAvailableLanguage=function(e){return!!e.isEnabled&&e},t.changeLanguage=function(n){t.locale=n,e.update(t.locale),t.$broadcast("LANGUAGE_CHANGE")},t.isLanguagesEnabled=TPParam.TRANSLATION_CONFIG.isEnabled,e.on(n),t.$on("$destroy",function(){e.off(n)}),e.list().then(r),t.areLanguagesAvailable=function(){return t.isLanguagesEnabled&&t.languages.length>1}}]}}]).filter("shortLocale",function(){function e(e){var t=e.toUpperCase().split("_");return t[0]+"-"+t[1]}return e.$stateful=!0,e}).filter("t",["lang",function(e){function t(t,n){var r=e.getTemplateContext();return e.trc(r,t,n)}return t.$stateful=!0,t}]).filter("tc",["lang",function(e){function t(t,n,r){return e.trc(n,t,r)}return t.$stateful=!0,t}]).filter("replaceUnderscoreToDash",function(){function e(e){return e.toString().toLowerCase().replace("_","-")}return e.$stateful=!0,e}).filter("replaceDashToUnderscore",function(){function e(e){var t;return null===e.match(/\-/g)?e:((t=e.toUpperCase().split("-"))[0]=t[0].toLowerCase(),t.join("_"))}return e.$stateful=!0,e}).filter("getCountryCode",function(){function e(e){return e.match(/\w{2}$/)[0].toLowerCase()}return e.$stateful=!0,e}).factory("getTextFromLocales",[function(){return function(e,t,n){return function(r,o){var i,a=(r=r?r+"":"")+o,s=n&&n[t],c=n&&n[e],l=c&&(c[a]||c[o]);return void 0===l&&(i=s&&(s[a]||s[o])),l||i||o}}}]).factory("lang",["tpHTTP","$q","$locale","$cookies","tmhDynamicLocale","resolveLocale","cookieLang","$rootScope","$filter","getTextFromLocales",function(e,t,n,r,o,i,a,s,c,l){var u,d=i(),f=!1,p=["en_US","en_GB","pt_PT","es_CO","pt_BR","fr_CA","ja_JP","zz_ZZ"],m=[],g=null,v=null,h=TPParam.TRANSLATION_CONFIG&&TPParam.TRANSLATION_CONFIG.systemDefaultLocale||"en_US",E={translationMapStatic:{},translationMapDynamic:{}},_={},w={};return s.$on("CHECK_UPDATED_LANGUAGE",C),S(),M(),{update:k,on:function(e,t){m.push(e),t||e(d,h,_)},off:function(e){var t=m.indexOf(e);-1!==t&&m.splice(t,1)},tr:function(e){for(var t=new Array(arguments.length-1),n=0;n<t.length;++n)t[n]=arguments[n+1];return b(l(d,h,_)(null,e),t)},trc:function(e,t,n){var r;if(angular.isArray(n))r=n;else{r=new Array(arguments.length-2);for(var o=0;o<r.length;++o)r[o]=arguments[o+2]}return b(l(d,h,_)(e,t),r)},list:function(){if(!TPParam.TRANSLATION_CONFIG.isEnabled)return t.when([]);v||(v=t.when(TPParam.TRANSLATION_CONFIG.languages).then(function(e){return g=e,k(d),e}));return v},formatString:b,getLang:y,getLangLocale:function(){return T().split("-")[0]},getTemplateContext:function(){return window.TPParam.TRANSLATION_CONFIG&&window.TPParam.TRANSLATION_CONFIG.templateContext||""},getCorrectStartWeekDay:function(){var e=y()||d;return-1===p.indexOf(e)},getLanguageTag:T,getDefaultSystemLocale:function(){return TPParam.TRANSLATION_CONFIG&&TPParam.TRANSLATION_CONFIG.systemDefaultLocale||"en_US"}};function y(){return f&&d||""}function T(){return(y()||d).replace("_","-")}function S(){P(),u=setInterval(C,500)}function P(){u&&clearInterval(u)}function C(){var e=a.getCookie("LANG_CHANGED");e&&e!==d&&'""'!==e&&k(e)}function b(e,t){return angular.isUndefined(e)||null===e?e:e.replace(/<t([^>]+)?>|<\/t>/g,"").replace(/{(\d+)}/g,function(e,n){return void 0!==t[n]?t[n]:e})}function I(e){_[d]=e,m.forEach(function(e){e(d,h,_)})}function A(e,n){var r,o,i,a=t.defer();return e&&((r=document.querySelector('script[src*="'+e+'"]'))||(o=document.getElementsByTagName("head"))&&o.length&&(i=o[0])&&((r=document.createElement("script")).onload=function(){return window["translation"+n]?a.resolve(window["translation"+n]):a.reject("Unable to load")},r.setAttribute("src",e),r.setAttribute("type","text/javascript"),r.setAttribute("charset","utf-8"),i.appendChild(r))),a.promise}function N(e){var n="/ng/common/i18n/platform-translation-map_"+e+".js?version="+TPParam.TRANSLATION_CONFIG.version,r=TPParam.TRANSLATION_CONFIG.loadTranslationUrl+"&language="+e,o=window["translation_static_"+e];return TPParam.TRANSLATION_CONFIG.isStatic?o?t.when(o):A(n,"_static_"+e).then(function(){return t.when(window["translation_static_"+e])}):t.all([A(n,"_static_"+e).then(function(e){return e}),A(r,"_dynamic_"+e).then(function(e){return e})]).then(function(e){return E.translationMapStatic=e[0],E.translationMapDynamic=e[1],t.when(angular.extend({},e[0],e[1]))}).catch(function(t){_=function(e,t){var n=[],r={};"string"==typeof t&&(n=[t]);angular.isArray(t)&&(n=[].concat(t));angular.isArray(e)&&e.forEach(function(e,t){r[t]=e});angular.isObject(e)&&!angular.isArray(e)&&(r=angular.extend({},e));return n.forEach(function(e){delete r[e]}),r}(_,e)})}function k(e){if(P(),!TPParam.TRANSLATION_CONFIG||!TPParam.TRANSLATION_CONFIG.isEnabled)return a.removeCookie("LANG"),void a.removeCookie("LANG_CHANGED");angular.isUndefined(e)&&(e=a.getCookie("LANG")||h);var r=g&&g.some(function(t){return t.locale===e});g&&!r||(!function(e){d=e,f=!0,a.setCookie("LANG",d,1500),a.setCookie("LANG_CHANGED",d,1);var t=c("replaceUnderscoreToDash")(e);w[t]||n.id!==t||(w[t]=angular.copy(n));w[t]&&function e(t,n){angular.forEach(t,function(e,r){n[r]?angular.isArray(n[r])&&(t[r].length=n[r].length):delete t[r]});angular.forEach(n,function(r,o){angular.isArray(n[o])||angular.isObject(n[o])?(t[o]||(t[o]=angular.isArray(n[o])?[]:{}),e(t[o],n[o])):t[o]=n[o]})}(n,w[t]);e!==TPParam.TRANSLATION_CONFIG.initialLocaleId&&(w[t]||o.set(t).then(function(e){w[e.id]=angular.copy(e)}),function(e){window.TPParam.TRANSLATION_CONFIG&&window.TPParam.TRANSLATION_CONFIG.initialLocaleId&&(window.TPParam.TRANSLATION_CONFIG.initialLocaleId=e)}(d))}(e),M(),function(e){if(void 0===_[h])return t.all([O(e),O(h)]).then(function(e){return angular.extend({},e[1],e[0])});return O(e)}(e).then(I).then(function(){s.$broadcast("EVENT_I18N_LOCALE_CHANGED")})),S()}function O(e){var n=window["translation_static_"+e],r=window["translation_dynamic_"+e];return _[e]?t.when(_[e]):n||r?(_[e]=angular.extend({},n,r),t.when(_[e])):N(e).then(function(t){return _[e]=t,t})}function M(){if("undefined"!=typeof moment)try{var e=T();switch(e){case"zz-ZZ":e="x-pseudo";break;case"sr-RS":e="sr-cyrl"}moment.locale?moment.locale(e):moment.lang(e)}catch(e){}}}]).factory("resolveLocale",["$cookies","$locale","tmhDynamicLocale","$filter","cookieLang",function(e,t,n,r,o){return function(){o.getCookie("LANG");return"en_US"}}]).factory("cookieLang",["TinypassService",function(e){return{getCookie:t,setCookie:function(t,n,r){var o,i=new Date;i.setTime(i.getTime()+24*r*60*60*1e3),o="expires="+i.toUTCString(),document.cookie=t+"="+n+"; "+o+"; domain="+e.getTopDomain()+"; path=/;"+e.getCookieSameSiteAndSecureAttrString()},removeCookie:function(t){var n="expires="+new Date("February 02, 1972 02:02:02").toUTCString();document.cookie=t+"=; "+n+"; domain="+e.getTopDomain()+"; path=/;"+e.getCookieSameSiteAndSecureAttrString()},getCountryCode:function(){if(null===t("LANG")||void 0===t("LANG")||""===t("LANG"))return"us";return t("LANG").split("_")[1].toLowerCase()},getLanguageCode:function(){if(null===t("LANG")||void 0===t("LANG")||""===t("LANG"))return"en";return t("LANG").split("_")[0]}};function t(e){var t=("; "+document.cookie).split("; "+e+"=");if(t.length>1)return t.pop().split(";").shift()}}]).factory("updateDirAttrOnLangChanges",["$document","lang","ngEventService",function(e,t,n){var r=["he_IL","ar_EG"],o="rtl",i="ltr";return n.subscribe("langChanged",function(e,n){n.lang&&t.update(n.lang)}),function(n){var a,s;t.on(function(t){if(t!==a){var c,l=-1!==r.indexOf(t)?o:i;l!==s&&(s=l,c=l,e[0].documentElement.setAttribute("dir",c)),function(t){if(t){var n=t.replace(/_/g,"-");e[0].documentElement.setAttribute("lang",n)}}(t),a=t,n&&n(t)}})}}]),function(){var dateServices=angular.module("dateServices",[]),withoutSpinnerHeaderName="Piano-request-without-spinner",withoutSpinnerHeaderNameLowerCase=withoutSpinnerHeaderName.toLowerCase();function isIncludesWithoutSpinnerHeader(e){return!!(e&&e.config&&e.config.headers||{})[withoutSpinnerHeaderName]}dateServices.factory("fromIsoToJsDate",function(){return function(e,t){if(t.length){for(var n=t.length-1;n>=0;n--)t[n][e]&&(t[n][e]=moment(t[n][e]).format());return t}return t[e]&&(t[e]=moment(t[e]).format()),t[e]}}),dateServices.factory("timeStampToDate",function(){return function(e){return e?e&&e<1e10?new Date(1e3*e):new Date(e):e}}),dateServices.factory("TimezoneService",function(){return{SEND_DATETIME_FORMAT:"YYYY-MM-DDTHH:mm:ssZZ",dateToTimezonedMoment:function(e){return moment.tz(e,TPParam.CLIENT_TIMEZONE)},dateToClientTimezoneMoment:function(e){return moment.tz({year:e.getFullYear(),month:e.getMonth(),date:e.getDate(),hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds(),millisecond:e.getMilliseconds()},TPParam.CLIENT_TIMEZONE)},datesToTimezonedStringsRange:function(e,t){return{from:this.dateToClientTimezoneMoment(e).startOf("day").format(this.SEND_DATETIME_FORMAT),to:this.dateToClientTimezoneMoment(t).endOf("day").format(this.SEND_DATETIME_FORMAT)}},momentToDate:function(e){return new Date(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second())},dateInClientTimezoneToBrowserTimezone:function(e){var t=moment.tz(e,TPParam.CLIENT_TIMEZONE);return new Date(t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second())}}}),dateServices.factory("ISODatetimeService",function(){return{ISO8601_DATE_FORMAT:"YYYY-MM-DD",ISO8601_DATETIME_FORMAT:"YYYY-MM-DD HH:MM",dateToString:function(e){return moment.tz?moment.tz(e,TPParam.CLIENT_TIMEZONE).format(this.ISO8601_DATE_FORMAT):moment(e).format(this.ISO8601_DATE_FORMAT)},datetimeToString:function(e){return moment.tz?moment.tz(e,TPParam.CLIENT_TIMEZONE).format(this.ISO8601_DATETIME_FORMAT):moment(e).format(this.ISO8601_DATETIME_FORMAT)}}});var ajaxServices=angular.module("ajaxServices",[]);ajaxServices.config(["$httpProvider",function(e){e.defaults.headers.common["X-Requested-With"]="XMLHttpRequest",e.defaults.headers.common["Ng-Request"]="1",e.interceptors.push("tpHttpInterceptor");e.defaults.transformRequest.push(function(e,t){var n=t&&t();return n&&(n[withoutSpinnerHeaderNameLowerCase]||n[withoutSpinnerHeaderName])||tinypass.withoutWaitPanel?e:(tinypass.showWaitPanel(),e)})}]),ajaxServices.factory("tpHttpInterceptor",["$q",function(e){return{response:function(e){return e.data&&(e.data.models&&(e.models=e.data.models),e.data.errors&&(e.errors=e.data.errors)),tinypass.updateMetaRefresh(),isIncludesWithoutSpinnerHeader(e)||tinypass.hideWaitPanel(),e},responseError:function(t){return t.data&&(t.data.models&&(t.models=t.data.models),t.data.errors&&(t.errors=t.data.errors)),isIncludesWithoutSpinnerHeader(t)||tinypass.hideWaitPanel(),e.reject(t)}}}]),ajaxServices.factory("repeatHTTP",["$q",function(e){var t=function(n,r){var o=(r=r||{}).defer,i=r.attempt||0,a=r.times||1,s=r.cancelConfig||{};return o?(n().then(function(e){o.resolve(e)}).catch(function(e){s.cancel||(i>=a?o.reject(e):t(n,Object.assign({},r,{attempt:i+1})))}),o.promise):(Log.info("defer is required"),e.reject())};return t}]),ajaxServices.factory("tpHTTP",["$http","$window","$q","$rootScope",function($http,$window,$q,$rootScope){var f=function(e,t){!t&&(e.url=f.getUrl()+e.url);var n=$http(e);return n.then(f.processHeaders),n};return f.get=function(e,t){e=f.getUrl()+e;var n=$http.get(e,t);return n.then(f.processHeaders),n},f.post=function(e,t,n){e=f.getUrl()+e;var r=$http.post(e,t,n);return r.then(f.processHeaders),r},f.jsonp=function(e,t){return(t=t||{}).callback=t.callback||"JSON_CALLBACK",$http.jsonp(e,{params:t}).then(function(e){return e.data})},f.processResponse=function(e){return e.data&&e.data.models&&(e.models=e.data.models),e.data&&e.data.errors&&(e.errors=e.data.errors),e},f.processResponseCatch=function(e){return e.data&&e.data.models&&(e.models=e.data.models),e.data&&e.data.errors&&(e.errors=e.data.errors),$q.reject(e)},f.processHeaders=function(response){var headers=response.headers();if(headers.execute_js_after)try{eval(headers.execute_js_after)}catch(e){}return response},f.extractErrors=function(e,t,n){e&&(e.errors||e.modalErrors)&&(n.formErrors=e.errors&&e.errors.length?e.errors:e.modalErrors,angular.forEach(n.formErrors,function(e){var n=e.field,r=(e.key,e.msg);t&&t[n]&&(angular.element("#"+n).focus(),t[n].$setValidity("error",!1),t[n].$error.msg=r)}))},f.resetFormErrors=function(e,t,n){try{n&&(n.errors=[],n.modalErrors=[]),angular.forEach(t.formErrors,function(t){e[t.field].$setValidity("error",!0),e[t.field].$setPristine()}),delete t.formErrors,e.$setPristine(),t.$$phase||t.$apply()}catch(e){Log.info("Could not reset form errors!",e)}},f.setFieldsValid=function(e,t){try{angular.forEach(e,function(e,t){0!=t.indexOf("$")&&(e.$setValidity("error",!0),e.$setPristine())}),e.$setPristine(),t.$$phase||t.$apply()}catch(e){Log.info("Could not reset form errors!",e)}},f.extractModels=function(e,t){if(e&&e.models)for(var n in e.models)t[n]=e.models[n];if(e&&e.routes)for(var r in void 0===t.routes&&(t.routes={}),e.routes)t.routes[r]=e.routes[r]},f.promiseResponse=function(e,t){var n=$q.defer();return t.errors=[],e.then(function(e){if(e&&e.errors&&angular.copy(e.errors,t.errors),e&&e.models)for(var r in e.models)e.models.hasOwnProperty(r)&&(t[r]=e.models[r]);n.resolve()}).catch(function(e){e&&e.errors&&angular.copy(e.errors,t.errors),n.reject()}),n.promise},f.extractModelsTo=function(e){return function(t){f.extractModels(t.data,e)}},f.successHander=function(e){return function(t){e.resolve({data:t,ok:!0})}},f.errorHander=function(e){return function(t){e.resolve({data:t,ok:!1})}},f.promiser=function(e){var t=$q.defer();return e.then(f.successHander(t)).catch(f.errorHander(t)),t.promise},f.buildUrl=function(e,t){if(!t)return e;var n=[];return function(e,t,n){for(var r=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t.sort()}(e),o=0;o<r.length;o++)t.call(n,e[r[o]],r[o])}(t,function(e,t){null!=e&&null!=e&&(angular.isObject(e)&&(e=angular.toJson(e)),n.push(encodeURIComponent(t)+"="+encodeURIComponent(e)))}),e+(-1==e.indexOf("?")?"?":"&")+n.join("&")},f.getUrl=function(){return document.location.origin},f}]);var tinypassService=angular.module("tinypassServices",[]);function _setCookie(e,t,n,r,o,i,a){var s=new Date;s.setTime(s.getTime());var c=new Date(s.getTime()+n);document.cookie=e+"="+t+(n?";expires="+c.toGMTString():"")+(r?";path="+r:"")+(o?";domain="+o:"")+(i?";secure":"")+(a?";samesite="+a:"none")}function _getCookie(e){var t=document.cookie.match(new RegExp("(?:^|; )"+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)"));return t?decodeURIComponent(t[1]):void 0}tinypassService.factory("TinypassService",["$q",function(e){var t;function n(){return t||(t=function(){try{return window.self!==window.top}catch(e){return!0}}()?" samesite=none; ":" samesite=lax; ","https:"===window.location.protocol&&(t+=" secure;"),t)}function r(){var e,t,r="weird_get_top_level_domain=cookie",o=document.location.hostname.split(".");if(1===o.length)return o[0];if(4===o.length&&!isNaN(o[0])&&!isNaN(o[3]))return document.location.hostname;for(e=o.length-1;e>=0;e--){t="."+o.slice(e).join(".");var i=n();if(document.cookie=r+";domain="+t+";"+i,document.cookie.indexOf(r)>-1)return document.cookie=r.split("=")[0]+"=;domain="+t+";expires=Thu, 01 Jan 1970 00:00:01 GMT;"+i,t}}return{setMessage:function(e,t){tinypass.setMessageDashboard(e,t)},hideMessage:function(){tinypass.hideMessage()},cropImage:function(e,t,n,r,o,i,a,s,c){tinypass.cropImage(e,t,n,r,o,i,a,s,c)},getISODate:function(e,t){var n,r;return n=e?new Date(e.getFullYear(),e.getMonth(),e.getDate()):new Date,r=t?new Date(t.getFullYear(),t.getMonth(),t.getDate(),23,59,59):new Date,{from:moment(n).format("YYYY-MM-DDTHH:mm:ssZZ"),to:moment(r).format("YYYY-MM-DDTHH:mm:ssZZ")}},reduceZeros:function(e){var t=(e=Math.round(e))/1e3+"";return 0!=e&&(t=(t=(t=(t+(t.indexOf(".")<0?".":"")+"000").replace(/(\..{3}).*$/,"$1")).substring(0,t.length-Math.min(3,(e+"").length-2)).replace(/[.]$/,"")).split("").reverse().join("").replace(/((\d{3})(?!($|-|.*[.])))/g,"$1,").split("").reverse().join("")),t},generateRandomString:function(e){e=e||10;for(var t="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<e;r++)t+=n.charAt(Math.floor(Math.random()*n.length));return t},generateSuccessMessage:function(e){return function(){tinypass.setMessage("success",e)}},generateErrorMessage:function(t){return function(){return tinypass.setMessage("error",t),e.reject()}},showRequestError:function(t){return tinypass.setMessage("error",t.data.errors[0].msg),e.reject(t)},showRequestErrorDashboard:function(t){return tinypass.setMessageDashboard("error",t.data.errors[0].msg),e.reject(t)},getInMinorUnits:function(e){return e?Math.round(100*e):0},getCurrencyByCode:function(e){if(""==e)return"$";var t;switch(e){case"USD":t="$";break;case"EUR":t="€";break;case"AUD":t="$";break;case"GBP":t="£";break;case"JPY":t="¥";break;default:t=e}return t},setCookie:function(e,t,o){var i=new Date;i.setTime(i.getTime()+24*o*60*60*1e3);var a="expires="+i.toUTCString();document.cookie=e+"="+t+"; "+a+"; domain= "+r()+"; path=/;"+n()},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");if(t.length>1)return t.pop().split(";").shift()},getTopDomain:r,getCookieSameSiteAndSecureAttrString:n}}]),tinypassService.factory("LangUtils",[function(){return{getPersonalName:function(e,t,n){var r=e.getLang();return!["zz_ZZ","ja_JP"].some(function(e){return e===r})?[t,n].filter(function(e){return!!e}).join(" "):[n,t].filter(function(e){return!!e}).join(" ")}}}]),tinypassService.factory("modalConfirm",["$rootScope","$modal",function(e,t){return function(n,r,o,i){var a=e.$new();a.title=n,a.msg=r;var s={scope:a,templateUrl:"/libs/tinypass/_confirm_popup.shtml"},c=t.open(s);function l(e){c.close(e)}return a.onOk=function(){i&&"function"==typeof i?i().then(l):l(o)},c.result}}]),tinypassService.factory("UpdatePerfectScrollbar",["UpdateSpecificScrollbar",function(e){return function(t){if(t&&t.target&&t.target.nodeName){var n,r,o=$(t.target);if("input"==t.target.nodeName.toLowerCase()){var i=o.parents(".tp-dropdown__container"),a=o.parents(".dropdown-menu");return void(a.length>0?a:i).find(".ps-container").each(function(){var e=$(this);e.is(":visible")&&e.scrollTop(0)})}n=o.parent().outerHeight(!0),r=o.parents(".ps-container"),e(r,n)}}}]),tinypassService.factory("UpdateSpecificScrollbar",function(){return function(e,t){var n=e.children().height(),r=e.height(),o=e.scrollTop();o+r+t>=n&&n>=r&&e.scrollTop(o-t)}}),tinypassService.factory("iframeService",["$rootElement",function(e){return{injectHiddenIframe:t,injectHiddenIframeWithTimeout:function(e,n,r,o){var i=t(e,n),a=window.setTimeout(function(){angular.element("#"+e).remove(),o&&o()},r||15e3);return{iframe:i,cancel:function(){window.clearTimeout(a)}}},injectIframe:function(e,t,r){var o=t?' src="'+t+'" ':"";return n(angular.element("<iframe "+o+"></iframe>"),e,r,{backgroundColor:"transparent",border:"0",width:"100%",height:"100%",position:"relative",zIndex:4})},injectRealIframe:function(e,t,r,o){var i={backgroundColor:"#ffffff",border:"0",width:"100%",height:"100%",position:"relative",zIndex:1};return Object.assign(i,o),n(angular.element(t),e,r,i)},injectHungTimeoutIframe:function(e,n){return window.setTimeout(function(){var r=t(e),o=r.contentWindow?r.contentWindow.document:r.contentDocument;o.open("text/html","replace"),o.write('<html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">        <script type="text/javascript">            function submitform() {                document.forms["page_return"].submit();            }        <\/script>    </head>    <body onload="submitform()">        <form name="page_return" method="post" action="'+n+'">            <input type="hidden" name="resultCode" value="999">            <input type="hidden" name="message" value="Request timeout">        </form>    </body></html>'),o.close()},15e3)},appendContentToIframe:function(e,t){var n=e.contentWindow?e.contentWindow.document:e.contentDocument;n.open("text/html","replace"),n.write(t),n.close()},getAncestorOrigins:function(){var e=document.location.ancestorOrigins;if(!e){var t=document.referrer,n=t.split("/");e={0:n[0]+"//"+n[2],length:1}}return e}};function t(t,n){var r=n?' src="'+n+'" ':"";angular.element("#"+t).remove();var o=angular.element('<iframe id="'+t+'"'+r+' style="display: none"></iframe>')[0];return e.append(o),o}function n(e,t,n,r){angular.element("#"+t).remove(),e.attr({allowtransparency:"true",id:t}).css(r);var o=e[0];return n.append(o),o}}]);var selectFactory=angular.module("selectFactory",["ajaxServices"]);selectFactory.factory("selectServiceFactory",["tpHTTP","$timeout",function(e,t){return function(n){var r={},o=!!n.invalidateUpdate,i={search:function(n){var a=r[n];a&&!i.instantUpdate||(a=function(n){r[n]=function(t){var n=i.buildParams(t);return e.post(i.endpoint,n).then(i.extractItems).catch(function(e){})}(n),i.instantUpdate=!1,o&&t(function(){delete r[n]},1e3);return r[n]}(n));return a}};return angular.extend(i,n),i}}]),selectFactory.factory("selectDirectiveFactory",["$timeout","UpdatePerfectScrollbar","$perfectScrollBarService",function(e,t,n){return function(r){return{restrict:"AE",replace:!0,transclude:!0,scope:{ngModel:"=",item:"=",clickFn:"=?",searchFn:"=?",clickOnClose:"=?"},require:"ngModel",templateUrl:r.templateUrl,link:function(o,i,a,s){var c,l={};if(o.disabled="true"==a.ngDisabled,o.disabled)return;o.closeOnSelect=void 0!==a.closeOnSelect,o.multiple=void 0!==a.multiple,o.excludeSelected=void 0!==a.excludeSelected,o.showCheckbox=o.multiple&&!o.excludeSelected,o.model={filter:"",list:[],selected:{}},o.onSearch=u,o.searchItems=p,o.updateScrollBar=f,o.cancelClick=function(e){e.stopPropagation(),e.preventDefault()},o.closeDropdown=function(){$(".dropdown.open",i).removeClass("open")},o.setItem=function(e,t){if(void 0===e.disabled||!e.disabled){if(o.multiple){var n=angular.copy(o.ngModel||[]),r=d(e,n);null===r?n.push(e):n.splice(r,1),o.ngModel=n,s.$setViewValue(o.ngModel)}else o.ngModel=e,s.$setViewValue(o.ngModel);o.closeOnSelect&&(o.closeDropdown(),o.clickOnClose&&o.clickOnClose(o.ngModel)),f(t)}},o.modelContains=function(e){return null!==d(e,o.ngModel||[])},o.setFocusAfterClick=function(){$("input:first",i).focus()},o.onOpen=function(e){o.clickFn&&o.clickFn(p),function(e){e&&!l[e]&&(l[e]=!0,n.notify("update-perfect-scrollbar"))}(e)},o.selectAll=function(){if(o.multiple){var e=o.ngModel||[],t=[];e.length||(t=angular.copy(o.model.list)),o.ngModel=t,s.$setViewValue(o.ngModel)}},u(),o.multiple&&o.$watch("ngModel",function(){!function(){var e={};if(!o.multiple)return;if(!o.ngModel||!Array.isArray(o.ngModel)||o.ngModel.length<=0)return void(o.model.selected=null);o.ngModel.forEach(function(t){e[t[r.idProperty]]=!0}),o.model.selected=e}()},!0);function u(t){c&&e.cancel(c);var n=o.model.filter?300:0;c=e(function(){p(t)},n)}function d(e,t){for(var n=t.length,o=0;o<n;o++)if(t[o][r.idProperty]===e[r.idProperty])return o;return null}function f(e){t(e)}function p(e){var t=o.searchFn||r.searchService.search;t&&t(o.model.filter).then(function(t){t.forEach(function(e){e.id=e[r.idProperty]}),o.model.list=t,e&&o.updateScrollBar(e)})}}}}}]);var loggingModule=angular.module("loggingModule",["ajaxServices"]);loggingModule.factory("loggingService",["tpHTTP",function(e){var t={logToServer:function(t){try{var n=new Error;e.post(TPParam.LOG_ERROR,{description:t,url:window.location.href,trace:n.stack})}catch(e){}}};return t}]),angular.module("paymentFormModule",[]).factory("loaderService",function(){return{showLoader:function(){var e=document.getElementById("pp-loader");e&&(e.style.display="block")},hideLoader:function(){var e=document.getElementById("pp-loader");e&&(e.style.display="none")}}})}(),window.html5ModeConfig=html5ModeConfig,String.prototype.format=function(){for(var e=this,t=0;t<arguments.length;t++){var n="{"+t+"}";e=e.replace(n,arguments[t])}return e},function(e){var t,n,r="error",o="warning";void 0===e.tinypass&&(e.tinypass={}),tinypass.uploadFile2=function(e,t){},tinypass.setMessageDashboard=function(e,t,n){return e===r||e===o?tinypass.__setErrorMessageDashboard(e,t):tinypass.__setMessage(t,null,n)},tinypass.__buildAlertPopupDashboard=function(e,t){if(t){var n=$('<div class="notification error"><span class="message">'+t+'</span><button type="button" class="close close-alert-dashboard">&times;</button></div>');$(document.body).append(n),n.css("marginLeft",-n.outerWidth()/2),n.addClass("in"),$(".close-alert-dashboard").unbind("click").click(function(){$(this).parent().remove(),tinypass.__buildAlertPopupDashboard()})}for(var r=$(".notification"),o=0,i=0;i<r.length;i++)$(r[i]),0!==i?$(r[i]).css({top:90+o+"px"}):$(r[i]).css({top:"90px"}),o+=$(r[i]).outerHeight()+10},tinypass.__setErrorMessageDashboard=function(e,t){if($(".modal-body").is(":visible"))$(".modal-body  .alert").remove(),$(".modal-body").prepend(tinypass.__buildAlertPopup(e,t));else if($("#popup").is(":visible"))$("#popup #popup-content .alert").remove(),$("#popup #popup-content").prepend(tinypass.__buildAlertPopup(e,t));else if($(".modal .modal-body").length>0){for(var n=$(".modal .modal-body"),r=!1,o=0;o<n.length;o++){var i=n[o];$(i).is(":visible")&&($(".alert",i).remove(),$(i).prepend($('<div class="row"></div>').append(tinypass.__buildAlertPopup(e,t))),r=!0)}r||($(".container .main").length>0?tinypass.__buildAlertPopupDashboard(e,t):tinypass.__setMessage(t))}else if($(".container .main").length>0)tinypass.__buildAlertPopupDashboard(e,t);else if($("#payscreen #alert").length>0){$("#payscreen #alert").html(t)}else tinypass.__setMessage(t)},tinypass.setMessage=function(e,t,n){return e===r||e===o?tinypass.__setErrorMessage(e,t):tinypass.__setMessage(t,null,n)},tinypass.hideMessage=function(){$(".alert-top").remove(),$(".tinypass-alert-messase").remove(),$(".notification.error").remove()},tinypass.__buildAlertPopup=function(e,t){return $('<div role="alert" aria-live="assertive" class="alert alert-block alert-'+e+' tinypass-alert-messase"></div>').append('<button type="button" class="close" data-dismiss="alert">&times;</button>').append($('<span class="message"></span>').text(t))},tinypass.__setErrorMessage=function(e,t){if($(".modal-body").is(":visible"))$(".modal-body  .alert").remove(),$(".modal-body").prepend(tinypass.__buildAlertPopup(e,t));else if($("#popup").is(":visible"))$("#popup #popup-content .alert").remove(),$("#popup #popup-content").prepend(tinypass.__buildAlertPopup(e,t));else if($(".modal .modal-body").length>0){for(var n=$(".modal .modal-body"),r=!1,o=0;o<n.length;o++){var i=n[o];$(i).is(":visible")&&($(".alert",i).remove(),$(i).prepend($('<div class="row"></div>').append(tinypass.__buildAlertPopup(e,t))),r=!0)}r||($(".container .main").length>0?($(".container .main .alert").remove(),$(".container .main").prepend($('<div class="row"></div>').append(tinypass.__buildAlertPopup(e,t)))):tinypass.__setMessage(t))}else if($(".container .main").length>0)$(".container .main .alert").remove(),$(".container .main").prepend($('<div class="row"></div>').append(tinypass.__buildAlertPopup(e,t))),setTimeout(function(){$(".container .main .alert").fadeOut(2e3)},1e3);else if($("#payscreen #alert").length>0){$("#payscreen #alert").html(t)}else tinypass.__setMessage(t)},tinypass.__setMessage=function(t,n,r){var o;if(r){o=$('<div role="alert" aria-live="assertive" class="notification"><i class="icon-check-white status"></i></div>');var i=$('<div class="notification-text"></div>');i.append($('<span class="message"></span>').text(t)),i.append($('<span class="description"></span>').text(r)),o.append(i)}else o=$('<div role="alert" aria-live="assertive" class="notification"><i class="icon-check-white status"></i><span class="message">'+t+"</span></div>");$(document.body).append(o),e.innerWidth>648&&o.css("marginLeft",-o.outerWidth()/2),o.addClass("in"),setTimeout(function(){o.removeClass("in")},3e3),setTimeout(function(){o.remove()},5e3)},tinypass.setOpacity=function(e,t){$(e).css("filter","alpha(opacity="+100*t+")").css("-khtml-opacity",t).css("-moz-opacity",t).css("opacity",t)},tinypass.showWaitPanel=function(e){if(e||(e={}),tinypass.hideWaitPanel(),$("body").append($('<div id="waitPanel">'+(e.title?e.title:"Loading...")+"</div>").css("display","block")),e.modal){var t=$('<div id="tinypassModalWindow"/>');t.css("position","fixed").css("left","0").css("top","0").css("width","100%").css("height","100%").css("z-index","1000"),e.opacity?tinypass.setOpacity(t.css("background-color",e.background?e.background:"white"),e.opacity):t.css("background-color","transparent"),$("body").append(t)}},tinypass.hideWaitPanel=function(){$("#waitPanel").remove(),$("#tinypassModalWindow").remove()},tinypass.__buildPopup=function(){return $('<div id="popup" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;"><div id="popup-title" class="modal-header"></div><div id="popup-content" class="modal-body"></div><div id="popup-controls" class="modal-footer"></div></div>')},tinypass.updateMetaRefresh=function(e){e&&(n=e),n&&!isNaN(n)&&(clearTimeout(t),t=setTimeout("window.location.reload()",n))},tinypass.__initNewlyAddedContent=function(e){tinypass.__initToolTips(e)},$(document).ready(function(){var e=$("body");e.append(tinypass.__buildPopup()),e.ajaxStart(function(){tinypass.updateMetaRefresh(),tinypass.showWaitPanel()}),e.ajaxStop(function(){tinypass.hideWaitPanel()}),$("table.row-alternate").each(function(){$(this).find("tr:even").find("td").toggleClass("line-item-alt",!0),$(this).find("tr:odd").find("td").toggleClass("line-item-alt2",!0)}),tinypass.__initNewlyAddedContent(e),function(e){var t=new Array;e.Watermark={ShowAll:function(){for(var e=0;e<t.length;e++)""===t[e].obj.val()?(t[e].obj.val(t[e].text),t[e].obj.toggleClass("watermark",!0)):t[e].obj.toggleClass("watermark",!1)},HideAll:function(){for(var e=0;e<t.length;e++)t[e].obj.val()===t[e].text&&t[e].obj.val("")}},e.fn.Watermark=function(n){return this.each(function(){var r=e(this);function o(){0===r.val().length&&r.toggleClass("watermark",!0).val(n)}t[t.length]={text:n,obj:r},r.focus(function(){r.hasClass("watermark")&&r.toggleClass("watermark",!1).val("")}),r.blur(o),o()})}}(jQuery)}),tinypass.__initToolTips=function(e){$(e).find('*[data-toggle="tooltip"]').each(function(){var e=$(this);e.attr("title")||e.attr("title",e.html()),e.tooltip({html:!0})})},tinypass.hasFlash=function(){try{return ZeroClipboard.detectFlashSupport()}catch(e){}return!1},tinypass.copyToClipboard=function(e,t){var n,r,o;try{if(!tinypass.hasFlash())return null;for(var i in r=$(e),(o={}).moviePath="/js/ZeroClipboard.swf",t)o[i]=t[i];return(n=new ZeroClipboard(r,o)).glue(r),n}catch(e){}},tinypass.initImageCropper=function(e,t,n,r){},tinypass.cropImage=function(e,t,n,r,o,i,a,s,c,l){},tinypass.stripSpaces=function(e){return null==e?e:e.replace(/\s+/g,"")},tinypass.ccLuhnCheck=function(e){if(!e.match(/^\d+$/))return!1;for(var t=e.length,n=1&t,r=0,o=0;o<t;o++){var i=parseInt(e.charAt(o));1&o^n||(i*=2)>9&&(i-=9),r+=i}return r%10==0},tinypass.convertCurrencyAndFormat=function(e,t){try{if(!e||e.match(/.*[^0-9.].*/))return"?.??";if(!t||t.match(/.*[^0-9.].*/))return"?.??";var n=parseFloat(e)/parseFloat(t);return 0===n||isNaN(n)?"?.??":n=(Math.ceil(Math.round(1e4*n)/100)/100).toFixed(2).replace(/[.]00$/,"")}catch(e){return"?.??"}};try{$(document).ready(function(){$(e).on("resize",function(){$("#left-nav").find("#left-nav-panel").height($(e).height()-121)}),$(e).trigger("resize")})}catch(e){}}(window);var pnErrorWatcher=function(){return new function(){var e=[];const t={OFFER:"offer",TEMPLATE:"template",MYACCOUNT:"myaccount"};function n(n){var r={userAgent:navigator.userAgent};if(n instanceof Error&&(r.stack=n.stack,r.message=n.message),n instanceof Event){var o=n,i="error"in o&&o.error;r.stack=i?o.error.stack:"n/a",r.message=i?o.error.message:"n/a"}r.parentUrl=encodeURIComponent(getParameterByName("url")),r.iframeSrc=encodeURIComponent(document.location.href),r.experienceId=getParameterByName("experienceId");var a,s=getParameterByName("widget");r.tags={widget_type:s||"unknown",src:"wgt_err",device:getDeviceType()},function(e,n){e===t.OFFER?function(e){e.activeState=getActiveState(),e.tags.selected_term_id=getSelectedTermId(),e.tags.offer_id=getParameterByName("offerId")}(n):e===t.MYACCOUNT?function(e){e.activeTab=TPParam.ACTIVE_TAB,e.tags.ma_active_tab=TPParam.ACTIVE_TAB}(n):e===t.TEMPLATE&&function(e){e.tags.template_id=getParameterByName("templateId"),e.tags.template_variant_id=getParameterByName("templateVariantId")}(n)}(s,r),a=r,-1===e.map(JSON.stringify).indexOf(JSON.stringify(a))&&e.push(r)}function r(e){try{n(e)}catch(e){console.warn("Can not log an error, something went wrong: ",e)}}this.manualLog=function(e){try{n(e)}catch(t){console.warn("Can not log an error, something went wrong: ",t,e)}},this.watchUnhandled=function(){window.addEventListener&&window.addEventListener("error",r)},this.reset=function(){window.removeEventListener("error",r)},this.getErrors=function(){return e.map(function(e){return Object.assign({},e)})}}}(),errorHandler=function(e){function t(){this.sender=null,this.event=null,this.params=null}var n=1e4;try{return new function(){var r={whitelistUrls:[]};function o(){try{var n=e.getErrors().filter(function(e){return r.whitelistUrls.some(function(t){return e.stack&&e.stack.match(t)})});if(0===n.length)return;!function(e){try{var n=window.opener||window.parent,r=Object.assign(new t,{sender:getParameterByName("iframeId"),event:"EVENT_TP_ERROR_HANDLER",params:e});n&&n.postMessage(JSON.stringify(r),"*")}catch(e){console.warn("Can not post message errors to parent: ",e)}}(n)}catch(e){console.warn("Errors can not be sent: ",e)}}function i(){e.watchUnhandled(),setTimeout(function(){o(),e.reset()},n)}this.setConfig=function(e){r=Object.assign(r,e)},this.start=function(){try{i()}catch(e){console.warn("Error logger can not be started: ",e)}}}}catch(e){console.warn("Can't initiate errorHandler: ",e)}}(pnErrorWatcher);!function(e){try{var t=[/\w*\.tinypass\.com/,/localhost/],n=localStorage.getItem("__tp-tinypassErrorHandlerTestMode"),r=location&&location.hostname;n&&r&&t.push(new RegExp(r)),e.setConfig({whitelistUrls:t}),e.start()}catch(e){console.warn("Can't configure errorHandler: ",e)}}(errorHandler),angular.module("JwtModule",[]).factory("jwtService",function(){let e=window.atob&&window.atob.bind(window)||function(e){var r=String(e).replace(/=+$/,"");if(r.length%4==1)throw new n("'atob' failed: The string to be decoded is not correctly encoded.");for(var o,i,a=0,s=0,c="";i=r.charAt(s++);~i&&(o=a%4?64*o+i:i,a++%4)?c+=String.fromCharCode(255&o>>(-2*a&6)):0)i=t.indexOf(i);return c},t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function n(e){this.message=e}return n.prototype=new Error,n.prototype.name="InvalidCharacterError",{decode:function(t,n){if(!t)return"";var r=!0===(n=n||{}).header?0:1;return JSON.parse(function(t){var n=t.replace(/-/g,"+").replace(/_/g,"/");switch(n.length%4){case 0:break;case 2:n+="==";break;case 3:n+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(e(t).replace(/(.)/g,function(e,t){var n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}(n)}catch(t){return e(n)}}(t.split(".")[r]))}}}),angular.module("exceptionHandler",[]).factory("$exceptionHandler",["$log",function(e){return function(t,n){e.warn(t);var r=window.pnErrorWatcher;r&&r.manualLog(t)}}]),window.PP_LIST={CREDIT_CARD:4,MOCK:5,ZERO:0,PAYPAL_BT:11,EDGIL_PAYWAY:19,PAYPAL_EXPRESS_CHECKOUT:22,EIGEN:24,APPLE_PAY_BT:25,OPENPAY_CASH:26,EASYPAY_MULTIBANCO:28,EASYPAY_MBWAY:29,EASYPAY_DIRECT_DEBIT:30,EASYPAY_BOLETO:31,KLARNA:32,OBI:33,OBI_PAYPAL:34,DATATRANS:35,DATATRANS_POSTFINANCE:36,ONET:37,APPLE_PAY_SS:38,CYBER_SOURCE:39,STRIPE:40,STRIPE_APPLEPAY:41,PAYWAY_APPLEPAY:42,WIRECARD:45,CREDIT_GUARD_CC:66,PAY_U_BRAZIL_BOLETO:62,VOLGA:63,INVOICE_BASED_SECOND:72,INVOICE_BASED_FIRST:75,EPP:100},angular.extend(window,window.PP_LIST);var generalModule=angular.module("generalModule",["ui.router","ajaxServices","ngSanitize","JwtModule"]);function getMonths(){return{"01":"1 - Jan","02":"2 - Feb","03":"3 - Mar","04":"4 - Apr","05":"5 - May","06":"6 - Jun","07":"7 - Jul","08":"8 - Aug","09":"9 - Sept",10:"10 - Oct",11:"11 - Nov",12:"12 - Dec"}}function getYears(){for(var e=(new Date).getFullYear(),t={},n=e;n<e+13;++n){t[(n+"").substring(2)]=n}return t}function isString(e){return"string"==typeof e}function isNumber(e){return e&&""!==e&&!isNaN(e)}function lowercase(e){return isString(e)?e.toLowerCase():e}function toBoolean(e){if("function"==typeof e)e=!0;else if(e&&0!==e.length){var t=lowercase(""+e);e=!("f"===t||"0"===t||"false"===t||"no"===t||"n"===t||"[]"===t)}else e=!1;return e}function _randomString(e){e||(e=5);for(var t="",n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<e;r++)t+=n.charAt(Math.floor(Math.random()*n.length));return t}generalModule.constant("KEY_CODES",{ESCAPE:"Escape",ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ENTER:"Enter",SPACE:" ",TAB:"Tab"}),generalModule.constant("APPLE_PAY_IDENTIFIERS",{BRAINTREE:"applepaybt",STRIPE:"applepay_stripe",PAYWAY:"applepay_pw",DATATRANS:"datatrans_applepay"}),generalModule.constant("PAYMENT_METHOD_TYPES",{CARD:"credit_card",APPLE_PAY:"apple_pay"}),generalModule.factory("cookieService",function(){var e={getCookie:function(e){for(var t=e+"=",n=decodeURIComponent(document.cookie).split(";"),r=0;r<n.length;r++){for(var o=n[r];" "===o.charAt(0);)o=o.substring(1);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return""},setCookie:function(e,t,n,r){var o=e+"="+t+";expires="+n;r&&(o+=";path="+r),document.cookie=o},eraseCookie:function(e,t){this.setCookie(e,"",(new Date).toUTCString(),t)}};return e});var util={debug:getParameterByName("debug"),log:function(){if(util.debug&&void 0!==window.console&&void 0!==window.console.log){var e=arguments;(function(){var e=["__webdriver_evaluate","__selenium_evaluate","__webdriver_script_function","__webdriver_script_func","__webdriver_script_fn","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__driver_evaluate","__selenium_unwrapped","__fxdriver_unwrapped"],t=["_phantom","__nightmare","_selenium","callPhantom","callSelenium","_Selenium_IDE_Recorder"];for(var n in t){var r=t[n];if(window[r])return!0}for(var o in e){var i=e[o];if(window.document[i])return!0}for(var a in window.document)if(a.match(/\$[a-z]dc_/)&&window.document[a].cache_)return!0;return!!(window.external&&window.external.toString&&window.external.toString()&&-1!==window.external.toString().indexOf("Sequentum")||window.document.documentElement.getAttribute("selenium")||window.document.documentElement.getAttribute("webdriver")||window.document.documentElement.getAttribute("driver"))})()&&(e=function(e){var t="";try{for(var n=0;n<e.length;n++)try{t+=JSON.stringify(e[n])+", "}catch(e){t+=""+e}return e=[t]}catch(t){return e}}(e)),"object"==typeof window.console.log?window.console.log.apply.call(console.log,console,e):console.log.apply(console,e)}}},urlParams=null;function getDeviceType(){const e=navigator.userAgent;return/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(e)?"tablet":/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(e)?"mobile":"desktop"}function getActiveState(){return angular.element(document.body).injector().get("viewService").getActiveState()}function getSelectedTermId(){const e=angular.element(document.body).injector().get("checkout").getSelectedTerm();return e?e.termId:null}function getParameterByName(e){if(!urlParams){var t,n=/\+/g,r=/([^&=]+)=?([^&]*)/g,o=function(e){return decodeURIComponent(e.replace(n," "))},i=window.location.search.substring(1);for(urlParams={};t=r.exec(i);)urlParams[o(t[1])]=o(t[2])}var a=urlParams[e];return!a&&window.TPParam&&window.TPParam.params&&(a=window.TPParam.params[e]),a}function getQueryParamInStringByName(e,t){var n=new RegExp("[\\?&]"+t+"=([^&#]*)").exec(e);return null===n?"":decodeURIComponent(n[1].replace(/\+/g," "))}function getIntParam(e,t){var n=getParameterByName(e);return void 0!==n&&isNaN(n)?t:new Number(n)}BaseComponentController={_isValid:function(){return!0},displayErrors:function(e,t,n,r){if(t)if(Array.isArray(t))for(var o=0;o<t.length;o++){let e=t[o].msg||t[o].message;e&&""!==e.trim()&&i(e)}else"object"!=typeof t?"string"==typeof t&&i(t):t.message?i(t.message):util.log("Unable to extract error message",t);function i(t){n(e).global(t),r.checkoutPaymentErrorEvent(t)}}};var EVENT_CHECKOUT_PAYMENT_METHODS_CHANGED="EVENT_CHECKOUT_PAYMENT_METHODS_CHANGED",EVENT_CHECKOUT_TERM_SELECTED="EVENT_CHECKOUT_TERM_SELECTED",EVENT_APPLY_REDEEM_CODE="EVENT_APPLY_REDEEM_CODE",EVENT_CHECKOUT_CONSENT_CHANGED="EVENT_CHECKOUT_CONSENT_CHANGED",EVENT_CHECKOUT_RESET_SELECTED_PAYMENT_METHOD="EVENT_CHECKOUT_RESET_SELECTED_PAYMENT_METHOD",EVENT_CHECKOUT_PRICE_CHANGED="EVENT_CHECKOUT_PRICE_CHANGED",EVENT_CHECKOUT_APPLY_NEW_PRICE_ERROR="EVENT_CHECKOUT_APPLY_NEW_PRICE_ERROR",EVENT_CHECKOUT_REDEEM_DONE="EVENT_CHECKOUT_REDEEM_DONE",EVENT_APPLE_PAY_CAN_MAKE_PAYMENTS="EVENT_APPLE_PAY_CAN_MAKE_PAYMENTS",EVENT_BILLING_COUNTRY_SELECTED="EVENT_BILLING_COUNTRY_SELECTED",EVENT_COUNTRY_OF_RESIDENCE_SELECTED="EVENT_COUNTRY_OF_RESIDENCE_SELECTED",EVENT_SAME_RESIDENCE_CHECKBOX_CHANGED="EVENT_SAME_RESIDENCE_CHECKBOX_CHANGED",EVENT_BILLING_FROM_TAX_REQUEST="EVENT_BILLING_FROM_TAX_REQUEST",EVENT_ZIP_CODE_CHANGED="EVENT_CC_ZIP_CODE_CHANGED",EVENT_CC_ZIP_CODE_CHANGED="EVENT_CC_ZIP_CODE_CHANGED",EVENT_USER_ACCESS_CHANGED="EVENT_USER_ACCESS_CHANGED",EVENT_ERRORS_CHANGED="EVENT_ERRORS_CHANGED",EVENT_TERMINAL_ERROR="EVENT_TERMINAL_ERROR",EVENT_CONFIG_RELOAD="EVENT_CONFIG_RELOAD",EVENT_STATS_TRACKED="EVENT_STATS_TRACKED",EVENT_TRACKING_ID_CHANGED="EVENT_TRACKING_ID_CHANGED",EVENT_PAY_WITH_NEW_CHANGED="EVENT_PAY_WITH_NEW_CHANGED",EVENT_UPDATE_BILLING_ADDRESS_REGION="EVENT_UPDATE_BILLING_ADDRESS_REGION",EVENT_PAY_WHAT_YOU_WANT_SHOULD_BE_APPLIED="EVENT_PAY_WHAT_YOU_WANT_SHOULD_BE_APPLIED",EVENT_EXPERIAN_ADDRESS_CHANGED="EVENT_EXPERIAN_ADDRESS_CHANGED",EVENT_RESET_ERRORS="EVENT_RESET_ERRORS",EVENT_HIGHLIGHT_ERROR_FIELDS="EVENT_HIGHLIGHT_ERROR_FIELDS",EVENT_TAX_VALIDATION_FAILED="EVENT_TAX_VALIDATION_FAILED",ENABLE_SAVE_BUTTON="ENABLE_SAVE_BUTTON",DISABLE_SAVE_BUTTON="DISABLE_SAVE_BUTTON",EVENT_SAME_RESIDENCE_CHANGE="EVENT_SAME_RESIDENCE_CHANGE",EVENT_SETUP_CUSTOM_VARIABLES="setupCustomVariables",EVENT_SETUP_AFFILIATE_STATE="setupAffiliateState",EVENT_SETUP_EVT_FIELDS="setupEVTFields",EVENT_ADD_CARD="EVENT_ADD_CARD",EVENT_INIT_BANCARD="EVENT_INIT_BANCARD",EVENT_GOTO_PREVIOUS_STATE="EVENT_GOTO_PREVIOUS_STATE",EVENT_TEMPLATE_RELOADED="EVENT_TEMPLATE_RELOADED",EVENT_TEMPLATE_LOGIN_CHECK_FINISHED="EVENT_TEMPLATE_LOGIN_CHECK_FINISHED",EVENT_TEMPLATE_LOGIN_SUCCESS="EVENT_TEMPLATE_LOGIN_SUCCESS",EVENT_TERMINATE_SESSION_COMPLETED="terminateSessionCompleted",EVENT_TERMINATE_SESSION_INITIATED="terminateSessionInitiated",EVENT_TERMINATE_SESSION_CANCELED="terminateSessionCanceled",EVENT_RELOAD_OFFER="reloadOffer",EVENT_TEMPLATE_INITIATED="templateInitiated",EVENT_PREVENT_CLOSE="eventPreventClose",EVENT_SESSIONS_UPDATED="EVENT_SESSIONS_UPDATED",EVENT_UPDATE_SCOPE_VALUES="EVENT_UPDATE_SCOPE_VALUES";generalModule.factory("ngEventService",["$rootScope",function(e){var t={fire:function(t,n,r,o,i,a){if(!t||""===t)throw new Error("eventName is required");util.log("[NG EVENT SERVICE] Firing event:",arguments),e.$broadcast(t,n,r,o,i,a)},subscribe:function(t,n){if(!t||""===t)throw new Error("eventName is required");if(!n)throw new Error("callback is required");return e.$on(t,n.bind(arguments))}};return t}]),generalModule.factory("stateService",function(){var e={active:!(TPParam&&TPParam.params?TPParam.params:{}).preload};return{get:function(t){return e[t]},set:function(t,n){e[t]=n}}}),generalModule.factory("eventLogger",["$http","$window",function(e,t){var n={log:"https://api.tinypass.com/api/v3/anon/error/log"};function r(r,i){try{var a=function(){var e={aid:null,offerId:null,gaTrackingId:null},n=location.href.match(/aid=([\w\d]+)&/),r=location.href.match(/offerId=([\w\d]+)&/);return n&&(e.aid=n[1]),r&&(e.offerId=r[1]),t.ga&&t.ga(function(t){e.gaTrackingId=t.get("trackingId")}),e}(),s=function(e,t,n){var r,o,i=[];try{r="string"==typeof t?{message:t}:JSON.stringify(t)}catch(e){r="parse error"}try{o=JSON.stringify(n)}catch(e){o="meta error"}return i.push("=====checkout event====="),i.push("eventName: "+e),t&&i.push("payload: "+r),i.push("meta: "+o),i.push("=====event body end====="),i.join("\n")}(r,i,a);if(!a)return;if(-1===["lGr3ciYmC7","6qv8OniKQO","bMMF5VBfpu","FU52w9tupu","HTa7sve2pu","6N1iEZE6pe","Dqaa75yqpu"].indexOf(a.aid)&&"edgilHostedPageSubmitForm"!==r)return;e({method:"POST",url:n.log,data:"log_message="+o(s),headers:{"Content-Type":"application/x-www-form-urlencoded","Piano-request-without-spinner":1}})}catch(e){console.warn("can't log event due to:",e)}}function o(e){var t=getParameterByName("widget"),n=[{message:e,tags:t?[t]:[]}];return JSON.stringify(n)}return{logGaEvent:function(e){r("gaEvent",e)},logGaFailedEvent:function(e){r("gaEvent [FAILED]",e)},logEvent:r}}]),generalModule.factory("gaService",["$window","stateService","integrationEventsService","eventLogger","eventService","$q","ngEventService",function(e,t,n,r,o,i,a){var s=["showOffer","termSelected","promoApplied","promoInvalid","loginSuccess","loginFailed","registrationFailed","registrationSuccess","checkoutSuccess"],c={sendGoogleAnalyticsEvent:function(e){if(e){e.eventCategory=e.eventAction;var t=" ";e.eventAction="",angular.forEach(e.params,function(n,r){n&&(e.eventAction+=t+r+"_"+n,t="____",e.eventLabel+=" "+r+":"+n)});var n={};-1!==s.indexOf(e.eventCategory)&&(n.nonInteraction=!0);var i={eventCategory:e.eventCategory,eventAction:e.eventAction,eventLabel:e.eventLabel};o.emitGAEvent(Object.assign(i,e.params,n)),r.logGaEvent(e)}},emitEvent:function(e,t,n){n=n||{},o.emitGAEvent(Object.assign({eventLabel:e,eventCategory:t},n))},sendCheckoutCloseEvent:function(e){c.emitEvent("Checkout close","checkoutClose",e)},sendCustomEvent:function(e){c.emitEvent("Checkout custom event","checkoutCustomEvent",e)},sendCheckoutStateChangeEvent:function(e,t){c.emitEvent("Checkout state change","checkoutStateChange",{stateName:e,offerId:TPParam.config.offerId,termId:t&&t.termId,term:t})},sendStartCheckoutEvent:function(e){c.emitEvent("Start checkout","startCheckout",e)},sendLoginRequiredEvent:function(e){c.emitEvent("Login required","loginRequired",e)},sendShowTemplateEvent:function(e){c.emitEvent("Show template","showTemplate",e)}};return c}]),generalModule.factory("statsService",["ngEventService","stateService","$q","$http","exposeJsonParameter",function(e,t,n,r,o){var i={},a=null,s=null,c=[],l=[],u=[],d=!1,f=null,p="tpcc_",m="terms",g=["aid","preview","userProvider","userToken","url","tags","tbc","contentCreated","contentSection","contentType","contentAuthor","experienceId","experienceExecutionId","experienceActionId","browserId","userState","pageViewId","visitId","trackingId","previewTemplateVersion","offerId","checkoutFlowId","offerTemplateId","templateId","templateVariantId","offerTemplateVariantId","pageTitle","referrerUrl","templatePubId","templateVersionPubId","templateVersion","templateCategory","isPasswordlessCheckoutEnabled","isSingleStepEnabled","isDoubleOptInEnabled","affiliateState","deviceId"],v=["aid","preview","userProvider","userToken"];function h(){if(s)return n.when(w());var e=n.defer();return c.push(e),e.promise}function E(){if(s)return n.when(_());var e=n.defer();return l.push(e),e.promise}function _(){return d?{checkoutStats:i}:{initStatParams:s}}function w(){return{checkoutStats:i,initStatParams:s}}function y(e){h().then(function(){angular.extend(i,e)})}function T(e){f=e}return{getStatsPayload:E,getStats:h,mergeStats:y,getParams:function(){var e=n.defer();return a?e.resolve(a):u.push(e),e.promise},trackView:function(e){T(e),"offer"!==e&&TPParam.TRACK_VIEW&&E().then(function(t){r({method:"POST",url:TPParam.TRACK_VIEW,params:{view:e},data:t,headers:{"Piano-request-without-spinner":1}}).then(function(e){e&&e.models&&e.models.checkoutStats&&y(e.models.checkoutStats)})})},setCheckoutView:T,getPageView:function(){let e=w(),t=null,n=null,r=null,o=null,i=null,a=null,s=null;return e&&e.initStatParams&&(t=e.initStatParams.tbc,n=e.initStatParams.pageViewId,r=e.initStatParams.browserId,o=e.initStatParams.pageTitle,i=e.initStatParams.trackingId,a=e.initStatParams.userState,s=e.initStatParams.deviceId),{tbc:t,pageViewId:n,browserId:r,pageTitle:o,trackingId:i,userState:a,deviceId:s}},handleTrackStatEvent:function(n,h){if(t.set("active",!0),!TPParam.TRACK_SHOW)return;s=function(e,t){var n={};return function(e,t,n){g.forEach(function(r){e&&e[r]?n[r]=e[r]:t&&t[r]&&(n[r]=t[r])})}(e,t,n),function(e,t,n){var r;if(e&&e[m]?r=e[m]:t&&t[m]&&(r=t[m]),Array.isArray(r)){var o=[];r.forEach(function(e){e&&o.push(e.termId)}),n.termIds=o}}(e,t,n),S(t,n),S(e,n),function(e){e.checkoutView=f}(n),n.cookie_consents=JSON.stringify(piano.getCookieConsents()),function(e){e.previous_user_segments=piano.getUserSegments()}(n),function(e){e.userState=piano.getUserState()}(n),function(e,t,n){"upgradeOffer"===e.offerType&&(t&&t.changeOptions&&(n.shownTerms=t.changeOptions.map(function(e){return e.termToId}),n.shownUpgradeOptions=t.changeOptions),e&&e.termId&&(n.termId=e.termId),e&&e.termChangeOptionId&&(n.upgradeOptionId=e.termChangeOptionId))}(e,t,n),function(e,t){var n=o(e.sessions||null,null);t.isSessionLimitReached=n?n.hit_limit:n}(e,n),n}(h,TPParam.config),P(h,i,s);let E,y={},T=h.oid&&h.termId3ds;function S(e,t){e&&$.each(e,function(e,n){0===e.indexOf(p)&&(t[e]=n)})}function P(e,t,n){i=t,a=e,s=n}function C(){c.forEach(function(e){e.resolve(w())}),c=[],l.forEach(function(e){e.resolve(_())}),l=[],u.forEach(function(e){e.resolve(a)}),u=[],e.fire(EVENT_STATS_TRACKED,{params:a,stat:i})}T?(y.oid=h.oid,y.restoreCheckoutStats=!0,E=function(e){let t={};return v.forEach(function(n){e[n]&&(t[n]=e[n])}),t}(s)):(E={initStatParams:s},C()),r({method:"POST",url:function(){let e=TPParam.TRACK_SHOW,t=getParameterByName("lang");return t&&(e=e+"?lang="+t),e}(),params:y,data:E,headers:{"Piano-request-without-spinner":1}}).then(function(e){d=!0,P(h,e.data.models.stats,s),T&&C()})}}}]),generalModule.factory("browserIdService",["ngEventService","$q",function(e,t){var n=t.defer();return e.subscribe("passBrowserId",function(e,t){n.resolve(t.browserId)}),{getBrowserId:function(){return n.promise}}}]),generalModule.run(["ngEventService",function(e){e.subscribe("passPcidBrowserId",function(e,t){piano.setBrowserId(t.browser_id)}),e.subscribe("passPageViewContext",function(e,t){piano.setPageViewContext(t)}),e.subscribe("passCookieConsents",function(e,t){piano.setCookieConsents(t)}),e.subscribe("passUserSegments",function(e,t){piano.setUserSegments(t)}),e.subscribe("passUserState",function(e,t){piano.setUserState(t)})}]),generalModule.factory("configService",["ngEventService",function(e){var t={};return{get:function(){return t},setProperty:function(e,n){t[e]=n},changed:function(){e.fire(EVENT_CONFIG_RELOAD,t)}}}]),generalModule.factory("apiService",["$http",function(e){var t={method:"post",headers:{"Piano-request-without-spinner":1}};return{call:function(n,r,o){var i=angular.copy(t);return i.url="/api/v3"+n,o&&(i.method=o),i.params=r,e(i)}}}]),generalModule.factory("modalService",["$rootScope","$q","$http","$templateCache","$injector","$timeout","$document","$compile","$controller","KEY_CODES",function(e,t,n,r,o,i,a,s,c,l){var u={},d={created:!1,visible:!1,domEl:null},f={created:!1,scope:null,domEl:null},p=function(t,n,r){var o=a.find("body").eq(0);if(!d.created){var c=e.$new(!0),u=s('<div class="modal-overlay"></div> ')(c);o.append(u),d.created=!0,d.domEl=u}if(!d.visible){var p=$(d.domEl),m=r.speed||600;p.addClass("active"),p.animate({opacity:1},m),d.visible=!0}var g=angular.element('<div class="modal '+(r.class||"")+'"></div>');g.addClass("active"),g.animate({opacity:1},m),g.html(n.content),g.prepend('<div tabindex="0" class="ma-modal-title"></div>');var v=s(g)(n.scope);f.created=!0,f.scope=n.scope,f.domEl=g,d.domEl.append(v),i(function(){var e,t;a.find("body").eq(0).find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])').each(function(){var e=angular.element(this);if(!f.domEl[0].contains(this)){var t=e.attr("tabindex");t&&e.attr("data-original-tabindex",t),e.attr("tabindex","-1"),e.attr("data-focus-disabled","true")}}),e=f.domEl.find(".tp-close--last"),t=f.domEl.find(".ma-modal-title"),e.length&&t.length?(e.on("keydown",function(e){e.key!==l.TAB||e.shiftKey||(e.preventDefault(),t.focus())}),t.on("keydown",function(t){t.key===l.TAB&&t.shiftKey&&(t.preventDefault(),e.focus())}),t.focus()):f.domEl.find("button")[0].focus()},0)},m=function(e,t,n){var r,o,i=t.speed||600;a.find("body").eq(0).find('[data-focus-disabled="true"]').each(function(){var e=angular.element(this),t=e.attr("data-original-tabindex");e.removeAttr("data-focus-disabled"),t?(e.attr("tabindex",t),e.removeAttr("data-original-tabindex")):e.removeAttr("tabindex")}),d.created&&d.visible&&($(d.domEl).animate({opacity:0},i,"swing"),$(d.domEl).removeClass("active"),d.visible=!1),f.created&&(r=f.domEl.find(".tp-close--last"),o=f.domEl.find(".ma-modal-title"),r.length&&r.off("keydown"),o.length&&o.off("keydown"),$(f.domEl).animate({opacity:0,marginTop:0},i,"swing",function(){$(f.domEl).removeClass("active"),$(f.domEl).removeClass("error"),f.domEl.remove(),f.scope.$destroy(),f.scope=null,f.domEl=null,f.created=!1,a.find(".ma-navigation__tab.active a").eq(0).focus(),n&&n()}))};return u.openDialog=function(i){var a,s,l,u={close:function(e){m(0,i,e)}};if(util.log("MODAL OPTIONS",i),!i.template&&!i.templateUrl)throw new Error("One of template or templateUrl options is required.");t.all([(l=i,l.template?t.when(l.template):n.get(l.templateUrl,{cache:r}).then(function(e){return e.data}))].concat((a=i.resolve,s=[],angular.forEach(a,function(e,n){(angular.isFunction(e)||angular.isArray(e))&&s.push(t.when(o.invoke(e)))}),s))).then(function(t){var n=(i.scope||e).$new();n.close=u.close;var r={},o=1;i.controller&&(r.$scope=n,r.$modalInstance=u,angular.forEach(i.resolve,function(e,n){r[n]=t[o++]}),c(i.controller,r)),p(0,{scope:n,content:t[0]},i)})},u.getModalEl=function(){return f?f.domEl:null},u}]),generalModule.factory("shakeService",function(){var e={shake:function(e){for(var t=Math.random()<.5?-2:2,n=0;n<10;n++)$(e).animate({"margin-left":(t=-t)+"px"},10+2*n);$(e).animate({"margin-left":0},5)}};return e}),generalModule.factory("EventManager",function(){return function(){var e={};return{emit:function(t,n){r(t);var o=e[t];if(!o)return void console.info("Event `",t,"` with no subscribers was emitted.");o.forEach(function(e){e.call(this,n)})},subscribe:t,getEventSubscriptionFunc:function(e){return t.bind(null,e)},unsubscribe:n};function t(t,o){r(t),function(e){if("function"!=typeof e)throw new TypeError("Expected callback to be a function, but got "+e)}(o);var i=e[t];return i||(i=e[t]=[]),i.push(o),n.bind(null,t,o)}function n(t,n){r(t);var o=e[t];if(o){var i=o.indexOf(n);-1!==i?o.splice(i,1):console.warn("Given callback was not found for the event `{0}`.".format(t))}else console.warn("Attempt to unsubscribe from the unknown event `{0}`.".format(t))}function r(e){if(!e)throw new TypeError("Expected event name to be a non-empty string, but got "+e)}}}),generalModule.directive("customScript",["$parse",function(e){return{restrict:"EA",scope:{},link:function(t,n){function r(n){var r=n.substring(2,n.length-1),o=e(r)(t.$parent);return"string"==typeof o?'"'+o+'"':o}function o(e){try{e=function(e){return e.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&quot;/g,'"')}(function(e){return e?e.replace(/#{(.*?)}/g,r):e}(e))}catch(e){console.error(e)}return"try {\n"+e+"\n} catch (e) { console.error(e); }"}n.ready(function(){var e=document.createElement("script"),t=o(n.html());e.type="text/javascript",e.innerHTML=t,n.empty(),document.body.appendChild(e)})}}}]),generalModule.directive("boilerplateCloseButton",["configService",function(e){return{restrict:"E",transclude:!0,replace:!0,template:"<button ng-if='isShowBoilerplateCloseButton()' class='boilerplate-close-button' type='button' ng-click='close()' aria-label=\"{{'Close the modal' | t}}\"></button>",link:function(t,n,r){t.isShowBoilerplateCloseButton=function(){var t=e.get().closeButtonType,n="false"!==getParameterByName("showCloseButton"),r="inline"!==getParameterByName("displayMode");return n&&"boilerplate"===t&&r}}}}]),generalModule.directive("pnSticky",["$timeout","$interval","utilsService",function(e,t,n){return{restrict:"A",link:function(e,r){var o=r.parent(),i=o[0];o.scroll(n.throttle(function(){l(),i.scrollHeight>i.clientHeight?c||(r.css({position:"fixed",bottom:"0"}),c=!0):c&&(r.css({position:"static",bottom:""}),c=!1)},200));var a=t(function(){i.scrollHeight>i.clientHeight&&(r.css({position:"fixed",bottom:"0"}),l())},100,100),s=!1,c=!1;function l(){s||(t.cancel(a),s=!0)}e.$on("$destroy",l)}}}]),generalModule.factory("windowStateService",[function(){return{checkIframeOrChildWindow:function(){return!0}}}]),generalModule.factory("exposeTemplateParams",function(){return function(e){var t=["aid","debug","displayMode","iframeId","offerId","tags","templateId","templateVariantId","url","width"].concat(["trackingId","experienceId","experienceExecutionId","experienceActionId","sessions"]),n={};return angular.forEach(t,function(t){e[t]&&(n[t]=e[t])}),n}}),generalModule.factory("exposeJsonParameter",function(){return function(e,t){var n=t;try{n=JSON.parse(e)}catch(e){}return n}}),generalModule.service("integrationEventsService",function(){this.dispatchLocal=function(e,t){IntegrationEvents.dispatchLocal(e,t)},this.listenExternal=function(e,t){IntegrationEvents.listenExternal(e,t)},this.listenLocal=function(e,t){IntegrationEvents.listenLocal(e,t)}}),generalModule.factory("topLocation",["$window","eventService","$q",function(e,t,n){var r=function(){var r=n.defer();return t.postMessage("getLocation",{resultCallback:function(t){var n=e.document.createElement("a");n.href=t.result,r.resolve(n)}}),r.promise};return r.hash=function(e){t.postMessage("setLocationHash",{hash:e})},r}]),generalModule.factory("addQueryParameterToUrl",function(){return function(e,t,n){var r,o;e.indexOf("#")>0?(o=e.indexOf("#"),r=e.substring(e.indexOf("#"),e.length)):(r="",o=e.length);var i=e.substring(0,o).split("?"),a="?";if(i.length>1){var s=i[1];s.length&&(a+=s+"&")}return a+=t+"="+encodeURIComponent(n),i[0]+a+r}}),generalModule.factory("setupTrackingId",["ngEventService",function(e){return function(t){var n=piano._getTrackingId();piano._setTrackingId(t),n!==t&&e.fire(EVENT_TRACKING_ID_CHANGED,t)}}]),generalModule.service("utilsService",["cookieService","lang","jwtService",function(e,t,n){this.isIphone=function(){return/iPhone/.test(navigator.userAgent)&&!window.MSStream},this.isIOS=function(){return!!navigator.platform&&/iP(ad|hone|od)/.test(navigator.platform)},this.isFbOrInstagramApp=function(){var e=navigator.userAgent||navigator.vendor||window.opera;return e.indexOf("FBAN")>-1||e.indexOf("FBAV")>-1||e.indexOf("Instagram")>-1},this.isMobileUserAgent=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},this.contains=function(e,t){return angular.isArray(e)?e.some(function(e){return e===t}):(util.log("method contains() works only with Arrays"),!1)},this.last=function(e){if(angular.isArray(e))return e[e.length-1];util.log("method last() works only with Arrays")},this.forEach=function(e,t){return angular.isArray(e)?(e.forEach(function(e,n){t(e,n)}),e):angular.isObject(e)?(Object.keys(e).forEach(function(n){t(e[n],n)}),e):e},this.map=function(e,t){return angular.isArray(e)?e.map(function(e,n){return t(e,n)}):angular.isObject(e)?Object.keys(e).map(function(n){return t(e[n],n)}):[]},this.reduce=function(e,t,n){if(angular.isArray(e))return e.reduce(t,n)},this.find=function(e,t){if(angular.isArray(e))return e.find(t);util.log("method find() works only with Arrays")},this.filter=function(e,t){return angular.isArray(e)?e.filter(t):(util.log("method filter() works only with Arrays"),[])},this.omit=function(e,t){var n=[],r={};return"string"==typeof t&&(n=[t]),angular.isArray(t)&&(n=[].concat(t)),angular.isArray(e)&&e.forEach(function(e,t){r[t]=e}),angular.isObject(e)&&!angular.isArray(e)&&(r=angular.extend({},e)),n.forEach(function(e){delete r[e]}),r},this.debounce=function(e,t,n){var r;return function(){var o=this,i=arguments,a=n&&!r;clearTimeout(r),r=setTimeout(function(){r=null,n||e.apply(o,i)},t),a&&e.apply(o,i)}},this.setExtendExpiredAccessCookie=function(t,n){var r=new Date;r.setMonth(r.getMonth()+6),e.setCookie(t+"__eea",n?"true":"false",r.toUTCString(),"/")},this.removeExtendExpiredAccessCookie=function(t){e.eraseCookie(t+"__eea","/")},this.jwtDecode=function(e,t){return n.decode(e,t)},this.throttle=function(e,t){var n,r,o=!1;return function i(){if(o)return n=arguments,void(r=this);e.apply(this,arguments),o=!0,setTimeout(function(){o=!1,n&&(i.apply(r,n),n=r=null)},t)}},this.combine=function(e){return function(){e.forEach(function(e){"function"==typeof e&&e()})}};var r=/^([_A-Za-z0-9-&№^=%'"!?*+./#\\$]+)@([_A-Za-z0-9-&№^=%'"!?*+./#\\]+)\.([_A-Za-z0-9-+.]+)$/;this.isEmailValid=function(e){var t=e&&e.trim();return!!t&&(!(t.length>255)&&r.test(t))},this.queryStringToMap=function(e){var t={};if(!e)return t;for(var n,r=/\+/g,o=/([^&=]+)=?([^&]*)/g,i=function(e){return decodeURIComponent(e.replace(r," "))};n=o.exec(e);)t[i(n[1])]=i(n[2]);return t},this.getCustomErrorMessages=function(e){var n={},r=e.find("[error-custom-msg]");return r.length&&r.each(function(e,r){n[r.name]=t.trc("checkout.platform",r.getAttribute("error-custom-msg"))}),n}}]),generalModule.factory("getTrackingId",function(){return function(){return piano._getTrackingId()}}),generalModule.factory("trackExternalEvent",function(){return function(e,t,n){piano._logAutoMicroConversion(e,t,n)}}),generalModule.factory("interceptAjax",["lang",function(e){tinypass.loadingStatusContainerId="loading-status",tinypass.waitLockedBy=null,tinypass.withoutWaitPanel=!1;var t=null;return tinypass.showWaitPanel=function(e,t){"function"==typeof window.CustomEvent&&document.dispatchEvent(new CustomEvent("EVENT_SHOW_WAIT_PANEL",{detail:{id:e,content:t}}))},tinypass.hideWaitPanel=function(e){(!e&&"others"===tinypass.waitLockedBy||e===tinypass.waitLockedBy)&&(t&&(t.stop(),t.remove()),tinypass.waitLockedBy=null)},tinypass.generateLoadingStatusContainer=function(){const e=document.getElementById(tinypass.loadingStatusContainerId);e&&e.remove();const t=Object.assign(document.createElement("div"),{id:tinypass.loadingStatusContainerId,role:"status",className:"visually-hidden"});return t.setAttribute("aria-live","polite"),t},tinypass.refreshLoadingStatusInContainer=function(e){const t=document.getElementById(tinypass.loadingStatusContainerId);t&&(t.innerHTML=e)},{appendLoaderTo:function(n){document.addEventListener("EVENT_SHOW_WAIT_PANEL",function(r){!function(r){if(tinypass.withoutWaitPanel||tinypass.waitLockedBy)return;tinypass.waitLockedBy=r.detail.id||"others",t&&t.remove();t=r.detail.content?$('<div id="waitParent">'+r.detail.content+"</div>"):$('<div id="waitParent"><div id="waitPanel">'+e.tr("Loading...")+"</div></div>");$("."+n).prepend(t)}(r)})}}}]),generalModule.factory("keysService",[function(){return{isEscape:function(e){return"Esc"===e||"Escape"===e},isEnter:function(e){return"Enter"===e},isSpace:function(e){return" "===e}}}]),generalModule.factory("windowService",["$window",function(e){var t,n;return{openWindow:function(o,i){return r(),t&&(t.close(),t=null),t=e.open(o.url,o.target,o.features),n=setInterval(function(){t?t.closed&&(i&&i(),r()):r()},1e3),t}};function r(){n&&(clearInterval(n),n=null)}}]),generalModule.filter("encodeURIComponent",["$window",function(e){return e.encodeURIComponent}]);var Helper=function(){};Helper.wrapMethod=function(e,t,n){n[e]=function(n,r,o){return t[e](n,r,o)}};var IntegrationEvents=function(){var e={"externalApiFieldset.change":"externalApiFieldset.change","ga.created":"ga.created","ga.performance.tracker.created":"ga.performance.tracker.created"},t="_piano_._local_.",n="_piano_._external_.";function r(e){return t+e}function o(e){return n+e}function i(t){if(!(t in e))throw new Error("event "+t+" is not recognized")}function a(e){var t=angular.isDate(e),n=angular.isArray(e),r=angular.isObject(e);return t?new Date(e):n?angular.copy(e,[]):r&&!n?angular.copy(e,{}):e}return{dispatchLocal:function(e,t){i(e),document.dispatchEvent(new CustomEvent(r(e),{detail:a(t)}))},dispatchExternal:function(e,t){i(e),document.dispatchEvent(new CustomEvent(o(e),{detail:a(t)}))},listenLocal:function(e,t){document.addEventListener(r(e),function(e){t(e)})},listenExternal:function(e,t){document.addEventListener(o(e),function(e){t(e)})}}}();Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var r=arguments[1],o=0;o<n;){var i=t[o];if(e.call(r,i,o,t))return o;o++}return-1}});var piano=function(e){var t={},n={listen:function(t,n){e.listenLocal(t,n)},externalEvent:function(t,n){e.dispatchExternal(t,n)},_setTrackingId:function(e){t.trackingId=e},_getTrackingId:function(){return t.trackingId},setBrowserId:function(e){t._browserId=e},setPageViewContext:function(e){t._pageViewContext=e},getPageViewContext:function(){return t._pageViewContext||{}},setCookieConsents:function(e){t._cookieConsents=e},getCookieConsents:function(){return t._cookieConsents},setUserSegments:function(e){t._userSegments=e},getUserSegments:function(){return t._userSegments},setUserState:function(e){t._userState=e},getUserState:function(){return t._userState},getBrowserId:function(){return t._browserId}},r=function(e,n){if(t.trackingId)switch(((TPParam||{}).params||{}).os||"desktop"){case"ios":case"android":o(e,n);break;default:parent.postMessage(JSON.stringify({event:"iframeLogRequest",url:e,queryParams:n}),"*")}},o=function(e,t){var n=[];for(var r in t){var o=t[r];n.push(encodeURIComponent(r)+"="+encodeURIComponent("object"==typeof o?JSON.stringify(o):o))}var i=e+"?"+(n=n.join("&"));if(!util.debug&&navigator.sendBeacon)navigator.sendBeacon(i);else{var a=new XMLHttpRequest;a.open("GET",i,!1),a.send()}};n._logAutoMicroConversion=function(e,n,o){var i=Object.assign(piano.getPageViewContext(),{tracking_id:t.trackingId,browser_id:t._browserId,event_type:e,event_group_id:n,custom_params:o||"",cookie_consents:piano.getCookieConsents(),previous_user_segments:piano.getUserSegments(),user_state:piano.getUserState()});void 0!==n?void 0!==e?r("/api/v3/conversion/logAutoMicroConversion",i):util.log("Parameter eventType is required to log micro conversion."):util.log("Parameter eventGroupId is required to log micro conversion.")},n.logFunnelStep=function(e,n,o){var i=Object.assign(piano.getPageViewContext(),{tracking_id:t.trackingId,browser_id:t._browserId,step_number:e,step_name:n,custom_params:o||"",cookie_consents:piano.getCookieConsents(),previous_user_segments:piano.getUserSegments(),user_state:piano.getUserState()});void 0!==e?void 0!==n?r("/api/v3/conversion/logFunnelStep",i):util.log("Parameter stepName is required to log funnel step."):util.log("Parameter stepNumber is required to log funnel step.")},n.logMicroConversion=function(e,n){var o=Object.assign(piano.getPageViewContext(),{tracking_id:t.trackingId,browser_id:t._browserId,event_group_id:e,custom_params:n||"",cookie_consents:piano.getCookieConsents(),previous_user_segments:piano.getUserSegments(),user_state:piano.getUserState()});void 0!==e?r("/api/v3/conversion/logMicroConversion",o):util.log("Parameter eventGroupId is required to log micro conversion.")};var i=function(e,n,o,i,a,s,c){var l=Object.assign(piano.getPageViewContext(),{tracking_id:t.trackingId,browser_id:t._browserId,term_id:e,term_name:n,cookie_consents:piano.getCookieConsents(),previous_user_segments:piano.getUserSegments(),user_state:piano.getUserState()});void 0!==e?void 0!==n?(void 0!==o&&(l.step_number=o),void 0!==i&&(l.amount=i),void 0!==a&&(l.currency=a),void 0!==s&&(l.custom_params=s),void 0!==c&&(l.conversion_category=c),r("/api/v3/conversion/log",l)):util.log("Parameter termName is required to log conversion."):util.log("Parameter termId is required to log conversion.")};return n.logConversion=function(e){"object"==typeof e?i(e.term_id,e.term_name,e.step_number,e.amount,e.currency,e.custom_params,e.conversion_category):i.apply(this,arguments)},n.reloadTemplateWithUserToken=function(e){},n}(IntegrationEvents),eventModule=angular.module("eventModule",["generalModule"]);eventModule.factory("eventService",["$window","$rootScope","$q","configService",function(e,t,n,r){var o={};function i(){return getParameterByName("iframeId")}return o.last=null,o.resultCallbacks={},o.postMessage=function(t,n){var r=((TPParam||{}).params||{}).os||"desktop";try{switch(r){case"ios":!function(e,t){window.webkit.messageHandlers[e].postMessage(t)}(t,n);break;case"android":!function(e,t){var n=JSON.stringify(t);PianoAndroid[e](n)}(t,n);break;default:!function(t,n){var r={};o.parentURL=getParameterByName("url"),o.parentURL||(o.parentURL=window.location!==window.parent.location?document.referrer:document.location.href);if(r.sender=i(),r.displayMode=getParameterByName("displayMode"),r.recipient="opener",r.event=t,r.params=n,n&&n.resultCallback){var a=_randomString(16);r.params.resultCallbackId=a,o.resultCallbacks[a]=n.resultCallback,delete n.resultCallback}util.log("[EVENT SERVICE] Post message:"+t,r),$.postMessage(JSON.stringify(r),o.parentURL,"popup"===r.displayMode?e.opener:e.parent)}(t,n)}}catch(e){util.log("[EVENT SERVICE] Event wasn't expected: ",t)}},o.customPostMessage=function(e,t,n,r){var o={};o.sender=i(),o.event=e,o.params=t,util.log("[EVENT SERVICE] Custom post message:"+e,o),$.postMessage(JSON.stringify(o),n,r)},o.resizeEvent=function(e){if(e.iframeId=i(),null===o.last)o.postMessage("loaded",e),o.last=e;else if(e.height!==o.last.height||e.width!==o.last.width){var t=r.get().closeButtonType;void 0!==t&&(e.closeButtonType=t),o.postMessage("resize",e),o.last=e}},o.purgeEvent=function(e){o.postMessage("purge",e)},o.closeEvent=function(e){o.postMessage("close",e)},o.closeAndRefreshEvent=function(e){o.postMessage("closeAndRefresh",e)},o.checkoutStateChange=function(e,t){o.postMessage("checkoutStateChange",{stateName:e,offerId:TPParam.config.offerId,termId:t&&t.termId,term:t})},o.startCheckoutEvent=function(e){o.postMessage("startCheckout",e)},o.showAuthForm=function(e){o.postMessage("showAuthForm",e)},o.startThreeDBankSecure=function(){o.postMessage("startThreeDBankSecure")},o.loginRequiredEvent=function(e){var t=n.defer();return e.resultCallback=function(e){t.resolve(e)},o.postMessage("loginRequired",e),t.promise},o.initContext=function(){var e=n.defer();return o.postMessage("initContext",{resultCallback:function(t){e.resolve(t)}}),e.promise},o.gigyaPasswordlessLoginEvent=function(e){e.iframeId=i(),o.postMessage("gigyaPasswordlessLogin",e)},o.customEvent=function(e,t){o.postMessage(e,t)},o.systemErrorEvent=function(e){e.iframeId=i(),o.postMessage("error",e)},o.submitPayment=function(e){o.postMessage("submitPayment",e)},o.completeEvent=function(e){o.postMessage("complete",e)},o.alreadyPurchasedEvent=function(e){o.postMessage("alreadyPurchased",e)},o.checkoutPaymentErrorEvent=function(e){o.postMessage("checkoutPaymentError",{message:e,iframeId:i()})},o.loginEvent=function(e){o.postMessage("login",e)},o.registerEvent=function(e){o.postMessage("register",e)},o.getParentSize=function(){o.postMessage("parentSize")},o.isMobileDevice=function(){return TPParam&&TPParam.params&&("ios"===TPParam.params.os||"android"===TPParam.params.os)},o.emitGAEvent=function(e){o.postMessage("emitGAEvent",e)},o.emitMetricsEvent=function(e){o.postMessage("emitMetricsEvent",e)},o.completeUpgradePurchase=function(e){o.postMessage("completeUpgradePurchase",e)},o.frequencyEvent=function(e){o.postMessage("frequencyEvent",e)},$().ready(function(){$.receiveMessage(function(e){var n;try{if(util.log("[EVENT SERVICE] Received message:",e),-1!==["https://core.spreedly.com","https://jsl.prod.obi.aol.com","https://pay.datatrans.com","https://vpos.infonet.com.py:8888","https://vpos.infonet.com.py","https://flex.cybersource.com","https://testflex.cybersource.com"].indexOf(e.origin))return;var r=e.data.replace(/\/\*.*?\*\//g,"");(n=JSON.parse(r)).sender&&0===n.sender.indexOf("piano-id-")&&(n.event=n.sender+"-"+n.event),"init-social"===n.eventName&&(n={event:"init-social",params:n}),n.event&&-1!==n.event.indexOf("-3ds-complete")&&(n={event:"3ds-complete",params:n}),t.$broadcast(n.event,n.params),n.params&&n.params.resultCallbackId&&o.resultCallbacks[n.params.resultCallbackId]&&(o.resultCallbacks[n.params.resultCallbackId](n.params),delete o.resultCallbacks[n.params.resultCallbackId])}catch(t){util.log("[EVENT SERVICE][Could not parse message:",e)}})}),o}]);var errorModule=angular.module("errorModule",["generalModule"]);errorModule.factory("errorService",["$rootScope","eventService","ngEventService","gaService",function(e,t,n,r){var o={},i={GLOBAL:"global",COMPONENT:"component",TERMINAL:"terminal"};return function(r){var a={},s=null;return a.error=function(e,t){if(!r)throw Error("The $scope is undefined");var o=t;o||(o={}),angular.isString(o)&&(o={message:t}),o.type=e,o.errorInstanceId=r.errorInstanceId,s.errors.push(o),n.fire(EVENT_ERRORS_CHANGED)},a.global=function(e){a.error(i.GLOBAL,e)},a.globals=function(e){angular.forEach(e,function(e){a.error(i.GLOBAL,e)})},a.component=function(e){a.error(i.COMPONENT,e)},a.components=function(e){angular.forEach(e,function(e){a.error(i.COMPONENT,e)})},a.terminal=function(o){var a=o;a||(a={}),angular.isString(a)&&(a={message:o}),a.type=i.TERMINAL,r&&(a.errorInstanceId=r.errorInstanceId),n.fire(EVENT_TERMINAL_ERROR,a);var s=a.message;e.terminalError=s,e.terminalErrorHeading=a.heading,t.systemErrorEvent({message:s})},a.reset=function(){r&&s.errors.length>0&&(s.errors=[],n.fire(EVENT_ERRORS_CHANGED,r.errorInstanceId))},a.errors=function(e){var t=[];if(r){var n=function(r){angular.forEach(r.errors,function(e){t.push(e)}),e||angular.forEach(r.children,function(e){n(e)})};n(s)}else angular.forEach(o,function(e){angular.forEach(e.errors,function(e){t.push(e)})});return t},a.childrenErrors=function(){var e=[];if(r){var t=function(n){angular.forEach(n.errors,function(t){e.push(t)}),angular.forEach(n.children,function(e){t(e)})};angular.forEach(s.children,function(e){t(e)})}else e=[];return e},a.resetDisplayed=function(){var e=a.getId();angular.forEach(o,function(t){var n=[];angular.forEach(t.errors,function(t){t.displayedOn!==e&&n.push(t)}),t.errors=n}),n.fire(EVENT_ERRORS_CHANGED,r.errorInstanceId)},a.TYPES=i,a.getId=function(){return r?r.errorInstanceId:null},function(){var e,t,n;if(r){if(!((n=r)&&n.$evalAsync&&n.$watch))throw Error("The first parameter should be scope");r.errorInstanceId?s=o[r.errorInstanceId]:(r.errorInstanceId=_randomString(16),s={children:[],errors:[],errorInstanceId:r.errorInstanceId,$id:r.$id},o[r.errorInstanceId]=s,(e=(t=function(e){return e?e.errorInstanceId?e.errorInstanceId:e.$parent?t(e.$parent):void 0:null})(r.$parent))&&o[e].children.push(s))}}(),a}}]);var tpComponentsModule=angular.module("tpComponentsModule",["generalModule","containerServiceModule"]);tpComponentsModule.directive("a",["trackExternalEvent","getTrackingId","addQueryParameterToUrl","$timeout","ngEventService",function(e,t,n,r,o){return{restrict:"E",link:function(i,a){var s;r(function(){var e=a.attr("href");function i(){var e=void 0===a.attr("noptid"),r=t();e&&r&&a.attr("href",n(a.attr("href"),"_ptid",r))}e&&0===e.indexOf("http")&&("_parent"!==a.attr("target")&&"_top"!==a.attr("target")&&a.attr("target","_blank"),i(),s=o.subscribe(EVENT_TRACKING_ID_CHANGED,function(){r(function(){i()})}))}),a.on("click",function(t){if("click"===t.type){var n=a.attr("href")||"";0===n.lastIndexOf("http",0)&&e("EXTERNAL_LINK",decodeURI(function(e){var t=e.split(/[?#]/)[0],n=t.length-1;return"/"===t[n]&&(t=t.slice(0,n)),t}(n)),{href:encodeURI(n)})}}),i.$on("$destroy",function(){s&&s()})}}}]),tpComponentsModule.directive("radioTrackBy",function(){return{restrict:"A",scope:{ngModel:"=",ngValue:"=",radioTrackBy:"@"},link:function(e){e.ngValue[e.radioTrackBy]===e.ngModel[e.radioTrackBy]&&(e.ngModel=e.ngValue)}}}),tpComponentsModule.factory("getExternalEventParams",function(){return function(e){var t,n={};for(var r in e)e.hasOwnProperty(r)&&0===r.indexOf("externalEvent")&&"externalEvent"!==r&&(n[(t=r.split("externalEvent")[1],t.charAt(0).toLowerCase()+t.slice(1))]=e[r]);return n}}),tpComponentsModule.directive("externalEvent",["eventService","getExternalEventParams","trackExternalEvent","gaService",function(e,t,n,r){return{restrict:"A",link:function(o,i,a){i.on("submit click",function(o){if(~["click","submit"].indexOf(o.type)){var i=t(a);n("EXTERNAL_EVENT",a.externalEvent,i),e.customEvent("customEvent",{eventName:a.externalEvent,params:i}),r.sendCustomEvent(i)}})}}}]),tpComponentsModule.directive("showIf",["$animate",function(e){return{restrict:"A",link:function(e,t,n){e.$watch(n.showIf,function(e){t.html(toBoolean(e)?e:""),t.toggleClass("ng-hide",toBoolean(e))})}}}]),tpComponentsModule.factory("checkMobile",["$q","$timeout","containerService",function(e,t,n){return function(){return n.getNewWidth()<=600}}]),tpComponentsModule.directive("mobile",["checkMobile",function(e){return{restrict:"A",transclude:!0,scope:{},template:'<div class="mobile-mode" ng-if="check()" ng-transclude></div>',controller:["$scope",function(t){t.check=function(){return e()}}]}}]),tpComponentsModule.directive("desktop",["checkMobile",function(e){return{restrict:"A",transclude:!0,scope:{},template:'<div class="desktop-mode" ng-if="check()" ng-transclude></div>',controller:["$scope",function(t){t.check=function(){return!e()}}]}}]),tpComponentsModule.directive("onEnter",["$parse",function(e){return function(t,n,r){var o=e(r.onEnter);n.bind("keyup",function(e){13===e.keyCode&&t.$apply(function(){o(t,{$event:e})})})}}]),tpComponentsModule.directive("errorMessage",["$parse",function(e){return{scope:!1,controller:["$scope","$element","$attrs","ngEventService","errorService","shakeService",function(e,t,n,r,o,i){var a=o(e).TYPES,s=o(e).getId(),c=n.name,l=n.errorMessage,u=null,d=function(){u&&u.remove(),t.removeClass("error")},f=r.subscribe(EVENT_ERRORS_CHANGED,function(){d();var n=null,r=o(e).errors();angular.forEach(r,function(e){angular.isObject(e)&&e.field===c&&e.type===a.COMPONENT&&(n=e)}),!t.is(":visible")||!n||n.displayed&&n.displayedOn!==s||(n.displayed=!0,"shake"===l?(i.shake(t),t.addClass("error")):(u=$("<div class='"+l+"'>"+n.message+"</div>"),t.after(u),t.addClass("error")))});function p(){d()}t.click(function(){d()}),t.on("keydown",p),e.$on("$destroy",function(){f(),t.off("keydown",p)})}]}}]),tpComponentsModule.directive("config",["containerService","configService",function(e,t){return{restrict:"E",link:function(n,r,o){isNumber(o.width)&&(e.setConfigWidth(o.width),e.resize());var i=!1;angular.forEach(o,function(e,n){var r;r="$",n.substr(0,r.length)!==r&&(i=!0,t.setProperty(n,e))}),i&&t.changed()}}}]),tpComponentsModule.directive("hideIfBlank",["$animate",function(e){return{link:function(e,t){e.$watch(function(){},function(){var e=t.text().replace(/[\s\uFEFF\xA0\n]/gim,""),n=0===t.children().length&&""===e;t.toggleClass("ng-hide",n)})}}}]),tpComponentsModule.directive("reCaptcha",["ngEventService","checkMobile","containerService",function(e,t,n){var r,o,i=3;return{restrict:"EA",template:"",scope:{key:"@",showResetButton:"=?",onResolve:"&?",onReady:"&?",onExpired:"&?"},link:function(a,s){var c=!1;if(!a.key)return void console.warn("There is no re-captcha site-key. See more: https://developers.google.com/recaptcha/docs/display");function l(e){if(0!==e)try{r=grecaptcha.render(s.get(0),{sitekey:a.key,callback:p,"expired-callback":function(){a.onExpired&&a.onExpired()}}),a.showResetButton&&(s.addClass("re-captcha--right-padded"),f(r)),$(window).on("resize",_.debounce(u,300)),a.onReady&&a.onReady({id:r})}catch(t){setTimeout(function(){l(e--)},1e3)}else console.warn("ReCaptcha can't be initialized")}function u(){d(),function(){var e=n.getNewWidth()>320;if(!c)return void s.removeClass("re-captcha--mobile re-captcha--mobile-wide");e?s.addClass("re-captcha--mobile-wide"):s.removeClass("re-captcha--mobile-wide");s.addClass("re-captcha--mobile")}()}function d(){c=t()}function f(e){if(grecaptcha&&grecaptcha.reset){var t=document.createElement("div");t.className="reset-icon pn-icon--refresh",t.onclick=function(){grecaptcha.reset(e),f(e)},n=t,angular.element(".reset-icon.pn-icon--refresh").length||s.append(n)}var n}function p(e){s.addClass("captcha-resolved"),a.onResolve&&a.$apply(function(){a.onResolve({response:e})})}l(i),d(),o=e.subscribe("RECAPTCHA_RESET",function(){grecaptcha&&grecaptcha.reset&&grecaptcha.reset(r)}),a.resolve=p,s.on("$destroy",o)}}}]),tpComponentsModule.directive("ngEnter",function(){return function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(function(){e.$eval(n.ngEnter)}),t.preventDefault())})}}),tpComponentsModule.directive("tooltipComponent",["$document","$sce",function(e,t){return{restrict:"A",scope:{tooltipTitle:"@",tooltipCssClass:"@",tooltipType:"@",tooltipEllipsis:"@",tooltipDisabled:"="},compile:function(){return{pre:function(n,r,o){if("false"!==o.tooltip){r.addClass("tp-tooltip");var i=!1,a=e.find(".tp-tooltip-hover");0===a.length&&(a=$('<div class="tp-tooltip-hover"></div>'),e.find("body").append(a)),a.hide(),r.on("mousemove",function(e){0===n.tooltipTitle.length||i||(a.outerWidth()>e.pageX?a.offset({left:e.pageX,top:e.pageY+16}):a.offset({left:e.pageX-a.outerWidth()-16,top:e.pageY+16}))}),r.on("mouseenter",function(e){"ellipsis"===n.tooltipType&&r[0].scrollWidth<=r[0].offsetWidth||(!function(){if(void 0!==o.tooltipEllipsis){const e=r.find("> .ellipsis"),t=r.width(),n=function(e){const t=e&&e.text().trim(),n=$('<span style="position: fixed; visibility: hidden;white-space: nowrap">'+t+"</span>");angular.element(document.body).append(n);const r=n.width();return n.remove(),Math.round(r)}(e);return n>t}return!0}()?i=!0:0!==n.tooltipTitle.length?n.tooltipDisabled?i=!0:(n.tooltipCssClass&&a.addClass(n.tooltipCssClass),a.html(t.getTrustedHtml(n.tooltipTitle)),a.show()):i=!0)}).on("mouseleave",function(){i=!1,n.tooltipCssClass&&a.removeClass(n.tooltipCssClass),a.css("left","-999em"),a.hide()}),r.on("$destroy",function(){a.hide()}),r.on("click",function(){n.tooltipTitle.length}),n.$watch("tooltipTitle",function(e){a.html(t.getTrustedHtml(e))})}}}}}}]),tpComponentsModule.directive("tpDropdown",["$document",function(e){var t=null,n=angular.noop;return{restrict:"A",replace:!0,transclude:!0,scope:{alignment:"=",disabled:"=ngDisabled"},template:"<div ng-transclude></div>",link:function(r,o,i){i.alignment=void 0===i.alignment?"center":i.alignment;var a=o.find(".dropdown-menu"),s=o.find(".tp-drop-down-button");o.parent().bind("click",function(){n()}),o.bind("click",function(c){if(!r.disabled){c.preventDefault(),c.stopPropagation(),function(){var t=document.getElementsByClassName("tp-modal")[0],n=0;if(t){var r=t.getElementsByTagName("div")[0],c=r.getBoundingClientRect();n=c.top}"center"===i.alignment&&(f=parseInt(a.outerWidth(!0)/2-s.outerWidth(!0)/2),a.css({left:-f,right:"auto"}));if("left"===i.alignment){var l=o[0].getBoundingClientRect()||{},u=l.top+s.outerHeight(!0)+1-n,d=e.outerWidth(!0)-l.right||0,f=o.offset().left||0;f>a.outerWidth(!0)?a.css({top:u,right:d,left:"unset"}):a.css({top:u,left:f,right:"unset"})}}();var l=o===t;t&&n(),l||(o.addClass("open"),t=o,n=function(r){r&&(r.preventDefault(),r.stopPropagation()),e.unbind("click",n),o.removeClass("open"),n=angular.noop,t=null},e.bind("click",n))}})}}}]),tpComponentsModule.factory("dropdownTabNavigationService",["KEY_CODES",function(e){return function(t,n){const r='a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex="0"], [contenteditable]',o=t.querySelector(n.toggleDropdownMenuButtonSelector);function i(t){t.key===e.ESCAPE?(n.closeMenu(),t.preventDefault(),n.isMenuOpened()&&t.stopPropagation()):t.key===e.ENTER?setTimeout(function(){l()},150):t.key===e.SPACE?setTimeout(function(){l()},150):t.key===e.TAB&&t.shiftKey&&n.isMenuOpened()&&n.closeMenu()}function a(){c().removeEventListener("keydown",s),c().addEventListener("keydown",s)}function s(o){if(o.key===e.ESCAPE)n.closeMenuOnClick(o),t.querySelector(n.toggleDropdownMenuButtonSelector).focus(),o.preventDefault(),o.stopPropagation();else if(o.key===e.TAB)n.closeMenuOnClick(o);else if([e.ARROW_UP,e.ARROW_DOWN].includes(o.key)){const t=function(e){const t=e.querySelectorAll(r);return Array.from(t).filter(d)}(c());let n=t.indexOf(document.activeElement);o.key===e.ARROW_DOWN?n=(n+1)%t.length:o.key===e.ARROW_UP&&(n=(n-1+t.length)%t.length),t[n].focus(),o.preventDefault()}}function c(){return t.querySelector(n.dropdownMenuContainerSelector)}function l(){u().focus()}function u(){return c().querySelector("button")}function d(e){for(;e;){if("none"===getComputedStyle(e).display)return!1;e=e.parentElement}return!0}return o.removeEventListener("keydown",i),o.addEventListener("keydown",i),{attachDropdownMenuEvents:function(){u().addEventListener("focus",a)},detachDropdownMenuEvents:function(){c().removeEventListener("keydown",s),u().removeEventListener("focus",a)}}}}]);var userServiceModule=angular.module("userServiceModule",["ui.router","ajaxServices","ngSanitize","generalModule","tp.i18n"]);userServiceModule.factory("userService",["$rootScope","$rootElement","$q","tpHTTP","eventService","ngEventService","errorService","gaService","lang","utilsService","cookieService",function(e,t,n,r,o,i,a,s,c,l,u){var d=_randomString(16),f=null,p=!1,m=[],g=function(){return{app:{},user:{},stats:{},fillLoginIframeParams:E,fillLoginRequiredParamsToGoogleAnalytics:E,fillLoginRequiredEventParams:E,fillLoginSuccessEventParams:E}},v={};v.$rootScope=e,v.rootElement=t,v.userConfirmationStatus=Object.freeze({UNCONFIRMED:"UNCONFIRMED",WAIT_CONFIRMATION:"WAIT_CONFIRMATION",PRE_CONFIRMED:"PRE_CONFIRMED",CONFIRMED:"CONFIRMED"});var h,E=function(){};function _(){var e=window.TPParam.params||window.TPParam.app||v.getConfig().app;return e?e.userProvider:""}function w(e){return e.extendExpiredAccessEnabled&&l.setExtendExpiredAccessCookie(v.getConfig().app.aid,e.extendExpiredAccessEnabled),v.loginSuccessNoPostMessage(e).then(function(){h&&h.resolve(e)})}return v.getConfig=function(){return{app:g().app,user:g().user,stats:g().stats,fillLoginIframeParams:g().fillLoginIframeParams||E,fillLoginRequiredParamsToGoogleAnalytics:g().fillLoginRequiredParamsToGoogleAnalytics||E,fillLoginRequiredEventParams:g().fillLoginRequiredEventParams||E,fillLoginSuccessEventParams:g().fillLoginSuccessEventParams||E}},v.init=function(e){if(g=e,!TPParam.LOGIN)throw"Login handler URL (variable TPParam.LOGIN) is not set"},v.isUserValid=function(){return v.getConfig().user&&!0===v.getConfig().user.valid},v.getUserUid=function(){return v.getConfig().user&&v.getConfig().user.uid},v.isUserReadOnly=function(){if(this.isPianoIdUserProvider())return!1;var e=u.getCookie(v.getConfig().app.aid+"__eea"),t=v.getConfig().user;return"true"===e&&Date.now()>parseInt(t.login_timestamp,10)+t.token_expiration},v.isUserUnrestricted=function(){var e=v.getConfig().user;return!!e&&(e.emailState?v.userConfirmationStatus.CONFIRMED===e.emailState||v.userConfirmationStatus.PRE_CONFIRMED===e.emailState:v.isUserConfirmed())},v.isUserConfirmed=function(){return v.getConfig().user&&v.getConfig().user.confirmed},v.isEmailConfirmed=function(){return v.getConfig().user&&v.getConfig().user.emailConfirmed},v.allowLogout=function(){return v.isUserValid()&&v.isProviderAllowLogout()},v.allowLogin=function(){return v.allowTinypassAccountsLogin()||v.isGigyaUserProvider()},v.allowTinypassAccountsLogin=function(){var e=v.getConfig().app;return e&&e.useTinypassAccounts},v.isPublisherUserRefProvider=function(){return"publisher_user_ref"===_()},v.isGigyaUserProvider=function(){return"gigya"===_()},v.isCondeUserProvider=function(){return"conde"===_()},v.isPianoIdUserProvider=function(){return"piano_id"===_()},v.isPianoIdLiteUserProvider=function(){return"piano_id_lite"===_()},v.isJanrainUserProvider=function(){return"janrain"===_()},v.allowMyAccountLogin=function(){return v.allowTinypassAccountsLogin()},v.allowTinypassAccountsLogout=function(){return v.isProviderAllowLogout()&&v.isUserValid()},v.isProviderAllowLogout=function(){return v.allowTinypassAccountsLogin()||v.isCondeUserProvider()||v.isPianoIdUserProvider()||v.isGigyaUserProvider()||v.isJanrainUserProvider()},v.logout=function(){v.isProviderAllowLogout()&&o.postMessage("logout",{closeOnLogout:getParameterByName("closeOnLogout")}),l.removeExtendExpiredAccessCookie(v.getConfig().app.aid),p=!1},v.loginSuccessNoPostMessage=function(e){return function(e){var t=n.defer();p?t.reject(!1):(p=!0,e||(e={}),v.getConfig().fillLoginSuccessEventParams(e),e.resultCallback=function(){angular.forEach(m,function(t){t.callback(e)}),m=l.filter(m,function(e){return!e.oneTime}),t.resolve(e)},o.postMessage("loginSuccess",e));return t.promise}(e)},v.onUserProfileUpdated=function(e){o.postMessage("userProfileUpdateSuccess",e)},v.register=function(){return v.login("register")},v.checkUser=function(e){return r({method:"get",url:"/checkout/user/check",params:e})},v.login=function(e,t){e||(e="login");var r=getParameterByName("aid"),l=getParameterByName("url"),u=(h=n.defer()).promise;if(o.postMessage("loginStart",{}),u.finally(function(){o.postMessage("loginEnd",{})}),util.log("[USER SERVICE] Cannot continue without valid user...sending loginRequiredEvent"),v.allowTinypassAccountsLogin()){p=!1;var m={displayMode:"popup",aid:r,width:360,height:660,state:e,iframeId:"login-"+_randomString(10),host_url:l,url:window.location.href};v.getConfig().fillLoginIframeParams(m);var g=TPParam.LOGIN+"?"+$.param(m,!0)+"#/"+e;f=function(e,t){var n=parseInt(getParameterByName("parentWidth"),10),r=parseInt(getParameterByName("parentHeight"),10),o=e.width?e.width:n,i=e.height?e.height:r,a=parseInt(getParameterByName("parentDualScreenLeft"),10),s=parseInt(getParameterByName("parentDualScreenTop"),10),c=n/2-o/2+a,l=parseInt(getParameterByName("parentOuterHeight"),10)/2-i/2+s,u=window.open(t,d,"scrollbars=yes,status=0,toolbar=0,resizable=1, width="+o+", height="+i+", top="+l+", left="+c);return window.focus&&u.focus(),u}(m,g),i.subscribe("readyToSubmitStats",function(){o.customPostMessage("submitStats",v.getConfig().stats,document.location.origin,f)}),i.subscribe("loginSuccess",function(e,t){if((t=t||{}).reloadAfterLogin=!0,h.resolve(t),w(t),f&&!1===f.closed){try{f.document.body.innerHTML=null}catch(e){}f.close()}})}else{var E={aid:r};v.getConfig().fillLoginRequiredParamsToGoogleAnalytics(E);var _={};_.startScreen=e,v.getConfig().fillLoginRequiredEventParams(_),function(e,t){if(t)return Object.assign(e,t)}(_,t),o.loginRequiredEvent(_).then(function(e){(e.callbackNotFound||!1!==e.result)&&(h.reject(!1),a().terminal(c.trc("checkout.platform","Cannot start checkout. User not logged in")))}),s.sendLoginRequiredEvent(_)}return h.promise},v.onLoginSuccess=function(e,t){e&&m.push({callback:e,oneTime:t})},v.cleanSuccessLoginCallbacks=function(){m=l.filter(m,function(e){return!e.oneTime})},v.loginSuccessPosted=function(){return p},v.setLoginSuccessPosted=function(e){p=e},v.onExternalLogin=w,i.subscribe("changeLocale",function(e,t){t&&t.locale&&c.list().then(function(e){for(var n in e)if(e[n].locale===t.locale){c.update(t.locale);break}})}),i.subscribe("externalLoginSuccess",function(e,t){(t=t||{}).reloadAfterLogin=!0,w(t)}),v.userChanged=function(e){h&&h.resolve(e)},v}]);var containerServiceModule=angular.module("containerServiceModule",["ui.router","ngSanitize","generalModule"]);containerServiceModule.factory("containerService",["$window","$rootScope","$rootElement","$timeout","$interval","$document","eventService","errorService","windowStateService","ngEventService","utilsService","gaService",function(e,t,n,r,o,i,a,s,c,l,u,d){var f,p,m={},g={};function v(e,t){var n=e.document?e.document.body:e.body,r=t.documentElement||{};return Math.max(n.scrollHeight,r.scrollHeight,n.offsetHeight,r.offsetHeight,n.clientHeight,r.clientHeight)}return m.$rootScope=t,m.rootElement=n,$(document).on("focus","input, textarea, select",function(){a.postMessage("inputFocus")}).on("blur","input, textarea, select",function(){a.postMessage("inputBlur")}),m.getConfig=function(){return{container:this._getConfigFn().container}},m.getPreferredWidth=function(){return this.preferredWidth},m.setPreferredWidth=function(e){this.preferredWidth=e},m.setConfigWidth=function(e){this.widthFromConfigDirective=e},m.init=function(e,t){this._getConfigFn=t;var n=getParameterByName("displayMode");this.isModal="modal"===n,this.isPopup="popup"===n,this.isInline="inline"===n,this.isPreview=!!getParameterByName("preview"),this.isOpenedFromInlineCheckout="true"===getParameterByName("isOpenedFromInlineCheckout"),this.container=this.getConfig().container,this.suggestedWidth=getIntParam("width",1),this.preferredWidth=e.preferredWidth,m.clearResizeHandler(),m.initResizeHandler(this.container)},m.clearResizeHandler=function(){g.interval&&o.cancel(g.interval),"remove"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)}),g.handleResizeIFrame&&g.handleResizeIFrame.remove(),g.resizeObs&&g.resizeObs.disconnect(),g.loaded&&g.loaded(),g={}},m.initResizeHandler=function(e){var t=document.createElement("iframe");g.handleResizeIFrame=t;e.css("position","relative"),t.width="100%",t.height="100%",t.setAttribute("style",function(){let e="position: absolute !important; z-index: -1 !important;";return u.isIOS()&&(e+=" left: -10000px !important; top: -10000px !important;"),e}()),t.setAttribute("tabindex","-1"),e.prepend(t),f=t.contentWindow||t.contentDocument,p=t.contentDocument||{};var n=function(e,t,n){var r=v(e,t);r!==n.lastHeight&&(n.lastHeight=r,m.resize())}.bind(this,f,p,{lastHeight:-1});if("function"==typeof ResizeObserver){var r=new ResizeObserver(n);r.observe(t),g.resizeObs=r}else f.onresize=n;g.interval=o(n,500),window.onload=function(){m.resize()},m.onReady(function(){m.resize()}),g.loaded=l.subscribe("loaded",function(){m.resize()})},m.onReady=function(e){"loading"!==document.readyState?e():document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",function(){"complete"===document.readyState&&e()})},l.subscribe("RESIZE_MODAL_CHECKOUT",function(e,t){var n=t.iframe,r=t.width;setTimeout(function(){m.suggestedWidth=r,n.config.width&&(m.suggestedWidth=r<n.config.width?r:n.config.width),m.resize()},100)}),m.resize=function(){var e;if(f&&p)e=v(f,p);else{var t=m.rootElement.height(),n=m.rootElement[0].parentElement?m.rootElement[0].parentElement.clientHeight:0;e=t||n}if(m.isModal||m.isPopup||m.isPreview){var r=m.getNewWidth();angular.element("body").css("min-width",r),angular.element("body").width(r),m.rootElement.width(r),m.container.width(r),a.resizeEvent({width:r,height:e}),setTimeout(m.scrollTop,500)}else a.resizeEvent({height:e})},m.scrollTop=function(){document.defaultView.scrollTo(0,0)},m.getNewWidth=function(){if(m.isModal||m.isPopup){this.widthFromConfigDirective&&(m.preferredWidth=this.widthFromConfigDirective);var e=m.suggestedWidth;return(m.preferredWidth<=e||isNaN(e))&&(e=m.preferredWidth),parseInt(e)}return parseInt(m.suggestedWidth)},m.getCenterScreen=function(e,t){e=e||0,t=t||0;var n=parseInt(getParameterByName("parentWidth"),10),r=parseInt(getParameterByName("parentDualScreenLeft"),10),o=parseInt(getParameterByName("parentDualScreenTop"),10);return{left:n/2-e/2+r,top:parseInt(getParameterByName("parentOuterHeight"),10)/2-t/2+o}},m.getOriginUrl=function(){return getParameterByName("url")},m.purge=function(e){try{m.rootElement.remove()}catch(e){}a.purgeEvent(e),d.sendCheckoutCloseEvent(e)},m.close=function(e){try{m.rootElement.remove()}catch(e){}a.closeEvent(e)},m}]),angular.module("pianoIdProviderModule",["generalModule"]).factory("pianoIdProvider",["$sce","$window","$q","$rootScope","lang","errorService","eventService","ngEventService","userService","containerService","pianoIdSessionsService","pianoIdGmSsoService","gaService",function(e,t,n,r,o,i,a,s,c,l,u,d,f){function p(e){const t=getParameterByName("sss_mode"),n=getParameterByName("sss_callback_url"),r=getParameterByName("sss_origin_url");t&&n&&r&&(e.sss_mode=t,e.sss_callback_url=n,e.sss_origin_url=r)}var m=!1;let g=null,v=null;var h,E,_,w,y,T,S={},P={},C={};function b(e,t){h=t||h;var n=e.find("iframe")[0];n&&a.customPostMessage("lang",{lang:h},_,n.contentWindow)}function I(e,t){if(0!==e.height){var n={height:e.height+"px"},r=t.find("#piano-id-container, iframe");e.animate?r.animate(n,200):r.css(n),l.resize()}}function A(e){var t=e.parent(),n=e.find("iframe"),r={width:t.width(),center:l.getCenterScreen(),originUrl:l.getOriginUrl()};a.customPostMessage("resize",r,_,n[0].contentWindow),a.customPostMessage("consentWithModes",piano.getCookieConsents(),_,n[0].contentWindow),o.on(t=>b(e,t)),b(e)}function N(e,t,n){var r={trackingId:t,formName:n},o={event:e.event,params:$.extend({},e.params,r),iframeId:getParameterByName("iframeId")};a.postMessage("pianoIdEvent",o)}return P.init=function(e){S=e,P.setOrigin(S.pianoIdUrl),C={aid:S.aid,screen:S.screen,checkout:S.checkout,customFormParams:S.customFormParams,isPasswordlessCheckoutEnabled:S.isPasswordlessCheckoutEnabled(),isPreventPasswordlessLogin:S.isPreventPasswordlessLogin,isSingleStepEnabled:S.isSingleStepEnabled(),affiliateIssuerId:S.getAffiliateIssuerId(),userLoginEmail:S.userLoginEmail,passwordlessSetPaymentEmail:S.passwordlessSetPaymentEmail,isDigitalCodeConfirmationEnabled:S.isDigitalCodeConfirmationEnabled,isSentLoginEmail:S.isSentLoginEmail,isSingleStepFormShown:function(){return!!T&&S.isSingleStepFormShown(T)},getUserToken:S.getUserToken,getPageView:S.getPageView,isGmSso:S.isGmSso||!1,socialName:S.socialName||"",abTestIds:S.abTestIds||[],responseType:S.responseType,stage:S.stage,staticDomain:S.staticDomain,sessions:S.sessions,preview:S.preview||!1},d.init(),a.postMessage("pianoIdProviderInitiated")},r.$on("pianoIdGmSsoChanged",function(e,t){C.isGmSso=t}),P.setStage=function(e){g=e},P.getStage=function(){return g},P.setPianoIdIframeId=function(e){w=e},P.getPianoIdIframeId=function(){return w},P.setPreloaderHeight=function(e){v=e},P.getPreloaderHeight=function(){return v},P.setViewCtrl=function(e){T=e},P.getWidgetOptions=function(){return S},P.setOrigin=function(e){var t;_=0===(t=E=e).indexOf("http")?t:document.location.origin||document.location.href},P.register=function(){},P.login=function(){},P.resetPassword=function(){},P.isNewUser=function(){return m},P.setupDoubleOptInParams=function(e,t){return S.getDoubleOptInParams&&S.getDoubleOptInParams().then(function(n){var r=e.find("iframe")[0];if(r){var o={tbc:n.tbc,termId:n.params.termId,showOfferParams:JSON.stringify(n.params),trackingId:n.trackingId};a.customPostMessage("setupDoubleOptInParams",o,t,r.contentWindow)}})},P.authPianoIdController=function(n,r){n.id="piano-id-"+_randomString(5),P.setPianoIdIframeId(n.id);var u=C.customFormParams;(void 0===t.TPParam.config.checkoutCfInRegister||t.TPParam.config.checkoutCfInRegister)&&(n.formName=u().checkoutFormName),L(),n.error_msg=o.trc("checkout.platform","You should sign in or sign up first");var d=s.subscribe(n.id+"-loginSuccess",function(e,t){!function(e,t){var n=t.user||{};n.firstName=n.given_name,n.lastName=n.family_name,n.valid=!0,n.emailConfirmed=!n.email_confirmation_required,n.confirmed=n.emailConfirmed,n.uid=n.sub,m=!!t.registration;var r=l.getOriginUrl();c.checkUser({aid:e,url:r,userToken:t.token,fromUserIdentity:!0}).then(function(e){return(y=e.models.user.displayName)&&(n.displayName=y,t.user.displayName=y),n.emailState=e.models.user.emailState,e.models.token_list}).catch(function(){return null}).then(function(e){c.onExternalLogin({token_list:e,cookie_domain:t.cookie_domain,user_token:t.token,params:t.user,user:n,registration:m,extendExpiredAccessEnabled:t.extendExpiredAccessEnabled,stage:t.stage})})}(C.aid,t)}),g=s.subscribe(n.id+"-resize",function(e,t){I(t,r)}),v=s.subscribe(n.id+"-customEvent",function(e,t){a.customEvent("customEvent",t),f.sendCustomEvent(t)}),w=s.subscribe(n.id+"-loginResponse",function(e,t){s.fire("pianoIdSingleStepLoginResponse",t)}),T=s.subscribe("submitPianoIdLoginForm",function(){var e=r.find("iframe");a.customPostMessage("submitLoginForm",null,_,e[0].contentWindow)}),b=s.subscribe("updatePianoIdAuthIframeUrl",function(){L()}),k=s.subscribe(n.id+"-loaded",function(e,t){A(r),P.setupDoubleOptInParams(r,_)}),O=s.subscribe(n.id+"-pianoIdEvent",function(e,t){"passwordlessEmailSent"===t.event&&S.passwordlessEmailSentHandler(t.params.loginTokenId),"successDOI"===t.event&&(c.getConfig().user.emailConfirmed=!0),N(t,"function"==typeof C.getPageView&&C.getPageView().trackingId,t.params.formName)}),M={preventExternalLogin:!0};function L(){var r=function(e,r){var o=l.rootElement.width();const i="function"==typeof C.getPageView?C.getPageView():{};var a={aid:C.aid,checkout:C.checkout,template:C.template,sender:r,origin:document.location.origin||document.location.href,width:o,lang:h||t.TPParam.params.lang||"",stage:P.getStage()||C.affiliateIssuerId||C.stage,site:t.TPParam.params.url,screen:c.isUserValid()&&!c.isEmailConfirmed()?"email_is_not_confirmed":C.isSentLoginEmail()?C.isDigitalCodeConfirmationEnabled()?"digital_code":"passwordless_confirmation":C.isPasswordlessCheckoutEnabled?"login":C.screen||"register",create_passwordless_user:C.isPasswordlessCheckoutEnabled&&!C.isPreventPasswordlessLogin(),single_step:C.isSingleStepFormShown(),display_mode:"inline",tbc:i.tbc,page_view_id:i.pageViewId,browser_id:i.browserId,user_state:i.userState,tracking_id:i.trackingId,content_type:piano.getPageViewContext().content_type,page_title:i.pageTitle};return C.staticDomain&&(a.static_domain=C.staticDomain),P.getPreloaderHeight()&&(a.preloader_height=P.getPreloaderHeight()),n.formName?a.form_name=n.formName:C.userLoginEmail()&&(a.email=C.userLoginEmail()),p(a),[e,$.param(a)].join("?")}(C.isGmSso?E+"gm-sso":E,n.id);n.url=e.trustAsResourceUrl(r)}c.getConfig().fillLoginRequiredEventParams(M),a.loginRequiredEvent(M),f.sendLoginRequiredEvent(M),n.unsubscribeNgEventService=function(){d(),g(),v(),w(),T(),b(),k(),O(),i(n).reset()}},P.authPianoIdSocialController=function(e,t){var n=s.subscribe(P.getPianoIdIframeId()+"-pianoIdEvent",function(t,n){n.event&&"changeScreen"===n.event&&n.params&&"register_confirm"===n.params.screen&&(e.showRegisterConfirm=!0),N(n,"function"==typeof C.getPageView&&C.getPageView().trackingId,n.params.formName)});function r(){const t="function"==typeof C.getPageView?C.getPageView():{};var n={client_id:C.aid,content_type:piano.getPageViewContext().content_type,tbc:t.tbc,page_view_id:t.pageViewId,browser_id:t.browserId,user_state:t.userState,tracking_id:t.trackingId,lang:h||""};return"openpass"===(C.socialName||e.socialName).toLowerCase()&&(n.screen="openpass_placeholder"),[E,$.param(n,!0)].join("?")}e.$parent.authBySocial=function(){if(!(C.socialName||e.socialName)||!e.authIsExist())return;const t=function(t){var n={client_id:C.aid,back_url:r(),redirect_uri:TPParam.params.url,social_type:C.socialName||e.socialName,response_type:C.responseType||e.responseType||"code",ab_test_ids:C.abTestIds||[],stage:P.getStage()||C.affiliateIssuerId,affiliate:!0};C.template&&(n.template=C.template);return[t,$.param(n,!0)].join("?")}(E+"api/v1/identity/login/social"),n="function"==typeof C.getPageView&&C.getPageView().trackingId;a.postMessage("pianoIdEvent",{event:"redirect",iframeId:getParameterByName("iframeId"),params:{trackingId:n,url:t}})},e.unsubscribeNgEventService=function(){n()}},P.executeCallbackOnSuccessDOI=function(e){var t=s.subscribe("successDOI",function(){e(),t()})},P.formPianoIdController=function(t,r){var o,i=n.defer(),c=!1;t.isFormHidden=!0,t.id="piano-id-"+_randomString(5);var u=C.customFormParams;t.formName=u().checkoutFormName,t.hideIfComplete=u().hideCompletedFields;var d=function(e,n){var r=l.rootElement.width();const o="function"==typeof C.getPageView?C.getPageView():{};var i={form_name:t.formName,hide_if_complete:t.hideIfComplete,aid:C.aid,checkout:C.checkout,sender:n,origin:document.location.origin||document.location.href,width:r,lang:h||"",stage:P.getStage()||C.affiliateIssuerId||C.stage,access_token:C.getUserToken(),passwordless:C.isPasswordlessCheckoutEnabled,tbc:o.tbc,tracking_id:o.trackingId,page_view_id:o.pageViewId,browser_id:o.browserId,user_state:o.userState,content_type:piano.getPageViewContext().content_type,page_title:o.pageTitle};C.staticDomain&&(i.static_domain=C.staticDomain);P.getPreloaderHeight()&&(i.preloader_height=P.getPreloaderHeight());return[e,$.param(i)].join("?")}(E+"form",t.id),f=s.subscribe(t.id+"-profileUpdated",function(e,t){c=!0,o&&o.resolve(!0)}),p=s.subscribe(t.id+"-change",function(e,t){c=!1}),m=s.subscribe(t.id+"-profileUpdatedError",function(e,t){c=!1,o&&o.resolve(!1)}),g=s.subscribe(t.id+"-pianoIdEvent",function(e,n){"cfFormImpression"===n.event&&t.$apply(function(){t.isFormHidden=!1}),N(n,"function"==typeof C.getPageView&&C.getPageView().trackingId,n.params.formName)}),v=s.subscribe(t.id+"-resize",function(e,t){I(t,r)}),w=s.subscribe(t.id+"-loaded",function(e,t){A(r),i.resolve()}),y=s.subscribe(t.id+"-stateReady",function(e,t){var n=r.find("iframe");a.customPostMessage("setToken",C.getUserToken(),_,n[0].contentWindow)});t.url=e.trustAsResourceUrl(d),t._isValid=function(){return i.promise.then(function(){if(t.isFullFilled||c)return!0;var e=r.find("iframe");return c||(o=n.defer(),a.customPostMessage("submit",{},_,e[0].contentWindow)),o.promise})},t.unsubscribeNgEventService=function(){f(),p(),m(),g(),v(),w(),y()}},P.sessionsController=function(n,r){n.id="piano-id-"+_randomString(5),n.getPianoIdSessionsUrl=function(){const r=function(e,n){const r=l.rootElement.width(),o="function"==typeof C.getPageView?C.getPageView():{},i={aid:C.aid,checkout:C.checkout,preview:C.preview||!1,sender:n,origin:document.location.origin||document.location.href,width:r,lang:h||t.TPParam.params.lang||"",stage:P.getStage()||C.affiliateIssuerId||C.stage,site:t.TPParam.params.url,display_mode:"inline",tbc:o.tbc,page_view_id:o.pageViewId,browser_id:o.browserId,user_state:o.userState,tracking_id:o.trackingId,content_type:piano.getPageViewContext().content_type,page_title:o.pageTitle,device_id:o.deviceId,access_token:C.getUserToken()};C.staticDomain&&(i.static_domain=C.staticDomain);P.getPreloaderHeight()&&(i.preloader_height=P.getPreloaderHeight());C.sessions&&(i.session_limit=C.sessions.session_limit);return[e,$.param(i)].join("?")}(E+"sessions",n.id);return e.trustAsResourceUrl(r)};const o=s.subscribe(n.id+"-resize",function(e,t){I(t,r)}),i=s.subscribe(n.id+"-loaded",function(e,t){A(r)});var c=s.subscribe(n.id+"-stateReady",function(e,t){const n=r.find("iframe");a.customPostMessage("setToken",{token:C.getUserToken()},_,n[0].contentWindow)}),d=s.subscribe("EVENT_CHECKOUT_RELOADED",function(){m()}),f=s.subscribe("EVENT_TEMPLATE_RELOADED",function(){m()}),p=s.subscribe(n.id+"-pianoIdEvent",function(e,t){if("terminateSessionInitiated"===t.event){const e=r.find("iframe");return u.storeState({iframeOrigin:_,iframe:e,params:t.params,id:n.id}),void s.fire("terminateSessionInitiated")}if("sessionsUpdated"===t.event)return void s.fire("sessionsUpdated",t.params);N(t,"function"==typeof C.getPageView&&C.getPageView().trackingId)}),m=function(){const e=r.find("iframe");C.getUserToken()&&a.customPostMessage("setToken",{token:C.getUserToken()},_,e[0].contentWindow)};n.unsubscribeNgEventService=function(){p(),o(),i(),c(),d(),f()}},P.terminateSessionsController=function(e,t){var n;e.disabledButton=!1,e.state=u.getState();var r=e.$watch(function(){return u.getState()},function(t,r){t&&function(t){e.state=t,n&&n();n=s.subscribe(e.state.id+"-pianoIdEvent",c)}(t)});function c(t,n){switch(n.event){case"terminateSessionCompleted":i(e).reset(),s.fire("terminateSessionCompleted",n.params),e.disabledButton=!1;break;case"terminateSessionFailed":const t=o.trc("checkout.platform","Selected session(s) could not be terminated.");i(e).global(t),e.disabledButton=!1}}e.cancelTerminateSessions=function(){s.fire("terminateSessionCanceled"),i(e).reset()},e.terminateSessions=function(){e.disabledButton=!0,i(e).reset(),a.customPostMessage("terminateSessionConfirmed",{timeStamp:e.state.params.timeStamp},e.state.iframeOrigin,e.state.iframe[0].contentWindow)},e.unsubscribeNgEventService=function(){n&&n(),r(),u.clearState()}},P.emailConfirmationRequiredController=function(n,r){var o;n.id="piano-id-"+_randomString(5),o=function(e,n){var r=l.rootElement.width();const o="function"==typeof C.getPageView?C.getPageView():{};var i={aid:C.aid,sender:n,origin:document.location.origin||document.location.href,site:t.TPParam.params.url,screen:"email_confirmation_required",checkout:C.checkout,width:r,lang:h||"",passwordless:C.isPasswordlessCheckoutEnabled,stage:P.getStage()||C.affiliateIssuerId||C.stage,access_token:C.getUserToken(),tbc:o.tbc,page_view_id:o.pageViewId,tracking_id:o.trackingId,browser_id:o.browserId,user_state:o.userState,content_type:piano.getPageViewContext().content_type,page_title:o.pageTitle};p(i),C.staticDomain&&(i.static_domain=C.staticDomain);P.getPreloaderHeight()&&(i.preloader_height=P.getPreloaderHeight());C.userLoginEmail()&&!c.isEmailConfirmed()&&(i.email=C.userLoginEmail());return[e,$.param(i)].join("?")}(E,n.id),n.url=e.trustAsResourceUrl(o);C.customFormParams;var i=s.subscribe(n.id+"-resize",function(e,t){I(t,r)}),a=s.subscribe(n.id+"-loaded",function(){A(r),P.setupDoubleOptInParams(r,_)}),u=s.subscribe(n.id+"-pianoIdEvent",function(e,t){N(t,"function"==typeof C.getPageView&&C.getPageView().trackingId)});n.$on("$destroy",function(){i(),a(),u()})},P.extendUserByCheckoutParams=function(e){angular.extend(e,{displayName:y})},P}]).factory("pianoIdSessionsService",function(){var e={state:void 0,storeState:function(t){e.state=t},getState:function(){return e.state},clearState:function(){e.state=void 0}};return e}).factory("pianoIdGmSsoService",["$rootScope","ngEventService",function(e,t){var n,r={},o=!1;function i(t,n){n&&null!==n.isGmSso&&void 0!==n.isGmSso&&(o=n.isGmSso,e.$broadcast("pianoIdGmSsoChanged",o))}return r.init=function(){n||(n=t.subscribe("setupPianoIdGmSso",i))},r.destroy=function(){n&&(n(),n=null)},e.$on("$destroy",function(){r.destroy()}),r}]).directive("pianoId",["userService","pianoIdProvider","$injector","$window",function(e,t,n,r){return{restrict:"EA",require:"?^view",template:'<div id="piano-id-container">  <auth-piano-id ng-if="authIsExist()"></auth-piano-id>  <form-piano-id ng-if="formIsExist()"></form-piano-id></div>',link:function(o,i,a,s){var c;let l=!!a.stage,u=null;try{c=n.get("viewService")}catch(e){}o.formIsExist=function(){const n=!t.isNewUser(),o=!(void 0===r.TPParam.config.checkoutCfInRegister||r.TPParam.config.checkoutCfInRegister)||n;return e.isUserValid()&&o&&t.getWidgetOptions().widgetSpecificCheckIfVisible()},o.authIsExist=function(){return(!s||c.isActive(s.stateName))&&!(e.isUserValid()&&e.isUserUnrestricted())&&(!l||l&&u)},o.isUserValid=e.isUserValid,t.setPreloaderHeight(a.preloaderHeight),l&&o.$watch(a.stage,function(e){u=e,t.setStage(u)})}}}]).directive("emailConfirmationRequired",["pianoIdProvider","$injector",function(e,t){return{restrict:"EA",scope:{},require:"^view",template:'<iframe id="{{id}}" ng-src="{{url}}" style="width:100%;"></iframe>',link:function(n,r,o,i){var a;try{a=t.get("viewService")}catch(e){}a.isActive(i.stateName)?(i&&e.setViewCtrl(i),e.emailConfirmationRequiredController(n,r)):r.remove()}}}]).directive("authPianoId",["pianoIdProvider","errorService",function(e,t){return{restrict:"EA",scope:{},require:"?^view",template:'<iframe id="{{id}}" ng-src="{{url}}" style="width:100%;"></iframe>',link:function(n,r,o,i){var a=e.getWidgetOptions();i&&(e.setViewCtrl(i),"auth"!==i.stateName&&(i.registerComponentController(n,{passwordlessLoginForm:a.isPasswordlessCheckoutEnabled}),n._isValid=function(){return t(n).reset(),!!a.isSingleStepEnabled()||(t(n).global(n.error_msg),!1)},n.$on("$destroy",function(){i.unregisterComponentController(n)}))),e.authPianoIdController(n,r)}}}]).directive("formPianoId",["pianoIdProvider",function(e){return{restrict:"EA",require:"?^view",scope:{},template:'<iframe ng-hide="isFormHidden" id="{{id}}" ng-src="{{url}}" style="width:100%;"></iframe>',link:function(t,n,r,o){if(o){if(e.setViewCtrl(o),"auth"===o.stateName)return void n.remove();o.registerComponentController(t)}t.$on("$destroy",function(){t.isFullFilled=!0,o&&o&&o.unregisterComponentController(t)}),e.formPianoIdController(t,n)}}}]).directive("pianoIdSocialAuth",["userService","pianoIdProvider","$injector",function(e,t,n){return{restrict:"EA",scope:{},require:"?^view",transclude:!0,template:'<div ng-if="!showRegisterConfirm" ng-transclude></div><div ng-hide="!showRegisterConfirm" class="pn-boilerplate__piano-id-container"><auth-piano-id></auth-piano-id></div>',link:function(r,o,i,a){var s;r.socialName=i.socialName,r.responseType=i.responseType,r.showRegisterConfirm=!1;try{s=n.get("viewService")}catch(e){}i.stage&&(t.setStage(i.stage),r.$watch(i.stage,function(e){e&&t.setStage(i.stage)})),i.preloaderHeight&&t.setPreloaderHeight(i.preloaderHeight),r.authIsExist=function(){return(!a||s&&s.isActive(a.stateName))&&!(e.isUserValid()&&e.isUserUnrestricted())},a&&(t.setViewCtrl(a),a.registerComponentController(r),r.$on("$destroy",function(){a.unregisterComponentController(r)})),t.authPianoIdSocialController(r,o)}}}]).directive("pianoIdSessions",["pianoIdProvider",function(e){return{restrict:"EA",scope:{},require:"?^view",template:'<iframe id="{{id}}" ng-src="{{getPianoIdSessionsUrl()}}" style="width:100%;"></iframe>',link:function(t,n,r,o){o&&(e.setViewCtrl(o),o.registerComponentController(t)),t.$on("$destroy",function(){o&&o&&o.unregisterComponentController(t)}),e.sessionsController(t,n)}}}]).directive("pianoIdTerminateSessionConfirmation",["pianoIdProvider",function(e){return{restrict:"EA",transclude:!0,require:"?^view",replace:!0,template:"<div ng-transclude></div>",link:function(t,n,r,o){o&&(e.setViewCtrl(o),o.registerComponentController(t)),t.$on("$destroy",function(){o&&o&&o.unregisterComponentController(t)}),e.terminateSessionsController(t,n)}}}]),angular.module("creditRedemptionModule",["generalModule"]).factory("creditRedemptionService",["eventService","userService",function(e,t){const n={affiliateState:{}};function r(){return n.affiliateState&&n.affiliateState.creditStates&&n.affiliateState.creditStates.length>0?n.affiliateState.creditStates[0]:null}return n.setAffiliateState=function(e){n.affiliateState=e},n.credits=function(){const e=r();return e?e.total-e.spent:0},n.creditsTotal=function(){const e=r();return e?e.total:0},n.creditExpirationTime=function(){const e=r();let t=null,n=new Date;return e&&(t=function(e){let t=null;return e&&e.length?(e.forEach(function(e){(!t||t.exp>e.exp)&&(t=e)}),t):t}(e.redeemedItems)),t&&t.exp&&(n=new Date(1e3*t.exp)),n},n.redeemCredit=function(){const t=r();t&&e.postMessage("redeemCredit",{cid:t.cid,itemId:n.affiliateState.redemptionCandidateItemId,newRedemptionMethod:n.redemptionMethod()})},n.toggleRedemptionMethod=function(){const e=r();e&&(e.redemptionMethod="A"===e.redemptionMethod?"M":"A")},n.redemptionMethod=function(){const e=r();return e?e.redemptionMethod:null},n.setupScope=function(e){e.affiliateState=n.affiliateState,e.credits=n.credits,e.creditsTotal=n.creditsTotal,e.creditExpirationTime=n.creditExpirationTime,e.redeemCredit=n.redeemCredit,e.toggleRedemptionMethod=n.toggleRedemptionMethod,e.redemptionMethod=n.redemptionMethod},n}]);var tpDrop=function(e,t,n,r,o,i,a,s,c,l){var u=".tp-dropdown__container",d=".search-query",f=".tp-dropdown__list",p=".tp-dropdown__link",m="Tab",g="Enter",v="Escape",h="ArrowDown",E="ArrowUp",_="INPUT";return function(e){return r.all({tpl:(t=e,t.template?r.when(t.template):o.get(t.templateUrl,{cache:i}).then(function(e){return e.data})),opts:r.when(e)}).then(T);var t};function w(e,t){var n="right"===t.side||"left"===t.side,r=n?"top":"left",o=n?"height":"width",i=n?"outerHeight":"outerWidth",a="left"===r?function(e,t,n,r,o){var i={};return i[e]=y(r)?function(e,t,n,r,o){var i=o.centerOn[n](),a=o.style[t];return l(o.centerOn,e)+(i-a)}(e,t,n,0,o):l(o.centerOn,e),i}(r,o,i,e,t):function(e,t,n,r,o){var i={};return i[e]=y(r)?l(o.centerOn,e)+o.centerOn[n]()/2-o.style[t]/2+(o.centerOn[n]()-o.style[t]):l(o.centerOn,e)+o.centerOn[n]()/2-o.style[t]/2,i}(r,o,i,e,t);return a="right"===t.side?c("left","outerWidth",t,a):"left"===t.side?s("right","width","left","scrollLeft",e,t,a):"top"===t.side?s("bottom","height","top","scrollTop",e,t,a):c("top","outerHeight",t,a);function s(e,t,n,r,o,i,a){return a[e]=o[t]()-l(i.centerOn,n)-o[r](),a}function c(e,t,n,r){return r[e]=l(n.centerOn,e)+n.centerOn[t](),r}function l(e,t){return e.offset()[t]}}function y(e){return"rtl"===e.context.dir}function T(e){var o,i,y=r.defer(),T=e.tpl,S=e.opts||{style:{width:200}},P=function(e){if(e.centerOn){var n=e.centerOn.parents().filter(function(){var e=$(this).css("position");return("fixed"===e||"absolute"===e)&&!1===$(this).hasClass("modal")}).last();return n.length>0?n:t.find("body")}return t.find("body")}(S),C=(S.scope||n).$new(),b=t.find("body");C.$close=O,C.$dismiss=M,(S.rejecter||function(){var e=r.defer();return t.on("click",function n(r){t.off("click",n),r&&(r.preventDefault(),r.stopPropagation()),e.reject()}),e.promise}()).then(M,M),S.controller&&a(S.controller,{$scope:C});var I=s(angular.element(T))(C);P.append(I),b.addClass("component-opened");var A=function(){var e;!function(e,t){switch(e.side){case"right":e.centerOn.offset().left+e.centerOn.width()+t.width()>window.innerWidth&&(e.side="left");break;case"left":e.centerOn.offset().left-t.width()<0&&(e.side="right");break;case"bottom":e.centerOn.offset().top+e.centerOn.height()+t.height()>window.innerHeight&&(e.side="top");break;case"top":e.centerOn.offset().top-t.height()<0&&(e.side="bottom")}}(S,I),i=S.side||"bottom",o=function(e,t){return t.centerOn?w(e,t):function(e,t){return{left:e.width()/2-t.style.width/2,top:e.height()/2-t.style.height/2}}(e,t)}(P,S),I.css({display:"block",position:"absolute"}).on("click",function(e){e.preventDefault(),e.stopPropagation(),S.closeOnSelect&&M()}).addClass(i).addClass(S.cl).css(o).css(S.style),(e=angular.element(u)).is(":visible")&&e.find(d).focus(),angular.element(f).on("keydown",function(e){!function(e){switch(e.key){case m:O();break;case v:e.preventDefault(),e.stopPropagation(),O();break;case g:e.target.click();break;case h:e.preventDefault(),e.target.nextElementSibling?e.target.nextElementSibling.focus():e.target.tagName===_&&angular.element(p).first().focus();break;case E:e.preventDefault(),e.target.previousElementSibling?e.target.previousElementSibling.focus():e.target.tagName!==_&&angular.element(d).focus()}}(e)})};if(C.type&&"enchained"===C.type){var N=c(A,50),k=function(){c.cancel(N)};y.promise.then(k,k)}else l(A,0);return y.promise;function O(e){I.remove(),y.resolve(e),b.removeClass("component-opened"),S.centerOn[0].focus()}function M(e){I.remove(),y.reject(e),b.removeClass("component-opened")}}};tpDrop.$inject=["$injector","$document","$rootScope","$q","$http","$templateCache","$controller","$compile","$interval","$timeout"],angular.module("tpDrop.module",["ngSanitize","generalModule"]).factory("tpDrop",tpDrop);var requiredModules=["exceptionHandler","tpComponentsModule","generalModule","eventModule","errorModule","userServiceModule","containerServiceModule","tp.i18n","html5.placeholder","pianoIdProviderModule","creditRedemptionModule"];switch(window.TPTemplateType){case"NEWSCYCLE_OFFER":requiredModules.push("newscycleModule");break;case"ZUORA_OFFER":requiredModules.push("zuoraModule");break;case"LOST_VALUE_OFFER":case"FINAL_CONFIRMATION":requiredModules.push("acpModule"),requiredModules.push("churnPreventionModule");break;case"NEWSLETTER_SIGNUP":requiredModules.push("newsletterModule");break;case"LICENSING_LANDING_PAGE":case"LICENSING_CONTRACT_LIST":case"LICENSING_REDEEM_RESULT":requiredModules.push("tpDrop.module"),requiredModules.push("licensingModule");break;case"SESSION_LIMIT":requiredModules.push("sessionLimitModule")}var showTemplateModule=angular.module("showTemplateModule",requiredModules);showTemplateModule.config(["$compileProvider","$qProvider",function(e,t){e.debugInfoEnabled&&e.debugInfoEnabled(!0),e.commentDirectivesEnabled&&e.commentDirectivesEnabled(!1),e.cssClassDirectivesEnabled&&e.cssClassDirectivesEnabled(!1),e.aHrefSanitizationWhitelist&&e.aHrefSanitizationWhitelist(/^\s*(https?|data|local|ftp|mailto|file|javascript|sms):/),t.errorOnUnhandledRejections&&t.errorOnUnhandledRejections(!1)}]),showTemplateModule.run(["interceptAjax",function(e){e.appendLoaderTo("showTemplate")}]),showTemplateModule.directive("template",["template","exposeTemplateParams","exposeJsonParameter","setupTrackingId","utilsService","browserIdService","errorService","eventService","creditRedemptionService","statsService","gaService",function(e,t,n,r,o,i,a,s,c,l,u){return{restrict:"A",link:function(e,t){t.addClass("showTemplate")},controller:["$scope","$element","$attrs","ngEventService","lang","$timeout","eventService",function(a,s,d,f,p,m,g){var v=!1,h={preferredWidth:d.width,preferredHeight:d.height};f.subscribe("trackStat",l.handleTrackStatEvent),e.init(h),piano.reloadTemplateWithUserToken=function(t){e.reloadWithUserToken(t)};var E=f.subscribe("langChanged",function(e,t){p.update(t.lang)});function _(){a.app=TPParam.app,a.user=TPParam.user,a.terminalError=TPParam.error,a.zuora=TPParam.zuora||{},a.zuora.selectedItems=[],a.initiated=TPParam.initiated,function(e){angular.forEach(e,function(e){var t=null;if("product"==e.type){var n=o.find(TPParam.zuoraInternal.products,function(t){return t.id===e.sourceId});n&&n.productRatePlans&&n.productRatePlans.length>0&&(t=o.find(n.productRatePlans,function(t){return t.id===e.ratePlanId}))&&a.zuora.selectedItems.push({type:e.type,product:n,ratePlan:t})}else{var r=o.find(TPParam.zuoraInternal.promoCodes,function(t){return String(t.id)===e.sourceId});if(r&&r.ratePlanGroups&&r.ratePlanGroups.length>0){angular.forEach(r.ratePlanGroups,function(n){!t&&n&&n.length>0&&(t=o.find(n,function(t){return t.id===e.ratePlanId}))});var i=o.find(TPParam.zuoraInternal.products,function(t){return!!(t&&t.productRatePlans&&t.productRatePlans.length>0)&&o.find(t.productRatePlans,function(t){return t.id===e.ratePlanId})});t&&a.zuora.selectedItems.push({type:e.type,promotionCode:r,product:i,ratePlan:t})}}})}(TPParam.zuoraSelectedRatePlanIds||[]),a.zuora.getProductBySku=function(e){return o.find(TPParam.zuoraInternal.products,function(t){return t.sku===e})||{}};var s={};angular.extend(s,TPParam.params),a.params=t(s),a.custom=n(s.customVariables||{},{}),a.customCookies=n(s.customCookies||{},{}),a.activeMeters=n(s.activeMeters||[],[]),a.companyName=s&&s.companyName?s.companyName:"",a.dmaCode=s&&s.dmaCode?s.dmaCode:"",a.sessions=n(TPParam.params.sessions||null,null),e.sessions=a.sessions,i.getBrowserId().then(function(e){a.browserId=e}),a.params.trackingId&&r(a.params.trackingId),a.isShowBoilerplateCloseButton=e.isShowBoilerplateCloseButton.bind(this,v)}function w(t){m(function(){var n=t.userContext;v=!0,angular.extend(TPParam.params,t.iframeParams),TPParam.user=function(e){var t={};try{t=JSON.parse(e)}catch(e){}return t}(n.user_info.user),TPParam.params.experienceId=n.experience_id,TPParam.params.experienceExecutionId=n.experience_execution_id,TPParam.params.experienceActionId=n.experience_action_id,n.template_language&&p.update(n.template_language),TPParam.GEO_COUNTRY_CODE=n.country_code,TPParam.GEO_COUNTRY_POSTAL_CODE=n.postal_code,TPParam.initiated=!0,e.config.url=TPParam.params.url,e.setUser(TPParam.params.userToken,TPParam.params.userProvider),_(),e.init(h),f.fire("templateInitiated"),f.fire("updatePianoIdAuthIframeUrl"),u.sendShowTemplateEvent(t.iframeParams)})}Helper.wrapMethod("isUserValid",e,a),Helper.wrapMethod("allowTinypassAccountsLogin",e,a),Helper.wrapMethod("allowTinypassAccountsLogout",e,a),Helper.wrapMethod("register",e,a),Helper.wrapMethod("login",e,a),Helper.wrapMethod("logout",e,a),Helper.wrapMethod("close",e,a),Helper.wrapMethod("closeAndRefresh",e,a),c.setupScope(a),a.credit=function(){return 1===a.credits()?"credit":"credits"};var y=f.subscribe(EVENT_TEMPLATE_RELOADED,function(){_()}),T=f.subscribe(EVENT_STATS_TRACKED,function(){_()}),S=f.subscribe("userDataContextLoaded",function(e,t){w(t)});g.initContext().then(function(e){m(function(){window.TPParam.params.affiliateState=e.affiliateState,a.affiliateState=e.affiliateState,c.setAffiliateState(e.affiliateState)},0)});var P=f.subscribe(EVENT_SETUP_CUSTOM_VARIABLES,function(e,t){window.TPParam.params.customVariables=t,a.custom=n(t||{},{}),a.$apply()});a.$on("$destroy",function(){E(),y(),T(),S(),P()}),_()}]}}]),showTemplateModule.directive("boilerplateLoginDropdown",function(){return{restrict:"E",replace:!0,template:'<div class="pn-boilerplate-login">\n    <div ng-if="!isUserValid()"\n         class="pn-boilerplate-login__action">\n        <button type="button"\n                ng-click="login()"\n                aria-label="{{ \'Login\' | t }}"\n                class="pn-boilerplate-login__button login">\n            <svg class="pn-boilerplate-login__icon" width="16" height="16" viewBox="0 0 16 16" fill="#0F0F15" xmlns="http://www.w3.org/2000/svg">\n                <path fill-rule="evenodd" clip-rule="evenodd" d="M13 3H1V1h14v14H1v-2h12V3zM6 9H1V7h5V4.586L9.414 8 6 11.414V9z" fill="#0F0F15"/>\n            </svg>\n        </button>\n    </div>\n    <div ng-if="isUserValid()"\n         class="pn-boilerplate-login__action"\n         ng-class="{\'pn-boilerplate-login__action--active\': isDropdownOpen}">\n        <button type="button"\n                ng-click="logoutToggle(); $event.stopPropagation()"\n                aria-label="{{ \'Logout dropdown\' | t }}"\n                class="pn-boilerplate-login__button logout-dropdown">\n            <svg class="pn-boilerplate-login__icon" width="16" height="16" viewBox="0 0 16 16" fill="#0F0F15" xmlns="http://www.w3.org/2000/svg">\n                <path fill-rule="evenodd" clip-rule="evenodd" d="M11 6a3 3 0 11-6 0 3 3 0 016 0zm.518 3.552a5 5 0 10-7.037 0A6 6 0 001 15h2a4 4 0 014-4h2a4 4 0 014 4h2a6 6 0 00-3.482-5.448z"/>\n            </svg>\n        </button>\n        <ul ng-if="isDropdownOpen" ng-click="$event.stopPropagation()" class="pn-boilerplate-login__dropdown">\n            <li class="pn-boilerplate-login__dropdown-item">\n                <p class="pn-boilerplate-login__dropdown-button username">\n                    <svg class="pn-boilerplate-login__dropdown-icon" aria-hidden="true" width="16" height="16" viewBox="0 0 16 16" fill="#0F0F15" xmlns="http://www.w3.org/2000/svg">\n                        <path fill-rule="evenodd" clip-rule="evenodd" d="M11 6a3 3 0 11-6 0 3 3 0 016 0zm.518 3.552a5 5 0 10-7.037 0A6 6 0 001 15h2a4 4 0 014-4h2a4 4 0 014 4h2a6 6 0 00-3.482-5.448z" fill="#0F0F15"/>\n                    </svg>\n                    <span class="pn-boilerplate-login__dropdown-title">\n                        {{ displayUserName(user) }}\n                    </span>\n                </p>\n            </li>\n            <li class="pn-boilerplate-login__dropdown-item">\n                <button ng-click="logout(); logoutToggle()" class="pn-boilerplate-login__dropdown-button logout" type="button">\n                    <svg class="pn-boilerplate-login__dropdown-icon" width="16" height="16" viewBox="0 0 16 16" fill="#0F0F15" xmlns="http://www.w3.org/2000/svg">\n                        <path fill-rule="evenodd" clip-rule="evenodd" d="M9 1H7v7h2V1zM1 8a7 7 0 014-6.326V4a5 5 0 106 0V1.674A7 7 0 111 8z" fill="#0F0F15"/>\n                    </svg>\n                    <span class="pn-boilerplate-login__dropdown-title">\n                        Logout\n                    </span>\n                </button>\n            </li>\n        </ul>\n    </div>\n</div>',controller:["$scope","$document",function(e,t){e.isDropdownOpen=!1,e.logoutToggle=function(){e.isDropdownOpen=!e.isDropdownOpen},e.displayUserName=function(e){return e.firstName&&e.lastName?e.firstName+" "+e.lastName:e.firstName||e.lastName?e.firstName||e.lastName:e.email||e.displayName},t.on("click",function(){e.isDropdownOpen&&(e.isDropdownOpen=!1,e.$apply())})}]}}),showTemplateModule.factory("template",["$window","$rootScope","$rootElement","$timeout","eventService","ngEventService","errorService","containerService","userService","configService","trackExternalEvent","lang","setupTrackingId","pianoIdProvider","updateDirAttrOnLangChanges","statsService","exposeJsonParameter",function(e,t,n,r,o,i,a,s,c,l,u,d,f,p,m,g,v){var h={};h.$rootScope=t,h.rootElement=n,h.config={aid:TPParam.params.aid,url:TPParam.params.url,userToken:TPParam.params.userToken,userProvider:TPParam.params.userProvider,authStartScreen:TPParam.params.authStartScreen,pianoIdUrl:TPParam.params.pianoIdUrl||"https://id.tinypass.com/id/"};var E={displayName:null,email:null,firstName:null,lastName:null,uid:"anon",valid:!1},_="boilerplate";return h.init=function(e){var t=angular.element("#template-container");if(s.init({preferredWidth:e.preferredWidth||735},function(){return{container:t}}),TPParam.error)a().terminal(d.trc("checkout.platform","Cannot initialize template"));else{TPParam.consoleError&&util.log("%c[SHOW_TEMPLATE] Error: ".concat(TPParam.consoleError),"color: red;"),c.init(function(){return{app:TPParam.app,user:TPParam.user,fillLoginIframeParams:function(e){e.templateId=TPParam.params.templateId,e.templateVariantId=TPParam.params.templateVariantId},fillLoginRequiredParamsToGoogleAnalytics:function(e){e.templateId=TPParam.params.templateId,e.templateVariantId=TPParam.params.templateVariantId},fillLoginRequiredEventParams:function(e){e.templateId=TPParam.params.templateId,e.templateVariantId=TPParam.params.templateVariantId,h.isSiteLicensing&&(e.isSiteLicensing=h.isSiteLicensing)},fillLoginSuccessEventParams:function(e){}}});var n={aid:h.getConfig().aid,pianoIdUrl:h.getConfig().pianoIdUrl,checkout:0,abTestIds:getParameterByName("abTestIds")||[],socialName:getParameterByName("socialName"),responseType:getParameterByName("responseType"),getDoubleOptInParams:void 0,customFormParams:h.getCustomFormParams,passwordlessEmailSentHandler:function(){},isPasswordlessCheckoutEnabled:function(){},isPreventPasswordlessLogin:function(){},isSingleStepEnabled:function(){},getAffiliateIssuerId:function(){},userLoginEmail:function(){},passwordlessSetPaymentEmail:function(){},isSentLoginEmail:function(){return!1},isSingleStepFormShown:function(){return!1},getUserToken:function(){return h.getConfig().userToken},widgetSpecificCheckIfVisible:function(){return!!h.getCustomFormParams().checkoutFormName},getPageView:function(){var e=getParameterByName("tbc"),t=getParameterByName("pageViewId"),n=getParameterByName("browserId"),r=getParameterByName("pageTitle"),o=getParameterByName("trackingId"),i=getParameterByName("userState"),a=getParameterByName("deviceId");return{tbc:e,pageViewId:t,browserId:n,pageTitle:r,trackingId:o,userState:i,deviceId:a}},preview:getParameterByName("preview")&&(!0===getParameterByName("preview")||"true"===getParameterByName("preview")),sessions:h.sessions};p.init(n)}},h.getCustomFormParams=function(){var e,t={},n=window.TPParam.params.formNameByTermId;if(n){var r=JSON.parse(n),o=co.input.customFormTermId;o&&(e=r[o])}return e&&(t.checkoutFormName=e,t.hideCompletedFields=window.TPParam.params.hideCompletedFields||!1),t.trackingId=window.TPParam.params.trackingId,t},h.isUserValid=function(){return c.isUserValid()},h.allowTinypassAccountsLogin=function(){return c.allowTinypassAccountsLogin()},h.allowTinypassAccountsLogout=function(){return c.allowTinypassAccountsLogout()},h.register=function(){o.isMobileDevice()?o.registerEvent({}):c.register()},h.login=function(e,t){o.isMobileDevice()?o.loginEvent({}):c.login(e,t)},h.logout=function(){c.logout(),h.config.userToken="",TPParam.user=E,i.fire(EVENT_TEMPLATE_RELOADED)},h.close=function(){!h.isShowBoilerplateCloseButton()&&h.sessions&&h.sessions.hit_limit&&h.sessions.session_limit<h.sessions.session_count?i.fire(EVENT_PREVENT_CLOSE):s.close()},h.closeAndRefresh=function(e){var t={};e&&(t.url=e),u("EXTERNAL_EVENT","close",t),o.closeAndRefreshEvent(e)},h.reloadWithUserToken=function(e){h.config.userToken=e,h.reload()},h.reload=function(e){var t=function(e){var t={};return angular.forEach(["aid","url","userToken","userProvider","userRef"],function(n){t[n]=void 0!==e[n]?e[n]:getParameterByName(n)}),t}(h.config);t.fromUserIdentity=!0,c.checkUser(t).then(function(t){TPParam.user=t.models.user,i.fire(EVENT_TEMPLATE_RELOADED),i.fire(EVENT_TEMPLATE_LOGIN_CHECK_FINISHED),e&&i.fire(EVENT_TEMPLATE_LOGIN_SUCCESS)},function(){return a().terminal(d.trc("checkout.platform","Check user failed")),!1})},h.isShowBoilerplateCloseButton=function(e){var t=l.get().closeButtonType,n=e?TPParam.params.showCloseButton:"false"!==getParameterByName("showCloseButton"),r=e?"inline"!==TPParam.params.displayMode:"inline"!==getParameterByName("displayMode");return n&&t===_&&r},h.getConfig=function(){return h.config},h.setUser=function(e,t){h.config.userToken=e,h.config.userProvider=t},i.subscribe("checkProccessesForClose",function(){u("EXTERNAL_EVENT","close",{}),function(){if(h.isCloseClickEventSent)return;TPParam.params.experienceId&&TPParam.params.experienceActionId&&(o.frequencyEvent({experienceId:TPParam.params.experienceId,experienceActionId:TPParam.params.experienceActionId,eventType:"closeClick"}),h.isCloseClickEventSent=!0)}(),s.purge()}),i.subscribe("reloadOffer",function(e,t){h.config.userToken=t.userToken,h.reload()}),i.subscribe("successfullyCreditRedeem",function(e,t){util.log("[SHOW_TEMPLATE] redeem credit successfully: ",t)}),i.subscribe("creditRedeemFailed",function(e,t){let n=t&&t.message;a().terminal(d.trc("checkout.platform","Cannot redeem credit: ")+n),util.log("%c[SHOW_TEMPLATE] Cannot redeem credit: ".concat(n),"color: red;")}),c.onLoginSuccess(function(e){h.config.userToken=e.user_token,h.reload(!0)},!1),m(),h}]),angular.element(document).ready(function(){window.TPInjector=angular.bootstrap(document.getElementById("ng-app"),["showTemplateModule"],{strictDi:!0})});
'use strict';
angular.module("ngLocale", [], ["$provide", function($provide) {
var PLURAL_CATEGORY = {ZERO: "zero", ONE: "one", TWO: "two", FEW: "few", MANY: "many", OTHER: "other"};
$provide.value("$locale", {
  "DATETIME_FORMATS": {
    "AMPMS": [
      "AM",
      "PM"
    ],
    "DAY": [
      "Sunday",
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    ],
    "MONTH": [
      "January",
      "February",
      "March",
      "April",
      "May",
      "June",
      "July",
      "August",
      "September",
      "October",
      "November",
      "December"
    ],
    "SHORTDAY": [
      "Sun",
      "Mon",
      "Tue",
      "Wed",
      "Thu",
      "Fri",
      "Sat"
    ],
    "SHORTMONTH": [
      "Jan",
      "Feb",
      "Mar",
      "Apr",
      "May",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Oct",
      "Nov",
      "Dec"
    ],
    "fullDate": "EEEE, MMMM d, y",
    "longDate": "MMMM d, y",
    "medium": "MMM d, y h:mm:ss a",
    "mediumDate": "MMM d, y",
    "mediumTime": "h:mm:ss a",
    "short": "M/d/yy h:mm a",
    "shortDate": "M/d/yy",
    "shortTime": "h:mm a"
  },
  "NUMBER_FORMATS": {
    "CURRENCY_SYM": "$",
    "DECIMAL_SEP": ".",
    "GROUP_SEP": ",",
    "PATTERNS": [
      {
        "gSize": 3,
        "lgSize": 3,
        "macFrac": 0,
        "maxFrac": 3,
        "minFrac": 0,
        "minInt": 1,
        "negPre": "-",
        "negSuf": "",
        "posPre": "",
        "posSuf": ""
      },
      {
        "gSize": 3,
        "lgSize": 3,
        "macFrac": 0,
        "maxFrac": 2,
        "minFrac": 2,
        "minInt": 1,
        "negPre": "(\u00a4",
        "negSuf": ")",
        "posPre": "\u00a4",
        "posSuf": ""
      }
    ]
  },
  "id": "en-us",
  "pluralCat": function (n) {  if (n == 1) {   return PLURAL_CATEGORY.ONE;  }  return PLURAL_CATEGORY.OTHER;}
});
}]);
