1/** 2 * @license ev-widgets.js v3.22.3 eugenDev 30/07 toggle password 3 * (c) 2015-2023 Evolok, Inc. https://www.evolok.com/ 4 * 5 * License: MIT 6 */ 7!function(){function e(){"use strict";angular.module("ev-widgets").service("changePurchaseUserAction",["pm2Util","EVENTS","$q","$rootScope","EVExceptionHandler",function(e,t,n,i,r){function a(e){g=e,l()}function o(t){f=t;var n=[];g.paymentPlan=f,n.push(g);var i={products:n},r=e.getExtraProperties()||{};if(n[0].paymentPlan){var a=n[0].paymentPlan.restrictBillingAddress;r.restrictBillingAddress=a,a&&(r.regions=n[0].paymentPlan.regions),e.saveExtraProperties(r)}if(n[0].requiresDeliveryAddress){if(r.deliveryCountry=$scope.selectedCountry||null,!r.deliveryCountry){var o=n[0].paymentPlan.regions;o&&o.length>0&&(r.regions=o)}r.region=$scope.region||null,e.saveExtraProperties(r)}i.orderType="STANDARD",i.expire=(new Date).getTime()+36e5,i.paymentType="PAYPAL",e.saveBasket(i)}function s(){E||(E=!0,c(t.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY).then(function(){return console.log("ev-checkout-button: Create order success"),EV.Event.publish("ev.purchases.list.upgradePlan",{currentPurchaseId:u.id}),d(EV.Event.PM_CHECKOUT_SUBMIT_PAYMENT),c(t.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT)}).then(function(){console.log("ev-checkout-button: Process payment success")})["catch"](function(e){console.error("ev-checkout-button error:",e),EV.Event.publish(EV.Event.PM_ERROR,e),r.handleError(v,EV.util.error(e||"checkout",e,400))})["finally"](function(){E=!1}))}function l(){h=[];var e=null!=g.changePlans&&g.changePlans.length>0?g.changePlans:g.paymentPlans;Array.prototype.push.apply(h,e)}function c(e){var t=n.defer();return i.$broadcast(e,{successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}}),t.promise}function d(e){var t=n.defer();EV.Event.publish(e,{successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}})}var u=void 0,p=void 0,g=void 0,f=void 0,m=[],h=[],v=void 0,E=!1;this.setErrorWidgetGuid=function(e){v=e},this.loadProductAndPlansAvailable=function(t){u=t,p=t.orderItem.product,e.getChangeProductsAndPlans(p.id).then(function(e){Array.prototype.push.apply(m,e.changeProducts);var t=p;t.changePlans=e.changePlans,m.push(t),EV.Event.publish(EV.Event.PM_PURCHASES_LIST_CHANGE_PRODUCTS_AVAILABLE,m)}),EV.Event.on(EV.Event.PM_PURCHASES_LIST_CHANGE_PRODUCT,function(e){for(var t=0;t<m.length;t++)if(m[t].id===e){a(m[t]);break}}),EV.Event.on(EV.Event.PM_PURCHASES_LIST_CHANGE_PLAN,function(e){for(var t=0;t<h.length;t++)if(h[t].id===e){o(h[t]);break}}),EV.Event.on(EV.Event.PM_PURCHASES_LIST_CHANGE_PURCHASE_CONFIRM,function(){s()})}}])}function t(){"use strict";angular.module("ev-widgets").service("icUtil",["$http",function(e){var t=EV.settings.getICDomain();this.handleEntitlements=function(n){var i=EV.util.getEVSession();if(i&&i.guid){var r=t+"/role/"+i.guid+"/swg/entitlements",a={Authorization:"Evolok evolok.api.service= evolok.api.sessionId="+i.mainSession.sessionId};if(n.raw&&""!==n.raw){var o=n.raw;return e({method:"POST",url:r,headers:a,data:o}).then(function(e){console.log(e)})["catch"](function(e){console.log(e)})}}},this.uploadProfilePicture=function(n,i,r){console.log("uploadProfilePicture in ic util");var a=EV.util.Storage.cookie.get("ex_ss");console.log("ex_ss=",a);var o="Evolok evolok.api.service="+r+" evolok.api.secureSessionId="+a;if(!a){var s=EV.util.getEVSession();o="Evolok evolok.api.service="+r+" evolok.api.sessionId="+s.mainSession.sessionId}console.log("authorization:",o);var l=t+"/userProfile/upload/profilePicture/"+i;return e({method:"POST",url:l,headers:{"Content-Type":void 0,Authorization:o},data:n}).then(function(e){return e.data})["catch"](function(e){throw e})},this.getProfilePicture=function(n,i,r){var a=EV.util.Storage.cookie.get("ex_ss"),o="Evolok evolok.api.service="+r+" evolok.api.secureSessionId="+a;if(!a){var s=EV.util.getEVSession();o="Evolok evolok.api.service="+r+" evolok.api.sessionId="+s.mainSession.sessionId}var l=t+"/userProfile/profilePicture/"+i+"?path="+n;return e({method:"GET",url:l,headers:{Authorization:o},responseType:"arraybuffer"}).then(function(e){return e.data})["catch"](function(e){throw console.log("ERROR GETTING PROFIILE IMAGE",e),e})},this.removeUploadedPicture=function(n,i,r){var a=EV.util.Storage.cookie.get("ex_ss"),o="Evolok evolok.api.service="+r+" evolok.api.secureSessionId="+a;if(!a){var s=EV.util.getEVSession();o="Evolok evolok.api.service="+r+" evolok.api.sessionId="+s.mainSession.sessionId}var l=t+"/userProfile/profilePicture/delete/"+i+"?path="+n;return e({method:"GET",url:l,headers:{Authorization:o},responseType:"arraybuffer"}).then(function(e){return e.data})["catch"](function(e){throw e})}}])}function n(){angular.module("ev-widgets").service("pmSubscriptionService",["$http",function(e){var t=EV.PM.pmDomain,n=t+"/widget";this.addBeneficiary=function(t,i,r,a){var o=n+"/account/beneficiary/invite/",s={subscriptionId:i,email:r,description:a};return e({method:"POST",url:o,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:s}).then(function(e){return e})}}])}function i(){"use strict";angular.module("ev-widgets").service("pm2Util",["$http","$q","$translate","$window",function(e,t,n,i){function r(e){var t=new URLSearchParams(i.location.search);return t.has(e)?t.get(e):null}function a(e,t,n,i){e=i?Number(Number(e)+Number(i)).toFixed(2):e;var r=0,a=0;if(t&&0!==t.value)switch(t.type){case"PERCENTAGE":r=Number(Number(e)*Number(t.value)/100).toFixed(2);break;case"AMOUNT":r=Number(t.value).toFixed(2);break;default:throw"Discount type '"+t.type+"' is unknown!"}var o=Number(e)-Number(r);
7if(n&&0!==n.value)switch(n.type){case"PERCENTAGE":a=Number(Number(o)*Number(n.value)/100).toFixed(2);break;case"AMOUNT":a=Number(n.value).toFixed(2);break;default:throw"Tax type '"+n.type+"' is unknown!"}var s=Number(o)+Number(a);return s<0?0:s}function o(e){function t(){return!!Array.isArray(e.data)&&("BEX0053"===e.data[0].appErrorCode?e.data[0].appErrorCode="duplicated_purchase":"BEX0020"===e.data[0].appErrorCode?e.data[0].appErrorCode="product_invalid":"BEX0004"===e.data[0].appErrorCode?e.data[0].appErrorCode="product_not_found":"BEX00532"===e.data[0].appErrorCode&&(e.data[0].appErrorCode="recent_duplicated_purchase"),!0)}function n(){"KLREX0005"===e.data.appErrorCode&&(e.data.appErrorCode="klarna_bad_value")}function i(){return e.data&&e.data.appErrorCode&&e.data.appErrorCode.includes("KLREX")}function r(){return e.data[0].message.indexOf("IDM Error: ")!==-1}function a(e){for(var t=[],n=0;n<e.args.length;n+=2)t.push(e.args[n]);return t}if(t()){if(r()){var o=JSON.parse(e.data[0].message.split("IDM Error: ")[1]);return o.args=a(o),EV.util.error(o.code,o.message,e.data[0].httpErrorCode,o.args)}return EV.util.error(e.data[0].appErrorCode,e.data[0].message,e.data[0].httpErrorCode)}return i()?(n(),EV.util.error(e.data.appErrorCode,e.data.message,e.data.httpErrorCode,e.data.args)):EV.util.error("technical_difficulties","Error",e.status)}function s(e,n){var i=t.defer();if(e.hasOwnProperty("guid")){var r=!1,a=null;e.hasOwnProperty("mainSession")&&(r=e.mainSession.hasOwnProperty("sessionCookie")?e.mainSession.sessionCookie:r,a=e.mainSession.hasOwnProperty("expiry")?e.mainSession.expiry:a),EV.util.saveEVSessionInStorage(e,r,a),EV.Event.publish(EV.Event.SESSION_REFRESH,e)}if(EV.settings.isSeamlessSignInEnabled()){var o=n?EV.util.getHeader("X-EV-SSO",n):void 0;o?EV.util.createSeamlessSession(e,o,!0).then(function(){i.resolve(e)}):i.resolve(e)}else i.resolve(e);return i.promise}var l=this,c=EV.PM.pmDomain,d=c+"/widget",u="basket",p="properties";this.getExpressPagoHtml=function(){var t=EV.PM.expressPagoCardUrl;return e({method:"GET",url:t,params:{Token:"",APIKey:EV.PM.expressPagoKey,Culture:"es"}})},this.getPaycometHtml=function(t){var n="https://rest.paycomet.com/v1/form";return e({method:"GET",url:n,params:{operationType:1,language:"en",payment:{terminal:57813,order:t.id,amount:"6499",currency:"EUR",secure:"1",productDescription:"Test Evolok",urlOk:"https://www.paycomet.com/url-ok",urlKo:"https://www.paycomet.com/url-ko",methods:[]}}})},this.isPropertyEnabled=function(t){var n=c+("/widget/"+t+"/isEnabled");return e({method:"GET",url:n})},this.verifyTaxCode=function(t){var n=JSON.parse(localStorage.getItem("evolok:ev_session")).mainSession.sessionId,i=c+"/widget/account/verifyTaxCode?ev_ss="+n,r=t.data;return e({method:"POST",url:i,data:r})},this.validateTransaction=function(t,n){var i=(JSON.parse(localStorage.getItem("evolok:ev_session")).mainSession.sessionId,EV.util.Storage.cookie.get("ev_ss")),r=d+"/payment/transaction/"+t+"/validate?ev_ss="+i;return e({method:"POST",url:r,data:{data:n.data,providerName:n.providerName}})},this.getPaymentPlanTotalPrice=function(t){var n=c+"/paymentplan/"+t+"/paymentPrice";return null!=this.getPromoCode()&&(n+="?promoCode="+this.getPromoCode()),e({method:"GET",url:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getCountries=function(){var t=d+"/countries";return e({method:"GET",url:t}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getRegion=function(t,n){var i=d+"/region/";return i+=t?"?countryId="+t:"?countryName="+n,e({method:"GET",url:i}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getPaymentPlansWithPromoCode=function(t,n){var i=d+"/product/promocode/"+t;return e({method:"GET",url:i,params:{promoCode:n}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getPaymentPlanAndProductByPromoCode=function(t){var n=d+"/purchase-preset-from-promo-code";return e({method:"GET",url:n,params:{promoCode:t}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.ifPromoCodeExistsInProduct=function(t){var n=d+"/product/hasPromoCode/"+t;return e({method:"GET",url:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getProducts=function(t,n,i,r){var a=d+"/productgroup/"+t,s={};return n&&(s.showHidden=!0),i&&(s.deliveryCountry=i.name),r&&(s.ev_sid=r),e({method:"GET",url:a,params:s}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getProduct=function(t,n,i,r,a,s){var l=d+"/product/"+t,c={};return n&&(c.paymentPlan=n),i&&(c.showHidden=!0),r&&(c.deliveryCountry=r.name),a&&(c.ev_sid=a),s&&(c.ev_ss=s),e({method:"GET",url:l,params:c}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getProductLite=function(t,n,i,r,a,s){var l=d+"/lite/product/"+t,c={};return n&&(c.paymentPlan=n),i&&(c.showHidden=!0),r&&(c.deliveryCountry=r.name),a&&(c.ev_sid=a),s&&(c.ev_ss=s),e({method:"GET",url:l,params:c}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getProviderByPaymentType=function(t){var n=d+"/payment/provider/"+t;return e({method:"GET",url:n}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_payment_provider_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Payment Provider Payment",400)})},this.revertCancellation=function(t){var n=d+"/account/"+t+"/cancel/revert";return e({method:"POST",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"revert_cancel_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Reverting the cancellation",400)})},this.cancelPurchase=function(t,n,i){var r=d+"/account/"+t+"/cancel";return e({method:"GET",url:r,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss"),immediately:n,cancelReasonId:i}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"cancel_purchase_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Cancelling the Purchase",400)})},this.applyOffer=function(t,n){var i=d+"/account/"+t+"/applyOffer";return e({method:"GET",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss"),offerId:n}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"apply_offer_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error applying the offer",400)})},this.retrieveCustomerCards=function(t,n){var i=void 0;return i=t?d+"/account/"+t+"/cards":d+"/account/cards",e({method:"GET",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss"),brand:n}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_card_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Card",400)})},this.retrieveCustomerDefaultCard=function(t){var n=d+"/account/defaultCard";return t&&(n=n+"?brand="+t),e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_card_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Card",400)})},this.retrieveCustomerBankAccountDetails=function(){var t=d+"/account/bankAccount";return e({method:"GET",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_bank_account_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Card",400)})},this.getChangeProductsAndPlans=function(t){var n=d+"/account/changeProductsPlans/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_change_products_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving change products/plans",400)})},this.getRetentionDiscounts=function(t){var n=d+"/account/retentionOffers/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_offers_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving offers",400)})},this.retrieveReferralOffers=function(){var t=d+"/account/referraloffers";return e({method:"GET",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){if(404===e.status)throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error("referral_offers_unavailable","Referral offers not available",400);var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_referral_offers_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Referral Offers",400)})},this.retrieveReferralCodeData=function(){var t=d+"/account/referralcode";return e({method:"GET",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){if(404===e.status)throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error("referral_code_unavailable","Referral code not available",400);var t=Array.isArray(e.data)?e.data[0].appErrorCode:"retrieve_referral_code_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Referral Code",400)})},this.generateReferralCode=function(){var t=d+"/account/referralcode";return e({method:"POST",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"generate_referral_code_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Referral Code",400)})},this.generateQRAccessCode=function(t){var n=d+"/account/accesscode/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"generate_access_code_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Retrieving Generate Code",400)})},this.preChangeCard=function(t){var n=d+"/payment/"+t+"/preChangeCard";return e({method:"POST",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"pre_change_card_failed";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error setting up change card charge",400)})},this.changeCardInfo=function(t,n){var i=d+"/payment/"+t+"/changeCard";return e({method:"POST",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"change_card_failed";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error updating the card details",400)})},this.changePurchaseAddressInfo=function(t,n,i,r){var a=d+"/payment/"+t+("BILLING"===i?"/changeBillingAddress":"/changeDeliveryAddress");return r&&(a+="?continueWithInvalidTaxId=true"),e({method:"POST",url:a,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"change_address_failed";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error updating the card details",400)})},this.changeProductPlan=function(t,n){var i=d+"/payment/"+t+"/changeProductPlan";return e({method:"POST",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"change_product_plan_failed";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error changing product/plan",400)})},this.createSubscription=function(t,i){var r,a,o=d+"/payment/"+t+"/subscription",s=null;return e({method:"POST",url:o,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:i}).then(function(e){return e.data})["catch"](function(e){if(r=e,s=e.data.message||"Error Processing Payment",a=e.data&&e.data.message?"payment_fail":"technical_difficulties",e.data&&e.data[0])return r=e.data[0],"BEX0099"===e.data[0].appErrorCode&&(t="ev.widgets.errors.invalid_purchase_country",a=t),n(t).then(function(e){s=e});var t=null;return e.data&&e.data.appErrorCode&&e.data.providerName&&(t="ev.widgets."+e.data.providerName+".pmError."+e.data.appErrorCode),n(t).then(function(e){s=e},function(){console.warn("No translation found for pm error message, will use default")})})["finally"](function(){if(r)throw EV.Event.publish(EV.Event.PM_ERROR,r),EV.util.error(a,s,400)})},this.completeSubscription=function(t,n){var i=d+"/payment/"+t+"/subscription/complete";return e({method:"POST",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.changePurchaseAccount=function(t,n){var i=d+"/account/changeAccount/"+t;return e({method:"PATCH",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.validateProfile=function(t){var n=d+"/profile/validate/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return EV.Event.publish(EV.Event.PM_VALID_PROFILE,e.data),e.data})["catch"](function(e){throw EV.Event.publish(EV.Event.PM_INVALID_PROFILE,e.data),e.data})},this.getPromoCode=function(){var e=null,t=this.getBasket("basket");return t.promoCode&&(e=t.promoCode),e},this.getBasket=function(){return EV.util.Storage.session.get(u)||EV.util.Storage.local.get(u)},this.getBasketLocal=function(){return EV.util.Storage.local.get(u)},this.saveBasket=function(e){EV.util.Storage.session.set(u,e),EV.util.Storage.local.set(u,e),EV.Event.publish("pm.savedBasket",e)},this.removeBasket=function(e){EV.util.Storage.session.remove(u),EV.util.Storage.local.remove(u),EV.Event.publish(EV.Event.PM_CLEARED_BASKET,e)},this.removeBasketLocal=function(e){EV.util.Storage.local.remove(u),EV.Event.publish(EV.Event.PM_CLEARED_BASKET,e)},this.getExtraProperties=function(){return EV.util.Storage.session.get(p)||EV.util.Storage.session.set(p,{}),EV.util.Storage.local.get(p)||EV.util.Storage.local.set(p,{}),EV.util.Storage.session.get(p)||EV.util.Storage.local.get(p)},this.saveExtraProperties=function(e){EV.util.Storage.session.set(p,e),EV.util.Storage.local.set(p,e)},this.removeExtraProperties=function(){EV.util.Storage.session.remove(p),EV.util.Storage.local.remove(p)},this.getProfileGroups=function(t){var n=d+"/profile/attributeGroups/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getEvProfile=function(){return JSON.parse(EV.util.Storage.session.get("ev_profile"))},this.saveProfile=function(t,n){var i=null,r=null;EV.PM.validateGroup?(i=d+"/profile/"+n+"/v2",t.attributes=t.attributes.filter(function(e){return void 0!==e.value}),r=t):(i=d+"/profile/"+n,r=t.filter(function(e){return void 0!==e.value}));var a=EV.util.Storage.cookie.get("ev_ss"),s=!a,l=EV.PM.brand,c=EV.PM.realmName;return e({method:s?"POST":"PUT",url:i,data:r,params:{ev_ss:a,realm:c,brand:l,channel:"WEB"}}).then(function(e){var t;if(e&&e.config&&e.config.data){if(t=JSON.parse(JSON.stringify(e)),Array.isArray(t.config.data)&&Array.isArray(window.excludePasswordAttribute)){for(var n=[],i=0;i<window.excludePasswordAttribute.length;i++){var r=window.excludePasswordAttribute[i];r&&r.name&&n.push(r.name)}for(var a=[],o=0;o<t.config.data.length;o++){var l=t.config.data[o];
7n.indexOf(l.name)!==-1&&a.push(l)}t.config.data=a}}else t=void 0;if(s?EV.Event.publish(EV.Event.REGISTRATION_SUCCESS,t):EV.Event.publish(EV.Event.EDIT_PROFILE_COMPLETE_SUCCESS,t),e&&e.data&&Array.isArray(e.data.changedAttributes)){var c=e.data.changedAttributes;c.forEach(function(e){"UPDATED_UNVERIFIABLE"===e.value&&EV.Event.publish("tax-id.unverifiable")})}return s})["catch"](function(e){throw o(e)})},this.login=function(t,n,i,a){var l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"default_realm",c=d+"/profile/login/"+i,u=a?a:"default",p=EV.PM.brand,g={authenticationSchemeName:u,identifiers:[t],validators:[n],realmName:l,brand:p,channel:"WEB"};return e({method:"POST",url:c,data:g}).then(function(e){var t=r("client_id"),n=r("return_url"),i=r("scope"),a=t&&n&&i;return EV.PM.skipSessionCreation?e.data:s(e.data,e.headers()).then(function(r){if(a)EV.util.getAuthCode({client_id:t,return_url:n,scope:i});else{var o=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);o?(EV.util.Storage.local.get("ev_session")||EV.util.Storage.session.get("ev_session"))&&EV.Event.publish(EV.Event.LOGIN_SUCCESS,e):EV.Event.publish(EV.Event.LOGIN_SUCCESS,e)}return e.data})})["catch"](function(e){throw EV.Event.publish(EV.Event.LOGIN_FAILED),o(e)})},this.validateTransformStartDate=function(e){if(e)return moment(e,"DDMMYYYY").isValid()?this.formatDate(e,"DDMMYYYY"):moment(e,"YYYY-MM-DD").isValid()?this.formatDate(e,"YYYY-MM-DD"):(!moment(e,"YYYY-MM-DD").isValid()||!moment(e,"DDMMYYYY").isValid())&&this.formatDate(new Date,"YYYY-MM-DD")},this.formatDate=function(e,t){var n=moment.utc(e,t);return n},this.createOrder=function(){var t=this,n=this.getBasket();if(!n){var i=EV.util.error("no_products_selected","No products selected",400);return void EV.Event.publish(EV.Event.PM_ERROR,i)}var r=null;1===document.querySelectorAll("ev-referral-code-entry").length&&(r=document.getElementById("ev-referral-code").value);var a=n.products,s=d+"/order",l=null,c=null,u=JSON.parse(JSON.stringify(a)),p=n.startDate,g=n.customEndDate,f=n.customStartDate;if(f&&(p=f),p&&!this.validateTransformStartDate(p))return Promise.reject(EV.util.error("invalid_start_date","Invalid start date",400));p=this.validateTransformStartDate(p);var m=this.getExtraProperties();if(m){var h=m.region||null;if(m.deliveryCountry)var v=m.deliveryCountry.code?m.deliveryCountry:{name:m.deliveryCountry}}var E=null,b=null;"GIFT"==n.orderType&&(E=m.beneficiary,m.beneficiaryMessage&&(b=m.beneficiaryMessage));var y=a.map(function(e){var t={productId:e.id,region:h,country:v,beneficiaryLimit:null!=e.beneficiaryLimit?e.beneficiaryLimit:null,startDate:p?p:null,endDate:g?g:null};if(console.log("beneficiaryLimit",n.beneficiaryLimit),n.beneficiaryLimit){var i=parseInt(n.beneficiaryLimit);i>0&&(console.log("beneficiaryLimit parsed:",i),t.beneficiaryLimit=i)}return"BUNDLE"===e.type?(e.bundlePlans.forEach(function(e){return delete e.price}),t.bundlePlanId=e.paymentPlan.id,delete e.paymentPlans):t.paymentPlanId=e.paymentPlan.id,delete e.paymentPlan,e.requiresDeliveryAddress&&(t.startDeliveryDate=moment().toISOString(),l=n.deliveryAddressGroup),e.requiresBillingAddress&&(c=n.billingAddressGroup),e.invoiceIndependentFromRequiresBilling&&(c=n.billingAddressGroup),n.billingAddressGroup&&(c=n.billingAddressGroup),t}),w=n.paymentType,S=n.orderType,C=n.utmCampaign||void 0,P=this.getPromoCode();P=null==P?null:P.replace(/\s/g,"");var _=EV.PM.brand,A=EV.PM.channel||"WEB",T=n.itemId,k=n.pRenewal,V=n.customData,I={orderItems:y,paymentType:w,deliveryAddressGroup:l,billingAddressGroup:c,orderType:S,campaignCode:C,brand:_,channel:A,beneficiary:E,beneficiaryMessage:b,referralCode:r,promoCode:P,itemId:T,purchaseRenewal:k,customData:V};return e({method:"POST",url:s,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:I}).then(function(e){var i={id:e.data.id,products:u,deliveryAddressGroup:n.deliveryAddressGroup,billingAddressGroup:n.billingAddressGroup,paymentType:n.paymentType,beneficiaryLimit:n.beneficiaryLimit,customData:n.customData,promoCode:n.promoCode,originalPaymentPlan:n.originalPaymentPlan,customEndDate:n.customEndDate};return t.saveBasket(i),I.id=e.data.id,EV.Event.publish(EV.Event.PM_CREATE_ORDER_SUCCESS,I),EV.util.Storage.local.set("createdOrder",I),I})["catch"](function(e){throw o(e)})},this.getExistingOrder=function(t){var n=d+"/productsByOrderId/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.pmGetPaymentPageWithOrderInfo=function(t){var n=d+"/payment/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.isCheckoutButtonLoaded=function(){return document.getElementsByTagName("ev-checkout-button").length>0},EV.Event.on(EV.Event.PM_PROCESS_ORDER,function(e){if(!e){var t=l.getBasket();if(!t){var n=EV.util.error("no_products_selected","No products selected",400);return void EV.Event.publish(EV.Event.PM_ERROR,n)}e=t.products}l.createOrder(e).then(function(t){EV.Event.publish(EV.Event.PM_REDIRECT_TO_PAYMENT,e)})["catch"](function(e){return EV.Event.publish(EV.Event.PM_ERROR,EV.util.error("ERROR_PROCESSING_ORDER","Error processing order",500))})}
7),this.checkBankDetails=function(t,n){var i=d+"/payment/bankDetails/"+t;return e({method:"POST",url:i,data:n}).then(function(e){return e.data})},this.getCalculatedPrices=function(t,n,i,r){var a="?quantity="+n+"&beneficiaryLimit="+i;r&&(a=a+"&ev_ss="+r);var o=c+"/paymentplan/getCalculatedPrice"+a,s=JSON.stringify(t);return e({method:"POST",url:o,headers:{"Content-Type":"application/json"},data:s,timeout:0}).then(function(e){return e.data})["catch"](function(e){return console.log(e)})},this.verifyPaymentDetails=function(t,n){var i=d+"/payment/verify/"+t;return e({method:"POST",url:i,data:n}).then(function(e){return e.data})},this.processPayment=function(t,i){var r,a,o=d+"/payment/"+i,s=null;return e({method:"POST",url:o,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:t}).then(function(e){return e.data})["catch"](function(e){r=e,s=e.data.message||"Error Processing Payment",a=e.data&&e.data.message?"payment_fail":"technical_difficulties";var t=null;return e.data&&e.data.appErrorCode&&e.data.providerName&&(t="ev.widgets."+e.data.providerName+".pmError."+e.data.appErrorCode),n(t).then(function(e){s=e},function(){console.warn("No translation found for pm error message, will use default")})})["finally"](function(){if(r)throw EV.Event.publish(EV.Event.PM_ERROR,r),EV.util.error(a,s,400)})},this.getTransactionByPurchaseId=function(t){var n=d+"/account/transactions/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.reEvaluateOrder=function(t,n){var i=EV.util.Storage.cookie.get("ex_ss");console.log("ex_ss",i);var r=EV.util.Storage.cookie.get("ev_ss");r||console.error('EV.util.Storage.cookie.get("ev_ss") should not be empty');var a=c+("/widget/account/"+t+"/reEvaluateOrder/v2?ev_ss="+r);return e({method:"PUT",url:a,data:n}).then(function(e){EV.util.Storage.local.get("createdOrder")&&EV.Event.publish(EV.Event.PM_CREATED_ORDER,EV.util.Storage.local.get("createdOrder"))})["catch"](function(e){throw o(e)})},this.changePurchaseInvoiceFormat=function(t,n){var i=EV.util.Storage.cookie.get("ev_ss");i||console.error('EV.util.Storage.cookie.get("ev_ss") should not be empty');var r=d+("/account/"+t+"/purchaseInvoiceFormat/"+n+"?ev_ss="+i);return e({method:"PUT",url:r})},this.regenLastInvoice=function(t){var n=EV.util.Storage.cookie.get("ev_ss");n||console.error('EV.util.Storage.cookie.get("ev_ss") should not be empty');var i=d+("/invoice/regenerate/"+t+"?ev_ss="+n);return e({method:"GET",url:i}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getPurchase=function(t){var n=d+"/account/purchase/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getPurchases=function(){var t=d+"/account/purchases/";return e({method:"GET",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getBeneficiaryDetails=function(t,n){var i=d+"/account/beneficiaryDetails";return e({method:"GET",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})},this.deleteBeneficiary=function(t){var n=d+"/account/beneficiary/delete/"+t;return e({method:"DELETE",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})},this.updatePurchaseWithCustomData=function(t,n){var i=d+"/account/purchase/"+t;return e({method:"POST",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getCancelReasons=function(){var t=d+"/account/cancelreasons/";return e({method:"GET",url:t,params:{ev_sid:EV.util.Storage.cookie.get("ev_sid")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getGrantInvitationsList=function(){var t=d+"/account/grant/received";return e({method:"GET",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getGrantInvitationKey=function(t){var n=d+"/account/grant/invitation/"+t;return e({method:"GET",url:n,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.grantAction=function(t,n){var i=d+"/account/grant/action/"+t+"/"+n;return e({method:"POST",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss"),manual:!1}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.getActivePaymentTypes=function(t,n){var i=d+"/payment/types";return t?i+="?paymentPlanId="+t:n&&(i+="?bundlePlanId="+n),e({method:"GET",url:i}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.requestDirectDebitMandate=function(t,n){var i=d+"/payment/"+t+"/directdebit";return e({method:"POST",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)}); 8},this.completeDirectDebitMandate=function(t,n){var i=d+"/payment/"+t+"/directdebit";return e({method:"PUT",url:i,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")},data:n}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},this.calculateTrialPrice=function(e,t){return!e.discount||e.discount&&0===e.discount.period.numberOfDays?0:a(e.price,e.discount,e.tax,t)},this.calculateFinalPrice=function(e,t){return a(e.price,e.discount&&e.discount.value>0&&0===e.discount.period.numberOfDays?e.discount:null,e.tax,t)},this.getCustomDataFields=function(){var t=d+"/account/purchase/customDataFields";return e({method:"GET",url:t,params:{ev_ss:EV.util.Storage.cookie.get("ev_ss")}}).then(function(e){return e.data})["catch"](function(e){throw o(e)})},EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(e){if(EV.util.Storage.cookie.get("ev_ss"))if(EV.PM.skipProfile){if(!EV.PM.skipValidation){var n=e.map(function(e){return l.validateProfile(e.serviceName)});t.all(n).then(function(){EV.PM.skipSummary?EV.Event.publish(EV.Event.PM_PROCESS_ORDER,e):(console.log("publish EV.Event.PM_REDIRECT_ORDER_SUMMARY 3 "),EV.Event.publish(EV.Event.PM_REDIRECT_ORDER_SUMMARY,e))})["catch"](function(){return EV.Event.publish(EV.Event.PM_REDIRECT_PRODUCT_PROFILE,e)})}}else EV.Event.publish(EV.Event.PM_REDIRECT_PRODUCT_PROFILE,e);else EV.Event.publish(EV.Event.PM_REDIRECT_TO_LOGIN,e)}),EV.Event.on(EV.Event.PM_VALIDATE_PROFILE,function(e){var t=e.serviceName,n=e.successCb,i=e.errorCb;l.validateProfile(t).then(n)["catch"](i)}),this.checkIsInvoiceRequired=function(t,n){var i=d+"/isInvoiceRequired/"+t+"/"+n;return e({method:"GET",url:i}).then(function(e){return e.data})["catch"](function(e){var t=Array.isArray(e.data)?e.data[0].appErrorCode:"is_invoice_required_fail";throw EV.Event.publish(EV.Event.PM_ERROR,e),EV.util.error(t||"technical_difficulties","Error Checking Invoice Required",400)})},setTimeout(function(){EV.Event.publish("pm.util.loaded",{getBasketLocal:l.getBasketLocal,removeBasketLocal:l.removeBasketLocal})},0)}])}function r(){"use strict";angular.module("ev-widgets").service("pmSWGService",["$http","$timeout",function(e,t){function n(){(self.SWG=self.SWG||[]).push(function(e){var t=JSON.parse(document.getElementById("evo-swg-markup").innerText).isPartOf.productID;r=e,e.init(t),e.start(),EV.Event.publish("ev.swg.libraryLoaded",e),r.setOnSubscribeResponse(function(e){console.log("OnSubscribeResponse"),e.then(function(e){console.log("OnSubscribeResponse.response",e);var t=getOrderIdFrom(e),n=EV.util.promise(),i=EV.settings.getEVRealm(),r=EV.settings.getEVService(),a=!0,o=!0;EV.Social.swgSession(e,i,r,o,a,n,t).then(function(e){console.log("Account creation/update finished")})["catch"](function(e){console.log("Account creation failed",e)})})}),r.setOnPaymentResponse(function(e){console.log("OnPaymentResponse"),e.then(function(e){console.log("OnPaymentResponse.response",e),EV.Event.publish("ev.swg.onPaymentResponse",e)})}
8),console.log("Loaded SWG Library")})}if(console.log("Loading SWG Library"),!EV.Em||!EV.Em.useSwg){var i=document.getElementById("evo-swg-markup");if(!i)return void console.log("Script with id evo-swg-markup not found. Impossible to initialize SWG");var r,a=document.createElement("script");a.src="https://news.google.com/swg/js/v1/swg.js",a.setAttribute("subscriptions-control","manual"),a.onload=function(){n()},document.body.appendChild(a),this.getSwgSubscriptions=function(){return r}}}])}function a(){"use strict";angular.module("ev-widgets").service("wmUtil",["$http","$q","$translate",function(e,t,n){this.handleSelect=function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.resetChild(e,t),EV.WM.referenceData&&(e.config||"dropdown"===i)){var r=EV.WM.referenceData.filter(function(e){if(e.attributes.includes(t.name))return e}),a=r.map(function(e){return e.data.values}),o=!0;if(a.forEach(function(e){var i=e.find(function(e){return e.value===t.value});if(i&&i.linkedReferenceData){o=!1;var r=EV.WM.referenceData.find(function(e){return e.dataName===i.linkedReferenceData.name});r&&n.populateDisplay(r)}}),o&&t.value){var s=angular.copy(EV.WM.referenceData).filter(function(e){return e.attributes.includes(t.name)});if(!s)return;s.forEach(function(t){t.data.values.forEach(function(t){t.linkedReferenceData&&t.linkedReferenceData.attributes&&t.linkedReferenceData.attributes.forEach(function(t){n.populateDefaultByAttribute(e,t)})})})}else if(!t.value){var l=angular.copy(EV.WM.referenceData).filter(function(e){return e.attributes.includes(t.name)});if(!l)return;var c=!0,d=!1,u=void 0;try{for(var p,g=l[Symbol.iterator]();!(c=(p=g.next()).done);c=!0){var f=p.value,m=function(t){if(t.startsWith(e.config.selectedBillingAddress.name+"_")){var n=e.attributes.findIndex(function(e){return e.name===t});e.attributes[n].value=void 0}},h=!0,v=!1,E=void 0;try{for(var b,y=f.linkedToAttributes[Symbol.iterator]();!(h=(b=y.next()).done);h=!0){var w=b.value;m(w)}}catch(S){v=!0,E=S}finally{try{!h&&y["return"]&&y["return"]()}finally{if(v)throw E}}}}catch(S){d=!0,u=S}finally{try{!c&&g["return"]&&g["return"]()}finally{if(d)throw u}}}}},this.populateDefaultByAttribute=function(e,t){var n=angular.copy(EV.WM.referenceDataAttributeMap),i=n[t].find(function(e){return 0===e.linkedFromList.length});i=this.replaceNameWithCaption(i),EV.Widgets.Display[t]=i.data,EV.Event.publish("checkDefaultAttributeState",{name:t,data:i.data})},this.replaceNameWithCaption=function(e){return e.data.values=e.data.values.map(function(e){return e.caption||(e.caption=e.name,delete e.name),e}),e},this.resetChild=function(e,t){var n=this;if(EV.WM.referenceData){var i=EV.WM.referenceData,r=i.filter(function(e){return e.attributes.includes(t.name)});r&&e.evAttrs&&e.evAttrs.attributes&&r.forEach(function(t){t.data.values.forEach(function(t){t.linkedReferenceData&&t.linkedReferenceData.attributes&&t.linkedReferenceData.attributes.forEach(function(t){e.evAttrs.attributes[t]&&(e.evAttrs.attributes[t]=null,n.resetChild(e,{name:t}))})})})}},this.populateDisplay=function(e){e.data.values=e.data.values.map(function(e){return e.caption||(e.caption=e.name,delete e.name),e}),e.attributes.forEach(function(t){EV.Widgets.Display[t]=e.data})},this.populateDefault=function(e){var t=new Set;e.forEach(function(e){e.attributes.forEach(function(e){return t.add(e)})}),t=Array.from(t),t.forEach(function(t){e.forEach(function(e){0==e.linkedFromList.length&&e.attributes.includes(t)&&(EV.Widgets.Display[t]=e.data)})})},this.populateBillingAddressDefault=function(e,t){var n=new Set;e.forEach(function(e){e.attributes.forEach(function(e){return n.add(e)})}),n=Array.from(n),n.forEach(function(n){e.forEach(function(e){0==e.linkedFromList.length&&e.attributes.includes(n)&&(t.attributes[n]=e.data.values)})})},this.createCheckedList=function(e){e.isChecked?e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!0)}):e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!1)});var t=e.options.filter(function(e){return e.isChecked});return t},this.populateWithCheckedList=function(e,t,n,i){var r=this,a=angular.copy(EV.WM.referenceData),o=angular.copy(e);e.attributes=e.attributes.filter(function(e){return t.some(function(t){return t.linkedReferenceData.attributes.includes(e.name)})}
8),e.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&(n.options=[],t.forEach(function(e){a.forEach(function(t){e.linkedReferenceData.attributes.includes(n.name)&&e.linkedReferenceData.name===t.dataName&&t.data.values.forEach(function(e){return n.options.push(e)})})})),n})}),o.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&0==t.length&&(n.options=[],angular.copy(EV.WM.referenceData).forEach(function(t){var i=angular.copy(t);0==i.linkedFromList.length&&i.attributes.includes(e.name)&&(i=r.replaceNameWithCaption(i),i.data.values.forEach(function(e){return n.options.push(e)}))})),n})})}}])}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(){"use strict";var e=angular.module("ev-widget.pm.2checkout",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("ev2checkout",["pm2Util","EVExceptionHandler","EVENTS","$translate","$location",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-2checkout.tpl.html",link:function(r,a,o){function s(){return"ev-widget.pm.2checkout-"+EV.util.random_guid()}function l(e){var t="ev.widgets.twocheckout.error."+e.errorCode;i(t).then(function(e){r.twocheckoutErrorMessage=e})["catch"](function(e){i("ev.widgets.twocheckout.error.default").then(function(e){r.twocheckoutErrorMessage=e})})}function c(){var e=document.createElement("script");e.src="https://www.2checkout.com/checkout/api/2co.min.js",e.onload=function(){console.log("2Checkout ready!"),d()},document.body.appendChild(e)}function d(){t.removeError(r.errorWidgetGuid);var e=document.querySelectorAll(".twocheckout-payment .input");Array.prototype.forEach.call(e,function(e){e.addEventListener("focus",function(){e.classList.add("focused")}),e.addEventListener("blur",function(){e.classList.remove("focused")}),e.addEventListener("keyup",function(){0===e.value.length?e.classList.add("empty"):e.classList.remove("empty")})})}r.loggedIn=EV.util.Storage.cookie.get("ev_ss"),r.widgetGuid=o.id||s(),r.errorWidgetGuid="error-"+r.widgetGuid,r.widgetTitle=o.title||"PAYMENT DETAILS",a.attr("title",""),r.showHeader="false"!==o.showHeader,r.showErrorMsgs="false"!==o.showErrorMsgs,r.live="false"!==o.live,EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-2checkout"}),c(),r.submit=function(n,i){function a(a){var o=e.getBasket();if(o&&o.id){var s={token:a.response.token.token};return e.processPayment(s,o.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),r.success=!0,e.removeBasket(o),e.removeExtraProperties(),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e),i&&i("payment")})["finally"](function(){return r.submitting=!1})}if(o)l=EV.util.error("undefined_order_id","Error",400);else var l=EV.util.error("no_products_selected","No products selected",400);EV.Event.publish(EV.Event.PM_ERROR,l),t.handleError(r.errorWidgetGuid,l),r.$apply(function(){return r.submitting=!1}),i&&i("payment")}function o(e){l(e),r.showError=!0,EV.Event.publish(EV.Event.PM_ERROR,e.errorMsg),i&&i("payment"),r.$apply(function(){return r.submitting=!1})}if(r.showError=!1,r.twocheckoutErrorMessage="",r.submitting=!0,t.removeError(r.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!r.loggedIn){var s=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,s),t.handleError(r.errorWidgetGuid,s),void(i&&i("payment"))}if(r.twocheckoutErrorMessage)return void(i&&i("payment"));if(!document.getElementById("sellerId")){var c=document.createElement("input");c.setAttribute("id","sellerId"),c.setAttribute("type","hidden"),c.setAttribute("value",EV.PM.twoCheckoutSellerId),document.querySelector("#pay-twocheckout").appendChild(c)}if(!document.getElementById("publishableKey")){var d=document.createElement("input");d.setAttribute("id","publishableKey"),d.setAttribute("type","hidden"),d.setAttribute("value",EV.PM.twoCheckoutKey),document.querySelector("#pay-twocheckout").appendChild(d)}TCO.loadPubKey(r.live?"production":"sandbox",function(){TCO.requestToken(a,o,"pay-twocheckout")})}},EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){r.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"TWOCHECKOUT"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_2CHECKOUT_PAYMENT,e)}
8),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){r.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){r.loggedIn=!1}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var i=e.getBasket();i&&i.paymentType&&"CARD"===i.paymentType&&r.submit(n.successCb,n.errorCb)}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(r.errorWidgetGuid)})}}}])}function l(){"use strict";var e=angular.module("ev-widget.pm.applePay",[]);e.directive("evApplePay",["pm2Util","EVExceptionHandler","EVENTS","$translate","$http",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-apple-pay.tpl.html",link:function(i,r,a,o){function s(){return"ev-widget.pm.applePay-"+EV.util.random_guid()}function l(){t.removeError(i.errorWidgetGuid),window.ApplePaySession?ApplePaySession.canMakePaymentsWithActiveCard(EV.PM.appleMerchantId).then(function(e){if(e)r.ready(function(){i.$emit("ev-apple-pay:ready")}),console.info("Apple Pay ready! Can make apple pay purchases");else{r.ready(function(){i.$emit("ev-apple-pay:ready")}),console.info("Apple Pay ready! Is possible on this browser, but not activated.");var t=document.querySelector(".apple-pay-button-not-active");t.style.display="block"}}):console.warn("Apple Pay ready! But functionality unavailable on current browser")}function c(){return new Promise(function(e,t){d().then(function(){console.log("[onPaymentAuthorized] processPayment outfilled"),e({transactionState:"SUCCESS"})})["catch"](function(){console.log("[onPaymentAuthorized] processPayment rejected"),e({transactionState:"ERROR",error:{intent:"PAYMENT_AUTHORIZATION",message:"Insufficient funds",reason:"PAYMENT_DATA_INVALID"}})})})}function d(){return new Promise(function(t,r){e.isCheckoutButtonLoaded()?(console.log("[processPayment] isCheckoutButtonLoaded()"),EV.Event.publish(n.INTERNAL.PM_CHECKOUT.TRIGGER_CHECKOUT,{}),document.querySelector("ev-checkout-button").style.display="block"):(console.log("[processPayment] submit()"),i.submit()),console.log("[processPayment] resolve({})"),t({})})}i.loggedIn=EV.util.Storage.cookie.get("ev_ss"),i.widgetGuid=a.id||s(),i.errorWidgetGuid="error-"+i.widgetGuid,i.widgetTitle=a.title||"PAYMENT DETAILS",r.attr("title",""),i.showHeader="false"!==a.showHeader,i.showErrorMsgs="false"!==a.showErrorMsgs;"true"===a.live?"PRODUCTION":"TEST";i.appleTransactionInfo=null,i.applePaySession=null,l(),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){i.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){i.loggedIn=!1}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){console.log("EV.Event.PM_REDIRECT_TO_PAYMENT",e),e&&"APPLE_PAY"===e.paymentType&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_APPLE_PAY_PAYMENT,e)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){console.log("EVENTS.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT",n);var r=e.getBasket();r&&r.paymentType&&"APPLE_PAY"===r.paymentType&&i.submit(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){console.log("EVENTS.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE",n),t.removeError(i.errorWidgetGuid)}),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"APPLE_PAY",selector:"ev-apple-pay"});var u=void 0;i.submit=function(n,r){if(i.showError=!1,i.applePayErrorMessage="",i.submitting=!0,t.removeError(i.errorWidgetGuid),!i.loggedIn){var a=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(i.errorWidgetGuid,a),void(r&&r("payment"))}if(i.applePayErrorMessage)return void(r&&r("payment"));var o=e.getBasket(),s={token:u};if(o&&o.id)return e.processPayment(s,o.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),i.success=!0,e.removeBasket(o),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),r&&r("payment")})["finally"](function(){return i.submitting=!1});var l;l=o?EV.util.error("undefined_order_id","Error",400):EV.util.error("no_products_selected","No products selected",400),EV.Event.publish(EV.Event.PM_ERROR,l),t.handleError(i.errorWidgetGuid,l),i.$apply(function(){return i.submitting=!1}),r&&r("payment")},i.$on("ev-apple-pay:ready",function(){var t=document.querySelector(".apple-pay-button");t.style.display="block",t.addEventListener("click",function(){console.log("Apple Pay clicked"),i.appleTransactionInfo?(console.log("########### Apple Payment Request ##############"),console.log(i.appleTransactionInfo),i.applePaySession=new ApplePaySession(1,i.appleTransactionInfo),i.applePaySession.onvalidatemerchant=function(e){console.log("starting applePaySession.onvalidatemerchant"),console.log(e);var t=e.validationURL;p(t,function(e){console.log("merchantSession retrieved"),console.log(e),i.applePaySession.completeMerchantValidation(e)})},i.applePaySession.onpaymentmethodselected=function(t){console.log("starting applePaySession.onpaymentmethodselected"),console.log(t);var n={type:"final",label:EV.PM.appleDisplayNameStore,amount:i.appleTransactionInfo.total.amount},r=[{type:"final",label:e.getBasket().products[0].paymentPlan.displayName,amount:i.appleTransactionInfo.total.amount}];i.applePaySession.completePaymentMethodSelection(n,r)},i.applePaySession.onpaymentauthorized=function(e){console.log("starting applePaySession.onpaymentauthorized"),console.log(e),console.log("############### payment token ###############"),console.log(e.payment.token),u=e.payment.token,c().then(function(e){e&&"SUCCESS"===e.transactionState?(console.log("Successful Transaction outcome"),console.log(e),i.applePaySession.completePayment(ApplePaySession.STATUS_SUCCESS)):(console.log("Failed Transaction outcome"),console.log(e),i.applePaySession.completePayment(ApplePaySession.STATUS_FAILURE))})},i.applePaySession.oncancel=function(e){console.log("starting session.cancel"),console.log(e)},i.applePaySession.begin()):console.warn("Try selecting a plan again and then retry Apple Pay")})}),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(t){console.log("PM_PRODUCT_SELECTED",t[0].paymentPlan.id),e.getPaymentPlanTotalPrice(t[0].paymentPlan.id).then(function(e){console.log("[Apple Pay] Payment Plan final price",e),i.appleTransactionInfo={currencyCode:t[0].paymentPlan.
8currency.id,countryCode:t[0].paymentPlan.countryCode||"GB",total:{label:EV.PM.appleDisplayNameStore,amount:e.totalPrice},supportedNetworks:["masterCard","visa"],merchantCapabilities:["supports3DS","supportsEMV","supportsCredit","supportsDebit"]}})["catch"](function(e){console.error("Error in retrieving/processing totalPrice from paymentPlan",e)})});var p=function(t,n){var i={merchantIdentifier:EV.PM.appleMerchantId,displayName:EV.PM.appleDisplayNameStore,initiative:"web",initiativeContext:window.location.host,appleUrl:t,testEnvironment:!1};e.verifyPaymentDetails("APPLE_PAY",i).then(function(e){n(e)})["catch"](function(e){console.log("error in retrieving the merchantSession",e)})}}}}])}function c(){"use strict";var e=angular.module("ev-widget.pm.beneficiaryLimit",[]);e.directive("evBeneficiaryLimit",["pm2Util",function(e){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-beneficiary-limit.tpl.html",controller:["$scope",function(e){}],link:function(t,n,i,r){function a(){return"ev-widget.pm.beneficiaryLimit-"+EV.util.random_guid()}if(t.isBeneficiaryLimitVisible=!0,t.isLoading=!0,t.widgetGuid=i.id||a(),t.widgetTitle=i.title,n.attr("title",""),t.showHeader="false"!==i.showHeader,t.showErrorMsgs="false"!==i.showErrorMsgs,t.showLabels="false"!==i.showLabels,t.showDelivery="true"===i.showDelivery,t.showHidden="true"===i.showHidden,t.alwaysOnDisplay="true"===i.alwaysOnDisplay,i.beneficiaryLimit&&!i.beneficiaryLimit.includes("-")){var o=Math.round(+i.beneficiaryLimit);isNaN(o)||(t.defaultBeneficiaryLimit=o)}t.addBeneficiaryLimitToBasket=function(){var n=arguments.length>0&&void 0!==arguments[0]&&arguments[0];
8if(n&&i.beneficiaryLimit&&i.beneficiaryLimit.includes("-")){var r=t.beneficiaryLimit;if(null!==r&&void 0!==r&&""!==r){var a=i.beneficiaryLimit.split("-").map(Number),o=isNaN(a[0])?0:a[0],s=isNaN(a[1])?null:a[1];if(!isNaN(r))if(r<o)t.beneficiaryLimit=o;else if(null!==s&&r>=o&&r<=s)return}}if(!n&&i.beneficiaryLimit&&i.beneficiaryLimit.includes("-")){var r=t.beneficiaryLimit;if(null===r||void 0===r||""===r)return;var a=i.beneficiaryLimit.split("-").map(Number),o=isNaN(a[0])?0:a[0],s=isNaN(a[1])?null:a[1],l=t.userIsTyping;if(!isNaN(r))if(l){if(r<o&&10*r<=s)return;r<o?t.beneficiaryLimit=o:null!==s&&r>s&&(t.beneficiaryLimit=s)}else r<o?t.beneficiaryLimit=o:null!==s&&r>s&&(t.beneficiaryLimit=s)}if(t.beneficiaryLimit)EV.Event.publish(EV.Event.PM_BENEFICIARY_LIMIT_CHANGE,{beneficiaryLimit:t.beneficiaryLimit});else if(0===t.beneficiaryLimit){var c=e.getBasket();delete c.beneficiaryLimit,e.saveBasket(c)}t.userIsTyping=!1};var s=e.getBasket();s&&s.products[0].paymentPlan&&t.beneficiaryLimit&&(t.selectedProduct=s.products[0]),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(e){t.disableBeneficiaryInput=!1,t.isBeneficiaryLimitVisible=!0,t.selectedProduct=e[0],t.selectedProduct&&t.selectedProduct.paymentPlan.usePricePerBeneficiary?(t.selectedProduct.paymentPlan.beneficiaryLimit&&!t.defaultBeneficiaryLimit?t.beneficiaryLimit=t.selectedProduct.paymentPlan.beneficiaryLimit:t.selectedProduct.paymentPlan.beneficiaryLimit&&t.defaultBeneficiaryLimit&&(t.beneficiaryLimit=t.defaultBeneficiaryLimit),t.addBeneficiaryLimitToBasket(!1)):t.selectedProduct&&!t.selectedProduct.paymentPlan.usePricePerBeneficiary&&t.alwaysOnDisplay?(t.isBeneficiaryLimitVisible=!0,t.disableBeneficiaryInput=!0):!t.selectedProduct||t.selectedProduct.paymentPlan.usePricePerBeneficiary||t.alwaysOnDisplay||(t.isBeneficiaryLimitVisible=!1),t.selectedProduct&&!t.selectedProduct.paymentPlan.usePricePerBeneficiary&&t.selectedProduct.paymentPlan.beneficiaryLimit?(t.beneficiaryLimit=t.selectedProduct.paymentPlan.beneficiaryLimit,t.addBeneficiaryLimitToBasket(!0)):t.selectedProduct&&!t.selectedProduct.paymentPlan.usePricePerBeneficiary&&t.selectedProduct.paymentPlan.beneficiaryLimit&&(t.beneficiaryLimit=0,t.addBeneficiaryLimitToBasket(!0))})}}}])}function d(){"use strict";var e=angular.module("ev-widget.pm.checkoutDotCom",[]);e.directive("evCheckoutdotcom",["pm2Util","EVExceptionHandler","EVENTS","$translate",function(e,t,n,i){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-checkoutdotcom.tpl.html",link:function(i,r,a,o){function s(){return"ev-widget.pm.checkoutDotCom-"+EV.util.random_guid()}function l(){var e=document.createElement("script");e.src="https://cdn.checkout.com/js/frames.js",e.onload=function(){console.log("Checkout.com ready!"),c()},document.body.appendChild(e)}function c(){t.removeError(i.errorWidgetGuid),Frames.init({publicKey:EV.PM.checkoutDotComPublicKey,containerSelector:".frame-container"})}i.loggedIn=EV.util.Storage.cookie.get("ev_ss"),i.widgetGuid=a.id||s(),i.errorWidgetGuid="error-"+i.widgetGuid,i.widgetTitle=a.title||"PAYMENT DETAILS",r.attr("title",""),i.showHeader="false"!==a.showHeader,i.showErrorMsgs="false"!==a.showErrorMsgs,l(),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-checkoutdotcom"}),i.submit=function(n,r){function a(a){var o=e.getBasket(),s={token:a.cardToken};if(o&&o.id)return e.processPayment(s,o.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),i.success=!0,e.removeBasket(o),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),Frames.unblockFields(),r&&r("payment")})["finally"](function(){return i.submitting=!1});var l;l=o?EV.util.error("undefined_order_id","Error",400):EV.util.error("no_products_selected","No products selected",400),EV.Event.publish(EV.Event.PM_ERROR,l),t.handleError(i.errorWidgetGuid,l),i.$apply(function(){return i.submitting=!1}),r&&r("payment")}if(i.showError=!1,i.checkoutDotComErrorMessage="",i.submitting=!0,t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.loggedIn){var o=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,o),t.handleError(i.errorWidgetGuid,o),void(r&&r("payment"))}return i.checkoutDotComErrorMessage?void(r&&r("payment")):void Frames.submitCard().then(a)["catch"](function(){r("payment"),i.submitting=!1})}}
8,EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){i.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){i.loggedIn=!1}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"CHECKOTDOTCOM"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_CHECKOUTDOTCOM_PAYMENT,e)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&"CARD"===r.paymentType&&i.submit(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)})}}}])}function u(){"use strict";var e=angular.module("ev-widget.pm.easypay",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evEasypay",["pm2Util","EVExceptionHandler","EVENTS","$translate","$location","$q","$sce",function(e,t,n,i,r,a,o){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-easypay.tpl.html",link:function(r,a,o){function s(){return"mbw"!==r.selectedPaymentOption||r.phoneIndicative?!("mbw"===r.selectedPaymentOption&&!r.phoneNumber)||(r.error.message="Phone number is mandatory",!1):(r.error.message="Phone phoneIndicative is mandatory",!1)}function l(){return"ev-widget.pm.easypay-"+EV.util.random_guid()}function c(){document.getElementsByTagName("ev-checkout-button")[0].style.display="none"}function d(){e.getBasket()}function u(){return!r.session&&EV.util.getEVSession()&&(r.session=EV.util.getEVSession()),r.session}r.loggedIn=EV.util.Storage.cookie.get("ev_ss"),r.submitting=!1,r.widgetGuid=o.id||l(),r.errorWidgetGuid="error-"+r.widgetGuid,r.widgetTitle=o.title||"PAYMENT DETAILS",a.attr("title",""),r.showHeader="false"!==o.showHeader,r.showErrorMsgs="false"!==o.showErrorMsgs,r.paymentTypes=o.paymentTypes?o.paymentTypes.split(","):["CARD"],r.defaultPayment=o.defaultPayment||"CARD",r.isSubscription="false"!==o.subscription,r.enableExistingCards="true"===o.enableExistingCards,r.displayOnlyDefaultCard="true"===o.displayOnlyDefaultCard,r.enableGoogleApplePay="true"===o.enableGoogleApplePay,r.showResultIdColumn="true"!==o.showResultIdColumn,r.paymentTypeOrderCreated=!1,r.successCb=null,r.errorCb=null,r.order=null,r.entity=null,r.method=null,r.paymentId=null,r.success=!1,r.disablePhoneNumField=!1,r.disablePhoneTextField=!1,r.paymentOptions=["mb","mbw"],r.selectedPaymentOption="mb",r.phoneNumber="",r.error={message:""};var p=["PAYMENT_GATEWAY"];r.errors=[],r.challengeUrl=null,d();var g="ev.widgets.easypay.paymentOptionText";i(g).then(function(e){r.paymentOption=e},function(e){r.paymentOption="Payment Option"});var f="ev.widgets.easypay.phoneNumber.number";i(f).then(function(e){r.phoneNumberNum=e},function(e){r.phoneNumberNum="Phone code (e.g. +44)"});var m="ev.widgets.easypay.phoneNumber.text";i(m).then(function(e){r.phoneNumberText=e},function(e){r.phoneNumberText="Phone Number"}),r.submitPayment=function(){if(r.order){if(r.error.message="",!s())return void i("ev.widgets.expressPago.invalidForm").then(function(e){r.errorCb&&r.errorCb(e)})["catch"](function(e){console.log("error:",e)});var n={method:r.selectedPaymentOption};"mbw"===r.selectedPaymentOption&&r.phoneNumber&&(n.phoneNumber=r.phoneNumber,n.phoneIndicative=r.phoneIndicative),e.createSubscription(r.order.id,n).then(function(n){n.data||console.error("res.data is null");var i=n.data.data;r.paymentId=i.id,r.method=n.data.data.method,r.methodKey=r.method.status.charAt(0).toUpperCase()+r.method.status.slice(1);var a={id:i.id,method:r.method};e.completeSubscription(r.order.id,a).then(function(e){r.success=!0,c(),r.successCb&&r.successCb()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e)})})["catch"](function(e){console.log(e)})}},r.submitCardForm=function(){console.log("submitting...!!!!...")},r.isUserLoggedIn=function(){return u()},EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"PAYMENT_GATEWAY",selector:"ev-easypay"}),EV.Event.on(EV.Event.PM_PAYMENT_TYPE_CHANGED,function(e){if(e){var t=e.name||e;p.includes(t)&&(r.defaultPayment=t)}}),EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){r.isSubscription=e.isSubscription}
8),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){console.log("LOGIN_SUCCESS pago event"),r.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){console.log("login action pago event"),r.loggedIn=!1}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(r.errorWidgetGuid)}),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){r.order=e,console.log("easypay: create order success",e),r.disablePhoneNumField=!0,r.disablePhoneTextField=!0}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(n,i){console.log("RECEIVED EVENT:::");var a=e.getBasket();a&&a.paymentType&&"PAYMENT_GATEWAY"===a.paymentType&&(r.successCb=i.successCb,r.errorCb=i.errorCb,t.removeError(r.errorWidgetGuid),r.submitPayment())})}}}])}function g(){"use strict";var e=angular.module("ev-widget.pm.expressPago",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evExpressPago",["pm2Util","EVExceptionHandler","EVENTS","$translate","$location","$q",function(e,t,n,i,r,a){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-expressPago.tpl.html",link:function(a,o,s){function l(){var e=document.getElementsByClassName("card-ui-component-validation-error");return!(e.length>0)}function c(e,t){i("ev.widgets.expressPago.invalidForm").then(function(e){a.errorCb&&a.errorCb(e)})["catch"](function(e){console.log("error:",e)})}function d(){return"ev-widget.pm.expressPago-"+EV.util.random_guid()}function u(e){var t=document.getElementsByTagName("ev-checkout-button")[0];t.style.display=e}function p(e){var t=document.getElementById("card-ui-component-btn-confirm");t.style.display=e}function g(e){var t=document.getElementById("card-ui-component-btn-cancel");t.style.display=e}function f(){console.log(a.order,"SCOPE creating express pago session"),e.getExpressPagoHtml().then(function(e){$("#creditcard-container").html(e.data),p("none"),g("none")})["catch"](function(e){console.log("ERROR GETTING EXPRESSPAGO HTML ",e)})}function m(){return!a.session&&EV.util.getEVSession()&&(a.session=EV.util.getEVSession()),a.session}a.loggedIn=EV.util.Storage.cookie.get("ev_ss"),a.submitting=!1,a.widgetGuid=s.id||d(),a.errorWidgetGuid="error-"+a.widgetGuid,a.widgetTitle=s.title||"PAYMENT DETAILS",o.attr("title",""),a.showHeader="false"!==s.showHeader,a.showErrorMsgs="false"!==s.showErrorMsgs,a.paymentTypes=s.paymentTypes?s.paymentTypes.split(","):["CARD"],a.defaultPayment=s.defaultPayment||"CARD",a.isSubscription="false"!==s.subscription,a.enableExistingCards="true"===s.enableExistingCards,a.displayOnlyDefaultCard="true"===s.displayOnlyDefaultCard,a.enableGoogleApplePay="true"===s.enableGoogleApplePay,a.paymentTypeOrderCreated=!1,a.successCb=null,a.errorCb=null,a.order=null,a.token=null;var h=(r.$$protocol+"://"+r.$$host,["CARD","IDEAL","PAYMENT_GATEWAY"]);a.errors=[],f(),window.SaveCreditCard_FailureCallback=function(e){console.log("SaveCreditCard_FailureCallback",e)},window.SaveCreditCard_SuccessCallback=function(e){a.token=e.TokenDetails.AccountToken,a.submitPayment(a.successCb,a.errorCb)},window.SaveCreditCard_CancelCallback=function(){console.log("SaveCreditCard_CancelCallback")},a.submitPayment=function(t,n){var i={token:a.token};e.processPayment(i,a.order.id).then(function(e){u("block"),a.successCb&&(EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,e),a.successCb())})},a.isUserLoggedIn=function(){return m()},EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-express-pago"}),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){console.log("EV.Event.PM_CREATE_ORDER_SUCCESS",e),a.order=e}),EV.Event.on(EV.Event.PM_PAYMENT_TYPE_CHANGED,function(e){if(e){var t=e.name||e;h.includes(t)&&(a.defaultPayment=t)}}),EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){a.isSubscription=e.isSubscription; 9}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){console.log("LOGIN_SUCCESS pago event"),a.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){console.log("login action pago event"),a.loggedIn=!1}),a.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(a.errorWidgetGuid)}),a.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY,function(e,t){console.log("HELLO HERE")}),a.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(n,i){e.getBasket();if(a.successCb=i.successCb,a.errorCb=i.errorCb,t.removeError(a.errorWidgetGuid),document.getElementById("card-ui-component-btn-confirm").
9click(),!l())return console.log("FORM IS INVALID"),void c(a.errorCb,"Invalid form")})}}}])}function f(){"use strict";var e=angular.module("ev-widget.pm.gocardless",[]);e.directive("evGocardless",["pm2Util","EVExceptionHandler","EVENTS","$translate","$http",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-gocardless.tpl.html",link:function(r,a,o){function s(){return"ev-widget.pm.gocardless-"+EV.util.random_guid()}function l(){var n={accountNumber:r.accountNumber,branchCode:r.sortCode,countryCode:r.countryCode};e.checkBankDetails("DIRECT_DEBIT",n).then(function(e){console.log(e.data),r.setDDSubmited=!0,r.bankName=e.bankName})["catch"](function(e){if(e.data){var n=EV.util.error("invalid_bank_details",e.data.message,400);EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(r.errorWidgetGuid,n),r.showError=!0,r.setDDSubmited=!1,r.bankName=null}})}function c(e){var n=e.errors[0].field.replace(/_([a-z])/g,function(e){return e[1].toUpperCase()}),a="ev.widgets.gocardless."+n;i(a).then(function(n){var i=EV.util.error("validation_failed",n+" "+e.errors[0].message,400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(r.errorWidgetGuid,i)})["catch"](function(e){EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e)})}function d(e){var t=document.createElement("script");t.src=e?"https://pay.gocardless.com/js/beta":"https://pay-sandbox.gocardless.com/js/beta",t.onload=function(){console.log("Gocardless ready!")},document.body.appendChild(t)}function u(){r.loggedIn?e.retrieveCustomerBankAccountDetails().then(function(e){r.bankAccounts=e,r.newAccount=null==r.bankAccounts||0===r.bankAccounts.length}):(r.bankAccounts=null,r.newAccount=!0)}function p(){g();var e="ev.widgets.errors.field_required",t="ev.widgets.errors.field_length6",n="ev.widgets.errors.field_length8",i=!0;return r.accountHolderName||(r.accountHolderNameError=e,i=!1),r.sortCode?6!==r.sortCode.length&&(r.sortCodeError=t,i=!1):(r.sortCodeError=e,i=!1),r.accountNumber?8!==r.accountNumber.length&&(r.accountNumberError=n,i=!1):(r.accountNumberError=e,i=!1),r.authorizeMandate||(r.authorizeMandateError=e,i=!1),i}function g(){r.accountHolderNameError=r.sortCodeError=r.accountNumberError=r.authorizeMandateError=null}r.loggedIn=EV.util.Storage.cookie.get("ev_ss"),r.live="false"!==o.live,r.widgetGuid=o.id||s(),r.errorWidgetGuid="error-"+r.widgetGuid,r.widgetTitle=o.title||"Direct Debit Mandate",a.attr("title",""),r.showHeader="false"!==o.showHeader,r.showErrorMsgs="false"!==o.showErrorMsgs,r.countryCode="GB",r.privacyNotice=o.privacyNotice||"https://gocardless.com/legal/privacy/",r.directDebitGuarantee=o.directDebitGuarantee||"https://gocardless.com/direct-debit/guarantee/",r.addressLine1=o.addressLine1,r.addressLine2=o.addressLine2,r.addressLine3=o.addressLine3,r.city=o.city,r.postcode=o.postcode,r.email=o.email,r.phone=o.phone,EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"DIRECT_DEBIT",selector:"ev-gocardless"}),d(r.live),u(),r.submitSetUpDirectDebit=function(){if(t.removeError(r.errorWidgetGuid),r.newAccount)if(p())l();else var e=EV.util.error("form_error","Please correct the errors below",400);else r.selectedBankAccount?r.setDDSubmited=!0:e=EV.util.error("form_error_bankAccount","Please select a bank account",400);e&&(EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e),r.showError=!0)},r.createNewAccount=function(e){r.newAccount=e},r.changeSetUpDirectDebit=function(){r.setDDSubmited=!1,r.ddConfirmed=!1},r.confirmDirectDebit=function(){if(t.removeError(r.errorWidgetGuid),r.ddConfirmed=!0,r.newAccount){var e="GB",n=EV.PM.gocardlessKey;GoCardless.customerBankAccountTokens.create({publishable_access_token:n,customer_bank_account_tokens:{account_number:r.accountNumber,branch_code:r.sortCode,account_holder_name:r.accountHolderName,country_code:e}},function(t){t.error?(c(t.error),r.ddConfirmed=!1):r.purchasePayload={customer_bank_account_token:t.customer_bank_account_tokens.id,country_code:e,update_account:"true"}})}else r.purchasePayload={update_account:"true",customer_bank_account_id:r.selectedBankAccount.id}}
9,r.submitDirectDebitConfirmation=function(n,i){if(!r.setDDSubmited||!r.ddConfirmed){var a=EV.util.error("set_direct_debit","Please set up the Direct Debit and confirm your details",400);return EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(r.errorWidgetGuid,a),r.showError=!0,void(i&&i("direct_debit"))}if(t.removeError(r.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){r.submitting=!0;var o=e.getBasket();return o&&o.id?e.processPayment(r.purchasePayload,o.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),r.success=!0,e.removeBasket(o),e.removeExtraProperties(),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e),i&&i("payment")})["finally"](function(){return r.submitting=!1}):void 0}},EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"GOCARDLESS"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_GOCARDLESS_PAYMENT,e)}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){r.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){r.loggedIn=!1,u()}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var i=e.getBasket();i&&i.paymentType&&"DIRECT_DEBIT"===i.paymentType&&r.submitDirectDebitConfirmation(n.successCb,n.errorCb)}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(r.errorWidgetGuid)})}}}])}function m(){"use strict";var e=angular.module("ev-widget.pm.googlePay",[]);e.directive("evGooglePay",["pm2Util","EVExceptionHandler","EVENTS","$translate",function(e,t,n,i){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-google-pay.tpl.html",link:function(i,r,a,o){function s(){return"ev-widget.pm.googlePay-"+EV.util.random_guid()}function l(t){e.getPaymentPlanTotalPrice(t.id).then(function(e){console.log("[Google Pay] Payment Plan final price",e),i.googleTransactionInfo={currencyCode:t.currency.id,totalPriceStatus:"FINAL",totalPrice:""+e.totalPrice}})["catch"](function(e){console.error("Error in retrieving/processing totalPrice from paymentPlan",e)})}function c(t){return new Promise(function(r,a){b=JSON.parse(t.paymentMethodData.tokenizationData.token),e.isCheckoutButtonLoaded()?(EV.Event.publish(n.INTERNAL.PM_CHECKOUT.TRIGGER_CHECKOUT,{}),document.querySelector("ev-checkout-button").style.display="block"):i.submit(),r({})})}function d(e){return new Promise(function(t,n){c(e).then(function(){t({transactionState:"SUCCESS"})})["catch"](function(){t({transactionState:"ERROR",error:{intent:"PAYMENT_AUTHORIZATION",message:"Insufficient funds",reason:"PAYMENT_DATA_INVALID"}})})})}function u(){if(i.googleTransactionInfo){var e=p();f().loadPaymentData(e)["catch"](function(e){console.log(e)})}else console.warn("Try selecting a plan again and then retry Google Pay")}function p(){var e=Object.assign({},w);return e.allowedPaymentMethods=[P],e.transactionInfo=i.googleTransactionInfo,e.merchantInfo={merchantId:EV.PM.googleMerchantId,merchantName:EV.PM.googleMerchantName},e.callbackIntents=["PAYMENT_AUTHORIZATION"],e}function g(){var e=document.createElement("script");e.src="https://pay.google.com/gp/p/js/pay.js",e.onload=function(){console.log("Google Pay ready!"),m()},document.body.appendChild(e)}function f(){return null===y&&(y=new google.payments.api.PaymentsClient({environment:E,paymentDataCallbacks:{onPaymentAuthorized:d}})),y}function m(){t.removeError(i.errorWidgetGuid),f().isReadyToPay(_).then(function(e){if(e.result){var t=y.createButton({onClick:u});document.getElementById("ev-google-pay-container").appendChild(t)}})["catch"](function(e){console.error(e)})}i.loggedIn=EV.util.Storage.cookie.get("ev_ss"),i.widgetGuid=a.id||s(),i.errorWidgetGuid="error-"+i.widgetGuid,i.widgetTitle=a.title||"PAYMENT DETAILS",r.attr("title",""),i.showHeader="false"!==a.showHeader,i.showErrorMsgs="false"!==a.showErrorMsgs;var h=["AMEX","MASTERCARD","VISA"],v=["PAN_ONLY","CRYPTOGRAM_3DS"],E="true"===a.live?"PRODUCTION":"TEST";i.googleTransactionInfo=null,g(),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"GOOGLE_PAY",selector:"ev-google-pay"});var b=void 0;i.submit=function(n,r){if(i.showError=!1,i.googlePayErrorMessage="",i.submitting=!0,t.removeError(i.errorWidgetGuid),!i.loggedIn){var a=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(i.errorWidgetGuid,a),void(r&&r("payment"))}if(i.googlePayErrorMessage)return void(r&&r("payment"));var o=e.getBasket(),s={token:b};if(o&&o.id)return e.processPayment(s,o.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),i.success=!0,e.removeBasket(o),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),r&&r("payment")})["finally"](function(){return i.submitting=!1});var l;l=o?EV.util.error("undefined_order_id","Error",400):EV.util.error("no_products_selected","No products selected",400),EV.Event.publish(EV.Event.PM_ERROR,l),t.handleError(i.errorWidgetGuid,l),i.$apply(function(){return i.submitting=!1}),r&&r("payment")}
9,EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){i.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){i.loggedIn=!1}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"GOOGLE_PAY"===e.paymentType&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_GOOGLE_PAY_PAYMENT,e)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&"GOOGLE_PAY"===r.paymentType&&i.submit(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)}),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(e){console.log("PM_PRODUCT_SELECTED",e[0].paymentPlan.id),l(e[0].paymentPlan)});var y=null,w={apiVersion:2,apiVersionMinor:0},S={type:"PAYMENT_GATEWAY",parameters:{gateway:EV.PM.googleGatewayProvider,gatewayMerchantId:EV.PM.googleMerchantPublicKey}},C={type:"CARD",parameters:{allowedAuthMethods:v,allowedCardNetworks:h}},P=Object.assign({tokenizationSpecification:S},C),_=Object.assign({},w);_.allowedPaymentMethods=[C]}}}])}function h(){"use strict";var e=angular.module("ev-widget.pm.grant",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evGrant",["$location","WidgetUtil","$translate","pm2Util","$timeout",function(e,t,n,i,r){return{restrict:"E",scope:{invitationKey:"@"},templateUrl:"pm-v2/ev-grant-v2.tpl.html",controller:["WidgetUtil","EVExceptionHandler","$scope","$q","$attrs","$element",function(t,n,a,o,s,l){function c(){return new Promise(function(e,t){i.getGrantInvitationsList().then(function(t){a.grantInvitationsList=t,e(t)})["catch"](function(e){t(e)})})}function d(){return new Promise(function(t,n){e.search().invitationKey?i.getGrantInvitationKey(e.search().invitationKey).then(function(e){a.grantInvitationKey=e,t(e)})["catch"](function(e){n(e)}):(a.grantInvitationKey="",t(""))})}function u(){if(n.removeError(a.errorWidgetGuid),a.loggedIn)return Promise.all([c(),d()]).then(function(){EV.Event.publish(EV.Event.PM_INVITATIONS_LOADED,{grantInvitationsList:a.grantInvitationsList,grantInvitationKey:a.grantInvitationKey}),r(function(){a.isLoading=!1},0)})["catch"](function(e){a.showErrorMsgs=!0,r(function(){a.isLoading=!1},0),console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),n.handleError(a.errorWidgetGuid,e)});a.showErrorMsgs=!0,a.isLoading=!1;var e=EV.util.error("not_logged_in","Not Logged In",400);EV.Event.publish(EV.Event.PM_ERROR,e),n.handleError(a.errorWidgetGuid,e)}a.getWidgetId=function(){return"ev-widget.pm.Grant-"+EV.util.random_guid()},a.loggedIn=EV.util.Storage.cookie.get("ev_ss"),a.widgetGuid=s.id||a.getWidgetId(),a.errorWidgetGuid="error-"+a.widgetGuid,a.widgetTitle=s.title||"GRANT INVITE",l.attr("title",""),a.showErrorMsgs="false"!==s.showErrorMsgs,a.showHeader="false"!==s.showHeader,a.isLoading=!0,u(),a.acceptInvitation=function(t){i.grantAction(t,"accept").then(function(){e.url(e.path()),EV.Event.publish(EV.Event.PM_INVITATION_KEY_ACCEPTED)})["catch"](function(e){a.showErrorMsgs=!0,console.error(e);var t=EV.util.error("action_accept_fail","This action can not be performed at the moment",400);EV.Event.publish(EV.Event.PM_ERROR,t),n.handleError(a.errorWidgetGuid,t)})},a.declineInvitation=function(t){i.grantAction(t,"decline").then(function(){e.url(e.path()),EV.Event.publish(EV.Event.PM_INVITATION_KEY_DECLINED)})["catch"](function(e){a.showErrorMsgs=!0,console.error(e);var t=EV.util.error("action_decline_fail","This action can not be performed at the moment",400);EV.Event.publish(EV.Event.PM_ERROR,t),n.handleError(a.errorWidgetGuid,t)})},EV.Event.on(EV.Event.PM_INVITATION_KEY_ACCEPTED,function(){u()}),EV.Event.on(EV.Event.PM_INVITATION_KEY_DECLINED,function(){u()}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){a.loggedIn=!0,u()})}]}}])}function v(){"use strict";var e=angular.module("ev-widget.pm.klarna",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evKlarna",["pm2Util","EVExceptionHandler","EVENTS","$translate","$location","$window",function(e,t,n,i,r,a){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-klarna.tpl.html",link:function(a,o,s){function l(){return"ev-widget.pm.klarna-"+EV.util.random_guid()}function c(){var e=document.createElement("script");e.src="https://x.klarnacdn.net/kp/lib/v1/api.js",e.onload=function(){console.log("Klarna loaded!")},document.body.appendChild(e)}function d(e){console.log("Klarna session created",e),h=e.data.klarna_session_id;var t={client_token:e.data.klarna_client_token,klarna_payment_method_categories:e.data.klarna_payment_method_categories};p(t)}function u(t){e.completeSubscription(a.order.id,t).then(function(e){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,e),a.successCb&&a.successCb()})["catch"](function(e){console.error(e),a.errorCb&&a.errorCb(),m(e)}),g("block"),f(!1),a.displayKlarnaBtn=!1}function p(e){t.removeError(a.errorWidgetGuid),Klarna.Payments.init({client_token:e.client_token}),Klarna.Payments.load({container:"#klarna-payments-container",payment_method_category:"pay_now"},function(e){console.log("klarna load result",e),e.show_form&&console.log("re.
9show_form = true")}),g("none"),a.displayKlarnaBtn=!0}function g(e){var t=document.getElementsByTagName("ev-checkout-button")[0];t.style.display=e}function f(e){var t=document.getElementById("KlarnaAuthBtn");t.disabled=e}function m(e){var n=new RegExp("\\{0\\}","gi"),r="ev.widgets.klarna.error."+e.error.code;i(r).then(function(i){i=i.replace(n,e.error.args[0]);var r=EV.util.error(e.error.code,i,e.statusCode,e.error.args);EV.Event.publish(EV.Event.PM_ERROR,r),t.handleError(a.errorWidgetGuid,r)})}a.loggedIn=EV.util.Storage.cookie.get("ev_ss"),a.widgetGuid=s.id||l(),a.errorWidgetGuid="error-"+a.widgetGuid,a.widgetTitle=s.title||"PAYMENT DETAILS",o.attr("title",""),a.showHeader="false"!==s.showHeader,a.showErrorMsgs="false"!==s.showErrorMsgs,a.paymentTypes=s.paymentTypes?s.paymentTypes.split(","):["CARD"],a.defaultPayment=s.defaultPayment||"CARD",a.klarnaTransactionInfo=null,a.order=null;var h;r.$$protocol+"://"+r.$$host;c(),a.getKlarnaAuthorization=function(){f(!0),Klarna.Payments.authorize({payment_method_category:"pay_now"},{},function(e){if(console.log("klarna authorize res:",e),e.approved){var t={klarna_authorization_token:e.authorization_token,klarna_session_id:h};u(t)}else f(!1)})},a.sendKlarnaPayment=function(){Klarna.Payments.finalize({payment_method_category:"pay_now"},{},function(e){console.log("klarna finalize:",e)})},a.createKlarnaSession=function(n,i){if(t.removeError(a.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!a.order){var r=EV.util.error("order_not_created","An order hasn't been created.",400);return EV.Event.publish(EV.Event.PM_ERROR,r),void(i&&i("checkout"))}a.successCb=n,a.errorCb=i,a.processingKlarnaCheckout=!0,e.createSubscription(a.order.id,{}).then(d)["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e),i&&i("checkout")})["finally"](function(){a.processingKlarnaCheckout=!1})}},EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-klarna"}),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){a.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"KLARNA"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_KLARNA_PAYMENT,e)}),a.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var i=e.getBasket();i&&i.paymentType&&"CARD"===i.paymentType&&a.createKlarnaSession(n.successCb,n.errorCb)})}}}])}function E(){"use strict";var e=angular.module("ev-widget.pm.manageReferralCode",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evManageReferralCode",["pm2Util","EVExceptionHandler","EVENTS","$translate","$window",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-manage-referral-code.tpl.html",controller:["$scope","$attrs","$element",function(n,i,r){function a(){return"ev-widget.pm.manageReferralCode-"+EV.util.random_guid()}function o(){if(t.removeError(n.errorWidgetGuid),n.loggedIn)e.retrieveReferralCodeData().then(function(e){e.referralCode?(n.hasReferralCode=!0,n.referralCode=e.referralCode,n.numberOfReferrals=e.numberOfReferrals,null!=n.subscribePagePath&&(n.referralLink=n.subscribePagePath+"?rf="+e.referralCode,n.showLink=!0)):n.allowCodeGeneration=!0})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(n.errorWidgetGuid,e)});else{var i=EV.util.error("not_logged_in","Not Logged In",400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(n.errorWidgetGuid,i)}}n.isLoading=!0,n.formErrors=[],n.translatedErrors=[],n.loggedIn=EV.util.Storage.cookie.get("ev_ss"),n.widgetGuid=i.id||a(),n.errorWidgetGuid="error-"+n.widgetGuid,n.widgetTitle=i.title||"REFERRAL CODE",r.attr("title",""),n.showHeader="false"!==i.showHeader,n.showErrorMsgs="false"!==i.showErrorMsgs,n.showLabels="false"!==i.showLabels,n.showHidden="true"===i.showHidden,n.subscribePagePath=i.subscribePagePath,n.showLink=!1,n.referralLink="",n.hasReferralCode=!1,n.allowCodeGeneration=!1,n.referralCode=null,n.numberOfReferrals=0,o(),n.generateReferralCode=function(){e.generateReferralCode().then(function(e){o()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(n.errorWidgetGuid,e)})}
9,EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){n.loggedIn=!0,o()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){n.loggedIn=!1,n.hasReferralCode=!1,n.allowCodeGeneration=!1,n.$apply(),o()})}]}}])}function b(){"use strict";var e=angular.module("ev-widget.pm.manual",[]);e.directive("evManual",["pm2Util","EVExceptionHandler","EVENTS",function(e,t,n){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-manual.tpl.html",link:function(i,r,a,o){function s(){return"ev-widget.pm.manual-"+EV.util.random_guid()}i.loggedIn=EV.util.Storage.cookie.get("ev_ss"),i.widgetGuid=a.id||s(),i.errorWidgetGuid="error-"+i.widgetGuid,i.widgetTitle=a.title||"PAYMENT DETAILS",r.attr("title",""),i.showHeader="false"!==a.showHeader,i.showErrorMsgs="false"!==a.showErrorMsgs;var l=["CASH","BANK_TRANSFER","CHEQUE","NO_CHARGE"];angular.element(function(){EV.Event.publish(EV.Event.PM_MANUAL_WIDGET_LOADED)}),i.submit=function(n,r){if(i.showError=!1,i.manualErrorMessage="",i.submitting=!0,t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.loggedIn){var a=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(i.errorWidgetGuid,a),void(r&&r("payment"))}if(i.manualErrorMessage)return void(r&&r("payment"));var o=e.getBasket(),s={};if(o&&o.id)return e.processPayment(s,o.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),i.success=!0,e.removeBasket(o),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),r&&r("payment")})["finally"](function(){return i.submitting=!1});var l=void 0;l=o?EV.util.error("undefined_order_id","Error",400):EV.util.error("no_products_selected","No products selected",400),EV.Event.publish(EV.Event.PM_ERROR,l),t.handleError(i.errorWidgetGuid,l),i.$apply(function(){return i.submitting=!1}),r&&r("payment")}},EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){i.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){i.loggedIn=!1}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"MANUAL"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_MANUAL_PAYMENT,e)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&l.includes(r.paymentType)&&i.submit(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)})}}}])}function y(){"use strict";var e=angular.module("ev-widget.pm.mercado",[]);e.directive("evMercado",["pm2Util","EVExceptionHandler","EVENTS","$translate",function(e,t,n,i){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-mercado.tpl.html",link:function(r,a,o,s){function l(e){var t="ev.widgets.mercado.error."+e.code;i(t).then(function(e){r.mercadoErrorMessage=e})["catch"](function(e){i("ev.widgets.mercado.error.default").then(function(e){r.mercadoErrorMessage=e})})}function c(e,t){return e.length<=t}function d(e){return/^\d+$/.test(e)}function u(){return"ev-widget.pm.mercado-"+EV.util.random_guid()}function p(){var e=document.createElement("script");e.src="https://sdk.mercadopago.com/js/v2",e.onload=function(){console.log("Mercado ready!"),g()},document.body.appendChild(e),angular.element(function(){EV.Event.publish(EV.Event.PM_MERCADO_WIDGET_LOADED)})}function g(){function e(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{label:"name",value:"id"},i=n.label,r=n.value,a=document.createDocumentFragment();t.forEach(function(e){var t=e[r],n=e[i],o=document.createElement("option");o.value=t,o.textContent=n,a.appendChild(o)}),e.appendChild(a)}function n(e){var t=e.bin;f.getPaymentMethods({bin:t}).then(function(e){i(200,e.results)})}function i(e,t){if(t||(m=t),200==e&&t){var n=document.querySelector("#pay");if(null==document.querySelector("input[name=paymentMethodId]")){var i=document.createElement("input");i.setAttribute("name","paymentMethodId"),i.setAttribute("type","hidden"),i.setAttribute("value",t[0].id),n.appendChild(i)}else document.querySelector("input[name=paymentMethodId]").value=t[0].id;m=t[0].id,h=""+t[0].issuer.id}}t.removeError(r.errorWidgetGuid);var a=document.querySelectorAll(".mercado-payment .input");Array.prototype.forEach.call(a,function(e){e.addEventListener("focus",function(){e.classList.add("focused")}),e.addEventListener("blur",function(){e.classList.remove("focused")}),e.addEventListener("keyup",function(){0===e.value.length?e.classList.add("empty"):e.classList.remove("empty")})}),f=new MercadoPago(EV.PM.mercadoKey),f.getIdentificationTypes().then(function(t){var n=document.getElementById("docType");e(n,t)});var o={};r.inputFontSize&&(o.fontSize=r.inputFontSize),r.inputPadding&&(o.padding=r.inputPadding),r.inputFontFamily&&
9(o.fontFamily=r.inputFontFamily);var s=f.fields.create("cardNumber",{placeholder:r.placeholderCardNumVal,style:o}).mount("cardNumber");f.fields.create("expirationDate",{placeholder:r.placeholderExpDateVal,style:o}).mount("expirationDate"),f.fields.create("securityCode",{placeholder:r.placeholderSecurityCodeVal,style:o}).mount("securityCode");s.on("binChange",n)}r.loggedIn=EV.util.Storage.cookie.get("ev_ss"),r.widgetGuid=o.id||u(),r.errorWidgetGuid="error-"+r.widgetGuid,r.widgetTitle=o.title||"PAYMENT DETAILS",a.attr("title",""),r.showHeader="false"!==o.showHeader,r.showErrorMsgs="false"!==o.showErrorMsgs,r.inputFontSize=o.inputFontSize,r.inputPadding=o.inputPadding,r.inputFontFamily=o.inputFontFamily;var f,m,h;p(),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-mercado"});var v="ev.widgets.mercado.placeholder.cardNumber";i(v).then(function(e){r.placeholderCardNumVal=e})["catch"](function(e){r.placeholderCardNumVal="Card Number"});var E="ev.widgets.mercado.placeholder.securityCode";i(E).then(function(e){r.placeholderSecurityCodeVal=e})["catch"](function(e){r.placeholderCardNumVal="Security Code"});var b="ev.widgets.mercado.placeholder.cardExpirationDate";i(b).then(function(e){r.placeholderExpDateVal=e})["catch"](function(e){r.placeholderExpDateVal="MM/YY"}),r.submit=function(n,a){function o(e){if(Array.isArray(e)){var t="",n=e.reduce(function(e,t){var n=t.cause,i=t.field,r=t.message,a={cardNumber:"card_number",expirationDate:"expiration_date",expirationMonth:"expiration_month",expirationYear:"expiration_year",securityCode:"security_code"},o=a[i]||i,s=n+"_"+o;return"invalid_type_expiration_date"===s&&(s+=r.includes("expirationMonth")?"_month":"_year"),e[s]=r,e},{}),r=Object.entries(n).map(function(e){var t=J(e,2),n=t[0],r=t[1],a="ev.widgets.mercado.form_error."+n;return i(a).then(function(e){return console.log("Translated message for cause '"+a+"':",e),e})["catch"](function(e){return console.error("Failed to translate cause '"+a+"':",e),r})});return Promise.all(r).then(function(e){return t=e.map(function(e){return e?e+"<br>":""}).join("")})}}if(r.showError=!1,r.mercadoErrorMessage="",r.submitting=!0,t.removeError(r.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!r.loggedIn){var s=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,s),t.handleError(r.errorWidgetGuid,s),void(a&&a("payment"))}if(r.mercadoErrorMessage)return void(a&&a("payment"));var u=document.querySelector("#pay"),p=u.elements.cardholderName.value,g=u.elements.docNumber.value,v=u.elements.docType.value;return d(g)||"Otro"!=v?("Otro"!==v||c(g,8))&&("Otro"===v||c(g,8))?void f.fields.createCardToken({cardholderName:p,identificationType:v,identificationNumber:g}).then(function(i){var o=document.querySelector("#pay"),s=document.createElement("input");s.setAttribute("name","token"),s.setAttribute("type","hidden"),s.setAttribute("value",i.id),o.appendChild(s);var l=e.getBasket(),c={token:{response:i,paymentMethodId:m,issuerId:h}};if(l&&l.id)return e.processPayment(c,l.id).then(function(t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,t),r.success=!0,e.removeBasket(l),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e),a&&a("payment")})["finally"](function(){return r.submitting=!1});var d=void 0;d=l?EV.util.error("undefined_order_id","Error",400):EV.util.error("no_products_selected","No products selected",400),EV.Event.publish(EV.Event.PM_ERROR,d),t.handleError(r.errorWidgetGuid,d),r.$apply(function(){return r.submitting=!1}),a&&a("payment")},function(e){o(e).then(function(e){console.log(e);var n=EV.util.error("mercado_card_form_error","Card form error",500,[e]);EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(r.errorWidgetGuid,n),r.$apply(function(){return r.submitting=!1}),a&&a("payment")})})["catch"](function(e){console.error("Catched Mercado Error while creating Card Token",e);var n=void 0;if(Array.isArray(e))for(var i=0;i<e.length;i++)e[i].message&&(n+=e[i].message+"<br>");else n=e;var o=EV.util.error("mercado_card_form_error","Card form error",500,[n]);EV.Event.publish(EV.Event.PM_ERROR,o),t.handleError(r.errorWidgetGuid,o),r.$apply(function(){return r.submitting=!1}),a&&a("payment")}):(r.showError=!0,l({code:"docNumberLength"}),r.submitting=!1,EV.Event.publish(EV.Event.PM_ERROR,"invalid parameters"),void(a&&a("payment"))):(r.showError=!0,l({code:"docNumberAlphaNum"}),r.submitting=!1,EV.Event.publish(EV.Event.PM_ERROR,"invalid parameters"),void(a&&a("payment")))}}
9,EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){r.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){r.loggedIn=!1}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"MERCADO"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_MERCADO_PAYMENT,e)}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var i=e.getBasket();i&&i.paymentType&&"CARD"===i.paymentType&&r.submit(n.successCb,n.errorCb)}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(r.errorWidgetGuid)})}}}])}function w(){"use strict";var e=angular.module("ev-widget.pm.paycomet",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evPaycomet",["pm2Util","EVExceptionHandler","EVENTS","$translate","$location","$q","$sce",function(e,t,n,i,r,a,o){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-paycomet.tpl.html",link:function(r,a,s){function l(){var e=document.getElementsByClassName("card-ui-component-validation-error");return!(e.length>0)}function c(e,t){i("ev.widgets.expressPago.invalidForm").then(function(e){r.errorCb&&r.errorCb(e)})}function d(){return"ev-widget.pm.expressPago-"+EV.util.random_guid()}function u(){document.getElementById("paymentSelector").style.display="none"}function p(){console.log("creating");var t=e.getBasket();console.log("basket now???",t)}function g(){return!r.session&&EV.util.getEVSession()&&(r.session=EV.util.getEVSession()),r.session}console.log("IS PAYCOMET HERE??"),r.loggedIn=EV.util.Storage.cookie.get("ev_ss"),r.submitting=!1,r.widgetGuid=s.id||d(),r.errorWidgetGuid="error-"+r.widgetGuid,r.widgetTitle=s.title||"PAYMENT DETAILS",a.attr("title",""),r.showHeader="false"!==s.showHeader,r.showErrorMsgs="false"!==s.showErrorMsgs,r.paymentTypes=s.paymentTypes?s.paymentTypes.split(","):["CARD"],r.defaultPayment=s.defaultPayment||"CARD",r.isSubscription="false"!==s.subscription,r.enableExistingCards="true"===s.enableExistingCards,r.displayOnlyDefaultCard="true"===s.displayOnlyDefaultCard,r.enableGoogleApplePay="true"===s.enableGoogleApplePay,r.paymentTypeOrderCreated=!1,r.successCb=null,r.errorCb=null,r.order=null,r.jetToken=null,r.iframeUrl=o.trustAsResourceUrl("https://api.paycomet.com/gateway/restgateway/Vystb3k6aUlAPEIrZyEhKiR7Li9UMC4xcmg3P19hXkRtXlE2PiYqQjccmYp/en");var f=["CARD","IDEAL","PAYMENT_GATEWAY"];r.errors=[],r.challengeUrl=null,p(),r.submitPayment=function(){var t={jetToken:r.jetToken};e.createSubscription(r.order.id,t).then(function(e){e.data||console.error("res.data is null");var t=e.data.externalData;console.log("externalData",t),console.log("externalData challengeUrl",t.challengeUrl);var n=t.challengeUrl;console.log("challengeUrl",n),r.challengeUrl=o.trustAsResourceUrl(n)})},r.submitCardForm=function(){console.log("submitting...!!!!...")},r.isUserLoggedIn=function(){return g()},EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-express-pago"}),u(),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){console.log("EV.Event.PM_CREATE_ORDER_SUCCESS",e),r.order=e}),EV.Event.on(EV.Event.PM_PAYMENT_TYPE_CHANGED,function(e){if(e){var t=e.name||e;f.includes(t)&&(r.defaultPayment=t)}}),EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){r.isSubscription=e.isSubscription}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){console.log("LOGIN_SUCCESS pago event"),r.loggedIn=!0}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){console.log("login action pago event"),r.loggedIn=!1}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(r.errorWidgetGuid)}),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){r.order=e,console.log("paycomet: create order success",e)}),r.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(n,i){ 10e.getBasket();return r.successCb=i.successCb,r.errorCb=i.errorCb,t.removeError(r.errorWidgetGuid),l()?void r.submitPayment():void c(r.errorCb,"Invalid form")})}}}])}function S(){"use strict";var e=angular.module("ev-widget.pm.productProfile",[]);e.directive("evProductProfile",["pm2Util","EVExceptionHandler","EVENTS","$translate","$window","$timeout","$http","$uibModal",function(e,t,n,i,r,a,o,s){return{restrict:"E",scope:{socialNetworks:"=socialNetworks",getInvoiceMandatoryAttributes:"&"},templateUrl:"pm-v2/ev-product-profile.tpl.html",controller:["$scope",function(e){e.inputBeneficiary=""}],link:function(o,s,l,c){function d(){var e=(o.config.selectedBillingAddress.name,q(o.profileGroups,o.loggedIn)),t=e.filter(function(e){return null!==e.value}).map(function(e){return{name:e.name,value:e.value}});if(o.mandatoryAttributes){for(var n=0,i=!1,r=0;r<Object.keys(o.mandatoryAttributes).length;r++){var a=Object.keys(o.mandatoryAttributes)[r];if(a.includes("*"))for(var s=0;s<t.length;s++){var l=t[s].name,c=t[s].value,d=a.split("*")[0],u=a.split("*")[1];l.startsWith(d)&&l.endsWith(u)&&c&&(n+=1)}else for(var p=0;p<t.length;p++){var g=t[p].name,f=t[p].value;g==a&&f&&(n+=1)}}Object.keys(o.mandatoryAttributes).length===n&&(i=!0,o.passMandatoryCheck=!0),i||(o.passMandatoryCheck=!1)}}function u(e){e.forEach(function(e){o.referenceDataMap[e.dataName]=e})}
10function p(e){e.forEach(function(e){e.attributes.forEach(function(e){o.referenceDataAttributeMap[e]=[]})}),e.forEach(function(e){e.attributes.forEach(function(t){o.referenceDataAttributeMap[t].push(e)})})}function g(e){if(EV.WM.referenceData){var t=!(null==o.config.selectedBillingAddress||!o.config.selectedBillingAddress.attributes)&&o.config.selectedBillingAddress.attributes.filter(function(t){return t.name===e.name}).length>0,n=!(null==o.config.selectedDeliveryAddress||!o.config.selectedDeliveryAddress.attributes)&&o.config.selectedDeliveryAddress.attributes.filter(function(t){return t.name===e.name}).length>0,i=EV.WM.referenceData.filter(function(t){if(t.attributes.includes(e.name))return t}),r=(i.map(function(e){return e.data.values}),[]);t?r=o.config.selectedBillingAddress.attributes.find(function(t){return t.name===e.name}):n&&(r=o.config.selectedDeliveryAddress.attributes.find(function(t){return t.name===e.name}));var a=!0;r.options&&r.options.forEach(function(i){if(i.value===e.value&&i&&i.linkedReferenceData){a=!1;var r=EV.WM.referenceData.find(function(e){return e.dataName===i.linkedReferenceData.name});r&&(t?o.config.selectedBillingAddress.attributes=o.config.selectedBillingAddress.attributes.map(function(e){return r.attributes.forEach(function(t){e.name===t&&(e.options=r.data.values)}),e}):n&&(o.config.selectedDeliveryAddress.attributes=o.config.selectedDeliveryAddress.attributes.map(function(e){return r.attributes.forEach(function(t){e.name===t&&(e.options=r.data.values)}),e})))}})}}function f(e){e.isChecked?e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!0)}):e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!1)});var t=e.options.filter(function(e){return e.isChecked});return t}function m(e){return e.data.values=e.data.values.map(function(e){return e.caption||(e.caption=e.name,delete e.name),e}),e}function h(e,t,n,i){var r=this,a=angular.copy(EV.WM.referenceData),o=angular.copy(e);e.attributes=e.attributes.filter(function(e){return t.some(function(t){return t.linkedReferenceData.attributes.includes(e.name)})}),e.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&(n.options=[],t.forEach(function(e){a.forEach(function(t){e.linkedReferenceData.attributes.includes(n.name)&&e.linkedReferenceData.name===t.dataName&&t.data.values.forEach(function(e){return n.options.push(e)})})})),n})}),o.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&0==t.length&&(n.options=[],angular.copy(EV.WM.referenceData).forEach(function(t){var i=angular.copy(t);0==i.linkedFromList.length&&i.attributes.includes(e.name)&&(i=r.replaceNameWithCaption(i),i.data.values.forEach(function(e){return n.options.push(e)}))})),n})})}function v(e,t){var n=o.config.selectedBillingAddress.attributes.find(function(e){return e.name===t});if(n){var i=o.config.selectedBillingAddress.attributes.findIndex(function(e){return e.name===n.name}),r=m(e);o.config.selectedBillingAddress.attributes[i].options=r.data.values}if(o.config.requiresDelivery){var a=o.config.selectedDeliveryAddress.attributes.find(function(e){return e.name===t});if(a){var s=o.config.selectedDeliveryAddress.attributes.findIndex(function(e){return e.name===a.name}),l=m(e);o.config.selectedDeliveryAddress.attributes[s].options=l.data.values}}}function E(){var e=angular.copy(EV.WM.referenceData),t={};return o.config.selectedBillingAddress.attributes.forEach(function(n){e.forEach(function(e){e.attributes.includes(n.name)&&!t[n.name]&&(t[n.name]=n)})}),t}function b(t){var n=angular.copy(o.referenceDataAttributeMap);if(window.EV.WM.filteredOptions){var i=e.getBasket();i&&i.billingAddressGroup?n[i.billingAddressGroup+"_country"][0].data.values=window.EV.WM.filteredOptions:o.billingAddressGroup&&(n[o.billingAddressGroup+"_country"][0].data.values=window.EV.WM.filteredOptions)}y(t,n)}function y(e,t){Object.keys(t).forEach(function(e){o.config.selectedBillingAddress.attributes.forEach(function(n){if(n.name===e){var i=t[e].find(function(e){return 0==e.linkedFromList.length});i&&(i=m(i),n.options=i.data.values)}})})}function w(){if(!o.addressFilter){if(o.loggedIn&&"two"==o.addressLayout&&o.populatedAddresses){if(o.populatedAddresses.length>0&&o.config.requiresBilling&&null===o.config.selectedBillingAddress){var t=e.getBasket();t.billingAddressGroup?angular.forEach(o.populatedAddresses,function(e){t.billingAddressGroup===e.name&&(o.config.selectedBillingAddress=e)}):o.populatedAddresses[1]?(o.config.selectedBillingAddress=o.populatedAddresses[1],o.changeSelectedBillingAddress(o.populatedAddresses.indexOf(o.populatedAddresses[1]))):(o.config.selectedBillingAddress=o.populatedAddresses[0],o.changeSelectedBillingAddress(o.populatedAddresses.indexOf(o.populatedAddresses[0])))}if(0==o.populatedAddresses.length&&o.config.requiresBilling&&!o.config.selectedBillingAddress&&o.newAddress("billing"),o.populatedAddresses.length>0&&o.config.requiresDelivery&&null===o.config.selectedDeliveryAddress){var n=e.getBasket();n.deliveryAddressGroup?angular.forEach(o.populatedAddresses,function(e){n.deliveryAddressGroup===e.name&&(o.config.selectedDeliveryAddress=e)}):o.populatedAddresses[1]?(o.config.selectedDeliveryAddress=o.populatedAddresses[1],o.changeSelectedDeliveryAddress(o.populatedAddresses.indexOf(o.populatedAddresses[1]))):(o.config.selectedDeliveryAddress=o.populatedAddresses[0],o.changeSelectedDeliveryAddress(o.populatedAddresses.indexOf(o.populatedAddresses[0])))}0==o.populatedAddresses.length&&o.config.requiresDelivery&&!o.config.selectedDeliveryAddress&&o.newAddress("delivery")}var i=e.getBasket();o.config.selectedDeliveryAddress&&(i.deliveryAddressGroup=o.config.selectedDeliveryAddress.name),o.config.selectedBillingAddress&&o.config.requiresBilling&&(i.billingAddressGroup=o.config.selectedBillingAddress.name),e.saveBasket(i)}}function S(){if(o.addressFilter){var t=Object.keys(o.addressFilter),n=Object.values(o.addressFilter);o.populatedAddressesCopy||(o.populatedAddressesCopy=angular.copy(o.populatedAddresses)),o.populatedAddresses=o.populatedAddressesCopy;var i=[];o.populatedAddresses&&o.populatedAddresses.length>
100&&o.config.requiresBilling&&(o.populatedAddresses.forEach(function(e){t.forEach(function(t){if(t.includes("*")){t=t.replace("*",e.name.slice(-1));var r=e.attributes.find(function(e){return e.name===t});n.forEach(function(t){if(r&&t.includes(r.value)){if(o.loggedIn&&"two"===o.addressLayout)return void(o.config.selectedBillingAddress=e);if(o.loggedIn&&"one"===o.addressLayout){var n=o.populatedAddresses.find(function(t){return t.name===e.name});i.push(n)}}})}})}),o.loggedIn&&"one"===o.addressLayout&&i.length>0&&(o.populatedAddresses=i,O()),o.config.selectedBillingAddress||o.newAddress("billing")),!o.config.selectedBillingAddress&&o.populatedAddresses&&0==o.populatedAddresses.length&&o.config.requiresBilling&&o.newAddress("billing"),o.populatedAddresses&&o.populatedAddresses.length>0&&o.config.requiresDelivery&&(o.populatedAddresses.forEach(function(e){t.forEach(function(t){if(t.includes("*")){t=t.replace("*",e.name.slice(-1));var r=e.attributes.find(function(e){return e.name===t});n.forEach(function(t){if(r&&t.includes(r.value)){if(o.loggedIn&&"two"===o.addressLayout)return void(o.config.selectedDeliveryAddress=e);if(o.loggedIn&&"one"===o.addressLayout){var n=o.populatedAddresses.find(function(t){return t.name===e.name});i.push(n)}}})}})}),o.loggedIn&&"one"===o.addressLayout&&i.length>0&&(o.populatedAddresses=i,O()),o.config.selectedDeliveryAddress||o.newAddress("delivery")),!o.config.selectedDeliveryAddress&&o.populatedAddresses&&0==o.populatedAddresses.length&&o.config.requiresDelivery&&o.newAddress("delivery");var r=e.getBasket();o.config.selectedDeliveryAddress&&(r.deliveryAddressGroup=o.config.selectedDeliveryAddress.name),o.config.selectedBillingAddress&&o.config.requiresBilling&&(r.billingAddressGroup=o.config.selectedBillingAddress.name),e.saveBasket(r)}}function C(e){o.existingAddressNonEditable!==!1?e.attributes.forEach(function(e){e.disabled=!0}):o.existingAddressNonEditable===!1&&e.attributes.forEach(function(e){e.disabled=!1})}function d(){o.passMandatoryCheck=!0;var e=q(o.profileGroups,o.loggedIn),t=e.filter(function(e){return null!==e.value}).map(function(e){return{name:e.name,value:e.value}});if(o.mandatoryAttributes){for(var n=0,i=!1,r=0;r<Object.keys(o.mandatoryAttributes).length;r++){var a=Object.keys(o.mandatoryAttributes)[r];if(a.includes("*"))for(var s=0;s<t.length;s++){var l=t[s].name,c=t[s].value,d=a.split("*")[0],u=a.split("*")[1];l.startsWith(d)&&l.endsWith(u)&&c&&(n+=1)}else for(var p=0;p<t.length;p++){var g=t[p].name,f=t[p].value;g==a&&f&&(n+=1)}}Object.keys(o.mandatoryAttributes).length===n&&(i=!0),i||(o.passMandatoryCheck=!1)}}function P(){if(!o.verifyTaxCode)return Promise.resolve({verifyTaxCode:!1});var t=EV.util.getEVSession(),n=angular.copy(o.config.selectedBillingAddress),i={data:{billingAddressGroup:null==n?null:n.name,guid:t?t.guid:null}};return e.verifyTaxCode(i).then(function(e){o.taxIdValidationResult=!1;var t=e.data.result.toUpperCase(),n=e.data,i=(n.country,n.provider),r=n.formatCheckPassed;return r="true"===r,t.startsWith("VALID")||t.startsWith("INFO_")?(o.taxIdValidationResult=!0,o.taxValidationResponse=e.data,Promise.resolve({isTaxIdValid:o.taxIdValidationResult,provider:i,formatCheckPassed:r})):Promise.resolve({isTaxIdValid:o.taxIdValidationResult,provider:i,formatCheckPassed:r})})["catch"](function(e){throw e})}function _(n,r){console.log("ev-product-profile:handleFormSubmission()"),t.removeError(o.errorWidgetGuid),o.config.deliveryAddressGroup=(o.config.selectedDeliveryAddress||{}).name,o.config.billingAddressGroup=(o.config.selectedBillingAddress||{}).name,o.config.useDeliveryAddress?o.config.billingAddressGroup=o.config.deliveryAddressGroup:o.config.useBillingAddress&&(o.config.deliveryAddressGroup=o.config.billingAddressGroup);var a=null;if(o.config.requiresDelivery){var s=o.config.useBillingAddress?o.config.selectedBillingAddress:o.config.selectedDeliveryAddress;if(o.config.billingAddressGroup===o.config.deliveryAddressGroup&&o.config.showInvoiceCheckStatus&&o.isInvoiceRequired&&(s=o.config.selectedBillingAddress,o.config.selectedDeliveryAddress=o.config.selectedBillingAddress),s){var l=s.attributes.find(function(e){return e.name.endsWith(o.addressAttributesSuffix)});
10if(l)if(o.deliveryCountry)o.deliveryCountry.name!=l.value&&(a=EV.WM&&EV.WM.useWmReferenceData?EV.util.error("invalid_delivery_country","Invalid delivery country",400):EV.util.error("invalid_deliveryCountry","Invalid delivery country",400));else{var c=e.getExtraProperties()||{};if(c.deliveryCountry=l.value||null,c.regions){var d,u=!0,p=!1,g=void 0;try{for(var f,m=c.regions[Symbol.iterator]();!(u=(f=m.next()).done);u=!0){var h=f.value,v=h.countries.find(function(e){return EV.WM&&EV.WM.useWmReferenceData?e.id==l.value:e.id==l.value});if(v){d=h;break}}}catch(E){p=!0,g=E}finally{try{!u&&m["return"]&&m["return"]()}finally{if(p)throw g}}}d?(c.region=d,e.saveExtraProperties(c)):a=EV.WM&&EV.WM.useWmReferenceData?EV.util.error("invalid_delivery_country","Invalid delivery country",400):EV.util.error("invalid_deliveryCountry","Invalid delivery country",400)}}}if(x()&&!a){console.log("evProductProfile:form is valid and no error"),j(),Y();var b=q(o.profileGroups,o.loggedIn);o.submitting=!0;var y=b.filter(function(e){return null!==e.value}).map(function(e){return{name:e.name,value:e.value}}),w=o.selectedProducts[0].serviceName;e.saveProfile(T(y),w).then(function(e){return Promise.all([e,P()])}).then(function(t){var i=J(t,2),a=i[0],s=i[1];if(o.verifyTaxCode&&!s.formatCheckPassed)return r("INVALID_TAX_ID_FORMAT"),void A();if(o.verifyTaxCode&&"AEAT"===s.provider&&!s.isTaxIdValid)return r("INVALID_TAX_ID"),void A();if(j(),a&&!EV.PM.skipLogin){var l=o.profileGroups.authDetails.attributes,c=y.find(function(e){return e.name==l[0].name}),d=y.find(function(e){return e.name==l[1].name}),u=EV.PM.realmName?EV.PM.realmName:"default_realm";e.login(c,d,w,o.authSchemeName,u).then(function(){console.log("publish EV.Event.PM_REDIRECT_ORDER_SUMMARY 1"),EV.Event.publish(EV.Event.PM_REDIRECT_ORDER_SUMMARY,o.selectedProducts),n&&n()})}else console.log("publish EV.Event.PM_REDIRECT_ORDER_SUMMARY 2"),EV.Event.publish(EV.Event.PM_REDIRECT_ORDER_SUMMARY,o.selectedProducts),n&&n()})["catch"](function(e){e.error.code&&"ATTRIBUTE_VALIDATION_FAILED"===e.error.code&&H(e),t.handleError(o.errorWidgetGuid,e),EV.Event.publish(EV.Event.PM_ERROR,{code:"INVALID_FORM",attributes:b}),console.log("Publish Product profile error"),G(),r&&i("ev.widgets.errors.invalid_profile").then(function(e){r(e)})})["finally"](function(){return o.submitting=!1})}else console.log("Form is invalid"),o.submitting=!1,a=a||EV.util.error("INVALID_FORM","Invalid profile",400),t.handleError(o.errorWidgetGuid,a),EV.Event.publish(EV.Event.PM_ERROR,{code:a.error.code,attributes:b}),G(),o.showMandatory=!0,r&&i("ev.widgets.errors.invalid_profile").then(function(e){r(e)});var S=/[_a-zA-Z0-9-']+([\+\.][_a-zA-Z0-9-']+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,20}))/;if(S.test(String(o.inputBeneficiary).toLowerCase())){var c=e.getExtraProperties()||{};c.beneficiary=o.inputBeneficiary||null,o.inputBeneficiaryMessage&&(c.beneficiaryMessage=o.inputBeneficiaryMessage),e.saveExtraProperties(c)}}function A(){var n="ev.widgets.taxChecker.error.invalid_tax_id";i(n).then(function(e){var i={};i.code=n,i.message=e,i.statusCode=400,t.handleError(o.errorWidgetGuid,i)});var r=e.getBasket(),a="billing-address-address1_taxid";r&&r.billingAddressGroup&&(a="billing-address-"+r.billingAddressGroup+"_taxid"),document.getElementById(a).scrollIntoView({behavior:"smooth",block:"end"}),document.getElementById(a).focus()}function T(e){if(!EV.PM.validateGroup)return e;var t=o.config.billingAddressGroup,n=o.config.deliveryAddressGroup,i=[];for(var r in o.profileGroups){var a=o.profileGroups[r];if(Array.isArray(a))for(var s=0;s<a.length;s++){var l=a[s];if("address"!==l.category||l.name===t||l.name===n){var c=null===l.name||"undefined"==typeof l.name?"":l.name;i.push({groupName:c,categoryName:l.category})}}else if("object"===("undefined"==typeof a?"undefined":K(a))){var d=null===a.name||"undefined"==typeof a.name?"":a.name;i.push({groupName:d,categoryName:a.category})}}return{attributes:e,attributeGroupList:i}}function k(){e.isPropertyEnabled(re).then(function(e){o.verifyTaxCode=e.data.isEnabled})}function V(){return"ev-widget.pm.productProfile-"+EV.util.random_guid()}function I(){function t(){if(null!=o.hiddenAttributes){var e=JSON.parse(l.hiddenAttributes.replace(/'/g,'"'));for(var t in e){var i=n(t);i&&(e[t]=i)}o.hiddenAttributes=JSON.stringify(e)}}function n(e){var t=new URLSearchParams(r.location.search);return t.has(e)?t.get(e):null}var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(e.getBasket()||{}).products;if(o.hiddenAttributes=l.hiddenAttributes,t(),o.isLoading=!0,i||(o.profileGroups=null,o.isLoading=!1),o.selectedProducts=i,o.selectedProducts&&o.selectedProducts.length>0){var s=e.getExtraProperties();
10o.deliveryCountry=null,s&&s.deliveryCountry&&(o.deliveryCountry=s.deliveryCountry),o.config.requiresDelivery=i[0].requiresDeliveryAddress,o.config.requiresBilling=i[0].requiresBillingAddress,e.getProfileGroups(i[0].serviceName).then(function(e){if(window.excludePasswordAttribute=null,e&&e.authDetails&&Array.isArray(e.authDetails.attributes)){for(var t=[],n=0;n<e.authDetails.attributes.length;n++){var i=e.authDetails.attributes[n];"password"!==i.type&&t.push(i)}window.excludePasswordAttribute=t}o.profileGroups=e,L(),e.authDetails.attributes[1]&&"NO_VALIDATOR"===e.authDetails.attributes[1].value&&(o.showAuthDetails=!0,e.authDetails.attributes[1].value=null),Q(),D(),$(),o.showInvoiceOption||o.isInvoiceRequired?X():Z(),O(),N()})["finally"](function(){o.isLoading=!1,a(function(){EV.Event.publish(EV.Event.PM_PRODUCT_PROFILE_LOADED)},0)})}}function L(){for(var e=0;e<o.attrForInfoMsg.length;e++)for(var t=0;t<o.profileGroups.personalDetails.attributes.length;t++)if(o.profileGroups.personalDetails.attributes[t].name===o.attrForInfoMsg[e]){o.profileGroups.personalDetails.attributes[t].isWithInfoMsg=!0;break}}function O(){o.addressAttributes={};for(var e={},t=o.profileGroups.addresses,n=0;n<t.length;n++){for(var i=[],r=t[n].displayName,a=0;a<t[n].attributes.length;a++)i.push(t[n].attributes[a].value);e[r]=i.filter(Boolean).join(", ")}if(o.addressFilter&&"one"===o.addressLayout){if(document.getElementById("select_address_options"))for(var s=document.getElementById("select_address_options"),l=s.options,n=l.length;n>=1;n--)l[n]&&"undefined"===l[n].label&&l[n].remove();0==o.populatedAddresses.length&&o.newAddress("billing")}o.addressAttributes=e}function D(){var e=o.profileGroups.authDetails.attributes[1],t="ev.widgets.attr."+M(e.name)+".confirm.label",n="ev.widgets.attr."+M(e.name)+".confirm.placeholder";R([t,n]).then(function(i){var r={label:i[t]!==t?i[t]:"Confirm "+e.label,mandatory:e.mandatory,name:"confirm_"+e.name,placeholder:i[n]!==n?i[n]:e.placeholder,type:e.type,value:e.value};o.confirmValidatorAttribute=r})}function R(e){return i(e).then(function(e){return e},function(e){return null})}function N(){for(var e=0;e<o.profileGroups.otherDetails.length;e++)for(var t=0;t<o.profileGroups.otherDetails[e].attributes.length;t++)"tandc"!==o.profileGroups.otherDetails[e].category&&"marketingInfo"!==o.profileGroups.otherDetails[e].category||o.profileGroups.otherDetails[e].attributes[t].mandatory!==!0||!o.profileGroups.otherDetails[e].attributes[t].value||(o.profileGroups.otherDetails[e].attributes[t].value=null)}function $(){if(o.billingAddressGroup||o.deliveryAddressGroup){var t=e.getBasket();t||(t={}),o.config.requiresBilling&&o.billingAddressGroup&&(t.billingAddressGroup=o.billingAddressGroup),o.config.requiresDelivery&&o.deliveryAddressGroup&&(t.deliveryAddressGroup=o.deliveryAddressGroup),e.saveBasket(t)}}function M(e){return e.replace(/:/g,"").replace(/ \s*$/,"").replace(/ /g,"_").toLowerCase()}function x(){return U(),F()}function F(){function e(e){return e&&e.attributes.every(function(e){return!e.mandatory||e.value})}function t(e){return(""===e.attributes[1].value||""!==o.confirmValidatorAttribute.value)&&e.attributes[1].value===o.confirmValidatorAttribute.value}var n=o.profileGroups,i=o.config.requiresBilling,r=o.config.requiresDelivery,a=o.config.selectedBillingAddress,s=o.config.selectedDeliveryAddress,l=o.config.useDeliveryAddress,c=o.config.useBillingAddress;o.confirmValidatorAttribute.invalid=!o.loggedIn&&!t(n.authDetails);var u=!r||c||e(s),p=!i||l||e(a);!i&&o.invoiceIndependentFromRequiresBilling&&a&&(p=l||e(a));var g=o.loggedIn||e(n.authDetails)&&!o.confirmValidatorAttribute.invalid,f=e(n.personalDetails),m=n.otherDetails.every(function(t){return e(t)});return o.showInvoiceOption&&o.populatedAddresses&&0===o.populatedAddresses.length&&!o.config.showInvoiceCheckStatus&&(r&&(u=!0),i&&(p=!0),!i&&o.invoiceIndependentFromRequiresBilling&&(p=!0)),(o.showInvoiceOption&&o.populatedAddresses&&o.populatedAddresses.length>0||!o.showInvoiceOption)&&(d(),o.passMandatoryCheck||B("Mandatory check not passed")),r&&!u&&B("delivery_address_required"),i&&!p&&B("billing_address_required"),i||!o.invoiceIndependentFromRequiresBilling||p||B("billing_address_required"),o.loggedIn||!n||e(n.authDetail
10s)?o.loggedIn||!n||o.loggedIn||t(n.authDetails)||B("validator_invalid",o.profileGroups.authDetails.attributes[1]):B("authentication_values_required",n.authDetails.attributes),n.personalDetails&&!f&&B("personal_details_required",n.personalDetails.attributes),o.loggedIn||!n.otherDetails||m?o.loggedIn&&n.otherDetails&&!m&&B("attributes_required",n.otherDetails[0].attributes):B("attributes_required",n.otherDetails.attributes),u&&p&&g&&f&&m&&o.passMandatoryCheck}function B(e,t){var n="ev.widgets.errors."+e,i="";if(t&&t.length>0)for(var r=0;r<t.length;r++)0===r&&t[r].mandatory?i+=t[r].label:r>0&&t[r].mandatory&&0===i.length?i+=t[r].label:r>0&&t[r].mandatory&&i.length>0&&(i+=", "+t[r].label);else t&&(i+=t.label);o.formErrors.push({key:n,attributeList:i})}function G(){var e=new RegExp("\\{0\\}","gi");o.formErrors.forEach(function(t){i(t.key).then(function(n){n=n.replace(e,t.attributeList),o.translatedErrors.push(n),EV.Event.publish("product_profile_error",{error:n,showErrors:!0,widgetId:o.errorWidgetGuid})})})}function U(){o.formErrors=[],o.translatedErrors=[],EV.Event.publish("product_profile_error",{showErrors:!1})}function H(e){for(var t=0;t<e.error.args.length;t++)e.error.args[0]=W(e.error.args[t])}function W(e){var t;return o.profileGroups.authDetails.attributes.forEach(function(n){if(n.name===e)return void(t=n.label)}),o.profileGroups.personalDetails.attributes.forEach(function(n){if(n.name===e)return void(t=n.label)}),o.profileGroups.addresses.forEach(function(n){n.attributes.forEach(function(n){if(n.name===e)return void(t=n.label)})}),o.profileGroups.otherDetails.attributes.forEach(function(n){if(n.name===e)return void(t=n.label)}),t}function q(e,t){function n(e){return o.config.deliveryAddressGroup==e.name||o.config.billingAddressGroup==e.name}function i(e){return"address"==e.category}function r(e){return"authDetails"==e.category}return Object.keys(e).reduce(function(t,a){function o(e,t){return(r(e)||i(e)&&!n(e))&&!r(e)||(t=t.concat(e.attributes)),t}var s=e[a];return Array.isArray(s)?s.forEach(function(e){return t=o(e,t)}):t=o(s,t),t},[])}function j(){var t=e.getBasket();t&&(t.deliveryAddressGroup=o.config.deliveryAddressGroup,(o.config.requiresBilling||o.config.showInvoiceCheckStatus)&&(t.billingAddressGroup=o.config.billingAddressGroup),t.showInvoiceCheckStatus=o.config.showInvoiceCheckStatus,e.saveBasket(t))}function Y(){if(o.config.selectedDeliveryAddress||o.config.selectedBillingAddress){if(o.config.selectedDeliveryAddress){var e=o.profileGroups.addresses.findIndex(function(e){return e.name===o.config.selectedDeliveryAddress.name});o.profileGroups.addresses[e]=o.config.selectedDeliveryAddress}if(o.config.selectedBillingAddress){var t=o.profileGroups.addresses.findIndex(function(e){return e.name===o.config.selectedBillingAddress.name});o.profileGroups.addresses[t]=o.config.selectedBillingAddress}}}function z(e){o.populatedAddresses=e.addresses.filter(function(e){return e.attributes.some(function(e){return e.value})}),o.nonPopulatedAddresses=e.addresses.filter(function(e){return!e.attributes.some(function(e){return e.value})})}function Z(){function t(){if(!o.config.selectedDeliveryAddress||!o.config.selectedBillingAddress){var t=e.getBasket();o.profileGroups.addresses&&o.config.requiresBilling&&!o.config.selectedBillingAddress&&t.billingAddressGroup&&angular.forEach(o.profileGroups.addresses,function(e){t.billingAddressGroup===e.name&&(o.config.selectedBillingAddress=e)}),o.profileGroups.addresses&&o.config.requiresDelivery&&!o.config.selectedDeliveryAddress&&t.deliveryAddressGroup&&angular.forEach(o.profileGroups.addresses,function(e){t.deliveryAddressGroup===e.name&&(o.config.selectedDeliveryAddress=e)})}var i=o.config.selectedDeliveryAddress,r=o.config.selectedBillingAddress,a=o.populatedAddresses;i&&n(i)?(o.config.selectedDeliveryAddress=a.find(function(e){return e.name==i.name}),C(o.config.selectedDeliveryAddress)):o.config.selectedDeliveryAddress=null,r&&n(r)?(o.config.selectedBillingAddress=a.find(function(e){return e.name==r.name}),C(o.config.selectedBillingAddress)):o.config.selectedBillingAddress=null}function n(e){return e.attributes.some(function(e){return e.value})}var i=e.getExtraProperties();if(i||(i={}),o.loggedIn)z(o.profileGroups),t();else{var r=o.config.requiresDelivery||o.showDelivery,a=o.config.requiresBilling||o.showBilling;r&&a?(o.config.selectedDeliveryAddress=o.profileGroups.addresses[0],o.config.selectedBillingAddress=o.profileGroups.addresses[1],o.config.selectedDeliveryAddress&&(i.deliveryGroup={groupName:o.config.selectedDeliveryAddress.name,attributes:o.config.selectedDeliveryAddress.attributes}),o.config.selectedBillingAddress&&(i.billingGroup={groupName:o.config.selectedBillingAddress.name,attributes:o.config.selectedBillingAddress.attributes}),e.saveExtraProperties(i)):r?(o.config.selectedDeliveryAddress=o.profileGroups.addresses[0],o.config.selectedDeliveryAddress&&(i.deliveryGroup={groupName:o.config.selectedDeliveryAddress.name,attributes:o.config.selectedDeliveryAddress.attributes},e.saveExtraProperties(i))):a&&(o.config.selectedBillingAddress=o.profileGroups.addresses[0],o.config.selectedBillingAddress&&(i.billingGroup={groupName:o.config.selectedBillingAddress.name,attributes:o.config.selectedBillingAddress.attributes},e.saveExtraProperties(i)))}}function X(){function t(){if(!o.config.selectedDeliveryAddress||!o.config.selectedBillingAddress){var t=e.getBasket();if(!t)return;o.profileGroups.addresses&&o.config.requiresBilling&&!o.config.selectedBillingAddress&&t.billingAddressGroup&&angular.forEach(o.profileGroups.addresses,function(e){t.billingAddressGroup===e.name&&(o.config.selectedBillingAddress=e)}),o.config.requiresDelivery&&!o.config.selectedDeliveryAddress&&t.deliveryAddressGroup&&angular.forEach(o.profileGroups.addresses&&o.profileGroups.addresses,function(e){t.deliveryAddressGroup===e.name&&(o.config.selectedDeliveryAddress=e)})}if((o.config.requiresBilling&&!o.config.selectedBillingAddress||o.config.requiresDelivery&&!o.config.selectedDeliveryAddress)&&o.showInvoiceOption&&!o.config.showInvoiceCheckStatus&&(o.config.requiresDelivery&&(o.config.selectedDeliveryAddress=o.profileGroups.addresses[0]),o.config.requiresBilling&&o.config.requiresDelivery?o.config.selectedBillingAddress=o.profileGroups.addresses.find(function(e){return e.name!==o.config.selectedDeliveryAddress.name}):o.config.requiresBilling&&!o.config.requiresDelivery&&(o.config.selectedBillingAddress=o.profileGroups.addresses[0])),!o.config.requiresBilling&&o.invoiceIndependentFromRequiresBilling&&o.showInvoiceOption){!o.billingAddressGroup&&o.config.selectedBillingAddress||(o.config.selectedBillingAddress=o.billingAddressGroup?o.profileGroups.addresses.find(function(e){return e.name===o.billingAddressGroup}):o.profileGroups.addresses[1]);var n=e.getBasket();n&&n.products&&(n.products[0].invoiceIndependentFromRequiresBilling=o.invoiceIndependentFromRequiresBilling,e.saveBasket(n))}var i=o.config.selectedDeliveryAddress,r=o.config.selectedBillingAddress;i?C(o.config.selectedDeliveryAddress):o.config.selectedDeliveryAddress=null,r?C(o.config.selectedBillingAddress):o.config.selectedBillingAddress=null}var n=e.getExtraProperties();if(n||(n={}),o.loggedIn)z(o.profileGroups),t(),o.invoiceFormatMatchingAttributes&&!o.config.showInvoiceCheckStatus&&o.config.selectedBillingAddress&&(te(),EV.Event.publish("invoice.required.change.attributes.mandatory",{showInvoiceCheckStatus:o.config.showInvoiceCheckStatus,showInvoiceOption:o.showInvoiceOption,invoiceFormatMatchingAttributes:o.invoiceFormatMatchingAttributes}));
10else{var i=o.config.requiresDelivery||o.showDelivery,r=o.config.requiresBilling||o.showBilling;i&&r?(o.config.selectedDeliveryAddress=o.profileGroups.addresses[0],o.config.selectedBillingAddress=o.profileGroups.addresses[1],o.config.selectedDeliveryAddress&&(n.deliveryGroup={groupName:o.config.selectedDeliveryAddress.name,attributes:o.config.selectedDeliveryAddress.attributes}),o.config.selectedBillingAddress&&(n.billingGroup={groupName:o.config.selectedBillingAddress.name,attributes:o.config.selectedBillingAddress.attributes}),e.saveExtraProperties(n)):i?(o.config.selectedDeliveryAddress=o.profileGroups.addresses[0],o.config.selectedDeliveryAddress&&(n.deliveryGroup={groupName:o.config.selectedDeliveryAddress.name,attributes:o.config.selectedDeliveryAddress.attributes},e.saveExtraProperties(n))):r&&(o.config.selectedBillingAddress=o.profileGroups.addresses[0],o.config.selectedBillingAddress&&(n.billingGroup={groupName:o.config.selectedBillingAddress.name,attributes:o.config.selectedBillingAddress.attributes},e.saveExtraProperties(n)))}}function Q(){o.loggedIn&&!o.showAuthDetails||Object.keys(o.profileGroups).forEach(function(e){if("authDetails"!==e){var t=o.profileGroups[e];t instanceof Array?t.forEach(function(t){null!=o.profileGroups[e]&&(o.profileGroups[e].attributes=ee(t.attributes||[]))}):null!=o.profileGroups[e]&&(o.profileGroups[e].attributes=ee(t&&t.attributes||[]))}})}function ee(e){var t=[];return e.forEach(function(e){o.profileGroups.authDetails.attributes.find(function(t){return t.name===e.name})||t.push(e)}),t}function te(){if(o.invoiceFormatMatchingAttributes){var e=[];for(var t in o.invoiceFormatMatchingAttributes)t.includes("*")||delete o.invoiceFormatMatchingAttributes[t],t.includes("*")&&e.push(t);for(var n=0;n<e.length;n++)for(var i=0;i<o.profileGroups.addresses.length;i++){var r=o.config.selectedBillingAddress.name.lastIndexOf("s")+1,a=o.config.selectedBillingAddress.name.slice(r,o.config.selectedBillingAddress.name.length+1),s=e[n],l=s.replace("*",a);o.invoiceFormatMatchingAttributes[l]=o.invoiceFormatMatchingAttributes[s]}}}function ne(){if(o.invoiceMandatoryAttributes){var e=[];for(var t in o.invoiceMandatoryAttributes)t.includes("*")||delete o.invoiceMandatoryAttributes[t],t.includes("*")&&e.push(t);for(var n=0;n<e.length;n++)for(var i=0;i<o.profileGroups.addresses.length;i++){var r=o.config.selectedBillingAddress.name.lastIndexOf("s")+1,a=o.config.selectedBillingAddress.name.slice(r,o.config.selectedBillingAddress.name.length+1),s=e[n],l=s.replace("*",a);o.invoiceMandatoryAttributes[l]=o.invoiceMandatoryAttributes[s]}}}o.isLoading=!0,o.isLoginRequest=!1,o.showBeneficaryAddition=!1,o.showSubmitButton=!0;var ie=e.getBasket();o.isProductSelected=ie&&ie.products,e.saveBasket(ie),o.formErrors=[],o.translatedErrors=[],o.widgetGuid=l.id||V(),o.errorWidgetGuid="error-"+o.widgetGuid,o.widgetTitle=l.title||"PROFILE DETAILS",s.attr("title",""),o.showHeader="false"!==l.showHeader,o.showErrorMsgs="false"!==l.showErrorMsgs,o.showLabels="false"!==l.showLabels,o.useBillingOption="true"===l.useBillingOption,o.showDelivery="true"===l.showDelivery,o.showBilling="true"===l.showBilling,o.sortCountry="false"!==l.sortCountry,o.includeLogin="true"===l.includeLogin,o.showSocial="true"===l.showSocial,o.socialStyle=l.socialStyle||"text",o.autoRegister=l.autoRegister,o.autoPopulate=l.autoPopulate,o.nonEditable=l.nonEditable?JSON.parse(l.nonEditable.replace(/'/g,'"')):[],o.forgotPasswordService=l.forgotPasswordService||EV.settings.getEVService(),o.showDescription="true"===l.showDescription,o.hideShowValidator="true"===l.hideShowValidator,o.attrForInfoMsg=l.attrForInfoMsg?JSON.parse(l.attrForInfoMsg.replace(/'/g,'"')):[],o.appendHoursToBDate="true"===l.appendHoursToBDate,o.addressAttributesSuffix=l.addressAttributesSuffix||"_country", 11o.addressLayout=l.addressLayout||"one",o.existingAddressNonEditable="false"!==l.existingAddressNonEditable,o.billingAddressGroup=l.billingAddressGroup,o.deliveryAddressGroup=l.deliveryAddressGroup,o.addressFilter=l.addressFilter?JSON.parse(l.addressFilter.replace(/'/g,'"')):null,o.mandatoryAttributes=l.mandatoryAttributes?JSON.parse(l.mandatoryAttributes.replace(/'/g,'"')):null,o.uncheckedCheckboxReturnFalse="true"===l.uncheckedCheckboxReturnFalse,o.showInvoiceOption="true"===l.showInvoiceOption,o.invoiceMandatoryAttributes=l.invoiceMandatoryAttributes?JSON.parse(l.invoiceMandatoryAttributes.replace(/'/g,'"')):null,o.invoiceFormatMatchingAttributes=l.invoiceFormatMatchingAttributes?JSON.parse(l.invoiceFormatMatchingAttributes.replace(/'/g,'"')):null,o.invoiceIndependentFromRequiresBilling="true"===l.invoiceIndependentFromRequiresBilling,o.firstAddressTemplate="pm-v2/product-profile-fragments/"+(o.useBillingOption?"billing":"delivery")+"-address.html",o.secondAddressTemplate="pm-v2/product-profile-fragments/"+(o.useBillingOption?"delivery":"billing")+"-address.html",o.passMandatoryCheck=!0,o.loggedIn=EV.util.Storage.cookie.get("ev_ss"),o.config={showInvoiceCheckStatus:!1},o.authSchemeName=l.authSchemeName||"default",o.skipEvValidationFields="true"===l.skipEvValidationFields,o.productSelectedName=null,o.checkboxes={},o.taxValidationResponse={},o.taxIdValidationResult=!0,o.verifyTaxCode=!1,o.countriesJson=[],o.taxProperties={},o.referenceDataMap={},o.referenceDataAttributeMap={},o.passMandatoryCheck=!0,o.allAddressesUsedStatus=null,"undefined"!=typeof l.showGoogleOneTap&&(o.showGoogleOneTap="string"==typeof l.showGoogleOneTap?"true"===l.showGoogleOneTap:l.showGoogleOneTap),o.googleBtnConf=l.googleBtnConf,o.googleGenericConf=l.googleGenericConf,o.showMandatory="true"===l.showMandatory,o.isInvoiceRequired=!1,o.referenceDataLoaded=!1;var re="tax_checker";EV.Event.on("ev.finished.initing.reference.data",function(e){console.log("setting $scope.referenceDataLoaded to true"),o.referenceDataLoaded=!0}),o.$watch("referenceDataLoaded",function(){I(),k()}),EV.WM.useWmReferenceData||(I(),k()),EV.Event.on(EV.Event.PM_REDIRECT_PRODUCT_PROFILE,function(e){o.productSelectedName&&o.productSelectedName===e[0].name||(o.isProductSelected=!0,o.productSelectedName=e[0].name,I())}),EV.Event.on(EV.Event.PROFILE_ATTRIBUTE_CHANGED,function(e){var t=e.attribute;e.field;if((!e||"text"!==e.type)&&EV.WM.referenceData){if(o.config&&o.config.selectedBillingAddress&&o.config.selectedBillingAddress.attributes&&!t&&e.value){u(angular.copy(EV.WM.referenceData)),p(angular.copy(EV.WM.referenceData));var n=E();
11Object.keys(n).forEach(function(e){var t=n[e];b(t)}),Object.keys(n).forEach(function(e){var t=o.referenceDataAttributeMap[e].map(function(t){var i=n[e].value,r=t.data.values.find(function(e){return e.value===i})?t.data.values.find(function(e){return e.value===i}).linkedReferenceData:null;return r}).filter(function(e){return e});t&&t.forEach(function(e){e?e.attributes.forEach(function(t){var n=o.referenceDataAttributeMap[t].find(function(t){return t.dataName===e.name});v(n,t)}):Object.keys(o.referenceDataAttributeMap).forEach(function(e){var t=o.referenceDataAttributeMap[e].find(function(e){return 0==e.linkedFromList.length});v(t,e)})})})}if(o.config&&o.config.selectedBillingAddress&&o.config.selectedBillingAddress.attributes&&EV.Event.publish("ev.widget.product.profile.address.config",o.config),t&&"dropdown"===t.type&&g(t),t&&"checkbox"===t.type){var i=null,r=!(null==o.config.selectedBillingAddress||!o.config.selectedBillingAddress.attributes)&&o.config.selectedBillingAddress.attributes.filter(function(e){return e.name===t.name}).length>0,a=!(null==o.config.selectedDeliveryAddress||!o.config.selectedDeliveryAddress.attributes)&&o.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===t.name}).length>0;if(r){var s=f(t),l=angular.copy(o.config.selectedBillingAddress);i=l.attributes.findIndex(function(e){return e.name===t.name}),l.attributes=l.attributes.slice(i+1),h(l,s,o,o.config.selectedBillingAddress)}else if(a){var c=f(t),d=angular.copy(o.config.selectedDeliveryAddress);i=d.attributes.findIndex(function(e){return e.name===t.name}),d.attributes=d.attributes.slice(i+1),h(d,c,o,o.config.selectedDeliveryAddress)}}}}),o.changeSelectedDeliveryAddress=function(t){var n=document.querySelector(".product-profile-form .select-address .selectedDeliveryAddressContainer select"),i=document.querySelector(".product-profile-form .select-address .selectedDeliveryAddressContainer");1==t||0==t?i.dataset.content=n.options[t+1].text:i.dataset.content=n.options[n.selectedIndex].text,C(o.config.selectedDeliveryAddress);var r=e.getExtraProperties();r.deliveryGroup=o.config.selectedDeliveryAddress,e.saveExtraProperties(r)},EV.Event.on("ev.event.hideBeneficiaries",function(){o.showBeneficaryAddition=!1}),EV.Event.on(EV.Event.PM_ORDER_TYPE_ACTION,function(t){if("GIFT"==t.orderType){var n=e.getBasket();null!=n&&n.products.length>0&&n.products[0].productType&&"PHYSICAL"!==n.products[0].productType.toUpperCase()?o.showBeneficaryAddition=!0:o.showBeneficaryAddition=!1}else o.showBeneficaryAddition=!1}),o.addressFilter||(window.EV&&window.EV.ReferenceDataBuffer?EV.Event.on(EV.Event.PM_PRODUCT_PROFILE_LOADED,function(e){w()}):EV.Event.on("ev.finished.initing.reference.data",function(e){EV.Event.on(EV.Event.PM_PRODUCT_PROFILE_LOADED,function(e){w()})})),o.addressFilter&&(window.EV&&window.EV.ReferenceDataBuffer?EV.Event.on(EV.Event.PM_PRODUCT_PROFILE_LOADED,function(e){S()}):EV.Event.on("ev.finished.initing.reference.data",function(e){EV.Event.on(EV.Event.PM_PRODUCT_PROFILE_LOADED,function(e){S()})})),o.changeSelectedBillingAddress=function(t){C(o.config.selectedBillingAddress);var n=document.querySelector(".product-profile-form .select-address .selectedBillingAddressContainer select"),i=document.querySelector(".product-profile-form .select-address .selectedBillingAddressContainer");1==t||0==t?i.dataset.content=n.options[t+1].text:i.dataset.content=n.options[n.selectedIndex].text;var r=e.getBasket();o.config.selectedDeliveryAddress&&(r.deliveryAddressGroup=o.config.selectedDeliveryAddress.name),o.config.selectedBillingAddress&&(r.billingAddressGroup=o.config.selectedBillingAddress.name),e.saveBasket(r)},o.newAddress=function(t){if("delivery"==t){var n=e.getExtraProperties();n||(n={}),o.config.selectedDeliveryAddress=o.getNewAddress(t),n.deliveryGroup={groupName:o.config.selectedDeliveryAddress.name,attributes:o.config.selectedDeliveryAddress.attributes},e.saveExtraProperties(n),o.showInvoiceOption&&(o.isGettingNewAddress=!0,o.config.requiresBilling&&(o.config.selectedBillingAddress=o.profileGroups.addresses.find(function(e){return e.name!==o.config.selectedDeliveryAddress.name})),o.config.showInvoiceCheckStatus&&o.changeBillingAddressAttributesMandatory(),o.isGettingNewAddress=!1)}else o.config.selectedBillingAddress=o.getNewAddress(t),o.showInvoiceOption&&(o.isGettingNewAddress=!0,o.config.requiresDelivery&&(o.config.selectedDeliveryAddress=o.profileGroups.addresses.find(function(e){return e.name!==o.config.selectedBillingAddress.name})),o.config.showInvoiceCheckStatus&&o.changeBillingAddressAttributesMandatory(),o.isGettingNewAddress=!1)},o.getNewAddress=function(e){if(o.profileGroups&&o.profileGroups.addresses)if("delivery"==e){if(o.config.requiresDelivery&&o.populatedAddresses.length>0&&!o.config.selectedDeliveryAddress)for(var t=0;t<o.profileGroups.addresses.length;t++)for(var n=o.profileGroups.addresses[t],i=0;i<n.attributes.length;i++)for(var r=n.attributes[i],a=0;a<o.populatedAddresses.length;a++){var s=o.populatedAddresses[a];if(n.name!==s.name&&r.mandatory===!0&&null===r.value)return n}else if(0==o.populatedAddresses.length)return o.profileGroups.addresses.find(function(e){return!o.populatedAddresses||o.populatedAddresses.indexOf(e)==-1});if(o.config.requiresDelivery&&o.populatedAddresses&&o.populatedAddresses.length>0){var l=o.populatedAddresses.map(function(e){return e.name}),c=o.profileGroups.addresses.filter(function(e){return!l.includes(e.name)});return c[0]}}else{if(o.config.requiresBilling&&o.populatedAddresses.length>0&&!o.config.selectedBillingAddress)for(var d=0;d<o.profileGroups.addresses.length;d++)for(var u=o.profileGroups.addresses[d],p=0;p<u.attributes.length;p++)for(var g=u.attributes[p],f=0;f<o.populatedAddresses.length;f++){var m=o.populatedAddresses[f];
11if(u.name!==m.name&&g.mandatory===!0&&null===g.value)return u}else if(0==o.populatedAddresses.length)return o.profileGroups.addresses.find(function(e){return!o.populatedAddresses||o.populatedAddresses.indexOf(e)==-1});if((o.config.requiresBilling||o.config.showInvoiceCheckStatus)&&o.populatedAddresses&&o.populatedAddresses.length>0){var h=o.populatedAddresses.map(function(e){return e.name}),v=o.profileGroups.addresses.filter(function(e){return!h.includes(e.name)});return v[0]}}},EV.Event.on(EV.Event.PM_PRODUCT_PROFILE_LOADED,function(){if(o.populatedAddresses&&o.profileGroups.addresses)return o.allAddressesUsedStatus=o.populatedAddresses.length===o.profileGroups.addresses.length,o.allAddressesUsedStatus}),o.getSocialNetworkAction=function(){return o.isLoginRequest?"login":"register"},o.submit=function(t,n){console.log("scope.submit(): ev-product-profile",o),e.isCheckoutButtonLoaded()&&!t||_(t,n)},o.changeIsLoginRequest=function(){o.isLoginRequest=!o.isLoginRequest},o.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,t){o.submit(t.successCb,t.errorCb)}),o.$on("ev.resetProductProfile",function(e,t){o.isProductSelected=!1,o.productSelectedName=null,o.isInvoiceRequired=!1,o.config.showInvoiceCheckStatus=!1,o.profileGroups=null,t.successCb()}),EV.Event.on(EV.Event.SOCIAL_REGISTER_SUCCESS,function(e,t){o.loggedIn=!0,I()}),EV.Event.on("tax-id.unverifiable",function(e,t){console.log("tax-id.unverifiable received")}),EV.Event.on("pm.isInvoiceRequired",function(e){var t=e.isInvoiceRequired;t!==!0||t===!0&&o.config.showInvoiceCheckStatus===!0||(o.isInvoiceRequired=t,o.config.showInvoiceCheckStatus=t)});o.$watchGroup(["profileGroups","isInvoiceRequired"],function(e,t){var n=e[0],i=e[1];n&&Object.keys(n).length>0&&i&&o.changeBillingAddressAttributesMandatory()});EV.Event.on(EV.Event.SOCIAL_LOGIN_SUCCESS,function(e,t){o.loggedIn=!0,o.isLoginRequest=!1,I()}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){o.loggedIn=!0,I()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){o.loggedIn=!1,I()}),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(e){(!o.productSelectedName||o.productSelectedName!==e[0].name||o.getProfileForce&&e)&&(o.isProductSelected=!0,o.getProfileForce=!1,o.productSelectedName=e[0].name,I(e))}),EV.Event.on("pm.forceProfileUpdate",function(){o.getProfileForce=!0}),EV.Event.on(EV.Event.PM_CLEARED_BASKET,function(){o.isProductSelected=!1,o.productSelectedName=null,I()}),EV.Event.on("ev.event.showProductProfileSubmitButton",function(e){o.showSubmitButton=e}),EV.Event.on(EV.Event.LOGIN_CANCELLED,function(){o.isLoginRequest=!1,o.socialLoginAttempted=!1}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){o.isLoginRequest=!1}),EV.Event.on("social.login.existing.email.attempted",function(){o.socialLoginAttempted=!0}),o.changeBillingAddressAttributesMandatory=function(){X(),ne(),te(),EV.Event.publish("invoice.required.change.attributes.mandatory",{showInvoiceCheckStatus:o.config.showInvoiceCheckStatus,showInvoiceOption:o.showInvoiceOption,invoiceMandatoryAttributes:o.invoiceMandatoryAttributes,invoiceFormatMatchingAttributes:o.invoiceFormatMatchingAttributes});var t=e.getBasket();o.billingAddressGroup&&o.config.showInvoiceCheckStatus&&(t.billingAddressGroup=o.billingAddressGroup),o.billingAddressGroup&&!o.config.showInvoiceCheckStatus&&delete t.billingAddressGroup,t.showInvoiceCheckStatus=o.config.showInvoiceCheckStatus,e.saveBasket(t)},EV.Event.on("invoice.required.change.attributes.mandatory",function(e){e.showInvoiceOption&&e.showInvoiceCheckStatus?(o.profileGroups.addresses.forEach(function(t){t.attributes.forEach(function(t){e.invoiceMandatoryAttributes&&e.invoiceMandatoryAttributes.hasOwnProperty(t.name)&&(o.existingAddressNonEditable===!0?t.disabled=!0:t.disabled=!1,t.mandatory=!1)})}),o.config.selectedBillingAddress.attributes.forEach(function(t){e.invoiceMandatoryAttributes&&e.invoiceMandatoryAttributes.hasOwnProperty(t.name)&&(t.mandatory=!0,t.disabled=!1)})):e.showInvoiceOption&&!e.showInvoiceCheckStatus&&o.config.selectedBillingAddress.attributes.forEach(function(t){o.existingAddressNonEditable===!0?t.disabled=!0:t.disabled=!1,e.invoiceMandatoryAttributes&&e.invoiceMandatoryAttributes.hasOwnProperty(t.name)&&(t.mandatory=!1),e.invoiceFormatMatchingAttributes&&e.invoiceFormatMatchingAttributes.hasOwnProperty(t.name)&&(t.mandatory=!1,t.value="")}
11)}),EV.Event.on(EV.Event.PM_PURCHASES_LIST_EDITED_ADDRESS_SUCCESS,function(e){console.log("response from event:",e)}),EV.Event.on("pm.verifyTaxCode",function(e){var t=e.successCb,n=e.errorCb;_(t,n)})}}}])}function C(){"use strict";var e=angular.module("ev-widget.pm.productPromo",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evProductPromo",["pm2Util","$location",function(e,t){return{restrict:"E",scope:{promoId:"=",productId:"="},templateUrl:"pm-v2/ev-product-promo.tpl.html",controller:["$scope",function(e){e.promoCode=""}],link:function(n,i,r,a){function o(){return"ev-widget.pm.productPromo-"+EV.util.random_guid()}function s(t){if(""!==t.product)return e.ifPromoCodeExistsInProduct(t.product).then(function(e){e.productHasPromoCode===!0?n.isPromoWidgetVisible=!0:n.enablePromoDefinePlan||(n.isPromoWidgetVisible=!1)})["catch"](function(e){console.log(e)})}function l(e){n.product=e.product,n.paymentPlan=e.paymentPlan,n.isSubscription=e.isSubscription,n.isSelected=e.selected,n.selectedCountry=e.selectedDeliveryAddress}function c(){var t=n.product,i=n.inputPromoCode;if(1!=u(i))return e.getPaymentPlansWithPromoCode(t,i).then(function(e){n.initLoadPromo=!1,1===e.length?(EV.Event.publish(EV.Event.PM_PROMO_ACTION,{paymentPlan:e[0],productSelected:t,isSubscribed:!0,promoCode:i}),n.selectedPromoPlan=e[0].id):EV.Event.publish("pm.promoPlansAction",{paymentPlans:e,promoProduct:t,isSubscribed:!0,promoCode:i}),f(),EV.Event.publish(EV.Event.PM_PROMO_CODE_APPLIED)})["catch"](function(e){if(n.enablePromoDefinePlan&&e.error&&("product_not_found"===e.error.code||"BEX0057"===e.error.code||"BEX0098"===e.error.code))return void d();if(e.error&&"BEX0057"===e.error.code&&(n.failureMessage="ev.widgets.promo_code.failure"),e.error&&"BEX0098"===e.error.code&&(n.failureMessage="ev.widgets.promo_code.expired"),g(),console.log(e),EV.Event.publish(EV.Event.PM_PROMO_CODE_FAILURE),n.initLoadPromo){n.initLoadPromo=!1;var t=n.inputPromoCode===n.promoCode?n.queryPromoCode:n.promoCode;if(!t)return;n.inputPromoCode=t,c()}})}function d(){return e.getPaymentPlanAndProductByPromoCode(n.inputPromoCode).then(function(e){return n.initLoadPromo=!1,e.paymentPlan&&e.product?(n.product=e.product.name,EV.Event.publish("pm.setPromoProductPlan",e),c(),void EV.Event.publish("pm.forceProfileUpdate")):void console.error("Something has gone wrong and there's not Payment Plan and/or Product found with the current Promo Code: ",n.inputPromoCode)})["catch"](function(e){if(n.failureMessage="ev.widgets.promo_code.failure",g(),EV.Event.publish(EV.Event.PM_PROMO_CODE_FAILURE),console.log(e),n.initLoadPromo){n.initLoadPromo=!1;var t=n.inputPromoCode===n.promoCode?n.queryPromoCode:n.promoCode;if(!t)return;n.inputPromoCode=t,n.triedPromoDefinePlan=!1,c()}})}function u(e){n.failureMessage="";var t=/^[a-zA-Z0-9_.-]*$/;return void 0==e?(n.initLoadPromo=!1,!0):""==e||0==e.length?(n.failureMessage="ev.widgets.promo_code.empty",g(),!0):!t.test(e)&&(n.failureMessage="ev.widgets.promo_code.validInput",g(),!0)}function p(){n.isPromoCodeSuccess=!1,n.isPromoCodeFailed=!1,n.selectedPromoPlan=""}function g(){n.isPromoCodeSuccess=!1,n.isPromoCodeFailed=!0}function f(){n.isPromoCodeSuccess=!0,n.isPromoCodeFailed=!1}n.isLoading=!0,n.isLoginRequest=!1,n.formErrors=[],n.translatedErrors=[],n.widgetGuid=r.id||o(),n.errorWidgetGuid="error-"+n.widgetGuid,n.widgetTitle=r.title||"PROMO CODE",i.attr("title",""),n.showHeader="false"!==r.showHeader,n.showErrorMsgs="false"!==r.showErrorMsgs,n.showLabels="false"!==r.showLabels,n.showDelivery="true"===r.showDelivery,n.showHidden="true"===r.showHidden,n.inputPromoCode="",n.paymentPlan="",n.isSubscription=!1,n.isSelected=!1,n.product="",n.selectedPromoPlan="",n.queryParams=t.search(),n.initLoadPromo=!0,n.promoCode=r.promoCode,n.enablePromoDefinePlan="true"===r.enablePromoDefinePlan,n.isPromoWidgetVisible=n.enablePromoDefinePlan,n.queryPromoCode=n.queryParams.promoCode||EV.Widgets.Product&&EV.Widgets.Product.promoCode,n.isPromoCodeSuccess=!1,n.isPromoCodeFailed=!1,EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){1==e.selected||n.selectedPromoPlan?(s(e),l(e),p()):(l(e),n.isPromoWidgetVisible=!1)}),EV.Event.on("ev.event.hidePromoWidget",function(){n.isPromoWidgetVisible=!1}),EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(e){(n.promoCode||n.queryPromoCode)&&1===e.length&&(n.product=e[0].name,n.inputPromoCode=n.queryPromoCode||n.promoCode,c())}),n.promoCodeSubmit=c,EV.Event.on("ev.event.submitPromoCode",function(e){n.inputPromoCode=e.promo,n.product=e.product,c()}),EV.Event.on(EV.Event.PM_RESET_PROMO,function(e){(e.paymentPlan.id===n.selectedPromoPlan||n.selectedPromoPlan)&&(p(),EV.Event.publish(EV.Event.PM_PRODUCT_ACTION,{product:e.name,selected:!1})),n.isPromoWidgetVisible=!1}),n.removeAppliedPromoCode=function(){var t=e.getBasketLocal("basket");n.inputPromoCode="",t.products[0].paymentPlan.promoCode=null,t.promoCode=null,e.saveBasket(t),EV.Event.publish(EV.Event.PM_REMOVE_APPLIED_PRICE,t.products)},EV.Event.on(EV.Event.PM_REMOVE_APPLIED_PRICE,function(e){setTimeout(function(){n.$apply(function(){p()})}
11,0)}),EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(t){setTimeout(function(){n.$apply(function(){var t=e.getBasket("basket");t&&t.promoCode&&!n.enablePromoDefinePlan?(n.inputPromoCode=t.promoCode,f()):t&&t.promoCode&&n.enablePromoDefinePlan&&e.removeBasket(t)})},0)})}}}])}function P(){"use strict";var e=angular.module("ev-widget.pm.productSelection",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evProductSelection",["pm2Util","EVExceptionHandler","$timeout","$window","$q",function(e,t,n,i,r){function a(e,t,n,i,r){EV.Event.publish(EV.Event.PM_PRODUCT_ACTION,{product:e,productGiftEnabled:t,paymentPlan:n,isSubscription:i,selected:r})}return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-product-selection-v3.tpl.html",controller:["$scope","$location","$attrs","$element",function(t,r,o,s){function l(e){return t.paymentPlans?e.filter(function(e){for(var n=0;n<t.paymentPlans.length;n++)if(t.paymentPlans[n]===e.name)return!0;return!1}):e}function c(n){if(t.invoiceFormatCheck){var i=n.paymentPlan.id,r=n.id;e.checkIsInvoiceRequired(r,i).then(function(e){EV.Event.publish("pm.isInvoiceRequired",e)})}}function d(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function u(e,t){var n=e.querySelectorAll(".product-header img"),i=n.length;if(0===i)return void t();var r=function(){i--,0===i&&t()};angular.forEach(n,function(e){e.complete&&0!==e.naturalHeight?r():(e.addEventListener("load",r),e.addEventListener("error",r))})}function p(){var e=s[0],i=new MutationObserver(function(i){i.forEach(function(i){if("style"===i.attributeName){var r=!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length);r&&n(function(){t.equalizeHeights()})}})});i.observe(e,{attributes:!0,attributeFilter:["style"]}),t.$on("$destroy",function(){i.disconnect()})}function g(){var e=s[0].querySelector(".product-item-container");if(e){var t=0,n=0,i=0,r=0,a=e.querySelectorAll(".payment-frequency"),o=e.querySelectorAll(".payment-price"),l=e.querySelectorAll(".payment-text"),c=e.querySelectorAll(".paymentPlan-features ul");angular.forEach(a,function(e){angular.element(e).css("height","auto")}),angular.forEach(o,function(e){angular.element(e).css("height","auto")}),angular.forEach(l,function(e){angular.element(e).css("height","auto")}),angular.forEach(c,function(e){var t=e.querySelectorAll("li");angular.forEach(t,function(e){angular.element(e).css("height","auto")})}),angular.forEach(a,function(e){var n=e.offsetHeight;n>t&&(t=n)}),angular.forEach(o,function(e){var t=e.offsetHeight;t>n&&(n=t)}),angular.forEach(l,function(e){var t=e.offsetHeight;t>i&&(i=t)}),angular.forEach(c,function(e){var t=e.querySelectorAll("li");angular.forEach(t,function(e){var t=e.offsetHeight;t>r&&(r=t)})}),angular.forEach(a,function(e){angular.element(e).css("height",t+"px")}),angular.forEach(o,function(e){angular.element(e).css("height",n+"px")}),angular.forEach(l,function(e){angular.element(e).css("height",i+"px")}),angular.forEach(c,function(e){var t=e.querySelectorAll("li");angular.forEach(t,function(e){angular.element(e).css("height",r+"px")})})}}function f(){var e=s[0].querySelectorAll(".product-item"),t=[],n=null,i=[];angular.forEach(e,function(e,r){var a=e.getBoundingClientRect().top;null===n||Math.abs(a-n)<1?i.push(e):(t.push(i),i=[e],n=a),0===r&&(n=a)}),i.length>0&&t.push(i),angular.forEach(t,function(e){var n=0,i=[];angular.forEach(e,function(e){var t=e.querySelectorAll(".product-header");if(1===t.length){var r=t[0];angular.element(r).css("height","auto");var a=r.offsetHeight;a>n&&(n=a)}else t.length>1&&angular.forEach(t,function(e,t){angular.element(e).css("height","auto");var n=e.offsetHeight;i[t]||(i[t]=0),n>i[t]&&(i[t]=n)})}),angular.forEach(e,function(e){var t=e.querySelectorAll(".product-header");if(1===t.length){var r=t[0];angular.element(r).css("height",n+"px")}else t.length>1&&angular.forEach(t,function(e,t){angular.element(e).css("height",i[t]+"px"),angular.element(e).css("margin-bottom","10px")})}),angular.forEach(t,function(e){var t=0,n=[];angular.forEach(e,function(e){var i=e.querySelectorAll(".product-header img");angular.forEach(i,function(e){angular.element(e).css("height","auto");var i=e.offsetHeight;i>t&&(t=i),n.push(e)})}),angular.forEach(n,function(e){angular.element(e).css("height",t+"px")})})});var r=s[0].querySelectorAll(".product-body"),a=[],o=0,l=0;angular.forEach(r,function(e){var t=e.querySelector('[id^="payment-plans-"]');t&&a.push(t)}),angular.forEach(a,function(e){if("div"===e.tagName.toLowerCase()){var t=e.querySelectorAll(":scope > div");angular.forEach(t,function(e){angular.element(e).css("height","auto")})}else if("ul"===e.tagName.toLowerCase()){var n=e.querySelectorAll(":scope > li");angular.forEach(n,function(e){angular.element(e).css("height","auto")})}}),angular.forEach(a,function(e){if("div"===e.tagName.toLowerCase()){var t=e.querySelectorAll(":scope > div");angular.forEach(t,function(e){var t=e.offsetHeight;t>o&&(o=t)})}else if("ul"===e.tagName.toLowerCase()){var n=e.querySelectorAll(":scope > li");angular.forEach(n,function(e){var t=e.offsetHeight;t>l&&(l=t)})}}),angular.forEach(a,function(e){if("div"===e.tagName.toLowerCase()){var t=e.querySelectorAll(":scope > div");angular.forEach(t,function(e){angular.element(e).css("height",o+"px")})}else if("ul"===e.tagName.toLowerCase()){var n=e.querySelectorAll(":scope > li");angular.forEach(n,function(e){angular.element(e).css("height",l+"px")})}});var t=[],i=[],c=null;angular.forEach(r,function(e,n){var a=e.closest(".product-item-container"),o=a.offsetTop;null===c||o===c?i.push(e):(t.push(i),i=[e]),n===r.length-1&&t.push(i),c=o}),angular.forEach(t,function(e){var t=0;angular.forEach(e,function(e){angular.element(e).css("height","auto")}),angular.forEach(e,function(e){var n=e.offsetHeight;n>t&&(t=n)}),angular.forEach(e,function(e){angular.element(e).css("height",t+"px")})});var e=s[0].querySelectorAll(".product-item"),d=0;if(angular.forEach(e,function(e){var t=e.querySelector(".ev-gift-option");if(t){angular.element(t).css("height","auto");var n=t.offsetHeight;n>d&&(d=n)}}),d>0){angular.forEach(e,function(e){var t=e.querySelector(".ev-gift-option");t?angular.element(e).css("padding-bottom","0"):angular.element(e).css("padding-bottom",d+"px")});var u=s[0].querySelectorAll(".ev-gift-option");angular.forEach(u,function(e){angular.element(e).css("height",d+"px")})}}t.queryParams=r.search(),t.selectedOrderTypeOption=null,t.customEndDate=t.queryParams.customEndDate,t.itemId=t.queryParams.itemId||o.itemId,t.pRenewal=t.queryParams.pRenewal,t.giftOption="true"===t.queryParams.giftOption,t.invoiceFormatCheck="true"===o.invoiceFormatCheck,t.referenceDataLoaded=!1,t.enableEqualizeHeights="true"===o.equalizeHeights;
11t.$watchGroup(["referenceDataLoaded","product","selectedProductsAndPlans"],function(e,t){console.log("::: watching",e);var n=e[0],i=e[1],r=e[2];n&&(i||r)&&c(i||r[0])}),EV.Event.on("ev.finished.initing.reference.data",function(e){console.log("::: setting $scope.referenceDataLoaded to true"),n(function(){t.$apply(function(){console.log("::: setting $scope.referenceDataLoaded to true2"),t.referenceDataLoaded=!0})})}),EV.Event.on(EV.Event.PM_SELECT_PAYMENT_PLAN,function(e){if("string"!=typeof e&&e.productName){var n=t.getProductIndex(e.productName);t.changeStatus(n,e.paymentPlanName),t.productSubmitAction(t.productList[n],t.orderType,t.orderTypeOption)}else t.changeStatus(0,e),t.productSubmitAction(t.productList[0],t.orderType,t.orderTypeOption)}),EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){null!=t.selectedOrderTypeOption&&e.product!=t.selectedOrderTypeOption&&(t.selectedOrderTypeOption=null)}),EV.Event.on("pm.promoPlansAction",function(i){var r=void 0,a=[],o=t.getProductIndex(i.promoProduct);t.finalProductSelection||t.changeStatus(o,t.selections[o]),t.finalProductSelection&&(r=e.getBasket());var s=i.paymentPlans.map(function(e){return e.promoPlanFromServer=!0,t.hideHiddenPromoPlans||(e.hidden=!1),e.promoCode=i.promoCode,e});s=l(s);var c=t.productList[o].paymentPlans,d=c.map(function(e){var t=s.find(function(t){return t.id===e.id});return t?t:e}),u=d.map(function(e){return e.id});if(s.forEach(function(e){u.includes(e.id)||d.push(e)}),d=d.filter(function(e){return!e.promoPlanFromServer||s.find(function(t){return t.id===e.id})}),t.productList[o].paymentPlans=d,r){var p=t.productSelected.paymentPlans.map(function(e){return e.id}).indexOf(t.productSelected.paymentPlan.id);t.productSelected.paymentPlan=t.productSelected.paymentPlans[p],r.products=r.products.map(function(e){return[t.productSelected].find(function(t){return t.id===e.id})||e}),i.promoCode&&(r.products[0].paymentPlan.promoCode=i.promoCode,r.promoCode=i.promoCode),e.saveBasket(r),a.push(t.productSelected),i.isSubscribed&&(a[0].isSubscribed=i.isSubscribed),EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,a),t.isUseTogglePlan&&EV.Event.publish(EV.Event.PM_TOGGLE_PLAN_PRODUCT_SELECTED,a)}n(function(){EV.Event.publish(EV.Event.PM_PROMO_PLANS_LOADED,t.productList[o].paymentPlans)},0)}),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(e){t.finalProductSelection=!0}),EV.Event.on(EV.Event.PM_RESET_PROMO,function(e){t.finalProductSelection=!1}),t.getProductIndex=function(e,n){if(t.productList){for(var i=0,r=t.productList,a=t.productList.length,o=0;o<a;o++){if(r[o].name==e)return i;i+=1}return(void 0!==t.productList[i]||!n)&&(t.multiSelect&&void 0===t.productList[i]&&(i=0),i)}},t.setProduct=function(n,i,r){t.displayOnly?t.selections[n]===i?(t.changeStatus(n,i,r),e.removeBasket(e.getBasket())):(t.changeStatus(n,i,r),t.productSubmitAction(t.productList[n],t.orderType,t.orderTypeOption,n)):t.changeStatus(n,i,r)},t.changeStatus=function(e,n,i){return t.selections[e]==n?(t.selections[e]=null,t.productSelected=null,void a(t.productList[e].name,t.productList[e].giftEnabled,n,i,!1)):(t.multiSelect||(t.selections=[]),t.selections[e]=n,t.productSelected=t.productList[e],void(t.productSelected&&a(t.productList[e].name,t.productList[e].giftEnabled,n,i,!0)))},t.isSelected=function(e,n,i){var r=t.selections[e];if(i.paymentPlan&&i.linkedPlanMapping&&i.linkedPlanMapping.length>0)for(var a=0;a<i.paymentPlans.length;a++)if(n===i.paymentPlans[a].name&&!i.paymentPlans[a].hidden)for(var o=0;o<i.linkedPlanMapping.length;o++)if((n===i.linkedPlanMapping[o].paymentPlanName||n===i.linkedPlanMapping[o].linkedPlanName)&&t.productSelected&&i.name===t.productSelected.name&&(i.paymentPlan.name===i.linkedPlanMapping[o].paymentPlanName||i.paymentPlan.name===i.linkedPlanMapping[o].linkedPlanName))return!0;return"object"===("undefined"==typeof r?"undefined":K(r))&&null!==r&&r.name?r.name===n:"string"==typeof r&&r===n},t.isRecommended=function(e){return e==t.recommendedProduct},t.selectOrderTypeOption=function(n,i){var r=e.getBasket();if(!n&&r&&r.products[0]&&(n=r.products[0].name),t.giftOption){t.giftOption=!1,t.selectedOrderTypeOption=null,EV.Event.publish(EV.Event.PM_ORDER_TYPE_ACTION,!1);var a=e.getBasket();return null==a&&(a={}),a.orderType="STANDARD",void e.saveBasket(a)}t.selectedOrderTypeOption==n?t.selectedOrderTypeOption=null:t.selectedOrderTypeOption=n;var o={orderTypeSelected:null!=t.selectedOrderTypeOption};o.orderTypeSelected&&(o.orderType=i),EV.Event.publish(EV.Event.PM_ORDER_TYPE_ACTION,o);var a=e.getBasket();null==a&&(a={}),a.orderType=null===t.selectedOrderTypeOption?"STANDARD":i,e.saveBasket(a)},t.isOrderTypeSelected=function(e){return t.commonGiftSelector===!1?null!=t.selectedOrderTypeOption&&t.selectedOrderTypeOption===e||t.giftOption:"string"==typeof t.selectedOrderTypeOption&&""!==t.selectedOrderTypeOption.trim()||t.giftOption},t.productSubmitAction=function(n,i,r,a){console.log("productSubmitAction:::");var o=[];if(t.selections[a]||t.autoSelect&&0!==t.selections.length)t.selections.forEach(function(e,n){if(e){var i=t.productList[n];i.paymentPlan=i.paymentPlans.find(function(t){return t.name==e}),i.paymentPlan||(i.paymentPlan=i.paymentPlans.find(function(t){return t.name==e.name})),o.push(angular.copy(i))}});else if(!t.selections[a]&&1===n.paymentPlans.length){t.changeStatus(a,n.paymentPlans[0],"NONE"!==n.paymentPlans[0].frequency.id);var n=t.productList[a];if(!n)return;n.paymentPlan=n.paymentPlans[0],o.push(n)}if(0===o.length){var s=e.getBasket();s&&s.products&&t.selections.forEach(function(e,t){if(e){var n=s.products[0];n.paymentPlan=n.paymentPlans.find(function(t){return t.name==e}),n.paymentPlan||(n.paymentPlan=n.paymentPlans.find(function(t){return t.name==e.name})),o.push(angular.copy(n))}})}if(0===o.length){var l=e.getBasket();l&&l.products&&(void 0!==t.selections[0]&&null!==t.selections[0]||(t.selections[0]=window.EV.PM.linkedPlanName),t.selections.forEach(function(e,t){if(e){var n=l.products[0];n.paymentPlan=n.paymentPlans.find(function(t){return t.name==e}),n.paymentPlan||(n.paymentPlan=n.paymentPlans.find(function(t){return t.name==e.name})),o.push(angular.copy(n))}}),setTimeout(function(){window.EV.PM.linkedPlanName=null},5e3))}if(Object.keys(o).length){var d={products:o};if(r&&(d.orderType=null!=t.selectedOrderTypeOption&&null!=i?i:"STANDARD",t.giftOption||"STANDARD"!==d.orderType||(t.selectedOrderTypeOption=null,EV.Event.publish("ev.event.hideBeneficiaries"))),t.giftOption&&o[0].giftEnabled&&(d.orderType="GIFT",EV.Event.publish(EV.Event.PM_ORDER_TYPE_ACTION,{orderTypeSelected:!0,orderType:"GIFT"})),t.utmCampaign&&(d.utmCampaign=t.utmCampaign),t.itemId&&(d.itemId=t.itemId.split(",")),t.customEndDate){var u=moment(t.customEndDate,"YYYY-MM-DD",!0).isValid();u?d.customEndDate=t.customEndDate:console.error("INVALID customEndDate")}t.pRenewal&&(d.pRenewal=t.pRenewal),o[0].paymentPlan.promoCode&&(d.products[0].paymentPlan.promoCode=o[0].paymentPlan.promoCode,d.promoCode=o[0].paymentPlan.promoCode);var p=EV.PM.localStorageExpireTime?6e4*EV.PM.localStorageExpireTime:6e5;d.expire=(new Date).getTime()+p,e.saveBasket(d),e.removeExtraProperties();var g=e.getExtraProperties()||{};
11if(o[0].paymentPlan){var f=o[0].paymentPlan.restrictBillingAddress;g.restrictBillingAddress=f,f&&(g.regions=o[0].paymentPlan.regions),g.expire=(new Date).getTime()+p,e.saveExtraProperties(g)}if(o[0].requiresDeliveryAddress){if(g.deliveryCountry=t.selectedCountry||null, 12!g.deliveryCountry){var m=o[0].paymentPlan.regions;if(o[0].bundlePlans.length>0){m=[];for(var h=o[0].bundlePlans,v=0;v<h.length;v++)for(var E=h[v],b=0;b<E.bundlePlanItems.length;b++){var y=E.bundlePlanItems[b],w=y.paymentPlan.regions;w&&w.length>0&&!m.includes(w)&&w.forEach(function(e){m.push(e)})}}m&&m.length>0&&(g.regions=m)}g.region=t.region||null,g.expire=(new Date).getTime()+p,e.saveExtraProperties(g)}t.isUseTogglePlan?EV.Event.publish(EV.Event.PM_TOGGLE_PLAN_PRODUCT_SELECTED,o):EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,o),EV.Event.publish("pm.adapterTogglePaymentMethods",o),EV.WM&&EV.WM.useWmReferenceData?(t.product=n,t.selectedProductsAndPlans=o):n?c(n):o&&o.length>0&&c(o[0])}else EV.Event.publish(EV.Event.PM_ERROR,{code:"NO_PRODUCT_SELECTED"}),e.removeBasket(e.getBasket())},t.isHiddenToDisplay=function(e,n){if(t.showHidden){if(1===e.paymentPlans.length)return!0;if(e.linkedPlanMapping.length>0){for(var i=0;i<e.linkedPlanMapping.length;i++){if(n.id===e.linkedPlanMapping[i].paymentPlanId)return!0;if(n.id===e.linkedPlanMapping[i].linkedPlanId)return!1}return!0}return!0}return!n.hidden},EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(e){t.enableEqualizeHeights&&(p(),n(function r(){var e=s[0].querySelectorAll(".product-item");return e.length&&0!==e[0].offsetHeight?void u(s[0],function(){d(s[0])&&t.equalizeHeights(),angular.element(i).on("resize",function(){n(function(){d(s[0])&&t.equalizeHeights()})})}):void n(r,50)},0))}),t.equalizeHeights=function(){"third"===t.template&&1===t.productList.length?g():f()}}],link:function(a,o,s,l){function c(){var e=!1;r.all([y()]).then(function(){if(a.showDeliveryCountry&&!a.selectedCountry){e=!0;var n=EV.util.error("INVALID_COUNTRY","Invalid delivery country",400);EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(a.errorWidgetGuid,n)}})["catch"](function(n){e=!0,console.error(n),EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(a.errorWidgetGuid,n)})["finally"](function(){a.isLoading=!1,e||d()})}function d(){if(a.productName||a.groupName){var e=a.productName?h:E,n=!0;!s.productName&&a.productName&&s.groupName?h().then(function(){t.removeError(a.errorWidgetGuid)})["catch"](function(e){e.error&&("BEX0018"===e.error.code||"product_not_found"===e.error.code||"product_invalid"===e.error.code)&&n?(n=!1,u(e,E).then(function(){},function(e){a.productList=null,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e)})):(a.productList=null,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e))})["finally"](function(){a.isLoading=!1}):s.productName&&a.productName!==s.productName||s.paymentPlans&&O!==s.paymentPlans?h().then(function(){t.removeError(a.errorWidgetGuid)})["catch"](function(e){e.error&&("BEX0018"===e.error.code||"product_not_found"===e.error.code||"product_invalid"===e.error.code)&&n?(n=!1,u(e).then(function(){},function(e){a.productList=null,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e)})):(a.productList=null,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e))})["finally"](function(){a.isLoading=!1}):e().then(function(){t.removeError(a.errorWidgetGuid)})["catch"](function(e){e.error&&("BEX0018"===e.error.code||"product_not_found"===e.error.code||"product_invalid"===e.error.code)&&n?(n=!1,u(e,a.productName?null:E).then(function(){console.log("hola")},function(e){a.productList=null,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e)})):(a.productList=null,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e))})["finally"](function(){a.isLoading=!1}),a.submitPromoCodeFromBasket&&EV.Event.publish("ev.event.submitPromoCode",{promo:D.promoCode,product:D.products[0].name})}else{var i=EV.util.error("INVALID_WIDGET_CONFIG","Invalid widget config: No groupName or productName defined",300);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(a.errorWidgetGuid,i),a.isLoading=!1}}function u(e,t){a.groupName=s.groupName,a.productName=s.productName;var n=s.paymentPlans;return a.paymentPlans=n?n.split(","):null,t?t().then(function(){return Promise.resolve()})["catch"](function(e){return Promise.reject(e)}):a.productName?h().then(function(){return Promise.resolve()})["catch"](function(e){return Promise.reject(e)}):E().then(function(){return Promise.resolve()})["catch"](function(e){return Promise.reject(e)})}function p(e){var t=Math.floor(12/e);t<R&&(t=R),a.productStyle="col-sm-"+N+" col-md-"+t,a.productStyleForThirdTemplate="col-sm-12 col-md-12"}function g(){n(function(){if(EV.Event.publish(EV.Event.PM_SELECT_PAYMENT_PLAN,{paymentPlanName:$.autoSelectPlanName,productName:$.productName}
12),a.giftOption){EV.Event.publish(EV.Event.PM_ORDER_TYPE_ACTION,{orderType:"GIFT",orderTypeSelected:!0});var t=e.getBasket();null==t&&(t={}),t.orderType="GIFT",e.saveBasket(t)}},0)}function f(e){$={};for(var t=0;t<e.paymentPlans.length;t++)if(e.paymentPlans[t].id===e.autoSelectPlan){$={autoSelectPlanName:e.paymentPlans[t].name,productName:e.name};break}}function m(e){if(a.recommendedProduct){for(var t=0;t<e.length;t++)if(e[t].id===a.recommendedProduct&&e[t].autoSelectPlan)return void f(e[t])}else for(var n=0;n<e.length;n++)if(e[n].autoSelectPlan){f(e[n]);break}}function h(){var n=EV.util.Storage.cookie.get("ev_sid"),i=EV.util.Storage.cookie.get("ev_ss");return e.getProductLite(a.productName,a.paymentPlans,a.showHidden,a.selectedCountry,n,i).then(function(e){t.removeError(a.errorWidgetGuid),a.productList=[e],a.recommendedProduct=null,a.showBoosted=!1,v(e),T(!1),a.commonGiftSelector=!1},function(e){throw e})}function v(e){e.requiresDeliveryAddress||(a.showDeliveryCountry=!1)}function E(){var n=EV.util.Storage.cookie.get("ev_sid");return e.getProducts(a.groupName,a.showHidden,a.selectedCountry,n).then(function(e){t.removeError(a.errorWidgetGuid),a.productList=e.products,a.recommendedProduct=e.recommended,a.showBoosted=e.recommended,T(!0),a.commonGiftSelector&&b()},function(e){throw e})}function b(){if(1===a.productList.length)a.commonGiftSelector=!1;else{var e=a.productList.every(function(e){return e.giftEnabled===!0});a.commonGiftSelector=e}}function y(){if(a.showDeliveryCountry)return e.getCountries().then(function(e){a.countries=e,a.selectedCountry=a.countries.find(function(e){return a.queryParams&&a.queryParams.country?e.id==a.queryParams.country?e.name:void 0:e.name===a.defaultCountry}),a.selectedCountry&&C()})}function w(e){var t=new URLSearchParams(window.location.search);t.set("country",e.id),window.location.search=t}function S(e){var t=new URLSearchParams(window.location.search);return t.has(e)?t.get(e):null}function C(){return e.getRegion(a.selectedCountry.id).then(function(e){a.region=e})}function P(){return"ev-widget.pm.productSelection-"+EV.util.random_guid()}function _(){a.productList.forEach(function(e){if("BUNDLE"===e.type&&a.bundlePlans){var t=e.bundlePlans.findIndex(function(e){return e.name===a.bundlePlans});e.paymentPlans.push(e.bundlePlans[t]),e.paymentPlans.forEach(function(e){return e.isBundle=!0})}else"BUNDLE"===e.type&&(e.paymentPlans=e.bundlePlans,e.paymentPlans.forEach(function(e){return e.isBundle=!0}))})}function A(){if(2===a.productList.length){for(var e=0,t=0;t<a.productList[0].paymentPlans.length;t++)for(var n=0;n<a.productList[0].linkedPlanMapping.length;n++)if(a.productList[0].paymentPlans[t].id===a.productList[0].linkedPlanMapping[n].paymentPlanId||a.productList[0].paymentPlans[t].id===a.productList[0].linkedPlanMapping[n].linkedPlanId){e+=1;break}return 2===e}}function T(e){n(function(){_(),p(a.productList.length),a.paymentPlans&&1===a.paymentPlans.length||1===a.productList.length&&2===a.productList[0].paymentPlans.length&&A()?(a.singlePaymentPlan=!0,a.autoSelect&&(a.isAutoSelected=!0,a.paymentPlans?a.changeStatus(0,a.paymentPlans[0]):(a.productList[0].autoSelectPlan&&f(a.productList[0]),$||a.changeStatus(0,a.productList[0].paymentPlans[0])),a.productSubmitAction())):e?m(a.productList):a.productList[0].autoSelectPlan&&f(a.productList[0]),k()},0),V()}function k(){o.ready(function(){a.$apply(function(){EV.Event.publish(EV.Event.PM_PRODUCTS_LOADED,a.productList)})})}function V(){a.imagesToLoad=a.productList.reduce(function(e,t){return t.imageUrl&&e++,e},0),a.imagesLoaded=0,n(function(){a.isRendered=!0})}function I(){var e=o[0].getElementsByClassName("product-header");return Array.from(e).reduce(function(e,t){return t.offsetHeight>e&&(e=t.offsetHeight),e},0)}function L(){var e=o[0].getElementsByClassName("product-body");return Array.from(e).reduce(function(e,t){return t.offsetHeight>e&&(e=t.offsetHeight),e},0)}a.isLoading=!0,a.singlePaymentPlan=!1,a.widgetGuid=s.id||P(),a.errorWidgetGuid="error-"+a.widgetGuid,a.widgetTitle=s.title||"PRODUCT SELECTION",o.attr("title",""),a.showHeader="false"!==s.showHeader,a.showErrorMsgs="false"!==s.showErrorMsgs,a.showBoosted="true"===s.showBoosted,a.invoiceFormatCheck="true"===s.invoiceFormatCheck,S("shd")?a.showHidden="true"===S("shd"):a.showHidden="true"===s.showHidden,a.multiSelect="true"===s.multiSelect,a.radioButton="true"===s.radioButton&&!a.multiSelect,a.autoSelect="true"===s.autoSelect,a.displayOnly="true"===s.displayOnly,a.orderTypeOption=null!=s.orderTypeOption&&""!=s.orderTypeOption.trim(),a.orderType=s.orderTypeOption,a.showGiftOption="false"!==s.showGiftOption,a.template=s.template||"first",a.horizontalProducts="true"===s.horizontalProducts,a.showProductDescription="true"===s.showProductDescription,a.showProductDisplayName="true"===s.showProductDisplayName,a.selectButtonPlacement=s.selectButtonPlacement,a.showCustomButton="true"===s.showCustomButton,a.customButtonText=s.customButtonText||"Custom Button Text",a.showDeliveryCountry=a.queryParams&&"true"===a.queryParams.showDeliveryCountry||"true"===s.showDeliveryCountry,a.defaultCountry=a.queryParams&&a.queryParams.defaultCountry||s.defaultCountry,a.groupName=a.queryParams&&a.queryParams.groupName||a.queryParams&&a.queryParams.productGroup||EV.Widgets.Product&&EV.Widgets.Product.groupName||s.groupName,a.productName=a.queryParams&&a.queryParams.productName||EV.Widgets.Product&&EV.Widgets.Product.productName||s.productName;var O=a.queryParams&&a.queryParams.paymentPlans||EV.Widgets.Product&&EV.Widgets.Product.paymentPlans||s.paymentPlans;if(a.paymentPlans=O?O.split(","):null,a.bundlePlans=a.queryParams&&a.queryParams.bundlePlans||EV.Widgets.Product&&EV.Widgets.Product.bundlePlans||s.bundlePlans,a.hideProductDisplayName="false"===s.showProductDisplayName,a.hidePlanDescription="false"===s.showPlanDescription,a.showPlanDisplayName="true"===s.showPlanDisplayName,a.utmCampaign=a.queryParams&&a.queryParams.utm_campaign,a.isUseTogglePlan="true"===s.isUseTogglePlan,a.itemId=S("itemId")||s.itemId,a.pRenewal=S("pRenewal"),a.discountDisplayName="false"!==s.discountDisplayName,a.discountOfferDescription="false"!==s.discountOfferDescription,a.discountOfferText="false"!==s.discountOfferText,a.hideHiddenPromoPlans="true"===s.hideHiddenPromoPlans,a.reloadFromBasket="true"===s.reloadFromBasket,a.hideProductFeatures="false"!==s.hideProductFeatures,a.hidePlanFeatures="false"!==s.hidePlanFeatures,a.hideDecimalPrice="false"===s.showDecimalPrice,a.commonGiftSelector="true"===s.unifiedGiftSelector,e.getBasket()&&a.reloadFromBasket&&!a.groupName&&!a.productName){var D=e.getBasket();a.productName=D.products[0].name,D.orderType&&(a.orderType=D.orderType),D.products[0].paymentPlan&&!a.paymentPlans&&(a.paymentPlans=[D.products[0].paymentPlan.name]),D.promoCode&&(a.submitPromoCodeFromBasket=!0)}a.redirectLinkingSwg="true"===s.redirectLinkingSwg,a.newTabLinkingSwg="true"===s.newTabLinkingSwg,a.autoRegisterSwg="false"!==s.autoRegisterSwg,a.autoPopulateSwg="false"!==s.autoPopulateSwg,a.enableSwg="true"===s.enableSwg;var R=s.minColSize||3,N=s.smColSize||6;"1"===s.layout?(a.headerDown=!1,a.titleDown=!1,a.featureDown=!1,a.imageDown=!1,a.boostedDown=!1,a.descriptionDown=!1):"2"===s.layout?(a.headerDown=!0,a.titleDown=!1,a.featureDown=!0,a.imageDown=!0,a.boostedDown=!0,a.descriptionDown=!0):"3"===s.layout?(a.headerDown=!0,a.titleDown=!1,a.featureDown=!0,a.imageDown=!0,a.boostedDown=!0,a.descriptionDown=!1):(a.headerDown=!1,a.titleDown=!1,a.featureDown=!1,a.imageDown=!1,a.boostedDown=!0,a.descriptionDown=!1);var $;a.selections=[],a.productSelected=null;var M=e.getExtraProperties();if(M&&M.expire){var x=(new Date).getTime();x>M.expire&&(e.removeExtraProperties(),console.log("Local Storage ExtraProperties Expired",M))}c(),angular.element(i).bind("resize",function(){a.$digest()}),EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(e){$&&g()}),EV.Event.on(EV.Event.PM_REMOVE_ITEM_FROM_BASKET,function(e){e.paymentPlan.trialPrice&&c()}),EV.Event.on(EV.Event.PM_REMOVE_APPLIED_PRICE,function(e){if(!a.plansBeforePromo||!a.plansBeforePromo.length||1!==a.plansBeforePromo.length)return void console.warn("[PM_REMOVE_APPLIED_PRICE] No plansBeforePromo to restore");var t=null,n=null;if(a.productList.forEach(function(e,i){e.paymentPlans&&e.paymentPlans.length&&e.paymentPlans.forEach(function(r,o){var s=a.plansBeforePromo.find(function(e){return e.id===r.id});s&&(e.paymentPlans[o]=angular.copy(s),t=i,n=s)})}),null!==t&&n){var i=n.frequency&&"NONE"!==n.frequency.id;a.setProduct(t,n.name,i)}}),EV.Event.on("pm.setPromoProductPlan",function(e){var t=e.product;t.paymentPlans.push(e.paymentPlan),a.productList=[],a.productList.push(t)}),EV.Event.on(EV.Event.PM_PROMO_ACTION,function(t){var n,i=e.getBasket();if(a.plansBeforePromo=[],n=a.getProductIndex(t.productSelected,!0),n!==!1){for(var r=0;r<a.productList[n].paymentPlans.length;r++)a.productList[n].paymentPlans[r].id===t.paymentPlan.id&&(a.plansBeforePromo.push(angular.copy(a.productList[n].paymentPlans[r])),a.productList[n].paymentPlans[r]=t.paymentPlan);a.changeStatus(n,t.paymentPlan,!0);var o=[],s="GIFT",l=!0;a.selections.forEach(function(e,n){if(e){var r=a.productList[n];r.paymentPlan=t.paymentPlan,i&&i.products[0]&&i.products[0].invoiceIndependentFromRequiresBilling&&(r.invoiceIndependentFromRequiresBilling=i.products[0].invoiceIndependentFromRequiresBilling),o.push(r)}}),t.isSubscribed&&(o[0].isSubscribed=t.isSubscribed);var c={products:o};s&&(c.orderType=null!=a.selectedOrderTypeOption&&null!=l?l:"STANDARD",a.giftOption||"STANDARD"!==c.orderType||(a.selectedOrderTypeOption=null,EV.Event.publish("ev.event.hideBeneficiaries"))),a.giftOption&&o[0].giftEnabled&&(c.orderType="GIFT",EV.Event.publish(EV.Event.PM_ORDER_TYPE_ACTION,{orderTypeSelected:!0,orderType:"GIFT"})),a.utmCampaign&&(c.utmCampaign=a.utmCampaign),a.itemId&&(c.itemId=a.itemId.split(",")),a.pRenewal&&(c.pRenewal=a.pRenewal),t.promoCode&&(c.products[0].paymentPlan.promoCode=t.promoCode,c.promoCode=t.promoCode);var d=EV.PM.localStorageExpireTime?6e4*EV.PM.localStorageExpireTime:6e5;if(c.expire=(new Date).getTime()+d,e.saveBasket(c),o[0].requiresDeliveryAddress){var u=e.getExtraProperties()||{};if(u.deliveryCountry=a.selectedCountry||null,!u.deliveryCountry){var p=o[0].paymentPlan.regions;p&&p.length>0&&(u.regions=p)}u.region=a.region||null,u.expire=(new Date).getTime()+d,e.saveExtraProperties(u)}a.isUseTogglePlan?EV.Event.publish(EV.Event.PM_TOGGLE_PLAN_PRODUCT_SELECTED,o):EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,o)}}),a.changeCountry=function(e){a.selectedCountry=e,C(),w(e),d()},a.getPlanPrice=function(t){if(t.regions&&t.regions.length>0&&a.region){var n=a.region.deliveryItems.find(function(e){return e.currency.id===t.currency.id});n&&(a.planPrice=t.trialPrice?e.calculateTrialPrice(t,n.deliveryCost):e.calculateFinalPrice(t,n.deliveryCost))}else a.planPrice=t.trialPrice?t.trialPrice:t.finalPrice;if(a.hideDecimalPrice&&a.planPrice){var i=parseFloat(a.planPrice);i%1===0&&(a.planPrice=i.toFixed(0).toString())}return a.planPrice},a.isReadyToStyle=function(){return a.isRendered&&a.imagesLoaded==a.imagesToLoad},a.getExtraHeaderPadding=function(e){if(o[0].getElementsByClassName("product-header")[e]){var t=o[0].getElementsByClassName("product-header")[e].offsetHeight;return I()-t}},a.getExtraBodyPadding=function(e){if(o[0].getElementsByClassName("product-body")[e]){var t=o[0].getElementsByClassName("product-body")[e].offsetHeight;return L()-t}},a.imageLoaded=function(){a.imagesLoaded++},a.minHeightImgIndex=null,a.getMinImageHeight=function(e){var t,n=o[0].getElementsByClassName("product-"+e+"-image")[0];return null!==a.minHeightImgIndex?(t=o[0].getElementsByClassName("product-"+a.minHeightImgIndex+"-image")[0].scrollHeight,n.naturalHeight<t&&(t=n.naturalHeight,a.minHeightImgIndex=e)):t=a.productList.reduce(function(e,t,n){if(t.imageUrl){var i=o[0].getElementsByClassName("product-"+n+"-image")[0];i.offsetHeight<e&&(e=i.offsetHeight,a.minHeightImgIndex=n)}return e},12345),t},a.getMaxPaymentPlanHeight=function(e,t){if(a.horizontalProducts){var n=0,i=document.querySelectorAll('[id^="payment-plan-'+e.replace(/ /g,"")+'"][id$="-col"]');i&&i.length===t||setTimeout(function(){a.getMaxPaymentPlanHeight(e,t)}
12,200),i.forEach(function(e){e.clientHeight>n&&(n=e.clientHeight)}),i.forEach(function(e){e.clientHeight<n&&(e.style.height=n+"px")})}}}}}])}function _(){"use strict";var e=angular.module("ev-widget.pm.productSummary",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evProductSummary",["pm2Util","EVExceptionHandler","EVENTS",function(e,t,n){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-product-summary-v2.tpl.html",controller:["$scope","$location",function(e,t){e.queryParams=t.search(),e.getDisplayPrice=function(e){if(e){var t=parseFloat(e);e=t%1===0?t.toFixed(0).toString():t.toFixed(2).toString()}return e}}],link:function(i,r,a,o){function s(){if(i.queryParams.orderId){var t=[];e.getExistingOrder(i.queryParams.orderId).then(function(n){console.log("response from existing order",n),angular.forEach(n.orderItems,function(e){var n=e.product;n.paymentPlan=e.paymentPlan,t.push(n)}),i.order=n;var r={id:i.queryParams.orderId,products:t,deliveryAddressGroup:i.order.deliveryAddressGroup,billingAddressGroup:i.order.billingAddressGroup,paymentType:i.order.paymentType};e.saveBasket(r),EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,t),EV.Event.publish(EV.Event.PM_CREATE_ORDER_SUCCESS,i.order),console.log("getting paymentpage with order info")})["catch"](function(e){console.log("error retrieving products",e)})}}function l(t){if(console.log("initPrices scope",i),t&&(i.products=t),i.products){var n=[];angular.forEach(i.products,function(t,r,a){var o=void 0;e.getCalculatedPrices(t.paymentPlan,1,i.beneficiaryLimit&&i.beneficiaryLimit>0?i.beneficiaryLimit:0,i.loggedIn).then(function(s){if(o=s,o&&(i.products[r].paymentPlan.trialPrice=o.trialPrice,i.products[r].paymentPlan.finalPrice=o.finalPrice,i.products[r].paymentPlan.taxAmount=o.taxAmount,o.discountApplied&&(console.log("publishing event: EV.Event.PM_DISCOUNT_APPLIED_BASED_ON_ATTRIBUTES"),EV.Event.publish(EV.Event.PM_DISCOUNT_APPLIED_BASED_ON_ATTRIBUTES)),o.discountApplied&&console.log("publishing event: EV.Event.PM_DISCOUNT_APPLIED_BASED_ON_ATTRIBUTES"),o.attributeBasedDiscount&&EV.Event.publish("ev.event.hidePromoWidget")),setTimeout(function(){EV.Event.on(EV.Event.PM_REMOVE_APPLIED_PRICE,function(e){o&&(t.paymentPlan.trialPrice=null)})},0),n.push(t),r===a.length-1&&n.length>0){var l=e.getBasket();l.products=n,e.saveBasket(l)}})})}}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t="";if(e)return void(i.startDate=moment(e).format("DDMMYYYY"));if(i.startDate){t=i.startDate;var n=parseInt(t.substr(0,2)),r=parseInt(t.substr(2,2))-1,a=parseInt(t.substr(4,4)),o=new Date(a,r,n,0,0,0,0);return null===t||n>31||n<0||r>11||r<0||isNaN(o.getTime())||new Date>o?void c(new Date):void(i.startDate=moment(o).format("DDMMYYYY"))}}function d(n,r){e.createOrder().then(function(a){a&&(a.paymentType||(i.processingCheckout=!1,n&&n("Error processing the order")),e.pmGetPaymentPageWithOrderInfo(a.id).then(function(e){var t={products:i.products,providerName:e.providerName,paymentType:e.order?e.order.paymentType:null};EV.Event.publish(EV.Event.PM_REDIRECT_TO_PAYMENT,t),console.log("data ",t),r&&r()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e)}))})["catch"](function(e){i.processingCheckout=!1,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),n&&n(e.error.code||"order")})["finally"](function(){return i.isLoading=!1})}function u(n,r){e.reEvaluateOrder(n.id,{billingAddressGroup:n.billingAddressGroup,paymentFailed:i.paymentFailed}).then(function(a){e.pmGetPaymentPageWithOrderInfo(n.id).then(function(e){var t={products:i.products,providerName:e.providerName,paymentType:e.order?e.order.paymentType:null};EV.Event.publish(EV.Event.PM_REDIRECT_TO_PAYMENT,t),console.log(":::publish EV.Event.PM_REDIRECT_TO_PAYMENT"),r&&r()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e)})})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e)})}function p(){return"ev-widget.pm.productSummary-"+EV.util.random_guid()}
12function g(n){if(console.log("INIT SUMMARY"),t.removeError(i.errorWidgetGuid),console.log("initSummary called. 'products' passed to this function are ",n),n)setTimeout(function(){n.length>0&&(i.products=n)},0);else{var r=e.getBasket();r?i.products=r.products||[]:i.products=null}var a=e.getExtraProperties();i.region=null,a&&a.region&&(i.region=a.region),i.displayVertical&&f(),i.products&&m(),console.log("scope.products",i.products)}function f(){if(i.products&&i.products.length>=1)for(var e=0;e<i.products.length;e++)if(i.products[e].paymentPlan&&"NONE"===i.products[e].paymentPlan.frequency.id)return void(i.showContractLength=!0);i.showContractLength=!1}function m(){for(var e=0;e<i.products.length;e++)if(i.products[e].paymentPlan&&"NONE"!==i.products[e].paymentPlan.frequency.id)return void(i.showFrequencyHorizontalTableHeader=!0);i.showFrequencyHorizontalTableHeader=!1}i.isLoading=!0,i.loggedIn=EV.util.Storage.cookie.get("ev_ss"),i.widgetGuid=a.id||p(),i.errorWidgetGuid="error-"+i.widgetGuid,i.widgetTitle=a.title||"PRODUCT SUMMARY",r.attr("title",""),i.showHeader="false"!==a.showHeader,i.showErrorMsgs="false"!==a.showErrorMsgs,i.displayOnly="true"===a.displayOnly,i.showRemoveBtn="false"!==a.showRemoveBtn,i.showDeliveryCost="true"===a.showDeliveryCost,i.displayVertical="true"===a.displayVertical,i.showFrequency="false"!==a.showFrequency,i.paymentFailed=!1,i.startDate=i.queryParams.startDate||a.startDate,i.hideDecimalPrice="false"===a.showDecimalPrice,i.showContractLength="true"===a.showContractLength,console.log("$scope products-summary.js",i),s(),g(),c(),i.isLoading=!1;document.querySelector("ev-beneficiary-limit")&&(i.beneficiaryWidgetInitsPrices=!0),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(t){console.log("product selected - here are the products",t),t[0]&&t[0].paymentPlan&&t[0].paymentPlan.usePricePerBeneficiary&&t[0].paymentPlan.beneficiaryLimit?i.beneficiaryLimit=t[0].paymentPlan.beneficiaryLimit:t[0]&&t[0].paymentPlan&&!t[0].paymentPlan.usePricePerBeneficiary&&t[0].paymentPlan.beneficiaryLimit?i.beneficiaryLimit=t[0].paymentPlan.beneficiaryLimit:i.beneficiaryLimit=null,g(t);var n=e.getBasket();n&&(i.startDate&&(n.startDate=i.startDate),e.saveBasket(n)),console.log("EV.Event.PM_PRODUCTS_SELECTED,initPrices"),i.beneficiaryWidgetInitsPrices||l(t)}),EV.Event.on(EV.Event.PM_BENEFICIARY_LIMIT_CHANGE,function(t){var n=e.getBasket();i.beneficiaryLimit=parseInt(t.beneficiaryLimit),n&&(n.beneficiaryLimit=t.beneficiaryLimit,e.saveBasket(n)),console.log("EV.Event.PM_BENEFICIARY_LIMIT_CHANGE, initPrices"),l(n.products)}),i.submit=function(n,r){if(t.removeError(i.errorWidgetGuid),i.order&&EV.Event.publish(EV.Event.PM_CREATE_ORDER_SUCCESS,i.order),!i.loggedIn){var a=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(i.errorWidgetGuid,a),void(r&&r("Error processing the order"))}i.processingCheckout=!0;var o=e.getBasket();i.queryParams.orderId?e.pmGetPaymentPageWithOrderInfo(i.queryParams.orderId).then(function(e){console.log("paymentPageDTO",e);var t={products:i.products,providerName:e.providerName,paymentType:e.order?e.order.paymentType:null};EV.Event.publish(EV.Event.PM_REDIRECT_TO_PAYMENT,t),console.log("data ",t),n&&n()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e)})["finally"](function(){return i.isLoading=!1}):o.id?(console.log(":::reEvaluating order",o),u(o,n)):(console.log(":::creating order"),d(r,n))},i.remove=function(t){var n=i.products.splice(t,1);e.saveBasket({products:i.products}),EV.Event.publish(EV.Event.PM_REMOVE_ITEM_FROM_BASKET,n[0]),EV.Event.publish(EV.Event.PM_RESET_PROMO,n[0])},i.getPlanPrice=function(t){if(!i.region){var n=e.getExtraProperties();i.region=n&&n.region||null}return i.region?(i.deliveryItem=i.region.deliveryItems.find(function(e){return e.currency.id===t.currency.id}),i.deliveryCost=i.deliveryItem?Number(i.deliveryItem.deliveryCost):0,i.planPrice=t.trialPrice?e.calculateTrialPrice(t,i.deliveryItem.deliveryCost):e.calculateFinalPrice(t,i.deliveryItem.deliveryCost)):i.planPrice=t.trialPrice?t.trialPrice:t.finalPrice,i.planPrice},i.getPrices=function(t){var n=e.getCalculatedPrices(t,1,0,i.loggedIn);
12return console.log("prices",n),i.beneficiaryLimit&&i.beneficiaryLimit>0&&(n=e.getCalculatedPrices(t,1,i.beneficiaryLimit,i.loggedIn)),n.finalPrice},EV.Event.on(EV.Event.SOCIAL_REGISTER_SUCCESS,function(e,t){i.loggedIn=!0,g()}),EV.Event.on(EV.Event.SOCIAL_LOGIN_SUCCESS,function(e,t){i.loggedIn=!0,g()}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){i.loggedIn=!0,g()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){i.loggedIn=!1,g()}),EV.Event.on(EV.Event.PM_CLEARED_BASKET,function(){console.log("EV.Event.PM_CLEARED_BASKET"),g()}),EV.Event.on(EV.Event.PM_REMOVE_APPLIED_PRICE,function(e){g()}),EV.Event.on("ev.pm.payment.failed",function(e){i.paymentFailed=!0}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY,function(e,t){i.submit(t.successCb,t.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)})}}}])}function A(){"use strict";var e=angular.module("ev-widget.pm.purchaseCustomData",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evPurchaseCustomData",["pm2Util","EVExceptionHandler","EVENTS","$window","$translate","$timeout",function(e,t,n,i,r,a){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-purchase-custom-data.tpl.html",controller:["$scope","$location",function(e,t){e.queryParams=t.search()}],link:function(o,s,l,c){function d(){for(var e=[],t=0;t<o.formAttributes.length;t++)null!=o.formAttributes[t].value&&e.push({name:o.formAttributes[t].name,value:o.formAttributes[t].value,displayOrder:o.formAttributes[t].displayOrder});return console.log("custom data",e),e}function u(){var t=e.getBasket(),n=d();n&&(t.customData=n),e.saveBasket(t)}function p(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t)){var n=e[t];E(n)}o.isLoading=!1,a(function(){EV.Event.publish(EV.Event.PM_PURCHASE_CUSTOM_DATA_LOADED,{widgetId:o.widgetGuid})},0)}function g(e){v(e)}function f(e){var t=new URLSearchParams(i.location.search);return t.has(e)?t.get(e):null}function m(){return"ev-widget.pm.purchaseCustomData-"+EV.util.random_guid()}function h(){e.getPurchase(o.purchaseId).then(function(e){if(e.customData&&e.customData.length>0)for(var t=0;t<e.customData.length;t++)for(var n=0;n<o.formAttributes.length;n++)if(o.formAttributes[n].name===e.customData[t].name){"checkbox"===o.formAttributes[n].type?(o.formAttributes[n].options[0].value="true"===e.customData[t].value,o.formAttributes[n].value="true"===e.customData[t].value):"radiobutton"===o.formAttributes[n].type?(o.formAttributes[n].options[0].value=e.customData[t].value,o.formAttributes[n].value=e.customData[t].value):o.formAttributes[n].value=e.customData[t].value;break}},function(e){console.error("Error retrieving purchase",e)})}function v(t){e.getPurchase(o.purchaseId).then(function(n){if(n.customData&&n.customData.length>0){for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){for(var r=t[i],s={isTrue:!1,index:-1},l=0;l<n.customData.length;l++)if(n.customData[l].name===i){s.isTrue=!0,s.index=l;break}s.isTrue?E(r,n.customData[s.index].value):E(r)}o.isLoading=!1,a(function(){EV.Event.publish(EV.Event.PM_PURCHASE_CUSTOM_DATA_LOADED,{widgetId:o.widgetGuid})},0)}else e.getCustomDataFields().then(function(e){p(e),o.isLoading=!1,a(function(){EV.Event.publish(EV.Event.PM_PURCHASE_CUSTOM_DATA_LOADED,{widgetId:o.widgetGuid})},0)},function(e){console.log("[getCustomDataFields] error",e)})},function(e){console.error("Error retrieving purchase",e)})}function E(e,t){"CHECKBOX"===e.typeInput?o.formAttributes.push({description:e.description,label:e.displayName,mandatory:e.mandatory||!1,name:e.id,type:e.typeInput.toLowerCase(),options:[{value:t?t:"false",caption:e.description}],displayOrder:e.displayOrder,value:"true"===t}):"RADIO"===e.typeInput?o.formAttributes.push({description:e.description,label:e.displayName,mandatory:e.mandatory||!1,name:e.id,type:"radiobutton",options:e.options,displayOrder:e.displayOrder,value:t}):"DROPDOWN"===e.typeInput?o.formAttributes.push({description:e.description,label:e.displayName,mandatory:e.mandatory||!1,name:e.id,type:e.typeInput.toLowerCase(),options:e.options,displayOrder:e.dis
12playOrder,value:t}):o.formAttributes.push({description:e.description,label:e.displayName,mandatory:e.mandatory||!1,name:e.id,type:e.typeInput.toLowerCase(),minLength:e.minLength,maxLength:e.maxLength,displayOrder:e.displayOrder,value:t})}function b(e,n,i,a,s){var l="ev.widgets.errors."+e;if(r(l).then(function(r){var a=void 0;a="string"==typeof i?EV.util.error(e,r,n,[i]):EV.util.error(e,r,n,i),t.handleError(o.errorWidgetGuid,a)}),a)throw new Error(s)}o.loggedIn=EV.util.Storage.cookie.get("ev_ss"),o.widgetGuid=l.id||m(),o.errorWidgetGuid="error-"+o.widgetGuid,o.showErrorMsgs="false"!==l.showErrorMsgs,o.widgetTitle=l.title||"PURCHASE CUSTOM DATA",s.attr("title",""),o.showHeader="false"!==l.showHeader,o.showLabels="false"!==l.showLabels,o.usedByPurchaseList="true"===l.usedByPurchaseList,o.formAttributes=[],o.isLoading=!0,o.purchase=null,o.purchaseId=l.purchaseId||f("purchaseId"),EV.Event.on(EV.Event.PM_PURCHASE_CUSTOM_DATA_UPDATE_PURCHASE_ID,function(e){o.usedByPurchaseList||(o.purchaseId=e,h())}),o.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(){u()}),EV.Event.on(EV.Event.PM_PURCHASE_CUSTOM_DATA_SUBMIT,function(e){u()}),EV.Event.on(EV.Event.PM_PURCHASE_CUSTOM_DATA_SUBMIT,function(e){o.usedByPurchaseList||(o.purchaseId=e,o.submitForm())});var y="ev.widgets.purchaseCustomData.buttons.submit";r(y).then(function(e){o.submitbtnCaption=e},function(){o.submitbtnCaption=l.submitbtnCaption||"Submit"});var w="ev.widgets.purchaseCustomData.buttons.cancel";r(w).then(function(e){o.cancelbtnCaption=e},function(){o.cancelbtnCaption=l.cancelbtnCaption||"Cancel"}),e.getCustomDataFields().then(function(e){o.usedByPurchaseList?g(e):p(e)},function(e){console.log("[getCustomDataFields] error",e)}),o.submitForm=function(n){if(console.log("submit purchase data, form = :",n),t.removeError(o.errorWidgetGuid),!o.evPurchaseCustomDataForm.$valid)return void(o.showMandatory=!0);EV.Event.publish(EV.Event.PM_PURCHASE_CUSTOM_DATA_SUBMITTING_FORM);var i=d();if(o.purchaseId)e.updatePurchaseWithCustomData(o.purchaseId,i).then(function(e){t.removeError(o.errorWidgetGuid),EV.Event.publish(EV.Event.PM_PURCHASE_CUSTOM_DATA_PURCHASE_UPDATED,e)})["catch"](function(e){if(e.error&&"BEX0001"===e.error.code){var n=e.error.message.match('(?<=\\")(.*?)(?=\\")');b("custom_data_required_field",e.statusCode,n[0],!1)}else{var i=EV.util.error(e.error.code,e.error.message,e.statusCode);o.isLoading=!1,t.handleError(o.errorWidgetGuid,i)}EV.Event.publish(EV.Event.PM_ERROR,error),EV.Event.publish(EV.Event.PM_PURCHASE_CUSTOM_DATA_PURCHASE_UPDATE_ERROR,e); 13});else{var r=e.getBasket(),a=d();a&&(r.customData=a),e.saveBasket(r)}},EV.Event.on(EV.Event.PM_PURCHASE_CUSTOM_DATA_LOADED,function(e){o.usedByPurchaseList||e.widgetId===o.widgetGuid&&o.purchaseId&&a(function(){h()},0)})}}}])}function T(){"use strict";var e=angular.module("ev-widget.pm.purchases",[]);e.directive("evPurchasesList",["pm2Util","subscriptionsUtil","EVExceptionHandler","changePurchaseUserAction",function(e,t,n,i){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-purchases-list.tpl.html",controller:["EVExceptionHandler","$scope","$uibModal","$q","$translate","$attrs","$element","$http",function(n,r,a,o,s,l,c,d){function u(){if(n.removeError(r.errorWidgetGuid),r.loggedIn)o.all([m(),f(),v()])["catch"](function(e){e.error&&e.error.code&&e.error.code.includes("product_not_found")||(console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),n.handleError(r.errorWidgetGuid,e))})["finally"](function(){r.isLoading=!1});else{r.isLoading=!1;var e=EV.util.error("not_logged_in","Not Logged In",400);EV.Event.publish(EV.Event.PM_ERROR,e),n.handleError(r.errorWidgetGuid,e)}}function p(){return"ev-widget.pm.purchases-"+EV.util.random_guid()}function g(){return r&&r.session?r.session:EV.util.getEVSession()}function f(){return null!=g()&&g().guid?t.getAllBeneficiaries(g().guid).then(function(e){r.listBeneficiaries=e,r.$apply()}):(g()||EV.Core.refreshSSOSession(),void EV.Event.on(EV.Event.SESSION_REFRESH,function(e){if(null!=g()&&g().guid)return t.getAllBeneficiaries(g().guid).then(function(e){r.listBeneficiaries=e,r.$apply()})}))}function m(){return e.getPurchases().then(function(e){e.forEach(function(e){e.tmpOrderDate=new Date(e.createdDate);var t=e.order.orderItems.find(function(t){return t.orderItemId==e.orderItemId});e.paymentPlan=t.paymentPlan||t.bundlePlan,r.giftPurchases||(r.giftPurchases=r.isGift(e))}),e=e.filter(function(e){return r.statusesToDisplay.includes(e.status)}),"All"!==r.orderTypesToDisplay[0]&&(e=e.filter(function(e){return r.orderTypesToDisplay.includes(e.orderType)})),"All"!==r.channelsToDisplay[0]&&(e=e.filter(function(e){return r.channelsToDisplay.includes(e.channel)})),"All"!==r.brands[0]&&(e=e.filter(function(e){return r.brands.includes(e.brand)})),r.purchases=e,_()})}function h(){return e.getBeneficiaryDetails().then(function(e){r.beneficiaryDetails=e})["catch"](function(e){console.log(e)})}function v(){return r.showCancelReasons?e.getCancelReasons().then(function(e){r.cancelReasons=e}):void(r.cancelReasons=[])}function E(e,t){console.log("opening change address modal");var n=r.$new(!0);n.scope=n,n.purchase=e,n.addressType=t,n.errorMessage="",n.addressAttributesSuffix=r.addressAttributesSuffix,n.deliveryAddressHiddenAttributes=r.deliveryAddressHiddenAttributes,n.billingAddressHiddenAttributes=r.billingAddressHiddenAttributes,console.log("$scope.mandatoryAttributes in purchase-list",r),n.mandatoryAttributes=r.mandatoryAttributes,a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-address.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-address",size:"lg",keyboard:!0,backdrop:!1,scope:n,controller:"ChangeAddressCtrl"})}function b(e,t){console.log("opening edit billing address modal");var n=r.$new(!0);n.scope=n,n.purchase=e,n.addressType=t,n.errorMessage="",n.addressAttributesSuffix=r.addressAttributesSuffix,n.deliveryAddressHiddenAttributes=r.deliveryAddressHiddenAttributes,n.billingAddressHiddenAttributes=r.billingAddressHiddenAttributesForEditing,n.mandatoryAttributes=r.mandatoryAttributesForEditing,a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-edit-billing-address.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-address",size:"lg",keyboard:!0,backdrop:!1,scope:n,controller:"EditBillingAddressCtrl"})}function y(e,t){var n=r.subscribePagePath+"?pRenewal=true&";t&&(n+="startDate="+t.toLocaleDateString("en-GB").replaceAll("/","")+"&"),r.renewalProduct&&(n+="productName="+e.orderItem.product.name+"&"),r.renewalPlan&&(n+="paymentPlans="+e.paymentPlan.name+"&"),window.location.href=n}function w(e){console.log("Display Latest Invoice",e);var t=e.id,n=e.invoiceHistory[e.invoiceHistory.length-1].id,i=EV.util.Storage.cookie.get("ev_ss"),r=EV.PM.pmDomain+"/widget",a=r+"/account/transactions/"+t+"/"+n+"?ev_ss="+i;d.get(a,{responseType:"arraybuffer"}).then(function(e){var t=new Blob([e.data],{type:"application/pdf"}),n=URL.createObjectURL(t);window.open(n,"_blank")})["catch"](function(e){return console.log("error",e)})}function S(e){console.log("display invoice",e);var t=(e.invoice.filePath,e.invoice.id),n=e.id,i=EV.util.Storage.cookie.get("ev_ss"),r=EV.PM.pmDomain,a=r+"/widget",o=a+"/account/transactions/"+n+"/"+t+"?ev_ss="+i;d.get(o,{responseType:"arraybuffer"}).then(function(e){var t=e.headers("Content-Type");if(t&&t.toLowerCase().includes("application/json")){var n=(new TextDecoder).decode(e.data);return JSON.parse(n)}return e}).then(function(e){if(e&&e.externalInvoiceUrl)window.open(e.externalInvoiceUrl,"_blank");else{var t=new Blob([e.data],{type:"application/pdf"}),n=URL.createObjectURL(t);window.open(n,"_blank")}})["catch"](function(e){return console.log("error",e)})}function C(e,t){var n=r.$new(!0);n.beneficiary=e,n.filteredListBeneficiaries=t,a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-confirm-dialog.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-confirm-dialog",keyboard:!0,backdrop:!0,scope:n,controller:["$scope","$uibModalInstance",function(n,i){n.cancel=function(){i.close()},n.confirm=function(){T(e,t,n),i.close()}}]})}function P(){return window.matchMedia("(max-width: 767.98px)").matches}function _(){for(var e=0;e<r.purchases.length;e++)"NONE"!==r.purchases[e].paymentPlan.frequency.id&&"CANCELLED"!==r.purchases[e].status&&"CANCEL_PENDING"!==r.purchases[e].status||(r.showEndDateHorizontalTableHeader=!0),r.showNextPaymentDate&&"NONE"!==r.purchases[e].paymentPlan.frequency.id&&"CANCELLED"!==r.purchases[e].status&&"CANCEL_PENDING"!==r.purchases[e].status&&(r.showNextPaymentDateHorizontalTableHeader=!0)}function A(e,i,r,a){t.inviteBeneficiary(g().guid,r,e,i).then(function(e){a.showErrorMsgs=!1,a.notificationSuccess=!0,f(),EV.Event.publish(EV.Event.PM_BENEFICIARY_INVITED)})["catch"](function(e){a.showErrorMsgs=!0,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),n.handleError(a.widgetGuid,e)})}function T(t,i,r){e.deleteBeneficiary(t.key).then(function(e){var n=i.indexOf(t),r=i[n];i.splice(n,1),f(),EV.Event.publish(EV.Event.PM_BENEFICIARY_DELETED,r)},function(e){r.showErrorMsgs=!0,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),n.handleError(r.widgetGuid,e)})}r.session=EV.util.getEVSession()||g(),r.loggedIn=EV.util.Storage.cookie.get("ev_ss"),r.widgetGuid=l.id||p(),r.errorWidgetGuid="error-"+r.widgetGuid,r.widgetTitle=l.title||"PURCHASES LIST",c.attr("title",""),r.showErrorMsgs="false"!==l.showErrorMsgs,r.showHeader="false"!==l.showHeader,r.showActions="true"===l.showActions,r.showBeneficiaries=l.showBeneficiaries?l.showBeneficiaries:"false",r.showTransactions=l.showTransactions?l.showTransactions:"false",r.showInvoiceFormat=l.showInvoiceFormat?l.showInvoiceFormat:"false",r.showNumberBeneficiaries="true"===l.showNumberBeneficiaries,r.showChangeCard="true"===l.showChangeCard,r.showGenerateQrCode="true"===l.showGenerateQrCode,r.showCancelPurchase="true"===l.showCancelPurchase,r.showRevertCancellation="true"===l.showRevertCancellation,r.hideRevertCancelMigrated="true"===l.hideRevertCancelMigrated,r.showCancelReasons="true"===l.showCancelReasons,r.showProductPlanChanges="true"===l.showProductPlanChanges,r.showAddCard="true"===l.showAddCard,r.hideProductDisplayName="false"===l.showProductDisplayName,r.hidePlanDisplayName="false"===l.showPlanDisplayName,r.showPlanDescription="true"===l.showPlanDescription,r.showStartDate="false"!==l.showStartDate,r.showEndDate="false"!==l.showEndDate,r.showRollingSubEndDate=null!=l.hideRollingsubEndDate&&"false"===l.hideRollingsubEndDate,r.showFrequency="false"!==l.showFrequency,r.showOrderType="true"===l.showOrderType,r.showNextPaymentDate="true"===l.showNextPaymentDate,r.subscribePagePath=l.subscribePagePath,r.showRenewPurchase=null!=r.subscribePagePath,r.statusesToDisplay=l.statusesToDisplay?l.statusesToDisplay.split(","):["ACTIVE","ACTIVE_PENDING","PENDING","CANCEL_PENDING","INACTIVE"],r.orderTypesToDisplay=l.orderTypesToDisplay?l.orderTypesToDisplay.split(","):EV.PM.orderType?[EV.PM.orderType]:["All"],r.channelsToDisplay=l.channelsToDisplay?l.channelsToDisplay.split(","):EV.PM.channel?[EV.PM.channel]:["All"],r.showCustomData="true"===l.showCustomData,r.customDataShowHeader="false"!==l.customDataShowHeader,r.customDataShowLabels="false"!==l.customDataShowLabels,r.displayVertical="true"===l.displayVertical,r.showBillingChangeAddress="true"===l.showBillingChangeAddress,r.showDeliveryChangeAddress="true"===l.showDeliveryChangeAddress,r.deliveryAddressHiddenAttributes=l.deliveryAddressHiddenAttributes?JSON.parse(l.deliveryAddressHiddenAttributes.replace(/'/g,'"')):null,r.billingAddressHiddenAttributes=l.billingAddressHiddenAttributes?JSON.parse(l.billingAddressHiddenAttributes.replace(/'/g,'"')):null,r.addressAttributesSuffix=l.addressAttributesSuffix||"_country",r.brands=l.showBrands?l.showBrands.split(","):EV.PM.brand?[EV.PM.brand]:["All"],r.giftPurchases=!1,r.isLoading=!0,r.renewalProduct="true"===l.renewalProduct,r.renewalPlan="true"===l.renewalPlan,r.showDiscount="true"===l.showDiscount,r.showPaymentSchema="true"===l.showPaymentSchema,r.showPromoCodeGroup="true"===l.showPromoCodeGroup,r.showPromoCode="true"===l.showPromoCode,r.mandatoryAttributes=l.mandatoryAttributes?JSON.parse(l.mandatoryAttributes.replace(/'/g,'"')):null,r.passMandatoryCheck=!0,r.actionBtnCustomAction="true"===l.actionBtnCustomAction,r.showEmptyWidget="false"!==l.showEmptyWidget,r.showTransactionsId="false"!==l.showTransactionsId,r.showTransactionsCurrency="false"!==l.showTransactionsCurrency,r.upgradeOnly="true"==l.upgradeOnly,console.log("$attrs.::::",l),u(),h(),r.$wat
13ch("purchases",function(e,t){e&&e.length>0&&r.$evalAsync(function(){EV.Event.publish(EV.Event.PM_PURCHASES_LOADED,e)})}),r.showSubscriptionEndDate=function(e){return e.subscription&&r.showRollingSubEndDate&&"CANCEL_PENDING"!==e.status},r.showSubscriptionEndDateCancelPending=function(e){return e.subscription&&"CANCEL_PENDING"===e.status},r.showSubscriptionEndDateCancel=function(e){return e.subscription&&"CANCELLED"===e.status},r.disableActionBtn=function(e){return!(r.actionBtnCustomAction||r.actionBtnViewTransactions(e)||r.actionBtnShowInvoiceFormat(e)||r.actionBtnDisplayBeneficiaries(e)||r.actionBtnAddBeneficiaries(e)||r.actionBtnChangeCard(e)||r.actionBtnChangeBillingAddress(e)||r.actionBtnChangeDeliveryAddress(e)||r.actionBtnCancelPurchase(e)||r.actionBtnRevertCancellation(e)||r.actionBtnChangeProductPlan(e)||r.actionBtnRenewPurchase(e)||r.actionBtnBuyAgain(e)||r.actionGenerateQRAccessCode(e))},r.actionBtnViewTransactions=function(e){return!r.isExternal(e)&&"true"===r.showTransactions},r.actionBtnShowInvoiceFormat=function(e){return"true"===r.showInvoiceFormat},r.actionBtnDisplayBeneficiaries=function(e){return!r.isExternal(e)&&(r.isGift(e)&&("gift"===r.showBeneficiaries||"true"===r.showBeneficiaries)||r.isMultiUser(e)&&("multi-user"===r.showBeneficiaries||"true"===r.showBeneficiaries))&&(r.isCancellableStatus(e)||r.isPendingStatus(e)||r.isCancelPendingPurchase(e))},r.actionBtnAddBeneficiaries=function(e){return!r.isExternal(e)&&(r.isGift(e)&&("gift"===r.showBeneficiaries||"true"===r.showBeneficiaries)||r.isMultiUser(e)&&("multi-user"===r.showBeneficiaries||"true"===r.showBeneficiaries))&&(r.isCancellableStatus(e)||r.isPendingStatus(e)||r.isCancelPendingPurchase(e))},r.actionBtnChangeCard=function(e){return!r.isExternal(e)&&(r.isCardSubscription(e)||r.isPaymentGatewaySubscription(e))&&r.showChangeCard&&!r.isCompletedPurchase(e)&&!r.isCancelledPurchase(e)},r.actionBtnChangeBillingAddress=function(e){return!r.isExternal(e)&&e.billingAddressGroup&&r.showBillingChangeAddress&&!r.isCompletedPurchase(e)&&!r.isCancelledPurchase(e)},r.actionBtnChangeDeliveryAddress=function(e){return!r.isExternal(e)&&e.deliveryAddressGroup&&r.showDeliveryChangeAddress&&!r.isCompletedPurchase(e)&&!r.isCancelledPurchase(e)},r.actionBtnCancelPurchase=function(e){return!r.isExternal(e)&&r.isCancellableStatus(e)&&e.subscription&&r.showCancelPurchase},r.actionBtnRevertCancellation=function(e){return!r.isExternal(e)&&r.isCancelPendingPurchase(e)&&e.subscription&&r.showRevertCancellation&&!r.hideMigratedRevertCancel(e)},r.actionBtnChangeProductPlan=function(e){return!e.retryStatus&&!r.isExternal(e)&&r.isCancellableStatus(e)&&r.hasAlternativeProductPlans(e)&&r.showProductPlanChanges&&!r.isPayPalSubscription(e)},r.actionBtnRenewPurchase=function(e){return!r.isExternal(e)&&r.isCancellableStatus(e)&&r.showRenewPurchase&&r.isSinglePurchaseWithEndDate(e)},r.actionBtnBuyAgain=function(e){return!r.isExternal(e)&&(r.isCompletedPurchase(e)||r.isCancelledPurchase(e))&&r.showRenewPurchase||r.isCancelPendingPurchase(e)&&r.hideMigratedRevertCancel(e)&&r.showRenewPurchase},r.actionGenerateQRAccessCode=function(e){return!r.isExternal(e)&&r.showGenerateQrCode&&!r.isCompletedPurchase(e)&&!r.isCancelledPurchase(e)},r.isGift=function(e){return"GIFT"===e.order.orderType},r.isMultiUser=function(e){return"MULTI_USER"===e.order.orderType},r.isExternal=function(e){return"EXTERNAL"===e.order.orderType},r.isCardSubscription=function(e){return"CARD"===e.paymentType&&e.subscription},r.isPaymentGatewaySubscription=function(e){return"PAYMENT_GATEWAY"===e.paymentType&&e.subscription},r.isPayPalSubscription=function(e){return"PAYPAL"===e.paymentType&&e.subscription},r.isCancellableStatus=function(e){return"ACTIVE"===e.status||"ACTIVE_PENDING"===e.status},r.isPendingStatus=function(e){return"PENDING"===e.status},r.isCompletedPurchase=function(e){return"COMPLETED"===e.status},r.isCancelledPurchase=function(e){return"CANCELLED"===e.status},r.isCancelPendingPurchase=function(e){return"CANCEL_PENDING"===e.status},r.hideMigratedRevertCancel=function(e){return r.hideRevertCancelMigrated&&"MIGRATION"==e.channel},r.hasAlternativeProductPlans=function(e){var t=e.orderItem.product.changeProducts,n=e.orderItem.product.changePlans,i=e.orderItem.product.changeBundlePlans;return t&&t.length>0||n&&n.length>0||i&&i.length>0},r.toggleInvoiceFormat=function(e){var t=r.$new(!0);t.purchase=e,a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-toggle-invoice-format.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-transactions",keyboard:!0,size:"lg",backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(t,n){t.cancel=function(){n.close()},t.confirm=function(){EV.Event.publish(EV.Event.PM_TOGGLE_INVOICE_FORMAT,e),n.close()}}]})},r.displayTransactions=function(t){e.getTransactionByPurchaseId(t.id).then(function(e){e=e.map(function(e){return e.createdDate&&(e.createdDate=moment(e.createdDate).format("YYYY-MM-DD")),e.subscriptionPeriod&&e.subscriptionPeriod.startDate&&e.subscriptionPeriod.endDate&&(e.subscriptionPeriod.startDate=moment(e.subscriptionPeriod.startDate).format("YYYY-MM-DD"),e.subscriptionPeriod.endDate=moment(e.subscriptionPeriod.endDate).format("YYYY-MM-DD")),e});var t=r.$new(!0);t.transactions=e,t.loadInvoiceInNewTab=S,t.loadLatestInvoiceInNewTab=w,t.showTransactionsId=r.showTransactionsId,t.showTransactionsCurrency=r.showTransactionsCurrency,a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-transactions.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-transactions",keyboard:!0,size:"lg",backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(e,t){e.cancel=function(){t.close()}}]})})},r.displayBeneficiaries=function(e){f();var t=r.$new(!0);t.confirmDeleteBeneficiary=T,t.displayConfirmDialog=C,t.widgetGuid="ev-widget.pm.notification-"+EV.util.random_guid(),t.subscriptionItem=e,t.filteredListBeneficiaries=r.listBeneficiaries.filter(function(t){return t.subscriptionId==e.id}),a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-beneficiaries.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-beneficiaries",keyboard:!0,backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(e,t){e.cancel=function(){t.close()}}]})},r.displayNotification=function(e){var t=r.$new(!0);t.subscriptionId=e,t.addBeneficiary=A,t.widgetGuid="ev-widget.pm.notification-"+EV.util.random_guid(),t.scope=t,a.open({templateUrl:"pm-v2/purchases-list-fragments/ev-notification-v2.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-notification",keyboard:!0,backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(e,t){e.activeNotification=!0,e.cancel=function(){e.activeNotification=!1,t.close()}}]})}
13,r.changeCardDetails=function(e){EV.Event.publish("pm.changeCard",e)},r.changeBillingAddressDetails=function(e){E(e,"BILLING")},r.changeDeliveryAddressDetails=function(e){E(e,"DELIVERY")},EV.Event.on("pm.purchasesList.editBillingAddress",function(e){console.log("$scope",r),console.log(r.purchases),r.billingAddressHiddenAttributesForEditing=e.hiddenAttributes,r.mandatoryAttributesForEditing=e.mandatoryAttributes,r.purchases.forEach(function(t){if(t.id===e.purchaseId){console.log("Found the purchase",t),b(t,"BILLING");var n=!1;n||(EV.Event.on(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_OPENED,function(e){document.querySelector(".edit-billing-address #address-in-use-text")&&document.querySelector(".edit-billing-address #address-in-use-text").previousElementSibling.firstElementChild.click()}),n=!0)}})}),r.generateQRAccessCode=function(e){EV.Event.publish("pm.generateQRAccessCode",e)},r.changeProductPlan=function(e){EV.Event.publish("pm.changeProductPlan",{purchase:e,upgradeOnly:r.upgradeOnly})},r.isSinglePurchaseWithEndDate=function(e){return e.singlePurchase&&e.endDate},r.buyAgain=function(e){y(e)},r.renewPurchase=function(e){var t=new Date(e.endDate);t.setDate(t.getDate()+1),y(e,t)},r.revertCancellation=function(e){EV.Event.publish("pm.revertCancellation",e)},EV.Event.on("pm.initPurchasesList",function(){u()}),EV.Event.on(EV.Event.PM_TOGGLE_INVOICE_FORMAT,function(t){console.log("triggered the event"),console.log(t);var n=t.invoiceFormat,i=(t.order.id,t.id),r="STANDARD";r="STANDARD"===n?"COMPLETE":"STANDARD",e.changePurchaseInvoiceFormat(i,r).then(function(e){t.invoiceFormat=r})["catch"](function(e){return console.log(e)})}),EV.Event.on(EV.Event.PM_PURCHASE_REGEN_LAST_INVOICE,function(t){e.regenLastInvoice(t.purchaseId).then(function(e){console.log("Successful Invoice Regeneration")})["catch"](function(e){console.log("Error regenerating last invoice:",e)})}),r.cancelPurchase=function(e){EV.Event.publish("pm.cancelPurchase",{purchases:r.purchases,purchase:e,cancelReasons:r.cancelReasons})},r.isShowEndDate=function(e){return r.showEndDate?P()||r.displayVertical?"CANCELLED"===e.status||"CANCEL_PENDING"===e.status||"NONE"===e.paymentPlan.frequency.id:!!r.showEndDateHorizontalTableHeader:!P()&&!r.displayVertical&&!!r.showEndDateHorizontalTableHeader},r.isShowNextPaymentDate=function(e){return r.showNextPaymentDate?P()||r.displayVertical?"CANCELLED"!==e.status&&"CANCEL_PENDING"!==e.status&&"NONE"!==e.paymentPlan.frequency.id:!!r.showNextPaymentDateHorizontalTableHeader:!P()&&!r.displayVertical&&!!r.showNextPaymentDateHorizontalTableHeader},r.numberBenefPerSubscription=function(e){var t=0;return angular.forEach(r.listBeneficiaries,function(n){n.subscriptionId==e&&t++}),t},EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){r.loggedIn=!0,u()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){r.loggedIn=!1,r.purchases=null,r.$apply(),u()}),EV.Event.on(EV.Event.PM_ADD_BENEFICIARY_OPEN,function(e){r.displayNotification(e)}),EV.Event.on(EV.Event.PM_OPEN_CHANGE_CARD,function(e){r.changeCardDetails(e)}),EV.Event.on(EV.Event.PM_PURCHASES_LIST_REFRESH,function(){m()}),EV.Event.on(EV.Event.PM_OPEN_BENEFICIARY_LIST,function(e){r.displayBeneficiaries(e)}),EV.Event.on(EV.Event.PM_OPEN_ADD_BENEFICIARY,function(e){r.displayNotification(e)}),EV.Event.on(EV.Event.PM_OPEN_CANCEL_PURCHASE,function(e){r.cancelPurchase(e,r.cancelReasons)}),EV.Event.on(EV.Event.PM_OPEN_CHANGE_PURCHASE,function(e){r.changePurchase(e)}),EV.Event.on(EV.Event.PM_OPEN_PURCHASES_CHANGE_BILLING_ADDRESS,function(e){E(e,"BILLING")}),EV.Event.on(EV.Event.PM_OPEN_PURCHASES_CHANGE_DELIVERY_ADDRESS,function(e){E(e,"DELIVERY")}),EV.Event.on(EV.Event.PM_OPEN_CHANGE_PRODUCT_PLAN+"new",function(e){i.setErrorWidgetGuid(r.errorWidgetGuid),i.loadProductAndPlansAvailable(e)})}]}}])}function k(){"use strict";var e=angular.module("ev-widget.pm.referralCodeEntry",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evReferralCodeEntry",[function(){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-referral-code-entry.tpl.html",controller:["$scope","$attrs","$location","$element",function(e,t,n,i){function r(){return"ev-widget.pm.referralCodeEntry-"+EV.util.random_guid()}e.queryParams=n.search(),e.queryParams.rf&&(e.referralCode=e.queryParams.rf,e.hideReferralInput=!0),e.isLoading=!0,e.formErrors=[],e.translatedErrors=[],e.widgetGuid=t.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.widgetTitle=t.title||"REFERRAL CODE",i.attr("title",""),e.showHeader="false"!==t.showHeader,e.showErrorMsgs="false"!==t.showErrorMsgs,e.showLabels="false"!==t.showLabels}]}}])}function V(){"use strict";var e=angular.module("ev-widget.pm.startDateSelector",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evStartDateSelector",["pm2Util","EVExceptionHandler","EVENTS","$translate","$window",function(e,t,n,i,r){return{restrict:"E",scope:{productId:"="},templateUrl:"pm-v2/ev-startdate-selector.tpl.html",controller:["$scope","$location",function(t,n){function i(){if(t.queryParams.startDate){r();var e=moment(t.dt).format("DDMMYYYY");a(e)}}function r(){var e=t.queryParams.startDate,n=parseInt(e.substr(0,2)),i=parseInt(e.substr(2,2))-1,r=parseInt(e.substr(4,4)),a=new Date(r,i,n,0,0,0,0);n>31||n<0||i>11||i<0||isNaN(a.getTime())||t.dt>a||(t.dt=a)}function a(t){var n=e.getBasket();n&&t&&(n.customStartDate=t,e.saveBasket(n))}var o=new Date;t.pmStartDate=!0,t.queryParams=n.search(),t.dt=o,t.dateOptions={minDate:o},t.format="dd-MMMM-yyyy",t.minDate=o,i(),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(){var e=moment(t.dt).format("DDMMYYYY");a(e)}),EV.Event.on(EV.Event.PM_ERROR,function(){var e=moment(t.dt).format("DDMMYYYY");a(e)}),t.dateChange=function(){var e=moment(t.dt).format("DDMMYYYY");return t.dt<=o?(t.dt=new Date,e=moment(new Date).format("DDMMYYYY"),void a(e)):void a(e)}}],link:function(e,t,n,i){function r(){return"ev-widget.pm.startDateSelector-"+EV.util.random_guid()}e.isLoading=!0,e.isLoginRequest=!1,e.formErrors=[],e.translatedErrors=[],e.widgetGuid=n.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.widgetTitle=n.title||"Start Date",t.attr("title",""),e.showErrorMsgs="false"!==n.showErrorMsgs,e.showLabels="false"!==n.showLabels,e.showDelivery="true"===n.showDelivery,e.showHidden="true"===n.showHidden,e.showHeader="false"!==n.showHeader,e.paymentPlan="",e.isSubscription=!1,e.isSelected=!1,e.product="",e.startDate=e.queryParams&&e.queryParams.startDate||n.startDate}}}])}function I(){"use strict";var e=angular.module("ev-widget.pm.stripe",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evStripe",["pm2Util","EVExceptionHandler","EVENTS","$translate","$location","$q",function(e,t,n,i,r,a){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-stripe.tpl.html",link:function(i,o,s,l){function c(){return"ev-widget.pm.stripe-"+EV.util.random_guid()}function d(e){var t=document.getElementsByTagName("ev-checkout-button")[0];t.style.display=e,u(e)}function u(e){i.processingOrder="none"===e;
13var t=document.getElementById("stripe-submit-btn-form").getElementsByTagName("button");t.disabled=!i.processingOrder}function p(e,t){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,e),i.success=!0,t&&t()}function g(e,t,n,r,a){R.confirmPayment({elements:$,confirmParams:{return_url:D},redirect:"if_required",clientSecret:e}).then(function(e){if(console.log("::: confirm payment result:::",e),e.error)return console.log("result.error",e.error),console.log("errorCb",r),i.firstPaymentFailed=!0,i.basketId=t.id,C(r,e,!1),F=!1,d("block"),EV.Event.publish("reset.checkout.button",{}),EV.Event.publish("ev.pm.payment.failed",{}),f(e.error,a),void console.log("error returning....");"oxxo"===i.paymentMethodInfo.type&&p(e,n);var o={payment_intent_id:e.paymentIntent.id};t&&t.id&&(N=t.id),console.log("::: payload",o),console.log(":::basketID",N),P(N,o,i.checkoutSuccessCb,i.checkoutErrorCb)})["catch"](function(e){var t=document.querySelector("#error-message");t.textContent=e.message,C(i.checkoutErrorCb,e),d("none")})}function f(t,n){var i=n.metadata,r=i.evolok_transactionId,a={data:t};"invalid_request_error"===t.type&&"payment_intent_authentication_failure"===t.code&&e.validateTransaction(r,a),console.log("transactionId::",r)}function m(e,t){R.confirmSetup({clientSecret:e,elements:$,confirmParams:{return_url:D},redirect:"if_required"}).then(function(e){if(e.error)return C(i.checkoutErrorCb,e,!0),F=!1,d("block"),void EV.Event.publish("reset.checkout.button",{});console.log("result",e);var n={setupIntent:e.setupIntent};P(t.id,n,i.checkoutSuccessCb,i.checkoutErrorCb)})["catch"](function(e){console.log(e)})}function h(e){var t=null,n=null,r=e.products[0].paymentPlan.currency.id.toLowerCase(),a=e.products[0].paymentPlan,o=e.products[0].bundlePlans,s="payment";if(o&&0!=o.length){if(o){var l=o[0];t=l.trialPrice?l.trialPrice:l.finalPrice,(l.finalPrice&&0===parseFloat(l.finalPrice)||l.trialPrice&&0===parseFloat(l.trialPrice))&&(s="setup"),n=l.frequency}}else t=a.trialPrice?a.trialPrice:a.finalPrice,(a.finalPrice&&0===parseFloat(a.finalPrice)||a.trialPrice&&0===parseFloat(a.trialPrice))&&(s="setup"),n=a.frequency;var c=!1;a.offset&&a.offset.numberOfDays>0&&(c=!0);var d={currency:r,amount:Math.round(100*t),mode:s};i.providerManaged?d.paymentMethodTypes=$._commonOptions.paymentMethodTypes:d.paymentMethodTypes&&delete d.paymentMethodTypes,c&&(d.mode="setup",delete d.amount),"setup"===s&&delete d.amount,n&&n.numberOfDays>0&&(d.setupFutureUsage="off_session"),"NONE"==n.id&&(d.setupFutureUsage=null),0==n.numberOfDays&&"mxn"===r?d.paymentMethodTypes.push("oxxo"):(d.paymentMethodTypes&&d.paymentMethodTypes.includes("oxxo")&&(d.paymentMethodTypes=d.paymentMethodTypes.filter(function(e){return"oxxo"!=e})),i.providerManaged&&!d.paymentMethodTypes&&(d.paymentMethodTypes=["card"])),console.log(":::updating elementss",d),$.update(d)}function v(n,r){console.log(":::create purchase v2 starts",i.paymentMethodInfo);var a=e.getBasket();if(a&&!a.id&&i.basketId&&(a.id=i.basketId),a&&a.id){localStorage.setItem("stripePaypalOrderId",a.id);var o={create_payment_intent:!0},s=$._commonOptions;if(s&&s.paymentMethodTypes&&s.paymentMethodTypes.includes("oxxo")){document.getElementById("Field-emailInput");o.paymentMethodType="oxxo"}$.submit().then(function(s){return console.log("::: submitted element result",s),s.error?(i.firstPaymentFailed=!0,i.basketId=a.id,C(r,s,!0),F=!1,d("block"),void EV.Event.publish("reset.checkout.button",{})):void e.createSubscription(a.id,o).then(function(e){console.log(":::createSubscription response",e),e.data&&(e.data.payment_intent_secret||e.data.clientSecret)?(console.log(":::confirmPayment",e.data),g(e.data.payment_intent_secret||e.data.clientSecret,a,n,r,e.data)):(e.data.setUpIntentSecret||e.data.setup_intent_secret)&&m(e.data.setUpIntentSecret||e.data.setup_intent_secret,a)})["catch"](function(e){console.error("err",e),i.firstPaymentFailed=!0,i.basketId=a.id,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var n=document.querySelector("ev-stripe .full-screen-loader-overlay"),o=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(n.classList.remove("open"),o.classList.remove("open")),r&&r("payment")})})}console.log("::: setting scope.subscriptionCreated = true;"),i.subscriptionCreated=!0}
13function E(){i.showError=!1,i.stripeErrorMessage="",EV.Event.publish("widgets.removeError",i.errorWidgetGuid)}function b(n,r,a){if(console.log("::: old createPurchase"),n.error)console.error("Error creating Stripe Payment Method",n.error),EV.Event.publish(EV.Event.PM_ERROR,n.error),n.error&&!n.error.error?t.handleError(i.errorWidgetGuid,{error:n.error}):t.handleError(i.errorWidgetGuid,n.error),i.$apply(function(){i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var e=document.querySelector("ev-stripe .full-screen-loader-overlay"),t=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(e.classList.remove("open"),t.classList.remove("open"))}),a&&a("checkout");else if(n.createPaymentIntent)n.createPaymentIntent&&(console.log(" creating paymentIntent"),console.log(":::calling createPurchaseV2 (1) "),v(null,null));else{console.log("not creating paymentIntent",n);var o=e.getBasket(),s=n.paymentMethod.id;if(o&&o.id){var l={payment_method_id:s};return e.createSubscription(o.id,l).then(function(e){if(e.appErrorCode)throw e;if(e.data.requires_action||"requires_confirmation"===e.data.status)e.data.payment_intent_secret||e.data.clientSecret?y(o.id,e.data.payment_intent_secret||e.data.clientSecret,s,r,a):e.data.setup_intent_secret&&w(o.id,e.data.setup_intent_secret,s,r,a);else{var t={};e.data.payment_intent_id&&(t.payment_intent_id=e.data.payment_intent_id,t.payment_intent_secret=e.data.payment_intent_secret),P(o.id,t,r,a)}})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var n=document.querySelector("ev-stripe .full-screen-loader-overlay"),r=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(n.classList.remove("open"),r.classList.remove("open")),a&&a("payment")})}}}function y(e,t,n,i,r){var a={payment_method:n};R.confirmCardPayment(t,a).then(function(t){if(t.paymentIntent){var n={payment_intent_id:t.paymentIntent.id};P(e,n,i,r)}else C(r,t)})}function w(e,t,n,i,r){var a={payment_method:n};R.confirmCardSetup(t,a.payment_method?a:{}).then(function(t){if(t.setupIntent){var n={setup_intent_id:t.setupIntent.id};P(e,n,i,r)}else C(r,t)})["catch"](function(e){console.log(e)})}function S(){var t=e.getBasket();if(console.log("handleStripeElementPaymentOnLoad basket::::",t),!t)return console.log("basket is empty cannot init stripe"),void(i.initialized=!1);var n=null,r=null,a=null;if(t&&t.products){var s=t.products[0].paymentPlan,l=t.products[0].bundlePlans,c="payment";if(l&&0!=l.length){if(l){var u=l[0];n=u.frequency,a=u.currency.id.toLowerCase(),r=u.trialPrice?u.trialPrice:u.finalPrice,(u.finalPrice&&0===parseFloat(u.finalPrice)||u.trialPrice&&0===parseFloat(u.trialPrice))&&(c="setup")}}else a=s.currency.id.toLowerCase(),n=s.frequency,r=s.trialPrice?s.trialPrice:s.finalPrice,(s.finalPrice&&0===parseFloat(s.finalPrice)||s.trialPrice&&0===parseFloat(s.trialPrice))&&(c="setup");var p=!1;s.offset&&s.offset.numberOfDays>0&&(p=!0);var g={mode:c,currency:a,amount:Math.round(100*r)};"setup"===c&&delete g.amount,i.providerManaged?g.paymentMethodTypes=["card"]:g.paymentMethodTypes&&delete g.paymentMethodTypes,i.providerManaged&&0===n.numberOfDays&&"mxn"==a&&(g.paymentMethodTypes=["card","oxxo"],delete g.setupFutureUsage),p&&(g.mode="setup",delete g.amount);var f={},m={};i.inputFontFamily&&(f.fontFamily=i.inputFontFamily),i.inputFontSize&&(f.fontSizeBase=i.inputFontSize),i.inputPadding&&(m[".Input"]=m[".Input"]||{},m[".Input"].padding=i.inputPadding),(Object.keys(f).length>0||Object.keys(m).length>0)&&(g.appearance={variables:f,rules:m}),console.log("options:::",g),$=R.elements(g);var h={}; 14i.stripeLayoutOption&&i.stripeLayoutOption.layout&&(h.layout=i.stripeLayoutOption.layout);var v=$.create("payment",h);v.mount("#payment-element"),v.on("change",function(e){console.log("event:::",e);var t=document.getElementById("Field-emailInput");console.log("x:::",t);var n={provider:"stripe",type:e.value.type};EV.Event.publish("ev.widgets.stripe.paymentMethod.changed",n),i.paymentMethodInfo=n}),i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var E=document.querySelector("ev-stripe .full-screen-loader-overlay"),b=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(E.classList.remove("open"),b.classList.remove("open")),i.stripeElementsTw
14oClicksToCheckout&&d("none"),i.promoHideElement&&(i.promoHideElement=!1,o.css("display","block")),i.initialized=!0}}function C(e,n,r){console.error(n),EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(i.errorWidgetGuid,n),i.$apply(function(){i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var e=document.querySelector("ev-stripe .full-screen-loader-overlay"),t=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(e.classList.remove("open"),t.classList.remove("open"))}),e&&!r&&e("payment")}function P(n,r,a,o){e.completeSubscription(n,r).then(function(e){p(e,a)})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),o&&o("payment")})["finally"](function(){i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var e=document.querySelector("ev-stripe .full-screen-loader-overlay"),t=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(e.classList.remove("open"),t.classList.remove("open"))})}function _(){var e=document.createElement("script");e.src="https://js.stripe.com/v3/",e.onload=function(){console.log("Stripe ready!"),A()},document.body.appendChild(e),i.enableExistingCards&&O()&&V()}function A(){console.log("initStripe:::",i.initialized),t.removeError(i.errorWidgetGuid),R=Stripe(EV.PM.stripeKey),$=R.elements({fonts:[{cssSrc:"https://fonts.googleapis.com/css?family=Source+Code+Pro"}],locale:"auto"});var e=document.querySelectorAll(".stripe-payment .input");Array.prototype.forEach.call(e,function(e){e.addEventListener("focus",function(){R.elements,e.classList.add("focused")}),e.addEventListener("blur",function(){e.classList.remove("focused")}),e.addEventListener("keyup",function(){0===e.value.length?e.classList.add("empty"):e.classList.remove("empty")})});var n={base:{color:"#32325D",fontWeight:500,fontSize:"16px",fontSmoothing:"antialiased","::placeholder":{color:"#CFD7DF"},":-webkit-autofill":{color:"#e39f48"}},invalid:{color:"#E25950","::placeholder":{color:"#FFCCA5"}}}
14,r={focus:"focused",empty:"empty",invalid:"invalid"},a=[];!i.paymentTypes.includes("CARD")&&!i.paymentTypes.includes("PAYMENT_GATEWAY")||i.enableGoogleApplePay||(T(n,r,a),$=a,L(R,$),i.initialized=!0),i.paymentTypes.includes("IDEAL")&&(k(n,r,a),$=a,L(R,$),i.initialized=!0),EV.Event.publish("pm.stripe.ready"),i.initialized||(S(),console.log("STRIPE INITED"))}function T(e,t,n){var r=$.create("cardNumber",{style:e,classes:t});r.mount("#card-number"),i.cardNumber=r;var a=$.create("cardExpiry",{style:e,classes:t});a.mount("#card-expiry"),i.cardExpiry=a;var o=$.create("cardCvc",{style:e,classes:t});o.mount("#card-cvc"),i.cardCvc=o,n.push(r,a,o),i.stripeElements=n}function k(e,t,n){e.base.padding="10px 12px";var r=$.create("idealBank",{style:e,classes:t});r.mount("#ideal-bank-element"),r.on("change",function(e){i.idealBank=e.value}),$=Array.isArray($)||[],n.push(r)}function V(){if(i.isLoadingCards=!0,i.displayOnlyDefaultCard){var t=EV.PM.brand;e.retrieveCustomerDefaultCard(t).then(function(e){i.cards=e?[e]:[],i.cards.length>0?EV.Event.publish(EV.Event.PM_STRIPE_PURCHASE_CARD_EXISTS,{cardExists:!0,cardList:i.cards}):(i.isNewCard=!0,EV.Event.publish(EV.Event.PM_STRIPE_PURCHASE_CARD_EXISTS,{cardExists:!1}))})["catch"](function(e){i.isNewCard=!0,console.warn(e),EV.Event.publish(EV.Event.PM_ERROR,e)})["finally"](function(){i.isLoadingCards=!1})}else e.retrieveCustomerCards().then(function(e){i.cards=e,i.cards.length>0?EV.Event.publish(EV.Event.PM_STRIPE_PURCHASE_CARD_EXISTS,{cardExists:!0,cardList:i.cards}):(i.isNewCard=!0,EV.Event.publish(EV.Event.PM_STRIPE_PURCHASE_CARD_EXISTS,{cardExists:!1}))})["catch"](function(e){i.isNewCard=!0,console.warn(e),EV.Event.publish(EV.Event.PM_ERROR,e)})["finally"](function(){i.isLoadingCards=!1})}function I(){i.cards&&delete i.cards,i.session&&delete i.session,i.isLoadingCards=!1,i.isNewCard=!0}function L(e,t){var n={};t.forEach(function(e,t){e.on("change",function(e){if(e.error)i.showError=!0,n[t]=e.error.message,i.stripeErrorMessage=e.error.message,i.submitting=!1;else{n[t]=null;var r=Object.keys(n).sort().reduce(function(e,t){return e||n[t]},null);r?i.stripeErrorMessage=r:i.$apply(function(){i.showError=!1,i.stripeErrorMessage=""})}})})}function O(){return!i.session&&EV.util.getEVSession()&&(i.session=EV.util.getEVSession()),i.session}i.loggedIn=EV.util.Storage.cookie.get("ev_ss"),i.widgetGuid=s.id||c(),i.errorWidgetGuid="error-"+i.widgetGuid,i.widgetTitle=s.title||"PAYMENT DETAILS",o.attr("title",""),i.showHeader="false"!==s.showHeader,i.showErrorMsgs="false"!==s.showErrorMsgs,i.paymentTypes=s.paymentTypes?s.paymentTypes.split(","):["CARD"],i.defaultPayment=s.defaultPayment||"CARD",i.isSubscription="false"!==s.subscription,i.enableExistingCards="true"===s.enableExistingCards,i.displayOnlyDefaultCard="true"===s.displayOnlyDefaultCard,i.enableGoogleApplePay="true"===s.enableGoogleApplePay,i.stripeElementsTwoClicksToCheckout="true"===s.stripeElementsTwoClicksToCheckout,i.stripeLayoutOption=s.stripeLayoutOption?JSON.parse(s.stripeLayoutOption):null,i.fullScreenLoader="true"===s.fullScreenLoader,i.paymentTypeOrderCreated=!1,i.paymentMethodInfo={},i.recaptcha="true"===s.recaptcha,i.invisibleRecaptcha="true"===s.invisibleRecaptcha,i.providerManaged="true"===s.providerManaged,i.recaptchaSiteKey=EV.settings.recaptchaSiteKey,console.log(":::attrs:",s,i.providerManaged),i.inputFontSize=s.inputFontSize,i.inputPadding=s.inputPadding,i.inputFontFamily=s.inputFontFamily,i.recaptchaSiteKey||(i.recaptcha=!1),i.recaptchaRestriction=i.recaptcha===!0,i.order=null,i.cardNumber=null,i.cardExpiry=null,i.cardCvc=null,i.firstPaymentFailed=!1,i.basketId=null,i.clientSecret=null,i.orderCreated=!1,i.subscriptionCreated=!1,i.initialized=!1;var D=r.$$protocol+"://"+r.$$host;EV.PM.stripePaypalRedirectUrl&&(D=EV.PM.stripePaypalRedirectUrl);var R,N,$=[],M=["CARD","IDEAL","PAYMENT_GATEWAY"];_(),i.setReCaptchaResponse=function(e,t){i.reCaptchaSettings={widgetId:t,response:e},i.recaptchaRestriction=!1},i.setReCaptchaWidgetId=function(e){i.reCaptchaSettings={widgetId:e}},i.captchaExpiration=function(){i.reCaptchaSettings={response:null},i.recaptchaRestriction=!0},EV.Event.on(EV.Event.PM_PROMO_CODE_APPLIED,function(){i.promoHideElement=!0,o.css("display","none"),h(e.getBasket())}),i.submit=function(n,r){if(console.log(":::EV-STRIPE , scope.submit ",n,r),t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.loggedIn){var a=EV.util.error("not_logged_in","Error",400);return EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(i.errorWidgetGuid,a),void(r&&r("payment"))}var o=document.querySelector("ev-stripe .full-screen-loader-overlay"),s=document.querySelector("ev-stripe .full-screen-loader-container");if(i.fullScreenLoader&&(i.processingText="ev.widgets.checkout.processingPayment",o.
14classList.add("open"),s.classList.add("open")),"CARD"!==i.defaultPayment&&"PAYMENT_GATEWAY"!==i.defaultPayment||i.enableGoogleApplePay){if(("CARD"===i.defaultPayment||"PAYMENT_GATEWAY"===i.defaultPayment)&&i.enableGoogleApplePay){if(i.stripeErrorMessage)return void(r&&r("payment"));i.success=!1,i.submitting=!0,console.log('::: scope.defaultPayment === "CARD" && scope.enableGoogleApplePay are true calling createPurchaseV2'),console.log(":::calling createPurchaseV2 (3) "),v(n,r)}}else{if(i.stripeErrorMessage)return void(r&&r("payment"));if(i.success=!1,i.submitting=!0,i.enableExistingCards&&!i.isNewCard)if(i.selectedPaymentMethod)b({paymentMethod:{id:i.selectedPaymentMethod}},n,r);else{var l={code:"no_card_selected",message:"Please select a card",type:"validation_error"};EV.Event.publish(EV.Event.PM_ERROR,l),t.handleError(i.errorWidgetGuid,{error:l}),i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment",i.fullScreenLoader&&(o.classList.remove("open"),s.classList.remove("open"))}else R.createPaymentMethod({type:"card",card:$[0],billing_details:{}}).then(function(e){console.log("stripe.createPaymentMethod result:::",e),b(e,n,r)})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),r("payment"),i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment",i.fullScreenLoader&&(o.classList.remove("open"),s.classList.remove("open"))})}}},i.isUserLoggedIn=function(){return O()},i.selectCard=function(e){i.selectedPaymentMethod&&e===i.selectedPaymentMethod?(document.getElementById("thumbnail-"+i.selectedPaymentMethod).classList.remove("selected-card"),i.selectedPaymentMethod=null):i.selectedPaymentMethod&&e!==i.selectedPaymentMethod?(document.getElementById("thumbnail-"+i.selectedPaymentMethod).classList.remove("selected-card"),i.selectedPaymentMethod=e,document.getElementById("thumbnail-"+e).classList.add("selected-card")):(i.selectedPaymentMethod=e,document.getElementById("thumbnail-"+e).classList.add("selected-card"))},i.switchPanel=function(){i.isNewCard=!i.isNewCard||!i.isNewCard,E(),i.isNewCard?(i.selectedPaymentMethod=null,EV.Event.publish(EV.Event.PM_STRIPE_PURCHASE_PANEL_NEW_CARD)):EV.Event.publish(EV.Event.PM_STRIPE_PURCHASE_PANEL_EXISTING_CARD)},i.displayExistingCards=function(){return i.enableExistingCards&&("CARD"===i.defaultPayment||"PAYMENT_GATEWAY"===i.defaultPayment)&&i.isUserLoggedIn()&&i.cards&&i.cards.length>0&&!i.isNewCard},i.submitStripeForm=function(t,n,r){var a=e.getBasket(),o=null,s=null,l=a.products[0].paymentPlan,c=a.products[0].bundlePlans;if(c&&0!=c.length){if(c){var u=c[0];s=u.currency.id.toLowerCase(),o=u.trialPrice?u.trialPrice:u.finalPrice}}else s=l.currency.id.toLowerCase(),o=l.trialPrice?l.trialPrice:l.finalPrice;var p=!1;l.offset&&l.offset.numberOfDays>0&&(p=!0);var g="payment",f={currency:s,amount:Math.round(100*o),mode:g};p&&(f.mode="setup",delete f.amount,delete f.currency),$.update(f),t.clientSecret?$.submit().then(function(){R.confirmPayment({elements:$,confirmParams:{return_url:D},redirect:"if_required",clientSecret:t.clientSecret}).then(function(e){if(e.error)return i.firstPaymentFailed=!0,i.basketId=a.id,C(i.checkoutErrorCb,e,!0),F=!1,d("block"),void EV.Event.publish("reset.checkout.button",{});var t={payment_intent_id:e.paymentIntent.id};a&&a.id&&(N=a.id),P(N,t,i.checkoutSuccessCb,i.checkoutErrorCb)},function(e){var t=document.querySelector("#error-message");t.textContent=e.message,C(i.checkoutErrorCb,e),d("none")})})["catch"](function(e){console.log("Error submitting elements :",e)}):t.setUpIntentSecret&&$.submit().then(function(){R.confirmSetup({clientSecret:t.setUpIntentSecret,elements:$,confirmParams:{return_url:D},redirect:"if_required"}).then(function(e){if(e.error)return C(i.checkoutErrorCb,e,!0),F=!1,d("block"),void EV.Event.publish("reset.checkout.button",{});var t={setupIntent:e.setupIntent};P(a.id,t,i.checkoutSuccessCb,i.checkoutErrorCb)})["catch"](function(e){console.log(e)})})};var x=document.getElementById("payment-form"),F=!1;x.addEventListener("submit",function(e){e.preventDefault(),F||(F=!0,d("block"),i.submitStripeForm())}),i.paymentTypes.includes("PAYMENT_GATEWAY")?EV.Event.publish(EV.Event.PM_REGIST
14ER_PROVIDER_WIDGET,{paymentType:"PAYMENT_GATEWAY",selector:"ev-stripe"}):EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-stripe"}),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"IDEAL",selector:"ev-stripe"}),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){i.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"STRIPE"===e.providerName&&(i.defaultPayment=e.paymentType,EV.Event.publish(EV.Event.PM_REDIRECT_TO_STRIPE_PAYMENT,e))}),EV.Event.on(EV.Event.PM_REDIRECT_TO_STRIPE_PAYMENT,function(e){e&&"STRIPE"===e.providerName&&"google_pay"!=i.paymentMethodInfo.type&&"apple_pay"!=i.paymentMethodInfo.type&&EV.Event.publish("ev.widgets.paymentTypeSelector.orderCreated")}),EV.Event.on(EV.Event.PM_PAYMENT_TYPE_CHANGED,function(e){if(e){var t=e.name||e;M.includes(t)&&(i.defaultPayment=t)}}),EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){i.isSubscription=e.isSubscription}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){i.loggedIn=!0,i.enableExistingCards&&!i.cards&&V()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){i.loggedIn=!1,i.enableExistingCards&&I()}),EV.Event.on("ev.widgets.paymentTypeSelector.orderCreated",function(){if(console.log(":::: on ev.widgets.paymentTypeSelector.orderCreated"),i.enableGoogleApplePay){i.paymentTypeOrderCreated=!0;var t=a.defer(),n={successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}},r=e.getBasket();i.paymentTypes.includes("PAYMENT_GATEWAY")?r&&r.paymentType&&"PAYMENT_GATEWAY"===r.paymentType&&i.submit(n.successCb,n.errorCb):r&&r.paymentType&&("CARD"===r.paymentType||"IDEAL"===r.paymentType)&&i.submit(n.successCb,n.errorCb),t.promise.then(function(e){console.log("ev-stripe: Stripe Element Form ready with Google Pay/Apple Pay",e)},function(e){console.log("ev-stripe: Stripe Element Form not ready with Google Pay/Apple Pay",e)})}}),EV.Event.on("ev.widgets.stripe.purchaseCreated",function(t,n){var r=e.getBasket();return"CARD"===r.paymentType&&i.paymentTypeOrderCreated&&i.enableGoogleApplePay?(i.checkoutSuccessCb=n.successCb,i.checkoutErrorCb=n.errorCb,void(i.stripeElementsTwoClicksToCheckout?i.submit(n.successCb,n.errorCb):i.submitStripeForm(t,n.successCb,n.errorCb))):void(i.paymentTypes.includes("PAYMENT_GATEWAY")?r&&r.paymentType&&"PAYMENT_GATEWAY"===r.paymentType&&i.submit(n.successCb,n.errorCb):r&&r.paymentType&&("CARD"===r.paymentType||"IDEAL"===r.paymentType)&&i.submit(n.successCb,n.errorCb))}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(e,t){i.firstPaymentFailed&&!i.subscriptionCreated&&i.enableGoogleApplePay?(console.log("::calling createPurchaseV2 (2) "),v(t.successCb,t.errorCb)):i.enableGoogleApplePay||i.submit(t.successCb,t.errorCb)}),EV.Event.on("pm.savedBasket",function(e){console.log("EV.Event.on('pm.savedBasket:::'"),$&&Object.keys($).length>0&&i.enableGoogleApplePay&&(i.initialized?h(e):A())}),i.$on("ev.widgets.stripe.handleApplePay",function(n,r){$.submit().then(function(n){var r=e.getBasket();if(n.error)return i.firstPaymentFailed=!0,i.basketId=r.id,C(i.checkoutErrorCb,n,!0),F=!1,d("block"),void EV.Event.publish("reset.checkout.button",{});for(var a=Date.now(),o=1e4;!r.id&&Date.now()-a<o;)r=e.getBasket();if(!r.id)return void console.error("Order is still not created after 10 seconds");localStorage.setItem("stripePaypalOrderId",r.id);var s={create_payment_intent:!0};e.createSubscription(r.id,s).then(function(e){e.data&&(e.data.payment_intent_secret||e.data.clientSecret)?g(e.data.payment_intent_secret||e.data.clientSecret,r):e.data.setUpIntentSecret&&m(e.data.setUpIntentSecret,r)})["catch"](function(e){i.firstPaymentFailed=!0,i.basketId=r.id,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.submitting=!1,i.processingText="ev.widgets.stripe.submitPayment";var n=document.querySelector("ev-stripe .full-screen-loader-overlay"),a=document.querySelector("ev-stripe .full-screen-loader-container");i.fullScreenLoader&&(n.classList.remove("open"),a.classList.remove("open"))})})}),i.$on("ev.widgets.stripe.handleApplePay",function(e,t){console.log("setting orderCreated to true",i.orderCreated),i.orderCreated=!0})}}}])}function L(){"use strict";var e=angular.module("ev-widget.pm.swg.article",[]);e.directive("evSwgArticle",["icUtil","EVENTS",function(e,t){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-swg-article.tpl.html",link:function(t,n,i){function r(){return"ev-widget.pm.swg-article-"+EV.util.random_guid()}function a(){if(!t.subscriptions){var e=document.createElement("script");e.src="https://news.google.com/swg/js/v1/swg.js",document.body.appendChild(e)}}function o(){var e=document.createElement("script");e.src="https://apis.google.com/js/platform.js?onload=initGoogleApi",e.onload=function(){s()},e.defer=!0,document.body.appendChild(e)}function s(){t.googleApiKey=EV.settings.ic_social_settings.social_services.google.id,gapi.load("auth2",function(){gapi.auth2.init({client_id:t.googleApiKey,fetch_basic_profile:!0,scope:"profile"}).then(function(){t.googleApi=gapi.auth2.getAuthInstance(),c()})})}function l(e){for(var t,n=JSON.parse(atob(e.raw.split(".")[1])),i=0;i<n.entitlements.length;i++)"google"==n.entitlements[i].source&&(t=JSON.parse(n.entitlements[i].subscriptionToken).orderId);return t}function c(){(self.SWG=self.SWG||[]).push(function(n){t.subscriptions=n,n.setOnEntitlementsResponse(function(i){i.then(function(i){if(i.enablesThis()&&!t.loggedIn&&t.googleApi.isSignedIn.get()){var r={googleId:t.googleApi.currentUser.get().getBasicProfile().getId(),email:t.googleApi.currentUser.get().getBasicProfile().getEmail(),client_id:t.googleApiKey},a=EV.settings.getEVRealm(),o=l(i);EV.Core.UI.checkIdentifierValidity(a,"swg_subId",o).then(function(t){n.showLoginPrompt().then(function(){n.showLoginNotification().then(function(){var t=EV.util.promise(),n=EV.settings.getEVService();EV.Social.swgSessionLogin(r,a,n,t).then(function(t){e.handleEntitlements(i),response.complete().then(function(){console.log("swg signin ok")})})["catch"](function(e){console.log("Swg signin error",e)})})})},function(t){"USER_PROFILE_IDENTIFIERS_NOT_FOUND"===t.error.code&&n.completeDeferredAccountCreation({entitlements:i,consent:!0}).then(function(t){var n=EV.util.promise(),i=EV.settings.getEVService(),r=!0,s=!0;EV.Social.swgSession(t,a,i,s,r,n,o).then(function(n){e.handleEntitlements(t.entitlements),t.complete().then(function(){console.log("deferred account creation finished")})["catch"](function(e){console.log("DAC",e)})})["catch"](function(e){console.log("DAC",e)})})["catch"](function(e){console.log("DAC",e)})})}})["catch"](function(e){console.log("DAC",e)})})})}t.loggedIn=EV.util.Storage.cookie.get("ev_ss"),t.widgetGuid=i.id||r(),t.publicationName=i.publicationName,t.productId=i.productId,o(),a()}}}])}function O(){"use strict";var e=angular.module("ev-widget.pm.swg-upgrade",[]);e.directive("evSwgUpgrade",["icUtil","EVENTS","$timeout","$location","pm2Util","EVExceptionHandler","pmSWGService","$translate","WidgetUtil","$window","$q",function(e,t,n,i,r,a,o,s,l,c,d){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-swg-upgrade.tpl.html",link:function(e,t,n){function l(){return"ev-widget.pm.swg-upgrade-"+EV.util.random_guid()}function c(){if(a.removeError(e.errorWidgetGuid),e.loggedIn)d.all([u()])["catch"](function(t){t.error&&t.error.code&&t.error.code.includes("product_not_found")||(console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),a.handleError(e.errorWidgetGuid,t))})["finally"](function(){e.isLoading=!1,EV.Event.publish("ev.pm.swg.upgrade.purchasesLoaded",e.purchases)});else{e.isLoading=!1;var t=EV.util.error("not_logged_in","Not Logged In",400);EV.Event.publish(EV.Event.PM_ERROR,t),a.handleError(e.errorWidgetGuid,t)}}function u(){return r.getPurchases().then(function(t){t.forEach(function(e){e.tmpOrderDate=new Date(e.createdDate);var t=e.order.orderItems.find(function(t){return t.orderItemId==e.orderItemId});e.paymentPlan=t.paymentPlan||t.bundlePlan}),t=t.filter(function(e){return"SUBSCRIBE_WITH_GOOGLE"===e.paymentType&&"ACTIVE"===e.status}),t.forEach(function(t){var n=t.order.orderItems[0],i=n.paymentPlan;
14e.oldSku=i.externalIds.GOOGLE,e.upgradePaymentPlan=void 0,e.currentProduct=n.product,e.currentProduct.changePlans&&e.currentProduct.changePlans.forEach(function(t){t.externalIds&&t.externalIds.GOOGLE&&(e.upgradeSKU=t.externalIds.GOOGLE,e.upgradePaymentPlan=t)})}),e.swgPurchase=t[0],console.log("swgPurchase",e.swgPurchase),EV.Event.publish("pm.purchase.swgUpgrade.purchasesLoaded"),e.purchasesLoaded=!0})}function p(){e.order={id:null,orderItems:[],paymentType:e.swgPurchase.paymentType,deliveryAddressGroup:e.swgPurchase.deliveryAddressGroup||null,billingAddressGroup:e.swgPurchase.billingAddressGroup||null,createdDate:null,lastModifiedDate:null,version:null,orderType:e.swgPurchase.orderType},e.order.orderItems.push({product:e.currentProduct,paymentPlan:e.upgradePaymentPlan,quantity:e.swgPurchase.orderItem.quantity,startDate:new Date,startDeliveryDate:null}),g()}function g(){var t=[],n=JSON.parse(e.swgResponse.purchaseData.data);t.push({name:"swgPurchaseToken",value:n.purchaseToken,displayOrder:1}),t.push({name:"swgOrderId",value:n.orderId,displayOrder:2}),e.order.customData=t}e.loggedIn=EV.util.Storage.cookie.get("ev_ss"),e.queryParams=i.search(),e.utmCampaign=e.queryParams&&e.queryParams.utm_campaign,e.widgetGuid=n.id||l(),e.autoRegister="false"!==n.autoRegister,e.autoPopulate="false"!==n.autoPopulate,e.waitingLogin=!1,e.redirectLinking="true"===n.redirectLinking,e.isSWGDiffLogPage="true"===e.queryParams.isSWGDiffLogPage,e.newTabLinking="true"===n.newTabLinking,e.purchasesLoaded=!1,c(),s("ev.widgets.swg.processingPurchaseMsg").then(function(t){e.processingPurchaseMsg=t},function(t){e.processingPurchaseMsg=n.processingPurchaseMsg||"Please stay on this page and wait until we process the payment..."}),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"SUBSCRIBE_WITH_GOOGLE",selector:"ev-swg-upgrade"}),e.showOffers=function(){e.subscriptions.subscribe(n.skus)},EV.Event.on("ev.swg.libraryLoaded",function(){var t=document.getElementById("swgBtn-"+e.widgetGuid);e.subscriptions=o.getSwgSubscriptions(),e.subscriptions.attachButton(t,{theme:"light"},function(){e.subscriptions.showUpdateOffers({skus:[e.upgradeSKU],oldSku:e.oldSku})})}),EV.Event.on("ev.swg.onPaymentResponse",function(t){e.swgResponse=t,p(),r.changeProductPlan(e.swgPurchase.id,e.order).then(function(t){console.log("Upgraded successfully"),EV.Event.publish("ev.widgets.pm.swgUpgrade.successfullyUpgraded",t),e.success=!0})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),a.handleError(e.errorWidgetGuid,t)}).then(function(){console.log("Upgraded flow finished"),e.upgrading=!1})})}}}])}function D(){"use strict";var e=angular.module("ev-widget.pm.swg",[]);e.directive("evSwg",["icUtil","EVENTS","$timeout","$location","pm2Util","EVExceptionHandler","pmSWGService","$translate","WidgetUtil","$window",function(e,t,n,i,r,a,o,s,l,c){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-swg.tpl.html",link:function(e,t,n){function d(){return"ev-widget.pm.swg-"+EV.util.random_guid()}function u(){console.log("Creating Evolok Order."),h(),m()}function p(){var e=EV.util.getEVSession();return e&&e.guid?(console.log("User is logged in to Evolok, proceeding to generate the Order"),!0):(console.log("User not logged in. SWG at the moment can't continue, please login with Evolok"),!1)}function g(){e.creatingOrderFromSwg=!0,e.swgResponse&&c.localStorage.setItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),r.createOrder().then(function(e){e&&(e.paymentType||console.log("Error processing Order from SWG Flow, no Order.paymentType found"),f(e))})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),a.handleError(e.errorWidgetGuid,t),errorCb&&errorCb(t.error.code||"order"),e.swgResponse&&"function"==typeof e.swgResponse.complete&&e.swgResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete")}),e.defferedResponse&&"function"==typeof e.defferedResponse.complete&&e.defferedResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete")})})["finally"](function(){e.swgResponse&&"function"==typeof e.swgResponse.complete&&c.localStorage.setItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),e.isLoading=!1,e.processingCheckout=!1,v(
14)})}function f(t){var n=void 0;e.swgResponse&&(n=JSON.parse(e.swgResponse.purchaseData.data)),e.subscriptionExistsOnEv&&!e.swgResponse&&(n=JSON.parse(e.swgEntitlements.entitlements[0].subscriptionToken));var i={swgOrderId:n.orderId,swgPurchaseToken:n.purchaseToken,swgPurchaseState:n.purchaseState};r.createSubscription(t.id,i).then(function(n){console.log("Created Purchase on Evolok side",n),r.completeSubscription(t.id,i).then(function(t){console.log("Completed Purchase on Evolok side",t),e.swgResponse&&"function"==typeof e.swgResponse.complete&&e.swgResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete"),e.creatingOrderFromSwg=!1,v()}),e.defferedResponse&&"function"==typeof e.defferedResponse.complete&&e.defferedResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete")}),EV.Event.publish(EV.Event.PM_SUBSCRIPTION_APPROVED,t)})["catch"](function(t){console.error(t);var n=EV.util.error("invalid_request","Invalid request",400);EV.Event.publish(EV.Event.PM_ERROR,n),a.handleError(e.errorWidgetGuid,n),e.swgResponse&&"function"==typeof e.swgResponse.complete&&e.swgResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete"),EV.Event.publish(EV.Event.PM_SUBSCRIPTION_REJECTED),e.creatingOrderFromSwg=!1,v()}),e.defferedResponse&&"function"==typeof e.defferedResponse.complete&&e.defferedResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete")})})["finally"](function(){e.swgResponse&&c.localStorage.removeItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),EV.Event.publish("ev.swg.swgPostPurchase",{})})})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),a.handleError(e.errorWidgetGuid,t)})["finally"](function(){e.swgResponse&&"function"==typeof e.swgResponse.complete&&(c.localStorage.setItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),e.swgResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete")})),e.defferedResponse&&"function"==typeof e.defferedResponse.complete&&e.defferedResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete")}),e.creatingOrderFromSwg=!1,v()})}function m(){var t=void 0,n=void 0;e.swgResponse?(t=JSON.parse(e.swgResponse.purchaseData.data),n=t.productId):e.subscriptionExistsOnEv||(t=JSON.parse(e.swgEntitlements.entitlements[0].subscriptionToken),n=t.productId);var i=[],a=[];if(e.swgResponse&&e.swgResponse.entitlements&&0===e.swgResponse.entitlements.length)return void console.error("SWG Response doesn't contain any entitlements to check, impossible to create an Order on Evolok side");if(e.swgResponse?e.swgResponse.entitlements.entitlements.forEach(function(e,t){e.products.forEach(function(e,t){a.push(e)})}):e.swgEntitlements&&(a=e.swgEntitlements.entitlements[0].products),e.productList.forEach(function(t,r){if(t.externalIds&&t.externalIds.GOOGLE&&a.includes(t.externalIds.GOOGLE)){var o=e.productList[r];o.paymentPlans.find(function(e){e.externalIds&&e.externalIds.GOOGLE&&e.externalIds.GOOGLE===n&&(o.paymentPlan=e)}),i.push(o)}}),0===i.length||!i[0].paymentPlan)return void console.error("No match between SWG products/productId and Evolok Products/Plans, impossible to create an Order on Evolok side");var o={products:i};o.orderType="STANDARD",e.utmCampaign&&(o.utmCampaign=e.utmCampaign),o.expire=(new Date).getTime()+36e5,r.saveBasket(o);var s=r.getExtraProperties()||{};if(i[0].paymentPlan){var l=i[0].paymentPlan.restrictBillingAddress;s.restrictBillingAddress=l,l&&(s.regions=i[0].paymentPlan.regions),r.saveExtraProperties(s)}EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,i),EV.Event.publish(EV.Event.PM_PAYMENT_TYPE_CHANGED,"SUBSCRIBE_WITH_GOOGLE")}function h(){var t=document.getElementsByTagName("ev-swg"),n=document.getElementById(e.widgetGuid);if(t&&0!==t.length){var i=!0,r=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(i=(o=s.next()).done);i=!0){var l=o.value;l.firstElementChild.id!==e.widgetGuid&&(l.firstElementChild.style.visibility="hidden")}}catch(c){r=!0,a=c}finally{try{!i&&s["return"]&&s["return"]()}finally{if(r)throw a}}E(n)}}function v(){var e=document.getElementsByTagName("ev-swg");if(e&&0!==e.length){b();var t=!0,n=!1,i=void 0;try{for(var r,a=e[Symbol.iterator]();!(t=(r=a.next()).done);t=!0){var o=r.value;o.firstElementChild.style.visibility="unset"}}catch(s){n=!0,i=s}finally{try{!t&&a["return"]&&a["return"]()}finally{if(n)throw i}}}}function E(t){if(t){var n=document.createElement("div");n.id=t.id+"_loadingmessage",n.style.position="absolute",n.style.display="block",n.innerHTML=e.processingPurchaseMsg,y(n,t),t.style.visibility="hidden"}}function b(){var t=document.getElementById(e.widgetGuid+"_loadingmessage");t&&t.remove()}function y(e,t){t.parentNode.insertBefore(e,t)}function w(){e.loginRun=!1;var t="login",n=EV.settings.socialServiceName||EV.settings.serviceName;c.localStorage.getItem("evolok:swg-purchase")&&(e.swgResponse=JSON.parse(c.localStorage.getItem("evolok:swg-purchase")));var i={network:"google",credential:"ND",client_id:e.swgResponse.userData.data.aud};EV.settings.ic_social_settings.attributes_mapping.google_sub=e.swgResponse.userData.data.sub,EV.settings.ic_social_settings.attributes_mapping.google_email=e.swgResponse.userData.data.email,EV.settings.ic_social_settings.attributes_mapping.google_name=e.swgResponse.userData.data.name,EV.settings.ic_social_settings.attributes_mapping.google_given_name=e.swgResponse.userData.data.given_name||"",EV.settings.ic_social_settings.attributes_mapping.google_family_name=e.swgResponse.userData.data.family_name||"",console.log("ic_social_settings.attributes_mapping",EV.settings.ic_social_settings.attributes_mapping),EV.Social.login("google",{scope:e.extendPermissions||""},EV.settings.getEVRealm(),n,e.autoRegister,e.autoPopulate,i).then(function(e){var n="login"===t.toLocaleLowerCase()?"Social login success":"Social registration success";console.info(n,e),S(t,e),c.localStorage.getItem("evolok:swg-purchase")||g()},function(n){if("SOCIAL_EMAIL_ADDRESS_IN_USE"===n.error.code){c.localStorage.setItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),c.localStorage.setItem("evolok:swg-purchase-login-error",JSON.stringify(n));var r=void 0;if((e.redirectLinking||e.newTabLinking)&&(r=EV.PM.swgAutolikingLoginPage+(EV.PM.swgAutolikingLoginPage.includes("?")?"&":"?")+"google_sub="+e.swgResponse.userData.data.sub+"&google_email="+e.swgResponse.userData.data.email+"&google_name="+e.swgResponse.userData.data.name+"&google_given_name="+e.swgResponse.userData.data.given_name+"&google_family_name="+e.swgResponse.userData.data.family_name+"&evAutoLiking=true"),e.redirectLinking&&!p())return void EV.Event.publish("ev.swg.goToLoginPage",{redirectLink:r});if(e.newTabLinking&&!p()){var a=window.open(r,"_blank");return void a.addEventListener("beforeunload",function(e){g()})}if(p())return void EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{network:"googleSWG"})}var o="login"==t.toLocaleLowerCase()?"Social login error":"Social registration error";console.error(o,n),n.error.googleResponseData=i,P(t,n)})}function S(t,n){var i=void 0,r=void 0,a=n.network;if(n.hasOwnProperty("error")||n.hasOwnProperty("code"))return i="login"===t.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED,l.showErrorMessageAndPublishEvent(e,i,n),r=EV.util.getSocialSessionForNetwork(a),void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,r);var o=n.response||n,s={widget_guid:e.widgetGuid,ev_session:o,social_session:EV.util.getSocialSessionForNetwork(a),swg_login:!0};n.response.hasOwnProperty("socialAccountCreated")&&1==n.response.socialAccountCreated&&EV.Event.publish(EV.Event.SOCIAL_REGISTER_SUCCESS,s),EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,s),EV.util.Storage.session.get("social_to_link")&&EV.util.Storage.session.remove("social_to_link"), 15EV.Event.publish(EV.Event.SESSION_REFRESH,o),r=EV.util.getSocialSessionForNetwork(a),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,r)}function C(e){(e.error.code&&"ATTRIBUTE_REQUIRED"===e.error.code||"REQUIRED_ATTRIBUTE_MISSING"===e.error.code||"USER_NOT_REGISTERED"===e.error.code||"USER_PROFILE_NOT_FOUND"===e.error.code)&&EV.Event.publish("ev.open.modal.socialRegistration",e.error)}function P(t,n){if(EV.Event.on(EV.Event.SOCIAL_REGISTER_FAILED,C),EV.Event.on(EV.Event.SOCIAL_LOGIN_FAILED,C),n.error.code&&"SOCIAL_EMAIL_ADDRESS_IN_USE"===n.error.code){var i=[{name:n.error.args[0],value:n.error.args[1]}];if(n.error.args){var r=n.error.args[2].split(",");if(1===r.length&&""===r[0])r=[],EV.Event.publish("hide.social",{networks:r}),EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish(EV.Event.USER_IDENTIFIED,i);else{var a="true"===n.error.args[3];r=r.map(function(e){return e.toLowerCase()}),a?(EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish("user.identified.with.socials",{networks:r}),EV.Event.publish(EV.Event.USER_IDENTIFIED,i)):(r.length>1?EV.Event.publish(EV.Event.SOCIALS_LINK_AUTHENTICATION,r):EV.Event.publish(r[0]+".link.authentication"),EV.Event.publish("hide.ic.login",{networks:r}))}}EV.Event.publish("social.login.existing.email.attempted",{socialNetwork:n.network})}e.swgResponse&&"function"==typeof e.swgResponse.complete&&(c.localStorage.setItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),e.swgResponse.complete().then(function(){console.log("setOnPaymentResponse.response.complete"),e.creatingOrderFromSwg=!1,v()}));var o=EV.util.getSocialSessionForNetwork(n.network);EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,o);var s="login"===t.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED;
15n.error.network=n.network,l.showErrorMessageAndPublishEvent(e,s,n)}e.loggedIn=EV.util.Storage.cookie.get("ev_ss"),e.queryParams=i.search(),e.utmCampaign=e.queryParams&&e.queryParams.utm_campaign,e.widgetGuid=n.id||d(),e.autoRegister="false"!==n.autoRegister,e.autoPopulate="false"!==n.autoPopulate,e.redirectLinking="true"===n.redirectLinking,e.isSWGDiffLogPage="true"===e.queryParams.isSWGDiffLogPage,e.newTabLinking="true"===n.newTabLinking,e.loginRun=!0,e.subscriptionExistsOnEv=!0,e.productList=[],s("ev.widgets.swg.processingPurchaseMsg").then(function(t){e.processingPurchaseMsg=t},function(t){e.processingPurchaseMsg=n.processingPurchaseMsg||"Please stay on this page and wait until we process the payment..."}),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"SUBSCRIBE_WITH_GOOGLE",selector:"ev-swg"}),EV.Event.on("ev.swg.libraryLoaded",function(){var t=document.getElementById("button-"+e.widgetGuid);if(t.addEventListener("click",function(t){e.proceedWidget=t.target.id==="button-"+e.widgetGuid}),e.subscriptions=o.getSwgSubscriptions(),e.subscriptions.attachButton(t,{theme:"light"},e.showOffers),e.isSWGDiffLogPage&&JSON.parse(c.localStorage.getItem("evolok:swg-purchase"))&&r.getBasket()){if(e.swgResponse=JSON.parse(c.localStorage.getItem("evolok:swg-purchase")),n.skus!==JSON.parse(e.swgResponse.purchaseData.data).productId)return;g()}}),EV.Event.on("ev.swg.onPaymentResponse",function(t){n.skus===JSON.parse(t.purchaseData.data).productId&&e.proceedWidget&&(e.swgResponse=t,e.swgPurchaseFlowRun=!0,c.localStorage.removeItem("evolok:swg-purchase",JSON.stringify(e.swgResponse)),u())}),e.testPurchase=function(){u()},e.showOffers=function(){e.subscriptions.subscribe(n.skus)},window.addEventListener("ev.ad.authorize",function(t){e.authSegments=t.detail.segments}),EV.Event.on("social-login.success",function(t){return e.authSegments&&e.authSegments.includes("SWG_Subscriber")?void console.log("swg subscription exists by segment definition"):void("google"===t.ev_session.network&&e.subscriptions.getEntitlements().then(function(t){e.swgEntitlements=t,0===e.swgEntitlements.entitlements.length||e.isSWGDiffLogPage||e.swgPurchaseFlowRun||r.getPurchases().then(function(t){var n=!1,i=JSON.parse(e.swgEntitlements.entitlements[0].subscriptionToken),r=i.purchaseToken,a=!0,o=!1,s=void 0;try{for(var l,c=t[Symbol.iterator]();!(a=(l=c.next()).done);a=!0){var d=l.value;if("SUBSCRIBE_WITH_GOOGLE"===d.paymentType&&"ACTIVE"===d.status||d.externalId===r){n=!0,console.log("a subscription was found, no swg subscription to create");break}}}catch(u){o=!0,s=u}finally{try{!a&&c["return"]&&c["return"]()}finally{if(o)throw s}}n||(e.subscriptionExistsOnEv=!1,e.subscriptions.completeDeferredAccountCreation({entitlements:e.swgEntitlements,consent:!0}).then(function(t){e.productList?m():e.getProducts(),e.defferedResponse=t},function(e){console.log(e)}))})["catch"](function(t){"product_not_found"===t.error.code&&(e.subscriptionExistsOnEv=!1,e.subscriptions.completeDeferredAccountCreation({entitlements:e.swgEntitlements,consent:!0}).then(function(t){e.productList?m():e.getProducts(),e.defferedResponse=t},function(e){console.log(e)}))})}))}),e.getProducts=function(){var t=EV.util.Storage.cookie.get("ev_sid");EV.PM.productName?r.getProductLite(EV.PM.productName,!1,!1,!1,t).then(function(t){e.productList=[],e.productList.push(t),m()},function(e){throw e}):EV.PM.productGroupName?r.getProducts(EV.PM.productGroupName,!1,!1,t).then(function(t){e.productList=t.products,m()},function(e){throw e}):console.log("no product name/group specified")},e.once=!1,EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(t){t.forEach(function(t){var n=e.productList.some(function(e){return t.id===e.id});n||e.productList.push(t)}),e.isSWGDiffLogPage&&!r.getBasket()&&(e.swgResponse=JSON.parse(c.localStorage.getItem("evolok:swg-purchase")),u(),g())}),e.proceedOnce=!1,EV.Event.on("pm.paymenttype.savedInBasket",function(t){var i=void 0,a=void 0;if(e.swgResponse?(i=JSON.parse(e.swgResponse.purchaseData.data),a=i.productId):e.subscriptionExistsOnEv||(i=JSON.parse(e.swgEntitlements.entitlements[0].subscriptionToken),a=i.productId),(a===n.skus||!e.subscriptionExistsOnEv)&&!e.proceedOnce&&("SUBSCRIBE_WITH_GOOGLE"===t&&"SUBSCRIBE_WITH_GOOGLE"===r.getBasket().paymentType&&(e.proceedOnce=!0),e.swgResponse||!e.subscriptionExistsOnEv))return"SUBSCRIBE_WITH_GOOGLE"===t||!e.swgResponse&&e.subscriptionExistsOnEv||"SUBSCRIBE_WITH_GOOGLE"===r.getBasket().paymentType?p()&&!e.subscriptionExistsOnEv?(e.subscriptionExistsOnEv=!0,void g()):void(e.loginRun&&(e.loginRun=!1,w())):(console.log("publish(EV.Event.PM_PAYMENT_TYPE_ENFORCE 1"),void EV.Event.publish(EV.Event.PM_PAYMENT_TYPE_ENFORCE,"SUBSCRIBE_WITH_GOOGLE"))}),EV.Event.on("social.login.existing.email.attempted",function(t){e.socialLoginAttempted=!0}),EV.Event.on(EV.Event.AUTO_SOCIAL_LINK_SUCCESS,function(t){e.loginRun!==!0&&g()})}}}])}function R(){"use strict";var e=angular.module("ev-widget.pm.upgradePurchase",[]);e.directive("evUpgradePurchase",["pm2Util","EVENTS","subscriptionsUtil","EVExceptionHandler","$t
15imeout",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-upgrade-purchase.tpl.html",controller:["EVExceptionHandler","EVENTS","$scope","$rootScope","$uibModal","$q","$translate","$attrs","$element","$http",function(t,i,a,o,s,l,c,d,u,p){function g(){if(e.saveBasket({}),t.removeError(a.errorWidgetGuid),a.loggedIn)l.all([v(),h(),y()]).then(function(){E()})["catch"](function(e){e.error&&e.error.code&&e.error.code.includes("product_not_found")||(console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e))})["finally"](function(){a.isLoading=!1});else{a.isLoading=!1;var n=EV.util.error("not_logged_in","Not Logged In",400);EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(a.errorWidgetGuid,n)}}function f(){return"ev-widget.pm.purchases-"+EV.util.random_guid()}function m(){return a&&a.session?a.session:EV.util.getEVSession()}function h(){return null!=m()&&m().guid?n.getAllBeneficiaries(m().guid).then(function(e){a.listBeneficiaries=e,a.$apply()}):(m()||EV.Core.refreshSSOSession(),void EV.Event.on(EV.Event.SESSION_REFRESH,function(e){if(null!=m()&&m().guid)return n.getAllBeneficiaries(m().guid).then(function(e){a.listBeneficiaries=e,a.$apply()})}))}function v(){return e.getPurchases().then(function(e){e.forEach(function(e){e.tmpOrderDate=new Date(e.createdDate);var t=e.order.orderItems.find(function(t){return t.orderItemId==e.orderItemId});e.paymentPlan=t.paymentPlan||t.bundlePlan,a.giftPurchases||(a.giftPurchases=a.isGift(e))}),e=e.filter(function(e){return a.statusesToDisplay.includes(e.status)}),"All"!==a.orderTypesToDisplay[0]&&(e=e.filter(function(e){return a.orderTypesToDisplay.includes(e.orderType)})),"All"!==a.channelsToDisplay[0]&&(e=e.filter(function(e){return a.channelsToDisplay.includes(e.channel)})),"All"!==a.brands[0]&&(e=e.filter(function(e){return a.brands.includes(e.brand)})),a.purchases=e,M()})}function E(){a.changeProductPlanMappings={},a.purchases.forEach(function(t){var n=t.orderItem.product;e.getChangeProductsAndPlans(n.id).then(function(e){console.log("data:::",e),e.changeBundlePlans&&(n.changeBundlePlans=e.changeBundlePlans),a.changeProductPlanMappings[t.id]=e,a.changeProductPlanMappings[t.id].changeProducts.push(n),r(function(){EV.Event.publish(EV.Event.PM_UPGRADE_PRODUCTS_LOADED,e)})})})}function b(){return e.getBeneficiaryDetails().then(function(e){a.beneficiaryDetails=e})["catch"](function(e){console.log(e)})}function y(){return a.showCancelReasons?e.getCancelReasons().then(function(e){a.cancelReasons=e}):void(a.cancelReasons=[])}function w(e){return e.bundlePlan?e.bundlePlan:e.paymentPlan}function S(e){return"BUNDLE"===e.type}function C(e){var t=a.currentPurchase.orderItem,n=t.paymentPlan?t.paymentPlan.frequency:t.bundlePlan.frequency;return e=e.filter(function(e){var t=e.frequency,i=V(n),r=V(t);return!(i>r)})}function P(e,t){var n=angular.copy(a.upgradeMappings),i=w(e.orderItem),r=e.orderItem.product,o=[],s=a.changeProductPlanMappings[e.id];o=n.filter(function(e){return e.planId===i.id&&e.upgradeOption.productId===t.id});var l=[];a.alternativePlans=[];var c=s.changeProducts.find(function(e){return e.id===t.id});c.id===r.id?c.changePlans&&c.changePlans.length>0?l=c.changePlans:c.changeBundlePlans&&c.changeBundlePlans.length>0&&(l=c.changeBundlePlans):l=S(t)?c.bundlePlans:c.paymentPlans;var d=o.map(function(e){return e.upgradeOption.planId});
15a.upgradeOnly&&(l=C(l)),d&&d.length>0&&(l=l.filter(function(e){return d.includes(e.id)})),Array.prototype.push.apply(a.alternativePlans,l)}function _(e){var t=l.defer();return o.$broadcast(e,{successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}}),t.promise}function A(){var t=e.getBasket();a.order={id:null,orderItems:[],paymentType:a.currentPurchase.paymentType,deliveryAddressGroup:t.deliveryAddressGroup||null,billingAddressGroup:t.billingAddressGroup||null,createdDate:null,lastModifiedDate:null,version:null,orderType:a.currentPurchase.orderType};var n={product:a.selectedProduct,paymentPlan:a.isBundle?null:a.selectedPlan,bundlePlan:a.isBundle?a.selectedPlan:null,quantity:a.currentPurchase.orderItem.quantity,startDate:null,startDeliveryDate:null};a.order.orderItems.push(n)}function k(t){var n=a.selectedPlan.id,i=t.id;return e.checkIsInvoiceRequired(i,n).then(function(e){return a.isInvoiceRequired=e.isInvoiceRequired,e.isInvoiceRequired})}function V(e){return"DAY"===e.periodType?e.numberOfDays:"MONTH"===e.periodType?30*e.numberOfDays:"YEAR"===e.periodType?365*e.numberOfDays:void 0}function I(e,t){console.log("opening change address modal");var n=a.$new(!0);n.scope=n,n.purchase=e,n.addressType=t,n.errorMessage="",n.addressAttributesSuffix=a.addressAttributesSuffix,n.deliveryAddressHiddenAttributes=a.deliveryAddressHiddenAttributes,n.billingAddressHiddenAttributes=a.billingAddressHiddenAttributes,console.log("$scope.mandatoryAttributes in purchase-list",a),n.mandatoryAttributes=a.mandatoryAttributes,s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-address.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-address",size:"lg",keyboard:!0,backdrop:!1,scope:n,controller:"ChangeAddressCtrl"})}function L(e,t){console.log("opening edit billing address modal");var n=a.$new(!0);n.scope=n,n.purchase=e,n.addressType=t,n.errorMessage="",n.addressAttributesSuffix=a.addressAttributesSuffix,n.deliveryAddressHiddenAttributes=a.deliveryAddressHiddenAttributes,n.billingAddressHiddenAttributes=a.billingAddressHiddenAttributesForEditing,n.mandatoryAttributes=a.mandatoryAttributesForEditing,s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-edit-billing-address.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-address",size:"lg",keyboard:!0,backdrop:!1,scope:n,controller:"EditBillingAddressCtrl"})}function O(e,t){var n=a.subscribePagePath+"?pRenewal=true&";t&&(n+="startDate="+t.toLocaleDateString("en-GB").replaceAll("/","")+"&"),a.renewalProduct&&(n+="productName="+e.orderItem.product.name+"&"),a.renewalPlan&&(n+="paymentPlans="+e.paymentPlan.name+"&"),window.location.href=n}function D(e){console.log("Display Latest Invoice",e);var t=e.id,n=e.invoiceHistory[e.invoiceHistory.length-1].id,i=EV.util.Storage.cookie.get("ev_ss"),r=EV.PM.pmDomain+"/widget",a=r+"/account/transactions/"+t+"/"+n+"?ev_ss="+i;p.get(a,{responseType:"arraybuffer"}).then(function(e){var t=new Blob([e.data],{type:"application/pdf"}),n=URL.createObjectURL(t);window.open(n,"_blank")})["catch"](function(e){return console.log("error",e)})}function R(e){console.log("display invoice",e);var t=(e.invoice.filePath,e.invoice.id),n=e.id,i=EV.util.Storage.cookie.get("ev_ss"),r=EV.PM.pmDomain,a=r+"/widget",o=a+"/account/transactions/"+n+"/"+t+"?ev_ss="+i;p.get(o,{responseType:"arraybuffer"}).then(function(e){var t=e.headers("Content-Type");if(t&&t.toLowerCase().includes("application/json")){var n=(new TextDecoder).decode(e.data);return JSON.parse(n)}return e}).then(function(e){if(e&&e.externalInvoiceUrl)window.open(e.externalInvoiceUrl,"_blank");else{var t=new Blob([e.data],{type:"application/pdf"}),n=URL.createObjectURL(t);window.open(n,"_blank")}})["catch"](function(e){return console.log("error",e)})}function N(e,t){var n=a.$new(!0);n.beneficiary=e,n.filteredListBeneficiaries=t,s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-confirm-dialog.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-confirm-dialog",keyboard:!0,backdrop:!0,scope:n,controller:["$scope","$uibModalInstance",function(n,i){n.cancel=function(){i.close()},n.confirm=function(){F(e,t,n),i.close()}}]})}function $(){return window.matchMedia("(max-width: 767.98px)").matches}function M(){for(var e=0;e<a.purchases.length;e++)"NONE"!==a.purchases[e].paymentPlan.frequency.id&&"CANCELLED"!==a.purchases[e].status&&"CANCEL_PENDING"!==a.purchases[e].status||(a.showEndDateHorizontalTableHeader=!0),a.showNextPaymentDate&&"NONE"!==a.purchases[e].paymentPlan.frequency.id&&"CANCELLED"!==a.purchases[e].status&&"CANCEL_PENDING"!==a.purchases[e].status&&(a.showNextPaymentDateHorizontalTableHeader=!0)}function x(e,i,r,a){n.inviteBeneficiary(m().guid,r,e,i).then(function(e){a.showErrorMsgs=!1,a.notificationSuccess=!0,h(),EV.Event.publish(EV.Event.PM_BENEFICIARY_INVITED)})["catch"](function(e){a.showErrorMsgs=!0,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.widgetGuid,e)})}function F(n,i,r){e.deleteBeneficiary(n.key).then(function(e){var t=i.indexOf(n),r=i[t];i.splice(t,1),h(),EV.Event.publish(EV.Event.PM_BENEFICIARY_DELETED,r)},function(e){r.showErrorMsgs=!0,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.widgetGuid,e)})}a.session=EV.util.getEVSession()||m(),a.loggedIn=EV.util.Storage.cookie.get("ev_ss"),a.widgetGuid=d.id||f(),a.errorWidgetGuid="error-"+a.widgetGuid,a.widgetTitle=d.title||"UPGRADE PURCHASE",a.showSpinner=!1,a.showErrorMsgs="false"!==d.showErrorMsgs,a.showHeader="false"!==d.showHeader,a.showActions="true"===d.showActions,a.showBeneficiaries=d.showBeneficiaries?d.showBeneficiaries:"false",a.showTransactions=d.showTransactions?d.showTransactions:"false",a.showInvoiceFormat=d.showInvoiceFormat?d.showInvoiceFormat:"false",a.showNumberBeneficiaries="true"===d.showNumberBeneficiaries,a.showChangeCard="true"===d.showChangeCard,a.showGenerateQrCode="true"===d.showGenerateQrCode,a.showCancelPurchase="true"===d.showCancelPurchase,a.showRevertCancellation="true"===d.showRevertCancellation,a.hideRevertCancelMigrated="true"===d.hideRevertCancelMigrated,a.showCancelReasons="true"===d.showCancelReasons,a.showProductPlanChanges="true"===d.showProductPlanChanges,a.showAddCard="true"===d.showAddCard,a.hideProductDisplayName="false"===d.showProductDisplayName,a.hidePlanDisplayName="false"===d.showPlanDisplayName,a.showPlanDescription="true"===d.showPlanDescription,a.showStartDate="false"!==d.showStartDate,a.showEndDate="false"!==d.showEndDate,a.showRollingSubEndDate=null!=d.hideRollingsubEndDate&&"false"===d.hideRollingsubEndDate,a.show
15Frequency="false"!==d.showFrequency,a.showOrderType="true"===d.showOrderType,a.showNextPaymentDate="true"===d.showNextPaymentDate,a.subscribePagePath=d.subscribePagePath,a.showRenewPurchase=null!=a.subscribePagePath,a.statusesToDisplay=d.statusesToDisplay?d.statusesToDisplay.split(","):["ACTIVE","ACTIVE_PENDING","PENDING","CANCEL_PENDING","INACTIVE"],a.orderTypesToDisplay=d.orderTypesToDisplay?d.orderTypesToDisplay.split(","):EV.PM.orderType?[EV.PM.orderType]:["All"],a.channelsToDisplay=d.channelsToDisplay?d.channelsToDisplay.split(","):EV.PM.channel?[EV.PM.channel]:["All"],a.showCustomData="true"===d.showCustomData,a.customDataShowHeader="false"!==d.customDataShowHeader,a.customDataShowLabels="false"!==d.customDataShowLabels,a.displayVertical="true"===d.displayVertical,a.showBillingChangeAddress="true"===d.showBillingChangeAddress,a.showDeliveryChangeAddress="true"===d.showDeliveryChangeAddress,a.deliveryAddressHiddenAttributes=d.deliveryAddressHiddenAttributes?JSON.parse(d.deliveryAddressHiddenAttributes.replace(/'/g,'"')):null,a.billingAddressHiddenAttributes=d.billingAddressHiddenAttributes?JSON.parse(d.billingAddressHiddenAttributes.replace(/'/g,'"')):null,a.addressAttributesSuffix=d.addressAttributesSuffix||"_country",a.brands=d.showBrands?d.showBrands.split(","):EV.PM.brand?[EV.PM.brand]:["All"],a.giftPurchases=!1,a.isLoading=!0,a.renewalProduct="true"===d.renewalProduct,a.renewalPlan="true"===d.renewalPlan,a.showDiscount="true"===d.showDiscount,a.showPaymentSchema="true"===d.showPaymentSchema,a.showPromoCodeGroup="true"===d.showPromoCodeGroup,a.showPromoCode="true"===d.showPromoCode,a.mandatoryAttributes=d.mandatoryAttributes?JSON.parse(d.mandatoryAttributes.replace(/'/g,'"')):null,a.invoiceIndependentFromRequiresBilling="true"===d.invoiceIndependentFromRequiresBilling,a.passMandatoryCheck=!0,a.actionBtnCustomAction="true"===d.actionBtnCustomAction,a.showEmptyWidget="false"!==d.showEmptyWidget,a.showTransactionsId="false"!==d.showTransactionsId,a.showTransactionsCurrency="false"!==d.showTransactionsCurrency,a.upgradeOnly="true"==d.upgradeOnly,a.upgradeMappings=d.upgradeMappings?JSON.parse(d.upgradeMappings):{},a.invoiceFormatCheck="true"===d.invoiceFormatCheck,a.selectedProduct=null,EV.Event.publish("ev.event.showProductProfileSubmitButton",!1),g(),b(),a.$watch("purchases",function(e,t){e&&e.length>0&&a.$evalAsync(function(){EV.Event.publish(EV.Event.PM_PURCHASES_LOADED,e)})}),a.shouldShowPlans=function(e){return a.selectedProduct&&e.id===a.currentPurchase.id},a.shouldShowUpgradeOption=function(e){if(e.retryStatus)return!1;var t=e.purchaseHistory;if(t){var n=t[t.length-1];if(n&&"CHANGE_PRODUCT_PLAN"===n.status&&n.renewedTo)return!1}return!0},a.shouldShowUpgradeOption=function(e){if(e.retryStatus)return!1;var t=e.purchaseHistory;if(t){var n=t[t.length-1];if(n&&"CHANGE_PRODUCT_PLAN"===n.status&&n.renewedTo)return!1}return!0},a.selectProduct=function(e,t){a.selectedPlan=null,a.currentPurchase=e,a.isBundle=S(t),a.selectedProduct&&a.purchases.forEach(function(e){var t=document.getElementById("product-"+a.selectedProduct.id+"-purchase-"+e.id);t&&t.classList.remove("change-product-plan-selected")}),a.selectedProduct=t;var n=document.getElementById("product-"+t.id+"-purchase-"+e.id);n.classList.add("change-product-plan-selected"),console.log("$scope.selectedProduct",a.selectedProduct),P(e,t)},a.selectPlan=function(t,n){if(a.selectedPlan){var i=document.getElementById("plan-"+a.selectedPlan.id+"-purchase-"+a.currentPurchase.id);i&&i.classList.remove("change-product-plan-selected")}a.selectedPlan=n;var r=document.getElementById("plan-"+n.id+"-purchase-"+a.currentPurchase.id);r.classList.add("change-product-plan-selected");var o=[],s=a.selectedProduct;if(o.push(s),a.selectedProduct&&a.selectedProduct.requiresDeliveryAddress){var l=e.getExtraProperties()||{};l.deliveryCountry=null,l.deliveryCountry||!function(){var e=a.selectedPlan.regions||[];if(a.selectedProduct.bundlePlans.length>0){e=[];for(var t=a.selectedProduct.bundlePlans,n=0;n<t.length;n++)for(var i=t[n],r=0;r<i.bundlePlanItems.length;r++){var o=i.bundlePlanItems[r],s=o.paymentPlan.regions;s&&s.length>
150&&!e.includes(s)&&s.forEach(function(t){e.push(t)})}}e&&e.length>0&&(l.regions=e)}(),l.region=a.region||null;var c=EV.PM.localStorageExpireTime?6e4*EV.PM.localStorageExpireTime:6e5;l.expire=(new Date).getTime()+c,e.saveExtraProperties(l)}_("ev.resetProductProfile").then(function(e){EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,o),k(s).then(function(e){EV.Event.publish("pm.isInvoiceRequired",{isInvoiceRequired:e})})})["catch"](function(e){console.log(e)}),console.log("sent event resetProductProfile")},a.getMandatoryAttributes=function(){return d.mandatoryAttributes},a.getInvoiceIndependentFromRequiresBilling=function(){return d.invoiceIndependentFromRequiresBilling},a.getDisplayPrice=function(e){return e.trialPrice?e.trialPrice:e.finalPrice?e.finalPrice:""|e.price},a.hasUpgradeOptions=function(e){return e.orderItem.product.changePlans&&e.orderItem.product.changePlans.length>0},a.confirmUpgrade=function(){console.log("confirmUpgrade EVENTS.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE"),_(i.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE).then(function(){a.showSpinner=!0,a.submitted=!0,a.showConfirmChangeBtn=!1,A(),e.changeProductPlan(a.currentPurchase.id,a.order).then(function(e){a.success=!0,EV.Event.publish(EV.Event.PM_SUBSCRIPTION_UPGRADED,e),T()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(a.errorWidgetGuid,e)}).then(function(){a.showSpinner=!1})})["catch"](function(e){console.error("ev-checkout-button error:",e)})},a.filterAlternativeProducts=function(e){var t=w(e.orderItem),n=angular.copy(a.upgradeMappings),i=n.filter(function(n){return n.planId===t.id&&e.orderItem.product.id===n.productId}),r=i.map(function(e){return e.upgradeOption.productId}),o=null;if(a.changeProductPlanMappings&&e&&(o=a.changeProductPlanMappings[e.id]),o){var s=o&&o.changeProducts?o.changeProducts:[],l=s.filter(function(e){return r.includes(e.id)});return l}return[]},a.showSubscriptionEndDate=function(e){return e.subscription&&a.showRollingSubEndDate&&"CANCEL_PENDING"!==e.status},a.showSubscriptionEndDateCancelPending=function(e){return e.subscription&&"CANCEL_PENDING"===e.status},a.showSubscriptionEndDateCancel=function(e){return e.subscription&&"CANCELLED"===e.status},a.disableActionBtn=function(e){return!(a.actionBtnCustomAction||a.actionBtnViewTransactions(e)||a.actionBtnShowInvoiceFormat(e)||a.actionBtnDisplayBeneficiaries(e)||a.actionBtnAddBeneficiaries(e)||a.actionBtnChangeCard(e)||a.actionBtnChangeBillingAddress(e)||a.actionBtnChangeDeliveryAddress(e)||a.actionBtnCancelPurchase(e)||a.actionBtnRevertCancellation(e)||a.actionBtnChangeProductPlan(e)||a.actionBtnRenewPurchase(e)||a.actionBtnBuyAgain(e)||a.actionGenerateQRAccessCode(e))},a.actionBtnViewTransactions=function(e){return!a.isExternal(e)&&"true"===a.showTransactions},a.actionBtnShowInvoiceFormat=function(e){return"true"===a.showInvoiceFormat},a.actionBtnDisplayBeneficiaries=function(e){return!a.isExternal(e)&&(a.isGift(e)&&("gift"===a.showBeneficiaries||"true"===a.showBeneficiaries)||a.isMultiUser(e)&&("multi-user"===a.showBeneficiaries||"true"===a.showBeneficiaries))&&(a.isCancellableStatus(e)||a.isPendingStatus(e))},a.actionBtnAddBeneficiaries=function(e){return!a.isExternal(e)&&(a.isGift(e)&&("gift"===a.showBeneficiaries||"true"===a.showBeneficiaries)||a.isMultiUser(e)&&("multi-user"===a.showBeneficiaries||"true"===a.showBeneficiaries))&&(a.isCancellableStatus(e)||a.isPendingStatus(e))},a.actionBtnChangeCard=function(e){return!a.isExternal(e)&&(a.isCardSubscription(e)||a.isPaymentGatewaySubscription(e))&&a.showChangeCard&&!a.isCompletedPurchase(e)&&!a.isCancelledPurchase(e)},a.actionBtnChangeBillingAddress=function(e){return!a.isExternal(e)&&e.billingAddressGroup&&a.showBillingChangeAddress&&!a.isCompletedPurchase(e)&&!a.isCancelledPurchase(e)},a.actionBtnChangeDeliveryAddress=function(e){return!a.isExternal(e)&&e.deliveryAddressGroup&&a.showDeliveryChangeAddress&&!a.isCompletedPurchase(e)&&!a.isCancelledPurchase(e)},a.actionBtnCancelPurchase=function(e){return!a.isExternal(e)&&a.isCancellableStatus(e)&&e.subscription&&a.showCancelPurchase},a.actionBtnRevertCancellation=function(e){return!a.isExternal(e)&&a.isCancelPendingPurchase(e)&&e.subscription&&a.showRevertCancellation&&!a.hideMigratedRevertCancel(e)}
15,a.actionBtnChangeProductPlan=function(e){return!a.isExternal(e)&&a.isCancellableStatus(e)&&a.hasAlternativeProductPlans(e)&&a.showProductPlanChanges&&!a.isPayPalSubscription(e)},a.actionBtnRenewPurchase=function(e){return!a.isExternal(e)&&a.isCancellableStatus(e)&&a.showRenewPurchase&&a.isSinglePurchaseWithEndDate(e)},a.actionBtnBuyAgain=function(e){return!a.isExternal(e)&&(a.isCompletedPurchase(e)||a.isCancelledPurchase(e))&&a.showRenewPurchase||a.isCancelPendingPurchase(e)&&a.hideMigratedRevertCancel(e)&&a.showRenewPurchase},a.actionGenerateQRAccessCode=function(e){return!a.isExternal(e)&&a.showGenerateQrCode&&!a.isCompletedPurchase(e)&&!a.isCancelledPurchase(e)},a.isGift=function(e){return"GIFT"===e.order.orderType},a.isMultiUser=function(e){return"MULTI_USER"===e.order.orderType},a.isExternal=function(e){return"EXTERNAL"===e.order.orderType},a.isCardSubscription=function(e){return"CARD"===e.paymentType&&e.subscription},a.isPaymentGatewaySubscription=function(e){return"PAYMENT_GATEWAY"===e.paymentType&&e.subscription},a.isPayPalSubscription=function(e){return"PAYPAL"===e.paymentType&&e.subscription},a.isCancellableStatus=function(e){return"ACTIVE"===e.status||"ACTIVE_PENDING"===e.status},a.isPendingStatus=function(e){return"PENDING"===e.status},a.isCompletedPurchase=function(e){return"COMPLETED"===e.status},a.isCancelledPurchase=function(e){return"CANCELLED"===e.status},a.isCancelPendingPurchase=function(e){return"CANCEL_PENDING"===e.status},a.hideMigratedRevertCancel=function(e){return a.hideRevertCancelMigrated&&"MIGRATION"==e.channel},a.hasAlternativeProductPlans=function(e){var t=e.orderItem.product.changeProducts,n=e.orderItem.product.changePlans;return t&&t.length>0||n&&n.length>0},a.toggleInvoiceFormat=function(e){var t=a.$new(!0);t.purchase=e,s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-toggle-invoice-format.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-transactions",keyboard:!0,size:"lg",backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(t,n){t.cancel=function(){n.close()},t.confirm=function(){EV.Event.publish(EV.Event.PM_TOGGLE_INVOICE_FORMAT,e),n.close()}}]})},a.displayTransactions=function(t){e.getTransactionByPurchaseId(t.id).then(function(e){e=e.map(function(e){return e.createdDate&&(e.createdDate=moment(e.createdDate).format("YYYY-MM-DD")),e.subscriptionPeriod&&e.subscriptionPeriod.startDate&&e.subscriptionPeriod.endDate&&(e.subscriptionPeriod.startDate=moment(e.subscriptionPeriod.startDate).format("YYYY-MM-DD"),e.subscriptionPeriod.endDate=moment(e.subscriptionPeriod.endDate).format("YYYY-MM-DD")),e});var t=a.$new(!0);t.transactions=e,t.loadInvoiceInNewTab=R,t.loadLatestInvoiceInNewTab=D,t.showTransactionsId=a.showTransactionsId,t.showTransactionsCurrency=a.showTransactionsCurrency,s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-transactions.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-transactions",keyboard:!0,size:"lg",backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(e,t){e.cancel=function(){t.close()}}]})})},a.displayBeneficiaries=function(e){h();var t=a.$new(!0);t.confirmDeleteBeneficiary=F,t.displayConfirmDialog=N,t.widgetGuid="ev-widget.pm.notification-"+EV.util.random_guid(),t.subscriptionItem=e,t.filteredListBeneficiaries=a.listBeneficiaries.filter(function(t){return t.subscriptionId==e.id}),s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-beneficiaries.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-beneficiaries",keyboard:!0,backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(e,t){e.cancel=function(){t.close()}}]})},a.displayNotification=function(e){var t=a.$new(!0);t.subscriptionId=e,t.addBeneficiary=x,t.widgetGuid="ev-widget.pm.notification-"+EV.util.random_guid(),t.scope=t,s.open({templateUrl:"pm-v2/purchases-list-fragments/ev-notification-v2.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-notification",keyboard:!0,backdrop:!0,scope:t,controller:["$scope","$uibModalInstance",function(e,t){e.activeNotification=!0,e.cancel=function(){e.activeNotification=!1,t.close()}}]})}
15,a.changeCardDetails=function(e){EV.Event.publish("pm.changeCard",e)},a.changeBillingAddressDetails=function(e){I(e,"BILLING")},a.changeDeliveryAddressDetails=function(e){I(e,"DELIVERY")},EV.Event.on("pm.purchasesList.editBillingAddress",function(e){a.billingAddressHiddenAttributesForEditing=e.hiddenAttributes,a.mandatoryAttributesForEditing=e.mandatoryAttributes,a.purchases.forEach(function(t){if(t.id===e.purchaseId){console.log("Found the purchase",t),L(t,"BILLING");var n=!1;n||(EV.Event.on(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_OPENED,function(e){document.querySelector(".edit-billing-address #address-in-use-text")&&document.querySelector(".edit-billing-address #address-in-use-text").previousElementSibling.firstElementChild.click()}),n=!0)}})}),a.generateQRAccessCode=function(e){EV.Event.publish("pm.generateQRAccessCode",e)},a.changeProductPlan=function(e){console.log("publishing pm.upgradeProductPlan!"),EV.Event.publish("pm.upgradeProductPlan",{purchase:e,upgradeOnly:a.upgradeOnly}),console.log("publised pm.upgradeProductPlan!",e,a.upgradeOnly)},a.isSinglePurchaseWithEndDate=function(e){return e.singlePurchase&&e.endDate},a.buyAgain=function(e){O(e)},a.renewPurchase=function(e){var t=new Date(e.endDate);t.setDate(t.getDate()+1),O(e,t)},a.revertCancellation=function(e){EV.Event.publish("pm.revertCancellation",e)},EV.Event.on("pm.initPurchasesList",function(){T()}),EV.Event.on(EV.Event.PM_TOGGLE_INVOICE_FORMAT,function(t){console.log("triggered the event"),console.log(t);var n=t.invoiceFormat,i=(t.order.id,t.id),r="STANDARD";r="STANDARD"===n?"COMPLETE":"STANDARD",e.changePurchaseInvoiceFormat(i,r).then(function(e){t.invoiceFormat=r})["catch"](function(e){return console.log(e)})}),EV.Event.on(EV.Event.PM_PURCHASE_REGEN_LAST_INVOICE,function(t){e.regenLastInvoice(t.purchaseId).then(function(e){console.log("Successful Invoice Regeneration")})["catch"](function(e){console.log("Error regenerating last invoice:",e)})}),a.cancelPurchase=function(e){EV.Event.publish("pm.cancelPurchase",{purchases:a.purchases,purchase:e,cancelReasons:a.cancelReasons})},a.isShowEndDate=function(e){return a.showEndDate?$()||a.displayVertical?"CANCELLED"===e.status||"CANCEL_PENDING"===e.status||"NONE"===e.paymentPlan.frequency.id:!!a.showEndDateHorizontalTableHeader:!$()&&!a.displayVertical&&!!a.showEndDateHorizontalTableHeader},a.isShowNextPaymentDate=function(e){return a.showNextPaymentDate?$()||a.displayVertical?"CANCELLED"!==e.status&&"CANCEL_PENDING"!==e.status&&"NONE"!==e.paymentPlan.frequency.id:!!a.showNextPaymentDateHorizontalTableHeader:!$()&&!a.displayVertical&&!!a.showNextPaymentDateHorizontalTableHeader; 16},a.numberBenefPerSubscription=function(e){var t=0;return angular.forEach(a.listBeneficiaries,function(n){n.subscriptionId==e&&t++}),t},EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){a.loggedIn=!0,T()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){a.loggedIn=!1,a.purchases=null,a.$apply(),T()}),EV.Event.on(EV.Event.PM_ADD_BENEFICIARY_OPEN,function(e){a.displayNotification(e)}),EV.Event.on(EV.Event.PM_OPEN_CHANGE_CARD,function(e){a.changeCardDetails(e)}),EV.Event.on(EV.Event.PM_PURCHASES_LIST_REFRESH,function(){v()}),EV.Event.on(EV.Event.PM_OPEN_BENEFICIARY_LIST,function(e){a.displayBeneficiaries(e)}),EV.Event.on(EV.Event.PM_OPEN_ADD_BENEFICIARY,function(e){a.displayNotification(e)}),EV.Event.on(EV.Event.PM_OPEN_CANCEL_PURCHASE,function(e){a.cancelPurchase(e,a.cancelReasons)}),EV.Event.on(EV.Event.PM_OPEN_CHANGE_PURCHASE,function(e){a.changePurchase(e)}),EV.Event.on(EV.Event.PM_OPEN_PURCHASES_CHANGE_BILLING_ADDRESS,function(e){I(e,"BILLING")}),EV.Event.on(EV.Event.PM_OPEN_PURCHASES_CHANGE_DELIVERY_ADDRESS,function(e){I(e,"DELIVERY")})}]}}])}function N(){"use strict";var e=angular.module("ev-widget.pm.viewReferralOffers",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evViewReferralOffers",["pm2Util","EVExceptionHandler","EVENTS","$translate","$window",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-view-referral-offers.tpl.html",controller:["$scope","$attrs","$element",function(n,i,r){function a(){return"ev-widget.pm.viewReferralOffers-"+EV.util.random_guid()}function o(){if(t.removeError(n.errorWidgetGuid),n.loggedIn)e.retrieveReferralOffers().then(function(e){n.offers=e,n.isLoading=!1})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(n.errorWidgetGuid,e)});else{n.isLoading=!1;var i=EV.util.error("not_logged_in","Not Logged In",400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(n.errorWidgetGuid,i)}}n.isLoading=!0,n.formErrors=[],n.translatedErrors=[],n.loggedIn=EV.util.Storage.cookie.get("ev_ss"),n.widgetGuid=i.id||a(),n.errorWidgetGuid="error-"+n.widgetGuid,n.widgetTitle=i.title||"REFERRAL OFFERS",r.attr("title",""),n.showHeader="false"!==i.showHeader,n.showErrorMsgs="false"!==i.showErrorMsgs,n.showLabels="false"!==i.showLabels,n.showHidden="true"===i.showHidden,n.offers=[],o(),EV.Event.on(EV.Event.
16LOGIN_SUCCESS,function(){n.loggedIn=!0,o()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){n.loggedIn=!1,n.$apply(),o()})}]}}])}function M(){"use strict";var e=angular.module("ev-widget.pm.changePurchaseAddress",[]);e.controller("ChangeAddressCtrl",["$scope","$uibModalInstance","$translate","pm2Util","EVExceptionHandler","$timeout","WidgetUtil",function(e,t,n,i,r,a,o){function s(t){t.forEach(function(t){e.referenceDataMap[t.dataName]=t})}function l(t){t.forEach(function(t){t.attributes.forEach(function(t){e.referenceDataAttributeMap[t]=[]})}),t.forEach(function(t){t.attributes.forEach(function(n){e.referenceDataAttributeMap[n].push(t)})})}function c(){var t=angular.copy(EV.WM.referenceData),n={};return e.config.selectedBillingAddress.attributes.forEach(function(e){t.forEach(function(t){t.attributes.includes(e.name)&&!n[e.name]&&(n[e.name]=e)})}),n}function d(t){var n=angular.copy(e.referenceDataAttributeMap);u(t,n)}function u(t,n){Object.keys(n).forEach(function(t){e.config.selectedBillingAddress.attributes.forEach(function(e){if(e.name===t){var i=n[t].find(function(e){return 0==e.linkedFromList.length});i&&(i=p(i),e.options=i.data.values)}})})}function p(e){return e.data.values=e.data.values.map(function(e){return e.caption||(e.caption=e.name,delete e.name),e}),e}function g(t,n){var i=e.config.selectedBillingAddress.attributes.find(function(e){return e.name===n});if(i){var r=e.config.selectedBillingAddress.attributes.findIndex(function(e){return e.name===i.name}),a=p(t);e.config.selectedBillingAddress.attributes[r].options=a.data.values}}function f(t){var n=angular.copy(EV.WM.referenceData),i=n.filter(function(e){return e.attributes.includes(t.name)});if(0!=i.length){var r=null,a=!(null==e.config.selectedBillingAddress||!e.config.selectedBillingAddress.attributes)&&e.config.selectedBillingAddress.attributes.filter(function(e){return e.name===t.name}).length>0,o=!(null==e.config.selectedDeliveryAddress||!e.config.selectedDeliveryAddress.attributes)&&e.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===t.name}).length>0;if(a){var s=angular.copy(e.config.selectedBillingAddress);r=s.attributes.findIndex(function(e){return e.name===t.name}),s.attributes=s.attributes.slice(r+1),s.attributes.forEach(function(n){return m(t,n.name,e)})}else if(o){var l=angular.copy(e.config.selectedDeliveryAddress);r=l.attributes.findIndex(function(e){return e.name===t.name}),l.attributes=l.attributes.slice(r+1),l.attributes.forEach(function(n){return m(t,n.name,e)})}}}function m(e,t,n){var i=!(null==n.config.selectedBillingAddress||!n.config.selectedBillingAddress.attributes)&&n.config.selectedBillingAddress.attributes.filter(function(t){return t.name===e.name}).length>0,r=!(null==n.config.selectedDeliveryAddress||!n.config.selectedDeliveryAddress.attributes)&&n.config.selectedDeliveryAddress.attributes.filter(function(t){return t.name===e.name}).length>0;angular.copy(EV.WM.referenceData).forEach(function(e){var a=angular.copy(e);0==a.linkedFromList.length&&a.attributes.includes(t)&&(a=p(a),i?n.config.selectedBillingAddress.attributes=n.config.selectedBillingAddress.attributes.map(function(e){return e.name===t&&(e.options=a.data.values,e.value=null),e}):r&&(n.config.selectedDeliveryAddress.attributes=n.config.selectedDeliveryAddress.attributes.map(function(e){return e.name===t&&(e.options=a.data.values,e.value=null),e})))})}function h(t){var n=!(null==e.config.selectedBillingAddress||!e.config.selectedBillingAddress.attributes)&&e.config.selectedBillingAddress.attributes.filter(function(e){return e.name===t.name}).length>0,i=!(null==e.config.selectedDeliveryAddress||!e.config.selectedDeliveryAddress.attributes)&&e.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===t.name}).length>0,r=EV.WM.referenceData.filter(function(e){if(e.attributes.includes(t.name))return e}),a=(r.map(function(e){return e.data.values}),[]);n?a=e.config.selectedBillingAddress.attributes.find(function(e){return e.name===t.name}):i&&(a=e.config.selectedDeliveryAddress.attributes.find(function(e){return e.name===t.name}));var o=!0;a.options&&a.options.forEach(function(r){if(r.value===t.value&&r&&r.linkedReferenceData){o=!1;var a=EV.WM.referenceData.find(function(e){return e.dataName===r.linkedReferenceData.name});a&&(n?e.config.selectedBillingAddress.attributes=e.config.selectedBillingAddress.attributes.map(function(e){return a.attributes.forEac
16h(function(t){e.name===t&&(e.options=a.data.values)}),e}):i&&(e.config.selectedDeliveryAddress.attributes=e.config.selectedDeliveryAddress.attributes.map(function(e){return a.attributes.forEach(function(t){e.name===t&&(e.options=a.data.values)}),e})))}})}function v(e){e.isChecked?e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!0)}):e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!1)});var t=e.options.filter(function(e){return e.isChecked});return t}function E(e,t,n,i){var r=this,a=angular.copy(EV.WM.referenceData),o=angular.copy(e);e.attributes=e.attributes.filter(function(e){return t.some(function(t){return t.linkedReferenceData.attributes.includes(e.name)})}),e.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&(n.options=[],t.forEach(function(e){a.forEach(function(t){e.linkedReferenceData.attributes.includes(n.name)&&e.linkedReferenceData.name===t.dataName&&t.data.values.forEach(function(e){return n.options.push(e)})})})),n})}),o.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&0==t.length&&(n.options=[],angular.copy(EV.WM.referenceData).forEach(function(t){var i=angular.copy(t);0==i.linkedFromList.length&&i.attributes.includes(e.name)&&(i=r.replaceNameWithCaption(i),i.data.values.forEach(function(e){return n.options.push(e)}))})),n})})}function b(t){i.getProfileGroups(t.serviceName).then(function(t){e.profileGroups=t,C(),y(),A(),P()})["finally"](function(){e.isLoading=!1,a(function(){k(),EV.Event.publish(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_OPENED,e.purchase.id)},0)})}function y(){if("BILLING"===e.addressType&&e.billingAddressHiddenAttributes){var t=w(e.billingAddressHiddenAttributes);S(t)}if("DELIVERY"===e.addressType&&e.$parent.deliveryAddressHiddenAttributes){var n=w(e.deliveryAddressHiddenAttributes);S(n)}}function w(t){var n=[];return e.profileGroups.addresses.forEach(function(e){e.attributes.forEach(function(e){Object.keys(t).forEach(function(t){t.includes("*")||t.includes("?")?e.name&&o.jollyStringValidator(t,e.name)&&n.push(e.name):t===e.name&&n.push(e.name)})})}),n}function S(t){t.forEach(function(t){e.profileGroups.addresses.forEach(function(e){e.attributes=e.attributes.filter(function(e){return e.name!=t})})})}function C(){e.config={},e.config.selectedBillingAddress=e.profileGroups.addresses.find(function(t){return t.name===e.$parent.purchase.billingAddressGroup}),e.config.billingAddressHiddenAttributes=JSON.parse(JSON.stringify(e.billingAddressHiddenAttributes)),e.config.selectedDeliveryAddress=e.profileGroups.addresses.find(function(t){return t.name!==e.$parent.purchase.billingAddressGroup}),e.config.deliveryAddressHiddenAttributes=JSON.parse(JSON.stringify(e.deliveryAddressHiddenAttributes)),console.log("$scope=",e)}function P(){EV.Event.on(EV.Event.PROFILE_ATTRIBUTE_CHANGED,function(t){var n=t.attribute,i=t.field;if(e.config&&e.config.selectedBillingAddress&&e.config.selectedBillingAddress.attributes&&!n&&t.value){s(angular.copy(EV.WM.referenceData)),l(angular.copy(EV.WM.referenceData));var r=c();Object.keys(r).forEach(function(e){var t=r[e];d(t)}),Object.keys(r).forEach(function(t){var n=e.referenceDataAttributeMap[t].map(function(e){var n=r[t].value,i=e.data.values.find(function(e){return e.value===n})?e.data.values.find(function(e){return e.value===n}).linkedReferenceData:null;return i}).filter(function(e){return e});n&&n.forEach(function(t){t?t.attributes.forEach(function(n){var i=e.referenceDataAttributeMap[n].find(function(e){return e.dataName===t.name});g(i,n)}):Object.keys(e.referenceDataAttributeMap).forEach(function(t){var n=e.referenceDataAttributeMap[t].find(function(e){return 0==e.linkedFromList.length});g(n,t)})})})}if(n&&"dropdown"===n.type&&(console.log("resetting....",n,i),f(n),h(n)),n&&"checkbox"===n.type){var a=null,o=!(null==e.config.selectedBillingAddress||!e.config.selectedBillingAddress.attributes)&&e.config.selectedBillingAddress.attributes.filter(function(e){return e.name===n.name}).length>0,u=!(null==e.config.selectedDeliveryAddress||!e.config.selectedDeliveryAddress.attributes)&&e.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===n.name}).length>0;if(o){var p=v(n),m=angular.copy(e.config.selectedBillingAddress);a=m.attributes.findIndex(function(e){return e.name===n.name}),m.attributes=m.attributes.slice(a+1),E(m,p,e,e.config.selectedBillingAddress)}else if(u){var b=v(n),y=angular.copy(e.config.selectedDeliveryAddress);a=y.attributes.findIndex(function(e){return e.name===n.name}),y.attributes=y.attributes.slice(a+1),E(y,b,e,e.config.selectedDeliveryAddress)}}})}function _(t){e.populatedAddresses=t.filter(function(e){return e.attributes.some(function(e){return e.value})}),e.nonPopulatedAddresses=t.filter(function(e){return!e.attributes.some(function(e){return e.value})})}
16function A(){e.loggedIn&&!e.showAuthDetails||Object.keys(e.profileGroups).forEach(function(t){if("authDetails"!==t){var n=e.profileGroups[t];n instanceof Array?n.forEach(function(n){e.profileGroups[t].attributes=T(n.attributes||[])}):e.profileGroups[t].attributes=T(n&&n.attributes||[])}})}function T(t){var n=[];return t.forEach(function(t){e.profileGroups.authDetails.attributes.find(function(e){return e.name===t.name})||n.push(t)}),n}function k(){var e=0,t=document.querySelectorAll('[id^="thumbnail-card-address-"]');Array.prototype.map.call(t,function(t){t.clientHeight>e&&(e=t.clientHeight)});for(var n=0;n<t.length;n++)t[n].style.minHeight=e+"px"}function V(t){e.errors=[];var n=I(e.profileGroups,t),i=n.filter(function(e){return null!==e.value}).map(function(e){return{name:e.name,value:e.value}}),r=angular.copy(i);if(r=i.filter(function(e){return!e.name.startsWith("address")||e.name.startsWith("address")&&e.name.startsWith(t)}),console.log("icAttributes after splice",i),e.mandatoryAttributes){var a=0;e.passMandatoryCheck=!1,e.missingAttributes=angular.copy(e.mandatoryAttributes);for(var o=0;o<Object.keys(e.mandatoryAttributes).length;o++){var s=Object.keys(e.mandatoryAttributes)[o];if(s.includes("*"))for(var l=0;l<r.length;l++){var c=r[l].name,d=r[l].value,u=s.split("*")[0],p=s.split("*")[1];c.startsWith(u)&&c.endsWith(p)&&d&&(a+=1,delete e.missingAttributes[s])}else for(var g=0;g<r.length;g++){var f=r[g].name,m=r[g].value;f==s&&m&&(a+=1,delete e.missingAttributes[s])}}Object.keys(e.mandatoryAttributes).length===a&&(e.passMandatoryCheck=!0)}}function I(e,t){function n(e){return t==e.name}function i(e){return"address"==e.category}function r(e){return"authDetails"==e.category}return Object.keys(e).reduce(function(a,o){function s(e,a){return(r(e)||i(e)&&!n(t,e))&&!r(e)||(a=a.concat(e.attributes)),a}var l=e[o];return Array.isArray(l)?l.forEach(function(e){return a=s(e,a)}):a=s(l,a),a},[])}function L(n,a){return console.log("changing address info"),e.passMandatoryCheck?i.changePurchaseAddressInfo(n,a,e.addressType).then(function(n){e.success=!0,e.submitting=!1,EV.Event.publish(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_SUCCESS),EV.Event.publish(EV.Event.PM_PURCHASES_LIST_REFRESH);var i=n.taxValidationResult;!i||"ERR_TC0006"!==i.result&&"ERR_TC0001"!==n.taxValidationResult.result?i&&"ERR_TC0002"===i.result&&"VIES"===i.provider&&(e.success=!1,e.submitting=!1):(e.success=!1,e.submitting=!1),t.close()})["catch"](function(t){e.success=!1,e.submitting=!1,console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)}):(console.log("should throw error!",e.mandatoryAttributes),e.showError=!0,e.errors.push({attributes:Object.keys(e.missingAttributes),description:"Missing mandatory attribute(s)"}),void(e.submitting=!1))}function O(t){return e.profileGroups.addresses.find(function(e){return e===t})}function D(t){if(!EV.PM.validateGroup)return t;var n=e.config.billingAddressGroup,i=e.config.deliveryAddressGroup,r=[];for(var a in e.profileGroups){var o=e.profileGroups[a];if(Array.isArray(o))for(var s=0;s<o.length;s++){var l=o[s];if("address"!==l.category||l.name===n||l.name===i){var c=null===l.name||"undefined"==typeof l.name?"":l.name;r.push({groupName:c,categoryName:l.category})}}else if("object"===("undefined"==typeof o?"undefined":K(o))){var d=null===o.name||"undefined"==typeof o.name?"":o.name;r.push({groupName:d,categoryName:o.category})}}return{attributes:t,attributeGroupList:r}}function R(e){return N(e)}function N(e){return e&&e.attributes.every(function(e){return!e.mandatory||e.value})}function $(e){for(var t=0;t<e.error.args.length;t++)e.error.args[0]=M(e.error.args[t])}function M(t){var n=void 0;return e.profileGroups.authDetails.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)}),e.profileGroups.personalDetails.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)}),e.profileGroups.addresses.forEach(function(e){e.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)})}),e.profileGroups.otherDetails.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)}),n}function x(){var t=new RegExp("\\{0\\}","gi");
16e.formErrors.forEach(function(e){n(e.key).then(function(n){n=n.replace(t,e.attributeList),scope.translatedErrors.push(n),EV.Event.publish("product_profile_error",{error:n,showErrors:!0,widgetId:scope.errorWidgetGuid})})})}function I(e,t){function n(e){return"address"==e.category}function i(e){return"authDetails"==e.category}return Object.keys(e).reduce(function(t,r){function a(e,t){return(i(e)||n(e))&&(t=t.concat(e.attributes)),t}var o=e[r];return Array.isArray(o)?o.forEach(function(e){return t=a(e,t)}):t=a(o,t),t},[])}console.log("$scope in ChangeAddressCtrlss ",e),e.errorWidgetGuid="error-changePurchaseAddress",e.showErrorMsgs=!0,e.showHeader=!0,e.isLoading=!0,e.isAddAddress=!1,e.isEdtAddress=!1,e.loggedIn=EV.util.Storage.cookie.get("ev_ss"),e.formErrors=[],e.referenceDataMap={},e.referenceDataAttributeMap={},e.config={},e.passMandatoryCheck=!0,e.missingAttributes=[],e.errors=[],e.showTaxIdInvalid=!1,e.invalidTaxIdSaved=!1,e.showOptionsToContinueWithInvalidTaxId=!1,b(e.purchase.orderItem.product),e.saveInvalidTaxId=function(){console.log("save saveInvalidTaxId");var n={};"BILLING"===e.addressType?n.billingAddressGroup=e.purchase.billingAddressGroup:"DELIVERY"===e.addressType&&(n.deliveryAddressGroup=e.purchase.deliveryAddressGroup),i.changePurchaseAddressInfo(e.purchase.id,n,e.addressType,!0).then(function(){e.invalidTaxIdSaved=!0,t.close()})},e.selectCard=function(t){console.log("Selected Address",t),e.errors=[],"BILLING"===e.addressType?e.purchase.billingAddressGroup=t.name:"DELIVERY"===e.addressType&&(e.purchase.deliveryAddressGroup=t.name)},e.isEmptyAddress=function(e){for(var t=0;t<e.attributes.length;t++)if(e.attributes[t].value&&""!==e.attributes[t].value.trim())return!1;return!0},e.isUsedAddress=function(t){return"BILLING"===e.addressType?e.purchase.billingAddressGroup===t:"DELIVERY"===e.addressType?e.purchase.deliveryAddressGroup===t:void 0},e.cancel=function(){t.close(),EV.Event.publish(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_CLOSED,e.purchase.id)},e.submit=function(){console.log("submiting?????"),e.showError=!1,e.stripeErrorMessage="",e.submitting=!0;var t={};"BILLING"===e.addressType?t.billingAddressGroup=e.purchase.billingAddressGroup:"DELIVERY"===e.addressType&&(t.deliveryAddressGroup=e.purchase.deliveryAddressGroup),V(t.billingAddressGroup),L(e.purchase.id,t)},e.editAddress=function(t){e.isEditAddress=!0,e.addressData=O(t),console.log("Updating address",e.addressData),e.addressData&&(e.config.selectedBillingAddress=e.addressData)},e.cancelEditAddress=function(){e.isEditAddress=!1,e.submitting=!1},e.addNewAddress=function(){e.isAddAddress=!0,e.newAddressData=e.getNewAddress(),console.log("Adding new address",e.newAddressData),e.newAddressData&&(e.config.selectedBillingAddress=e.newAddressData)},e.getNewAddress=function(){if(e.profileGroups&&e.profileGroups.addresses)return _(e.profileGroups.addresses),e.nonPopulatedAddresses[0]},e.submitNewAddress=function(t){e.submitting=!0,console.log("Values",e.newAddressData);var n=t?e.addressData:e.newAddressData;if(R(n)){var a=I(e.profileGroups,e.loggedIn),o=a.filter(function(e){return null!==e.value}).map(function(e){return{name:e.name,value:e.value}}),s=e.purchase.orderItem.product.serviceName;i.saveProfile(D(o),s).then(function(){var e=t?EV.Event.PM_PURCHASES_LIST_EDITED_ADDRESS_SUCCESS:EV.Event.PM_PURCHASES_LIST_ADDED_NEW_ADDRESS_SUCCESS;EV.Event.publish(e)})["catch"](function(e){e.error.code&&"ATTRIBUTE_VALIDATION_FAILED"===e.error.code&&$(e),r.handleError(scope.errorWidgetGuid,e),EV.Event.publish(EV.Event.PM_ERROR,{code:"INVALID_FORM",attributes:a}),x()})["finally"](function(){e.submitting=!1,e.isAddAddress=!1,e.isEditAddress=!1,e.newAddressData={},e.addressData={},_(e.profileGroups.addresses)})}},e.cancelNewAddress=function(){e.isAddAddress=!1,e.submitting=!1}}])}function x(){"use strict";var e=angular.module("ev-widget.pm.checkoutDotCom.change-card",[]);e.controller("CheckoutDotComChangeCardCtrl",["$scope","$uibModalInstance","$translate","pm2Util","EVExceptionHandler",function(e,t,n,i,r){function a(t){var n={token:t.cardToken};o(e.purchase.id,n)}function o(t,n){return i.changeCardInfo(t,n).then(function(){e.success=!0,e.submitting=!1,EV.Event.publish(EV.Event.PM_CARD_UPDATED)})["catch"](function(t){e.success=!1,e.submitting=!1,console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t),Frames.unblockFields()})}function s(){var e=document.createElement("script");e.src="https://cdn.checkout.com/js/frames.js",e.onload=function(){console.log("Checkout.com ready!"),l()},document.body.appendChild(e)}function l(){Frames.init({publicKey:EV.PM.checkoutDotComPublicKey,containerSelector:"#ev-checkoutdotcom-change-card-form"})}EV.Event.publish(EV.Event.PM_CHANGE_CARD_OPEN,e.purchase.id),e.errorWidgetGuid="error-checkoutdotcom",e.showErrorMsgs=!0,e.showHeader=!0,e.isLoading=!0,e.isAddCard=!1,e.showAddCard=e.$parent.showAddCard;var c=!1;s(),i.retrieveCustomerCards(e.purchase.id).then(function(t){e.cards=t})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})["finally"](function(){e.isLoading=!1}),e.selectCard=function(t){e.selectedCard&&document.getElementById("thumbnail-"+e.selectedCard).classList.remove("selected-card"),null!==t&&e.selectedCard!==t?(e.selectedCard=t,document.getElementById("thumbnail-"+t).classList.add("selected-card")):e.selectedCard=null},e.cancel=function(){t.close(),EV.Event.publish(EV.Event.PM_CHANGE_CARD_CLOSE,e.purchase.id)},e.submit=function(){if(e.showError=!1,e.mercadoErrorMessage="",e.submitting=!0,e.selectedCard){var t={card:{id:e.selectedCard,object:"card"}};o(e.purchase.id,t)}else Frames.submitCard().then(a)["catch"](function(t){e.success=!1,e.submitting=!1,t&&(console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t))})},e.addCard=function(){e.isAddCard=!0,e.selectCard(null)},e.focusedNewCard=function(t){e.$parent.showAddCard||!c&&t&&(c=!0,e.selectCard(null))}}])}function F(){"use strict";var e=angular.module("ev-widget.pm.editBillingAddress",[]);e.controller("EditBillingAddressCtrl",["$scope","$uibModalInstance","$translate","pm2Util","EVExceptionHandler","$t
16imeout","WidgetUtil",function(e,t,n,i,r,a,o){function s(t){t.forEach(function(t){e.referenceDataMap[t.dataName]=t})}function l(t){t.forEach(function(t){t.attributes.forEach(function(t){e.referenceDataAttributeMap[t]=[]})}),t.forEach(function(t){t.attributes.forEach(function(n){e.referenceDataAttributeMap[n].push(t)})})}function c(){var t=angular.copy(EV.WM.referenceData),n={};return e.config.selectedBillingAddress.attributes.forEach(function(e){t.forEach(function(t){t.attributes.includes(e.name)&&!n[e.name]&&(n[e.name]=e)})}),n}function d(t){var n=angular.copy(e.referenceDataAttributeMap);u(t,n)}function u(t,n){Object.keys(n).forEach(function(t){e.config.selectedBillingAddress.attributes.forEach(function(e){if(e.name===t){var i=n[t].find(function(e){return 0==e.linkedFromList.length});i&&(i=p(i),e.options=i.data.values)}})})}function p(e){return e.data.values=e.data.values.map(function(e){return e.caption||(e.caption=e.name,delete e.name),e}),e}function g(t,n){var i=e.config.selectedBillingAddress.attributes.find(function(e){return e.name===n});if(i){var r=e.config.selectedBillingAddress.attributes.findIndex(function(e){return e.name===i.name}),a=p(t);e.config.selectedBillingAddress.attributes[r].options=a.data.values}}function f(t){var n=angular.copy(EV.WM.referenceData),i=n.filter(function(e){return e.attributes.includes(t.name)});if(0!=i.length){var r=null,a=!(null==e.config.selectedBillingAddress||!e.config.selectedBillingAddress.attributes)&&e.config.selectedBillingAddress.attributes.filter(function(e){return e.name===t.name}).length>0,o=!(null==e.config.selectedDeliveryAddress||!e.config.selectedDeliveryAddress.attributes)&&e.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===t.name}).length>0;if(a){var s=angular.copy(e.config.selectedBillingAddress);r=s.attributes.findIndex(function(e){return e.name===t.name}),s.attributes=s.attributes.slice(r+1),s.attributes.forEach(function(n){return m(t,n.name,e)})}else if(o){var l=angular.copy(e.config.selectedDeliveryAddress);r=l.attributes.findIndex(function(e){return e.name===t.name}),l.attributes=l.attributes.slice(r+1),l.attributes.forEach(function(n){return m(t,n.name,e)})}}}function m(e,t,n){var i=!(null==n.config.selectedBillingAddress||!n.config.selectedBillingAddress.attributes)&&n.config.selectedBillingAddress.attributes.filter(function(t){return t.name===e.name}).length>0,r=!(null==n.config.selectedDeliveryAddress||!n.config.selectedDeliveryAddress.attributes)&&n.config.selectedDeliveryAddress.attributes.filter(function(t){return t.name===e.name}).length>0;angular.copy(EV.WM.referenceData).forEach(function(e){var a=angular.copy(e);0==a.linkedFromList.length&&a.attributes.includes(t)&&(a=p(a),i?n.config.selectedBillingAddress.attributes=n.config.selectedBillingAddress.attributes.map(function(e){return e.name===t&&(e.options=a.data.values,e.value=null),e}):r&&(n.config.selectedDeliveryAddress.attributes=n.config.selectedDeliveryAddress.attributes.map(function(e){return e.name===t&&(e.options=a.data.values,e.value=null),e})))})}function h(t){var n=!(null==e.config.selectedBillingAddress||!e.config.selectedBillingAddress.attributes)&&e.config.selectedBillingAddress.attributes.filter(function(e){return e.name===t.name}).length>0,i=!(null==e.config.selectedDeliveryAddress||!e.config.selectedDeliveryAddress.attributes)&&e.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===t.name}).length>0,r=EV.WM.referenceData.filter(function(e){if(e.attributes.includes(t.name))return e}),a=(r.map(function(e){return e.data.values}),[]);n?a=e.config.selectedBillingAddress.attributes.find(function(e){return e.name===t.name}):i&&(a=e.config.selectedDeliveryAddress.attributes.find(function(e){return e.name===t.name}));var o=!0;a.options&&a.options.forEach(function(r){if(r.value===t.value&&r&&r.linkedReferenceData){o=!1;var a=EV.WM.referenceData.find(function(e){return e.dataName===r.linkedReferenceData.name});a&&(n?e.config.selectedBillingAddress.attributes=e.config.selectedBillingAddress.attributes.map(function(e){return a.attributes.forEac
16h(function(t){e.name===t&&(e.options=a.data.values)}),e}):i&&(e.config.selectedDeliveryAddress.attributes=e.config.selectedDeliveryAddress.attributes.map(function(e){return a.attributes.forEach(function(t){e.name===t&&(e.options=a.data.values)}),e})))}})}function v(e){e.isChecked?e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!0)}):e.options.forEach(function(t){t.value===e.option&&(t.isChecked=!1)});var t=e.options.filter(function(e){return e.isChecked});return t}function E(e,t,n,i){var r=this,a=angular.copy(EV.WM.referenceData),o=angular.copy(e);e.attributes=e.attributes.filter(function(e){return t.some(function(t){return t.linkedReferenceData.attributes.includes(e.name)})}),e.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&(n.options=[],t.forEach(function(e){a.forEach(function(t){e.linkedReferenceData.attributes.includes(n.name)&&e.linkedReferenceData.name===t.dataName&&t.data.values.forEach(function(e){return n.options.push(e)})})})),n})}),o.attributes.forEach(function(e){i.attributes=i.attributes.map(function(n){return n.name===e.name&&0==t.length&&(n.options=[],angular.copy(EV.WM.referenceData).forEach(function(t){var i=angular.copy(t);0==i.linkedFromList.length&&i.attributes.includes(e.name)&&(i=r.replaceNameWithCaption(i),i.data.values.forEach(function(e){return n.options.push(e)}))})),n})})}function b(t){i.getProfileGroups(t.serviceName).then(function(t){e.profileGroups=t,C(),y(),A(),P()})["finally"](function(){e.isLoading=!1,a(function(){k(),EV.Event.publish(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_OPENED,e.purchase.id)},0)})}function y(){if("BILLING"===e.addressType&&e.billingAddressHiddenAttributes){var t=w(e.billingAddressHiddenAttributes);S(t)}if("DELIVERY"===e.addressType&&e.$parent.deliveryAddressHiddenAttributes){var n=w(e.deliveryAddressHiddenAttributes);S(n)}}function w(t){console.log(" Object,keys(attributesToHide)",t);var n=[];return e.profileGroups.addresses.forEach(function(e){e.attributes.forEach(function(e){Object.keys(t).forEach(function(t){t.includes("*")||t.includes("?")?e.name&&o.jollyStringValidator(t,e.name)&&n.push(e.name):t===e.name&&n.push(e.name)})})}),console.log("keysToBeRemoved,",n),n}function S(t){t.forEach(function(t){e.profileGroups.addresses.forEach(function(e){e.attributes=e.attributes.filter(function(e){return e.name!=t})})})}function C(){e.config={},e.config.selectedBillingAddress=e.profileGroups.addresses.find(function(t){return t.name===e.$parent.purchase.billingAddressGroup}),e.config.billingAddressHiddenAttributes=JSON.parse(JSON.stringify(e.billingAddressHiddenAttributes)),e.config.selectedDeliveryAddress=e.profileGroups.addresses.find(function(t){return t.name!==e.$parent.purchase.billingAddressGroup}),e.config.deliveryAddressHiddenAttributes=JSON.parse(JSON.stringify(e.deliveryAddressHiddenAttributes)),console.log("$scope=",e)}function P(){EV.Event.on(EV.Event.PROFILE_ATTRIBUTE_CHANGED,function(t){var n=t.attribute,i=t.field;if(e.config&&e.config.selectedBillingAddress&&e.config.selectedBillingAddress.attributes&&!n&&t.value){s(angular.copy(EV.WM.referenceData)),l(angular.copy(EV.WM.referenceData));var r=c();Object.keys(r).forEach(function(e){var t=r[e];d(t)}),Object.keys(r).forEach(function(t){var n=e.referenceDataAttributeMap[t].map(function(e){var n=r[t].value,i=e.data.values.find(function(e){return e.value===n})?e.data.values.find(function(e){return e.value===n}).linkedReferenceData:null;return i}).filter(function(e){return e});n&&n.forEach(function(t){t?t.attributes.forEach(function(n){var i=e.referenceDataAttributeMap[n].find(function(e){return e.dataName===t.name});g(i,n)}):Object.keys(e.referenceDataAttributeMap).forEach(function(t){var n=e.referenceDataAttributeMap[t].find(function(e){return 0==e.linkedFromList.length});g(n,t)})})})}if(n&&"dropdown"===n.type&&"address1_customer_type"!==n.name&&"address2_customer_type"!==n.name&&"customer_type"!==n.name&&(console.log("resetting....",n,i),f(n),h(n)),n&&"checkbox"===n.type){var a=null,o=!(null==e.config.selectedBillingAddress||!e.config.selectedBillingAddress.attributes)&&e.config.selectedBillingAddress.attributes.filter(function(e){return e.name===n.name}).length>0,u=!(null==e.config.selectedDeliveryAddress||!e.config.selectedDeliveryAddress.attributes)&&e.config.selectedDeliveryAddress.attributes.filter(function(e){return e.name===n.name}).length>0;if(o){var p=v(n),m=angular.copy(e.config.selectedBillingAddress);a=m.attributes.findIndex(function(e){return e.name===n.name}),m.attributes=m.attributes.slice(a+1),E(m,p,e,e.config.selectedBillingAddress)}else if(u){var b=v(n),y=angular.copy(e.config.selectedDeliveryAddress);a=y.attributes.findIndex(function(e){return e.name===n.name}),y.attributes=y.attributes.slice(a+1),E(y,b,e,e.config.selectedDeliveryAddress)}}})}function _(t){e.populatedAddresses=t.filter(function(e){return e.attributes.some(function(e){return e.value})})}
16function A(){e.loggedIn&&!e.showAuthDetails||Object.keys(e.profileGroups).forEach(function(t){if("authDetails"!==t){var n=e.profileGroups[t];n instanceof Array?n.forEach(function(n){e.profileGroups[t].attributes=T(n.attributes||[])}):e.profileGroups[t].attributes=T(n&&n.attributes||[])}})}function T(t){var n=[];return t.forEach(function(t){e.profileGroups.authDetails.attributes.find(function(e){return e.name===t.name})||n.push(t)}),n}function k(){var e=0,t=document.querySelectorAll('[id^="thumbnail-card-address-"]');Array.prototype.map.call(t,function(t){t.clientHeight>e&&(e=t.clientHeight)});for(var n=0;n<t.length;n++)t[n].style.minHeight=e+"px"}function V(t,i,r){e.success=!1,e.submitting=!1,console.error(t.taxValidationResult.message),setTimeout(function(){if(document.querySelector(".edit-billing-address #address-in-use-text")&&document.querySelector(".edit-billing-address #address-in-use-text").previousElementSibling.firstElementChild.click(),document.querySelector("#billing-address-address"+i+"_tax_id")){ 17var e=angular.element(document.querySelector("#billing-address-address"+i+"_tax_id")),t="ev.widgets.errors.field_invalid";e[0].value="",n([t]).then(function(n){var i=n[t];r&&(i=r),e.after('<span id="evErrorField" class="ev-error-field">'+i+"</span>")})}},0)}function I(t){e.success=!0,e.submitting=!1,e.showErrorInvalidTaxID=!1,EV.Event.publish(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_SUCCESS),EV.Event.publish(EV.Event.PM_PURCHASES_LIST_REFRESH),console.log("publish EV.Event.PM_PURCHASES_LIST_EDITED_ADDRESS_SUCCESS",t),EV.Event.publish(EV.Event.PM_PURCHASES_LIST_EDITED_ADDRESS_SUCCESS,t)}function L(t,n){console.log("editing billing address... ");var a=n.billingAddressGroup.lastIndexOf("s")+1,o=n.billingAddressGroup.slice(a,n.billingAddressGroup.length+1);return i.changePurchaseAddressInfo(t,n,e.addressType).then(function(t){var n=t.taxValidationResult;!t.taxValidationResult||"ERR_TC0006"!==t.taxValidationResult.result&&"ERR_TC0001"!==t.taxValidationResult.result?I(n&&"ERR_TC0002"===n.result&&"VIES"===n.provider?t:t):(e.showErrorInvalidTaxID=!0,V(t,o,null))})["catch"](function(t){e.success=!1,e.submitting=!1,console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})}function O(t){return e.profileGroups.addresses.find(function(e){return e===t})}function D(){if(e.mandatoryAttributes)for(var t in e.mandatoryAttributes)t.includes("*")&&!function(){var n=t.replace("*",e.addressData.name.slice(-1));e.mandatoryAttributes[n]=e.mandatoryAttributes[t],delete e.mandatoryAttributes[t],e.addressData.attributes.forEach(function(e){e.name==n&&(e.mandatory=!0)})}()}function R(e){return N(e)}function N(e){return e&&e.attributes.every(function(e){return!e.mandatory||e.value})}function $(e){for(var t=0;t<e.error.args.length;t++)e.error.args[0]=M(e.error.args[t])}function M(t){var n=void 0;return e.profileGroups.authDetails.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)}),e.profileGroups.personalDetails.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)}),e.profileGroups.addresses.forEach(function(e){e.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)})}),e.profileGroups.otherDetails.attributes.forEach(function(e){if(e.name===t)return void(n=e.label)}),n}function x(){var t=new RegExp("\\{0\\}","gi");e.formErrors.forEach(function(e){n(e.key).then(function(n){n=n.replace(t,e.attributeList),scope.translatedErrors.push(n),EV.Event.publish("product_profile_error",{error:n,showErrors:!0,widgetId:scope.errorWidgetGuid})})})}function F(e,t){function n(e){return"address"==e.category}function i(e){return"authDetails"==e.category}return Object.keys(e).reduce(function(t,r){function a(e,t){return(i(e)||n(e))&&(t=t.concat(e.attributes)),t}var o=e[r];return Array.isArray(o)?o.forEach(function(e){return t=a(e,t)}):t=a(o,t),t},[])}console.log("$scope in editBillingAddressss ",e),e.errorWidgetGuid="error-changePurchaseAddress",e.showErrorMsgs=!0,e.showHeader=!0,e.isLoading=!0,e.isAddAddress=!1,e.isEdtAddress=!1,e.loggedIn=EV.util.Storage.cookie.get("ev_ss"),e.formErrors=[],e.referenceDataMap={},e.referenceDataAttributeMap={},e.config={},e.errors=[],e.showErrorInvalidTaxID=!1,e.showErrorInvalidTaxIDVIES=!1,b(e.purchase.orderItem.product),e.selectCard=function(t){console.log("Selected Address",t),"BILLING"===e.addressType?e.purchase.billingAddressGroup=t.name:"DELIVERY"===e.addressType&&(e.purchase.deliveryAddressGroup=t.name),e.submit()},e.isEmptyAddress=function(e){for(var t=0;t<e.attributes.length;t++)if(e.attributes[t].value&&""!==e.attributes[t].value.trim())return!1;return!0},e.isUsedAddress=function(t){return"BILLING"===e.addressType?e.purchase.billingAddressGroup===t:"DELIVERY"===e.addressType?e.purchase.deliveryAddressGroup===t:void 0},e.cancel=function(){t.close(),EV.Event.publish(EV.Event.PM_PURCHASES_CHANGE_ADDRESS_CLOSED,e.purchase.id)},e.submit=function(){e.showError=!1,e.stripeErrorMessage="",e.submitting=!0;var t={};"BILLING"===e.addressType?t.billingAddressGroup=e.purchase.billingAddressGroup:"DELIVERY"===e.addressType&&(t.deliveryAddressGroup=e.purchase.deliveryAddressGroup),L(e.purchase.id,t)},e.editAddress=function(t){e.isEditAddress=!0,e.addressData=O(t),console.log("Updating address",e.addressData)},e.cancelEditAddress=function(){e.isEditAddress=!1,e.submitting=!1}
17,e.addNewAddress=function(){e.isAddAddress=!0,e.newAddressData=e.getNewAddress(),console.log("Adding new address",e.newAddressData)},e.getNewAddress=function(){if(e.profileGroups&&e.profileGroups.addresses)return e.profileGroups.addresses.find(function(t){return!e.populatedAddresses||e.populatedAddresses.indexOf(t)===-1})},e.submitNewAddress=function(t){e.submitting=!0;var n=t?e.addressData:e.newAddressData;if(D(),console.log("Values",n),R(n)||(e.submitting=!1,e.showError=!0,e.showErrorMsgs=!0,e.errors.push({attributes:Object.keys(e.mandatoryAttributes),description:"Missing mandatory attribute(s)"})),R(n)){var a=F(e.profileGroups,e.loggedIn),o=a.filter(function(e){return null!==e.value}).map(function(e){return{name:e.name,value:e.value}}),s=e.purchase.orderItem.product.serviceName;i.saveProfile(o,s).then(function(){var e=t?EV.Event.PM_PURCHASES_LIST_EDITED_ADDRESS_SUCCESS:EV.Event.PM_PURCHASES_LIST_ADDED_NEW_ADDRESS_SUCCESS;EV.Event.publish(e)})["catch"](function(e){e.error.code&&"ATTRIBUTE_VALIDATION_FAILED"===e.error.code&&$(e),r.handleError(scope.errorWidgetGuid,e),EV.Event.publish(EV.Event.PM_ERROR,{code:"INVALID_FORM",attributes:a}),x()})["finally"](function(){e.submitting=!1,e.isAddAddress=!1,e.isEditAddress=!1,e.newAddressData={},e.addressData={},_(e.profileGroups.addresses),e.submit()})}},e.cancelNewAddress=function(){e.isAddAddress=!1,e.submitting=!1}}])}function B(){"use strict";var e=angular.module("ev-widget.pm.cancelPurchase",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evCancelPurchase",[function(){return{restrict:"E",scope:{},template:"<!-- modal popup -->",controller:["$scope","EVExceptionHandler","$uibModal","pm2Util","$sce",function(e,t,n,i,r){function a(t){for(var n=0;n<e.purchases.length;n++)if(e.purchases[n].id===t)return e.purchases[n]}function o(){return"ev-widget.pm.cancelPurchase-"+EV.util.random_guid()}function s(o){o.paymentPlan||(o=a(o.id));var s=e.$new(!0);s.purchase=o,s.cancelReasons=e.cancelReasons,s.hasCancelReasons=s.cancelReasons&&s.cancelReasons.length>0,s.scope=s,n.open({templateUrl:"pm-v2/purchases-list-fragments/ev-cancel-purchase-confirm.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-cancel-purchase",keyboard:!0,backdrop:!0,scope:s,controller:["$scope","$uibModalInstance","$timeout",function(e,n,a){EV.Event.publish(EV.Event.PM_CANCEL_PURCHASE_OPEN,o.id),i.getRetentionDiscounts(o.paymentPlan.id).then(function(t){e.offers=t.retentionDiscounts||[],e.hasOffers=e.offers.length>0}),s.errorWidgetGuid="error-cancel-purchase",e.submitted=!1,e.cancelling=!1,e.selectedReason=null,e.showConfirmCancellationBtn=!s.hasCancelReasons,e.showCancelReasonActions=!1,e.selectedPurchase=o,e.showOffers=!1,e.showOfferPrice=!1,e.selectedOffer=null,e.selectOffer=function(t){if(e.selectedOffer){var n=document.getElementById("offer-"+e.selectedOffer.id);n.classList.remove("offer-selected")}e.selectedOffer=t;var i=document.getElementById("offer-"+t.id);i.classList.add("offer-selected")},e.applyOffer=function(){e.applyingOffer=!0,e.submitted=!0,i.applyOffer(o.id,e.selectedOffer.id).then(function(){e.offerSuccess=!0,EV.Event.publish(EV.Event.PM_OFFER_APPLY_SUCCESS,{}),EV.Event.publish("pm.initPurchasesList")})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(s.errorWidgetGuid,e)})["finally"](function(){e.applyingOffer=!1})},e.selectCancelReason=function(){null!=e.selectedReason?(e.showConfirmCancellationBtn=e.selectedReason.showConfirmCancelButton,e.showCancelReasonActions=!0,e.showOffers=e.selectedReason.showOffersEnabled,e.showOfferPrice=e.selectedReason.showOfferPrice,e.offers.length>0&&a(function(){e.selectOffer(e.offers[0])},0)):(e.showConfirmCancellationBtn=!s.hasCancelReasons,e.showCancelReasonActions=!1,e.showOffers=!1)},e.displayPrice=function(e){var t=o.orderItem.paymentPlan;t.discount=e;var n;return n=0===t.discount.period.numberOfDays?i.calculateFinalPrice(t,null):i.calculateTrialPrice(t,null)},e.renderHtml=function(e){return r.trustAsHtml(e)}
17,e.close=function(){n.close(),EV.Event.publish(EV.Event.PM_CANCEL_PURCHASE_CLOSE,o.id)},e.confirm=function(n){e.cancelling=!0,e.submitted=!0;var r=e.selectedReason?e.selectedReason.id:null;i.cancelPurchase(o.id,n,r).then(function(){e.success=!0,EV.Event.publish(EV.Event.PM_PURCHASE_CANCELLED),EV.Event.publish("pm.initPurchasesList")})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(s.errorWidgetGuid,e)})["finally"](function(){e.cancelling=!1})}}]})}e.widgetGuid=o(),e.errorWidgetGuid="error-"+e.widgetGuid,EV.Event.on("pm.cancelPurchase",function(t){e.purchases=t.purchases,e.cancelReasons=t.cancelReasons,s(t.purchase,t.cancelReasons)})}]}}])}function G(){"use strict";var e=angular.module("ev-widget.pm.changeCard",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evChangeCard",[function(){return{restrict:"E",scope:{},template:"<!-- modal popup -->",controller:["$scope","$uibModal","pm2Util",function(e,t,n){function i(){return"ev-widget.pm.changeCard-"
17+EV.util.random_guid()}function r(i){function r(){t.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-paystack-card.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-card",size:"lg",keyboard:!0,backdrop:!0,scope:l,controller:"PaystackChangeCardCtrl"})}function a(){t.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-checkoutdotcom-card.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-card",size:"lg",keyboard:!0,backdrop:!0,scope:l,controller:"CheckoutDotComChangeCardCtrl"})}function o(){t.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-mercado-card.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-card",size:"lg",keyboard:!0,backdrop:!0,scope:l,controller:["$scope","$uibModalInstance",function(e,t){function r(){for(var e=["cardNumber","securityCode","cardExpirationMonth","cardExpirationYear","cardholderName","docType","docNumber"],t=0;t<e.length;t++)document.getElementById(e[t]).value=""}function a(e,t){if(200!=e&&201!=e&&t.error)l.showError=!0,t.cause.length>0?u(t.cause[0]):l.mercadoErrorMessage=t.message,l.submitting=!1,EV.Event.publish(EV.Event.PM_ERROR,t.message);else{var n={token:{response:t}};o(l.purchase.id,n)}}function o(e,t){return n.changeCardInfo(e,t).then(function(){l.success=!0,l.submitting=!1,EV.Event.publish(EV.Event.PM_CARD_UPDATED)})["catch"](function(e){l.success=!1,l.submitting=!1,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),EVExceptionHandler.handleError(l.errorWidgetGuid,e)})}function s(e){return null!=e&&""!=e.trim()&&(3==e.length||4==e.length)&&d(e)}function c(e,t){return e.length<=t}function d(e){return/^\d+$/.test(e)}function u(e){var t="ev.widgets.mercado.error."+e.code;$translate(t).then(function(e){l.mercadoErrorMessage=e})["catch"](function(e){$translate("ev.widgets.mercado.error.default").then(function(e){l.mercadoErrorMessage=e})})}function p(){var e=document.createElement("script");e.src="https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js",e.onload=function(){console.log("Mercado ready!"),g()},document.body.appendChild(e)}function g(){var e=document.querySelectorAll(".mercado-payment .input");Array.prototype.forEach.call(e,function(e){e.addEventListener("focus",function(){e.classList.add("focused")}),e.addEventListener("blur",function(){e.classList.remove("focused")}),e.addEventListener("keyup",function(){0===e.value.length?e.classList.add("empty"):e.classList.remove("empty")})}),Mercadopago.setPublishableKey(EV.PM.mercadoKey),Mercadopago.getIdentificationTypes()}EV.Event.publish(EV.Event.PM_CHANGE_CARD_OPEN,i.id),l.errorWidgetGuid="error-mercado",l.showErrorMsgs=!0,l.showHeader=!0,l.isLoading=!0,l.isAddCard=!1,l.showAddCard=l.$parent.showAddCard;var f=!1;p(),n.retrieveCustomerCards(i.id).then(function(e){l.cards=e})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),EVExceptionHandler.handleError(l.errorWidgetGuid,e)})["finally"](function(){l.isLoading=!1}),e.selectedCard=function(e){l.selectedCard&&(f=!1,r(),document.getElementById("thumbnail-"+l.selectedCard).classList.remove("selected-card")),null!==e&&l.selectedCard!==e?(f=!1,r(),l.selectedCard=e,document.getElementById("thumbnail-"+e).classList.add("selected-card")):l.selectedCard=null},e.cancel=function(){t.close(),EV.Event.publish(EV.Event.PM_CHANGE_CARD_CLOSE,i.id)},e.submit=function(){l.showError=!1,l.mercadoErrorMessage="",l.submitting=!0;var e=document.querySelector("#pay");if(l.selectedCard){var t={card:{id:l.selectedCard,object:"card"}};o(l.purchase.id,t)}else{var n=e.elements.securityCode.value;if(!s(n)){l.showError=!0;var i="securityCode";return u({code:i}),l.submitting=!1,void EV.Event.publish(EV.Event.PM_ERROR,"invalid parameters")}var r=e.elements.docNumber.value,p=e.elements.docType.value;if(!d(r)&&"Otro"===p)return l.showError=!0,u({code:"docNumberAlphaNum"}),l.submitting=!1,void EV.Event.publish(EV.Event.PM_ERROR,"invalid parameters");if("Otro"===p&&!c(r,8))return l.showError=!0,u({code:"docNumberLength"}),l.submitting=!1,void EV.Event.publish(EV.Event.PM_ERROR,"invalid parameters");if("Otro"!==p&&!c(r,8))return l.showError=!0,u({code:"docNumberLength"}),l.submitting=!1,void EV.Event.publish(EV.Event.PM_ERROR,"invalid parameters");Mercadopago.createToken(e,a)}},e.addCard=function(){l.isAddCard=!0,e.selectedCard(null)},e.focusedNewCard=function(t){l.$parent.showAddCard||!f&&t&&(f=!0,e.selectedCard(null))}}]})}function s(){t.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-stripe-card.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-card",size:"lg",keyboard:!0,backdrop:!0,scope:l,controller:"StripeChangeCardCtrl"})}var l=e.$new(!0);l.scope=l,l.purchase=i,l.errorMessage="",n.getProviderByPaymentType(i.paymentType).then(function(e){switch(l.providerName=e.providerName,l.providerName){case"MERCADO":o();break;case"STRIPE":s();break;case"CHECKOUTDOTCOM":a();break;case"PAYSTACK":r()}})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),EVExceptionHandler.handleError(l.errorWidgetGuid,e)})}e.widgetGuid=i(),e.errorWidgetGuid="error-"+e.widgetGuid,EV.Event.on("pm.changeCard",function(e){r(e)})}]}}])}function U(){"use strict";var e=angular.module("ev-widget.pm.changeProductPlan",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evChangeProductPlan",[function(){return{restrict:"E",scope:{},template:"<!-- modal popup -->",controller:["$scope","EVExceptionHandler","$uibModal","pm2Util",function(e,t,n,i){function r(){return"ev-widget.pm.changeProductPlan-"+EV.util.random_guid()}function a(r,a){var o=e.$new(!0);o.purchase=r,o.scope=o,o.upgradeOnly=a,n.open({templateUrl:"pm-v2/purchases-list-fragments/ev-change-product-plan.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-change-product-plan",keyboard:!0,backdrop:!0,scope:o,controller:["$scope","$uibModalInstance",function(e,n){function a(t){if(e.selectedProduct){var n=document.getElementById("product-"+e.selectedProduct.id);n.classList.remove("change-product-plan-selected")}e.selectedProduct=t;var i=document.getElementById("product-"+t.id);i.classList.add("change-product-plan-selected"),s()}function s(){e.alternativePlans=[],e.selectedPlanType=e.planTypes.SINGLE;var t=null!=e.selectedProduct.changePlans&&e.selectedProduct.changePlans.length>0?e.selectedProduct.changePlans:e.selectedProduct.paymentPlans;if((!t||0==t.length)&&e.selectedProduct.changeBundlePlans&&e.selectedProduct.changeBundlePlans.length>0&&(t=e.selectedProduct.changeBundlePlans,e.selectedPlanType=e.planTypes.BUNDLE),e.upgradeOnly){var n=e.purchase.orderItem,i=n.paymentPlan?n.paymentPlan.frequency:n.bundlePlan.frequency;t=t.filter(function(e){var t=e.frequency,n=l(i),r=l(t);return!(n>=r)})}Array.prototype.push.apply(e.alternativePlans,t)}function l(e){return"DAY"===e.periodType?e.numberOfDays:"MONTH"===e.periodType?30*e.numberOfDays:"YEAR"===e.periodType?365*e.numberOfDays:void 0}function c(){e.order={id:null,orderItems:[],paymentType:e.purchase.paymentType,deliveryAddressGroup:e.purchase.deliveryAddressGroup||null,billingAddressGroup:e.purchase.billingAddressGroup||null,createdDate:null,lastModifiedDate:null,version:null,orderType:e.purchase.orderType};var t={product:e.selectedProduct,paymentPlan:e.selectedPlan,quantity:e.purchase.orderItem.quantity,startDate:null,startDeliveryDate:null};e.selectedPlanType===e.planTypes.BUNDLE&&(delete t.paymentPlan,t.bundlePlan=e.selectedPlan),e.order.orderItems.push(t)}o.errorWidgetGuid="error-change-product-plan",e.submitted=!1,e.upgrading=!1,e.showConfirmChangeBtn=!0,e.planTypes={SINGLE:"SINGLE",BUNDLE:"BUNDLE"},e.selectedPlanType=e.planTypes.SINGLE;var d=r.orderItem.product;e.alternativeProducts=[],i.getChangeProductsAndPlans(d.id).then(function(t){Array.prototype.push.apply(e.alternativeProducts,t.changeProducts);var n=d;0!==t.changePlans.length&&(n.changePlans=t.changePlans,e.alternativeProducts.push(n)),0!==t.changeBundlePlans.length&&(n=d,n.changeBundlePlans=t.changeBundlePlans,e.alternativeProducts.push(n))}),e.selectProduct=a,e.filterAlternativeProducts=function(){return console.log("filtering $scope.alternativeProducts",e.alternativeProducts,e.upgradeOnly),e.alternativeProducts},e.selectPlan=function(t){if(e.selectedPlan){var n=document.getElementById("plan-"+e.selectedPlan.id);n.classList.remove("change-product-plan-selected")}e.selectedPlan=t;var i=document.getElementById("plan-"+t.id);i.classList.add("change-product-plan-selected")},e.close=function(){n.close()},e.confirm=function(){e.upgrading=!0,e.submitted=!0,e.showConfirmChangeBtn=!1,c(),i.changeProductPlan(e.purchase.id,e.order).then(function(t){e.success=!0,EV.Event.publish(EV.Event.PM_SUBSCRIPTION_UPGRADED,t),T()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(o.errorWidgetGuid,e)}).then(function(){e.upgrading=!1})}}]})}e.widgetGuid=r(),e.errorWidgetGuid="error-"+e.widgetGuid,EV.Event.on("pm.changeProductPlan",function(e){var t=e.purchase,n=e.upgradeOnly;a(t,n)})}]}}])}function H(){"use strict";var e=angular.module("ev-widget.pm.generateQRAccessCode",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evGenerateQrCode",[function(){return{restrict:"E",scope:{},template:"<!-- modal popup -->",controller:["$scope","$uibModal","pm2Util",function(e,t,n){function i(){return"ev-widget.pm.generateQRAccessCode-"+EV.util.random_guid()}function r(i){t.open({templateUrl:"pm-v2/purchases-list-fragments/ev-generate-qr-code.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-qr-accesscode",keyboard:!0,backdrop:!0,scope:e,controller:["$scope","EVExceptionHandler","$uibModalInstance",function(t,r,a){t.close=function(){a.close()},t.showCode=!1,n.generateQRAccessCode(i.id).then(function(e){console.log(e),t.image=e.data,t.showCode=!0})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})}]})}e.widgetGuid=i(),e.errorWidgetGuid="error-"+e.widgetGuid,EV.Event.on("pm.generateQRAccessCode",function(e){r(e)})}]}}])}function W(){"use strict";var e=angular.module("ev-widget.pm.revertCancellation",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evRevertCancellation",[function(){return{restrict:"E",scope:{},template:"<!-- modal popup -->",controller:["$scope","$uibModal","pm2Util",function(e,t,n){function i(){return"ev-widget.pm.revertCancel-"+EV.util.random_guid()}function r(i){t.open({templateUrl:"pm-v2/purchases-list-fragments/ev-revert-cancellation.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-cancel-purchase",keyboard:!0,backdrop:!0,scope:e,controller:["$scope","EVExceptionHandler","$uibModalInstance",function(e,t,r){e.submitted=!1,e.reverting=!1,e.close=function(){r.close()},e.confirm=function(){e.submitted=!0,e.reverting=!0,n.revertCancellation(i.id).then(function(){e.success=!0,EV.Event.publish("pm.initPurchasesList")})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(scope.errorWidgetGuid,e)})["finally"](function(){e.reverting=!1})}}]})}e.widgetGuid=i(),e.errorWidgetGuid="error-"+e.widgetGuid,EV.Event.on("pm.revertCancellation",function(e){r(e)})}]}}])}function q(){"use strict";var e=angular.module("ev-widget.pm.upgradeProductPlan",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evUpgradeProductPlan",[function(){return{restrict:"E",scope:{},template:"<!-- modal popup -->",controller:["$scope","EVExceptionHandler","$uibModal","pm2Util",function(e,t,n,i){function r(){return"ev-widget.pm.upgradeProductPlan-"+EV.util.random_guid()}function a(r,a){var o=e.$new(!0);o.purchase=r,o.scope=o,o.upgradeOnly=a,n.open({templateUrl:"pm-v2/purchases-list-fragments/ev-upgrade-product-plan.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-upgrade-product-plan",keyboard:!0,backdrop:!0,scope:o,controller:["$scope","$uibModalInstance",function(e,n){function a(t){if(e.selectedProduct){var n=document.getElementById("product-"+e.selectedProduct.id);n.classList.remove("change-product-plan-selected")}e.selectedProduct=t;var i=document.getElementById("product-"+t.id);i.classList.add("change-product-plan-selected"),s()}function s(){e.alternativePlans=[];var t=null!=e.selectedProduct.changePlans&&e.selectedProduct.changePlans.length>0?e.selectedProduct.changePlans:e.selectedProduct.paymentPlans;if(e.upgradeOnly){var n=e.purchase.orderItem,i=n.paymentPlan?n.paymentPlan.frequency:n.bundlePlan.frequency;t=t.filter(function(e){var t=e.frequency,n=l(i),r=l(t);return!(n>=r)})}Array.prototype.push.apply(e.alternativePlans,t)}function l(e){return"DAY"===e.periodType?e.numberOfDays:"MONTH"===e.periodType?30*e.numberOfDays:"YEAR"===e.periodType?365*e.numberOfDays:void 0}function c(){e.order={id:null,orderItems:[],paymentType:e.purchase.paymentType,deliveryAddressGroup:e.purchase.deliveryAddressGroup||null,billingAddressGroup:e.purchase.billingAddressGroup||null,createdDate:null,lastModifiedDate:null,version:null,orderType:e.purchase.orderType},e.order.orderItems.push({product:e.selectedProduct,paymentPlan:e.selectedPlan,quantity:e.purchase.orderItem.quantity,startDate:null,startDeliveryDate:null})}o.errorWidgetGuid="error-upgrade-product-plan",e.submitted=!1,e.upgrading=!1,e.showConfirmChangeBtn=!0;var d=r.orderItem.product;e.alternativeProducts=[],i.getChangeProductsAndPlans(d.id).then(function(t){if(Array.prototype.push.apply(e.alternativeProducts,t.changeProducts),0!==t.changePlans.length){var n=d;n.changePlans=t.changePlans,e.alternativeProducts.push(n)}}),e.selectProduct=a,e.filterAlternativeProducts=function(){return console.log("filtering $scope.alternativeProducts",e.alternativeProducts,e.upgradeOnly),e.alternativeProducts},e.selectPlan=function(t){if(e.selectedPlan){var n=document.getElementById("plan-"+e.selectedPlan.id);n.classList.remove("change-product-plan-selected")}e.selectedPlan=t;var i=document.getElementById("plan-"+t.id);i.classList.add("change-product-plan-selected")},e.close=function(){n.close()},e.confirm=function(){e.upgrading=!0,e.submitted=!0,e.showConfirmChangeBtn=!1,c(),i.changeProductPlan(e.purchase.id,e.order).then(function(t){e.success=!0,EV.Event.publish(EV.Event.PM_SUBSCRIPTION_UPGRADED,t),T()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(o.errorWidgetGuid,e)}).then(function(){e.upgrading=!1})}}]})}console.log("initUpgradeProductPlan..."),e.widgetGuid=r(),e.errorWidgetGuid="error-"+e.widgetGuid,EV.Event.on("pm.upgradeProductPlan",function(e){var t=e.purchase,n=e.upgradeOnly;console.log("Received event pm.upgradeProductPlan"),a(t,n)})}]}}])}function j(){"use strict";var e=angular.module("ev-widget.pm.paystack.change-card",[]);e.controller("PaystackChangeCardCtrl",["$scope","$uibModalInstance","$translate","pm2Util","EVExceptionHandler",function(e,t,n,i,r){function a(t){var n={requiresRefund:!0,paystack_reference:t.reference};o(e.purchase.id,n)}function o(t,n){return i.changeCardInfo(t,n).then(function(){e.success=!0,e.submitting=!1,EV.Event.publish(EV.Event.PM_CARD_UPDATED)})["catch"](function(t){e.success=!1,e.submitting=!1,console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})}function s(){var e=document.createElement("script");e.src="https://js.paystack.co/v1/inline.js",e.onload=function(){console.log("Paystack ready!")},document.body.appendChild(e)}EV.Event.publish(EV.Event.PM_CHANGE_CARD_OPEN,e.purchase.id),e.errorWidgetGuid="error-paystack",e.showErrorMsgs=!0,e.showHeader=!0,e.isLoading=!0,e.showAddCard=e.$parent.showAddCard;var l=!1;s(),i.retrieveCustomerCards(e.purchase.id).then(function(t){e.cards=t})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})["finally"](function(){e.isLoading=!1}),e.selectCard=function(t){e.selectedCard&&document.getElementById("thumbnail-"+e.selectedCard).classList.remove("selected-card"),null!==t&&e.selectedCard!==t?(e.selectedCard=t,document.getElementById("thumbnail-"+t).classList.add("selected-card")):e.selectedCard=null},e.cancel=function(){t.close(),
17EV.Event.publish(EV.Event.PM_CHANGE_CARD_CLOSE,e.purchase.id)},e.submit=function(){if(e.showError=!1,e.mercadoErrorMessage="",e.submitting=!0,e.selectedCard){var t={card:{id:e.selectedCard,object:"card"}};o(e.purchase.id,t)}else i.preChangeCard(e.purchase.id).then(function(t){var n={key:EV.PM.paystackPublicKey,callback:a,onClose:function(){e.$apply(function(){console.log("Modal closed"),e.submitting=!1})}};n=Object.assign(n,t.data);var i=PaystackPop.setup(n);i.openIframe()})["catch"](function(t){e.success=!1,e.submitting=!1,t&&(console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t))})},e.addCard=function(){e.selectCard(null),e.submit()},e.focusedNewCard=function(t){e.$parent.showAddCard||!l&&t&&(l=!0,e.selectCard(null))}}])}function Y(){"use strict";var e=angular.module("ev-widget.pm.stripe.change-card",[]);e.controller("StripeChangeCardCtrl",["$scope","$uibModalInstance","$translate","pm2Util","EVExceptionHandler",function(e,t,n,i,r){function a(t,n){return i.changeCardInfo(t,n).then(function(t){t.agreementId?(e.success=!0,e.submitting=!1,EV.Event.publish(EV.Event.PM_CARD_UPDATED),EV.Event.publish(EV.Event.PM_PURCHASES_LIST_REFRESH)):(e.success=!0,e.submitting=!1,EV.Event.publish(EV.Event.PM_CARD_UPDATED),EV.Event.publish(EV.Event.PM_PURCHASES_LIST_REFRESH))})["catch"](function(t){e.success=!1,e.submitting=!1,console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})}function o(){var e=document.createElement("script");e.src="https://js.stripe.com/v3/",e.onload=function(){console.log("Stripe ready!"),s()},document.body.appendChild(e)}function s(){r.removeError(e.errorWidgetGuid),c=Stripe(EV.PM.stripeKey),d=c.elements({fonts:[{cssSrc:"https://fonts.googleapis.com/css?family=Source+Code+Pro"}],locale:"auto"});var t=document.querySelectorAll(".stripe-payment .input");Array.prototype.forEach.call(t,function(e){e.addEventListener("focus",function(){e.classList.add("focused")}),e.addEventListener("blur",function(){e.classList.remove("focused")}),e.addEventListener("keyup",function(){0===e.value.length?e.classList.add("empty"):e.classList.remove("empty")})});var n={base:{color:"#32325D",fontWeight:500,fontSize:"16px",fontSmoothing:"antialiased","::placeholder":{color:"#CFD7DF"},":-webkit-autofill":{color:"#e39f48"}},invalid:{color:"#E25950","::placeholder":{color:"#FFCCA5"}}}
17,i={focus:"focused",empty:"empty",invalid:"invalid"},a=d.create("cardNumber",{style:n,classes:i});a.mount("#card-number");var o=d.create("cardExpiry",{style:n,classes:i});o.mount("#card-expiry");var s=d.create("cardCvc",{style:n,classes:i});s.mount("#card-cvc"),d=[a,o,s],l(c,d)}function l(t,n){var i={};n.forEach(function(t,n){t.on("change",function(t){if(t.error)e.showError=!0,i[n]=t.error.message,e.stripeErrorMessage=t.error.message,e.submitting=!1;else{i[n]=null;var r=Object.keys(i).sort().reduce(function(e,t){return e||i[t]},null);r?e.stripeErrorMessage=r:e.$apply(function(){e.showError=!1,e.stripeErrorMessage=""})}})})}EV.Event.publish(EV.Event.PM_CHANGE_CARD_OPEN,e.purchase.id),e.errorWidgetGuid="error-stripe",e.showErrorMsgs=!0,e.showHeader=!0,e.isLoading=!0,e.isAddCard=!1;var c,d;o();var u=i.getEvProfile(),p=u&&u.registration?u.registration.brand:null;if(!p&&(p=e.purchase.brand,!p)){var g=e.purchase.orderItem;p=g.paymentPlan?g.paymentPlan.brand:g.bundlePlan.brand}i.retrieveCustomerCards(e.purchase.id,p).then(function(t){e.cards=t.filter(function(t){return e.purchase.card&&e.purchase.card.cardId==t.cardId}),e.cards.length>0&&(e.selectedCard=e.cards[0].cardId)})["catch"](function(t){console.error(t),EV.Event.publish(EV.Event.PM_ERROR,t),r.handleError(e.errorWidgetGuid,t)})["finally"](function(){e.isLoading=!1}),e.selectCard=function(t){e.selectedCard&&document.getElementById("thumbnail-"+e.selectedCard).classList.remove("selected-card"),null!==t&&e.selectedCard!==t?(e.selectedCard=t,document.getElementById("thumbnail-"+t).classList.add("selected-card")):e.selectedCard=null},e.cancel=function(){t.close(),EV.Event.publish(EV.Event.PM_CHANGE_CARD_CLOSE,e.purchase.id)},e.submit=function(){if(e.showError=!1,e.stripeErrorMessage="",e.submitting=!0,e.selectedCard){var t={card:{id:e.selectedCard,object:"card"}};a(e.purchase.id,t)}else r.removeError(e.errorWidgetGuid),e.success=!1,e.submitting=!0,c.createPaymentMethod({type:"card",card:d[0],billing_details:{}}).then(function(t){if(t.error)e.$apply(function(){e.showError=!0,e.stripeErrorMessage=t.error.message,e.submitting=!1});else{var n={payment_method_id:t.paymentMethod.id};a(e.purchase.id,n)}})["catch"](function(){return e.$apply(function(){return e.submitting=!1})})},e.addCard=function(){e.isAddCard=!0,e.selectCard(null)}}])}!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.returnExports=t()}(this,function(){"use strict";var e,t=Function.call.bind(Function.apply),n=Function.call.bind(Function.call),i=Array.isArray,r=Object.keys,a=function(e){return function(){return!t(e,this,arguments)}},o=function(e){try{return e(),!1}catch(t){return!0}},s=function(e){try{return e()}catch(t){return!1}},l=a(o),c=function(){return!o(function(){return Object.defineProperty({},"x",{get:function(){}})})},d=!!Object.defineProperty&&c(),u="foo"===function(){}.name,p=Function.call.bind(Array.prototype.forEach),g=Function.call.bind(Array.prototype.reduce),f=Function.call.bind(Array.prototype.filter),m=Function.call.bind(Array.prototype.some),h=function(e,t,n,i){!i&&t in e||(d?Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n}):e[t]=n)},v=function(e,t,n){p(r(t),function(i){var r=t[i];h(e,i,r,!!n)})},E=Function.call.bind(Object.prototype.toString),b="function"==typeof/abc/?function(e){return"function"==typeof e&&"[object Function]"===E(e)}:function(e){return"function"==typeof e},y={getter:function(e,t,n){if(!d)throw new TypeError("getters require true ES5 support");Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get:n})},proxy:function(e,t,n){if(!d)throw new TypeError("getters require true ES5 support");var i=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,{configurable:i.configurable, 18enumerable:i.enumerable,get:function(){return e[t]},set:function(n){e[t]=n}})},redefine:function(e,t,n){if(d){var i=Object.getOwnPropertyDescriptor(e,t);i.value=n,Object.defineProperty(e,t,i)}else e[t]=n},defineByDescriptor:function(e,t,n){d?Object.defineProperty(e,t,n):"value"in n&&(e[t]=n.value)},preserveToString:function(e,t){t&&b(t.toString)&&h(e,"toString",t.toString.bind(t),!0)}},w=Object.create||function(e,t){var n=function(){};n.prototype=e;var i=new n;return"undefined"!=typeof t&&r(t).forEach(function(e){y.defineByDescriptor(i,e,t[e])}),i}
18,S=function(e,t){return!!Object.setPrototypeOf&&s(function(){var n=function i(t){var n=new e(t);return Object.setPrototypeOf(n,i.prototype),n};return Object.setPrototypeOf(n,e),n.prototype=w(e.prototype,{constructor:{value:n}}),t(n)})},C=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")},P=C(),_=P.isFinite,A=Function.call.bind(String.prototype.indexOf),T=Function.apply.bind(Array.prototype.indexOf),k=Function.call.bind(Array.prototype.concat),V=Function.call.bind(String.prototype.slice),I=Function.call.bind(Array.prototype.push),L=Function.apply.bind(Array.prototype.push),O=Function.call.bind(Array.prototype.join),D=Function.call.bind(Array.prototype.shift),R=Math.max,N=Math.min,$=Math.floor,M=Math.abs,x=Math.exp,F=Math.log,B=Math.sqrt,G=Function.call.bind(Object.prototype.hasOwnProperty),U=function(){},H=P.Map,W=H&&H.prototype["delete"],q=H&&H.prototype.get,j=H&&H.prototype.has,Y=H&&H.prototype.set,z=P.Symbol||{},K=z.species||"@@species",J=Number.isNaN||function(e){return e!==e},Z=Number.isFinite||function(e){return"number"==typeof e&&_(e)},X=b(Math.sign)?Math.sign:function(e){var t=Number(e);return 0===t?t:J(t)?t:t<0?-1:1},Q=function(e){var t=Number(e);return t<-1||J(t)?NaN:0===t||t===1/0?t:t===-1?-(1/0):1+t-1===0?t:t*(F(1+t)/(1+t-1))},ee=function(e){return"[object Arguments]"===E(e)},te=function(e){return null!==e&&"object"==typeof e&&"number"==typeof e.length&&e.length>=0&&"[object Array]"!==E(e)&&"[object Function]"===E(e.callee)},ne=ee(arguments)?ee:te,ie={primitive:function(e){return null===e||"function"!=typeof e&&"object"!=typeof e},string:function(e){return"[object String]"===E(e)},regex:function(e){return"[object RegExp]"===E(e)},symbol:function(e){return"function"==typeof P.Symbol&&"symbol"==typeof e}},re=function(e,t,n){var i=e[t];h(e,t,n,!0),y.preserveToString(e[t],i)},ae="function"==typeof z&&"function"==typeof z["for"]&&ie.symbol(z()),oe=ie.symbol(z.iterator)?z.iterator:"_es6-shim iterator_";P.Set&&"function"==typeof(new P.Set)["@@iterator"]&&(oe="@@iterator"),P.Reflect||h(P,"Reflect",{},!0);var se=P.Reflect,le=String,ce="undefined"!=typeof document&&document?document.all:null,de=null==ce?function(e){return null==e}:function(e){return null==e&&e!==ce},ue={Call:function(e,n){var i=arguments.length>2?arguments[2]:[];if(!ue.IsCallable(e))throw new TypeError(e+" is not a function");return t(e,n,i)},RequireObjectCoercible:function(e,t){if(de(e))throw new TypeError(t||"Cannot call method on "+e);return e},TypeIsObject:function(e){return void 0!==e&&null!==e&&e!==!0&&e!==!1&&("function"==typeof e||"object"==typeof e||e===ce)},ToObject:function(e,t){return Object(ue.RequireObjectCoercible(e,t))},IsCallable:b,IsConstructor:function(e){return ue.IsCallable(e)},ToInt32:function(e){return ue.ToNumber(e)>>0},ToUint32:function(e){return ue.ToNumber(e)>>>0},ToNumber:function(e){if(ae&&"[object Symbol]"===E(e))throw new TypeError("Cannot convert a Symbol value to a number");return+e},ToInteger:function(e){var t=ue.ToNumber(e);return J(t)?0:0!==t&&Z(t)?(t>0?1:-1)*$(M(t)):t},ToLength:function(e){var t=ue.ToInteger(e);return t<=0?0:t>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:t},SameValue:function(e,t){return e===t?0!==e||1/e===1/t:J(e)&&J(t)},SameValueZero:function(e,t){return e===t||J(e)&&J(t)},IsIterable:function(e){return ue.TypeIsObject(e)&&("undefined"!=typeof e[oe]||ne(e))},GetIterator:function(t){if(ne(t))return new e(t,"value");var n=ue.GetMethod(t,oe);if(!ue.IsCallable(n))throw new TypeError("value is not an iterable");var i=ue.Call(n,t);if(!ue.TypeIsObject(i))throw new TypeError("bad iterator");return i},GetMethod:function(e,t){var n=ue.ToObject(e)[t];if(!de(n)){if(!ue.IsCallable(n))throw new TypeError("Method not callable: "+t);return n}},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var n=ue.GetMethod(e,"return");if(void 0!==n){var i,r;try{i=ue.Call(n,e)}catch(a){r=a}if(!t){if(r)throw r;if(!ue.TypeIsObject(i))throw new TypeError("Iterator's return method returned a non-object.")}}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ue.TypeIsObject(t))throw new TypeError("bad iterator");return t},IteratorStep:function(e){var t=ue.IteratorNext(e),n=ue.IteratorComplete(t);return!n&&t},Construct:function(e,t,n,i){var r="undefined"==typeof n?e:n;if(!i&&se.construct)return se.construct(e,t,r);var a=r.prototype;ue.TypeIsObject(a)||(a=Object.prototype);var o=w(a),s=ue.Call(e,o,t);return ue.TypeIsObject(s)?s:o},SpeciesConstructor:function(e,t){var n=e.constructor;if(void 0===n)return t;if(!ue.TypeIsObject(n))throw new TypeError("Bad constructor");var i=n[K];if(de(i))return t;if(!ue.IsConstructor(i))throw new TypeError("Bad @@species");return i},CreateHTML:function(e,t,n,i){var r=ue.ToString(e),a="<"+t;if(""!==n){var o=ue.ToString(i),s=o.replace(/"/g,""");a+=" "+n+'="'+s+'"'}var l=a+">",c=l+r;return c+"</"+t+">"},IsRegExp:function(e){if(!ue.TypeIsObject(e))return!1;var t=e[z.match];return"undefined"!=typeof t?!!t:ie.regex(e)},ToString:function(e){if(ae&&"[object Symbol]"===E(e))throw new TypeError("Cannot convert a Symbol value to a number");return le(e)}};if(d&&ae){var pe=function(e){if(ie.symbol(z[e]))return z[e];var t=z["for"]("Symbol."+e);return Object.defineProperty(z,e,{configurable:!1,enumerable:!1,writable:!1,value:t}),t};if(!ie.symbol(z.search)){var ge=pe("search"),fe=String.prototype.search;h(RegExp.prototype,ge,function(e){return ue.Call(fe,e,[this])});var me=function(e){var t=ue.RequireObjectCoercible(this);if(!de(e)){var n=ue.GetMethod(e,ge);if("undefined"!=typeof n)return ue.Call(n,e,[t])}return ue.Call(fe,t,[ue.ToString(e)])};re(String.prototype,"search",me)}if(!ie.symbol(z.replace)){var he=pe("replace"),ve=String.prototype.replace;h(RegExp.prototype,he,function(e,t){return ue.Call(ve,e,[this,t])});var Ee=function(e,t){var n=ue.RequireObjectCoercible(this);if(!de(e)){var i=ue.GetMethod(e,he);if("undefined"!=typeof i)return ue.Call(i,e,[n,t])}return ue.Call(ve,n,[ue.ToString(e),t])};re(String.prototype,"replace",Ee)}if(!ie.symbol(z.split)){var be=pe("split"),ye=String.prototype.split;h(RegExp.prototype,be,function(e,t){return ue.Call(ye,e,[this,t])});var we=function(e,t){var n=ue.RequireObjectCoercible(this);if(!de(e)){var i=ue.GetMethod(e,be);if("undefined"!=typeof i)return ue.Call(i,e,[n,t])}return ue.Call(ye,n,[ue.ToString(e),t])};re(String.prototype,"split",we)}var Se=ie.symbol(z.match),Ce=Se&&function(){var e={};return e[z.match]=function(){return 42},42!=="a".match(e)}();if(!Se||Ce){var Pe=pe("match"),_e=String.prototype.match;h(RegExp.prototype,Pe,function(e){return ue.Call(_e,e,[this])});var Ae=function(e){var t=ue.RequireObjectCoercible(this);if(!de(e)){var n=ue.GetMethod(e,Pe);if("undefined"!=typeof n)return ue.Call(n,e,[t])}return ue.Call(_e,t,[ue.ToString(e)])};re(String.prototype,"match",Ae)}}var Te=function(e,t,n){y.preserveToString(t,e),Object.setPrototypeOf&&Object.setPrototypeOf(e,t),d?p(Object.getOwnPropertyNames(e),function(i){i in U||n[i]||y.proxy(e,i,t)}):p(Object.keys(e),function(i){i in U||n[i]||(t[i]=e[i])}),t.prototype=e.prototype,y.redefine(e.prototype,"constructor",t)},ke=function(){return this},Ve=function(e){d&&!G(e,K)&&y.getter(e,K,ke)},Ie=function(e,t){var n=t||function(){return this};
18h(e,oe,n),!e[oe]&&ie.symbol(oe)&&(e[oe]=n)},Le=function(e,t,n){d?Object.defineProperty(e,t,{configurable:!0,enumerable:!0,writable:!0,value:n}):e[t]=n},Oe=function(e,t,n){if(Le(e,t,n),!ue.SameValue(e[t],n))throw new TypeError("property is nonconfigurable")},De=function(e,t,n,i){if(!ue.TypeIsObject(e))throw new TypeError("Constructor requires `new`: "+t.name);var r=t.prototype;ue.TypeIsObject(r)||(r=n);var a=w(r);for(var o in i)if(G(i,o)){var s=i[o];h(a,o,s,!0)}return a};if(String.fromCodePoint&&1!==String.fromCodePoint.length){var Re=String.fromCodePoint;re(String,"fromCodePoint",function(e){return ue.Call(Re,this,arguments)})}var Ne={fromCodePoint:function(e){for(var t,n=[],i=0,r=arguments.length;i<r;i++){if(t=Number(arguments[i]),!ue.SameValue(t,ue.ToInteger(t))||t<0||t>1114111)throw new RangeError("Invalid code point "+t);t<65536?I(n,String.fromCharCode(t)):(t-=65536,I(n,String.fromCharCode((t>>10)+55296)),I(n,String.fromCharCode(t%1024+56320)))}return O(n,"")},raw:function Gi(e){var t=(arguments.length-1,ue.ToObject(e,"bad template")),Gi=ue.ToObject(t.raw,"bad raw value"),n=Gi.length,i=ue.ToLength(n);if(i<=0)return"";for(var r,a,o,s,l=[],c=0;c<i&&(r=ue.ToString(c),o=ue.ToString(Gi[r]),I(l,o),!(c+1>=i));)a=c+1<arguments.length?arguments[c+1]:"",s=ue.ToString(a),I(l,s),c+=1;return O(l,"")}};String.raw&&"xy"!==String.raw({raw:{0:"x",1:"y",length:2}})&&re(String,"raw",Ne.raw),v(String,Ne);var $e=function Ui(e,t){if(t<1)return"";if(t%2)return Ui(e,t-1)+e;var n=Ui(e,t/2);return n+n},Me=1/0,xe={repeat:function(e){var t=ue.ToString(ue.RequireObjectCoercible(this)),n=ue.ToInteger(e);if(n<0||n>=Me)throw new RangeError("repeat count must be less than infinity and not overflow maximum string size");return $e(t,n)},startsWith:function(e){var t=ue.ToString(ue.RequireObjectCoercible(this));if(ue.IsRegExp(e))throw new TypeError('Cannot call method "startsWith" with a regex');var n,i=ue.ToString(e);arguments.length>1&&(n=arguments[1]);var r=R(ue.ToInteger(n),0);return V(t,r,r+i.length)===i},endsWith:function(e){var t=ue.ToString(ue.RequireObjectCoercible(this));if(ue.IsRegExp(e))throw new TypeError('Cannot call method "endsWith" with a regex');var n,i=ue.ToString(e),r=t.length;arguments.length>1&&(n=arguments[1]);var a="undefined"==typeof n?r:ue.ToInteger(n),o=N(R(a,0),r);return V(t,o-i.length,o)===i},includes:function(e){if(ue.IsRegExp(e))throw new TypeError('"includes" does not accept a RegExp');var t,n=ue.ToString(e);return arguments.length>1&&(t=arguments[1]),A(this,n,t)!==-1},codePointAt:function(e){var t=ue.ToString(ue.RequireObjectCoercible(this)),n=ue.ToInteger(e),i=t.length;if(n>=0&&n<i){var r=t.charCodeAt(n),a=n+1===i;if(r<55296||r>56319||a)return r;var o=t.charCodeAt(n+1);return o<56320||o>57343?r:1024*(r-55296)+(o-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",1/0)!==!1&&re(String.prototype,"includes",xe.includes),String.prototype.startsWith&&String.prototype.endsWith){var Fe=o(function(){return"/a/".startsWith(/a/)}),Be=s(function(){return"abc".startsWith("a",1/0)===!1});Fe&&Be||(re(String.prototype,"startsWith",xe.startsWith),re(String.prototype,"endsWith",xe.endsWith))}if(ae){var Ge=s(function(){var e=/a/;return e[z.match]=!1,"/a/".startsWith(e)});Ge||re(String.prototype,"startsWith",xe.startsWith);var Ue=s(function(){var e=/a/;return e[z.match]=!1,"/a/".endsWith(e)});Ue||re(String.prototype,"endsWith",xe.endsWith);var He=s(function(){var e=/a/;return e[z.match]=!1,"/a/".includes(e)});He||re(String.prototype,"includes",xe.includes)}v(String.prototype,xe);var We=["\t\n\x0B\f\r  áá ââââ","ââ
ââââââ¯âã\u2028","\u2029\ufeff"].join(""),qe=new RegExp("(^["+We+"]+)|(["+We+"]+$)","g"),je=function(){return ue.ToString(ue.RequireObjectCoercible(this)).replace(qe,"")},Ye=["Â
","â","￾"].join(""),ze=new RegExp("["+Ye+"]","g"),Ke=/^[-+]0x[0-9a-f]+$/i,Je=Ye.trim().length!==Ye.length;h(String.prototype,"trim",je,Je);var Ze=function(e){return{value:e,done:0===arguments.length}},Xe=function(e){ue.RequireObjectCoercible(e),this._s=ue.ToString(e),this._i=0};Xe.prototype.next=function(){var e=this._s,t=this._i;if("undefined"==typeof e||t>=e.length)return this._s=void 0,Ze();var n,i,r=e.charCodeAt(t);return r<55296||r>
1856319||t+1===e.length?i=1:(n=e.charCodeAt(t+1),i=n<56320||n>57343?1:2),this._i=t+i,Ze(e.substr(t,i))},Ie(Xe.prototype),Ie(String.prototype,function(){return new Xe(this)});var Qe={from:function(e){var t,i=this;arguments.length>1&&(t=arguments[1]);var r,a;if("undefined"==typeof t)r=!1;else{if(!ue.IsCallable(t))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(a=arguments[2]),r=!0}var o,s,l,c="undefined"!=typeof(ne(e)||ue.GetMethod(e,oe));if(c){s=ue.IsConstructor(i)?Object(new i):[];var d,u,p=ue.GetIterator(e);for(l=0;;){if(d=ue.IteratorStep(p),d===!1)break;u=d.value;try{r&&(u="undefined"==typeof a?t(u,l):n(t,a,u,l)),s[l]=u}catch(g){throw ue.IteratorClose(p,!0),g}l+=1}o=l}else{var f=ue.ToObject(e);o=ue.ToLength(f.length),s=ue.IsConstructor(i)?Object(new i(o)):new Array(o);var m;for(l=0;l<o;++l)m=f[l],r&&(m="undefined"==typeof a?t(m,l):n(t,a,m,l)),Oe(s,l,m)}return s.length=o,s},of:function(){for(var e=arguments.length,t=this,n=i(t)||!ue.IsCallable(t)?new Array(e):ue.Construct(t,[e]),r=0;r<e;++r)Oe(n,r,arguments[r]);return n.length=e,n}};v(Array,Qe),Ve(Array),e=function(e,t){this.i=0,this.array=e,this.kind=t},v(e.prototype,{next:function(){var t=this.i,n=this.array;if(!(this instanceof e))throw new TypeError("Not an ArrayIterator");if("undefined"!=typeof n){var i=ue.ToLength(n.length);if(t<i){var r,a=this.kind;return"key"===a?r=t:"value"===a?r=n[t]:"entry"===a&&(r=[t,n[t]]),this.i=t+1,Ze(r)}}return this.array=void 0,Ze()}}),Ie(e.prototype);var et=Array.of===Qe.of||function(){var e=function(e){this.length=e};e.prototype=[];var t=Array.of.apply(e,[1,2]);return t instanceof e&&2===t.length}();et||re(Array,"of",Qe.of);var tt={copyWithin:function(e,t){var n,i=ue.ToObject(this),r=ue.ToLength(i.length),a=ue.ToInteger(e),o=ue.ToInteger(t),s=a<0?R(r+a,0):N(a,r),l=o<0?R(r+o,0):N(o,r);arguments.length>2&&(n=arguments[2]);var c="undefined"==typeof n?r:ue.ToInteger(n),d=c<0?R(r+c,0):N(c,r),u=N(d-l,r-s),p=1;for(l<s&&s<l+u&&(p=-1,l+=u-1,s+=u-1);u>0;)l in i?i[s]=i[l]:delete i[s],l+=p,s+=p,u-=1;return i},fill:function(e){var t;arguments.length>1&&(t=arguments[1]);var n;arguments.length>2&&(n=arguments[2]);var i=ue.ToObject(this),r=ue.ToLength(i.length);t=ue.ToInteger("undefined"==typeof t?0:t),n=ue.ToInteger("undefined"==typeof n?r:n);for(var a=t<0?R(r+t,0):N(t,r),o=n<0?r+n:n,s=a;s<r&&s<o;++s)i[s]=e;return i},find:function(e){var t=ue.ToObject(this),i=ue.ToLength(t.length);if(!ue.IsCallable(e))throw new TypeError("Array#find: predicate must be a function");for(var r,a=arguments.length>1?arguments[1]:null,o=0;o<i;o++)if(r=t[o],a){if(n(e,a,r,o,t))return r}else if(e(r,o,t))return r},findIndex:function(e){var t=ue.ToObject(this),i=ue.ToLength(t.length);if(!ue.IsCallable(e))throw new TypeError("Array#findIndex: predicate must be a function");for(var r=arguments.length>1?arguments[1]:null,a=0;a<i;a++)if(r){if(n(e,r,t[a],a,t))return a}else if(e(t[a],a,t))return a;return-1},keys:function(){return new e(this,"key")},values:function(){return new e(this,"value")},entries:function(){return new e(this,"entry")}};if(Array.prototype.keys&&!ue.IsCallable([1].keys().next)&&delete Array.prototype.keys,Array.prototype.entries&&!ue.IsCallable([1].entries().next)&&delete Array.prototype.entries,Array.prototype.keys&&Array.prototype.entries&&!Array.prototype.values&&Array.prototype[oe]&&(v(Array.prototype,{values:Array.prototype[oe]}),ie.symbol(z.unscopables)&&(Array.prototype[z.unscopables].values=!0)),u&&Array.prototype.values&&"values"!==Array.prototype.values.name){var nt=Array.prototype.values;re(Array.prototype,"values",function(){return ue.Call(nt,this,arguments)}),h(Array.prototype,oe,Array.prototype.values,!0)}v(Array.prototype,tt),1/[!0].indexOf(!0,-0)<0&&h(Array.prototype,"indexOf",function(e){var t=T(this,arguments);return 0===t&&1/t<0?0:t},!0),Ie(Array.prototype,function(){return this.values()}),Object.getPrototypeOf&&Ie(Object.getPrototypeOf([].values()));var it=function(){return s(function(){return 0===Array.from({length:-1}).length})}(),rt=function(){var e=Array.from([0].entries());return 1===e.length&&i(e[0])&&0===e[0][0]&&0===e[0][1]}();it&&rt||re(Array,"from",Qe.from);var at=function(){return s(function(){return Array.from([0],void 0)})}();if(!at){var ot=Array.from;re(Array,"from",function(e){return arguments.length>1&&"undefined"!=typeof arguments[1]?ue.Call(ot,this,arguments):n(ot,this,e)})}var st=-(Math.pow(2,32)-1),lt=function(e,t){var i={length:st};return i[t?(i.length>>>0)-1:0]=!0,s(function(){return n(e,i,function(){throw new RangeError("should not reach here")},[]),!0})};if(!lt(Array.prototype.forEach)){var ct=Array.prototype.forEach;re(Array.prototype,"forEach",function(e){return ue.Call(ct,this.length>=0?this:[],arguments)})}if(!lt(Array.prototype.map)){var dt=Array.prototype.map;re(Array.prototype,"map",function(e){return ue.Call(dt,this.length>=0?this:[],arguments)})}if(!lt(Array.prototype.filter)){var ut=Array.prototype.filter;re(Array.prototype,"filter",function(e){return ue.Call(ut,this.length>=0?this:[],arguments)})}if(!lt(Array.prototype.some)){var pt=Array.prototype.some;re(Array.prototype,"some",function(e){return ue.Call(pt,this.length>=0?this:[],arguments)})}if(!lt(Array.prototype.every)){var gt=Array.prototype.every;re(Array.prototype,"every",function(e){return ue.Call(gt,this.length>=0?this:[],arguments)})}if(!lt(Array.prototype.reduce)){var ft=Array.prototype.reduce;re(Array.prototype,"reduce",function(e){return ue.Call(ft,this.length>=0?this:[],arguments)})}if(!lt(Array.prototype.reduceRight,!0)){var mt=Array.prototype.reduceRight;re(Array.prototype,"reduceRight",function(e){return ue.Call(mt,this.length>=0?this:[],arguments)})}var ht=8!==Number("0o10"),vt=2!==Number("0b10"),Et=m(Ye,function(e){return 0===Number(e+0+e)});if(ht||vt||Et){var bt=Number,yt=/^0b[01]+$/i,wt=/^0o[0-7]+$/i,St=yt.test.bind(yt),Ct=wt.test.bind(wt),Pt=function(e,t){var n;if("function"==typeof e.valueOf&&(n=e.valueOf(),ie.primitive(n)))return n;if("function"==typeof e.toString&&(n=e.toString(),ie.primitive(n)))return n;throw new TypeError("No default value")},_t=ze.test.bind(ze),At=Ke.test.bind(Ke),Tt=function(){var e=function(t){var n;n=arguments.length>0?ie.primitive(t)?t:Pt(t,"number"):0,"string"==typeof n&&(n=ue.Call(je,n),St(n)?n=parseInt(V(n,2),2):Ct(n)?n=parseInt(V(n,2),8):(_t(n)||At(n))&&(n=NaN));var i=this,r=s(function(){return bt.prototype.valueOf.call(i),!0});return i instanceof e&&!r?new bt(n):bt(n)};return e}();Te(bt,Tt,{}),v(Tt,{NaN:bt.NaN,MAX_VALUE:bt.MAX_VALUE,MIN_VALUE:bt.MIN_VALUE,NEGATIVE_INFINITY:bt.NEGATIVE_INFINITY,POSITIVE_INFINITY:bt.POSITIVE_INFINITY}),Number=Tt,y.redefine(P,"Number",Tt)}var kt=Math.pow(2,53)-1;v(Number,{MAX_SAFE_INTEGER:kt,MIN_SAFE_INTEGER:-kt,EPSILON:2.220446049250313e-16,parseInt:P.parseInt,parseFloat:P.parseFloat,isFinite:Z,isInteger:function(e){return Z(e)&&ue.ToInteger(e)===e},isSafeInteger:function(e){return Number.isInteger(e)&&M(e)<=Number.MAX_SAFE_INTEGER},isNaN:J}),h(Number,"parseInt",P.parseInt,Number.parseInt!==P.parseInt),1===[,1].find(function(){return!0})&&re(Array.prototype,"find",tt.find),0!==[,1].findIndex(function(){return!0})&&re(Array.prototype,"findIndex",tt.findIndex);var Vt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable),It=function(e,t){d&&Vt(e,t)&&Object.defineProperty(e,t,{enumerable:!1})},Lt=function(){for(var e=Number(this),t=arguments.length,n=t-e,i=new Array(n<0?0:n),r=e;r<t;++r)i[r-e]=arguments[r];return i},Ot=function(e){return function(t,n){return t[n]=e[n],t}},Dt=function(e,t){var n,i=r(Object(t));
18return ue.IsCallable(Object.getOwnPropertySymbols)&&(n=f(Object.getOwnPropertySymbols(Object(t)),Vt(t))),g(k(i,n||[]),Ot(t),e)},Rt={assign:function(e,t){var n=ue.ToObject(e,"Cannot convert undefined or null to object");return g(ue.Call(Lt,1,arguments),Dt,n)},is:function(e,t){return ue.SameValue(e,t)}},Nt=Object.assign&&Object.preventExtensions&&function(){var e=Object.preventExtensions({1:2});try{Object.assign(e,"xy")}catch(t){return"y"===e[1]}}();if(Nt&&re(Object,"assign",Rt.assign),v(Object,Rt),d){var $t={setPrototypeOf:function(e,t){var i,r=function(e,t){if(!ue.TypeIsObject(e))throw new TypeError("cannot set prototype on a non-object");if(null!==t&&!ue.TypeIsObject(t))throw new TypeError("can only set prototype to an object or null"+t)},a=function(e,t){return r(e,t),n(i,e,t),e};try{i=e.getOwnPropertyDescriptor(e.prototype,t).set,n(i,{},null)}catch(o){if(e.prototype!=={}[t])return;i=function(e){this[t]=e},a.polyfill=a(a({},null),e.prototype)instanceof e}return a}(Object,"__proto__")};v(Object,$t)}Object.setPrototypeOf&&Object.getPrototypeOf&&null!==Object.getPrototypeOf(Object.setPrototypeOf({},null))&&null===Object.getPrototypeOf(Object.create(null))&&!function(){var e=Object.create(null),t=Object.getPrototypeOf,n=Object.
18setPrototypeOf;Object.getPrototypeOf=function(n){var i=t(n);return i===e?null:i},Object.setPrototypeOf=function(t,i){var r=null===i?e:i;return n(t,r)},Object.setPrototypeOf.polyfill=!1}();var Mt=!o(function(){return Object.keys("foo")});if(!Mt){var xt=Object.keys;re(Object,"keys",function(e){return xt(ue.ToObject(e))}),r=Object.keys}var Ft=o(function(){return Object.keys(/a/g)});if(Ft){var Bt=Object.keys;re(Object,"keys",function(e){if(ie.regex(e)){var t=[];for(var n in e)G(e,n)&&I(t,n);return t}return Bt(e)}),r=Object.keys}if(Object.getOwnPropertyNames){var Gt=!o(function(){return Object.getOwnPropertyNames("foo")});if(!Gt){var Ut="object"==typeof window?Object.getOwnPropertyNames(window):[],Ht=Object.getOwnPropertyNames;re(Object,"getOwnPropertyNames",function(e){var t=ue.ToObject(e);if("[object Window]"===E(t))try{return Ht(t)}catch(n){return k([],Ut)}return Ht(t)})}}if(Object.getOwnPropertyDescriptor){var Wt=!o(function(){return Object.getOwnPropertyDescriptor("foo","bar")});if(!Wt){var qt=Object.getOwnPropertyDescriptor;re(Object,"getOwnPropertyDescriptor",function(e,t){return qt(ue.ToObject(e),t)})}}if(Object.seal){var jt=!o(function(){return Object.seal("foo")});if(!jt){var Yt=Object.seal;re(Object,"seal",function(e){return ue.TypeIsObject(e)?Yt(e):e})}}if(Object.isSealed){var zt=!o(function(){return Object.isSealed("foo")});if(!zt){var Kt=Object.isSealed;re(Object,"isSealed",function(e){return!ue.TypeIsObject(e)||Kt(e)})}}if(Object.freeze){var Jt=!o(function(){return Object.freeze("foo")});if(!Jt){var Zt=Object.freeze;re(Object,"freeze",function(e){return ue.TypeIsObject(e)?Zt(e):e})}}if(Object.isFrozen){var Xt=!o(function(){return Object.isFrozen("foo")});if(!Xt){var Qt=Object.isFrozen;re(Object,"isFrozen",function(e){return!ue.TypeIsObject(e)||Qt(e)})}}if(Object.preventExtensions){var en=!o(function(){return Object.preventExtensions("foo")});if(!en){var tn=Object.preventExtensions;re(Object,"preventExtensions",function(e){return ue.TypeIsObject(e)?tn(e):e})}}if(Object.isExtensible){var nn=!o(function(){return Object.isExtensible("foo")});if(!nn){var rn=Object.isExtensible;re(Object,"isExtensible",function(e){return!!ue.TypeIsObject(e)&&rn(e)})}}if(Object.getPrototypeOf){var an=!o(function(){return Object.getPrototypeOf("foo")});if(!an){var on=Object.getPrototypeOf;re(Object,"getPrototypeOf",function(e){return on(ue.ToObject(e))})}}var sn=d&&function(){var e=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags");return e&&ue.IsCallable(e.get)}();if(d&&!sn){var ln=function(){if(!ue.TypeIsObject(this))throw new TypeError("Method called on incompatible type: must be an object.");var e="";return this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.unicode&&(e+="u"),this.sticky&&(e+="y"),e};y.getter(RegExp.prototype,"flags",ln)}var cn=d&&s(function(){return"/a/i"===String(new RegExp(/a/g,"i"))}),dn=ae&&d&&function(){var e=/./;return e[z.match]=!1,RegExp(e)===e}(),un=s(function(){return"/abc/"===RegExp.prototype.toString.call({source:"abc"})}),pn=un&&s(function(){return"/a/b"===RegExp.prototype.toString.call({source:"a",flags:"b"})});if(!un||!pn){var gn=RegExp.prototype.toString;h(RegExp.prototype,"toString",function(){var e=ue.RequireObjectCoercible(this);if(ie.regex(e))return n(gn,e);var t=le(e.source),i=le(e.flags);return"/"+t+"/"+i},!0),y.preserveToString(RegExp.prototype.toString,gn)}if(d&&(!cn||dn)){var fn=Object.getOwnPropertyDescriptor(RegExp.prototype,"flags").get,mn=Object.getOwnPropertyDescriptor(RegExp.prototype,"source")||{},hn=function(){return this.source},vn=ue.IsCallable(mn.get)?mn.get:hn,En=RegExp,bn=function(){return function e(t,n){var i=ue.IsRegExp(t),r=this instanceof e;if(!r&&i&&"undefined"==typeof n&&t.constructor===e)return t;var a=t,o=n;return ie.regex(t)?(a=ue.Call(vn,t),o="undefined"==typeof n?ue.Call(fn,t):n,new e(a,o)):(i&&(a=t.source,o="undefined"==typeof n?t.flags:n),new En(t,n))}}();Te(En,bn,{$input:!0}),RegExp=bn,y.redefine(P,"RegExp",bn)}if(d){var yn={input:"$_",lastMatch:"$&",lastParen:"$+",leftContext:"$`",rightContext:"$'"};p(r(yn),function(e){e in RegExp&&!(yn[e]in RegExp)&&y.getter(RegExp,yn[e],function(){return RegExp[e]})})}Ve(RegExp);var wn=1/Number.EPSILON,Sn=function(e){return e+wn-wn},Cn=Math.pow(2,-23),Pn=Math.pow(2,127)*(2-Cn),_n=Math.pow(2,-126),An=Math.E,Tn=Math.LOG2E,kn=Math.LOG10E,Vn=Number.prototype.clz;delete Number.prototype.clz;var In={acosh:function(e){var t=Number(e);if(J(t)||e<1)return NaN;if(1===t)return 0;if(t===1/0)return t;var n=1/(t*t);if(t<2)return Q(t-1+B(1-n)*t);var i=t/2;return Q(i+B(1-n)*i-1)+1/Tn},asinh:function(e){var t=Number(e);if(0===t||!_(t))return t;var n=M(t),i=n*n,r=X(t);return n<1?r*Q(n+i/(B(i+1)+1)):r*(Q(n/2+B(1+1/i)*n/2-1)+1/Tn)},atanh:function(e){var t=Number(e);if(0===t)return t;if(t===-1)return-(1/0);if(1===t)return 1/0;if(J(t)||t<-1||t>1)return NaN;var n=M(t);return X(t)*Q(2*n/(1-n))/2},cbrt:function(e){var t=Number(e);if(0===t)return t;var n,i=t<0;return i&&(t=-t),t===1/0?n=1/0:(n=x(F(t)/3),n=(t/(n*n)+2*n)/3),i?-n:n},clz32:function(e){var t=Number(e),n=ue.ToUint32(t);return 0===n?32:Vn?ue.Call(Vn,n):31-$(F(n+.5)*Tn)},cosh:function(e){var t=Number(e);if(0===t)return 1;if(J(t))return NaN;if(!_(t))return 1/0;var n=x(M(t)-1);return(n+1/(n*An*An))*(An/2)},expm1:function(e){var t=Number(e);if(t===-(1/0))return-1;if(!_(t)||0===t)return t;if(M(t)>.5)return x(t)-1;for(var n=t,i=0,r=1;i+n!==i;)i+=n,r+=1,n*=t/r;return i},hypot:function(e,t){for(var n=0,i=0,r=0;r<arguments.length;++r){var a=M(Number(arguments[r]));i<a?(n*=i/a*(i/a),n+=1,i=a):n+=a>0?a/i*(a/i):a}return i===1/0?1/0:i*B(n)},log2:function(e){return F(e)*Tn},log10:function(e){return F(e)*kn},log1p:Q,sign:X,sinh:function(e){var t=Number(e);if(!_(t)||0===t)return t;var n=M(t);if(n<1){var i=Math.expm1(n);return X(t)*i*(1+1/(i+1))/2}var r=x(n-1);return X(t)*(r-1/(r*An*An))*(An/2)},tanh:function(e){var t=Number(e);return J(t)||0===t?t:t>=20?1:t<=-20?-1:(Math.expm1(t)-Math.expm1(-t))/(x(t)+x(-t))},trunc:function(e){var t=Number(e);return t<0?-$(-t):$(t)},imul:function(e,t){var n=ue.ToUint32(e),i=ue.ToUint32(t),r=n>>>16&65535,a=65535&n,o=i>>>16&65535,s=65535&i;return a*s+(r*s+a*o<<16>>>0)|0},fround:function(e){var t=Number(e);if(0===t||t===1/0||t===-(1/0)||J(t))return t;var n=X(t),i=M(t);if(i<_n)return n*Sn(i/_n/Cn)*_n*Cn;var r=(1+Cn/Number.EPSILON)*i,a=r-(r-i);return a>Pn||J(a)?n*(1/0):n*a}},Ln=function(e,t,n){return M(1-e/t)/Number.EPSILON<(n||8)};v(Math,In),h(Math,"sinh",In.sinh,Math.sinh(710)===1/0),h(Math,"cosh",In.cosh,Math.cosh(710)===1/0),h(Math,"log1p",In.log1p,Math.log1p(-1e-17)!==-1e-17),h(Math,"asinh",In.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7)),h(Math,"asinh",In.asinh,Math.asinh(1e300)===1/0),h(Math,"atanh",In.atanh,0===Math.atanh(1e-300)),h(Math,"tan
18h",In.tanh,Math.tanh(-2e-17)!==-2e-17),h(Math,"acosh",In.acosh,Math.acosh(Number.MAX_VALUE)===1/0),h(Math,"acosh",In.acosh,!Ln(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON))),h(Math,"cbrt",In.cbrt,!Ln(Math.cbrt(1e-300),1e-100)),h(Math,"sinh",In.sinh,Math.sinh(-2e-17)!==-2e-17);var On=Math.expm1(10);h(Math,"expm1",In.expm1,On>22025.465794806718||On<22025.465794806718),h(Math,"hypot",In.hypot,Math.hypot(1/0,NaN)!==1/0);var Dn=Math.round,Rn=0===Math.round(.5-Number.EPSILON/4)&&1===Math.round(-.5+Number.EPSILON/3.99),Nn=wn+1,$n=2*wn-1,Mn=[Nn,$n].every(function(e){return Math.round(e)===e});h(Math,"round",function(e){var t=$(e),n=t===-1?-0:t+1;return e-t<.5?t:n},!Rn||!Mn),y.preserveToString(Math.round,Dn);var xn=Math.imul;Math.imul(4294967295,5)!==-5&&(Math.imul=In.imul,y.preserveToString(Math.imul,xn)),2!==Math.imul.length&&re(Math,"imul",function(e,t){return ue.Call(xn,Math,arguments)});var Fn=function(){var e=P.setTimeout;if("function"==typeof e||"object"==typeof e){ue.IsPromise=function(e){return!!ue.TypeIsObject(e)&&"undefined"!=typeof e._promise};var t,i=function(e){if(!ue.IsConstructor(e))throw new TypeError("Bad promise constructor");var t=this,n=function(e,n){if(void 0!==t.resolve||void 0!==t.reject)throw new TypeError("Bad Promise implementation!");t.resolve=e,t.reject=n};if(t.resolve=void 0,t.reject=void 0,t.promise=new e(n),!ue.IsCallable(t.resolve)||!ue.IsCallable(t.reject))throw new TypeError("Bad promise constructor")};"undefined"!=typeof window&&ue.IsCallable(window.postMessage)&&(t=function(){var e=[],t="zero-timeout-message",n=function(n){I(e,n),window.postMessage(t,"*")},i=function(n){if(n.source===window&&n.data===t){if(n.stopPropagation(),0===e.length)return;var i=D(e);i()}};return window.addEventListener("message",i,!0),n});var r,a,o=function(){var e=P.Promise,t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}},s=ue.IsCallable(P.setImmediate)?P.setImmediate:"object"==typeof process&&process.nextTick?process.nextTick:o()||(ue.IsCallable(t)?t():function(t){e(t,0)}),l=function(e){return e},c=function(e){throw e},d=0,u=1,p=2,g=0,f=1,m=2,h={},E=function(e,t,n){s(function(){b(e,t,n)})},b=function(e,t,n){var i,r;if(t===h)return e(n);try{i=e(n),r=t.resolve}catch(a){i=a,r=t.reject}r(i)},y=function(e,t){var n=e._promise,i=n.reactionLength;if(i>0&&(E(n.fulfillReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,i>1))for(var r=1,a=0;r<i;r++,a+=3)E(n[a+g],n[a+m],t),e[a+g]=void 0,e[a+f]=void 0,e[a+m]=void 0;n.result=t,n.state=u,n.reactionLength=0},w=function(e,t){var n=e._promise,i=n.reactionLength;if(i>0&&(E(n.rejectReactionHandler0,n.reactionCapability0,t),n.fulfillReactionHandler0=void 0,n.rejectReactions0=void 0,n.reactionCapability0=void 0,i>1))for(var r=1,a=0;r<i;r++,a+=3)E(n[a+f],n[a+m],t),e[a+g]=void 0,e[a+f]=void 0,e[a+m]=void 0;n.result=t,n.state=p,n.reactionLength=0},S=function(e){var t=!1,n=function(n){var i;if(!t){if(t=!0,n===e)return w(e,new TypeError("Self resolution"));if(!ue.TypeIsObject(n))return y(e,n);try{i=n.then}catch(r){return w(e,r)}return ue.IsCallable(i)?void s(function(){_(e,n,i)}):y(e,n)}},i=function(n){if(!t)return t=!0,w(e,n)};return{resolve:n,reject:i}},C=function(e,t,i,r){e===a?n(e,t,i,r,h):n(e,t,i,r)},_=function(e,t,n){var i=S(e),r=i.resolve,a=i.reject;try{C(n,t,r,a)}catch(o){a(o)}},A=function(){var e=function(t){if(!(this instanceof e))throw new TypeError('Constructor Promise requires "new"');if(this&&this._promise)throw new TypeError("Bad construction");if(!ue.IsCallable(t))throw new TypeError("not a valid resolver");var n=De(this,e,r,{_promise:{result:void 0,state:d,reactionLength:0,fulfillReactionHandler0:void 0,rejectReactionHandler0:void 0,reactionCapability0:void 0}}),i=S(n),a=i.reject;try{t(i.resolve,a)}catch(o){a(o)}return n};return e}();r=A.prototype;var T=function(e,t,n,i){var r=!1;return function(a){if(!r&&(r=!0,t[e]=a,0===--i.count)){var o=n.resolve;o(t)}}},k=function(e,t,n){for(var i,r,a=e.iterator,o=[],s={count:1},l=0;;){try{if(i=ue.IteratorStep(a),i===!1){e.done=!0;break}r=i.value}catch(c){throw e.done=!0,c}o[l]=void 0;var d=t.resolve(r),u=T(l,o,n,s);s.count+=1,C(d.then,d,u,n.reject),l+=1}if(0===--s.count){var p=n.resolve;p(o)}return n.promise},V=function(e,t,n){for(var i,r,a,o=e.iterator;;){ 19try{if(i=ue.IteratorStep(o),i===!1){e.done=!0;break}r=i.value}catch(s){throw e.done=!0,s}a=t.resolve(r),C(a.then,a,n.resolve,n.reject)}return n.promise};return v(A,{all:function(e){var t=this;if(!ue.TypeIsObject(t))throw new TypeError("Promise is not object");var n,r,a=new i(t);try{return n=ue.GetIterator(e),r={iterator:n,done:!1},k(r,t,a)}catch(o){var s=o;if(r&&!r.done)try{ue.IteratorClose(n,!0)}catch(l){s=l}var c=a.reject;return c(s),a.promise}},race:function(e){var t=this;if(!ue.TypeIsObject(t))throw new TypeError("Promise is not object");var n,r,a=new i(t);try{return n=ue.GetIterator(e),r={iterator:n,done:!1},V(r,t,a)}catch(o){var s=o;if(r&&!r.done)try{ue.IteratorClose(n,!0)}catch(l){s=l}var c=a.reject;return c(s),a.promise}},reject:function(e){var t=this;if(!ue.TypeIsObject(t))throw new TypeError("Bad promise constructor");var n=new i(t),r=n.reject;return r(e),n.promise},resolve:function(e){var t=this;if(!ue.TypeIsObject(t))throw new TypeError("Bad promise constructor");if(ue.IsPromise(e)){var n=e.constructor;if(n===t)return e}var r=new i(t),a=r.resolve;return a(e),r.promise}}),v(r,{"catch":function(e){return this.then(null,e)},then:function(e,t){var n=this;if(!ue.IsPromise(n))throw new TypeError("not a promise");var r,a=ue.SpeciesConstructor(n,A),o=arguments.length>2&&arguments[2]===h;r=o&&a===A?h:new i(a);var s,v=ue.IsCallable(e)?e:l,b=ue.IsCallable(t)?t:c,y=n._promise;if(y.state===d){if(0===y.reactionLength)y.fulfillReactionHandler0=v,y.rejectReactionHandler0=b,y.reactionCapability0=r;else{var w=3*(y.reactionLength-1);y[w+g]=v,y[w+f]=b,y[w+m]=r}y.reactionLength+=1}else if(y.state===u)s=y.result,E(v,r,s);else{if(y.state!==p)throw new TypeError("unexpected Promise state");s=y.result,E(b,r,s)}return r.promise}}),h=new i(A),a=r.then,A}}();if(P.Promise&&(delete P.Promise.accept,delete P.Promise.defer,delete P.Promise.prototype.chain),"function"==typeof Fn){v(P,{Promise:Fn});var Bn=S(P.Promise,function(e){return e.resolve(42).then(function(){})instanceof e}),Gn=!o(function(){return P.Promise.reject(42).then(null,5).then(null,U)}),Un=o(function(){return P.Promise.call(3,U)}),Hn=function(e){var t=e.resolve(5);t.constructor={};var n=e.resolve(t);try{n.then(null,U).then(null,U)}catch(i){return!0}return t===n}(P.Promise),Wn=d&&function(){var e=0,t=Object.defineProperty({},"then",{get:function(){e+=1}});return Promise.resolve(t),1===e}(),qn=function Hi(e){var t=new Promise(e);e(3,function(){}),this.then=t.then,this.constructor=Hi};qn.prototype=Promise.prototype,qn.all=Promise.all;var jn=s(function(){return!!qn.all([1,2])});if(Bn&&Gn&&Un&&!Hn&&Wn&&!jn||(Promise=Fn,re(P,"Promise",Fn)),1!==Promise.all.length){var Yn=Promise.all;re(Promise,"all",function(e){return ue.Call(Yn,this,arguments)})}if(1!==Promise.race.length){var zn=Promise.race;re(Promise,"race",function(e){return ue.Call(zn,this,arguments)})}if(1!==Promise.resolve.length){var Kn=Promise.resolve;re(Promise,"resolve",function(e){return ue.Call(Kn,this,arguments)})}if(1!==Promise.reject.length){var Jn=Promise.reject;re(Promise,"reject",function(e){return ue.Call(Jn,this,arguments)})}It(Promise,"all"),It(Promise,"race"),It(Promise,"resolve"),It(Promise,"reject"),Ve(Promise)}var Zn=function(e){var t=r(g(e,function(e,t){return e[t]=!0,e},{}));return e.join(":")===t.join(":")},Xn=Zn(["z","a","bb"]),Qn=Zn(["z",1,"a","3",2]);if(d){var ei=function(e,t){return t||Xn?de(e)?"^"+ue.ToString(e):"str
19ing"==typeof e?"$"+e:"number"==typeof e?Qn?e:"n"+e:"boolean"==typeof e?"b"+e:null:null},ti=function(){return Object.create?Object.create(null):{}},ni=function(e,t,r){if(i(r)||ie.string(r))p(r,function(e){if(!ue.TypeIsObject(e))throw new TypeError("Iterator value "+e+" is not an entry object");t.set(e[0],e[1])});else if(r instanceof e)n(e.prototype.forEach,r,function(e,n){t.set(n,e)});else{var a,o;if(!de(r)){if(o=t.set,!ue.IsCallable(o))throw new TypeError("bad map");a=ue.GetIterator(r)}if("undefined"!=typeof a)for(;;){var s=ue.IteratorStep(a);if(s===!1)break;var l=s.value;try{if(!ue.TypeIsObject(l))throw new TypeError("Iterator value "+l+" is not an entry object");n(o,t,l[0],l[1])}catch(c){throw ue.IteratorClose(a,!0),c}}}},ii=function(e,t,r){if(i(r)||ie.string(r))p(r,function(e){t.add(e)});else if(r instanceof e)n(e.prototype.forEach,r,function(e){t.add(e)});else{var a,o;if(!de(r)){if(o=t.add,!ue.IsCallable(o))throw new TypeError("bad set");a=ue.GetIterator(r)}if("undefined"!=typeof a)for(;;){var s=ue.IteratorStep(a);if(s===!1)break;var l=s.value;try{n(o,t,l)}catch(c){throw ue.IteratorClose(a,!0),c}}}},ri={Map:function(){var e={},t=function(e,t){this.key=e,this.value=t,this.next=null,this.prev=null};t.prototype.isRemoved=function(){return this.key===e};var i=function(e){return!!e._es6map},r=function(e,t){if(!ue.TypeIsObject(e)||!i(e))throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ue.ToString(e))},a=function(e,t){r(e,"[[MapIterator]]"),this.head=e._head,this.i=this.head,this.kind=t};a.prototype={isMapIterator:!0,next:function(){if(!this.isMapIterator)throw new TypeError("Not a MapIterator");var e=this.i,t=this.kind,n=this.head;if("undefined"==typeof this.i)return Ze();for(;e.isRemoved()&&e!==n;)e=e.prev;for(var i;e.next!==n;)if(e=e.next,!e.isRemoved())return i="key"===t?e.key:"value"===t?e.value:[e.key,e.value],this.i=e,Ze(i);return this.i=void 0,Ze()}},Ie(a.prototype);var o,s=function l(){if(!(this instanceof l))throw new TypeError('Constructor Map requires "new"');if(this&&this._es6map)throw new TypeError("Bad construction");var e=De(this,l,o,{_es6map:!0,_head:null,_map:H?new H:null,_size:0,_storage:ti()}),n=new t(null,null);return n.next=n.prev=n,e._head=n,arguments.length>0&&ni(l,e,arguments[0]),e};return o=s.prototype,y.getter(o,"size",function(){if("undefined"==typeof this._size)throw new TypeError("size method called on incompatible Map");return this._size}),v(o,{get:function(e){r(this,"get");var t,n=ei(e,!0);if(null!==n)return t=this._storage[n],t?t.value:void 0;if(this._map)return t=q.call(this._map,e),t?t.value:void 0;for(var i=this._head,a=i;(a=a.next)!==i;)if(ue.SameValueZero(a.key,e))return a.value},has:function(e){r(this,"has");var t=ei(e,!0);if(null!==t)return"undefined"!=typeof this._storage[t];if(this._map)return j.call(this._map,e);for(var n=this._head,i=n;(i=i.next)!==n;)if(ue.SameValueZero(i.key,e))return!0;return!1},set:function(e,n){r(this,"set");var i,a=this._head,o=a,s=ei(e,!0);if(null!==s){if("undefined"!=typeof this._storage[s])return this._storage[s].value=n,this;i=this._storage[s]=new t(e,n),o=a.prev}else this._map&&(j.call(this._map,e)?q.call(this._map,e).value=n:(i=new t(e,n),Y.call(this._map,e,i),o=a.prev));for(;(o=o.next)!==a;)if(ue.SameValueZero(o.key,e))return o.value=n,this;return i=i||new t(e,n),ue.SameValue(-0,e)&&(i.key=0),i.next=this._head,i.prev=this._head.prev,i.prev.next=i,i.next.prev=i,this._size+=1,this},"delete":function(t){r(this,"delete");var n=this._head,i=n,a=ei(t,!0);if(null!==a){if("undefined"==typeof this._storage[a])return!1;i=this._storage[a].prev,delete this._storage[a]}else if(this._map){if(!j.call(this._map,t))return!1;i=q.call(this._map,t).prev,W.call(this._map,t)}for(;(i=i.next)!==n;)if(ue.SameValueZero(i.key,t))return i.key=e,i.value=e,i.prev.next=i.next,i.next.prev=i.prev,this._size-=1,!0;return!1},clear:function(){r(this,"clear"),this._map=H?new H:null,this._size=0,this._storage=ti();for(var t=this._head,n=t,i=n.next;(n=i)!==t;)n.key=e,n.value=e,i=n.next,n.next=n.prev=t;t.next=t.prev=t},keys:function(){return r(this,"keys"),new a(this,"key")},values:function(){return r(this,"values"),new a(this,"value")},entries:function(){return r(this,"entries"),new a(this,"key+value")}
19,forEach:function(e){r(this,"forEach");for(var t=arguments.length>1?arguments[1]:null,i=this.entries(),a=i.next();!a.done;a=i.next())t?n(e,t,a.value[1],a.value[0],this):e(a.value[1],a.value[0],this)}}),Ie(o,o.entries),s}(),Set:function(){var e,t=function(e){return e._es6set&&"undefined"!=typeof e._storage},i=function(e,n){if(!ue.TypeIsObject(e)||!t(e))throw new TypeError("Set.prototype."+n+" called on incompatible receiver "+ue.ToString(e))},a=function c(){if(!(this instanceof c))throw new TypeError('Constructor Set requires "new"');if(this&&this._es6set)throw new TypeError("Bad construction");var t=De(this,c,e,{_es6set:!0,"[[SetData]]":null,_storage:ti()});if(!t._es6set)throw new TypeError("bad set");return arguments.length>0&&ii(c,t,arguments[0]),t};e=a.prototype;var o=function(e){var t=e;if("^null"===t)return null;if("^undefined"!==t){var n=t.charAt(0);return"$"===n?V(t,1):"n"===n?+V(t,1):"b"===n?"btrue"===t:+t}},s=function(e){if(!e["[[SetData]]"]){var t=new ri.Map;e["[[SetData]]"]=t,p(r(e._storage),function(e){var n=o(e);t.set(n,n)}),e["[[SetData]]"]=t}e._storage=null};y.getter(a.prototype,"size",function(){return i(this,"size"),this._storage?r(this._storage).length:(s(this),this["[[SetData]]"].size)}),v(a.prototype,{has:function(e){i(this,"has");var t;return this._storage&&null!==(t=ei(e))?!!this._storage[t]:(s(this),this["[[SetData]]"].has(e))},add:function(e){i(this,"add");var t;return this._storage&&null!==(t=ei(e))?(this._storage[t]=!0,this):(s(this),this["[[SetData]]"].set(e,e),this)},"delete":function(e){i(this,"delete");var t;if(this._storage&&null!==(t=ei(e))){var n=G(this._storage,t);return delete this._storage[t]&&n}return s(this),this["[[SetData]]"]["delete"](e)},clear:function(){i(this,"clear"),this._storage&&(this._storage=ti()),this["[[SetData]]"]&&this["[[SetData]]"].clear()},values:function(){return i(this,"values"),s(this),new l(this["[[SetData]]"].values())},entries:function(){return i(this,"entries"),s(this),new l(this["[[SetData]]"].entries())},forEach:function(e){i(this,"forEach");var t=arguments.length>1?arguments[1]:null,r=this;s(r),this["[[SetData]]"].forEach(function(i,a){t?n(e,t,a,a,r):e(a,a,r)})}}),h(a.prototype,"keys",a.prototype.values,!0),Ie(a.prototype,a.prototype.values);var l=function(e){this.it=e};return l.prototype={isSetIterator:!0,next:function(){if(!this.isSetIterator)throw new TypeError("Not a SetIterator");return this.it.next()}},Ie(l.prototype),a}()},ai=P.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(ai&&(P.Set=ri.Set),P.Map||P.Set){var oi=s(function(){return 2===new Map([[1,2]]).get(1)});oi||(P.Map=function Wi(){if(!(this instanceof Wi))throw new TypeError('Constructor Map requires "new"');var e=new H;return arguments.length>0&&ni(Wi,e,arguments[0]),delete e.constructor,Object.setPrototypeOf(e,P.Map.prototype),e},P.Map.prototype=w(H.prototype),h(P.Map.prototype,"constructor",P.Map,!0),y.preserveToString(P.Map,H));var si=new Map,li=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);return e.set(-0,e),e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}(),ci=si.set(1,2)===si;li&&ci||re(Map.prototype,"set",function(e,t){return n(Y,this,0===e?0:e,t),this}),li||(v(Map.prototype,{get:function(e){return n(q,this,0===e?0:e)},has:function(e){return n(j,this,0===e?0:e)}},!0),y.preserveToString(Map.prototype.get,q),y.preserveToString(Map.prototype.has,j));var di=new Set,ui=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){return e["delete"](0),e.add(-0),!e.has(0)}(di),pi=di.add(1)===di;if(!ui||!pi){var gi=Set.prototype.add;Set.prototype.add=function(e){return n(gi,this,0===e?0:e),this},y.preserveToString(Set.prototype.add,gi)}if(!ui){var fi=Set.prototype.has;Set.prototype.has=function(e){return n(fi,this,0===e?0:e)},y.preserveToString(Set.prototype.has,fi);var mi=Set.prototype["delete"];Set.prototype["delete"]=function(e){return n(mi,this,0===e?0:e)},y.preserveToString(Set.prototype["delete"],mi)}var hi=S(P.Map,function(e){var t=new e([]);return t.set(42,42),t instanceof e}
19),vi=Object.setPrototypeOf&&!hi,Ei=function(){try{return!(P.Map()instanceof P.Map)}catch(e){return e instanceof TypeError}}();0===P.Map.length&&!vi&&Ei||(P.Map=function qi(){if(!(this instanceof qi))throw new TypeError('Constructor Map requires "new"');var e=new H;return arguments.length>0&&ni(qi,e,arguments[0]),delete e.constructor,Object.setPrototypeOf(e,qi.prototype),e},P.Map.prototype=H.prototype,h(P.Map.prototype,"constructor",P.Map,!0),y.preserveToString(P.Map,H));var bi=S(P.Set,function(e){var t=new e([]);return t.add(42,42),t instanceof e}),yi=Object.setPrototypeOf&&!bi,wi=function(){try{return!(P.Set()instanceof P.Set)}catch(e){return e instanceof TypeError}}();if(0!==P.Set.length||yi||!wi){var Si=P.Set;P.Set=function ji(){if(!(this instanceof ji))throw new TypeError('Constructor Set requires "new"');var e=new Si;return arguments.length>0&&ii(ji,e,arguments[0]),delete e.constructor,Object.setPrototypeOf(e,ji.prototype),e},P.Set.prototype=Si.prototype,h(P.Set.prototype,"constructor",P.Set,!0),y.preserveToString(P.Set,Si)}var Ci=new P.Map,Pi=!s(function(){return Ci.keys().next().done});if(("function"!=typeof P.Map.prototype.clear||0!==(new P.Set).size||0!==Ci.size||"function"!=typeof P.Map.prototype.keys||"function"!=typeof P.Set.prototype.keys||"function"!=typeof P.Map.prototype.forEach||"function"!=typeof P.Set.prototype.forEach||l(P.Map)||l(P.Set)||"function"!=typeof Ci.keys().next||Pi||!hi)&&v(P,{Map:ri.Map,Set:ri.Set},!0),P.Set.prototype.keys!==P.Set.prototype.values&&h(P.Set.prototype,"keys",P.Set.prototype.values,!0),Ie(Object.getPrototypeOf((new P.Map).keys())),Ie(Object.getPrototypeOf((new P.Set).keys())),u&&"has"!==P.Set.prototype.has.name){var _i=P.Set.prototype.has;re(P.Set.prototype,"has",function(e){return n(_i,this,e)})}}v(P,ri),Ve(P.Map),Ve(P.Set)}var Ai=function(e){if(!ue.TypeIsObject(e))throw new TypeError("target must be an object")},Ti={apply:function(){return ue.Call(ue.Call,null,arguments)},construct:function(e,t){if(!ue.IsConstructor(e))throw new TypeError("First argument must be a constructor.");var n=arguments.length>2?arguments[2]:e;if(!ue.IsConstructor(n))throw new TypeError("new.target must be a constructor.");return ue.Construct(e,t,n,"internal")},deleteProperty:function(e,t){if(Ai(e),d){var n=Object.getOwnPropertyDescriptor(e,t);if(n&&!n.configurable)return!1}return delete e[t]},has:function(e,t){return Ai(e),t in e}};Object.getOwnPropertyNames&&Object.assign(Ti,{ownKeys:function(e){Ai(e);var t=Object.getOwnPropertyNames(e);return ue.IsCallable(Object.getOwnPropertySymbols)&&L(t,Object.getOwnPropertySymbols(e)),t}});var ki=function(e){return!o(e)};if(Object.preventExtensions&&Object.assign(Ti,{isExtensible:function(e){return Ai(e),Object.isExtensible(e)},preventExtensions:function(e){return Ai(e),ki(function(){return Object.preventExtensions(e)})}}),d){var Vi=function(e,t,n){var i=Object.getOwnPropertyDescriptor(e,t);if(!i){var r=Object.getPrototypeOf(e);if(null===r)return;return Vi(r,t,n)}return"value"in i?i.value:i.get?ue.Call(i.get,n):void 0},Ii=function(e,t,i,r){var a=Object.getOwnPropertyDescriptor(e,t);if(!a){var o=Object.getPrototypeOf(e);if(null!==o)return Ii(o,t,i,r);a={value:void 0,writable:!0,enumerable:!0,configurable:!0}}if("value"in a){if(!a.writable)return!1;if(!ue.TypeIsObject(r))return!1;var s=Object.getOwnPropertyDescriptor(r,t);return s?se.defineProperty(r,t,{value:i}):se.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}return!!a.set&&(n(a.set,r,i),!0)};Object.assign(Ti,{defineProperty:function(e,t,n){return Ai(e),ki(function(){return Object.defineProperty(e,t,n)})},getOwnPropertyDescriptor:function(e,t){return Ai(e),Object.getOwnPropertyDescriptor(e,t)},get:function(e,t){Ai(e);var n=arguments.length>2?arguments[2]:e;return Vi(e,t,n)},set:function(e,t,n){Ai(e);var i=arguments.length>3?arguments[3]:e;return Ii(e,t,n,i)}})}if(Object.getPrototypeOf){var Li=Object.getPrototypeOf;Ti.getPrototypeOf=function(e){return Ai(e),Li(e)}}if(Object.setPrototypeOf&&Ti.getPrototypeOf){var Oi=function(e,t){for(var n=t;n;){if(e===n)return!0;n=Ti.getPrototypeOf(n)}return!1};Object.assign(Ti,{setPrototypeOf:function(e,t){if(Ai(e),null!==t&&!ue.TypeIsObject(t))throw new TypeError("proto must be an object or null");return t===se.getPrototypeOf(e)||!(se.isExtensible&&!se.isExtensible(e))&&(!Oi(e,t)&&(Object.setPrototypeOf(e,t),!0))}})}var Di=function(e,t){if(ue.IsCallable(P.Reflect[e])){var n=s(function(){return P.Reflect[e](1),P.Reflect[e](NaN),P.Reflect[e](!0),!0});n&&re(P.Reflect,e,t)}else h(P.Reflect,e,t)};
19Object.keys(Ti).forEach(function(e){Di(e,Ti[e])});var Ri=P.Reflect.getPrototypeOf;if(u&&Ri&&"getPrototypeOf"!==Ri.name&&re(P.Reflect,"getPrototypeOf",function(e){return n(Ri,P.Reflect,e)}),P.Reflect.setPrototypeOf&&s(function(){return P.Reflect.setPrototypeOf(1,{}),!0})&&re(P.Reflect,"setPrototypeOf",Ti.setPrototypeOf),P.Reflect.defineProperty&&(s(function(){var e=!P.Reflect.defineProperty(1,"test",{value:1}),t="function"!=typeof Object.preventExtensions||!P.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})||re(P.Reflect,"defineProperty",Ti.defineProperty)),P.Reflect.construct&&(s(function(){var e=function(){};return P.Reflect.construct(function(){},[],e)instanceof e})||re(P.Reflect,"construct",Ti.construct)),"Invalid Date"!==String(new Date(NaN))){var Ni=Date.prototype.toString,$i=function(){var e=+this;return e!==e?"Invalid Date":ue.Call(Ni,this)};re(Date.prototype,"toString",$i)}var Mi={anchor:function(e){return ue.CreateHTML(this,"a","name",e)},big:function(){return ue.CreateHTML(this,"big","","")},blink:function(){return ue.CreateHTML(this,"blink","","")},bold:function(){return ue.CreateHTML(this,"b","","")},fixed:function(){return ue.CreateHTML(this,"tt","","")},fontcolor:function(e){return ue.CreateHTML(this,"font","color",e)},fontsize:function(e){return ue.CreateHTML(this,"font","size",e)},italics:function(){return ue.CreateHTML(this,"i","","")},link:function(e){return ue.CreateHTML(this,"a","href",e)},small:function(){return ue.CreateHTML(this,"small","","")},strike:function(){return ue.CreateHTML(this,"strike","","")},sub:function(){return ue.CreateHTML(this,"sub","","")},sup:function(){return ue.CreateHTML(this,"sup","","")}};p(Object.keys(Mi),function(e){var t=String.prototype[e],i=!1;if(ue.IsCallable(t)){var r=n(t,"",' " '),a=k([],r.match(/"/g)).length;i=r!==r.toLowerCase()||a>2}else i=!0;i&&re(String.prototype,e,Mi[e])});var xi=function(){if(!ae)return!1;var e="object"==typeof JSON&&"function"==typeof JSON.stringify?JSON.stringify:null;if(!e)return!1;if("undefined"!=typeof e(z()))return!0;if("[null]"!==e([z()]))return!0;var t={a:z()};return t[z()]=!0,"{}"!==e(t)}(),Fi=s(function(){return!ae||"{}"===JSON.stringify(Object(z()))&&"[{}]"===JSON.stringify([Object(z())])});if(xi||!Fi){var Bi=JSON.stringify;re(JSON,"stringify",function(e){if("symbol"!=typeof e){var t;arguments.length>1&&(t=arguments[1]);var r=[e];if(i(t))r.push(t);else{var a=ue.IsCallable(t)?t:null,o=function(e,t){var i=a?n(a,this,e,t):t;if("symbol"!=typeof i)return ie.symbol(i)?Ot({})(i):i};r.push(o)}return arguments.length>2&&r.push(arguments[2]),Bi.apply(this,r)}})}return P}),function(e){"use strict";function t(e){return y(e)?(b(e.objectMaxDepth)&&(bi.objectMaxDepth=n(e.objectMaxDepth)?e.objectMaxDepth:NaN),void(b(e.urlErrorParamsEnabled)&&L(e.urlErrorParamsEnabled)&&(bi.urlErrorParamsEnabled=e.urlErrorParamsEnabled))):bi}function n(e){return C(e)&&0<e}function i(e,t){return t=t||Error,function(){var n,i=arguments[0];for(n="["+(e?e+":":"")+i+"] http://errors.angularjs.org/1.8.2/"+(e?e+"/":"")+i,i=1;i<arguments.length;i++){n=n+(1==i?"?":"&")+"p"+(i-1)+"=";var r,a=encodeURIComponent;r=arguments[i],r="function"==typeof r?r.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof r?"undefined":"string"!=typeof r?JSON.stringify(r):r,n+=a(r)}return new t(n)}}function r(e){if(null==e||V(e))return!1;if(_(e)||S(e)||hi&&e instanceof hi)return!0;var t="length"in Object(e)&&e.length;return C(t)&&(0<=t&&t-1 in e||"function"==typeof e.item)}function a(e,t,n){var i,o;if(e)if(T(e))for(i in e)"prototype"!==i&&"length"!==i&&"name"!==i&&e.hasOwnProperty(i)&&t.call(n,e[i],i,e);else if(_(e)||r(e)){var s="object"!=typeof e;for(i=0,o=e.length;i<o;i++)(s||i in e)&&t.call(n,e[i],i,e)}else if(e.forEach&&e.forEach!==a)e.forEach(t,n,e);else if(w(e))for(i in e)t.call(n,e[i],i,e);else if("function"==typeof e.hasOwnProperty)for(i in e)e.hasOwnProperty(i)&&t.call(n,e[i],i,e);else for(i in e)wi.call(e,i)&&t.call(n,e[i],i,e);return e}function o(e,t,n){for(var i=Object.keys(e).sort(),r=0;r<i.length;r++)t.call(n,e[i[r]],i[r]);return i}function s(e){return function(t,n){e(n,t)}}function l(){return++Li}
19function c(e,t,n){for(var i=e.$$hashKey,r=0,a=t.length;r<a;++r){var o=t[r];if(y(o)||T(o))for(var s=Object.keys(o),l=0,d=s.length;l<d;l++){var u=s[l],p=o[u];n&&y(p)?P(p)?e[u]=new Date(p.valueOf()):k(p)?e[u]=new RegExp(p):p.nodeName?e[u]=p.cloneNode(!0):D(p)?e[u]=p.clone():"__proto__"!==u&&(y(e[u])||(e[u]=_(p)?[]:{}),c(e[u],[p],!0)):e[u]=p}}return i?e.$$hashKey=i:delete e.$$hashKey,e}function d(e){return c(e,Pi.call(arguments,1),!1)}function u(e){return c(e,Pi.call(arguments,1),!0)}function p(e){return parseInt(e,10)}function g(e,t){return d(Object.create(e),t)}function f(){}function m(e){return e}function h(e){return function(){return e}}function v(e){return T(e.toString)&&e.toString!==Ti}function E(e){return"undefined"==typeof e}function b(e){return"undefined"!=typeof e}function y(e){return null!==e&&"object"==typeof e}function w(e){return null!==e&&"object"==typeof e&&!ki(e)}function S(e){return"string"==typeof e}function C(e){return"number"==typeof e}function P(e){return"[object Date]"===Ti.call(e)}function _(e){return Array.isArray(e)||e instanceof Array}function A(e){switch(Ti.call(e)){case"[object Error]":return!0;case"[object Exception]":return!0;case"[object DOMException]":return!0;default:return e instanceof Error}}function T(e){return"function"==typeof e}function k(e){return"[object RegExp]"===Ti.call(e)}function V(e){return e&&e.window===e}function I(e){return e&&e.$evalAsync&&e.$watch}function L(e){return"boolean"==typeof e}function O(e){return e&&C(e.length)&&Di.test(Ti.call(e))}function D(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function R(e){var t={};e=e.split(",");var n;for(n=0;n<e.length;n++)t[e[n]]=!0;return t}function N(e){return Si(e.nodeName||e[0]&&e[0].nodeName)}function $(e,t){var n=e.indexOf(t);return 0<=n&&e.splice(n,1),n}function M(e,t,i){function r(e,t,n){if(n--,0>n)return"...";var i,r=t.$$hashKey;if(_(e)){i=0;for(var a=e.length;i<a;i++)t.push(o(e[i],n))}else if(w(e))for(i in e)t[i]=o(e[i],n);else if(e&&"function"==typeof e.hasOwnProperty)for(i in e)e.hasOwnProperty(i)&&(t[i]=o(e[i],n));else for(i in e)wi.call(e,i)&&(t[i]=o(e[i],n));return r?t.$$hashKey=r:delete t.$$hashKey,t}function o(e,t){if(!y(e))return e;var n=l.indexOf(e);if(-1!==n)return c[n];if(V(e)||I(e))throw Vi("cpws");var n=!1,i=s(e);return void 0===i&&(i=_(e)?[]:Object.create(ki(e)),n=!0),l.push(e),c.push(i),n?r(e,i,t):i}function s(e){switch(Ti.call(e)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new e.constructor(o(e.buffer),e.byteOffset,e.length);case"[object ArrayBuffer]":if(!e.slice){var t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}return e.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new e.constructor(e.valueOf());case"[object RegExp]":return t=new RegExp(e.source,e.toString().match(/[^\/]*$/)[0]),t.lastIndex=e.lastIndex,t;case"[object Blob]":return new e.constructor([e],{type:e.type})}if(T(e.cloneNode))return e.cloneNode(!0)}var l=[],c=[];if(i=n(i)?i:NaN,t){if(O(t)||"[object ArrayBuffer]"===Ti.call(t))throw Vi("cpta");if(e===t)throw Vi("cpi");return _(t)?t.length=0:a(t,function(e,n){"$$hashKey"!==n&&delete t[n]}),l.push(e),c.push(t),r(e,t,i)}return o(e,i)}function x(e,t){return e===t||e!==e&&t!==t}function F(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!==e&&t!==t)return!0;var n,i=typeof e;if(i===typeof t&&"object"===i){if(!_(e)){if(P(e))return!!P(t)&&x(e.getTime(),t.getTime());if(k(e))return!!k(t)&&e.toString()===t.toString();if(I(e)||I(t)||V(e)||V(t)||_(t)||P(t)||k(t))return!1;i=ge();for(n in e)if("$"!==n.charAt(0)&&!T(e[n])){if(!F(e[n],t[n]))return!1;i[n]=!0}for(n in t)if(!(n in i)&&"$"!==n.charAt(0)&&b(t[n])&&!T(t[n]))return!1;return!0}if(!_(t))return!1;if((i=e.length)===t.length){for(n=0;n<i;n++)if(!F(e[n],t[n]))return!1;return!0}}return!1}function B(e,t,n){return e.concat(Pi.call(t,n))}function G(e,t){var n=2<arguments.length?Pi.call(arguments,2):[];return!T(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,B(n,arguments,0)):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function U(t,n){var i=n;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?i=void 0:V(n)?i="$WINDOW":n&&e.document===n?i="$DOCUMENT":I(n)&&(i="$SCOPE"),i}function H(e,t){if(!E(e))return C(t)||(t=t?2:null),JSON.stringify(e,U,t)}function W(e){return S(e)?JSON.parse(e):e}function q(e,t){e=e.replace(xi,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;
19return Oi(n)?t:n}function j(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function Y(e,t,n){n=n?-1:1;var i=e.getTimezoneOffset();return t=q(t,i),j(e,n*(t-i))}function z(e){e=hi(e).clone().empty();var t=hi("<div></div>").append(e).html();try{return e[0].nodeType===Hi?Si(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(e,t){return"<"+Si(t)})}catch(n){return Si(t)}}function K(e){try{return decodeURIComponent(e)}catch(t){}}function J(e){var t={};return a((e||"").split("&"),function(e){var n,i,r;e&&(i=e=e.replace(/\+/g,"%20"),n=e.indexOf("="),-1!==n&&(i=e.substring(0,n),r=e.substring(n+1)),i=K(i),b(i)&&(r=!b(r)||K(r),wi.call(t,i)?_(t[i])?t[i].push(r):t[i]=[t[i],r]:t[i]=r))}),t}function Z(e){var t=[];return a(e,function(e,n){_(e)?a(e,function(e){t.push(Q(n,!0)+(!0===e?"":"="+Q(e,!0)))}):t.push(Q(n,!0)+(!0===e?"":"="+Q(e,!0)))}),t.length?t.join("&"):""}function X(e){return Q(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Q(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}function ee(e,t){var n,i,r=Fi.length;for(i=0;i<r;++i)if(n=Fi[i]+t,S(n=e.getAttribute(n)))return n;return null}function te(t,n){var i,r,o={};a(Fi,function(e){e+="app",!i&&t.hasAttribute&&t.hasAttribute(e)&&(i=t,r=t.getAttribute(e))}),a(Fi,function(e){e+="app";var n;!i&&(n=t.querySelector("["+e.replace(":","\\:")+"]"))&&(i=n,r=n.getAttribute(e))}),i&&(Bi?(o.strictDi=null!==ee(i,"strict-di"),n(i,r?[r]:[],o)):e.console.error("AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match."))}function ne(t,n,i){y(i)||(i={}),i=d({strictDi:!1},i);var r=function(){if(t=hi(t),t.injector()){var r=t[0]===e.document?"document":z(t);throw Vi("btstrpd",r.replace(/</,"<").replace(/>/,">"))}return n=n||[],n.unshift(["$provide",function(e){e.value("$rootElement",t)}]),i.debugInfoEnabled&&n.push(["$compileProvider",function(e){e.debugInfoEnabled(!0)}]),n.unshift("ng"),r=Ze(n,i.strictDi),r.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,t,n,i){e.$apply(function(){t.data("$injector",i),n(t)(e)})}]),r},o=/^NG_ENABLE_DEBUG_INFO!/,s=/^NG_DEFER_BOOTSTRAP!/;return e&&o.test(e.name)&&(i.debugInfoEnabled=!0,e.name=e.name.replace(o,"")),e&&!s.test(e.name)?r():(e.name=e.name.replace(s,""),Ii.resumeBootstrap=function(e){return a(e,function(e){n.push(e)}),r()},void(T(Ii.resumeDeferredBootstrap)&&Ii.resumeDeferredBootstrap()))}function ie(){e.name="NG_ENABLE_DEBUG_INFO!"+e.name,e.location.reload()}function re(e){if(e=Ii.element(e).injector(),!e)throw Vi("test");return e.get("$$testability")}function ae(e,t){return t=t||"_",e.replace(Gi,function(e,n){return(n?t:"")+e.toLowerCase()})}function oe(){var t;if(!Ui){var n=Mi();(vi=E(n)?e.jQuery:n?e[n]:void 0)&&vi.fn.on?(hi=vi,d(vi.fn,{scope:sr.scope,isolateScope:sr.isolateScope,controller:sr.controller,injector:sr.injector,inheritedData:sr.inheritedData})):hi=Ce,t=hi.cleanData,hi.cleanData=function(e){for(var n,i,r=0;null!=(i=e[r]);r++)(n=(hi._data(i)||{}).events)&&n.$destroy&&hi(i).triggerHandler("$destroy");t(e)},Ii.element=hi,Ui=!0}}function se(){Ce.legacyXHTMLReplacement=!0}function le(e,t,n){if(!e)throw Vi("areq",t||"?",n||"required");return e}function ce(e,t,n){return n&&_(e)&&(e=e[e.length-1]),le(T(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function de(e,t){if("hasOwnProperty"===e)throw Vi("badname",t)}function ue(e,t,n){if(!t)return e;t=t.split(".");for(var i,r=e,a=t.length,o=0;o<a;o++)i=t[o],e&&(e=(r=e)[i]);return!n&&T(e)?G(r,e):e}function pe(e){for(var t,n=e[0],i=e[e.length-1],r=1;n!==i&&(n=n.nextSibling);r++)(t||e[r]!==n)&&(t||(t=hi(Pi.call(e,0,r))),t.push(n));return t||e}function ge(){return Object.create(null)}function fe(e){if(null==e)return"";switch(typeof e){case"string":break;case"number":e=""+e;break;default:e=!v(e)||_(e)||P(e)?H(e):e.toString()}return e}function me(e){function t(e,t,n){return e[t]||(e[t]=n())}var n=i("$injector"),r=i("ng");return e=t(e,"angular",Object),e.$$minErr=e.$$minErr||i,t(e,"module",function(){var e={};return function(i,a,o){var s={};if("hasOwnProperty"===i)throw r("badname","module");return a&&e.hasOwnProperty(i)&&(e[i]=null),t(e,i,function(){function e(e,t,n,i){return i||
19(i=l),function(){return i[n||"push"]([e,t,arguments]),p}}function t(e,t,n){return n||(n=l),function(r,a){return a&&T(a)&&(a.$$moduleName=i),n.push([e,t,arguments]),p}}if(!a)throw n("nomod",i);var l=[],c=[],d=[],u=e("$injector","invoke","push",c),p={_invokeQueue:l,_configBlocks:c,_runBlocks:d,info:function(e){if(b(e)){if(!y(e))throw r("aobj","value");return s=e,this}return s},requires:a,name:i,provider:t("$provide","provider"),factory:t("$provide","factory"),service:t("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),decorator:t("$provide","decorator",c),animation:t("$animateProvider","register"),filter:t("$filterProvider","register"),controller:t("$controllerProvider","register"),directive:t("$compileProvider","directive"),component:t("$compileProvider","component"),config:u,run:function(e){return d.push(e),this}};return o&&u(o),p})}})}function he(e,t){if(_(e)){t=t||[];for(var n=0,i=e.length;n<i;n++)t[n]=e[n]}else if(y(e))for(n in t=t||{},e)"$"===n.charAt(0)&&"$"===n.charAt(1)||(t[n]=e[n]);return t||e}function ve(e,t){var i=[];return n(t)&&(e=Ii.copy(e,null,t)),JSON.stringify(e,function(e,t){if(t=U(e,t),y(t)){if(0<=i.indexOf(t))return"...";i.push(t)}return t})}function Ee(n){d(n,{errorHandlingConfig:t,bootstrap:ne,copy:M,extend:d,merge:u,equals:F,element:hi,forEach:a,injector:Ze,noop:f,bind:G,toJson:H,fromJson:W,identity:m,isUndefined:E,isDefined:b,isString:S,isFunction:T,isObject:y,isNumber:C,isElement:D,isArray:_,version:Wi,isDate:P,callbacks:{$$counter:0},getTestability:re,reloadWithDebugInfo:ie,UNSAFE_restoreLegacyJqLiteXHTMLReplacement:se,$$minErr:i,$$csp:$i,$$encodeUriSegment:X,$$encodeUriQuery:Q,$$lowercase:Si,$$stringify:fe,$$uppercase:Ci}),Ei=me(e),Ei("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:sn}),e.provider("$compile",ot).directive({a:Ea,input:Na,textarea:Na,form:Sa,script:To,select:Io,option:Lo,ngBind:Fa,ngBindHtml:Ga,ngBindTemplate:Ba,ngClass:Ha,ngClassEven:qa,ngClassOdd:Wa,ngCloak:ja,ngController:Ya,ngForm:Ca,ngHide:yo,ngIf:Ja,ngInclude:Za,ngInit:Qa,ngNonBindable:uo,ngPluralize:mo,ngRef:vo,ngRepeat:Eo,ngShow:bo,ngStyle:wo,ngSwitch:So,ngSwitchWhen:Co,ngSwitchDefault:Po,ngOptions:fo,ngTransclude:Ao,ngModel:so,ngList:eo,ngChange:Ua,pattern:Do,ngPattern:Do,required:Oo,ngRequired:Oo,minlength:No,ngMinlength:No,maxlength:Ro,ngMaxlength:Ro,ngValue:xa,ngModelOptions:co}).directive({ngInclude:Xa,input:$a}).directive(ba).directive(za),e.provider({$anchorScroll:Xe,$animate:Cr,$animateCss:Ar, 20$$animateJs:wr,$$animateQueue:Sr,$$AnimateRunner:_r,$$animateAsyncRun:Pr,$browser:it,$cacheFactory:rt,$controller:pt,$document:gt,$$isDocumentHidden:ft,$exceptionHandler:mt,$filter:Pn,$$forceReflow:Dr,$interpolate:Tt,$interval:kt,$$intervalFactory:Vt,$http:Ct,$httpParamSerializer:vt,$httpParamSerializerJQLike:Et,$httpBackend:_t,$xhrFactory:Pt,$jsonpCallbacks:Ur,$location:Bt,$log:Gt,$parse:en,$rootScope:on,$q:tn,$$q:nn,$sce:un,$sceDelegate:dn,$sniffer:pn,$$taskTrackerFactory:gn,$templateCache:at,$templateRequest:mn,$$testability:hn,$timeout:vn,$window:wn,$$rAF:an,$$jqLite:je,$$Map:gr,$$cookieReader:Cn})}]).info({angularVersion:"1.8.2"})}function be(e,t){return t.toUpperCase()}function ye(e){return e.replace(Yi,be)}function we(e){return e=e.nodeType,1===e||!e||9===e}function Se(t,n){var i,r,o,s,l=n.createDocumentFragment(),c=[];if(Xi.test(t)){if(i=l.appendChild(n.createElement("div")),r=(Qi.exec(t)||["",""])[1].toLowerCase(),o=Ce.legacyXHTMLReplacement?t.replace(er,"<$1></$2>"):t,10>mi)for(r=ir[r]||ir._default,i.innerHTML=r[1]+o+r[2],s=r[0];s--;)i=i.firstChild;else{for(r=tr[r]||[],s=r.length;-1<--s;)i.appendChild(e.document.createElement(r[s])),i=i.firstChild;i.innerHTML=o}c=B(c,i.childNodes),i=l.firstChild,i.textContent=""}else c.push(n.createTextNode(t));return l.textContent="",l.innerHTML="",a(c,function(e){l.appendChild(e)}),l}function Ce(t){if(t instanceof Ce)return t;var n;if(S(t)&&(t=Ri(t),n=!0),!(this instanceof Ce)){if(n&&"<"!==t.charAt(0))throw Ji("nosel");return new Ce(t)}if(n){n=e.document;var i;t=(i=Zi.exec(t))?[n.createElement(i[1])]:(i=Se(t,n))?i.childNodes:[],Ne(this,t)}else T(t)?Ge(t):Ne(this,t)}function Pe(e){return e.cloneNode(!0)}function _e(e,t){!t&&we(e)&&hi.cleanData([e]),e.querySelectorAll&&hi.cleanData(e.querySelectorAll("*"))}function Ae(e){for(var t in e)return!1;return!0}function Te(e){var t=e.ng339,n=t&&qi[t],i=n&&n.events,n=n&&n.data;
20n&&!Ae(n)||i&&!Ae(i)||(delete qi[t],e.ng339=void 0)}function ke(e,t,n,i){if(b(i))throw Ji("offargs");var r=(i=Ie(e))&&i.events,o=i&&i.handle;if(o){if(t){var s=function(t){var i=r[t];b(n)&&$(i||[],n),b(n)&&i&&0<i.length||(e.removeEventListener(t,o),delete r[t])};a(t.split(" "),function(e){s(e),Ki[e]&&s(Ki[e])})}else for(t in r)"$destroy"!==t&&e.removeEventListener(t,o),delete r[t];Te(e)}}function Ve(e,t){var n=e.ng339;(n=n&&qi[n])&&(t?delete n.data[t]:n.data={},Te(e))}function Ie(e,t){var n=e.ng339,n=n&&qi[n];return t&&!n&&(e.ng339=n=++ji,n=qi[n]={events:{},data:{},handle:void 0}),n}function Le(e,t,n){if(we(e)){var i,r=b(n),a=!r&&t&&!y(t),o=!t;if(e=(e=Ie(e,!a))&&e.data,r)e[ye(t)]=n;else{if(o)return e;if(a)return e&&e[ye(t)];for(i in t)e[ye(i)]=t[i]}}}function Oe(e,t){return!!e.getAttribute&&-1<(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")}function De(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),i=n;a(t.split(" "),function(e){e=Ri(e),i=i.replace(" "+e+" "," ")}),i!==n&&e.setAttribute("class",Ri(i))}}function Re(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," "),i=n;a(t.split(" "),function(e){e=Ri(e),-1===i.indexOf(" "+e+" ")&&(i+=e+" ")}),i!==n&&e.setAttribute("class",Ri(i))}}function Ne(e,t){if(t)if(t.nodeType)e[e.length++]=t;else{var n=t.length;if("number"==typeof n&&t.window!==t){if(n)for(var i=0;i<n;i++)e[e.length++]=t[i]}else e[e.length++]=t}}function $e(e,t){return Me(e,"$"+(t||"ngController")+"Controller")}function Me(e,t,n){for(9===e.nodeType&&(e=e.documentElement),t=_(t)?t:[t];e;){for(var i=0,r=t.length;i<r;i++)if(b(n=hi.data(e,t[i])))return n;e=e.parentNode||11===e.nodeType&&e.host}}function xe(e){for(_e(e,!0);e.firstChild;)e.removeChild(e.firstChild)}function Fe(e,t){t||_e(e);var n=e.parentNode;n&&n.removeChild(e)}function Be(t,n){n=n||e,"complete"===n.document.readyState?n.setTimeout(t):hi(n).on("load",t)}function Ge(t){function n(){e.document.removeEventListener("DOMContentLoaded",n),e.removeEventListener("load",n),t()}"complete"===e.document.readyState?e.setTimeout(t):(e.document.addEventListener("DOMContentLoaded",n),e.addEventListener("load",n))}function Ue(e,t){var n=lr[t.toLowerCase()];return n&&cr[N(e)]&&n}function He(e,t){var n=function(n,i){n.isDefaultPrevented=function(){return n.defaultPrevented};var r=t[i||n.type],a=r?r.length:0;if(a){if(E(n.immediatePropagationStopped)){var o=n.stopImmediatePropagation;n.stopImmediatePropagation=function(){n.immediatePropagationStopped=!0,n.stopPropagation&&n.stopPropagation(),o&&o.call(n)}}n.isImmediatePropagationStopped=function(){return!0===n.immediatePropagationStopped};var s=r.specialHandlerWrapper||We;1<a&&(r=he(r));for(var l=0;l<a;l++)n.isImmediatePropagationStopped()||s(e,n,r[l])}};return n.elem=e,n}function We(e,t,n){n.call(e,t)}function qe(e,t,n){var i=t.relatedTarget;i&&(i===e||or.call(e,i))||n.call(e,t)}function je(){this.$get=function(){return d(Ce,{hasClass:function(e,t){return e.attr&&(e=e[0]),Oe(e,t)},addClass:function(e,t){return e.attr&&(e=e[0]),Re(e,t)},removeClass:function(e,t){return e.attr&&(e=e[0]),De(e,t)}})}}function Ye(e,t){var n=e&&e.$$hashKey;return n?("function"==typeof n&&(n=e.$$hashKey()),n):(n=typeof e,n="function"===n||"object"===n&&null!==e?e.$$hashKey=n+":"+(t||l)():n+":"+e)}function ze(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}function Ke(e){return e=Function.prototype.toString.call(e).replace(Er,""),e.match(fr)||e.match(mr)}function Je(e){return(e=Ke(e))?"function("+(e[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Ze(e,t){function n(e){return function(t,n){return y(t)?void a(t,s(e)):e(t,n)}}function i(e,t){if(de(e,"service"),(T(t)||_(t))&&(t=f.instantiate(t)),!t.$get)throw br("pget",e);return g[e+"Provider"]=t}function r(e,t){return function(){var n=b.invoke(t,this);if(E(n))throw br("undef",e);return n}}function o(e,t,n){return i(e,{$get:!1!==n?r(e,t):t})}function l(e){le(E(e)||_(e),"modulesToLoad","not an array");var t,n=[];return a(e,function(e){function i(e){var t,n;for(t=0,n=e.length;t<n;t++){var i=e[t],r=f.get(i[0]);r[i[1]].apply(r,i[2])}}if(!p.get(e)){p.set(e,!0);try{S(e)?(t=Ei(e),b.modules[e]=t,n=n.concat(l(t.requires)).concat(t._runBlocks),i(t._invokeQueue),i(t._configBlocks)):T(e)?n.push(f.invoke(e)):_(e)?n.push(f.invoke(e)):ce(e,"module")}catch(r){throw _(e)&&(e=e[e.length-1]),r.message&&r.stack&&-1===r.stack.indexOf(r.message)&&(r=r.message+"\n"+r.stack),br("modulerr",e,r.stack||r.message||r)}}}),n}function c(e,n){function i(t,i){if(e.hasOwnProperty(t)){if(e[t]===d)throw br("cdep",t+" <- "+u.join(" <- "));return e[t]}try{return u.unshift(t),e[t]=d,e[t]=n(t,i),e[t]}catch(r){throw e[t]===d&&delete e[t],r}finally{u.shift()}}function r(e,n,r){var a=[];e=Ze.$$annotate(e,t,r);for(var o=0,s=e.length;o<s;o++){var l=e[o];if("string"!=typeof l)throw br("itkn",l);a.push(n&&n.hasOwnProperty(l)?n[l]:i(l,r))}return a}return{invoke:function(e,t,n,i){if("string"==typeof n&&(i=n,n=null),n=r(e,n,i),_(e)&&(e=e[e.length-1]),i=e,mi||"function"!=typeof i)i=!1;else{var a=i.$$ngIsClass;L(a)||(a=i.$$ngIsClass=/^class\b/.test(Function.prototype.toString.call(i))),i=a}return i?(n.unshift(null),new(Function.prototype.bind.apply(e,n))):e.apply(t,n)},instantiate:function(e,t,n){var i=_(e)?e[e.length-1]:e;return e=r(e,t,n),e.unshift(null),new(Function.prototype.bind.apply(i,e))},get:i,annotate:Ze.$$annotate,has:function(t){return g.hasOwnProperty(t+"Provider")||e.hasOwnProperty(t)}}}t=!0===t;var d={},u=[],p=new pr,g={$provide:{provider:n(i),factory:n(o),service:n(function(e,t){return o(e,["$injector",function(e){return e.instantiate(t)}])}),value:n(function(e,t){return o(e,h(t),!1)}),constant:n(function(e,t){de(e,"constant"),g[e]=t,m[e]=t}),decorator:function(e,t){var n=f.get(e+"Provider"),i=n.$get;n.$get=function(){var e=b.invoke(i,n);return b.invoke(t,null,{$delegate:e})}}}},f=g.$injector=c(g,function(e,t){throw Ii.isString(t)&&u.push(t),br("unpr",u.join(" <- "))}),m={},v=c(m,function(e,t){var n=f.get(e+"Provider",t);return b.invoke(n.$get,n,void 0,e)}),b=v;g.$injectorProvider={$get:h(v)},b.modules=f.modules=ge();var w=l(e),b=v.get("$injector");return b.strictDi=t,a(w,function(e){e&&b.invoke(e)}),b.loadNewModules=function(e){a(l(e),function(e){e&&b.invoke(e)})},b}function Xe(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,i){function r(e){var t=null;return Array.prototype.some.call(e,function(e){if("a"===N(e))return t=e,!0}),t}function a(e){if(e){e.scrollIntoView();var n;n=o.yOffset,T(n)?n=n():D(n)?(n=n[0],n="fixed"!==t.getComputedStyle(n).position?0:n.getBoundingClientRect().bottom):C(n)||(n=0),n&&(e=e.getBoundingClientRect().top,t.scrollBy(0,e-n))}else t.scrollTo(0,0)}function o(e){e=S(e)?e:C(e)?e.toString():n.hash();var t;e?(t=s.getElementById(e))?a(t):(t=r(s.getElementsByName(e)))?a(t):"top"===e&&a(null):a(null)}var s=t.document;return e&&i.$watch(function(){return n.hash()},function(e,t){e===t&&""===e||Be(function(){i.$evalAsync(o)})}),o}]}function Qe(e,t){return e||t?e?t?(_(e)&&(e=e.join(" ")),_(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function et(e){S(e)&&(e=e.split(" "));var t=ge();return a(e,function(e){e.length&&(t[e]=!0)}),t}function tt(e){return y(e)?e:{}}function nt(e,t,n,i,r){function o(){S=null,l()}function s(){v=C(),v=E(v)?null:v,F(v,A)&&(v=A),b=A=v}function l(){var e=b;s(),y===c.url()&&e===v||(y=c.url(),b=v,a(P,function(e){e(c.url(),v)}))}var c=this,d=e.location,u=e.history,p=e.setTimeout,g=e.clearTimeout,m={},h=r(n);c.isMock=!1,c.$$completeOutstandingRequest=h.completeTask,c.$$incOutstandingRequestCount=h.incTaskCount,c.notifyWhenNoOutstandingRequests=h.notifyWhenNoPendingTasks;var v,b,y=d.href,w=t.find("base"),S=null,C=i.history?function(){try{return u.state}catch(e){}}:f;s(),c.url=function(t,n,r){if(E(r)&&(r=null),d!==e.location&&(d=e.location),u!==e.history&&(u=e.history),t){var a=b===r;if(t=En(t).href,y===t&&(!i.history||a))return c;var o=y&&Rt(y)===Rt(t);return y=t,b=r,!i.history||o&&a?(o||(S=t),n?d.replace(t):o?(n=d,r=t,a=r.indexOf("#"),r=-1===a?"":r.substr(a),n.hash=r):d.href=t,d.href!==t&&(S=t)):(u[n?"replaceState":"pushState"](r,"",t),s()),S&&(S=t),
20c}return(S||d.href).replace(/#$/,"")},c.state=function(){return v};var P=[],_=!1,A=null;c.onUrlChange=function(t){return _||(i.history&&hi(e).on("popstate",o),hi(e).on("hashchange",o),_=!0),P.push(t),t},c.$$applicationDestroyed=function(){hi(e).off("hashchange popstate",o)},c.$$checkUrlChange=l,c.baseHref=function(){var e=w.attr("href");return e?e.replace(/^(https?:)?\/\/[^\/]*/,""):""},c.defer=function(e,t,n){var i;return t=t||0,n=n||h.DEFAULT_TASK_TYPE,h.incTaskCount(n),i=p(function(){delete m[i],h.completeTask(e,n)},t),m[i]=n,i},c.defer.cancel=function(e){if(m.hasOwnProperty(e)){var t=m[e];return delete m[e],g(e),h.completeTask(f,t),!0}return!1}}function it(){this.$get=["$window","$log","$sniffer","$document","$$taskTrackerFactory",function(e,t,n,i,r){return new nt(e,i,t,n,r)}]}function rt(){this.$get=function(){function e(e,n){function r(e){e!==p&&(g?g===e&&(g=e.n):g=e,a(e.n,e.p),a(e,p),p=e,p.n=null)}function a(e,t){e!==t&&(e&&(e.p=t),t&&(t.n=e))}if(e in t)throw i("$cacheFactory")("iid",e);var o=0,s=d({},n,{id:e}),l=ge(),c=n&&n.capacity||Number.MAX_VALUE,u=ge(),p=null,g=null;return t[e]={put:function(e,t){if(!E(t)){if(c<Number.MAX_VALUE){var n=u[e]||(u[e]={key:e});r(n)}return e in l||o++,l[e]=t,o>c&&this.remove(g.key),t}},get:function(e){if(c<Number.MAX_VALUE){var t=u[e];if(!t)return;r(t)}return l[e]},remove:function(e){if(c<Number.MAX_VALUE){var t=u[e];if(!t)return;t===p&&(p=t.p),t===g&&(g=t.n),a(t.n,t.p),delete u[e]}e in l&&(delete l[e],o--)},removeAll:function(){l=ge(),o=0,u=ge(),p=g=null},destroy:function(){u=s=l=null,delete t[e]},info:function(){return d({},s,{size:o})}}}var t={};return e.info=function(){var e={};return a(t,function(t,n){e[n]=t.info()}),e},e.get=function(e){return t[e]},e}}function at(){this.$get=["$cacheFactory",function(e){return e("templates")}]}function ot(t,n){function i(e,t,n){var i=/^([@&]|[=<](\*?))(\??)\s*([\w$]*)$/,r=ge();return a(e,function(e,a){if(e=e.trim(),e in C)r[a]=C[e];else{var o=e.match(i);if(!o)throw Tr("iscp",t,a,e,n?"controller bindings definition":"isolate scope definition");r[a]={mode:o[1][0],collection:"*"===o[2],optional:"?"===o[3],attrName:o[4]||a},o[4]&&(C[e]=r[a])}}),r}function r(e){var t=e.charAt(0);if(!t||t!==Si(t))throw Tr("baddir",e);if(e!==e.trim())throw Tr("baddir",e)}function o(e){var t=e.require||e.controller&&e.name;return!_(t)&&y(t)&&a(t,function(e,n){var i=e.match(v);e.substring(i[0].length)||(t[n]=i[0]+n)}),t}var l={},c=/^\s*directive:\s*([\w-]+)\s+(.*)$/,u=/(([\w-]+)(?::([^;]+))?;?)/,p=R("ngSrc,ngSrcset,src,srcset"),v=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,w=/^(on[a-z]+|formaction)$/,C=ge();this.directive=function B(e,n){return le(e,"name"),de(e,"directive"),S(e)?(r(e),le(n,"directiveFactory"),l.hasOwnProperty(e)||(l[e]=[],t.factory(e+"Directive",["$injector","$exceptionHandler",function(t,n){var i=[];return a(l[e],function(r,a){try{var s=t.invoke(r);T(s)?s={compile:h(s)}:!s.compile&&s.link&&(s.compile=h(s.link)),s.priority=s.priority||0,s.index=a,s.name=s.name||e,s.require=o(s);var l=s,c=s.restrict;if(c&&(!S(c)||!/[EACM]/.test(c)))throw Tr("badrestrict",c,e);l.restrict=c||"EA",s.$$moduleName=r.$$moduleName,i.push(s)}catch(d){n(d)}}),i}])),l[e].push(n)):a(e,s(B)),this},this.component=function U(e,t){function n(e){function n(t){return T(t)||_(t)?function(n,i){return e.invoke(t,this,{$element:n,$attrs:i})}:t}var r=t.template||t.templateUrl?t.template:"",o={controller:i,controllerAs:ut(t.controller)||t.controllerAs||"$ctrl",template:n(r),templateUrl:n(t.templateUrl),transclude:t.transclude,scope:{},bindToController:t.bindings||{},restrict:"E",require:t.require};return a(t,function(e,t){"$"===t.charAt(0)&&(o[t]=e)}),o}if(!S(e))return a(e,s(G(this,U))),this;var i=t.controller||function(){};return a(t,function(e,t){"$"===t.charAt(0)&&(n[t]=e,T(i)&&(i[t]=e))}),n.$inject=["$injector"],this.directive(e,n)},this.aHrefSanitizationTrustedUrlList=function(e){return b(e)?(n.aHrefSanitizationTrustedUrlList(e),this):n.aHrefSanitizationTrustedUrlList()},Object.defineProperty(this,"aHrefSanitizationWhitelist",{get:function(){return this.aHrefSanitizationTrustedUrlList},set:function(e){this.aHrefSanitizationTrustedUrlList=e}}),this.imgSrcSanitizationTrustedUrlList=function(e){return b(e)?(n.imgSrcSanitizationTrustedUrlList(e),this):n.imgSrcSanitizationTrustedUrlList()},Object.defineProperty(this,"imgSrcSanitizationWhitelist",{get:function(){return this.imgSrcSanitizationTrustedUrlList},set:function(e){this.imgSrcSanitizationTrustedUrlList=e}});var P=!0;this.debugInfoEnabled=function(e){return b(e)?(P=e,this):P};var k=!1;this.strictComponentBindingsEnabled=function(e){return b(e)?(k=e,this):k};var V=10;this.onChangesTtl=function(e){return arguments.length?(V=e,this):V};var O=!0;this.commentDirectivesEnabled=function(e){return arguments.length?(O=e,this):O};var D=!0;this.cssClassDirectivesEnabled=function(e){return arguments.length?(D=e,this):D};var M=ge();this.addPropertySecurityContext=function(e,t,n){var i=e.toLowerCase()+"|"+t.toLowerCase();if(i in M&&M[i]!==n)throw Tr("ctxoverride",e,t,M[i],n);return M[i]=n,this},function(){function e(e,t){a(t,function(t){M[t.toLowerCase()]=e})}e(ia.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),e(ia.CSS,["*|style"]),e(ia.URL,"area|href area|ping a|href a|ping blockquote|cite body|background del|cite input|src ins|cite q|cite".split(" ")),e(ia.MEDIA_URL,"audio|src img|src img|srcset source|src source|srcset track|
20src video|src video|poster".split(" ")),e(ia.RESOURCE_URL,"*|formAction applet|code applet|codebase base|href embed|src frame|src form|action head|profile html|manifest iframe|src link|href media|src object|codebase object|data script|src".split(" "))}(),this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate",function(t,n,r,o,s,h,b,C,R){function B(){try{if(!--De)throw ke=void 0,Tr("infchng",V);b.$apply(function(){for(var e=0,t=ke.length;e<t;++e)try{ke[e]()}catch(n){r(n)}ke=void 0})}finally{De++}}function U(e,t){if(!e)return e;if(!S(e))throw Tr("srcset",t,e.toString());for(var n="",i=Ri(e),r=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,r=/\s/.test(i)?r:/(,)/,i=i.split(r),r=Math.floor(i.length/2),a=0;a<r;a++)var o=2*a,n=n+C.getTrustedMediaUrl(Ri(i[o])),n=n+(" "+Ri(i[o+1]));return i=Ri(i[2*a]).split(/\s/),n+=C.getTrustedMediaUrl(Ri(i[0])),2===i.length&&(n+=" "+Ri(i[1])),n}function H(e,t){if(t){var n,i,r,a=Object.keys(t);for(n=0,i=a.length;n<i;n++)r=a[n],this[r]=t[r]}else this.$attr={};this.$$element=e}function W(e,t,n){Ie.innerHTML="<span "+t+">",t=Ie.firstChild.attributes;var i=t[0];t.removeNamedItem(i.name),i.value=n,e.attributes.setNamedItem(i)}function q(e,t){try{e.addClass(t)}catch(n){}}function j(e,t,n,i,r){e instanceof hi||(e=hi(e));var a=Y(e,t,e,n,i,r);j.$$addScopeClass(e);var o=null;return function(t,n,i){if(!e)throw Tr("multilink");le(t,"scope"),r&&r.needsNewScope&&(t=t.$parent.$new()),i=i||{};var s=i.parentBoundTranscludeFn,l=i.transcludeControllers;
20if(i=i.futureParentElement,s&&s.$$boundTransclude&&(s=s.$$boundTransclude),o||(o=(i=i&&i[0])&&"foreignobject"!==N(i)&&Ti.call(i).match(/SVG/)?"svg":"html"),i="html"!==o?hi(he(o,hi("<div></div>").append(e).html())):n?sr.clone.call(e):e,l)for(var c in l)i.data("$"+c+"Controller",l[c].instance);return j.$$addScopeInfo(i,t),n&&n(i,t),a&&a(t,i,i,s),n||(e=a=null),i}}function Y(e,t,n,i,r,a){function o(e,n,i,r){var a,o,s,l,c,d,g;if(u)for(g=Array(n.length),l=0;l<p.length;l+=3)a=p[l],g[a]=n[a];else g=n;for(l=0,c=p.length;l<c;)o=g[p[l++]],n=p[l++],a=p[l++],n?(n.scope?(s=e.$new(),j.$$addScopeInfo(hi(o),s)):s=e,d=n.transcludeOnThisElement?J(e,n.transclude,r):!n.templateOnThisElement&&r?r:!r&&t?J(e,t):null,n(a,s,o,i,d)):a&&a(e,o.childNodes,void 0,r)}for(var s,l,c,d,u,p=[],g=_(e)||e instanceof hi,f=0;f<e.length;f++)s=new H,11===mi&&K(e,f,g),l=Z(e[f],[],s,0===f?i:void 0,r),(a=l.length?ne(l,e[f],s,t,n,null,[],[],a):null)&&a.scope&&j.$$addScopeClass(s.$$element),s=a&&a.terminal||!(c=e[f].childNodes)||!c.length?null:Y(c,a?(a.transcludeOnThisElement||!a.templateOnThisElement)&&a.transclude:t),(a||s)&&(p.push(f,a,s),d=!0,u=u||a),a=null;return d?o:null}function K(e,t,n){var i,r=e[t],a=r.parentNode;if(r.nodeType===Hi)for(;i=a?r.nextSibling:e[t+1],i&&i.nodeType===Hi;)r.nodeValue+=i.nodeValue,i.parentNode&&i.parentNode.removeChild(i),n&&i===e[t+1]&&e.splice(t+1,1)}function J(e,t,n){function i(i,r,a,o,s){return i||(i=e.$new(!1,s),i.$$transcluded=!0),t(i,r,{parentBoundTranscludeFn:n,transcludeControllers:a,futureParentElement:o})}var r,a=i.$$slots=ge();for(r in t.$$slots)a[r]=t.$$slots[r]?J(e,t.$$slots[r],n):null;return i}function Z(e,t,n,i,a){var o,l=n.$attr;switch(e.nodeType){case 1:o=N(e),se(t,lt(o),"E",i,a);for(var c,d,p,g,f,m=e.attributes,h=0,v=m&&m.length;h<v;h++){var E,w=!1,C=!1,P=!1,_=!1,A=!1;c=m[h],d=c.name,g=c.value,p=lt(d.toLowerCase()),(f=p.match(Me))?(P="Attr"===f[1],_="Prop"===f[1],A="On"===f[1],d=d.replace(Vr,"").toLowerCase().substr(4+f[1].length).replace(/_(.)/g,function(e,t){return t.toUpperCase()})):(E=p.match(xe))&&ce(E[1])&&(w=d,C=d.substr(0,d.length-5)+"end",d=d.substr(0,d.length-6)),_||A?(n[p]=g,l[p]=c.name,_?ye(e,t,p,d):t.push(si(s,b,r,p,d,!1))):(p=lt(d.toLowerCase()),l[p]=d,!P&&n.hasOwnProperty(p)||(n[p]=g,Ue(e,p)&&(n[p]=!0)),we(e,t,g,p,P),se(t,p,"A",i,a,w,C))}if("input"===o&&"hidden"===e.getAttribute("type")&&e.setAttribute("autocomplete","off"),!Oe)break;if(l=e.className,y(l)&&(l=l.animVal),S(l)&&""!==l)for(;e=u.exec(l);)p=lt(e[2]),se(t,p,"C",i,a)&&(n[p]=Ri(e[3])),l=l.substr(e.index+e[0].length);break;case Hi:me(t,e.nodeValue);break;case 8:if(!Le)break;X(e,t,n,i,a)}return t.sort(pe),t}function X(e,t,n,i,r){try{var a=c.exec(e.nodeValue);if(a){var o=lt(a[1]);se(t,o,"M",i,r)&&(n[o]=Ri(a[2]))}}catch(s){}}function Q(e,t,n){var i=[],r=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw Tr("uterdir",t,n);1===e.nodeType&&(e.hasAttribute(t)&&r++,e.hasAttribute(n)&&r--),i.push(e),e=e.nextSibling}while(0<r)}else i.push(e);return hi(i)}function ee(e,t,n){return function(i,r,a,o,s){return r=Q(r[0],t,n),e(i,r,a,o,s)}}function te(e,t,n,i,r,a){var o;return e?j(t,n,i,r,a):function(){return o||(o=j(t,n,i,r,a),t=n=a=null),o.apply(this,arguments)}}function ne(t,n,i,o,s,l,c,u,p){function g(e,t,n,i){e&&(n&&(e=ee(e,n,i)),e.require=m.require,e.directiveName=h,(A===m||m.$$isolateScope)&&(e=Ce(e,{isolateScope:!0})),c.push(e)),t&&(n&&(t=ee(t,n,i)),t.require=m.require,t.directiveName=h,(A===m||m.$$isolateScope)&&(t=Ce(t,{isolateScope:!0})),u.push(t))}function f(e,t,o,s,l){function p(e,t,n,i){var r;if(I(e)||(i=n,n=t,t=e,e=void 0),D&&(r=b),n||(n=D?S.parent():S),!i)return l(e,t,r,n,L);var a=l.$$slots[i];if(a)return a(e,t,r,n,L);if(E(a))throw Tr("noslot",i,z(S))}var g,f,m,h,v,b,w,S;n===o?(s=i,S=i.$$element):(S=hi(o),s=new H(S,i)),v=t,A?h=t.$new(!0):C&&(v=t.$parent),l&&(w=p,w.$$boundTransclude=l,w.isSlotFilled=function(e){return!!l.$$slots[e]}),P&&(b=re(S,s,w,P,h,t,A)),A&&(j.$$addScopeInfo(S,h,!0,!(k&&(k===A||k===A.$$originalDirective))),j.$$addScopeClass(S,!0),h.$$isolateBindings=A.$$isolateBindings,f=Te(t,s,h,h.$$isolateBindings,A),f.removeWatches&&h.$on("$destroy",f.removeWatches));for(g in b){f=P[g],m=b[g];var V=f.$$bindings.bindToController;m.instance=m(),S.data("$"+f.name+"Controller",m.instance),m.bindingInfo=Te(v,s,m.instance,V,f)}for(a(P,function(e,t){var n=e.require;e.bindToController&&!_(n)&&y(n)&&d(b[t].instance,ie(t,n,S,b))}),a(b,function(e){var t=e.instance;if(T(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(n){r(n)}if(T(t.$onInit))try{t.$onInit()}catch(i){r(i)}T(t.$doCheck)&&(v.$watch(function(){t.$doCheck()}),t.$doCheck()),T(t.$onDestroy)&&v.$on("$destroy",function(){t.$onDestroy()})}),g=0,f=c.length;g<f;g++)m=c[g],_e(m,m.isolateScope?h:t,S,s,m.require&&ie(m.directiveName,m.require,S,b),w);var L=t;for(A&&(A.template||null===A.templateUrl)&&(L=h),e&&e(L,o.childNodes,void 0,l),g=u.length-1;0<=g;g--)m=u[g],_e(m,m.isolateScope?h:t,S,s,m.require&&ie(m.directiveName,m.require,S,b),w);a(b,function(e){e=e.instance,T(e.$postLink)&&e.$postLink()})}p=p||{};for(var m,h,v,b,w,S=-Number.MAX_VALUE,C=p.newScopeDirective,P=p.controllerDirectives,A=p.newIsolateScopeDirective,k=p.templateDirective,V=p.nonTlbTranscludeDirective,L=!1,O=!1,D=p.hasElementTranscludeDirective,R=i.$$element=hi(n),$=o,M=!1,x=!1,F=0,B=t.length;F<B;F++){m=t[F];var U=m.$$start,W=m.$$end;if(U&&(R=Q(n,U,W)),v=void 0,S>m.priority)break;if((w=m.scope)&&(m.templateUrl||(y(w)?(fe("new/isolated scope",A||C,m,R),A=m):fe("new/isolated scope",A,m,R)),C=C||m),h=m.name,!M&&(m.replace&&(m.templateUrl||m.template)||m.transclude&&!m.$$tlb)){for(w=F+1;M=t[w++];)if(M.transclude&&!M.$$tlb||M.replace&&(M.templateUrl||M.template)){x=!0;break}M=!0}if(!m.templateUrl&&m.controller&&(P=P||ge(),fe("'"+h+"' controller",P[h],m,R),P[h]=m),w=m.transclude)if(L=!0,m.$$tlb||(fe("transclusion",V,m,R),V=m),"element"===w)D=!0,S=m.priority,v=R,R=i.$$element=hi(j.$$createComment(h,i[h])),n=R[0],Se(s,Pi.call(v,0),n),$=te(x,v,o,S,l&&l.name,{nonTlbTranscludeDirective:V});else{var q=ge();if(y(w)){v=e.document.createDocumentFragment();var Y=ge(),K=ge();a(w,function(e,t){var n="?"===e.charAt(0);e=n?e.substring(1):e,Y[e]=t,q[t]=null,K[t]=n}),a(R.contents(),function(t){var n=Y[lt(N(t))];n?(K[n]=!0,q[n]=q[n]||e.document.createDocumentFragment(),q[n].appendChild(t)):v.appendChild(t)}),a(K,function(e,t){if(!e)throw Tr("reqslot",t)});for(var J in q)q[J]&&($=hi(q[J].childNodes),q[J]=te(x,$,o));v=hi(v.childNodes)}else v=hi(Pe(n)).contents();R.empty(),$=te(x,v,o,void 0,void 0,{needsNewScope:m.$$isolateScope||m.$$newScope}),$.$$slots=q}if(m.template)if(O=!0,fe("template",k,m,R),k=m,w=T(m.template)?m.template(R,i):m.template,w=$e(w),m.replace){if(l=m,v=Xi.test(w)?dt(he(m.templateNamespace,Ri(w))):[],n=v[0],1!==v.length||1!==n.nodeType)throw Tr("tplrt",h,"");Se(s,R,n),B={$attr:{}},w=Z(n,[],B);var X=t.splice(F+1,t.length-(F+1));
20(A||C)&&oe(w,A,C),t=t.concat(w).concat(X),de(i,B),B=t.length}else R.html(w);if(m.templateUrl)O=!0,fe("template",k,m,R),k=m,m.replace&&(l=m),f=ue(t.splice(F,t.length-F),R,i,s,L&&$,c,u,{controllerDirectives:P,newScopeDirective:C!==m&&C,newIsolateScopeDirective:A,templateDirective:k,nonTlbTranscludeDirective:V}),B=t.length;else if(m.compile)try{b=m.compile(R,i,$);var ne=m.$$originalDirective||m;T(b)?g(null,G(ne,b),U,W):b&&g(G(ne,b.pre),G(ne,b.post),U,W)}catch(ae){r(ae,z(R))}m.terminal&&(f.terminal=!0,S=Math.max(S,m.priority))}return f.scope=C&&!0===C.scope,f.transcludeOnThisElement=L,f.templateOnThisElement=O,f.transclude=$,p.hasElementTranscludeDirective=D,f}function ie(e,t,n,i){var r;if(S(t)){var o=t.match(v);t=t.substring(o[0].length);var s=o[1]||o[3],o="?"===o[2];if("^^"===s?n=n.parent():r=(r=i&&i[t])&&r.instance,!r){var l="$"+t+"Controller";r="^^"===s&&n[0]&&9===n[0].nodeType?null:s?n.inheritedData(l):n.data(l)}if(!r&&!o)throw Tr("ctreq",t,e)}else if(_(t))for(r=[],s=0,o=t.length;s<o;s++)r[s]=ie(e,t[s],n,i);else y(t)&&(r={},a(t,function(t,a){r[a]=ie(e,t,n,i)}));return r||null}function re(e,t,n,i,r,a,o){var s,l=ge();for(s in i){var c=i[s],d={$scope:c===o||c.$$isolateScope?r:a,$element:e,$attrs:t,$transclude:n},u=c.controller;"@"===u&&(u=t[c.name]),d=h(u,d,!0,c.controllerAs),l[c.name]=d,e.data("$"+c.name+"Controller",d.instance)}return l}function oe(e,t,n){for(var i=0,r=e.length;i<r;i++)e[i]=g(e[i],{$$isolateScope:t,$$newScope:n})}function se(e,n,r,a,o,s,c){if(n===o)return null;var d=null;if(l.hasOwnProperty(n)){o=t.get(n+"Directive");for(var u=0,p=o.length;u<p;u++)if(n=o[u],(E(a)||a>n.priority)&&-1!==n.restrict.indexOf(r)){if(s&&(n=g(n,{$$start:s,$$end:c})),!n.$$bindings){var f=d=n,m=n.name,h={isolateScope:null,bindToController:null};if(y(f.scope)&&(!0===f.bindToController?(h.bindToController=i(f.scope,m,!0),h.isolateScope={}):h.isolateScope=i(f.scope,m,!1)),y(f.bindToController)&&(h.bindToController=i(f.bindToController,m,!0)),h.bindToController&&!f.controller)throw Tr("noctrl",m);d=d.$$bindings=h,y(d.isolateScope)&&(n.$$isolateBindings=d.isolateScope)}e.push(n),d=n}}return d}function ce(e){if(l.hasOwnProperty(e))for(var n=t.get(e+"Directive"),i=0,r=n.length;i<r;i++)if(e=n[i],e.multiElement)return!0;return!1}function de(e,t){var n=t.$attr,i=e.$attr;a(e,function(i,r){"$"!==r.charAt(0)&&(t[r]&&t[r]!==i&&(i=i.length?i+(("style"===r?";":" ")+t[r]):t[r]),e.$set(r,i,!0,n[r]))}),a(t,function(t,r){e.hasOwnProperty(r)||"$"===r.charAt(0)||(e[r]=t,"class"!==r&&"style"!==r&&(i[r]=n[r]))})}function ue(e,t,n,i,s,l,c,d){var u,p,f=[],m=t[0],h=e.shift(),v=g(h,{templateUrl:null,transclude:null,replace:null,$$originalDirective:h}),E=T(h.templateUrl)?h.templateUrl(t,n):h.templateUrl,b=h.templateNamespace;return t.empty(),o(E).then(function(r){var o,g;if(r=$e(r),h.replace){if(r=Xi.test(r)?dt(he(b,Ri(r))):[],o=r[0],1!==r.length||1!==o.nodeType)throw Tr("tplrt",h.name,E);r={$attr:{}},Se(i,t,o);var w=Z(o,[],r);y(h.scope)&&oe(w,!0),e=w.concat(e),de(n,r)}else o=m,t.html(r);for(e.unshift(v),u=ne(e,o,n,s,t,h,l,c,d),a(i,function(e,n){e===o&&(i[n]=t[0])}),p=Y(t[0].childNodes,s);f.length;){r=f.shift(),g=f.shift();var S=f.shift(),C=f.shift(),w=t[0];if(!r.$$destroyed){if(g!==m){var P=g.className;d.hasElementTranscludeDirective&&h.replace||(w=Pe(o)),Se(S,hi(g),w),q(hi(w),P)}g=u.transcludeOnThisElement?J(r,u.transclude,C):C,u(p,r,w,i,g)}}f=null})["catch"](function(e){A(e)&&r(e)}),function(e,t,n,i,r){e=r,t.$$destroyed||(f?f.push(t,n,i,e):(u.transcludeOnThisElement&&(e=J(t,u.transclude,r)),u(p,t,n,i,e)))}}function pe(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function fe(e,t,n,i){function r(e){return e?" (module: "+e+")":""}if(t)throw Tr("multidir",t.name,r(t.$$moduleName),n.name,r(n.$$moduleName),e,z(i))}function me(e,t){var i=n(t,!0);i&&e.push({priority:0,compile:function(e){e=e.parent();var t=!!e.length;return t&&j.$$addBindingClass(e),function(e,n){var r=n.parent();t||j.$$addBindingClass(r),j.$$addBindingInfo(r,i.expressions),e.$watch(i,function(e){n[0].nodeValue=e})}}})}function he(t,n){switch(t=Si(t||"html")){case"svg":case"math":var i=e.document.createElement("div");return i.innerHTML="<"+t+">"+n+"</"+t+">",i.childNodes[0].childNodes;default:return n}}function ve(e,t){return"srcdoc"===t?C.HTML:"src"===t||"ngSrc"===t?-1===["img","video","audio","source","track"].indexOf(e)?C.RESOURCE_URL:C.MEDIA_URL:"xlinkHref"===t?"image"===e?C.MEDIA_URL:"a"===e?C.URL:C.RESOURCE_URL:"form"===e&&"action"===t||"base"
20===e&&"href"===t||"link"===e&&"href"===t?C.RESOURCE_URL:"a"!==e||"href"!==t&&"ngHref"!==t?void 0:C.URL}function Ee(e,t){var n=t.toLowerCase();return M[e+"|"+n]||M["*|"+n]}function be(e){return U(C.valueOf(e),"ng-prop-srcset")}function ye(e,t,n,i){if(w.test(i))throw Tr("nodomevents");e=N(e);var r=Ee(e,i),a=m;"srcset"!==i||"img"!==e&&"source"!==e?r&&(a=C.getTrusted.bind(C,r)):a=be,t.push({priority:100,compile:function(e,t){var r=s(t[n]),o=s(t[n],function(e){return C.valueOf(e)});return{pre:function(e,t){function n(){var n=r(e);t[0][i]=a(n)}n(),e.$watch(o,n)}}}})}function we(e,t,i,r,a){var o=N(e),s=ve(o,r),l=p[r]||a,c=n(i,!a,s,l);if(c){if("multiple"===r&&"select"===o)throw Tr("selmulti",z(e));if(w.test(r))throw Tr("nodomevents");t.push({priority:100,compile:function(){return{pre:function(e,t,a){t=a.$$observers||(a.$$observers=ge());var o=a[r];o!==i&&(c=o&&n(o,!0,s,l),i=o),c&&(a[r]=c(e),(t[r]||(t[r]=[])).$$inter=!0,(a.$$observers&&a.$$observers[r].$$scope||e).$watch(c,function(e,t){"class"===r&&e!==t?a.$updateClass(e,t):a.$set(r,e)}))}}}})}}function Se(t,n,i){var r,a,o=n[0],s=n.length,l=o.parentNode;if(t)for(r=0,a=t.length;r<a;r++)if(t[r]===o){t[r++]=i,a=r+s-1;for(var c=t.length;r<c;r++,a++)a<c?t[r]=t[a]:delete t[r];t.length-=s-1,t.context===o&&(t.context=i);break}for(l&&l.replaceChild(i,o),t=e.document.createDocumentFragment(),r=0;r<s;r++)t.appendChild(n[r]);for(hi.hasData(o)&&(hi.data(i,hi.data(o)),hi(o).off("$destroy")),hi.cleanData(t.querySelectorAll("*")),r=1;r<s;r++)delete n[r];n[0]=i,n.length=1}function Ce(e,t){return d(function(){return e.apply(null,arguments)},e,t)}function _e(e,t,n,i,a,o){try{e(t,n,i,a,o)}catch(s){r(s,z(n))}}function Ae(e,t){if(k)throw Tr("missingattr",e,t)}function Te(e,t,i,r,o){function l(t,n,r){T(i.$onChanges)&&!x(n,r)&&(ke||(e.$$postDigest(B),ke=[]),d||(d={},ke.push(c)),d[t]&&(r=d[t].previousValue),d[t]=new st(r,n))}function c(){i.$onChanges(d),d=void 0}var d,u=[],p={};return a(r,function(r,a){var c,d,g,m,h=r.attrName,v=r.optional;switch(r.mode){case"@":v||wi.call(t,h)||(Ae(h,o.name),i[a]=t[h]=void 0),v=t.$observe(h,function(e){(S(e)||L(e))&&(l(a,e,i[a]),i[a]=e)}),t.$$observers[h].$$scope=e,c=t[h],S(c)?i[a]=n(c)(e):L(c)&&(i[a]=c),p[a]=new st(kr,i[a]),u.push(v);break;case"=":if(!wi.call(t,h)){if(v)break;Ae(h,o.name),t[h]=void 0}if(v&&!t[h])break;d=s(t[h]),m=d.literal?F:x,g=d.assign||function(){throw c=i[a]=d(e),Tr("nonassign",t[h],h,o.name)},c=i[a]=d(e),v=function(t){return m(t,i[a])||(m(t,c)?g(e,t=i[a]):i[a]=t),c=t},v.$stateful=!0,v=r.collection?e.$watchCollection(t[h],v):e.$watch(s(t[h],v),null,d.literal),u.push(v);break;case"<":if(!wi.call(t,h)){if(v)break;Ae(h,o.name),t[h]=void 0}if(v&&!t[h])break;d=s(t[h]);var E=d.literal,b=i[a]=d(e);p[a]=new st(kr,i[a]),v=e[r.collection?"$watchCollection":"$watch"](d,function(e,t){if(t===e){if(t===b||E&&F(t,b))return;t=b}l(a,e,t),i[a]=e}),u.push(v);break;case"&":if(v||wi.call(t,h)||Ae(h,o.name),d=t.hasOwnProperty(h)?s(t[h]):f,d===f&&v)break;i[a]=function(t){return d(e,t)}}}),{initialChanges:p,removeWatches:u.length&&function(){for(var e=0,t=u.length;e<t;++e)u[e]()}}}var ke,Ve=/^\w/,Ie=e.document.createElement("div"),Le=O,Oe=D,De=V;H.prototype={$normalize:lt,$addClass:function(e){e&&0<e.length&&R.addClass(this.$$element,e)},$removeClass:function(e){e&&0<e.length&&R.removeClass(this.$$element,e)},$updateClass:function(e,t){var n=ct(e,t);n&&n.length&&R.addClass(this.$$element,n),(n=ct(t,e))&&n.length&&R.removeClass(this.$$element,n)},$set:function(e,t,n,i){var o=Ue(this.$$element[0],e),s=dr[e],l=e;o?(this.$$element.prop(e,t),i=o):s&&(this[s]=t, 21l=s),this[e]=t,i?this.$attr[e]=i:(i=this.$attr[e])||(this.$attr[e]=i=ae(e,"-")),"img"===N(this.$$element)&&"srcset"===e&&(this[e]=t=U(t,"$set('srcset', value)")),!1!==n&&(null===t||E(t)?this.$$element.removeAttr(i):Ve.test(i)?o&&!1===t?this.$$element.removeAttr(i):this.$$element.attr(i,t):W(this.$$element[0],i,t)),(e=this.$$observers)&&a(e[l],function(e){try{e(t)}catch(n){r(n)}})},$observe:function(e,t){var n=this,i=n.$$observers||(n.$$observers=ge()),r=i[e]||(i[e]=[]);return r.push(t),b.$evalAsync(function(){r.$$inter||!n.hasOwnProperty(e)||E(n[e])||t(n[e])}),function(){$(r,t)}}};var Re=n.startSymbol(),Ne=n.endSymbol(),$e="{{"===Re&&"}}"===Ne?m:function(e){return e.replace(/\{\{/g,Re).replace(/}}/g,Ne)},Me=/^ng(Attr|Prop|On)([A-Z].*)$/,xe=/^(.+)Start$/;return j.$$addBindingInfo=P?function(e,t){var n=e.data("$binding")||[];_(t)?n=n.concat(t):n.push(t),e.data("$binding",n)}:f,j.$$addBindingClass=P?function(e){q(e,"ng-binding")}:f,j.$$addScopeInfo=P?function(e,t,n,i){e.data(n?i?"$isolateScopeNoTemplate":"$isolateScope":"$scope",t)}:f,j.$$addScopeClass=P?function(e,t){q(e,t?"ng-isolate-scope":"ng-scope")}:f,j.$$createComment=function(t,n){var i="";return P&&(i=" "+(t||"")+": ",n&&(i+=n+" ")),e.document.createComment(i)},j}]}function st(e,t){this.previousValue=e,this.currentValue=t}function lt(e){return e.replace(Vr,"").replace(Ir,function(e,t,n){return n?t.toUpperCase():t})}function ct(e,t){var n="",i=e.split(/\s+/),r=t.split(/\s+/),a=0;e:for(;a<i.length;a++){for(var o=i[a],s=0;s<r.length;s++)if(o===r[s])continue e;n+=(0<n.length?" ":"")+o}return n}function dt(e){e=hi(e);var t=e.length;if(1>=t)return e;for(;t--;){var n=e[t];(8===n.nodeType||n.nodeType===Hi&&""===n.nodeValue.trim())&&_i.call(e,t,1)}return e}function ut(e,t){if(t&&S(t))return t;if(S(e)){var n=Or.exec(e);if(n)return n[3]}}function pt(){var e={};this.has=function(t){return e.hasOwnProperty(t)},this.register=function(t,n){de(t,"controller"),y(t)?d(e,t):e[t]=n},this.$get=["$injector",function(t){function n(e,t,n,r){if(!e||!y(e.$scope))throw i("$controller")("noscp",r,t);e.$scope[t]=n}return function(i,r,a,o){var s,l,c;if(a=!0===a,o&&S(o)&&(c=o),S(i)){if(o=i.match(Or),!o)throw Lr("ctrlfmt",i);if(l=o[1],c=c||o[3],i=e.hasOwnProperty(l)?e[l]:ue(r.$scope,l,!0),!i)throw Lr("ctrlreg",l);ce(i,l,!0)}return a?(a=(_(i)?i[i.length-1]:i).prototype,s=Object.create(a||null),
21c&&n(r,c,s,l||i.name),d(function(){var e=t.invoke(i,s,r,l);return e!==s&&(y(e)||T(e))&&(s=e,c&&n(r,c,s,l||i.name)),s},{instance:s,identifier:c})):(s=t.instantiate(i,r,l),c&&n(r,c,s,l||i.name),s)}}]}function gt(){this.$get=["$window",function(e){return hi(e.document)}]}function ft(){this.$get=["$document","$rootScope",function(e,t){function n(){r=i.hidden}var i=e[0],r=i&&i.hidden;return e.on("visibilitychange",n),t.$on("$destroy",function(){e.off("visibilitychange",n)}),function(){return r}}]}function mt(){this.$get=["$log",function(e){return function(t,n){e.error.apply(e,arguments)}}]}function ht(e){return y(e)?P(e)?e.toISOString():H(e):e}function vt(){this.$get=function(){return function(e){if(!e)return"";var t=[];return o(e,function(e,n){null===e||E(e)||T(e)||(_(e)?a(e,function(e){t.push(Q(n)+"="+Q(ht(e)))}):t.push(Q(n)+"="+Q(ht(e))))}),t.join("&")}}}function Et(){this.$get=function(){return function(e){function t(e,i,r){_(e)?a(e,function(e,n){t(e,i+"["+(y(e)?n:"")+"]")}):y(e)&&!P(e)?o(e,function(e,n){t(e,i+(r?"":"[")+n+(r?"":"]"))}):(T(e)&&(e=e()),n.push(Q(i)+"="+(null==e?"":Q(ht(e)))))}if(!e)return"";var n=[];return t(e,"",!0),n.join("&")}}}function bt(e,t){if(S(e)){var n=e.replace(xr,"").trim();if(n){var i,r=t("Content-Type"),r=r&&0===r.indexOf(Rr);if((i=r)||(i=(i=n.match($r))&&Mr[i[0]].test(n)),i)try{e=W(n)}catch(a){if(!r)return e;throw Fr("baddata",e,a)}}}return e}function yt(e){var t,n=ge();return S(e)?a(e.split("\n"),function(e){t=e.indexOf(":");var i=Si(Ri(e.substr(0,t)));e=Ri(e.substr(t+1)),i&&(n[i]=n[i]?n[i]+", "+e:e)}):y(e)&&a(e,function(e,t){var i=Si(t),r=Ri(e);i&&(n[i]=n[i]?n[i]+", "+r:r)}),n}function wt(e){var t;return function(n){return t||(t=yt(e)),n?(n=t[Si(n)],void 0===n&&(n=null),n):t}}function St(e,t,n,i){return T(i)?i(e,t,n):(a(i,function(i){e=i(e,t,n)}),e)}function Ct(){var e=this.defaults={transformResponse:[bt],transformRequest:[function(e){return y(e)&&"[object File]"!==Ti.call(e)&&"[object Blob]"!==Ti.call(e)&&"[object FormData]"!==Ti.call(e)?H(e):e}],headers:{common:{Accept:"application/json, text/plain, */*"},post:he(Nr),put:he(Nr),patch:he(Nr)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},t=!1;this.useApplyAsync=function(e){return b(e)?(t=!!e,this):t};var n=this.interceptors=[],r=this.xsrfTrustedOrigins=[];Object.defineProperty(this,"xsrfWhitelistedOrigins",{get:function(){return this.xsrfTrustedOrigins},set:function(e){this.xsrfTrustedOrigins=e}}),this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(o,s,l,c,u,p,g,m){function h(t){function n(e,t){for(var n=0,i=t.length;n<i;){var r=t[n++],a=t[n++];e=e.then(r,a)}return t.length=0,e}function r(e,t){var n,i={};return a(e,function(e,r){T(e)?(n=e(t),null!=n&&(i[r]=n)):i[r]=e}),i}function s(e){var t=d({},e);return t.data=St(e.data,e.headers,e.status,l.transformResponse),e=e.status,200<=e&&300>e?t:p.reject(t)}if(!y(t))throw i("$http")("badreq",t);if(!S(m.valueOf(t.url)))throw i("$http")("badreq",t.url);var l=d({method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse,paramSerializer:e.paramSerializer,jsonpCallbackParam:e.jsonpCallbackParam},t);l.headers=function(t){var n,i,a,o=e.headers,s=d({},t.headers),o=d({},o.common,o[Si(t.method)]);e:for(n in o){i=Si(n);for(a in s)if(Si(a)===i)continue e;s[n]=o[n]}return r(s,he(t))}(t),l.method=Ci(l.method),l.paramSerializer=S(l.paramSerializer)?g.get(l.paramSerializer):l.paramSerializer,o.$$incOutstandingRequestCount("$http");var c=[],u=[];return t=p.resolve(l),a(A,function(e){(e.request||e.requestError)&&c.unshift(e.request,e.requestError),(e.response||e.responseError)&&u.push(e.response,e.responseError)}),t=n(t,c),t=t.then(function(t){var n=t.headers,i=St(t.data,wt(n),void 0,t.transformRequest);return E(i)&&a(n,function(e,t){"content-type"===Si(t)&&delete n[t]}),E(t.withCredentials)&&!E(e.withCredentials)&&(t.withCredentials=e.withCredentials),v(t,i).then(s,s)}),t=n(t,u),t=t["finally"](function(){o.$$completeOutstandingRequest(f,"$http")})}function v(n,i){function r(e){if(e){var n={};return a(e,function(e,i){n[i]=function(n){function i(){e(n)}t?u.$applyAsync(i):u.$$phase?i():u.$apply(i)}}),n}}function o(e,n,i,r,a){function o(){c(n,e,i,r,a)}f&&(200<=e&&300>e?f.put(O,[e,n,yt(i),r,a]):f.remove(O)),t?u.$applyAsync(o):(o(),u.$$ph
21ase||u.$apply())}function c(e,t,i,r,a){t=-1<=t?t:0,(200<=t&&300>t?A.resolve:A.reject)({data:e,status:t,headers:wt(i),config:n,statusText:r,xhrStatus:a})}function d(e){c(e.data,e.status,he(e.headers()),e.statusText,e.xhrStatus)}function g(){var e=h.pendingRequests.indexOf(n);-1!==e&&h.pendingRequests.splice(e,1)}var f,v,A=p.defer(),V=A.promise,I=n.headers,L="jsonp"===Si(n.method),O=n.url;return L?O=m.getTrustedResourceUrl(O):S(O)||(O=m.valueOf(O)),O=w(O,n.paramSerializer(n.params)),L&&(O=C(O,n.jsonpCallbackParam)),h.pendingRequests.push(n),V.then(g,g),!n.cache&&!e.cache||!1===n.cache||"GET"!==n.method&&"JSONP"!==n.method||(f=y(n.cache)?n.cache:y(e.cache)?e.cache:P),f&&(v=f.get(O),b(v)?v&&T(v.then)?v.then(d,d):_(v)?c(v[1],v[0],he(v[2]),v[3],v[4]):c(v,200,{},"OK","complete"):f.put(O,V)),E(v)&&((v=k(n.url)?l()[n.xsrfCookieName||e.xsrfCookieName]:void 0)&&(I[n.xsrfHeaderName||e.xsrfHeaderName]=v),s(n.method,O,i,o,I,n.timeout,n.withCredentials,n.responseType,r(n.eventHandlers),r(n.uploadEventHandlers))),V}function w(e,t){return 0<t.length&&(e+=(-1===e.indexOf("?")?"?":"&")+t),e}function C(e,t){var n=e.split("?");if(2<n.length)throw Fr("badjsonp",e);return n=J(n[1]),a(n,function(n,i){if("JSON_CALLBACK"===n)throw Fr("badjsonp",e);if(i===t)throw Fr("badjsonp",t,e)}),e+=(-1===e.indexOf("?")?"?":"&")+t+"=JSON_CALLBACK"}var P=c("$http");e.paramSerializer=S(e.paramSerializer)?g.get(e.paramSerializer):e.paramSerializer;var A=[];a(n,function(e){A.unshift(S(e)?g.get(e):g.invoke(e))});var k=bn(r);return h.pendingRequests=[],function(e){a(arguments,function(e){h[e]=function(t,n){return h(d({},n||{},{method:e,url:t}))}})}("get","delete","head","jsonp"),function(e){a(arguments,function(e){h[e]=function(t,n,i){return h(d({},i||{},{method:e,url:t,data:n}))}})}("post","put","patch"),h.defaults=e,h}]}function Pt(){this.$get=function(){return function(){return new e.XMLHttpRequest}}}function _t(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(e,t,n,i){return At(e,i,e.defer,t,n[0])}]}function At(e,t,n,i,r){function o(e,t,n){e=e.replace("JSON_CALLBACK",t);var a=r.createElement("script"),o=null;return a.type="text/javascript",a.src=e,a.async=!0,o=function(e){a.removeEventListener("load",o),a.removeEventListener("error",o),r.body.removeChild(a),a=null;var s=-1,l="unknown";
21e&&("load"!==e.type||i.wasCalled(t)||(e={type:"error"}),l=e.type,s="error"===e.type?404:200),n&&n(s,l)},a.addEventListener("load",o),a.addEventListener("error",o),r.body.appendChild(a),o}return function(r,s,l,c,d,u,p,g,f,m){function h(e){C="timeout"===e,w&&w(),S&&S.abort()}function v(e,t,i,r,a,o){b(_)&&n.cancel(_),w=S=null,e(t,i,r,a,o)}if(s=s||e.url(),"jsonp"===Si(r))var y=i.createCallback(s),w=o(s,y,function(e,t){var n=200===e&&i.getResponse(y);v(c,e,n,"",t,"complete"),i.removeCallback(y)});else{var S=t(r,s),C=!1;if(S.open(r,s,!0),a(d,function(e,t){b(e)&&S.setRequestHeader(t,e)}),S.onload=function(){var e=S.statusText||"",t="response"in S?S.response:S.responseText,n=1223===S.status?204:S.status;0===n&&(n=t?200:"file"===En(s).protocol?404:0),v(c,n,t,S.getAllResponseHeaders(),e,"complete")},S.onerror=function(){v(c,-1,null,null,"","error")},S.ontimeout=function(){v(c,-1,null,null,"","timeout")},S.onabort=function(){v(c,-1,null,null,"",C?"timeout":"abort")},a(f,function(e,t){S.addEventListener(t,e)}),a(m,function(e,t){S.upload.addEventListener(t,e)}),p&&(S.withCredentials=!0),g)try{S.responseType=g}catch(P){if("json"!==g)throw P}S.send(E(l)?null:l)}if(0<u)var _=n(function(){h("timeout")},u);else u&&T(u.then)&&u.then(function(){h(b(u.$$timeoutId)?"timeout":"abort")})}}function Tt(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,i,r){function a(e){return"\\\\\\"+e}function o(n){return n.replace(p,e).replace(g,t)}function s(e,t,n,i){var r=e.$watch(function(e){return r(),i(e)},t,n);return r}function l(a,l,p,g){function f(e){try{return e=p&&!m?r.getTrusted(p,e):r.valueOf(e),g&&!b(e)?e:fe(e)}catch(t){i(Br.interr(a,t))}}var m=p===r.URL||p===r.MEDIA_URL;if(!a.length||-1===a.indexOf(e)){if(l)return;return l=o(a),m&&(l=r.getTrusted(p,l)),l=h(l),l.exp=a,l.expressions=[],l.$$watchDelegate=s,l}g=!!g;for(var v,y,w,S,C=0,P=[],_=a.length,A=[],T=[];C<_;){if(-1===(v=a.indexOf(e,C))||-1===(y=a.indexOf(t,v+c))){C!==_&&A.push(o(a.substring(C)));break}C!==v&&A.push(o(a.substring(C,v))),C=a.substring(v+c,y),P.push(C),C=y+u,T.push(A.length),A.push("")}S=1===A.length&&1===T.length;var k=m&&S?void 0:f;if(w=P.map(function(e){return n(e,k)}),!l||P.length){var V=function(e){for(var t=0,n=P.length;t<n;t++){if(g&&E(e[t]))return;A[T[t]]=e[t]}return m?r.getTrusted(p,S?A[0]:A.join("")):(p&&1<A.length&&Br.throwNoconcat(a),A.join(""))};return d(function(e){var t=0,n=P.length,r=Array(n);try{for(;t<n;t++)r[t]=w[t](e);return V(r)}catch(o){i(Br.interr(a,o))}},{exp:a,expressions:P,$$watchDelegate:function(e,t){var n;return e.$watchGroup(w,function(i,r){var a=V(i);t.call(this,a,i!==r?n:a,e),n=a})}})}}var c=e.length,u=t.length,p=new RegExp(e.replace(/./g,a),"g"),g=new RegExp(t.replace(/./g,a),"g");return l.startSymbol=function(){return e},l.endSymbol=function(){return t},l}]}function kt(){this.$get=["$$intervalFactory","$window",function(e,t){var n={},i=function(e){t.clearInterval(e),delete n[e]},r=e(function(e,i,r){return e=t.setInterval(e,i),n[e]=r,e},i);return r.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$intervalId"))throw Gr("badprom");if(!n.hasOwnProperty(e.$$intervalId))return!1;e=e.$$intervalId;var t=n[e],r=t.promise;return r.$$state&&(r.$$state.pur=!0),t.reject("canceled"),i(e),!0},r}]}function Vt(){this.$get=["$browser","$q","$$q","$rootScope",function(e,t,n,i){return function(r,a){return function(o,s,l,c){function d(){u?o.apply(null,p):o(g)}var u=4<arguments.length,p=u?Pi.call(arguments,4):[],g=0,f=b(c)&&!c,m=(f?n:t).defer(),h=m.promise;return l=b(l)?l:0,h.$$intervalId=r(function(){f?e.defer(d):i.$evalAsync(d),m.notify(g++),0<l&&g>=l&&(m.resolve(g),a(h.$$intervalId)),f||i.$apply()},s,m,f),h}}}]}function It(e,t){var n=En(e);t.$$protocol=n.protocol,t.$$host=n.hostname,t.$$port=p(n.port)||Wr[n.protocol]||null}function Lt(e,t,n){if(jr.test(e))throw qr("badpath",e);var i="/"!==e.charAt(0);i&&(e="/"+e),e=En(e);for(var i=(i&&"/"===e.pathname.charAt(0)?e.pathname.substring(1):e.pathname).split("/"),r=i.length;r--;)i[r]=decodeURIComponent(i[r]),n&&(i[r]=i[r].replace(/\//g,"%2F"));n=i.join("/"),t.$$path=n,t.$$search=J(e.search),t.$$hash=decodeURIComponent(e.hash),t.$$path&&"/"!==t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function Ot(e,t){return e.slice(0,t.length)===t}function Dt(e,t){if(Ot(t,e))return t.substr(e.length)}function Rt(e){var t=e.indexOf("#");return-1===t?e:e.substr(0,t)}function Nt(e,t,n){this.$$html5=!0,n=n||"",It(e,this),this.$$parse=function(e){var n=Dt(t,e);if(!S(n))throw qr("ipthprfx",e,t);Lt(n,this,!0),this.$$path||(this.$$path="/"),this.$$compose()},this.$$normalizeUrl=function(e){return t+e.substr(1)},this.$$parseLinkUrl=function(i,r){if(r&&"#"===r[0])return this.hash(r.slice(1)),!0;var a,o;return b(a=Dt(e,i))?(o=a,o=n&&b(a=Dt(n,a))?t+(Dt("/",a)||a):e+o):b(a=Dt(t,i))?o=t+a:t===i+"/"&&(o=t),o&&this.$$parse(o),!!o}}function $t(e,t,n){It(e,this),this.$$parse=function(i){var r,a=Dt(e,i)||Dt(t,i);E(a)||"#"!==a.charAt(0)?this.$$html5?r=a:(r="",E(a)&&(e=i,this.replace())):(r=Dt(n,a),E(r)&&(r=a)),Lt(r,this,
21!1),i=this.$$path;var a=e,o=/^\/[A-Z]:(\/.*)/;Ot(r,a)&&(r=r.replace(a,"")),o.exec(r)||(i=(r=o.exec(i))?r[1]:i),this.$$path=i,this.$$compose()},this.$$normalizeUrl=function(t){return e+(t?n+t:"")},this.$$parseLinkUrl=function(t,n){return Rt(e)===Rt(t)&&(this.$$parse(t),!0)}}function Mt(e,t,n){this.$$html5=!0,$t.apply(this,arguments),this.$$parseLinkUrl=function(i,r){if(r&&"#"===r[0])return this.hash(r.slice(1)),!0;var a,o;return e===Rt(i)?a=i:(o=Dt(t,i))?a=e+n+o:t===i+"/"&&(a=t),a&&this.$$parse(a),!!a},this.$$normalizeUrl=function(t){return e+n+t}}function xt(e){return function(){return this[e]}}function Ft(e,t){return function(n){return E(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function Bt(){var e="!",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return b(t)?(e=t,this):e},this.html5Mode=function(e){return L(e)?(t.enabled=e,this):y(e)?(L(e.enabled)&&(t.enabled=e.enabled),L(e.requireBase)&&(t.requireBase=e.requireBase),(L(e.rewriteLinks)||S(e.rewriteLinks))&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,i,r,a,o){function s(e,t){return e===t||En(e).href===En(t).href}function l(e,t,n){var r=d.url(),a=d.$$state;try{i.url(e,t,n),d.$$state=i.state()}catch(o){throw d.url(r),d.$$state=a,o}}function c(e,t){n.$broadcast("$locationChangeSuccess",d.absUrl(),e,d.$$state,t)}var d,u;u=i.baseHref();var p,g=i.url();if(t.enabled){if(!u&&t.requireBase)throw qr("nobase");p=g.substring(0,g.indexOf("/",g.indexOf("//")+2))+(u||"/"),u=r.history?Nt:Mt}else p=Rt(g),u=$t;var f=p.substr(0,Rt(p).lastIndexOf("/")+1);d=new u(p,f,"#"+e),d.$$parseLinkUrl(g,g),d.$$state=i.state();var m=/^\s*(javascript|mailto):/i;a.on("click",function(e){var r=t.rewriteLinks;if(r&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!==e.which&&2!==e.button){for(var o=hi(e.target);"a"!==N(o[0]);)if(o[0]===a[0]||!(o=o.parent())[0])return;if(!S(r)||!E(o.attr(r))){var r=o.prop("href"),s=o.attr("href")||o.attr("xlink:href");y(r)&&"[object SVGAnimatedString]"===r.toString()&&(r=En(r.animVal).href),m.test(r)||!r||o.attr("target")||e.isDefaultPrevented()||!d.$$parseLinkUrl(r,s)||(e.preventDefault(),d.absUrl()!==i.url()&&n.$apply())}}}),d.absUrl()!==g&&i.url(d.absUrl(),!0);var h=!0;return i.onUrlChange(function(e,t){Ot(e,f)?(n.$evalAsync(function(){var i,r=d.absUrl(),a=d.$$state;d.$$parse(e),d.$$state=t,i=n.$broadcast("$locationChangeStart",e,r,t,a).defaultPrevented,d.absUrl()===e&&(i?(d.$$parse(r),d.$$state=a,l(r,!1,a)):(h=!1,c(r,a)))}),n.$$phase||n.$digest()):o.location.href=e}),n.$watch(function(){if(h||d.$$urlUpdatedByLocation){d.$$urlUpdatedByLocation=!1;var e=i.url(),t=d.absUrl(),a=i.state(),o=d.$$replace,u=!s(e,t)||d.$$html5&&r.history&&a!==d.$$state;(h||u)&&(h=!1,n.$evalAsync(function(){var t=d.absUrl(),i=n.$broadcast("$locationChangeStart",t,e,d.$$state,a).defaultPrevented;d.absUrl()===t&&(i?(d.$$parse(e),d.$$state=a):(u&&l(t,o,a===d.$$state?null:d.$$state),c(e,a)))}))}d.$$replace=!1}),d}]}function Gt(){var e=!0,t=this;this.debugEnabled=function(t){return b(t)?(e=t,this):e},this.$get=["$window",function(n){function i(e){return A(e)&&(e.stack&&o?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function r(e){var t=n.console||{},r=t[e]||t.log||f;return function(){var e=[];return a(arguments,function(t){e.push(i(t))}),Function.prototype.apply.call(r,t,e)}}var o=mi||/\bEdge\//.test(n.navigator&&n.navigator.userAgent);return{log:r("log"),info:r("info"),warn:r("warn"),error:r("error"),debug:function(){var n=r("debug");return function(){e&&n.apply(t,arguments)}}()}}]}function Ut(e){return e+""}function Ht(e,t){return"undefined"!=typeof e?e:t}function Wt(e,t){return"undefined"==typeof e?t:"undefined"==typeof t?e:e+t}function qt(e,t){switch(e.type){case Qr.MemberExpression:if(e.computed)return!1;break;case Qr.UnaryExpression:return 1;case Qr.BinaryExpression:return"+"!==e.operator&&1;case Qr.CallExpression:return!1}return void 0===t?ea:t}function jt(e,t,n){var i,r,o=e.isPure=qt(e,n);switch(e.type){case Qr.Program:i=!0,a(e.body,function(e){jt(e.expression,t,o),i=i&&e.expression.constant}),e.constant=i;break;case Qr.Literal:e.constant=!0,e.toWatch=[];break;case Qr.UnaryExpression:jt(e.argument,t,o),e.constant=e.argument.constant,e.toWatch=e.argument.toWatch;break;
21case Qr.BinaryExpression:jt(e.left,t,o),jt(e.right,t,o),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.left.toWatch.concat(e.right.toWatch);break;case Qr.LogicalExpression:jt(e.left,t,o),jt(e.right,t,o),e.constant=e.left.constant&&e.right.constant,e.toWatch=e.constant?[]:[e];break;case Qr.ConditionalExpression:jt(e.test,t,o),jt(e.alternate,t,o),jt(e.consequent,t,o),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case Qr.Identifier:e.constant=!1,e.toWatch=[e];break;case Qr.MemberExpression:jt(e.object,t,o),e.computed&&jt(e.property,t,o),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=e.constant?[]:[e];break;case Qr.CallExpression:i=n=!!e.filter&&!t(e.callee.name).$stateful,r=[],a(e.arguments,function(e){jt(e,t,o),i=i&&e.constant,r.push.apply(r,e.toWatch)}),e.constant=i,e.toWatch=n?r:[e];break;case Qr.AssignmentExpression:jt(e.left,t,o),jt(e.right,t,o),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case Qr.ArrayExpression:i=!0,r=[],a(e.elements,function(e){jt(e,t,o),i=i&&e.constant,r.push.apply(r,e.toWatch)}),e.constant=i,e.toWatch=r;break;case Qr.ObjectExpression:i=!0,r=[],a(e.properties,function(e){jt(e.value,t,o),i=i&&e.value.constant,r.push.apply(r,e.value.toWatch),e.computed&&(jt(e.key,t,!1),i=i&&e.key.constant,r.push.apply(r,e.key.toWatch))}),e.constant=i,e.toWatch=r;break;case Qr.ThisExpression:e.constant=!1,e.toWatch=[];break;case Qr.LocalsExpression:e.constant=!1,e.toWatch=[]}}function Yt(e){if(1===e.length){e=e[0].expression;var t=e.toWatch;return 1!==t.length?t:t[0]!==e?t:void 0}}function zt(e){return e.type===Qr.Identifier||e.type===Qr.MemberExpression}function Kt(e){if(1===e.body.length&&zt(e.body[0].expression))return{type:Qr.AssignmentExpression,left:e.body[0].expression,right:{type:Qr.NGValueParameter},operator:"="}}function Jt(e){this.$filter=e}function Zt(e){this.$filter=e}function Xt(e,t,n){this.ast=new Qr(e,n),this.astCompiler=n.csp?new Zt(t):new Jt(t)}function Qt(e){return T(e.valueOf)?e.valueOf():Kr.call(e)}function en(){var e,t,n=ge(),i={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(e,t){i[e]=t},this.setIdentifierFns=function(n,i){return e=n,t=i,this},this.$get=["$filter",function(r){function o(e,t){var i,a;switch(typeof e){case"string":return a=e=e.trim(),i=n[a],i||(i=new Xr(v),i=new Xt(i,r,v).parse(e),n[a]=p(i)),h(i,t);case"function":return h(e,t);default:return h(f,t)}}function s(e,t,n){return null==e||null==t?e===t:!("object"==typeof e&&(e=Qt(e),"object"==typeof e&&!n))&&(e===t||e!==e&&t!==t)}function l(e,t,n,i,r){var a,o=i.inputs;if(1===o.length){var l=s,o=o[0];return e.$watch(function(e){var t=o(e);return s(t,l,o.isPure)||(a=i(e,void 0,void 0,[t]),l=t&&Qt(t)),a},t,n,r)}for(var c=[],d=[],u=0,p=o.length;u<p;u++)c[u]=s,d[u]=null;return e.$watch(function(e){for(var t=!1,n=0,r=o.length;n<r;n++){var l=o[n](e);(t||(t=!s(l,c[n],o[n].isPure)))&&(d[n]=l,c[n]=l&&Qt(l))}return t&&(a=i(e,void 0,void 0,d)),a},t,n,r)}function c(e,t,n,i,r){function a(){c(l)&&s()}function o(e,t,n,i){return l=f&&i?i[0]:u(e,t,n,i),c(l)&&e.$$postDigest(a),g(l)}var s,l,c=i.literal?d:b,u=i.$$intercepted||i,g=i.$$interceptor||m,f=i.inputs&&!u.inputs;return o.literal=i.literal,o.constant=i.constant,o.inputs=i.inputs,p(o),s=e.$watch(o,t,n,r)}function d(e){var t=!0;return a(e,function(e){b(e)||(t=!1)}),t}function u(e,t,n,i){var r=e.$watch(function(e){return r(),i(e)},t,n);return r}function p(e){return e.constant?e.$$watchDelegate=u:e.oneTime?e.$$watchDelegate=c:e.inputs&&(e.$$watchDelegate=l),e}function g(e,t){function n(n){return t(e(n))}return n.$stateful=e.$stateful||t.$stateful,n.$$pure=e.$$pure&&t.$$pure,n}function h(e,t){if(!t)return e;e.$$interceptor&&(t=g(e.$$interceptor,t),e=e.$$intercepted);var n=!1,i=function(i,r,a,o){return i=n&&o?o[0]:e(i,r,a,o),t(i)};return i.$$intercepted=e,i.$$interceptor=t,i.literal=e.literal,i.oneTime=e.oneTime,i.constant=e.constant,t.$stateful||(n=!e.inputs,i.inputs=e.inputs?e.inputs:[e],t.$$pure||(i.inputs=i.inputs.map(function(e){return e.isPure===ea?function(t){return e(t)}:e}))),p(i)}var v={csp:$i().noUnsafeEval,literals:M(i),isIdentifierStart:T(e)&&e,isIdentifierContinue:T(t)&&t};return o.$$getAst=function(e){var t=new Xr(v);return new Xt(t,r,v).getAst(e).ast},o}]}function tn(){var e=!0;this.$get=["$rootScope","$exceptionHandler",function(t,n){return rn(function(e){t.$evalAsync(e)},n,e)}],this.errorOnUnhandledRejections=function(t){return b(t)?(e=t,this):e}}function nn(){var e=!0;this.$get=["$browser","$exceptionHandler",function(t,n){return rn(function(e){t.defer(e)},n,e)}],this.errorOnUnhandledRejections=function(t){return b(t)?(e=t,this):e}}function rn(e,t,n){function r(){return new o}function o(){var e=this.promise=new s;this.resolve=function(t){u(e,t)},this.reject=function(t){g(e,t)},this.notify=function(t){m(e,t)}}function s(){this.$$state={status:0}}function l(){for(;!C&&P.length;){var e=P.shift();if(!e.pur){e.pur=!0;var n=e.value,n="Possibly unhandled rejection: "+("function"==typeof n?n.toString().replace(/ \{[\s\S]*$/,""):E(n)?"undefined":"string"!=typeof n?ve(n,void 0):n);A(e.value)?t(e.value,n):t(n)}}}function c(i){!n||i.pending||2!==i.status||i.pur||(0===C&&0===P.length&&e(l),P.push(i)),!i.processScheduled&&i.pending&&(i.processScheduled=!0,++C,e(function(){var r,a,o;o=i.pending,i.processScheduled=!1,i.pending=void 0;try{for(var s=0,c=o.length;s<c;++s){i.pur=!0,a=o[s][0],r=o[s][i.status];try{T(r)?u(a,r(i.value)):1===i.status?u(a,i.value):g(a,i.value)}catch(d){g(a,d),d&&!0===d.$$passToExceptionHandler&&t(d)}}}finally{--C,n&&0===C&&e(l)}}))}function u(e,t){e.$$state.status||(t===e?f(e,S("qcycle",t)):p(e,t))}function p(e,t){function n(t){o||(o=!0,p(e,t))}function i(t){o||(o=!0,f(e,t))}function r(t){m(e,t)}var a,o=!1;try{(y(t)||T(t))&&(a=t.then),T(a)?(e.$$state.status=-1,a.call(t,n,i,r)):(e.$$state.value=t,e.$$state.status=1,c(e.$$state))}catch(s){i(s)}}function g(e,t){e.$$state.status||f(e,t)}function f(e,t){e.$$state.value=t,e.$$state.status=2,c(e.$$state)}function m(n,i){var r=n.$$state.pending;0>=n.$$state.status&&r&&r.length&&e(function(){for(var e,n,a=0,o=r.length;a<o;a++){n=r[a][0],e=r[a][3];try{m(n,T(e)?e(i):i)}catch(s){t(s)}}})}function h(e){var t=new s;return g(t,e),t}function v(e,t,n){var i=null;try{T(n)&&(i=n())}catch(r){return h(r)}return i&&T(i.then)?i.then(function(){return t(e)},h):t(e)}function b(e,t,n,i){var r=new s;return u(r,e),r.then(t,n,i)}function w(e){if(!T(e))throw S("norslvr",e);var t=new s;return e(function(e){u(t,e)},function(e){g(t,e)}),t}var S=i("$q",TypeError),C=0,P=[];d(s.prototype,{then:function(e,t,n){if(E(e)&&E(t)&&E(n))return this;var i=new s;
21return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([i,e,t,n]),0<this.$$state.status&&c(this.$$state),i},"catch":function(e){return this.then(null,e)},"finally":function(e,t){return this.then(function(t){return v(t,k,e)},function(t){return v(t,h,e)},t)}});var k=b;return w.prototype=s.prototype,w.defer=r,w.reject=h,w.when=b,w.resolve=k,w.all=function(e){var t=new s,n=0,i=_(e)?[]:{};return a(e,function(e,r){n++,b(e).then(function(e){i[r]=e,--n||u(t,i)},function(e){g(t,e)})}),0===n&&u(t,i),t},w.race=function(e){var t=r();return a(e,function(e){b(e).then(t.resolve,t.reject)}),t.promise},w}function an(){this.$get=["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame,i=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||e.webkitCancelRequestAnimationFrame,r=!!n,a=r?function(e){var t=n(e);return function(){i(t)}}:function(e){var n=t(e,16.66,!1);return function(){t.cancel(n)}};return a.supported=r,a}]}function on(){function e(e){function t(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=++Li,this.$$ChildScope=null,this.$$suspended=!1}return t.prototype=e,t}var t=10,n=i("$rootScope"),o=null,s=null;this.digestTtl=function(e){return arguments.length&&(t=e),t},this.$get=["$exceptionHandler","$parse","$browser",function(i,l,c){function d(e){e.currentScope.$$destroyed=!0}function u(e){9===mi&&(e.$$childHead&&u(e.$$childHead),e.$$nextSibling&&u(e.$$nextSibling)),e.$parent=e.$$nextSibling=e.$$prevSibling=e.$$childHead=e.$$childTail=e.$root=e.$$watchers=null}function p(){this.$id=++Li,this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$suspended=this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function g(e){if(S.$$phase)throw n("inprog",S.$$phase);S.$$phase=e}function m(e,t){do e.$$watchersCount+=t;while(e=e.$parent)}function h(e,t,n){do e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n];while(e=e.$parent)}function v(){}function b(){for(;_.length;)try{_.shift()()}catch(e){i(e)}s=null}function w(){null===s&&(s=c.defer(function(){S.$apply(b)},null,"$applyAsync"))}p.prototype={constructor:p,$new:function(t,n){var i;return n=n||this,t?(i=new p,i.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=e(this)),i=new this.$$ChildScope),i.$parent=n,i.$$prevSibling=n.$$childTail,n.$$childHead?(n.$$childTail.$$nextSibling=i,n.$$childTail=i):n.$$childHead=n.$$childTail=i,(t||n!==this)&&i.$on("$destroy",d),i},$watch:function(e,t,n,i){var r=l(e);if(t=T(t)?t:f,r.$$watchDelegate)return r.$$watchDelegate(this,t,n,r,e);var a=this,s=a.$$watchers,c={fn:t,last:v,get:r,exp:i||e,eq:!!n};return o=null,s||(s=a.$$watchers=[],s.$$digestWatchIndex=-1),s.unshift(c),s.$$digestWatchIndex++,m(this,1),function(){var e=$
21(s,c);0<=e&&(m(a,-1),e<s.$$digestWatchIndex&&s.$$digestWatchIndex--),o=null}},$watchGroup:function(e,t){function n(){l=!1;try{c?(c=!1,t(r,r,s)):t(r,i,s)}finally{for(var n=0;n<e.length;n++)i[n]=r[n]}}var i=Array(e.length),r=Array(e.length),o=[],s=this,l=!1,c=!0;if(!e.length){var d=!0;return s.$evalAsync(function(){d&&t(r,r,s)}),function(){d=!1}}return 1===e.length?this.$watch(e[0],function(e,n,a){r[0]=e,i[0]=n,t(r,e===n?r:i,a)}):(a(e,function(e,t){var i=s.$watch(e,function(e){r[t]=e,l||(l=!0,s.$evalAsync(n))});o.push(i)}),function(){for(;o.length;)o.shift()()})},$watchCollection:function(e,t){function n(e){i=e;var t,n,o,s;if(!E(i)){if(y(i))if(r(i))for(a!==p&&(a=p,m=a.length=0,d++),e=i.length,m!==e&&(d++,a.length=m=e),t=0;t<e;t++)s=a[t],o=i[t],n=s!==s&&o!==o,n||s===o||(d++,a[t]=o);else{a!==g&&(a=g={},m=0,d++),e=0;for(t in i)wi.call(i,t)&&(e++,o=i[t],s=a[t],t in a?(n=s!==s&&o!==o,n||s===o||(d++,a[t]=o)):(m++,a[t]=o,d++));if(m>e)for(t in d++,a)wi.call(i,t)||(m--,delete a[t])}else a!==i&&(a=i,d++);return d}}n.$$pure=l(e).literal,n.$stateful=!n.$$pure;var i,a,o,s=this,c=1<t.length,d=0,u=l(e,n),p=[],g={},f=!0,m=0;return this.$watch(u,function(){if(f?(f=!1,t(i,i,s)):t(i,o,s),c)if(y(i))if(r(i)){o=Array(i.length);for(var e=0;e<i.length;e++)o[e]=i[e]}else for(e in o={},i)wi.call(i,e)&&(o[e]=i[e]);else o=i})},$digest:function(){var e,r,a,l,d,u,p,f,m,h,E=t,y=C.length?S:this,w=[];g("$digest"),c.$$checkUrlChange(),this===S&&null!==s&&(c.defer.cancel(s),b()),o=null;do{for(p=!1,f=y,u=0;u<C.length;u++){try{h=C[u],(l=h.fn)(h.scope,h.locals)}catch(_){i(_)}o=null}C.length=0;e:do{if(u=!f.$$suspended&&f.$$watchers)for(u.$$digestWatchIndex=u.length;u.$$digestWatchIndex--;)try{if(e=u[u.$$digestWatchIndex])if(d=e.get,(r=d(f))===(a=e.last)||(e.eq?F(r,a):Oi(r)&&Oi(a))){if(e===o){p=!1;break e}}else p=!0,o=e,e.last=e.eq?M(r,null):r,l=e.fn,l(r,a===v?r:a,f),5>E&&(m=4-E,w[m]||(w[m]=[]),w[m].push({msg:T(e.exp)?"fn: "+(e.exp.name||e.exp.toString()):e.exp,newVal:r,oldVal:a}))}catch(k){i(k)}if(!(u=!f.$$suspended&&f.$$watchersCount&&f.$$childHead||f!==y&&f.$$nextSibling))for(;f!==y&&!(u=f.$$nextSibling);)f=f.$parent}while(f=u);if((p||C.length)&&!E--)throw S.$$phase=null,n("infdig",t,w)}while(p||C.length);for(S.$$phase=null;A<P.length;)try{P[A++]()}catch(V){i(V)}P.length=A=0,c.$$checkUrlChange()},$suspend:function(){this.$$suspended=!0},$isSuspended:function(){return this.$$suspended},$resume:function(){this.$$suspended=!1},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===S&&c.$$applicationDestroyed(),m(this,-this.$$watchersCount);for(var t in this.$$listenerCount)h(this,this.$$listenerCount[t],t);e&&e.$$childHead===this&&(e.$$childHead=this.$$nextSibling),e&&e.$$childTail===this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=f,this.$on=this.$watch=this.$watchGroup=function(){return f},this.$$listeners={},this.$$nextSibling=null,u(this)}},$eval:function(e,t){return l(e)(this,t)},$evalAsync:function(e,t){S.$$phase||C.length||c.defer(function(){C.length&&S.$digest()},null,"$evalAsync"),C.push({scope:this,fn:l(e),locals:t})},$$postDigest:function(e){P.push(e)},$apply:function(e){try{g("$apply");try{return this.$eval(e)}finally{S.$$phase=null}}catch(t){i(t)}finally{try{S.$digest()}catch(n){throw i(n),n}}},$applyAsync:function(e){function t(){n.$eval(e)}var n=this;e&&_.push(t),e=l(e),w()},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var i=this;do i.$$listenerCount[e]||(i.$$listenerCount[e]=0),i.$$listenerCount[e]++;while(i=i.$parent);var r=this;return function(){ 22var i=n.indexOf(t);-1!==i&&(delete n[i],h(r,1,e))}},$emit:function(e,t){var n,r,a,o=[],s=this,l=!1,c={name:e,targetScope:s,stopPropagation:function(){l=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},d=B([c],arguments,1);do{for(n=s.$$listeners[e]||o,c.currentScope=s,r=0,a=n.length;r<a;r++)if(n[r])try{n[r].apply(null,d)}catch(u){i(u)}else n.splice(r,1),r--,a--;if(l)break;s=s.$parent}while(s);return c.currentScope=null,c},$broadcast:function(e,t){var n=this,r=this,a={name:e,targetScope:this,preventDefault:function(){a.defaultPrevented=!0},defaultPrevented:!1};if(!this.$$listenerCount[e])return a;
22for(var o,s,l=B([a],arguments,1);n=r;){for(a.currentScope=n,r=n.$$listeners[e]||[],o=0,s=r.length;o<s;o++)if(r[o])try{r[o].apply(null,l)}catch(c){i(c)}else r.splice(o,1),o--,s--;if(!(r=n.$$listenerCount[e]&&n.$$childHead||n!==this&&n.$$nextSibling))for(;n!==this&&!(r=n.$$nextSibling);)n=n.$parent}return a.currentScope=null,a}};var S=new p,C=S.$$asyncQueue=[],P=S.$$postDigestQueue=[],_=S.$$applyAsyncQueue=[],A=0;return S}]}function sn(){var e=/^\s*(https?|s?ftp|mailto|tel|file):/,t=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationTrustedUrlList=function(t){return b(t)?(e=t,this):e},this.imgSrcSanitizationTrustedUrlList=function(e){return b(e)?(t=e,this):t},this.$get=function(){return function(n,i){var r=i?t:e,a=En(n&&n.trim()).href;return""===a||a.match(r)?n:"unsafe:"+a}}}function ln(e){if("self"===e)return e;if(S(e)){if(-1<e.indexOf("***"))throw na("iwcard",e);return e=Ni(e).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+e+"$")}if(k(e))return new RegExp("^"+e.source+"$");throw na("imatcher")}function cn(e){var t=[];return b(e)&&a(e,function(e){t.push(ln(e))}),t}function dn(){this.SCE_CONTEXTS=ia;var t=["self"],n=[];this.trustedResourceUrlList=function(e){return arguments.length&&(t=cn(e)),t},Object.defineProperty(this,"resourceUrlWhitelist",{get:function(){return this.trustedResourceUrlList},set:function(e){this.trustedResourceUrlList=e}}),this.bannedResourceUrlList=function(e){return arguments.length&&(n=cn(e)),n},Object.defineProperty(this,"resourceUrlBlacklist",{get:function(){return this.bannedResourceUrlList},set:function(e){this.bannedResourceUrlList=e}}),this.$get=["$injector","$$sanitizeUri",function(i,r){function a(t,n){var i;return"self"===t?(i=yn(n,la))||(e.document.baseURI?i=e.document.baseURI:(ta||(ta=e.document.createElement("a"),ta.href=".",ta=ta.cloneNode(!1)),i=ta.href),i=yn(n,i)):i=!!t.exec(n.href),i}function o(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}var s=function(e){throw na("unsafe")};i.has("$sanitize")&&(s=i.get("$sanitize"));var l=o(),c={};return c[ia.HTML]=o(l),c[ia.CSS]=o(l),c[ia.MEDIA_URL]=o(l),c[ia.URL]=o(c[ia.MEDIA_URL]),c[ia.JS]=o(l),c[ia.RESOURCE_URL]=o(c[ia.URL]),{trustAs:function(e,t){var n=c.hasOwnProperty(e)?c[e]:null;if(!n)throw na("icontext",e,t);if(null===t||E(t)||""===t)return t;if("string"!=typeof t)throw na("itype",e);return new n(t)},getTrusted:function(e,i){if(null===i||E(i)||""===i)return i;var o=c.hasOwnProperty(e)?c[e]:null;if(o&&i instanceof o)return i.$$unwrapTrustedValue();if(T(i.$$unwrapTrustedValue)&&(i=i.$$unwrapTrustedValue()),e===ia.MEDIA_URL||e===ia.URL)return r(i.toString(),e===ia.MEDIA_URL);if(e===ia.RESOURCE_URL){var l,d,o=En(i.toString()),u=!1;for(l=0,d=t.length;l<d;l++)if(a(t[l],o)){u=!0;break}if(u)for(l=0,d=n.length;l<d;l++)if(a(n[l],o)){u=!1;break}if(u)return i;throw na("insecurl",i.toString())}if(e===ia.HTML)return s(i);throw na("unsafe")},valueOf:function(e){return e instanceof l?e.$$unwrapTrustedValue():e}}}]}function un(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sceDelegate",function(t,n){if(e&&8>mi)throw na("iequirks");var i=he(ia);i.isEnabled=function(){return e},i.trustAs=n.trustAs,i.getTrusted=n.getTrusted,i.valueOf=n.valueOf,e||(i.trustAs=i.getTrusted=function(e,t){return t},i.valueOf=m),i.parseAs=function(e,n){var r=t(n);return r.literal&&r.constant?r:t(n,function(t){return i.getTrusted(e,t)})};var r=i.parseAs,o=i.getTrusted,s=i.trustAs;return a(ia,function(e,t){var n=Si(t);i[("parse_as_"+n).replace(ra,be)]=function(t){return r(e,t)},i[("get_trusted_"+n).replace(ra,be)]=function(t){return o(e,t)},i[("trust_as_"+n).replace(ra,be)]=function(t){return s(e,t)}}),i}]}function pn(){this.$get=["$window","$document",function(e,t){var n={},i=!((!e.nw||!e.nw.process)&&e.chrome&&(e.chrome.app&&e.chrome.app.runtime||!e.chrome.app&&e.chrome.runtime&&e.chrome.runtime.id))&&e.history&&e.history.pushState,r=p((/android (\d+)/.exec(Si((e.navigator||{}
22).userAgent))||[])[1]),a=/Boxee/i.test((e.navigator||{}).userAgent),o=t[0]||{},s=o.body&&o.body.style,l=!1,c=!1;return s&&(l=!!("transition"in s||"webkitTransition"in s),c=!!("animation"in s||"webkitAnimation"in s)),{history:!(!i||4>r||a),hasEvent:function(e){if("input"===e&&mi)return!1;if(E(n[e])){var t=o.createElement("div");n[e]="on"+e in t}return n[e]},csp:$i(),transitions:l,animations:c,android:r}}]}function gn(){this.$get=h(function(e){return new fn(e)})}function fn(e){function t(){var e=r.pop();return e&&e.cb}function n(e){for(var t=r.length-1;0<=t;--t){var n=r[t];if(n.type===e)return r.splice(t,1),n.cb}}var i={},r=[],a=this.ALL_TASKS_TYPE="$$all$$",o=this.DEFAULT_TASK_TYPE="$$default$$";this.completeTask=function(r,s){s=s||o;try{r()}finally{var l;l=s||o,i[l]&&(i[l]--,i[a]--),l=i[s];var c=i[a];if(!c||!l)for(l=c?n:t;c=l(s);)try{c()}catch(d){e.error(d)}}},this.incTaskCount=function(e){e=e||o,i[e]=(i[e]||0)+1,i[a]=(i[a]||0)+1},this.notifyWhenNoPendingTasks=function(e,t){t=t||a,i[t]?r.push({type:t,cb:e}):e()}}function mn(){var e;this.httpOptions=function(t){return t?(e=t,this):e},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function(t,n,i,r,a){function o(s,l){o.totalPendingRequests++,S(s)&&!E(n.get(s))||(s=a.getTrustedResourceUrl(s));var c=i.defaults&&i.defaults.transformResponse;return _(c)?c=c.filter(function(e){return e!==bt}):c===bt&&(c=null),i.get(s,d({cache:n,transformResponse:c},e))["finally"](function(){o.totalPendingRequests--}).then(function(e){return n.put(s,e.data)},function(e){return l||(e=aa("tpload",s,e.status,e.statusText),t(e)),r.reject(e)})}return o.totalPendingRequests=0,o}]}function hn(){this.$get=["$rootScope","$browser","$location",function(e,t,n){return{findBindings:function(e,t,n){e=e.getElementsByClassName("ng-binding");var i=[];return a(e,function(e){var r=Ii.element(e).data("$binding");r&&a(r,function(r){n?new RegExp("(^|\\s)"+Ni(t)+"(\\s|\\||$)").test(r)&&i.push(e):-1!==r.indexOf(t)&&i.push(e)})}),i},findModels:function(e,t,n){for(var i=["ng-","data-ng-","ng\\:"],r=0;r<i.length;++r){var a=e.querySelectorAll("["+i[r]+"model"+(n?"=":"*=")+'"'+t+'"]');if(a.length)return a}},getLocation:function(){return n.url()},setLocation:function(t){t!==n.url()&&(n.url(t),e.$digest())},whenStable:function(e){t.notifyWhenNoOutstandingRequests(e)}}}]}function vn(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(e,t,n,i,r){function a(a,s,l){T(a)||(l=s,s=a,a=f);var c,d=Pi.call(arguments,3),u=b(l)&&!l,p=(u?i:n).defer(),g=p.promise;return c=t.defer(function(){try{p.resolve(a.apply(null,d))}catch(t){p.reject(t),r(t)}finally{delete o[g.$$timeoutId]}u||e.$apply()},s,"$timeout"),g.$$timeoutId=c,o[c]=p,g}var o={};return a.cancel=function(e){if(!e)return!1;if(!e.hasOwnProperty("$$timeoutId"))throw oa("badprom");if(!o.hasOwnProperty(e.$$timeoutId))return!1;e=e.$$timeoutId;var n=o[e],i=n.promise;return i.$$state&&(i.$$state.pur=!0),n.reject("canceled"),delete o[e],t.defer.cancel(e)},a}]}function En(e){return S(e)?(mi&&(sa.setAttribute("href",e),e=sa.href),sa.setAttribute("href",e),e=sa.hostname,!ca&&-1<e.indexOf(":")&&(e="["+e+"]"),{href:sa.href,protocol:sa.protocol?sa.protocol.replace(/:$/,""):"",host:sa.host,search:sa.search?sa.search.replace(/^\?/,""):"",hash:sa.hash?sa.hash.replace(/^#/,""):"",hostname:e,port:sa.port,pathname:"/"===sa.pathname.charAt(0)?sa.pathname:"/"+sa.pathname}):e}function bn(e){var t=[la].concat(e.map(En));return function(e){return e=En(e),t.some(yn.bind(null,e))}}function yn(e,t){return e=En(e),t=En(t),e.protocol===t.protocol&&e.host===t.host}function wn(){this.$get=h(e)}function Sn(e){function t(e){try{return decodeURIComponent(e)}catch(t){return e}}var n=e[0]||{},i={},r="";return function(){var e,a,o,s,l;try{e=n.cookie||""}catch(c){e=""}if(e!==r)for(r=e,e=r.split("; "),i={},o=0;o<e.length;o++)a=e[o],s=a.indexOf("="),0<s&&(l=t(a.substring(0,s)),E(i[l])&&(i[l]=t(a.substring(s+1))));return i}}function Cn(){this.$get=Sn}function Pn(e){function t(n,i){if(y(n)){var r={};return a(n,function(e,n){r[n]=t(n,e)}),r}return e.factory(n+"Filter",i)}this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+"Filter")}}],t("currency",Vn),t("date",Bn),t("filter",_n),t("json",Gn),t("limitTo",Un),t("lowercase",ha),t("number",In),t("orderBy",Wn),t("uppercase",va)}function _n(){return function(e,t,n,a){if(!r(e)){if(null==e)return e;throw i("filter")("notarray",e)}a=a||"$";var o;switch(kn(t)){case"function":break;case"boolean":case"null":case"number":case"string":o=!0;case"object":t=An(t,n,a,o);break;default:return e}return Array.prototype.filter.call(e,t)}}function An(e,t,n,i){var r=y(e)&&n in e;return!0===t?t=F:T(t)||(t=function(e,t){return!E(e)&&(null===e||null===t?e===t:!(y(t)||y(e)&&!v(e))&&(e=Si(""+e),t=Si(""+t),-1!==e.indexOf(t)))}),function(a){return r&&!y(a)?Tn(a,e[n],t,n,!1):Tn(a,e,t,n,i)}}function Tn(e,t,n,i,r,a){var o=kn(e),s=kn(t);if("string"===s&&"!"===t.charAt(0))return!Tn(e,t.substring(1),n,i,r);if(_(e))return e.some(function(e){return Tn(e,t,n,i,r)});switch(o){case"object":var l;if(r){for(l in e)if(l.charAt&&"$"!==l.charAt(0)&&Tn(e[l],t,n,i,!0))return!0;return!a&&Tn(e,t,n,i,!1)}if("object"===s){for(l in t)if(a=t[l],!T(a)&&!E(a)&&(o=l===i,!Tn(o?e:e[l],a,n,i,o,o)))return!1;return!0}return n(e,t);case"function":return!1;default:return n(e,t)}}function kn(e){return null===e?"null":typeof e}function Vn(e){var t=e.NUMBER_FORMATS;return function(e,n,i){E(n)&&(n=t.CURRENCY_SYM),E(i)&&(i=t.PATTERNS[1].maxFrac);var r=n?/\u00A4/g:/\s*\u00A4\s*/g;return null==e?e:Dn(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,i).replace(r,n)}}function In(e){var t=e.NUMBER_FORMATS;return function(e,n){return null==e?e:Dn(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function Ln(e){var t,n,i,r,a,o=0;for(-1<(n=e.indexOf(ua))&&(e=e.replace(ua,"")),0<(i=e.search(/e/i))?(0>n&&(n=i),n+=+e.slice(i+1),e=e.substring(0,i)):0>n&&(n=e.length),i=0;e.charAt(i)===pa;i++);if(i===(a=e.length))t=[0],n=1;else{for(a--;e.charAt(a)===pa;)a--;for(n-=i,t=[],r=0;i<=a;i++,r++)t[r]=+e.charAt(i)}return n>da&&(t=t.splice(0,da-1),o=n-1,n=1),{d:t,e:o,i:n}}function On(e,t,n,i){var r=e.d,a=r.length-e.i;if(t=E(t)?Math.min(Math.max(n,a),i):+t,n=t+e.i,i=r[n],0<n){r.splice(Math.max(e.i,n));for(var o=n;o<r.length;o++)r[o]=0}else for(a=Math.max(0,a),e.i=1,r.length=Math.max(1,n=t+1),r[0]=0,o=1;o<n;o++)r[o]=0;if(5<=i)if(0>n-1){for(i=0;i>n;
22i--)r.unshift(0),e.i++;r.unshift(1),e.i++}else r[n-1]++;for(;a<Math.max(0,t);a++)r.push(0);(t=r.reduceRight(function(e,t,n,i){return t+=e,i[n]=t%10,Math.floor(t/10)},0))&&(r.unshift(t),e.i++)}function Dn(e,t,n,i,r){if(!S(e)&&!C(e)||isNaN(e))return"";var a=!isFinite(e),o=!1,s=Math.abs(e)+"",l="";if(a)l="â";else{for(o=Ln(s),On(o,r,t.minFrac,t.maxFrac),l=o.d,s=o.i,r=o.e,a=[],o=l.reduce(function(e,t){return e&&!t},!0);0>s;)l.unshift(0),s++;for(0<s?a=l.splice(s,l.length):(a=l,l=[0]),s=[],l.length>=t.lgSize&&s.unshift(l.splice(-t.lgSize,l.length).join(""));l.length>t.gSize;)s.unshift(l.splice(-t.gSize,l.length).join(""));l.length&&s.unshift(l.join("")),l=s.join(n),a.length&&(l+=i+a.join("")),r&&(l+="e+"+r)}return 0>e&&!o?t.negPre+l+t.negSuf:t.posPre+l+t.posSuf}function Rn(e,t,n,i){var r="";for((0>e||i&&0>=e)&&(i?e=-e+1:(e=-e,r="-")),e=""+e;e.length<t;)e=pa+e;return n&&(e=e.substr(e.length-t)),r+e}function Nn(e,t,n,i,r){return n=n||0,function(a){return a=a["get"+e](),(0<n||a>-n)&&(a+=n),0===a&&-12===n&&(a=12),Rn(a,t,i,r)}}function $n(e,t,n){return function(i,r){var a=i["get"+e](),o=Ci((n?"STANDALONE":"")+(t?"SHORT":"")+e);return r[o][a]}}function Mn(e){var t=new Date(e,0,1).getDay();return new Date(e,0,(4>=t?5:12)-t)}function xn(e){return function(t){var n=Mn(t.getFullYear());return t=+new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))-+n,t=1+Math.round(t/6048e5),Rn(t,e)}}function Fn(e,t){return 0>=e.getFullYear()?t.ERAS[0]:t.ERAS[1]}function Bn(e){function t(e){var t;if(t=e.match(n)){e=new Date(0);var i=0,r=0,a=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(i=p(t[9]+t[10]),r=p(t[9]+t[11])),a.call(e,p(t[1]),p(t[2])-1,p(t[3])),i=p(t[4]||0)-i,r=p(t[5]||0)-r,a=p(t[6]||0),t=Math.round(1e3*parseFloat("0."+(t[7]||0))),o.call(e,i,r,a,t)}return e}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,i,r){var o,s,l="",c=[];if(i=i||"mediumDate",i=e.DATETIME_FORMATS[i]||i,S(n)&&(n=ma.test(n)?p(n):t(n)),C(n)&&(n=new Date(n)),!P(n)||!isFinite(n.getTime()))return n;for(;i;)(s=fa.exec(i))?(c=B(c,s,1),i=c.pop()):(c.push(i),i=null);var d=n.getTimezoneOffset();return r&&(d=q(r,d),n=Y(n,r,!0)),a(c,function(t){o=ga[t],l+=o?o(n,e.DATETIME_FORMATS,d):"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),l}}function Gn(){return function(e,t){return E(t)&&(t=2),H(e,t)}}function Un(){return function(e,t,n){return t=1/0===Math.abs(Number(t))?Number(t):p(t),Oi(t)?e:(C(e)&&(e=e.toString()),r(e)?(n=!n||isNaN(n)?0:p(n),n=0>n?Math.max(0,e.length+n):n,0<=t?Hn(e,n,n+t):0===n?Hn(e,t,e.length):Hn(e,Math.max(0,n+t),n)):e)}}function Hn(e,t,n){return S(e)?e.slice(t,n):Pi.call(e,t,n)}function Wn(e){function t(t){return t.map(function(t){var n=1,i=m;if(T(t))i=t;else if(S(t)&&("+"!==t.charAt(0)&&"-"!==t.charAt(0)||(n="-"===t.charAt(0)?-1:1,t=t.substring(1)),""!==t&&(i=e(t),i.constant)))var r=i(),i=function(e){return e[r]};return{get:i,descending:n}})}function n(e){switch(typeof e){case"number":case"boolean":case"string":return!0;default:return!1}}function a(e,t){var n=0,i=e.type,r=t.type;if(i===r){var r=e.value,a=t.value;"string"===i?(r=r.toLowerCase(),a=a.toLowerCase()):"object"===i&&(y(r)&&(r=e.index),y(a)&&(a=t.index)),r!==a&&(n=r<a?-1:1)}else n="undefined"===i?1:"undefined"===r?-1:"null"===i?1:"null"===r?-1:i<r?-1:1;return n}return function(e,o,s,l){if(null==e)return e;if(!r(e))throw i("orderBy")("notarray",e);_(o)||(o=[o]),0===o.length&&(o=["+"]);var c=t(o),d=s?-1:1,u=T(l)?l:a;return e=Array.prototype.map.call(e,function(e,t){return{value:e,tieBreaker:{value:t,type:"number",index:t},predicateValues:c.map(function(i){var r=i.get(e);return i=typeof r,null===r?i="null":"object"===i&&(T(r.valueOf)&&(r=r.valueOf(),n(r))||v(r)&&(r=r.toString(),n(r))),{value:r,type:i,index:t}})}}),e.sort(function(e,t){for(var n=0,i=c.length;n<i;n++){var r=u(e.predicateValues[n],t.predicateValues[n]);if(r)return r*c[n].descending*d}return(u(e.tieBreaker,t.tieBreaker)||a(e.tieBreaker,t.tieBreaker))*d}),e=e.map(function(e){return e.value})}}function qn(e){return T(e)&&(e={link:e}),e.restrict=e.restrict||"AC",h(e)}function jn(e,t,n,i,r){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=r(t.name||t.ngForm||"")(n),this.$dirty=!1,this.$valid=this.$pristine=!0,this.$submitted=this.$invalid=!1,this.$$parentForm=ya,this.$$element=e,this.$$animate=i,Yn(this)}function Yn(e){e.$$classCache={},e.$$classCache[no]=!(e.$$classCache[to]=e.$$element.hasClass(to))}function zn(e){function t(e,t,n){n&&!e.$$classCache[t]?(e.$$animate.addClass(e.$$element,t),e.$$classCache[t]=!0):!n&&e.$$classCache[t]&&(e.$$animate.removeClass(e.$$element,t),e.$$classCache[t]=!1)}
22function n(e,n,i){n=n?"-"+ae(n,"-"):"",t(e,to+n,!0===i),t(e,no+n,!1===i)}var i=e.set,r=e.unset;e.clazz.prototype.$setValidity=function(e,a,o){E(a)?(this.$pending||(this.$pending={}),i(this.$pending,e,o)):(this.$pending&&r(this.$pending,e,o),Kn(this.$pending)&&(this.$pending=void 0)),L(a)?a?(r(this.$error,e,o),i(this.$$success,e,o)):(i(this.$error,e,o),r(this.$$success,e,o)):(r(this.$error,e,o),r(this.$$success,e,o)),this.$pending?(t(this,"ng-pending",!0),this.$valid=this.$invalid=void 0,n(this,"",null)):(t(this,"ng-pending",!1),this.$valid=Kn(this.$error),this.$invalid=!this.$valid,n(this,"",this.$valid)),a=this.$pending&&this.$pending[e]?void 0:!this.$error[e]&&(!!this.$$success[e]||null),n(this,e,a),this.$$parentForm.$setValidity(e,a,this)}}function Kn(e){if(e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}function Jn(e){e.$formatters.push(function(t){return e.$isEmpty(t)?t:t.toString()})}function Zn(e,t,n,i,r,a){var o=Si(t[0].type);if(!r.android){var s=!1;t.on("compositionstart",function(){s=!0}),t.on("compositionupdate",function(e){(E(e.data)||""===e.data)&&(s=!1)}),t.on("compositionend",function(){s=!1,c()})}var l,c=function(e){if(l&&(a.defer.cancel(l),l=null),!s){var r=t.val();e=e&&e.type,"password"===o||n.ngTrim&&"false"===n.ngTrim||(r=Ri(r)),(i.$viewValue!==r||""===r&&i.$$hasNativeValidators)&&i.$setViewValue(r,e)}};if(r.hasEvent("input"))t.on("input",c);else{var d=function(e,t,n){l||(l=a.defer(function(){l=null,t&&t.value===n||c(e)}))};t.on("keydown",function(e){var t=e.keyCode;91===t||15<t&&19>t||37<=t&&40>=t||d(e,this,this.value)}),r.hasEvent("paste")&&t.on("paste cut drop",d)}t.on("change",c),Da[o]&&i.$$hasNativeValidators&&o===n.type&&t.on("keydown wheel mousedown",function(e){if(!l){var t=this.validity,n=t.badInput,i=t.typeMismatch;l=a.defer(function(){l=null,t.badInput===n&&t.typeMismatch===i||c(e)})}}),i.$render=function(){var e=i.$isEmpty(i.$viewValue)?"":i.$viewValue;t.val()!==e&&t.val(e)}}function Xn(e,t){return function(n,i){var r,o;if(P(n))return n;if(S(n)){if('"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),Pa.test(n))return new Date(n);if(e.lastIndex=0,r=e.exec(n))return r.shift(),o=i?{yyyy:i.getFullYear(),MM:i.getMonth()+1,dd:i.getDate(),HH:i.getHours(),mm:i.getMinutes(),ss:i.getSeconds(),sss:i.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0}
22,a(r,function(e,n){n<t.length&&(o[t[n]]=+e)}),r=new Date(o.yyyy,o.MM-1,o.dd,o.HH,o.mm,o.ss||0,1e3*o.sss||0),100>o.yyyy&&r.setFullYear(o.yyyy),r}return NaN}}function Qn(e,t,n,i){return function(r,a,o,s,l,c,d,u){function p(e){return e&&!(e.getTime&&e.getTime()!==e.getTime())}function g(e){return b(e)&&!P(e)?f(e)||void 0:e}function f(e,t){var i=s.$options.getOption("timezone");h&&h!==i&&(t=j(t,q(h)));var r=n(e,t);return!isNaN(r)&&i&&(r=Y(r,i)),r}ei(r,a,o,s,e),Zn(r,a,o,s,l,c);var m,h,v="time"===e||"datetimelocal"===e;if(s.$parsers.push(function(n){return s.$isEmpty(n)?null:t.test(n)?f(n,m):void(s.$$parserName=e)}),s.$formatters.push(function(e){if(e&&!P(e))throw ao("datefmt",e);if(p(e)){m=e;var t=s.$options.getOption("timezone");t&&(h=t,m=Y(m,t,!0));var n=i;return v&&S(s.$options.getOption("timeSecondsFormat"))&&(n=i.replace("ss.sss",s.$options.getOption("timeSecondsFormat")).replace(/:$/,"")),e=d("date")(e,n,t),v&&s.$options.getOption("timeStripZeroSeconds")&&(e=e.replace(/(?::00)?(?:\.000)?$/,"")),e}return h=m=null,""}),b(o.min)||o.ngMin){var y=o.min||u(o.ngMin)(r),w=g(y);s.$validators.min=function(e){return!p(e)||E(w)||n(e)>=w},o.$observe("min",function(e){e!==y&&(w=g(e),y=e,s.$validate())})}if(b(o.max)||o.ngMax){var C=o.max||u(o.ngMax)(r),_=g(C);s.$validators.max=function(e){return!p(e)||E(_)||n(e)<=_},o.$observe("max",function(e){e!==C&&(_=g(e),C=e,s.$validate())})}}}function ei(e,t,n,i,r){(i.$$hasNativeValidators=y(t[0].validity))&&i.$parsers.push(function(e){var n=t.prop("validity")||{};return n.badInput||n.typeMismatch?void(i.$$parserName=r):e})}function ti(e){e.$parsers.push(function(t){return e.$isEmpty(t)?null:Ta.test(t)?parseFloat(t):void(e.$$parserName="number")}),e.$formatters.push(function(t){if(!e.$isEmpty(t)){if(!C(t))throw ao("numfmt",t);t=t.toString()}return t})}function ni(e){return b(e)&&!C(e)&&(e=parseFloat(e)),Oi(e)?void 0:e}function ii(e){var t=e.toString(),n=t.indexOf(".");return-1===n?-1<e&&1>e&&(e=/e-(\d+)$/.exec(t))?Number(e[1]):0:t.length-n-1}function ri(e,t,n){e=Number(e);var i=(0|e)!==e,r=(0|t)!==t,a=(0|n)!==n;if(i||r||a){var o=i?ii(e):0,s=r?ii(t):0,l=a?ii(n):0,o=Math.max(o,s,l),o=Math.pow(10,o);e*=o,t*=o,n*=o,i&&(e=Math.round(e)),r&&(t=Math.round(t)),a&&(n=Math.round(n))}return 0===(e-t)%n}function ai(e,t,n,i,r){if(b(i)){if(e=e(i),!e.constant)throw ao("constexpr",n,i);return e(t)}return r}function oi(e,t){function n(e,t){if(!e||!e.length)return[];if(!t||!t.length)return e;var n=[],i=0;e:for(;i<e.length;i++){for(var r=e[i],a=0;a<t.length;a++)if(r===t[a])continue e;n.push(r)}return n}function i(e){if(!e)return e;var t=e;return _(e)?t=e.map(i).join(" "):y(e)?t=Object.keys(e).filter(function(t){return e[t]}).join(" "):S(e)||(t=e+""),t}e="ngClass"+e;var r;return["$parse",function(o){return{restrict:"AC",link:function(s,l,c){function d(e,t){var n=[];return a(e,function(e){(0<t||g[e])&&(g[e]=(g[e]||0)+t,g[e]===+(0<t)&&n.push(e))}),n.join(" ")}function u(e){if(e===t){var n=p,n=d(n&&n.split(" "),1);c.$addClass(n)}else n=p,n=d(n&&n.split(" "),-1),c.$removeClass(n);f=e}var p,g=l.data("$classCounts"),f=!0;g||(g=ge(),l.data("$classCounts",g)),"ngClass"!==e&&(r||(r=o("$index",function(e){return 1&e})),s.$watch(r,u)),s.$watch(o(c[e],i),function(e){if(f===t){var i=p&&p.split(" "),r=e&&e.split(" "),a=n(i,r),i=n(r,i),a=d(a,-1),i=d(i,1);c.$addClass(i),c.$removeClass(a)}p=e})}}}]}function si(e,t,n,i,r,a){return{restrict:"A",compile:function(o,s){var l=e(s[i]);return function(e,i){i.on(r,function(i){var r=function(){l(e,{$event:i})};if(t.$$phase)if(a)e.$evalAsync(r);else try{r()}catch(o){n(o)}else e.$apply(r)})}}}}function li(e,t,n,i,r,a,o,s,l){this.$modelValue=this.$viewValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=l(n.name||"",!1)(e),this.$$parentForm=ya,this.$options=oo,this.$$updateEvents="",this.$$updateEventHandler=this.$$updateEventHandler.bind(this),this.$$parsedNgModel=r(n.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$parserName="parse",this.$$currentValidationRunId=0,this.$$scope=e,this.$$rootScope=e.$root,this.$$attr=n,this.$$element=i,this.$$animate=a,this.$$timeout=o,this.$$parse=r,this.$$q=s,this.$$exceptionHandler=t,Yn(this),ci(this)}function ci(e){e.$$scope.$watch(function(t){return t=e.$$ngModelGet(t),t===e.$modelValue||e.$modelValue!==e.$modelValue&&t!==t||e.$$setModelValue(t),t})}function di(e){this.$$options=e}function ui(e,t){a(t,function(t,n){b(e[n])||(e[n]=t)})}function pi(e,t){e.prop("selected",t),e.attr("selected",t)}function gi(e,t,n){if(e){if(S(e)&&(e=new RegExp("^"+e+"$")),!e.test)throw i("ngPattern")("noregexp",t,e,z(n));return e}}function fi(e){return e=p(e),Oi(e)?-1:e}
22var mi,hi,vi,Ei,bi={objectMaxDepth:5,urlErrorParamsEnabled:!0},yi=/^\/(.+)\/([a-z]*)$/,wi=Object.prototype.hasOwnProperty,Si=function(e){return S(e)?e.toLowerCase():e},Ci=function(e){return S(e)?e.toUpperCase():e},Pi=[].slice,_i=[].splice,Ai=[].push,Ti=Object.prototype.toString,ki=Object.getPrototypeOf,Vi=i("ng"),Ii=e.angular||(e.angular={}),Li=0;mi=e.document.documentMode;var Oi=Number.isNaN||function(e){return e!==e};f.$inject=[],m.$inject=[];var Di=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,Ri=function(e){return S(e)?e.trim():e},Ni=function(e){return e.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},$i=function(){if(!b($i.rules)){var t=e.document.querySelector("[ng-csp]")||e.document.querySelector("[data-ng-csp]");if(t){var n=t.getAttribute("ng-csp")||t.getAttribute("data-ng-csp");$i.rules={noUnsafeEval:!n||-1!==n.indexOf("no-unsafe-eval"),noInlineStyle:!n||-1!==n.indexOf("no-inline-style")}}else{t=$i;try{new Function(""),n=!1}catch(i){n=!0}t.rules={noUnsafeEval:n,noInlineStyle:!1}}}return $i.rules},Mi=function(){if(b(Mi.name_))return Mi.name_;var t,n,i,r,a=Fi.length;for(n=0;n<a;++n)if(i=Fi[n],t=e.document.querySelector("["+i.replace(":","\\:")+"jq]")){r=t.getAttribute(i+"jq");break}return Mi.name_=r},xi=/:/g,Fi=["ng-","data-ng-","ng:","x-ng-"],Bi=function(t){var n=t.currentScript;return!n||(n instanceof e.HTMLScriptElement||n instanceof e.SVGScriptElement)&&(n=n.attributes,[n.getNamedItem("src"),n.getNamedItem("href"),n.getNamedItem("xlink:href")].every(function(e){if(!e)return!0;if(!e.value)return!1;var n=t.createElement("a");if(n.href=e.value,t.location.origin===n.origin)return!0;switch(n.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}}))}(e.document),Gi=/[A-Z]/g,Ui=!1,Hi=3,Wi={full:"1.8.2",major:1,minor:8,dot:2,codeName:"meteoric-mining"};Ce.expando="ng339";var qi=Ce.cache={},ji=1;Ce._data=function(e){return this.cache[e[this.expando]]||{}};
22var Yi=/-([a-z])/g,zi=/^-ms-/,Ki={mouseleave:"mouseout",mouseenter:"mouseover"},Ji=i("jqLite"),Zi=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Xi=/<|&#?\w+;/,Qi=/<([\w:-]+)/,er=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,tr={thead:["table"],col:["colgroup","table"],tr:["tbody","table"],td:["tr","tbody","table"]};tr.tbody=tr.tfoot=tr.colgroup=tr.caption=tr.thead,tr.th=tr.td;var nr,ir={option:[1,'<select multiple="multiple">',"</select>"],_default:[0,"",""]};for(nr in tr){var rr=tr[nr],ar=rr.slice().reverse();ir[nr]=[ar.length,"<"+ar.join("><")+">","</"+rr.join("></")+">"]}ir.optgroup=ir.option;var or=e.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))},sr=Ce.prototype={ready:Ge,toString:function(){var e=[];return a(this,function(t){e.push(""+t)}),"["+e.join(", ")+"]"},eq:function(e){return hi(0<=e?this[e]:this[this.length+e])},length:0,push:Ai,sort:[].sort,splice:[].splice},lr={};a("multiple selected checked disabled readOnly required open".split(" "),function(e){lr[Si(e)]=e});var cr={};a("input select option textarea button form details".split(" "),function(e){cr[e]=!0});var dr={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};a({data:Le,removeData:Ve,hasData:function(e){for(var t in qi[e.ng339])return!0;return!1},cleanData:function(e){for(var t=0,n=e.length;t<n;t++)Ve(e[t]),ke(e[t])}},function(e,t){Ce[t]=e}),a({data:Le,inheritedData:Me,scope:function(e){return hi.data(e,"$scope")||Me(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return hi.data(e,"$isolateScope")||hi.data(e,"$isolateScopeNoTemplate")},controller:$e,injector:function(e){return Me(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:Oe,css:function(e,t,n){return t=ye(t.replace(zi,"ms-")),b(n)?void(e.style[t]=n):e.style[t]},attr:function(e,t,n){var i=e.nodeType;if(i!==Hi&&2!==i&&8!==i&&e.getAttribute){var i=Si(t),r=lr[i];if(!b(n))return e=e.getAttribute(t),r&&null!==e&&(e=i),null===e?void 0:e;null===n||!1===n&&r?e.removeAttribute(t):e.setAttribute(t,r?i:n)}},prop:function(e,t,n){return b(n)?void(e[t]=n):e[t]},text:function(){function e(e,t){if(E(t)){var n=e.nodeType;return 1===n||n===Hi?e.textContent:""}e.textContent=t}return e.$dv="",e}(),val:function(e,t){if(E(t)){if(e.multiple&&"select"===N(e)){var n=[];return a(e.options,function(e){e.selected&&n.push(e.value||e.text)}),n}return e.value}e.value=t},html:function(e,t){return E(t)?e.innerHTML:(_e(e,!0),void(e.innerHTML=t))},empty:xe},function(e,t){Ce.prototype[t]=function(t,n){var i,r,a=this.length;if(e!==xe&&E(2===e.length&&e!==Oe&&e!==$e?t:n)){if(y(t)){for(i=0;i<a;i++)if(e===Le)e(this[i],t);else for(r in t)e(this[i],r,t[r]);return this}for(i=e.$dv,a=E(i)?Math.min(a,1):a,r=0;r<a;r++){var o=e(this[r],t,n);i=i?i+o:o}return i}for(i=0;i<a;i++)e(this[i],t,n);return this}}),a({removeData:Ve,on:function(e,t,n,i){if(b(i))throw Ji("onargs");if(we(e)){i=Ie(e,!0);var r=i.events,a=i.handle;a||(a=i.handle=He(e,r)),i=0<=t.indexOf(" ")?t.split(" "):[t];for(var o=i.length,s=function(t,i,o){var s=r[t];s||(s=r[t]=[],s.specialHandlerWrapper=i,"$destroy"===t||o||e.addEventListener(t,a)),s.push(n)};o--;)t=i[o],Ki[t]?(s(Ki[t],qe),s(t,void 0,!0)):s(t)}},off:ke,one:function(e,t,n){e=hi(e),e.on(t,function i(){e.off(t,n),e.off(t,i)}),e.on(t,n)},replaceWith:function(e,t){var n,i=e.parentNode;_e(e),a(new Ce(t),function(t){n?i.insertBefore(t,n.nextSibling):i.replaceChild(t,e),n=t})},children:function(e){var t=[];return a(e.childNodes,function(e){1===e.nodeType&&t.push(e)}),t},contents:function(e){return e.contentDocument||e.childNodes||[]},append:function(e,t){var n=e.nodeType;if(1===n||11===n){t=new Ce(t);for(var n=0,i=t.length;n<i;n++)e.appendChild(t[n])}},prepend:function(e,t){if(1===e.nodeType){var n=e.firstChild;a(new Ce(t),function(t){e.insertBefore(t,n)})}},wrap:function(e,t){var n=hi(t).eq(0).clone()[0],i=e.parentNode;i&&i.replaceChild(n,e),n.appendChild(e)},remove:Fe,detach:function(e){Fe(e,!0)},after:function(e,t){var n=e,i=e.parentNode;if(i){t=new Ce(t);for(var r=0,a=t.length;r<a;r++){var o=t[r];i.insertBefore(o,n.nextSibling),n=o}}},addClass:Re,removeClass:De,toggleClass:function(e,t,n){t&&a(t.split(" "),function(t){var i=n;E(i)&&(i=!Oe(e,t)),(i?Re:De)(e,t)})},parent:function(e){return(e=e.parentNode)&&11!==e.nodeType?e:null},next:function(e){return e.nextElementSibling},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:Pe,triggerHandler:function(e,t,n){var i,r,o=t.type||t,s=Ie(e);(s=(s=s&&s.events)&&s[o])&&(i={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:f,type:o,target:e}
22,t.type&&(i=d(i,t)),t=he(s),r=n?[i].concat(n):[i],a(t,function(t){i.isImmediatePropagationStopped()||t.apply(e,r)}))}},function(e,t){Ce.prototype[t]=function(t,n,i){for(var r,a=0,o=this.length;a<o;a++)E(r)?(r=e(this[a],t,n,i),b(r)&&(r=hi(r))):Ne(r,e(this[a],t,n,i));return b(r)?r:this}}),Ce.prototype.bind=Ce.prototype.on,Ce.prototype.unbind=Ce.prototype.off;var ur=Object.create(null);ze.prototype={_idx:function(e){return e!==this._lastKey&&(this._lastKey=e,this._lastIndex=this._keys.indexOf(e)),this._lastIndex},_transformKey:function(e){return Oi(e)?ur:e},get:function(e){if(e=this._transformKey(e),e=this._idx(e),-1!==e)return this._values[e]},has:function(e){return e=this._transformKey(e),-1!==this._idx(e)},set:function(e,t){e=this._transformKey(e);var n=this._idx(e);-1===n&&(n=this._lastIndex=this._keys.length),this._keys[n]=e,this._values[n]=t},"delete":function(e){return e=this._transformKey(e),e=this._idx(e),-1!==e&&(this._keys.splice(e,1),this._values.splice(e,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};var pr=ze,gr=[function(){this.$get=[function(){return pr}]}],fr=/^([^(]+?)=>/,mr=/^[^(]*\(\s*([^)]*)\)/m,hr=/,/,vr=/^\s*(_?)(\S+?)\1\s*$/,Er=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,br=i("$injector");Ze.$$annotate=function(e,t,n){var i;if("function"==typeof e){if(!(i=e.$inject)){if(i=[],e.length){if(t)throw S(n)&&n||(n=e.name||Je(e)),br("strictdi",n);t=Ke(e),a(t[1].split(hr),function(e){e.replace(vr,function(e,t,n){i.push(n)})})}e.$inject=i}}else _(e)?(t=e.length-1,ce(e[t],"fn"),i=e.slice(0,t)):ce(e,"fn",!0);return i};var yr=i("$animate"),wr=function(){this.$get=f},Sr=function(){var e=new pr,t=[];this.$get=["$$AnimateRunner","$rootScope",function(n,i){function r(e,t,n){var i=!1;return t&&(t=S(t)?t.split(" "):_(t)?t:[],a(t,function(t){t&&(i=!0,e[t]=n)})),i}function o(){a(t,function(t){ 23var n=e.get(t);if(n){var i=et(t.attr("class")),r="",o="";a(n,function(e,t){e!==!!i[t]&&(e?r+=(r.length?" ":"")+t:o+=(o.length?" ":"")+t)}),a(t,function(e){r&&Re(e,r),o&&De(e,o)}),e["delete"](t)}}),t.length=0}return{enabled:f,on:f,off:f,pin:f,push:function(a,s,l,c){return c&&c(),l=l||{},l.from&&a.css(l.from),l.to&&a.css(l.to),(l.addClass||l.removeClass)&&(s=l.addClass,c=l.removeClass,l=e.get(a)||{},s=r(l,s,!0),c=r(l,c,!1),(s||c)&&(e.set(a,l),t.push(a),1===t.length&&i.$$postDigest(o))),a=new n,a.complete(),a}}}]},Cr=["$provide",function(e){var t=this,n=null,i=null;this.$$registeredAnimations=Object.create(null),this.register=function(n,i){if(n&&"."!==n.charAt(0))throw yr("notcsel",n);var r=n+"-animation";t.$$registeredAnimations[n.substr(1)]=r,e.factory(r,i)},this.customFilter=function(e){return 1===arguments.length&&(i=T(e)?e:null),i},this.classNameFilter=function(e){if(1===arguments.length&&(n=e instanceof RegExp?e:null)&&/[(\s|\/)]ng-animate[(\s|\/)]/.test(n.toString()))throw n=null,yr("nongcls","ng-animate");return n},this.$get=["$$animateQueue",function(e){function t(e,t,n){if(n){var i;e:{for(i=0;i<n.length;i++){var r=n[i];if(1===r.nodeType){i=r;break e}}i=void 0}!i||i.parentNode||i.previousElementSibling||(n=null)}n?n.after(e):t.prepend(e)}return{on:e.on,off:e.off,pin:e.pin,enabled:e.enabled,cancel:function(e){e.cancel&&e.cancel()},enter:function(n,i,r,a){return i=i&&hi(i),r=r&&hi(r),i=i||r.parent(),t(n,i,r),e.push(n,"enter",tt(a))},move:function(n,i,r,a){return i=i&&hi(i),r=r&&hi(r),i=i||r.parent(),t(n,i,r),e.push(n,"move",tt(a))},leave:function(t,n){return e.push(t,"leave",tt(n),function(){t.remove()})},addClass:function(t,n,i){return i=tt(i),i.addClass=Qe(i.addclass,n),e.push(t,"addClass",i)},removeClass:function(t,n,i){return i=tt(i),i.removeClass=Qe(i.removeClass,n),e.push(t,"removeClass",i)},setClass:function(t,n,i,r){return r=tt(r),r.addClass=Qe(r.addClass,n),r.removeClass=Qe(r.removeClass,i),e.push(t,"setClass",r)},animate:function(t,n,i,r,a){return a=tt(a),a.from=a.from?d(a.from,n):n,a.to=a.to?d(a.to,i):i,a.tempClasses=Qe(a.tempClasses,r||"ng-inline-animate"),e.push(t,"animate",a)}}}]}],Pr=function(){this.$get=["$$rAF",function(e){function t(t){n.push(t),1<n.length||e(function(){for(var e=0;e<n.length;e++)n[e]();n=[]})}var n=[];return function(){var e=!1;return t(function(){e=!0}),function(n){e?n():t(n)}}}]},_r=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(e,t,n,i,r){function o(e){this.setHost(e);var t=n();this._doneCallbacks=[],this._tick=function(e){i()?r(e,0,!1):t(e)},this._state=0}return o.chain=function(e,t){function n(){i===e.length?t(!0):e[i](function(e){!1===e?t(!1):(i++,n())})}var i=0;n()},o.all=function(e,t){function n(n){r=r&&n,++i===e.length&&t(r)}var i=0,r=!0;a(e,function(e){e.done(n)})},o.prototype={setHost:function(e){this.host=e||{}},done:function(e){2===this._state?e():this._doneCallbacks.push(e)},progress:f,getPromise:function(){if(!this.promise){var t=this;this.promise=e(function(e,n){t.done(function(t){!1===t?n():e()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;0===t._state&&(t._state=1,t._tick(function(){t._resolve(e)}))},_resolve:function(e){2!==this._state&&(a(this._doneCallbacks,function(t){t(e)}),this._doneCallbacks.length=0,this._state=2)}},o}]}
23,Ar=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(e,t,n){return function(t,i){function r(){return e(function(){a.addClass&&(t.addClass(a.addClass),a.addClass=null),a.removeClass&&(t.removeClass(a.removeClass),a.removeClass=null),a.to&&(t.css(a.to),a.to=null),o||s.complete(),o=!0}),s}var a=i||{};a.$$prepared||(a=M(a)),a.cleanupStyles&&(a.from=a.to=null),a.from&&(t.css(a.from),a.from=null);var o,s=new n;return{start:r,end:r}}}]},Tr=i("$compile"),kr=new function(){};ot.$inject=["$provide","$$sanitizeUriProvider"],st.prototype.isFirstChange=function(){return this.previousValue===kr};var Vr=/^((?:x|data)[:\-_])/i,Ir=/[:\-_]+(.)/g,Lr=i("$controller"),Or=/^(\S+)(\s+as\s+([\w$]+))?$/,Dr=function(){this.$get=["$document",function(e){return function(t){return t?!t.nodeType&&t instanceof hi&&(t=t[0]):t=e[0].body,t.offsetWidth+1}}]},Rr="application/json",Nr={"Content-Type":Rr+";charset=utf-8"},$r=/^\[|^\{(?!\{)/,Mr={"[":/]$/,"{":/}$/},xr=/^\)]\}',?\n/,Fr=i("$http"),Br=Ii.$interpolateMinErr=i("$interpolate");Br.throwNoconcat=function(e){throw Br("noconcat",e)},Br.interr=function(e,t){return Br("interr",e,t.toString())};var Gr=i("$interval"),Ur=function(){this.$get=function(){function e(e){var t=function(e){t.data=e,t.called=!0};return t.id=e,t}var t=Ii.callbacks,n={};return{createCallback:function(i){i="_"+(t.$$counter++).toString(36);var r="angular.callbacks."+i,a=e(i);return n[r]=t[i]=a,r},wasCalled:function(e){return n[e].called},getResponse:function(e){return n[e].data},removeCallback:function(e){delete t[n[e].id],delete n[e]}}}},Hr=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Wr={http:80,https:443,ftp:21},qr=i("$location"),jr=/^\s*[\\\/]{2,}/,Yr={$$absUrl:"",$$html5:!1,$$replace:!1,$$compose:function(){for(var e=this.$$path,t=this.$$hash,n=Z(this.$$search),t=t?"#"+X(t):"",e=e.split("/"),i=e.length;i--;)e[i]=X(e[i].replace(/%2F/g,"/"));this.$$url=e.join("/")+(n?"?"+n:"")+t,this.$$absUrl=this.$$normalizeUrl(this.$$url),this.$$urlUpdatedByLocation=!0},absUrl:xt("$$absUrl"),url:function(e){if(E(e))return this.$$url;var t=Hr.exec(e);return(t[1]||""===e)&&this.path(decodeURIComponent(t[1])),(t[2]||t[1]||""===e)&&this.search(t[3]||""),this.hash(t[5]||""),this},protocol:xt("$$protocol"),host:xt("$$host"),port:xt("$$port"),path:Ft("$$path",function(e){return e=null!==e?e.toString():"","/"===e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(S(e)||C(e))e=e.toString(),this.$$search=J(e);else{if(!y(e))throw qr("isrcharg");e=M(e,{}),a(e,function(t,n){null==t&&delete e[n]}),this.$$search=e}break;default:E(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:Ft("$$hash",function(e){return null!==e?e.toString():""}),replace:function(){return this.$$replace=!0,this}};a([Mt,$t,Nt],function(e){e.prototype=Object.create(Yr),e.prototype.state=function(t){if(!arguments.length)return this.$$state;if(e!==Nt||!this.$$html5)throw qr("nostate");return this.$$state=E(t)?null:t,this.$$urlUpdatedByLocation=!0,this}});var zr=i("$parse"),Kr={}.constructor.prototype.valueOf,Jr=ge();a("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(e){Jr[e]=!0});var Zr={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},Xr=function(e){this.options=e};Xr.prototype={constructor:Xr,lex:function(e){for(this.text=e,this.index=0,this.tokens=[];this.index<this.text.length;)if(e=this.text.charAt(this.index),'"'===e||"'"===e)this.readString(e);else if(this.isNumber(e)||"."===e&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(e,"(){}[].,;:?"))this.tokens.push({index:this.index,text:e}),this.index++;else if(this.isWhitespace(e))this.index++;else{var t=e+this.peek(),n=t+this.peek(2),i=Jr[t],r=Jr[n];Jr[e]||i||r?(e=r?n:i?t:e,this.tokens.push({index:this.index,text:e,operator:!0}),this.index+=e.length):this.throwError("Unexpected next character ",this.index,this.index+1)}return this.tokens},is:function(e,t){return-1!==t.indexOf(e)},peek:function(e){return e=e||1,this.index+e<this.text.length&&this.text.charAt(this.index+e)},isNumber:function(e){return"0"<=e&&"9">=e&&"string"==typeof e},isWhitespace:function(e){return" "===e||"\r"===e||"\t"===e||"\n"===e||"\x0B"===e||"Â "===e},isIdentifierStart:function(e){return this.options.isIdentifierStart?this.options.isIdentifierStart(e,this.co
vendor: 6,067 bytes, line 23
23dePointAt(e)):this.isValidIdentifierStart(e)},isValidIdentifierStart:function(e){return"a"<=e&&"z">=e||"A"<=e&&"Z">=e||"_"===e||"$"===e},isIdentifierContinue:function(e){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(e,this.codePointAt(e)):this.isValidIdentifierContinue(e)},isValidIdentifierContinue:function(e,t){return this.isValidIdentifierStart(e,t)||this.isNumber(e)},codePointAt:function(e){return 1===e.length?e.charCodeAt(0):(e.charCodeAt(0)<<10)+e.charCodeAt(1)-56613888},peekMultichar:function(){var e=this.text.charAt(this.index),t=this.peek();if(!t)return e;var n=e.charCodeAt(0),i=t.charCodeAt(0);return 55296<=n&&56319>=n&&56320<=i&&57343>=i?e+t:e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){throw n=n||this.index,t=b(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n,zr("lexerr",e,t,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=Si(this.text.charAt(this.index));if("."===n||this.isNumber(n))e+=n;else{var i=this.peek();if("e"===n&&this.isExpOperator(i))e+=n;else if(this.isExpOperator(n)&&i&&this.isNumber(i)&&"e"===e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||i&&this.isNumber(i)||"e"!==e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:t,text:e,constant:!0,value:Number(e)})},readIdent:function(){var e=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var t=this.peekMultichar();if(!this.isIdentifierContinue(t))break;this.index+=t.length}this.tokens.push({index:e,text:this.text.slice(e,this.index),identifier:!0})},readString:function(e){var t=this.index;this.index++;for(var n="",i=e,r=!1;this.index<this.text.length;){var a=this.text.charAt(this.index),i=i+a;if(r)"u"===a?(r=this.text.substring(this.index+1,this.index+5),r.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+r+"]"),this.index+=4,n+=String.fromCharCode(parseInt(r,16))):n+=Zr[a]||a,r=!1;else if("\\"===a)r=!0;else{if(a===e)return this.index++,void this.tokens.push({index:t,text:i,constant:!0,value:n});n+=a}this.index++}this.throwError("Unterminated quote",t)}};var Qr=function(e,t){this.lexer=e,this.options=t};Qr.Program="Program",Qr.ExpressionStatement="ExpressionStatement",Qr.AssignmentExpression="AssignmentExpression",Qr.ConditionalExpression="ConditionalExpression",Qr.LogicalExpression="LogicalExpression",Qr.BinaryExpression="BinaryExpression",Qr.UnaryExpression="UnaryExpression",Qr.CallExpression="CallExpression",Qr.MemberExpression="MemberExpression",Qr.Identifier="Identifier",Qr.Literal="Literal",Qr.ArrayExpression="ArrayExpression",Qr.Property="Property",Qr.ObjectExpression="ObjectExpression",Qr.ThisExpression="ThisExpression",Qr.LocalsExpression="LocalsExpression",Qr.NGValueParameter="NGValueParameter",Qr.prototype={ast:function(e){return this.text=e,this.tokens=this.lexer.lex(e),e=this.program(),0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),e},program:function(){for(var e=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&e.push(this.expressionStatement()),!this.expect(";"))return{type:Qr.Program,body:e}},expressionStatement:function(){return{type:Qr.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var e=this.expression();this.expect("|");)e=this.filter(e);return e},expression:function(){return this.assignment()},assignment:function(){var e=this.ternary();if(this.expect("=")){if(!zt(e))throw zr("lval");e={type:Qr.AssignmentExpression,left:e,right:this.assignment(),operator:"="}}return e},ternary:function(){var e,t,n=this.logicalOR();return this.expect("?")&&(e=this.expression(),this.consume(":"))?(t=this.expression(),{type:Qr.ConditionalExpression,test:n,alternate:e,consequent:t}):n},logicalOR:function(){for(var e=this.logicalAND();this.expect("||");)e={type:Qr.LogicalExpression,operator:"||",left:e,right:this.logicalAND()};return e},logicalAND:function(){for(var e=this.equality();this.expect("&&");)e={type:Qr.LogicalExpression,operator:"&&",left:e,right:this.equality()};return e},equality:function(){for(var e,t=this.relational();e=this.expect("==","!=","===","!==");)t={type:Qr.BinaryExpression,operator:e.text,left:t,right:this.relational()};return t},relational:function(){for(var e,t=this.additive();e=this.expect("<",">","<=",">=");)t={type:Qr.BinaryExpression,operator:e.text,left:t,right:this.additive()};return t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t={type:Qr.BinaryExpression,operator:e.text,left:t,right:this.multiplicative()};return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t={type:Qr.BinaryExpression,operator:e.text,left:t,right:this.unary()};return t},unary:function(){var e;return(e=this.expect("+","-","!"))?{type:Qr.UnaryExpression,operator:e.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var e;this.expect("(")?(e=this.filterChain(),this.consume(")")):this.expect("[")?e=this.arrayDeclaration():this.expect("{")?e=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?e=M(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?e={type:Qr.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?e=this.identifier():this.peek().constant?e=this.constant():this.throwError("not a primary expression",this.peek());for(var t;t=this.expect("(","[",".");)"("===t.text?(e={type:Qr.CallExpression,callee:e,arguments:this.parseArguments()},this.consume(")")):"["===t.text?(e={type:Qr.MemberExpression,object:e,property:this.expression(),computed:!0},this.consume("]")):"."===t.text?e={type:Qr.MemberExpression,object:e,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return e},filter:function(e){e=[e];for(var t={type:Qr.CallExpression,callee:this.identifier(),arguments:e,filter:!0};this.expect(":");)e.push(this.expression());return t},parseArguments:function(){var e=[];
23if(")"!==this.peekToken().text)do e.push(this.filterChain());while(this.expect(","));return e},identifier:function(){var e=this.consume();return e.identifier||this.throwError("is not a valid identifier",e),{type:Qr.Identifier,name:e.text}},constant:function(){return{type:Qr.Literal,value:this.consume().value}},arrayDeclaration:function(){var e=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;e.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:Qr.ArrayExpression,elements:e}},object:function(){var e,t=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;e={type:Qr.Property,kind:"init"},this.peek().constant?(e.key=this.constant(),e.computed=!1,this.consume(":"),e.value=this.expression()):this.peek().identifier?(e.key=this.identifier(),e.computed=!1,this.peek(":")?(this.consume(":"),e.value=this.expression()):e.value=e.key):this.peek("[")?(this.consume("["),e.key=this.expression(),this.consume("]"),e.computed=!0,this.consume(":"),e.value=this.expression()):this.throwError("invalid key",this.peek()),t.push(e)}while(this.expect(","));return this.consume("}"),{type:Qr.ObjectExpression,properties:t}},throwError:function(e,t){throw zr("syntax",t.text,e,t.index+1,this.text,this.text.substring(t.index))},consume:function(e){if(0===this.tokens.length)throw zr("ueoe",this.text);var t=this.expect(e);return t||this.throwError("is unexpected, expecting ["+e+"]",this.peek()),t},peekToken:function(){if(0===this.tokens.length)throw zr("ueoe",this.text);return this.tokens[0]},peek:function(e,t,n,i){return this.peekAhead(0,e,t,n,i)},peekAhead:function(e,t,n,i,r){if(this.tokens.length>e){e=this.tokens[e];var a=e.text;if(a===t||a===n||a===i||a===r||!(t||n||i||r))return e}return!1},expect:function(e,t,n,i){return!!(e=this.peek(e,t,n,i))&&(this.tokens.shift(),e)},selfReferential:{"this":{type:Qr.ThisExpression},$locals:{type:Qr.LocalsExpression}}};var ea=2;Jt.prototype={compile:function(e){var t=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},jt(e,t.$filter);var n,i="";return this.stage="assign",(n=Kt(e))&&(this.state.computing="assign",i=this.nextId(),this.recurse(n,i),this.return_(i),i="fn.assign="+this.generateFunction("assign","s,v,l")),n=Yt(e.body),t.stage="inputs",a(n,function(e,n){var i="fn"+n;t.state[i]={vars:[],body:[],own:{}},t.state.computing=i;var r=t.nextId();t.recurse(e,r),t.return_(r),t.state.inputs.push({name:i,isPure:e.isPure}),e.watchId=n}),this.state.computing="fn",this.stage="main",this.recurse(e),e='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+i+this.watchFns()+"return fn;",e=new Function("$filter","getStringValue","ifDefined","plus",e)(this.$filter,Ut,Ht,Wt),this.state=this.stage=void 0,e},USE:"use",STRICT:"strict",watchFns:function(){var e=[],t=this.state.inputs,n=this;return a(t,function(t){e.push("var "+t.name+"="+n.generateFunction(t.name,"s")),t.isPure&&e.push(t.name,".isPure="+JSON.stringify(t.isPure)+";")}),t.length&&e.push("fn.inputs=["+t.map(function(e){return e.name}).join(",")+"];"),e.join("")},generateFunction:function(e,t){return"function("+t+"){"+this.varsPrefix(e)+this.body(e)+"};"},filterPrefix:function(){var e=[],t=this;return a(this.state.filters,function(n,i){e.push(n+"=$filter("+t.escape(i)+")")}),e.length?"var "+e.join(",")+";":""},varsPrefix:function(e){return this.state[e].vars.length?"var "+this.state[e].vars.join(",")+";":""},body:function(e){return this.state[e].body.join("")},recurse:function(e,t,n,i,r,o){var s,l,c,d,u,p=this;if(i=i||f,!o&&b(e.watchId))t=t||this.nextId(),this.if_("i",this.lazyAssign(t,this.computedMember("i",e.watchId)),this.lazyRecurse(e,t,n,i,r,!0));else switch(e.type){case Qr.Program:a(e.body,function(t,n){p.recurse(t.expression,void 0,void 0,function(e){l=e}),n!==e.body.length-1?p.current().body.push(l,";"):p.return_(l)});break;case Qr.Literal:d=this.escape(e.value),this.assign(t,d),i(t||d);break;case Qr.UnaryExpression:this.recurse(e.argument,void 0,void 0,function(e){l=e}),d=e.operator+"("+this.ifDefined(l,0)+")",this.assign(t,d),i(d);break;case Qr.BinaryExpression:this.recurse(e.left,void 0,void 0,function(e){s=e}),this.recurse(e.right,void 0,void 0,function(e){l=e}),d="+"===e.operator?this.plus(s,l):"-"===e.operator?this.ifDefined(s,0)+e.operator+this.ifDefined(l,0):"("+s+")"+e.operator+"("+l+")",this.assign(t,d),i(d);break;case Qr.LogicalExpression:t=t||this.nextId(),p.recurse(e.left,t),p.if_("&&"===e.operator?t:p.not(t),p.lazyRecurse(e.right,t)),i(t);break;case Qr.ConditionalExpression:t=t||this.nextId(),p.recurse(e.test,t),p.if_(t,p.lazyRecurse(e.alternate,t),p.lazyRecurse(e.consequent,t)),i(t);break;case Qr.Identifier:t=t||this.nextId(),n&&(n.context="inputs"===p.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),n.computed=!1,n.name=e.name),p.if_("inputs"===p.stage||p.not(p.getHasOwnProperty("l",e.name)),function(){p.if_("inputs"===p.stage||"s",function(){r&&1!==r&&p.if_(p.isNull(p.nonComputedMember("s",e.name)),p.lazyAssign(p.nonComputedMember("s",e.name),"{}")),p.assign(t,p.nonComputedMember("s",e.name))})},t&&p.lazyAssign(t,p.nonComputedMember("l",e.name))),i(t);break;case Qr.MemberExpression:s=n&&(n.context=this.nextId())||this.nextId(),t=t||this.nextId(),p.recurse(e.object,s,void 0,function(){p.if_(p.notNull(s),function(){e.computed?(l=p.nextId(),p.recurse(e.property,l),p.getStringValue(l),r&&1!==r&&p.if_(p.not(p.computedMember(s,l)),p.lazyAssign(p.computedMember(s,l),"{}")),d=p.computedMember(s,l),p.assign(t,d),n&&(n.computed=!0,n.name=l)):(r&&1!==r&&p.if_(p.isNull(p.nonComputedMember(s,e.property.name)),p.lazyAssign(p.nonComputedMember(s,e.property.name),"{}")),d=p.nonComputedMember(s,e.property.name),p.assign(t,d),n&&(n.computed=!1,n.name=e.property.name))},function(){p.assign(t,"undefined")}),i(t)},!!r);break;case Qr.CallExpression:t=t||this.nextId(),e.filter?(l=p.filter(e.callee.name),c=[],a(e.arguments,function(e){var t=p.nextId();p.recurse(e,t),c.push(t)}),d=l+"("+c.join(",")+")",p.assign(t,d),i(t)):(l=p.nextId(),s={},c=[],p.recurse(e.callee,l,s,function(){p.if_(p.notNull(l),function(){a(e.arguments,function(t){p.recurse(t,e.constant?void 0:p.nextId(),void 0,function(e){c.push(e)})}),d=s.name?p.member(s.context,s.name,s.computed)+"("+c.join(",")+")":l+"("+c.join(",")+")",p.assign(t,d)},function(){p.assign(t,"undefined")}),i(t)}));break;case Qr.AssignmentExpression:l=this.nextId(),s={},this.recurse(e.left,void 0,s,function(){p.if_(p.notNull(s.context),function(){p.recurse(e.right,l),d=p.member(s.context,s.name,s.computed)+e.operator+l,p.assign(t,d),i(t||d)})},1);break;case Qr.ArrayExpression:c=[],a(e.elements,function(t){p.recurse(t,e.constant?void 0:p.nextId(),void 0,function(e){c.push(e)})}),d="["+c.join(",")+"]",this.assign(t,d),i(t||d);break;case Qr.ObjectExpression:c=[],u=!1,a(e.properties,function(e){e.computed&&(u=!0)}),u?(t=t||this.nextId(),this.assign(t,"{}"),a(e.properties,function(e){e.computed?(s=p.nextId(),p.recurse(e.key,s)):s=e.key.type===Qr.Identifier?e.key.name:""+e.key.value,l=p.nextId(),p.recurse(e.value,l),p.assign(p.member(t,s,e.computed),l)})):(a(e.properties,function(t){p.recurse(t.value,e.constant?void 0:p.nextId(),void 0,function(e){c.push(p.escape(t.key.type===Qr.Identifier?t.key.name:""+t.key.value)+":"+e)})}),d="{"+c.join(",")+"}",this.assign(t,d)),i(t||d);break;case Qr.ThisExpression:this.assign(t,"s"),i(t||"s");break;case Qr.LocalsExpression:this.assign(t,"l"),i(t||"l");break;case Qr.NGValueParameter:this.assign(t,"v"),i(t||"v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,i=this.current().own;return i.hasOwnProperty(n)||(i[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),i[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(!0===e)t();else{var i=this.current().body;i.push("if(",e,"){"),t(),i.push("}"),n&&(i.push("else{"),n(),i.push("}"))}},not:function(e){return"!("+e+")"},isNull:function(e){return e+"==null"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){var n=/[^$_a-zA-Z0-9]/g;return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(t)?e+"."+t:e+'["'+t.replace(n,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},getStringValue:function(e){this.assign(e,"getStringValue("+e+")")},lazyRecurse:function(e,t,n,i,r,a){var o=this;return function(){o.recurse(e,t,n,i,r,a)}},lazyAssign:function(e,t){var n=this;return function(){n.assign(e,t)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(e){return"\\u"+("0000"+e.charCodeAt(0).toString(16)).slice(-4)},escape:function(e){if(S(e))return"'"+e.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(C(e))return e.toString();if(!0===e)return"true";if(!1===e)return"false";if(null===e)return"null";if("undefined"==typeof e)return"undefined";throw zr("esc")},nextId:function(e,t){var n="v"+this.state.nextId++;return e||this.current().vars.push(n+(t?"="+t:"")),n},current:function(){return this.state[this.state.computing]}},Zt.prototype={compile:function(e){var t=this;jt(e,t.$filter);var n,i;(n=Kt(e))&&(i=this.recurse(n)),n=Yt(e.body);var r;n&&(r=[],a(n,function(e,n){var i=t.recurse(e);i.isPure=e.isPure,e.input=i,r.push(i),e.watchId=n}));var o=[];return a(e.body,function(e){o.push(t.recurse(e.expression))}),e=0===e.body.length?f:1===e.body.length?o[0]:function(e,t){var n;return a(o,function(i){n=i(e,t)}),n},i&&(e.assign=function(e,t,n){return i(e,n,t)}
23),r&&(e.inputs=r),e},recurse:function(e,t,n){var i,r,o,s=this;if(e.input)return this.inputs(e.input,e.watchId);switch(e.type){case Qr.Literal:return this.value(e.value,t);case Qr.UnaryExpression:return r=this.recurse(e.argument),this["unary"+e.operator](r,t);case Qr.BinaryExpression:return i=this.recurse(e.left),r=this.recurse(e.right),this["binary"+e.operator](i,r,t);case Qr.LogicalExpression:return i=this.recurse(e.left),r=this.recurse(e.right),this["binary"+e.operator](i,r,t);case Qr.ConditionalExpression:return this["ternary?:"](this.recurse(e.test),this.recurse(e.alternate),this.recurse(e.consequent),t);case Qr.Identifier:return s.identifier(e.name,t,n);case Qr.MemberExpression:return i=this.recurse(e.object,!1,!!n),e.computed||(r=e.property.name),e.computed&&(r=this.recurse(e.property)),e.computed?this.computedMember(i,r,t,n):this.nonComputedMember(i,r,t,n);case Qr.CallExpression:return o=[],a(e.arguments,function(e){o.push(s.recurse(e))}),e.filter&&(r=this.$filter(e.callee.name)),e.filter||(r=this.recurse(e.callee,!0)),e.filter?function(e,n,i,a){for(var s=[],l=0;l<o.length;++l)s.push(o[l](e,n,i,a));return e=r.apply(void 0,s,a),t?{context:void 0,name:void 0,value:e}:e}:function(e,n,i,a){var s,l=r(e,n,i,a);if(null!=l.value){s=[];for(var c=0;c<o.length;++c)s.push(o[c](e,n,i,a));s=l.value.apply(l.context,s)}return t?{value:s}:s};case Qr.AssignmentExpression:return i=this.recurse(e.left,!0,1),r=this.recurse(e.right),function(e,n,a,o){var s=i(e,n,a,o);return e=r(e,n,a,o),s.context[s.name]=e,t?{value:e}:e};case Qr.ArrayExpression:return o=[],a(e.elements,function(e){o.push(s.recurse(e))}),function(e,n,i,r){for(var a=[],s=0;s<o.length;++s)a.push(o[s](e,n,i,r));return t?{value:a}:a};case Qr.ObjectExpression:return o=[],a(e.properties,function(e){e.computed?o.push({key:s.recurse(e.key),computed:!0,value:s.recurse(e.value)}):o.push({key:e.key.type===Qr.Identifier?e.key.name:""+e.key.value,computed:!1,value:s.recurse(e.value)})}),function(e,n,i,r){for(var a={},s=0;s<o.length;++s)o[s].computed?a[o[s].key(e,n,i,r)]=o[s].value(e,n,i,r):a[o[s].key]=o[s].value(e,n,i,r);return t?{value:a}:a};case Qr.ThisExpression:return function(e){return t?{value:e}:e};case Qr.LocalsExpression:return function(e,n){return t?{value:n}:n};case Qr.NGValueParameter:return function(e,n,i){return t?{value:i}:i}}},"unary+":function(e,t){return function(n,i,r,a){return n=e(n,i,r,a),n=b(n)?+n:0,t?{value:n}:n}},"unary-":function(e,t){return function(n,i,r,a){return n=e(n,i,r,a),n=b(n)?-n:-0,t?{value:n}:n}},"unary!":function(e,t){return function(n,i,r,a){return n=!e(n,i,r,a),t?{value:n}:n}},"binary+":function(e,t,n){return function(i,r,a,o){var s=e(i,r,a,o);return i=t(i,r,a,o),s=Wt(s,i),n?{value:s}:s}},"binary-":function(e,t,n){return function(i,r,a,o){var s=e(i,r,a,o);return i=t(i,r,a,o),s=(b(s)?s:0)-(b(i)?i:0),n?{value:s}:s}},"binary*":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)*t(i,r,a,o),n?{value:i}:i}},"binary/":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)/t(i,r,a,o),n?{value:i}:i}},"binary%":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)%t(i,r,a,o),n?{value:i}:i}},"binary===":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)===t(i,r,a,o),n?{value:i}:i}},"binary!==":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)!==t(i,r,a,o),n?{value:i}:i}},"binary==":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)==t(i,r,a,o),n?{value:i}:i}},"binary!=":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)!=t(i,r,a,o),n?{value:i}:i}},"binary<":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)<t(i,r,a,o),n?{value:i}:i}},"binary>":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)>t(i,r,a,o),n?{value:i}:i}},"binary<=":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)<=t(i,r,a,o),n?{value:i}:i}},"binary>=":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)>=t(i,r,a,o),n?{value:i}:i}},"binary&&":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)&&t(i,r,a,o),n?{value:i}:i}},"binary||":function(e,t,n){return function(i,r,a,o){return i=e(i,r,a,o)||t(i,r,a,o),n?{value:i}:i}},"ternary?:":function(e,t,n,i){return function(r,a,o,s){return r=e(r,a,o,s)?t(r,a,o,s):n(r,a,o,s),i?{value:r}:r}},value:function(e,t){return function(){return t?{context:void 0,name:void 0,value:e}:e}},identifier:function(e,t,n){return function(i,r,a,o){return i=r&&e in r?r:i,n&&1!==n&&i&&null==i[e]&&(i[e]={}),r=i?i[e]:void 0,t?{context:i,name:e,value:r}:r}},computedMember:function(e,t,n,i){return function(r,a,o,s){var l,c,d=e(r,a,o,s);return null!=d&&(l=t(r,a,o,s),l+="",i&&1!==i&&d&&!d[l]&&(d[l]={}),c=d[l]),n?{context:d,name:l,value:c}:c}},nonComputedMember:function(e,t,n,i){return function(r,a,o,s){return r=e(r,a,o,s),i&&1!==i&&r&&null==r[t]&&(r[t]={}),a=null!=r?r[t]:void 0,n?{context:r,name:t,value:a}:a}},inputs:function(e,t){return function(n,i,r,a){return a?a[t]:e(n,i,r)}}},Xt.prototype={constructor:Xt,parse:function(e){e=this.getAst(e);
23var t=this.astCompiler.compile(e.ast),n=e.ast;return t.literal=0===n.body.length||1===n.body.length&&(n.body[0].expression.type===Qr.Literal||n.body[0].expression.type===Qr.ArrayExpression||n.body[0].expression.type===Qr.ObjectExpression),t.constant=e.ast.constant,t.oneTime=e.oneTime,t},getAst:function(e){var t=!1;return e=e.trim(),":"===e.charAt(0)&&":"===e.charAt(1)&&(t=!0,e=e.substring(2)),{ast:this.ast.ast(e),oneTime:t}}};var ta,na=i("$sce"),ia={HTML:"html",CSS:"css",MEDIA_URL:"mediaUrl",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},ra=/_([a-z])/g,aa=i("$templateRequest"),oa=i("$timeout"),sa=e.document.createElement("a"),la=En(e.location.href);sa.href="http://[::1]";var ca="[::1]"===sa.hostname;Sn.$inject=["$document"],Pn.$inject=["$provide"];var da=22,ua=".",pa="0";Vn.$inject=["$locale"],In.$inject=["$locale"];var ga={yyyy:Nn("FullYear",4,0,!1,!0),yy:Nn("FullYear",2,0,!0,!0),y:Nn("FullYear",1,0,!1,!0),MMMM:$n("Month"),MMM:$n("Month",!0),MM:Nn("Month",2,1),M:Nn("Month",1,1),LLLL:$n("Month",!1,!0),dd:Nn("Date",2),d:Nn("Date",1),HH:Nn("Hours",2),H:Nn("Hours",1),hh:Nn("Hours",2,-12),h:Nn("Hours",1,-12),mm:Nn("Minutes",2),m:Nn("Minutes",1),ss:Nn("Seconds",2),s:Nn("Seconds",1),sss:Nn("Milliseconds",3),EEEE:$n("Day"),EEE:$n("Day",!0),a:function(e,t){return 12>e.getHours()?t.AMPMS[0]:t.AMPMS[1]},Z:function(e,t,n){return e=-1*n,e=(0<=e?"+":"")+(Rn(Math[0<e?"floor":"ceil"](e/60),2)+Rn(Math.abs(e%60),2))},ww:xn(2),w:xn(1),G:Fn,GG:Fn,GGG:Fn,GGGG:function(e,t){return 0>=e.getFullYear()?t.ERANAMES[0]:t.ERANAMES[1]}},fa=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,ma=/^-?\d+$/;Bn.$inject=["$locale"];var ha=h(Si),va=h(Ci);Wn.$inject=["$parse"];var Ea=h({restrict:"E",compile:function(e,t){if(!t.href&&!t.xlinkHref)return function(e,t){if("a"===t[0].nodeName.toLowerCase()){var n="[object SVGAnimatedString]"===Ti.call(t.prop("href"))?"xlink:href":"href";t.on("click",function(e){t.attr(n)||e.preventDefault()})}}}}),ba={};a(lr,function(e,t){function n(e,n,r){e.$watch(r[i],function(e){r.$set(t,!!e)})}if("multiple"!==e){var i=lt("ng-"+t),r=n;"checked"===e&&(r=function(e,t,r){r.ngModel!==r[i]&&n(e,t,r)}),ba[i]=function(){return{restrict:"A",priority:100,link:r}}}}),a(dr,function(e,t){ba[t]=function(){return{priority:100,link:function(e,n,i){return"ngPattern"===t&&"/"===i.ngPattern.charAt(0)&&(n=i.ngPattern.match(yi))?void i.$set("ngPattern",new RegExp(n[1],n[2])):void e.$watch(i[t],function(e){i.$set(t,e)})}}}}),a(["src","srcset","href"],function(e){var t=lt("ng-"+e);ba[t]=["$sce",function(n){return{priority:99,link:function(i,r,a){var o=e,s=e;"href"===e&&"[object SVGAnimatedString]"===Ti.call(r.prop("href"))&&(s="xlinkHref",a.$attr[s]="xlink:href",o=null),a.$set(t,n.getTrustedMediaUrl(a[t])),a.$observe(t,function(t){t?(a.$set(s,t),mi&&o&&r.prop(o,a[s])):"href"===e&&a.$set(s,null)})}}}]});var ya={$addControl:f,$getControls:h([]),$$renameControl:function(e,t){e.$name=t},$removeControl:f,$setValidity:f, 24$setDirty:f,$setPristine:f,$setSubmitted:f,$$setSubmitted:f};jn.$inject=["$element","$attrs","$scope","$animate","$interpolate"],jn.prototype={$rollbackViewValue:function(){a(this.$$controls,function(e){e.$rollbackViewValue()})},$commitViewValue:function(){a(this.$$controls,function(e){e.$commitViewValue()})},$addControl:function(e){de(e.$name,"input"),this.$$controls.push(e),e.$name&&(this[e.$name]=e),e.$$parentForm=this},$getControls:function(){return he(this.$$controls)},$$renameControl:function(e,t){var n=e.$name;this[n]===e&&delete this[n],this[t]=e,e.$name=t},$removeControl:function(e){e.$name&&this[e.$name]===e&&delete this[e.$name],a(this.$pending,function(t,n){this.$setValidity(n,null,e)},this),a(this.$error,function(t,n){this.$setValidity(n,null,e)},this),a(this.$$success,function(t,n){this.$setValidity(n,null,e)},this),$(this.$$controls,e),e.$$parentForm=ya},$setDirty:function(){this.$$animate.removeClass(this.$$element,io),this.$$animate.addClass(this.$$element,ro),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,io,ro+" ng-submitted"),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,a(this.$$controls,function(e){e.$setPristine()})},$setUntouched:function(){a(this.$$controls,function(e){e.$setUntouched()})},$setSubmitted:function(){for(var e=this;e.$$parentForm&&e.$$parentForm!==ya;)e=e.$$parentForm;e.$$setSubmitted()},$$setSubmitted:function(){this.$$animate.addClass(this.$$element,"ng-submitted"),this.$submitted=!0,a(this.$$controls,function(e){e.$$setSubmitted&&e.$$setSubmitted()})}},zn({clazz:jn,set:function(e,t,n){var i=e[t];i?-1===i.indexOf(n)&&i.push(n):e[t]=[n]},unset:function(e,t,n){var i=e[t];i&&($(i,n),0===i.length&&delete e[t])}});var wa=function(e){return["$timeout","$parse",function(t,n){function i(e){return""===e?n('this[""]').assign:n(e).assign||f}return{name:"form",restrict:e?"EAC":"E",require:["form","^^?form"],controller:jn,compile:function(n,r){n.addClass(io).addClass(to);
24var a=r.name?"name":!(!e||!r.ngForm)&&"ngForm";return{pre:function(e,n,r,o){var s=o[0];if(!("action"in r)){var l=function(t){e.$apply(function(){s.$commitViewValue(),s.$setSubmitted()}),t.preventDefault()};n[0].addEventListener("submit",l),n.on("$destroy",function(){t(function(){n[0].removeEventListener("submit",l)},0,!1)})}(o[1]||s.$$parentForm).$addControl(s);var c=a?i(s.$name):f;a&&(c(e,s),r.$observe(a,function(t){s.$name!==t&&(c(e,void 0),s.$$parentForm.$$renameControl(s,t),(c=i(s.$name))(e,s))})),n.on("$destroy",function(){s.$$parentForm.$removeControl(s),c(e,void 0),d(s,ya)})}}}}}]},Sa=wa(),Ca=wa(!0),Pa=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,_a=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Aa=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Ta=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,ka=/^(\d{4,})-(\d{2})-(\d{2})$/,Va=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ia=/^(\d{4,})-W(\d\d)$/,La=/^(\d{4,})-(\d\d)$/,Oa=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Da=ge();a(["date","datetime-local","month","time","week"],function(e){Da[e]=!0});var Ra={text:function(e,t,n,i,r,a){Zn(e,t,n,i,r,a),Jn(i)},date:Qn("date",ka,Xn(ka,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":Qn("datetimelocal",Va,Xn(Va,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:Qn("time",Oa,Xn(Oa,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:Qn("week",Ia,function(e,t){if(P(e))return e;if(S(e)){Ia.lastIndex=0;var n=Ia.exec(e);if(n){var i=+n[1],r=+n[2],a=n=0,o=0,s=0,l=Mn(i),r=7*(r-1);return t&&(n=t.getHours(),a=t.getMinutes(),o=t.getSeconds(),s=t.getMilliseconds()),new Date(i,0,l.getDate()+r,n,a,o,s)}}return NaN},"yyyy-Www"),month:Qn("month",La,Xn(La,["yyyy","MM"]),"yyyy-MM"),number:function(e,t,n,i,r,a,o,s){ei(e,t,n,i,"number"),ti(i),Zn(e,t,n,i,r,a);var l;if(b(n.min)||n.ngMin){var c=n.min||s(n.ngMin)(e);l=ni(c),i.$validators.min=function(e,t){return i.$isEmpty(t)||E(l)||t>=l},n.$observe("min",function(e){e!==c&&(l=ni(e),c=e,i.$validate())})}if(b(n.max)||n.ngMax){var d=n.max||s(n.ngMax)(e),u=ni(d);i.$validators.max=function(e,t){return i.$isEmpty(t)||E(u)||t<=u},n.$observe("max",function(e){e!==d&&(u=ni(e),d=e,i.$validate())})}if(b(n.step)||n.ngStep){var p=n.step||s(n.ngStep)(e),g=ni(p);i.$validators.step=function(e,t){return i.$isEmpty(t)||E(g)||ri(t,l||0,g)},n.$observe("step",function(e){e!==p&&(g=ni(e),p=e,i.$validate())})}},url:function(e,t,n,i,r,a){Zn(e,t,n,i,r,a),Jn(i),i.$validators.url=function(e,t){var n=e||t;return i.$isEmpty(n)||_a.test(n)}},email:function(e,t,n,i,r,a){Zn(e,t,n,i,r,a),Jn(i),i.$validators.email=function(e,t){var n=e||t;return i.$isEmpty(n)||Aa.test(n)}},radio:function(e,t,n,i){var r=!n.ngTrim||"false"!==Ri(n.ngTrim);E(n.name)&&t.attr("name",++Li),t.on("change",function(e){var a;t[0].checked&&(a=n.value,r&&(a=Ri(a)),i.$setViewValue(a,e&&e.type))}),i.$render=function(){var e=n.value;r&&(e=Ri(e)),t[0].checked=e===i.$viewValue},n.$observe("value",i.$render)},range:function(e,t,n,i,r,a){function o(e,i){t.attr(e,n[e]);var r=n[e];n.$observe(e,function(e){e!==r&&(r=e,i(e))})}function s(e){u=ni(e),Oi(i.$modelValue)||(d?(e=t.val(),u>e&&(e=u,t.val(e)),i.$setViewValue(e)):i.$validate())}function l(e){p=ni(e),Oi(i.$modelValue)||(d?(e=t.val(),p<e&&(t.val(p),e=p<u?u:p),i.$setViewValue(e)):i.$validate())}function c(e){g=ni(e),Oi(i.$modelValue)||(d?i.$viewValue!==t.val()&&i.$setViewValue(t.val()):i.$validate())}ei(e,t,n,i,"range"),ti(i),Zn(e,t,n,i,r,a);var d=i.$$hasNativeValidators&&"range"===t[0].type,u=d?0:void 0,p=d?100:void 0,g=d?1:void 0,f=t[0].validity;e=b(n.min),r=b(n.max),a=b(n.step);var m=i.$render;i.$render=d&&b(f.rangeUnderflow)&&b(f.rangeOverflow)?function(){m(),i.$setViewValue(t.val())}:m,e&&(u=ni(n.min),i.$validators.min=d?function(){return!0}:function(e,t){return i.$isEmpty(t)||E(u)||t>=u},o("min",s)),r&&(p=ni(n.max),i.$validators.max=d?function(){return!0}:function(e,t){return i.$isEmpty(t)||E(p)||t<=p},o("max",l)),a&&(g=ni(n.step),i.$validators.step=d?function(){return!f.stepMismatch}:function(e,t){return i.$isEmpty(t)||E(g)||ri(t,u||0,g)},o("step",c))},checkbox:function(e,t,n,i,r,a,o,s){var l=ai(s,e,"ngTrueValue",n.ngTrueValue,!0),c=ai(s,e,"ngFalseValue",n.ngFalseValue,!1);t.on("change",function(e){i.$setViewValue(t[0].checked,e&&e.type)}),i.$render=function(){t[0].checked=i.$viewValue},i.$isEmpty=function(e){return!1===e},i.$formatters.push(function(e){return F(e,l)}),i.$parsers.push(function(e){return e?l:c})},hidden:f,button:f,submit:f,reset:f,file:f},Na=["$browser","$sniffer","$filter","$parse",function(e,t,n,i){return{restrict:"E",require:["?ngModel"],link:{pre:function(r,a,o,s){s[0]&&(Ra[Si(o.type)]||Ra.text)(r,a,o,s[0],t,e,n,i)}}}}],$a=function(){var e={configurable:!0,enumerable:!1,get:function(){return this.getAttribute("value")||""},set:function(e){this.setAttribute("value",e)}};return{restrict:"E",priority:200,compile:function(t,n){if("hidden"===Si(n.type))return{pre:function(t,n,i,r){t=n[0],t.parentNode&&t.parentNode.insertBefore(t,t.nextSibling),Object.defineProperty&&Object.defineProperty(t,"value",e)}}}}},Ma=/^(true|false|\d+)$/,xa=function(){function e(e,t,n){var i=b(n)?n:9===mi?"":null;e.prop("value",i),t.$set("value",n)}return{restrict:"A",priority:100,compile:function(t,n){return Ma.test(n.ngValue)?function(t,n,i){t=t.$eval(i.ngValue),e(n,i,t)}:function(t,n,i){t.$watch(i.ngValue,function(t){e(n,i,t)})}}}},Fa=["$compile",function(e){return{restrict:"AC",compile:function(t){return e.$$addBindingClass(t),function(t,n,i){e.$$addBindingInfo(n,i.ngBind),n=n[0],t.$watch(i.ngBind,function(e){n.textContent=fe(e)})}}}}],Ba=["$interpolate","$compile",function(e,t){return{compile:function(n){return t.$$addBindingClass(n),function(n,i,r){n=e(i.attr(r.$attr.ngBindTemplate)),t.$$addBindingInfo(i,n.expressions),i=i[0],r.$observe("ngBindTemplate",function(e){i.textContent=E(e)?"":e})}}}}],Ga=["$sce","$parse","$compile",function(e,t,n){return{restrict:"A",compile:function(i,r){var a=t(r.ngBindHtml),o=t(r.ngBindHtml,function(t){return e.valueOf(t)});return n.$$addBindingClass(i),function(t,i,r){n.$$addBindingInfo(i,r.ngBindHtml),t.$watch(o,function(){var n=a(t);i.html(e.getTrustedHtml(n)||"")})}}}}],Ua=h({restrict:"A",require:"ngModel",link:function(e,t,n,i){i.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}}),Ha=oi("",!0),Wa=oi("Odd",0),qa=oi("Even",1),ja=qn({compile:function(e,t){t.$set("ngCloak",void 0),e.removeClass("ng-cloak")}}),Ya=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],za={},Ka={blur:!0,focus:!0};a("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(e){var t=lt("ng-"+e);za[t]=["$parse","$rootScope","$exceptionHandler",function(n,i,r){return si(n,i,r,t,e,Ka[e])}]});var Ja=["$animate","$compile",function(e,t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,i,r,a,o){var s,l,c;n.$watch(r.ngIf,function(n){n?l||o(function(n,a){l=a,n[n.length++]=t.$$createComment("end ngIf",r.ngIf),s={clone:n},e.enter(n,i.parent(),i)}):(c&&(c.remove(),c=null),l&&(l.$destroy(),l=null),s&&(c=pe(s.clone),e.leave(c).done(function(e){!1!==e&&(c=null)}),s=null))})}}}],Za=["$templateRequest","$anchorScroll","$animate",function(e,t,n){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ii.noop,compile:function(i,r){var a=r.
24ngInclude||r.src,o=r.onload||"",s=r.autoscroll;return function(i,r,l,c,d){var u,p,g,f=0,m=function(){p&&(p.remove(),p=null),u&&(u.$destroy(),u=null),g&&(n.leave(g).done(function(e){!1!==e&&(p=null)}),p=g,g=null)};i.$watch(a,function(a){var l=function(e){!1===e||!b(s)||s&&!i.$eval(s)||t()},p=++f;a?(e(a,!0).then(function(e){if(!i.$$destroyed&&p===f){var t=i.$new();c.template=e,e=d(t,function(e){m(),n.enter(e,null,r).done(l)}),u=t,g=e,u.$emit("$includeContentLoaded",a),i.$eval(o)}},function(){i.$$destroyed||p!==f||(m(),i.$emit("$includeContentError",a))}),i.$emit("$includeContentRequested",a)):(m(),c.template=null)})}}}}],Xa=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(n,i,r,a){Ti.call(i[0]).match(/SVG/)?(i.empty(),t(Se(a.template,e.document).childNodes)(n,function(e){i.append(e)},{futureParentElement:i})):(i.html(a.template),t(i.contents())(n))}}}],Qa=qn({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),eo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(e,t,n,i){var r=n.ngList||", ",o="false"!==n.ngTrim,s=o?Ri(r):r;i.$parsers.push(function(e){if(!E(e)){var t=[];return e&&a(e.split(s),function(e){e&&t.push(o?Ri(e):e)}),t}}),i.$formatters.push(function(e){if(_(e))return e.join(r)}),i.$isEmpty=function(e){return!e||!e.length}}}},to="ng-valid",no="ng-invalid",io="ng-pristine",ro="ng-dirty",ao=i("ngModel");li.$inject="$scope $exceptionHandler $attrs $element $parse $animate $timeout $q $interpolate".split(" "),li.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var e=this.$$parse(this.$$attr.ngModel+"()"),t=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(t){var n=this.$$parsedNgModel(t);return T(n)&&(n=e(t)),n},this.$$ngModelSet=function(e,n){T(this.$$parsedNgModel(e))?t(e,{$$$p:n}):this.$$parsedNgModelAssign(e,n)}}else if(!this.$$parsedNgModel.assign)throw ao("nonassign",this.$$attr.ngModel,z(this.$$element))},$render:f,$isEmpty:function(e){return E(e)||""===e||null===e||e!==e},$$updateEmptyClasses:function(e){this.$isEmpty(e)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,ro),this.$$animate.addClass(this.$$element,io)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,io),this.$$animate.addClass(this.$$element,ro),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!Oi(this.$modelValue)){var e=this.$$lastCommittedViewValue,t=this.$$rawModelValue,n=this.$valid,i=this.$modelValue,r=this.$options.getOption("allowInvalid"),a=this;this.$$runValidators(t,e,function(e){r||n===e||(a.$modelValue=e?t:void 0,a.$modelValue!==i&&a.$$writeModelToScope())})}},$$runValidators:function(e,t,n){function i(){var n=!0;return a(c.$validators,function(i,r){var a=Boolean(i(e,t));n=n&&a,o(r,a)}),!!n||(a(c.$asyncValidators,function(e,t){o(t,null)}),!1)}function r(){var n=[],i=!0;a(c.$asyncValidators,function(r,a){var s=r(e,t);if(!s||!T(s.then))throw ao("nopromise",s);o(a,void 0),n.push(s.then(function(){o(a,!0)},function(){i=!1,o(a,!1)}))}),n.length?c.$$q.all(n).then(function(){s(i)},f):s(!0)}function o(e,t){l===c.$$currentValidationRunId&&c.$setValidity(e,t)}function s(e){l===c.$$currentValidationRunId&&n(e)}this.$$currentValidationRunId++;var l=this.$$currentValidationRunId,c=this;(function(){var e=c.$$parserName;return E(c.$$parserValid)?(o(e,null),!0):(c.$$parserValid||(a(c.$validators,function(e,t){o(t,null)}),a(c.$asyncValidators,function(e,t){o(t,null)})),o(e,c.$$parserValid),c.$$parserValid)})()&&i()?r():s(!1)},$commitViewValue:function(){var e=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==e||""===e&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(e),this.$$lastCommittedViewValue=e,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){var e=this.$$lastCommittedViewValue,t=this;if(this.$$parserValid=!E(e)||void 0,this.$setValidity(this.$$parserName,null),this.$$parserName="parse",this.$$parserValid)for(var n=0;n<this.$parsers.length;n++)if(e=this.$parsers[n](e),E(e)){this.$$parserValid=!1;break}Oi(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$
24scope));var i=this.$modelValue,r=this.$options.getOption("allowInvalid");this.$$rawModelValue=e,r&&(this.$modelValue=e,t.$modelValue!==i&&t.$$writeModelToScope()),this.$$runValidators(e,this.$$lastCommittedViewValue,function(n){r||(t.$modelValue=n?e:void 0,t.$modelValue!==i&&t.$$writeModelToScope())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),a(this.$viewChangeListeners,function(e){try{e()}catch(t){this.$$exceptionHandler(t)}},this)},$setViewValue:function(e,t){this.$viewValue=e,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(t)},$$debounceViewValueCommit:function(e){var t=this.$options.getOption("debounce");C(t[e])?t=t[e]:C(t["default"])&&-1===this.$options.getOption("updateOn").indexOf(e)?t=t["default"]:C(t["*"])&&(t=t["*"]),this.$$timeout.cancel(this.$$pendingDebounce);var n=this;0<t?this.$$pendingDebounce=this.$$timeout(function(){n.$commitViewValue()},t):this.$$rootScope.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){n.$commitViewValue()})},$overrideModelOptions:function(e){this.$options=this.$options.createChild(e),this.$$setUpdateOnEvents()},$processModelValue:function(){var e=this.$$format();this.$viewValue!==e&&(this.$$updateEmptyClasses(e),this.$viewValue=this.$$lastCommittedViewValue=e,this.$render(),this.$$runValidators(this.$modelValue,this.$viewValue,f))},$$format:function(){for(var e=this.$formatters,t=e.length,n=this.$modelValue;t--;)n=e[t](n);return n},$$setModelValue:function(e){this.$modelValue=this.$$rawModelValue=e,this.$$parserValid=void 0,this.$processModelValue()},$$setUpdateOnEvents:function(){this.$$updateEvents&&this.$$element.off(this.$$updateEvents,this.$$updateEventHandler),(this.$$updateEvents=this.$options.getOption("updateOn"))&&this.$$element.on(this.$$updateEvents,this.$$updateEventHandler)},$$updateEventHandler:function(e){this.$$debounceViewValueCommit(e&&e.type)}},zn({clazz:li,set:function(e,t){e[t]=!0},unset:function(e,t){delete e[t]}});var oo,so=["$rootScope",function(e){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:li,priority:1,compile:function(t){return t.addClass(io).addClass("ng-untouched").addClass(to),{pre:function(e,t,n,i){var r=i[0];t=i[1]||r.$$parentForm,(i=i[2])&&(r.$options=i.$options),r.$$initGetterSetters(),t.$addControl(r),n.$observe("name",function(e){r.$name!==e&&r.$$parentForm.$$renameControl(r,e)}),e.$on("$destroy",function(){r.$$parentForm.$removeControl(r)})},post:function(t,n,i,r){function a(){o.$setTouched()}var o=r[0];o.$$setUpdateOnEvents(),n.on("blur",function(){o.$touched||(e.$$phase?t.$evalAsync(a):t.$apply(a))})}}}}}],lo=/(\s+|^)default(\s+|$)/;di.prototype={getOption:function(e){return this.$$options[e]},createChild:function(e){var t=!1;return e=d({},e),a(e,function(n,i){"$inherit"===n?"*"===i?t=!0:(e[i]=this.$$options[i],"updateOn"===i&&(e.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===i&&(e.updateOnDefault=!1,e[i]=Ri(n.replace(lo,function(){return e.updateOnDefault=!0," "})))},this),t&&(delete e["*"],ui(e,this.$$options)),ui(e,oo.$$options),new di(e)}},oo=new di({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var co=function(){function e(e,t){this.$$attrs=e,this.$$scope=t}return e.$inject=["$attrs","$scope"],e.prototype={$onInit:function(){var e=this.parentCtrl?this.parentCtrl.$options:oo,t=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=e.createChild(t)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:e}},uo=qn({terminal:!0,priority:1e3}),po=i("ngOptions"),go=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,fo=["$compile","$document","$parse",function(t,n,i){function o(e,t,n){function a(e,t,n,i,r){this.selectValue=e,this.viewValue=t,this.label=n,this.group=i,this.disabled=r}function o(e){var t;if(!c&&r(e))t=e;else{t=[];for(var n in e)e.hasOwnProperty(n)&&"$"!==n.charAt(0)&&t.push(n)}return t}var s=e.match(go);if(!s)throw po("iexp",e,z(t));var l=s[5]||s[7],c=s[6];e=/ as /.test(s[0])&&s[1];var d=s[9];t=i(s[2]?s[1]:l);var u=e&&i(e)||t,p=d&&i(d),g=d?function(e,t){return p(n,t)}:function(e){return Ye(e)},f=function(e,t){return g(e,y(e,t))},m=i(s[2]||s[1]),h=i(s[3]||""),v=i(s[4]||""),E=i(s[8]),b={},y=c?function(e,t){return b[c]=t,b[l]=e,b}:function(e){return b[l]=e,b};return{trackBy:d,getTrackByValue:f,getWatchables:i(E,function(e){var t=[];e=e||[];for(var i=o(e),r=i.length,a=0;a<r;a++){var l=e===i?a:i[a],c=e[l],l=y(c,l),c=g(c,l);t.push(c),(s[2]||s[1])&&(c=m(n,l),t.push(c)),s[4]&&(l=v(n,l),t.push(l))}return t}),getOptions:function(){for(var e=[],t={},i=E(n)||[],r=o(i),s=r.length,l=0;l<s;l++){var c=i===r?l:r[l],p=y(i[c],c),b=u(n,p),c=g(b,p),w=m(n,p),S=h(n,p),p=v(n,p),b=new a(c,b,w,S,p);e.push(b),t[c]=b}return{items:e,selectValueMap:t,getOptionFromViewValue:function(e){return t[f(e)]},getViewValueFromOption:function(e){return d?M(e.viewValue):e.viewValue}}}}}var s=e.document.createElement("option"),l=e.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(e,t,n,i){i[0].registerOption=f},post:function(e,i,r,c){function d(e){var t=(e=v.getOptionFromViewValue(e))&&e.element;return t&&!t.selected&&(t.selected=!0),e}function u(e,t){e.element=t,t.disabled=e.disabled,e.label!==t.label&&(t.label=e.label,t.textContent=e.label),t.value=e.selectValue}var p=c[0],g=c[1],f=r.multiple;c=0;for(var m=i.children(),h=m.length;c<h;c++)if(""===m[c].value){p.hasEmptyOption=!0,p.emptyOption=m.eq(c);break}i.empty(),c=!!p.emptyOption,hi(s.cloneNode(!1)).val("?");var v,E=o(r.ngOptions,i,e),y=n[0].createDocumentFragment();p.generateUnknownOptionValue=function(e){return"?"},f?(p.writeValue=function(e){if(v){var t=e&&e.map(d)||[];
24v.items.forEach(function(e){e.element.selected&&-1===Array.prototype.indexOf.call(t,e)&&(e.element.selected=!1)})}},p.readValue=function(){var e=i.val()||[],t=[];return a(e,function(e){(e=v.selectValueMap[e])&&!e.disabled&&t.push(v.getViewValueFromOption(e))}),t},E.trackBy&&e.$watchCollection(function(){if(_(g.$viewValue))return g.$viewValue.map(function(e){return E.getTrackByValue(e)})},function(){g.$render()})):(p.writeValue=function(e){if(v){var t=i[0].options[i[0].selectedIndex],n=v.getOptionFromViewValue(e);t&&t.removeAttribute("selected"),n?(i[0].value!==n.selectValue&&(p.removeUnknownOption(),i[0].value=n.selectValue,n.element.selected=!0),n.element.setAttribute("selected","selected")):p.selectUnknownOrEmptyOption(e)}},p.readValue=function(){var e=v.selectValueMap[i.val()];return e&&!e.disabled?(p.unselectEmptyOption(),p.removeUnknownOption(),v.getViewValueFromOption(e)):null},E.trackBy&&e.$watch(function(){return E.getTrackByValue(g.$viewValue)},function(){g.$render()})),c&&(t(p.emptyOption)(e),i.prepend(p.emptyOption),8===p.emptyOption[0].nodeType?(p.hasEmptyOption=!1,p.registerOption=function(e,t){""===t.val()&&(p.hasEmptyOption=!0,p.emptyOption=t,p.emptyOption.removeClass("ng-scope"),g.$render(),t.on("$destroy",function(){var e=p.$isEmptyOptionSelected();p.hasEmptyOption=!1,p.emptyOption=void 0,e&&g.$render()}))}):p.emptyOption.removeClass("ng-scope")),e.$watchCollection(E.getWatchables,function(){var e=v&&p.readValue();if(v)for(var t=v.items.length-1;0<=t;t--){var n=v.items[t];Fe(b(n.group)?n.element.parentNode:n.element)}v=E.getOptions();var r={};v.items.forEach(function(e){var t;if(b(e.group)){t=r[e.group],t||(t=l.cloneNode(!1),y.appendChild(t),t.label=null===e.group?"null":e.group,r[e.group]=t);var n=s.cloneNode(!1);t.appendChild(n),u(e,n)}else t=s.cloneNode(!1),y.appendChild(t),u(e,t)}),i[0].appendChild(y),g.$render(),g.$isEmpty(e)||(t=p.readValue(),(E.trackBy||f?F(e,t):e===t)||(g.$setViewValue(t),g.$render()))})}}}}],mo=["$locale","$interpolate","$log",function(e,t,n){var i=/{}/g,r=/^when(Minus)?(.+)$/;return{link:function(o,s,l){function c(e){s.text(e||"")}var d,u=l.count,p=l.$attr.when&&s.attr(l.$attr.when),g=l.offset||0,m=o.$eval(p)||{},h={},v=t.startSymbol(),b=t.endSymbol(),y=v+u+"-"+g+b,w=Ii.noop;a(l,function(e,t){var n=r.exec(t);n&&(n=(n[1]?"-":"")+Si(n[2]),m[n]=s.attr(l.$attr[t]))}),a(m,function(e,n){h[n]=t(e.replace(i,y))}),o.$watch(u,function(t){var i=parseFloat(t),r=Oi(i);r||i in m||(i=e.pluralCat(i-g)),i===d||r&&Oi(d)||(w(),r=h[i],E(r)?(null!=t&&n.debug("ngPluralize: no rule defined for '"+i+"' in "+p),w=f,c()):w=o.$watch(r,c),d=i)})}}}],ho=i("ngRef"),vo=["$parse",function(e){return{priority:-1,restrict:"A",compile:function(t,n){var i=lt(N(t)),r=e(n.ngRef),a=r.assign||function(){throw ho("nonassign",n.ngRef)};return function(e,t,o){var s;if(o.hasOwnProperty("ngRefRead")){if("$element"===o.ngRefRead)s=t;else if(s=t.data("$"+o.ngRefRead+"Controller"),!s)throw ho("noctrl",o.ngRefRead,n.ngRef)}else s=t.data("$"+i+"Controller");s=s||t,a(e,s),t.on("$destroy",function(){r(e)===s&&a(e,null)})}}}}],Eo=["$parse","$animate","$compile",function(e,t,n){var o=i("ngRepeat"),s=function(e,t,n,i,r,a,o){e[n]=i,r&&(e[r]=a),e.$index=t,e.$first=0===t,e.$last=t===o-1,e.$middle=!(e.$first||e.$last),e.$odd=!(e.$even=0===(1&t))},l=function(e,t,n){return Ye(n)},c=function(e,t){return t};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(i,d){var u=d.ngRepeat,p=n.$$createComment("end ngRepeat",u),g=u.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!g)throw o("iexp",u);var f=g[1],m=g[2],h=g[3],v=g[4],g=f.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/);if(!g)throw o("iidexp",f);var E=g[3]||g[1],b=g[2];if(h&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(h)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(h)))throw o("badident",h);var y;if(v){var w={$id:Ye},S=e(v);y=function(e,t,n,i){return b&&(w[b]=t),w[E]=n,w.$index=i,S(e,w)}}return function(e,n,i,d,g){var f=ge();e.$watchCollection(m,function(i){var d,m,v,S,C,P,_,A,T,k,V=n[0],I=ge();if(h&&(e[h]=i),r(i))A=i,m=y||l;else for(k in m=y||c,A=[],i)wi.call(i,k)&&"$"!==k.charAt(0)&&A.push(k);for(S=A.length,k=Array(S),d=0;d<S;d++)if(C=i===A?d:A[d],P=i[C],_=m(e,C,P,d),f[_])T=f[_],delete f[_],I[_]=T,k[d]=T;else{if(I[_])throw a(k,function(e){e&&e.scope&&(f[e.id]=e)}),o("dupes",u,_,P);k[d]={id:_,scope:void 0,clone:void 0},I[_]=!0}w&&(w[E]=void 0);for(v in f){if(T=f[v],_=pe(T.clone),t.leave(_),_[0].parentNode)for(d=0,m=_.length;d<m;d++)_[d].$$NG_REMOVED=!0;T.scope.$destroy()}for(d=0;d<S;d++)if(C=i===A?d:A[d],P=i[C],T=k[d],T.scope){v=V;do v=v.nextSibling;while(v&&v.$$NG_REMOVED);T.clone[0]!==v&&t.move(pe(T.clone),null,V),V=T.clone[T.clone.length-1],s(T.scope,d,E,P,b,C,S)}else g(function(e,n){T.scope=n;var i=p.cloneNode(!1);e[e.length++]=i,t.enter(e,null,V),V=i,T.clone=e,I[T.id]=T,s(T.scope,d,E,P,b,C,S)});f=I})}}}}],bo=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngShow,function(t){e[t?"removeClass":"addClass"](n,"ng-hide",{tempClasse
24s:"ng-hide-animate"})})}}}],yo=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngHide,function(t){e[t?"addClass":"removeClass"](n,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],wo=qn(function(e,t,n){e.$watchCollection(n.ngStyle,function(e,n){n&&e!==n&&a(n,function(e,n){t.css(n,"")}),e&&t.css(e)})}),So=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,i,r,o){var s=[],l=[],c=[],d=[],u=function(e,t){return function(n){!1!==n&&e.splice(t,1)}};n.$watch(r.ngSwitch||r.on,function(n){for(var i,r;c.length;)e.cancel(c.pop());for(i=0,r=d.length;i<r;++i){var p=pe(l[i].clone);d[i].$destroy(),(c[i]=e.leave(p)).done(u(c,i))}l.length=0,d.length=0,(s=o.cases["!"+n]||o.cases["?"])&&a(s,function(n){n.transclude(function(i,r){d.push(r);var a=n.element;i[i.length++]=t.$$createComment("end ngSwitchWhen"),l.push({clone:i}),e.enter(i,a.parent(),a)})})})}}}],Co=qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,r){e=n.ngSwitchWhen.split(n.ngSwitchWhenSeparator).sort().filter(function(e,t,n){return n[t-1]!==e}),a(e,function(e){i.cases["!"+e]=i.cases["!"+e]||[],i.cases["!"+e].push({transclude:r,element:t})})}}),Po=qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,r){i.cases["?"]=i.cases["?"]||[],i.cases["?"].push({transclude:r,element:t})}}),_o=i("ngTransclude"),Ao=["$compile",function(e){return{restrict:"EAC",compile:function(t){var n=e(t.contents());return t.empty(),function(e,t,i,r,a){function o(){n(e,function(e){t.append(e)})}if(!a)throw _o("orphan",z(t));i.ngTransclude===i.$attr.ngTransclude&&(i.ngTransclude=""),i=i.ngTransclude||i.ngTranscludeSlot,a(function(e,n){var i;if(i=e.length)e:{i=0;for(var r=e.length;i<r;i++){var a=e[i];if(a.nodeType!==Hi||a.nodeValue.trim()){i=!0;break e}}i=void 0}i?t.append(e):(o(),n.$destroy())},null,i),i&&!a.isSlotFilled(i)&&o()}}}}],To=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){"text/ng-template"===n.type&&e.put(n.id,t[0].text)}}}],ko={$setViewValue:f,$render:f},Vo=["$element","$scope",function(t,n){function i(){s||(s=!0,n.$$postDigest(function(){s=!1,a.ngModelCtrl.$render()}))}function r(e){l||(l=!0,n.$$postDigest(function(){n.$$destroyed||(l=!1,a.ngModelCtrl.$setViewValue(a.readValue()),e&&a.ngModelCtrl.$render())}))}var a=this,o=new pr;a.selectValueMap={},a.ngModelCtrl=ko,a.multiple=!1,a.unknownOption=hi(e.document.createElement("option")),a.hasEmptyOption=!1,a.emptyOption=void 0,a.renderUnknownOption=function(e){e=a.generateUnknownOptionValue(e),a.unknownOption.val(e),t.prepend(a.unknownOption),pi(a.unknownOption,!0),t.val(e)},a.updateUnknownOption=function(e){e=a.generateUnknownOptionValue(e),a.unknownOption.val(e),pi(a.unknownOption,!0),t.val(e)},a.generateUnknownOptionValue=function(e){return"? "+Ye(e)+" ?"},a.removeUnknownOption=function(){a.unknownOption.parent()&&a.unknownOption.remove()},a.selectEmptyOption=function(){a.emptyOption&&(t.val(""),pi(a.emptyOption,!0))},a.unselectEmptyOption=function(){a.hasEmptyOption&&pi(a.emptyOption,!1)},n.$on("$destroy",function(){a.renderUnknownOption=f}),a.readValue=function(){var e=t.val(),e=e in a.selectValueMap?a.selectValueMap[e]:e;return a.hasOption(e)?e:null},a.writeValue=function(e){var n=t[0].options[t[0].selectedIndex];n&&pi(hi(n),!1),a.hasOption(e)?(a.removeUnknownOption(),n=Ye(e),t.val(n in a.selectValueMap?n:e),pi(hi(t[0].options[t[0].selectedIndex]),!0)):a.selectUnknownOrEmptyOption(e)},a.addOption=function(e,t){if(8!==t[0].nodeType){de(e,'"option value"'),""===e&&(a.hasEmptyOption=!0,a.emptyOption=t);var n=o.get(e)||0;o.set(e,n+1),i()}},a.removeOption=function(e){var t=o.get(e);t&&(1===t?(o["delete"](e),""===e&&(a.hasEmptyOption=!1,a.emptyOption=void 0)):o.set(e,t-1))},a.hasOption=function(e){return!!o.get(e)},a.$hasEmptyOption=function(){return a.hasEmptyOption},a.$isUnknownOptionSelected=function(){return t[0].options[0]===a.unknownOption[0]},a.$isEmptyOptionSelected=function(){return a.hasEmptyOption&&t[0].options[t[0].selectedIndex]===a.emptyOption[0]},a.selectUnknownOrEmptyOption=function(e){null==e&&a.emptyOption?(a.removeUnknownOption(),a.selectEmptyOption()):a.unknownOption.parent().length?a.updateUnknownOption(e):a.renderUnknownOption(e)};var s=!1,l=!1;
24a.registerOption=function(e,t,n,o,s){if(n.$attr.ngValue){var l,c;n.$observe("value",function(e){var n,i=t.prop("selected");b(c)&&(a.removeOption(l),delete a.selectValueMap[c],n=!0),c=Ye(e),l=e,a.selectValueMap[c]=e,a.addOption(e,t),t.attr("value",c),n&&i&&r()})}else o?n.$observe("value",function(e){a.readValue();var n,i=t.prop("selected");b(l)&&(a.removeOption(l),n=!0),l=e,a.addOption(e,t),n&&i&&r()}):s?e.$watch(s,function(e,i){n.$set("value",e);var o=t.prop("selected");i!==e&&a.removeOption(i),a.addOption(e,t),i&&o&&r()}):a.addOption(n.value,t);n.$observe("disabled",function(e){("true"===e||e&&t.prop("selected"))&&(a.multiple?r(!0):(a.ngModelCtrl.$setViewValue(null),a.ngModelCtrl.$render()))}),t.on("$destroy",function(){var e=a.readValue(),t=n.value;a.removeOption(t),i(),(a.multiple&&e&&-1!==e.indexOf(t)||e===t)&&r(!0)})}}],Io=function(){return{restrict:"E",require:["select","?ngModel"],controller:Vo,priority:1,link:{pre:function(e,t,n,i){var r=i[0],o=i[1];if(o){if(r.ngModelCtrl=o,t.on("change",function(){r.removeUnknownOption(),e.$apply(function(){o.$setViewValue(r.readValue())})}),n.multiple){r.multiple=!0,r.readValue=function(){var e=[];return a(t.find("option"),function(t){t.selected&&!t.disabled&&(t=t.value,e.push(t in r.selectValueMap?r.selectValueMap[t]:t))}),e},r.writeValue=function(e){a(t.find("option"),function(t){var n=!!e&&(-1!==Array.prototype.indexOf.call(e,t.value)||-1!==Array.prototype.indexOf.call(e,r.selectValueMap[t.value]));n!==t.selected&&pi(hi(t),n)})};var s,l=NaN;e.$watch(function(){l!==o.$viewValue||F(s,o.$viewValue)||(s=he(o.$viewValue),o.$render()),l=o.$viewValue}),o.$isEmpty=function(e){return!e||0===e.length}}}else r.registerOption=f},post:function(e,t,n,i){var r=i[1];if(r){var a=i[0];r.$render=function(){a.writeValue(r.$viewValue)}}}}}},Lo=["$interpolate",function(e){return{restrict:"E",priority:100,compile:function(t,n){var i,r;return b(n.ngValue)||(b(n.value)?i=e(n.value,!0):(r=e(t.text(),!0))||n.$set("value",t.text())), 25function(e,t,n){var a=t.parent();(a=a.data("$selectController")||a.parent().data("$selectController"))&&a.registerOption(e,t,n,i,r)}}}}],Oo=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,i,r){if(r){var a=i.hasOwnProperty("required")||e(i.ngRequired)(t);i.ngRequired||(i.required=!0),r.$validators.required=function(e,t){return!a||!r.$isEmpty(t)},i.$observe("required",function(e){a!==e&&(a=e,r.$validate())})}}}}],Do=["$parse",function(e){return{restrict:"A",require:"?ngModel",compile:function(t,n){var i,r;return n.ngPattern&&(i=n.ngPattern,r="/"===n.ngPattern.charAt(0)&&yi.test(n.ngPattern)?function(){return n.ngPattern}:e(n.ngPattern)),function(e,t,n,a){if(a){var o=n.pattern;n.ngPattern?o=r(e):i=n.pattern;var s=gi(o,i,t);n.$observe("pattern",function(e){var n=s;s=gi(e,i,t),(n&&n.toString())!==(s&&s.toString())&&a.$validate()}),a.$validators.pattern=function(e,t){return a.$isEmpty(t)||E(s)||s.test(t)}}}}}}],Ro=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,i,r){if(r){var a=i.maxlength||e(i.ngMaxlength)(t),o=fi(a);i.$observe("maxlength",function(e){a!==e&&(o=fi(e),a=e,r.$validate())}),r.$validators.maxlength=function(e,t){return 0>o||r.$isEmpty(t)||t.length<=o}}}}}],No=["$parse",function(e){return{restrict:"A",require:"?ngModel",link:function(t,n,i,r){if(r){var a=i.minlength||e(i.ngMinlength)(t),o=fi(a)||-1;i.$observe("minlength",function(e){a!==e&&(o=fi(e)||-1,a=e,r.$validate())}),r.$validators.minlength=function(e,t){return r.$isEmpty(t)||t.length>=o}}}}}];e.angular.bootstrap?e.console&&console.log("WARNING: Tried to load AngularJS more than once."):(oe(),Ee(Ii),Ii.module("ngLocale",[],["$provide",function(e){function t(e){e+="";var t=e.indexOf(".");return-1==t?0:e.length-t-1}e.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),WEEKENDRANGE:[5,6],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,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(e,n){var i=0|e,r=n;return void 0===r&&(r=Math.min(t(e),3)),Math.pow(10,r),1==i&&0==r?"one"
25:"other"}})}]),hi(function(){te(e.document,ne)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(window.angular.element("<style>").text('@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}')),angular.module("ev-templates",[]).run(["$templateCache",function(e){e.put("account/ev-acct-activation.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer" ng-show="showPanel"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.accountActivation.ariaLabels.closeAccountActivationWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction()"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div class="alert alert-{{severityLevel}} text-center" style="vertical-align: middle" translate="{{ activationMessage }}"></div></div></div>'),e.put("account/ev-change-password.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.changePassword.ariaLabels.closeChangePasswordWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction(evChangePasswordForm)"><span class="glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="ev widget-body"><ng-form name="evChangePasswordForm" aria-label="{{\'ev.widgets.changePassword.ariaLabels.changePasswordForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-repeat="validator in changePasswordTemplate.validators"><div class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><ev-attribute id="validator-{{$index}}" input="{{validator}}" type="new_validator" show-labels="{{showLabels}}" form-style="{{formStyle}}" override-translation-key="{{translationPrefix}}" show-confirm-validators="true" hide-show-validator="{{hideShowValidator}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div></div><div id="buttonPanel" class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><div ng-if="isFormStyleDefault && !isLoading && changePasswordTemplate" class="{{isFormStyleDefault && !isLoading && changePasswordTemplate ? \'ev form-group\' : \'\'}}"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" aria-label="{{\'ev.widgets.changePassword.ariaLabels.confirmChangePassword\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-disabled="!evChangePasswordForm.$valid || !(!evChangePasswordForm.$pristine && evChangePasswordForm.$dirty)" ng-click="submitBtnAction(evChangePasswordForm)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.changePassword.ariaLabels.confirmCancelChangePassword\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evChangePasswordForm)">{{cancelbtnCaption}}</button></div></div><div class="{{!isFormStyleDefault && !isLoading && changePasswordTemplate ? \'ev form-group\' : \'\'}}" ng-if="!isFormStyleDefault && !isLoading && changePasswordTemplate"><button type="submit" aria-label="{{\'ev.widgets.changePassword.ariaLabels.confirmChangePassword\' | translate}}" class="ev btn btn-success" ng-disabled="!evChangePasswordForm.$valid || !(!evChangePasswordForm.$pristine && evChangePasswordForm.$dirty)" ng-click="submitBtnAction(evChangePasswordForm)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.changePassword.ariaLabels.confirmCancelChangePassword\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evChangePasswordForm)" ng-disabled="!evChangePasswordForm.$dirty">{{cancelbtnCaption}}</button></div></div></ng-form></div></div>'),e.put("account/ev-edit-profile.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.editProfile.ariaLabels.closeEditProfileWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction(evEditProfileForm)"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div ng-if="imageUploader"><input id="imageInput" type="file" accept="image/*" ng-model="file" on-file-upload="displayImage"><p>Max 3MB. JPG, PNG</p><div class="image-cropper"><img class="profile-pic" ng-src="{{imageData}}"></div><div style="margin-top: 10px;" ng-if="uploadSuccess" class="alert alert-success" role="alert"><p>Successfully Uploaded</p></div><div ng-if="profilePictureError.message" style="margin-top: 10px;" class="alert alert-danger" role="alert"><p>{{getErrorMessage()}}</p></div></div><div id="editProfileCaptureAttrs"><ng-form name="evEditProfileForm" aria-label="{{\'ev.widgets.editProfile.ariaLabels.editProfileForm\' | translate}}" class="ev form-horizontal" role="form" ng-submit="submitBtnAction(evEditProfileForm)" novalidate><ev-event-handler id="widgetGuid"><ev-capture-container action="editProfile"><ev-capture-attributes id="{{evCaptureFormGuid}}" service-name="{{serviceName}}" show-labels="{{showLabels}}" show-error-msgs="{{showErrorMsgs}}" show-existing-attrs="{{showExistingAttrs}}" override-translation-key="{{translationPrefix}}" hidden-attributes="{{hiddenAttributes}}" non-editable="{{nonEditable}}" show-tooltip="{{showTooltip}}" disable-cache="{{disableCache}}" show-provided-data="{{showProvidedData}}" refresh-values="{{refreshValues}}" enable-default-dropdown-option="{{enableDefaultDropdownOption}}" ng-keypress="$event.which === 13 && submitBtnAction(evEditProfileForm)" append-hours-to-b-date="{{appendHoursToBDate}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-capture-attributes></ev-capture-container></ev-event-handler><div id="buttonPanel" ng-if="evEditProfileForm.$ready && evEditProfileForm.$template"><div class="{{evEditProfileForm.$ready ? \'ev form-group\' : \'\'}}"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" aria-label="{{\'ev.widgets.editProfile.ariaLabels.confirmEditProfile\' | translate}}" class="ev btn btn-success" ng-click="submitBtnAction(evEditProfileForm)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.editProfile.ariaLabels.cancelEditProfile\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evEditProfileForm)">{{cancelbtnCaption}}</button></div></div></div></ng-form></div></div></div>'),e.put("account/ev-forgot-password.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" role="button" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.closeForgotPasswordWidget\' | translate}}" class="ev widget-close" ng-click="navBarCloseAction(evPasswordForm)"><span class="glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="ev widget-body"><ng-form name="evPasswordForm" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.resetPasswordForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-repeat="identifier in forgotPasswordTemplate.identifiers" ng-if="identifier.name !== \'password\' && identifier.name !== \'confirmPassword\'" class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}" ng-keypress="$event.which === 13 && submitBtnAction(evPasswordForm)"><ev-attribute id="identifier-{{$index}}" input="{{identifier}}" type="identifier" show-labels="{{showLabels}}" form-style="{{formStyle}}" override-translation-key="{{translationPrefix}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div>
25<div id="buttonPanel" class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><div ng-if="isFormStyleDefault && !isLoading && forgotPasswordTemplate" class="{{isFormStyleDefault && !isLoading && forgotPasswordTemplate ? \'ev form-group\' : \'\'}}"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" ng-show="!sentEmail" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.confirmResetPassword\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-disabled="!evPasswordForm.$valid" ng-click="submitBtnAction(evPasswordForm)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.confirmCancelResetPassword\' | translate}}" class="ev btn btn-default" ng-show="!sentEmail" ng-if="showCancelBtn" ng-click="cancelBtnAction(evPasswordForm)">{{cancelbtnCaption}}</button> <button type="text" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.closeResetPassword\' | translate}}" class="ev btn btn-default" ng-show="sentEmail" style="width:100%" ng-if="closeBtnCaption" ng-click="closeBtnAction()">{{closeBtnCaption}}</button></div></div><div class="{{!isFormStyleDefault && !isLoading && forgotPasswordTemplate ? \'ev form-group\' : \'\'}}" ng-if="!isFormStyleDefault && !isLoading && forgotPasswordTemplate"><button type="submit" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.confirmResetPassword\' | translate}}" class="ev btn btn-success" ng-disabled="!evPasswordForm.$valid" ng-click="submitBtnAction(evPasswordForm)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.forgotPassword.ariaLabels.confirmCancelResetPassword\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evPasswordForm)">{{cancelbtnCaption}}</button></div></div></ng-form></div></div>'),e.put("account/ev-login.tpl.html",'<div id="login-flip" class="flip" ng-style="isHorizontal && {\'min-width\':\'0\'}"><div id="login-flip-front" ng-class="flippedFrontStyle" ng-style="isHorizontal && {\'min-width\':\'0\'}"><div class="flip-front-content"><div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" aria-label="{{\'ev.widgets.login.ariaLabels.closeLoginWidget\' | translate}}" id="widget-cancel" role="button" class="widget-close" ng-click="cancelBtnAction(evLoginForm)"><span class="glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="ev widget-body"><div id="social_box" ng-if="(((!isLoading && loginTemplate && showSocial && !hideSocialForValidator) || (!isLoading && loginTemplate && showSocial && (hideSocialForValidator && !inputChoosen))) && layout === \'1\')" ng-style="!showSeparator && {\'margin-bottom\':\'30px\'}"><ev-social-btns id="{{widgetGuid}}" service-name="{{serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="login" networks="socialNetworks" network-btn-style="{{socialStyle}}" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div><div id="login-divider" ng-show="(((!isLoading && loginTemplate && showSocial && socialNetworks && showLogin && !hideSocialForValidator) || (!isLoading && loginTemplate && showSocial && socialNetworks && showLogin && (hideSocialForValidator && !inputChoosen))) && (showSeparator && layout === \'1\'))" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div ng-if="showErrorMsgs && !showLogin"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div ng-show="showSpinner"><div class="loader" id="loader-1"></div></div><ng-form name="evPreLoginForm" ng-show="isAnArray(authSchemeName) && !inputChoosen && showLogin && !showSpinner" aria-label="{{\'ev.widgets.login.ariaLabels.continueForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" ng-submit="preSubmitForm(evPreLoginForm)" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div ng-keypress="$event.which === 13 && preSubmitForm(evPreLoginForm)" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><label for="textNumberInput" ng-show="showLabels" class="ev control-label widget-label">{{\'ev.widgets.login.multiIdentifier.label\' | translate}}</label> <input id="textNumberInput" name="multiAuthInput" type="text" class="ev form-control widget-input" placeholder="{{\'ev.widgets.login.multiIdentifier.placeholder\' | translate}}" ng-model="multiAuthInput" minlength="1" maxlength="255" ng-pattern="multiAuthInputRegex" ng-required="true" ng-trim="true" ng-model-options="{debounce: debounceTime}"></div><div id="buttonPanelPreLogin" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-if="isFormStyleDefault" class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" id="multiAuthSubmit" aria-label="{{\'ev.widgets.login.ariaLabels.continue\' | translate}}" class="ev btn btn-success {{showCancelBtn ? \'\' : \'btn-lg btn-block\'}}" ng-click="preSubmitForm(evPreLoginForm)">{{continuebtnCaption}}</button></div></div><div class="ev form-group" ng-if="!isFormStyleDefault && !isLoading && loginTemplate"><button type="submit" aria-label="{{\'ev.widgets.login.ariaLabels.continue\' | translate}}" class="ev btn btn-success" ng-click="preSubmitForm(evPreLoginForm)">{{continuebtnCaption}}</button></div></div></ng-form><ng-form name="evLoginForm" ng-show="(isAnArray(authSchemeName) && inputChoosen && showLogin && !showSpinner) || (!isAnArray(authSchemeName) && !inputChoosen && showLogin && !showSpinner) " aria-label="{{\'ev.widgets.login.ariaLabels.loginForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" ng-submit="submitForm(evLoginForm)" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-keypress="$event.which === 13 && submitForm(evLoginForm)" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-repeat="identifier in loginTemplate.identifiers" ng-if="multiAuthObject && multiAuthObject.identifierName === identifier.name" ng-init="identifier.value = multiAuthObject.value; identifier.disabled = true"><ev-attribute id="identifier-{{$index}}" input="{{identifier}}" type="identifier" check-identifier-uniquness="false" show-labels="{{showLabels}}" auto-submit-fp="{{autoSubmitFp}}" form-style="{{formStyle}}" override-translation-key="{{translationPrefix}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div><div ng-repeat="identifier in loginTemplate.identifiers" ng-if="!multiAuthObject"><ev-attribute id="identifier-{{$index}}" input="{{identifier}}" type="identifier" check-identifier-uniquness="false" show-labels="{{showLabels}}" auto-submit-fp="{{autoSubmitFp}}" form-style="{{formStyle}}" override-translation-key="{{translationPrefix}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div></div><div ng-keypress="$event.which === 13 && submitForm(evLoginForm)" class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><div ng-repeat="validator in loginTemplate.validators"><ev-attribute id="validator-{{$index}}" input="{{validator}}" type="validator" show-confirm-validators="false" show-labels="{{showLabels}}" form-style="{{formStyle}}" hide-show-validator="{{hideShowValidator}}" override-translation-key="{{translationPrefix}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div><div ng-if="!isFormStyleDefault && !autoSubmitFp"><div align="right" ng-if="(!isLoading && loginTemplate && showForgotPasswordLink && !multiAuthObject) ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type !== \'PHONE\') ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type === \'PHONE\' && showForgotPasswordOnOtp)"><a class="forgot-password" aria-label="{{\'ev.widgets.login.ariaLabels.forgotPassword\' | translate}}" role="button" ng-click="forgotPasswordAction()">{{forgotPasswordLabel}}</a></div></div><div ng-if="!isFormStyleDefault && autoSubmitFp"><div align="right" ng-if="(!isLoading && loginTemplate && showForgotPasswordLink && !multiAuthObject) ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type !== \'PHONE\') ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type === \'PHONE\' && showForgotPasswordOnOtp)"><a class="forgot-password" aria-label="{{\'ev.widgets.login.ariaLabels.forgotPassword\' | translate}}" role="button" ng-click="autoSubmitFpRequest()">{{forgotPasswordLabel}}</a></div></div></div><div class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><div id="g-recaptcha-id" ng-if="recaptcha || invisibleRecaptcha"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} g-recaptcha">
vendor: 127 bytes, line 25
25<script src="https://www.google.com/recaptcha/api.js?onload=evReCaptchaApiLoaded&render=explicit" async defer="defer"></script>
25<ev-recaptcha enabled="{{recaptcha}}" invisible-recaptcha="{{invisibleRecaptcha}}" ng-model="reCaptchaSettings" site-key="recaptchaSiteKey" data-size="invisible" on-create="setReCaptchaWidgetId(reCaptchaWidgetId)" on-success="setReCaptchaResponse(response, reCaptchaWidgetId)" on-expire="captchaExpiration()" on-submit="loginRecaptcha" data-badge="inline"></div></div></div></div><div ng-if="isFormStyleDefault && !autoSubmitFp"><div align="right" ng-if="(!isLoading && loginTemplate && showForgotPasswordLink && !multiAuthObject) ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type !== \'PHONE\') ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type === \'PHONE\' && showForgotPasswordOnOtp)"><span class="forgot-password" aria-label="{{\'ev.widgets.login.ariaLabels.forgotPassword\' | translate}}" role="button" ng-click="forgotPasswordAction()">{{forgotPasswordLabel}}</span></div></div><div ng-if="isFormStyleDefault && autoSubmitFp"><div align="right" ng-if="(!isLoading && loginTemplate && showForgotPasswordLink && !multiAuthObject) ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type !== \'PHONE\') ||\r\n (!isLoading && loginTemplate && multiAuthObject && multiAuthObject.type === \'PHONE\' && showForgotPasswordOnOtp)"><span class="forgot-password" aria-label="{{\'ev.widgets.login.ariaLabels.forgotPassword\' | translate}}" role="button" ng-click="autoSubmitFpRequest()">{{forgotPasswordLabel}}</span></div></div><div ng-if="rememberMe && loginTemplate && !isLoading" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div class="ev form-group"><div class="{{!isFormStyleDefault ? \'\' : (showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\')}}"><div class="ev checkbox checkbox-primary"><label for="remember_me" class="ev i-checks"><input id="remember_me" type="checkbox" ng-model="evLoginForm.rememberMeChecked"> <i class="remember-me">{{rememberMeLabel}}</i></label></div></div></div></div><div id="buttonPanel" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-if="isFormStyleDefault" class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" id="loginRecaptcha" aria-label="{{\'ev.widgets.login.ariaLabels.confirmLogin\' | translate}}" class="ev btn btn-success {{showCancelBtn ? \'\' : \'btn-lg btn-block\'}}" ng-click="submitForm(evLoginForm)" ng-disabled="!evLoginForm.$valid || !(!evLoginForm.$pristine && evLoginForm.$dirty)">{{submitbtnCaption}}</button> <button type="reset" id="resetButton" aria-label="{{\'ev.widgets.login.ariaLabels.cancelLogin\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evLoginForm)">{{cancelbtnCaption}}</button></div></div><div class="ev form-group" ng-if="!isFormStyleDefault && !isLoading && loginTemplate"><button type="submit" aria-label="{{\'ev.widgets.login.ariaLabels.confirmLogin\' | translate}}" class="ev btn btn-success" ng-disabled="!evLoginForm.$valid || !(!evLoginForm.$pristine && evLoginForm.$dirty)" ng-click="submitForm(evLoginForm)">{{submitbtnCaption}}</button> <button type="reset" id="resetButton" aria-label="{{\'ev.widgets.login.ariaLabels.cancelLogin\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evLoginForm)">{{cancelbtnCaption}}</button></div></div></ng-form><div ng-show="otpEnabled && showOtpButton"><div id="otp-login-divider" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div class="alert alert-info" ng-show="disableOTP">{{\'ev.widgets.oneTimePassword.request_sent_warning\' | translate}}</div><div id="otp-button-container"><div class="ev form-group"><button aria-label="{{\'ev.widgets.login.ariaLabels.oneTimePassword\' | translate}}" class="ev btn btn-success" ng-click="requestOneTimePassword()" ng-disabled="disableOTP || !otpValidAttribute">{{\'ev.widgets.login.buttons.oneTimePassword\' | translate}}</button></div></div></div>
25<div id="login-divider" ng-show="(((!isLoading && loginTemplate && showSocial && socialNetworks && showLogin && !hideSocialForValidator) || (!isLoading && loginTemplate && showSocial && socialNetworks && showLogin && (hideSocialForValidator && !inputChoosen))) && (showSeparator && layout === \'2\'))" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div id="social_box" ng-if="(((!isLoading && loginTemplate && showSocial && !hideSocialForValidator) || (!isLoading && loginTemplate && showSocial && (hideSocialForValidator && !inputChoosen))) && layout === \'2\')" ng-style="!showSeparator && {\'margin-top\':\'30px\'}"><ev-social-btns id="{{widgetGuid}}" service-name="{{serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="login" networks="socialNetworks" network-btn-style="{{socialStyle}}" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div></div></div></div></div><div id="login-flip-back" ng-class="flippedBackStyle" ng-style="isHorizontal && {\'min-width\':\'0\'}"><div class="flip-back-content" align="right"><ev-forgot-password auth-scheme-name="{{forgotPasswordAuthSchemeName}}" ng-if="renderFormPassword" service-name="{{forgotPasswordService}}" title="Forgot Password" form-style="{{formStyle}}" align="{{alignment}}" return-login="{{returnLogin}}" show-labels="{{showLabels}}" show-header="{{showHeader}}" show-container="{{showContainer}}" show-error-msgs="{{showErrorMsgs}}" show-cancel-btn="{{showCancelBtn}}" submitbtn-caption="Reset Password" cancelbtn-caption="Cancel" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-forgot-password><ev-one-time-password auth-scheme-name="{{authSchemeName}}" ng-if="renderOneTimePassword" otp-requires-code="{{otpRequiresCode}}" otp-request-id="{{oneTimePasswordRequestId}}" show-labels="{{showLabels}}" show-container="{{showContainer}}" show-error-msgs="{{showErrorMsgs}}" submitbtn-caption="Log in" cancelbtn-caption="Cancel"></ev-one-time-password></div></div></div>'),e.put("account/ev-one-time-password.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-body" class="ev widget-body"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div ng-if="!otpRequiresCode"><div class="ev alert alert-success"><div>{{\'ev.widgets.oneTimePassword.request_sent\' | translate}}</div></div><button type="reset" aria-label="{{\'ev.widgets.oneTimePassword.ariaLabels.confirmCancel\' | translate}}" class="ev btn btn-default" ng-if="cancelbtnCaption" ng-click="cancelBtnAction()">{{cancelbtnCaption}}</button></div><div ng-if="otpRequiresCode" name="otpForm" aria-label="{{\'ev.widgets.oneTimePassword.ariaLabels.oneTimePasswordForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div class="ev form-group"><input type="text" id="otpCode" ng-model="oneTimePasswordCode" name="oneTimePasswordCode" class="ev form-control" maxlength="6" placeholder="{{\'ev.widgets.oneTimePassword.enterCode\' | translate}}"></div><div id="buttonPanel" class="ev form-group"><div class="ev form-group"><div class="ev col-sm-12"><button type="submit" ng-show="!sentEmail" aria-label="{{\'ev.widgets.oneTimePassword.ariaLabels.code\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-click="submitBtnAction(oneTimePasswordCode)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.oneTimePassword.ariaLabels.confirmCancel\' | translate}}" class="ev btn btn-default" ng-if="cancelbtnCaption" ng-click="cancelBtnAction()">{{cancelbtnCaption}}</button></div></div></div></div></div></div>'),e.put("account/ev-profile-when.tpl.html",'<section id="{{widgetGuid}}" class="ev ng-cloak" ng-transclude><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div id="profile-container" class="ev ng-cloak"></div></section>'),e.put("account/ev-profile.tpl.html",'<div id="{{widgetGuid}}" class="ev ng-cloak"><div ng-transclude></div></div>'),e.put("account/ev-registration.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.registration.ariaLabels.closeRegistrationWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction(evRegistrationForm)"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div ng-show="(!isLoading && evRegistrationForm.$template && showSocial) && layout === \'1\'" id="social_box" ng-style="!showSeparator && {\'margin-bottom\':\'30px\'}"><ev-social-btns id="{{widgetGuid}}" service-name="{{serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="register" networks="socialNetworks" show-error-msgs="{{showErrorMsgs}}" network-btn-style="{{socialStyle}}" network-desc="Register with Social:" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div>
25<div id="login-divider" ng-show="(!isLoading && evRegistrationForm.$template && showSocial && socialNetworks) && (layout === \'1\' && showSeparator)" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div id="registrationCaptureAttrs"><div ng-show="showSpinner"><div class="loader" id="loader-1"></div></div><ng-form name="evRegistrationForm" aria-label="{{\'ev.widgets.registration.ariaLabels.registrationForm\' | translate}}" class="ev form-horizontal" role="form" ng-submit="submitBtnAction(evRegistrationForm)" ng-show="!showSpinner" novalidate><ev-event-handler id="widgetGuid"><ev-capture-container action="register"><ev-capture-attributes id="{{widgetGuid}}" auth-scheme-name="{{authSchemeName}}" service-name="{{serviceName}}" auto-login="{{autoLogin}}" auto-generate-password="{{autoGeneratePassword}}" recaptcha="{{recaptcha}}" invisible-recaptcha="{{invisibleRecaptcha}}" show-labels="{{showLabels}}" hide-show-validator="{{hideShowValidator}}" override-translation-key="{{translationPrefix}}" hidden-attributes="{{hiddenAttributes}}" confirm-validators="{{confirmValidators}}" confirm-identifiers="{{confirmIdentifiers}}" bypass-auth-scheme="{{bypassAuthScheme}}" discourse-login="{{discourseLogin}}" enable-default-dropdown-option="{{enableDefaultDropdownOption}}" ng-keypress="$event.which === 13 && submitBtnAction(evRegistrationForm)" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-capture-attributes></ev-capture-container></ev-event-handler><div id="buttonPanel" ng-if="evRegistrationForm.$ready && evRegistrationForm.$template"><div class="{{evRegistrationForm.$ready ? \'ev form-group\' : \'\'}}"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" id="registerRecaptcha" aria-label="{{\'ev.widgets.registration.ariaLabels.confirmRegistration\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-click="submitBtnAction(evRegistrationForm)">{{submitbtnCaption}}</button> <button type="reset" id="resetButton" aria-label="{{\'ev.widgets.registration.ariaLabels.cancelRegistration\' | translate}}" class="ev btn btn-default" ng-if="showCancelBtn" ng-click="cancelBtnAction(evRegistrationForm)">{{cancelbtnCaption}}</button></div></div></div></ng-form></div><div id="login-divider" ng-show="(!isLoading && evRegistrationForm.$template && showSocial && socialNetworks) && (layout === \'2\' && showSeparator)" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div ng-show="(!isLoading && evRegistrationForm.$template && showSocial) && layout === \'2\'" id="social_box" ng-style="!showSeparator && {\'margin-top\':\'30px\'}"><ev-social-btns id="{{widgetGuid}}" service-name="{{serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="register" networks="socialNetworks" show-error-msgs="{{showErrorMsgs}}" network-btn-style="{{socialStyle}}" network-desc="Register with Social:" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div></div></div>'), 26e.put("account/ev-reset-password.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" arial-label="{{\'ev.widgets.resetPassword.ariaLabels.closeResetPasswordWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction(evResetPasswordForm)"><span class="glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="ev widget-body"><ng-form name="evResetPasswordForm" aria-label="{{\'ev.widgets.resetPassword.ariaLabels.resetPasswordForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-repeat="validator in resetPasswordTemplate.validators" class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><ev-attribute id="validator-{{$index}}" input="{{validator}}" type="new_validator" show-labels="{{showLabels}}" form-style="{{formStyle}}" override-translation-key="{{translationPrefix}}" show-confirm-validators="true" hide-show-validator="{{hideShowValidator}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div>
26<div id="buttonPanel" class="{{isFormStyleDefault ? \'\' : \'ev form-group\'}}"><div ng-if="isFormStyleDefault && !isLoading && resetPasswordTemplate" class="{{isFormStyleDefault && !isLoading && resetPasswordTemplate ? \'ev form-group\' : \'\'}}"><div class="{{showLabels ? \'ev col-sm-8 col-sm-offset-4\' : \'ev col-sm-12\'}}"><button type="submit" aria-label="{{\'ev.widgets.resetPassword.ariaLabels.confirmResetPassword\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-disabled="!evResetPasswordForm.$valid || !(!evResetPasswordForm.$pristine && evResetPasswordForm.$dirty)" ng-click="submitBtnAction(evResetPasswordForm)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.resetPassword.ariaLabels.cancelResetPassword\' | translate}}" class="ev btn btn-default" ng-if="cancelbtnCaption" ng-click="cancelBtnAction(evResetPasswordForm)">{{cancelbtnCaption}}</button></div></div><div class="{{!isFormStyleDefault && !isLoading && resetPasswordTemplate ? \'ev form-group\' : \'\'}}" ng-if="!isFormStyleDefault && !isLoading && resetPasswordTemplate"><button type="submit" aria-label="{{\'ev.widgets.resetPassword.ariaLabels.confirmResetPassword\' | translate}}" class="ev btn btn-success" ng-disabled="!evResetPasswordForm.$valid || !(!evResetPasswordForm.$pristine && evResetPasswordForm.$dirty)" ng-click="submitBtnAction(evResetPasswordForm)">{{submitbtnCaption}}</button> <button type="reset" class="ev btn btn-default" aria-label="{{\'ev.widgets.resetPassword.ariaLabels.cancelResetPassword\' | translate}}" ng-if="cancelbtnCaption" ng-click="cancelBtnAction(evResetPasswordForm)" ng-disabled="!evResetPasswordForm.$dirty">{{cancelbtnCaption}}</button></div></div></ng-form></div></div>'),e.put("account/ev-user-identifier.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" aria-label="{{\'ev.widgets.userIdentifier.ariaLabels.closeUserIdentifierWidget\' | translate}}" id="widget-cancel" role="button" class="widget-close" ng-click="cancelBtnAction(evUserIdentifierForm)"><span class="glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="ev widget-body"><div id="social_box" ng-if="(!isLoading && registrationTemplate && showSocial) && layout === \'1\'" ng-style="!showSeparator && {\'margin-bottom\':\'30px\'}"><ev-social-btns id="{{widgetGuid}}" service-name="{{serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="login" networks="socialNetworks" network-btn-style="{{socialStyle}}" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div><div id="login-divider" ng-show="(!isLoading && registrationTemplate && showSocial && socialNetworks && showIdentifier) && (showSeparator && layout === \'1\')" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><ng-form name="evUserIdentifierForm" ng-show="showIdentifier" aria-label="{{\'ev.widgets.userIdentifier.ariaLabels.userIdentifierForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" ng-submit="submitForm(evUserIdentifierForm)" novalidate><div class="row"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div></div><div class="row" ng-show="isLoading"><div class=""><div class="center"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div></div></div><div class="row" ng-if="!multiAuth"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"><div ng-keypress="$event.which === 13 && submitForm(evUserIdentifierForm)" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-repeat="identifier in registrationTemplate.identifiers" ng-if="identifier.name !== \'password\' && identifier.name !== \'confirmPassword\'"><ev-attribute id="identifier-{{$index}}" input="{{identifier}}" type="identifier" check-identifier-uniquness="false" show-labels="{{showLabels}}" form-style="{{formStyle}}" override-translation-key="{{translationPrefix}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute></div></div></div></div><div class="row" ng-if="multiAuth"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"><div ng-keypress="$event.which === 13 && submitForm(evUserIdentifierForm)" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><label for="multiAuthInput" ng-show="showLabels" class="ev control-label widget-label">{{\'ev.widgets.userIdentifier.multiIdentifier.label\' | translate}}</label> <input id="multiAuthInput" name="multiAuthInput" type="text" ng-model="multiAuthInput" class="ev form-control widget-input" placeholder="{{\'ev.widgets.userIdentifier.multiIdentifier.placeholder\' | translate}}" minlength="1" maxlength="255" ng-pattern="multiAuthInputRegex" ng-required="true" ng-trim="true"></div></div></div><div class="row"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
26<div id="buttonPanel" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-if="!isLoading && registrationTemplate" class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" id="userIdentifierRecaptcha" aria-label="{{\'ev.widgets.userIdentifier.ariaLabels.confirmIdentify\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-click="submitForm(evUserIdentifierForm)" ng-disabled="!evUserIdentifierForm.$valid || !(!evUserIdentifierForm.$pristine && evUserIdentifierForm.$dirty)">{{submitbtnCaption}}</button> <button type="reset" id="resetButton" aria-label="{{\'ev.widgets.userIdentifier.ariaLabels.cancelIdentify\' | translate}}" class="ev btn btn-default" ng-if="showCancel" ng-click="cancelBtnAction(evUserIdentifierForm)">{{cancelbtnCaption}}</button></div></div></div></div></div></ng-form><div id="login-divider" ng-show="(!isLoading && registrationTemplate && showSocial && socialNetworks && showIdentifier) && (showSeparator && layout === \'2\')" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div id="social_box" ng-if="(!isLoading && registrationTemplate && showSocial) && layout === \'2\'" ng-style="!showSeparator && {\'margin-top\':\'30px\'}"><ev-social-btns id="{{widgetGuid}}" service-name="{{serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="login" networks="socialNetworks" network-btn-style="{{socialStyle}}" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div></div></div>'),e.put("ad/ev-paywall-notifier.tpl.html",'<div id="{{widgetGuid}}" class="ev widget-container ev-engagement" ng-if="displayNotifier"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-include="\'ev-notifier-template\'" class="ev-notifier-template"></div></div>'),e.put("ad/ev-paywall.tpl.html",'<div id="{{widgetGuid}}" class="ev widget-container ev-engagement" ng-if="displayPaywall"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-include="\'ev-paywall-template\'" class="ev-paywall-template"></div></div>'),e.put("common/ev-attribute-v2.tpl.html",'<div ng-hide="(isHiddenAttribute(attribute.name) && setDefaultHiddenValue(attribute.name))"><label id="{{\'label_\' + attrIdPrefix + attribute.name}}" for="{{attrIdPrefix + attribute.name}}" class="col-sm-3 control-label widget-label" ng-show="showLabel" style="padding-bottom: 0; text-align: left">{{attribute.label}} <span ng-if="showMandatory && attribute.mandatory">*</span></label><div class="form-group {{showLabel ? \'col-sm-9\' : \'col-sm-12\'}}" ng-if="isInput()"><div ng-show="isShowDescription()" class="attribute-description"><span>{{attribute.placeholder}}</span></div><div class="validator-wrapper-hs"><input id="{{attrIdPrefix + attribute.name}}" aria-labelledby="{{\'label_\' + attrIdPrefix + attribute.name}}" ng-disabled="attribute.disabled || isNonEditable(attribute.name)" ng-required="attribute.mandatory" name="{{attribute.name}}" ng-model="attribute.value" type="{{attribute.type}}" class="form-control widget-input" ng-class="{\'ev-invalid\': (!attribute.value && attribute.mandatory && showMandatory) || attribute.invalid}" placeholder="{{attribute.label}}" minlength="{{attribute.minLength || 1}}" maxlength="{{attribute.maxLength || 255}}" ng-focus="setFocus(attribute, true)" ng-disabled="isNonEditable(attribute.name)" ng-blur="validationCheck(attrIdPrefix + attribute.name, attribute.name, attribute);setFocus(attribute, false)" ng-change="validationCheck(attrIdPrefix + attribute.name, attribute.name, attribute, true); "> <span class="input-group-addon hideShowToggleStyle" ng-if="hideShowValidator && attribute.type === \'password\'" ng-click="toggleHideShow(attrIdPrefix + attribute.name, $event)">show</span></div></div><span id="{{\'AttrInfoMsg-\' + attribute.name}}" ng-if="attribute.isWithInfoMsg && isFocused">{{\'ev.widgets.productProfile.attr.\' + attribute.name + \'.info\' | translate}}</span><div class="form-group {{showLabel ? \'col-sm-9\' : \'col-sm-12\'}}" ng-if="attribute.type == \'dropdown\' && !attribute.name.endsWith(addressAttributesSuffix)"><div ng-show="isShowDescription()" class="attribute-description"><span>{{attribute.placeholder}}</span></div><select ng-disabled="attribute.disabled" id="{{attrIdPrefix + attribute.name}}" aria-labelledby="{{\'label_\' + attrIdPrefix + attribute.name}}" ng-model="attribute.value" name="{{attribute.name}}" class="form-control widget-input" ng-class="{\'ev-invalid\': (!attribute.value && attribute.mandatory && showMandatory) || attribute.invali
26d}" ng-change="validationCheck(attrIdPrefix + attribute.name, attribute.name, attribute, true); handleDisplay(attribute);" ng-required="attribute.mandatory"><option value="{{null}}" ng-selected="!attribute.value">{{\'ev.widgets.selectDropdownOption\' | translate}}</option><option ng-repeat="option in attribute.options" value="{{option.value}}">{{option.caption}}</option></select></div><div class="form-group {{showLabel ? \'col-sm-9\' : \'col-sm-12\'}}" ng-if="attribute.type == \'dropdown\' && attribute.name.endsWith(addressAttributesSuffix)"><div ng-show="isShowDescription()" class="attribute-description"><span>{{attribute.placeholder}}</span></div><select id="{{attrIdPrefix + attribute.name}}" aria-labelledby="{{\'label_\' + attrIdPrefix + attribute.name}}" ng-disabled="attribute.disabled" ng-model="attribute.value" name="{{attribute.name}}" class="form-control widget-input" ng-class="{\'ev-invalid\': (!attribute.value && attribute.mandatory && showMandatory) || attribute.invalid}" ng-change="validationCheck(attrIdPrefix + attribute.name, attribute.name, attribute, true); handleDisplay(attribute);" ng-required="attribute.mandatory"><option value="" disabled="disabled">{{\'ev.widgets.productProfile.address.country.defaultOption\' | translate}}</option><option ng-repeat="option in attribute.options | orderBy : sortCountry ? \'caption\' : \'\'" value="{{option.value}}" ng-disabled="option.disabled">{{option.caption}}</option></select></div><div class="form-group {{showLabel ? \'col-sm-9\' : \'col-sm-12\'}}" ng-if="attribute.type == \'radiobutton\'"><div ng-show="isShowDescription()" class="attribute-description"><span>{{attribute.placeholder}}</span></div><div class="form-group" ng-repeat="option in attribute.options"><label style="padding-left: 15px; margin-bottom: -13px" for="{{attrIdPrefix + \'-radio_\' + attribute.name + \'_\' + $index}}" ng-bind-html="option.caption"></label> <input id="{{attrIdPrefix + \'-radio_\' + attribute.name + \'_\' + $index}}" ng-model="attribute.value" ng-class="{\'ev-invalid\': (!attribute.value && attribute.mandatory && showMandatory) || attribute.invalid}" style="margin-right: 6px" type="radio" name="{{attribute.name}}" value="{{option.value}}" ng-required="attribute.mandatory" ng-blur="validationCheck(attrIdPrefix + \'-radio_\' + attribute.name + \'_\' + $index, attribute.name, attribute, true)"></div></div><div class="form-group {{showLabel ? \'col-sm-9\' : \'col-sm-12\'}}" ng-if="attribute.type == \'checkbox\'"><div ng-show="isShowDescription()" class="attribute-description"><span>{{attribute.placeholder}}</span></div><div id="{{attrIdPrefix + \'-checkbox_\' + attribute.name + \'_\' + option.value + \'_divParent\'}}" class="form-group checkbox-parent" ng-repeat="option in attribute.options"><label style="pointer-events: none" class="checkbox-label" for="{{attrIdPrefix + \'-checkbox_\' + attribute.name + \'_\' + option.value}}" ng-bind-html="option.caption"></label> <input id="{{attrIdPrefix + \'-checkbox_\' + attribute.name + \'_\' + option.value}}" ng-init="checkStatus=initStatus" ng-model="checkStatus" ng-click="triggerCheckbox(attribute, option.value, attrIdPrefix + \'-checkbox_\' + attribute.name + \'_\' + option.value,checkStatus)" ng-class="{\'ev-invalid\': (!attribute.value && attribute.mandatory && showMandatory) || attribute.invalid}" name="{{attribute.name}}" class="checkbox-input" type="checkbox" ng-required="attribute.mandatory" ng-blur="validationCheck(attrIdPrefix + \'-checkbox_\' + attribute.name + \'_\' + option.value, attribute.name, attribute, true)"></div></div><div class="form-group {{showLabel ? \'col-sm-9\' : \'col-sm-12\'}}" ng-if="attribute.type == \'date\'"><ev-date ng-model="attribute.value" ng-class="{\'ev-invalid\': !attribute.value && attribute.mandatory && showMandatory}" name="{{attribute.name}}" append-hours-to-b-date="{{appendHoursToBDate}}"></ev-date></div></div>'),e.put("common/ev-attribute.tpl.html",'<div ng-if="!isFormStyleDefault"><div class="ev form-group" show-errors><label for="{{\'inline_\' + attribute.name}}" ng-show="showLabels" class="ev control-label widget-label">{{attrLabel}}</label><div class="validator-wrapper-hs"><input id="{{\'inline_\' + attribute.name}}" name="{{attribute.name}}" type="{{getElementType()}}" class="ev form-control widget-input" placeholder="{{attrPlaceholder | filterSpecialChars}}" ng-model="evAttrForm.attributes[attribute.name]" minlength="{{minLength || 1}}" maxlength="255" ng-pattern="attributeRegex" ng-required="attribute.mandatory" ng-trim="true" ng-change="verifyIdentifierUniqueness(attribute);validationCheck(\'inline_\' + attribute.name, attribute.name, attribute)" ng-disabled="attribute.disabled" ng-model-options="{debounce: debounceTime}" ng-blur="validationCheck(\'inline_\' + attribute.name, attribute.name, attribute)"> <span class="ev input-group-addon hideShowToggleStyle" ng-if="hideShowValidatorToggle()" ng-click="toggleHideShow(\'inline_\' + attribute.name, $event)">{{\'ev.widgets.attr.password.toggleShow\' | translate}}</span></div><span class="ev input-group-addon" ng-if="isUniqueIdentifierProcessed"><i class="ev glyphicon {{uniqueIdentifier ? \'glyphicon-ok\' : \'glyphicon-remove\'}}"></i></span></div><div class="ev form-group" ng-if="showConfirmValidators && isValidator()" show-errors><label for="{{\'inline_\' + getConfirmValidatorId(attribute.name)}}" ng-show="showLabels" class="ev control-label widget-label">{{getConfirmValidatorLabel(attribute) | translate}}</label><div class="validator-wrapper-hs"><input id="{{\'inline_\' + getConfirmValidatorId(attribute.name)}}" name="{{getConfirmValidatorId(attribute.name)}}" type="{{getElementType()}}" class="ev form-control widget-input" placeholder="{{getConfirmValidatorPlaceHolder(attribute) | translate | filterSpecialChars}}" ng-model="evAttrForm.attributes[\'confirm_\' + attribute.name]" minlength="{{minLength || 1}}" maxlength="255" ng-pattern="attributeRegex" ng-required="attribute.mandatory" ng-trim="true" ev-validator-match="evAttrForm.attributes[attribute.name]" ng-blur="confirmValidationCheck(\'inline_\' + getConfirmValidatorId(attribute.name), getConfirmValidatorId(attribute.name), attribute, evAttrForm.attributes[attribute.name])" ng-change="confirmValidationCheck(\'inline_\' + getConfirmValidatorId(attribute.name), getConfirmValidatorId(attribute.name), attribute, evAttrForm.attributes[attribute.name])"> <span class="ev input-group-addon hideShowToggleStyle" ng-if="hideShowValidatorToggle()" ng-click="confirmValidateToggleHideShow(\'inline_\' + getConfirmValidatorId(attribute.name), $event)">{{\'ev.widgets.attr.password.toggleShow\' | translate}}</span></div><span class="ev input-group-addon" ng-if="isUniqueIdentifierProcessed"><i class="ev glyphicon {{uniqueIdentifier ? \'glyphicon-ok\' : \'glyphicon-remove\'}}"></i></span></div></div><div ng-if="isFormStyleDefault"><div class="ev form-group" show-errors><label for="{{\'horizontal_\' + attribute.name}}" ng-show="showLabels" class="ev col-sm-4 control-label widget-label">{{attrLabel}}</label><div class="input-group {{showLabels ? \'ev col-sm-8\' : \'ev col-sm-12\'}}"><div class="validator-wrapper-hs"><input id="{{\'horizontal_\' + attribute.name}}" name="{{attribute.name}}" type="{{getElementType()}}" class="ev form-control widget-input" placeholder="{{attrPlaceholder | filterSpecialChars}}" ng-model="evAttrForm.attributes[attribute.name]" minlength="{{minLength || 1}}" maxlength="255" ng-pattern="attributeRegex" ng-required="attribute.mandatory" ng-trim="true" ng-change="verifyIdentifierUniqueness(attribute);validationCheck(\'horizontal_\' + attribute.name, attribute.name, attribute)" ng-disabled="attribute.disabled" ng-model-options="{debounce: debounceTime}" ng-blur="validationCheck(\'horizontal_\' + attribute.name, attribute.name, attribute)"> <span class="input-group-addon hideShowToggleStyle" ng-if="hideShowValidatorToggle()" ng-click="toggleHideShow(\'horizontal_\' + attribute.name, $event)">{{\'ev.widgets.attr.password.toggleShow\' | translate}}</span></div><span class="ev input-group-addon" ng-if="isUniqueIdentifierProcessed"><i class="ev glyphicon {{uniqueIdentifier ? \'glyphicon-ok\' : \'glyphicon-remove\'}}"></i></span></div></div><div class="ev form-group" ng-if="showConfirmValidators && isValidator()" show-errors><label for="{{\'horizontal_\' + getConfirmValidatorId(attribute.name)}}" ng-show="showLabels" class="ev col-sm-4 control-label widget-label">{{getConfirmValidatorLabel(attribute) | translate}}</label><div class="input-group {{showLabels ? \'ev col-sm-8\' : \'ev col-sm-12\'}}"><div class="validator-wrapper-hs"><input id="{{\'horizontal_\' + getConfirmValidatorId(attribute.name)}}" name="{{getConfirmValidatorId(attribute.name)}}" type="{{getElementType()}}" class="ev form-control widget-input" placeholder="{{getConfirmValidatorPlaceHolder(attribute) | translate | filterSpecialChars}}" ng-model="evAttrForm.attributes[\'confirm_\' + attribute.name]" minlength="{{minLength || 1}}" maxlength="255" ng-pattern="attributeRegex" ng-required="attribute.mandatory" ng-trim="true" ev-validator-match="evAttrForm.attributes[attribute.name]" ng-blur="confirmValidationCheck(\'horizontal_\' + getConfirmValidatorId(attribute.name), getConfirmValidatorId(attribute.name), attribute, evAttrForm.attributes[attribute.name])" ng-change="confirmValidationCheck(\'horizontal_\' + getConfirmValidatorId(attribute.name), getConfirmValidatorId(attribute.name), attribute, evAttrForm.attributes[attribute.name])"> <span class="input-group-addon hideShowToggleStyle" ng-if="hideShowValidatorToggle()" ng-click="confirmValidateToggleHideShow(\'horizontal_\' + getConfirmValidatorId(attribute.name), $event)">{{\'ev.widgets.attr.password.toggleShow\' | translate}}</span></div></div></div></div>'),e.put("common/ev-capture-attributes.html",'<div id="{{evCaptureFormGuid}}"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{evCaptureFormGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="ev center" ng-if="!evForm.$ready"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div id="authScheme" ng-if="authSchemeName && captureAttrsTemplate && evForm.$ready"><div ng-repeat="identifier in captureAttrsTemplate.identifiers" ng-if="identifier.name !== \'password\' && identifier.name !== \'confirmPassword\'" class="ev"><label for="{{\'auth_\' + identifier.name}}" class="ev col-sm-3 control-label widget-label" ng-show="showLabels" style="padding-bottom: 0; text-align: left">{{ attributes[identifier.name][\'label\'] | capitalize}}</label><div class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div name="{{identifier.name}}" class="form-group tool-tip {{isUniqueIdentifierProcessed ? \'ev input-group\' : \'\'}}" show-errors><div ng-show="isShowDescription(identifier)" class="attribute-description"><span>{{identifier.description}}</span></div><input id="{{\'auth_\' + identifier.name}}" aria-labelledby="{{\'auth_\' + identifier.name}}" name="{{identifier.name}}" type="{{getElementType(identifier.name)}
26}" class="ev form-control widget-input" ng-class="identifier.mandatory && showMandatory ? \'ng-dirty\' : \'\'" placeholder="{{ attributes[identifier.name][\'placeholder\'] | filterSpecialChars}}" ng-model="evAttrs.identifiers[identifier.name]" minlength="1" maxlength="255" ng-required="identifier.mandatory" ng-change="verifyIdentifierUniqueness(identifier, evAttrs.identifiers[identifier.name]);validationCheck(\'auth_\' + identifier.name, identifier.name, identifier)" ng-model-options="{debounce: debounceTime}" ng-disabled="identifier.disabled" ng-blur="validationCheck(\'auth_\' + identifier.name, identifier.name, identifier, true)"> <span ng-if="showTooltip" class="tooltip-text">{{attributes[identifier.name][\'tooltip\']}}</span> <span class="ev input-group-addon" ng-if="isUniqueIdentifierProcessed"><i class="ev glyphicon {{uniqueIdentifier ? \'glyphicon-ok\' : \'glyphicon-remove\'}}"></i></span></div></div><div class="ev" ng-if="isShowConfirmIdentifiers()"><label for="{{\'auth_\' + getConfirmIdentifierId(identifier.name)}}" class="ev col-sm-3 control-label widget-label" ng-show="showLabels" style="text-align: left">{{getConfirmIdentifierLabel(attributes[validator.name][\'label\']) | translate}}</label><div class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div name="{{getConfirmIdentifierId(identifier.name)}}" class="form-group tool-tip" show-errors><input id="{{\'auth_\' + getConfirmIdentifierId(identifier.name)}}" aria-labelledby="\'auth_\' + {{getConfirmIdentifierLabel(identifier.name)}}" name="{{getConfirmIdentifierId(identifier.name)}}" type="{{getElementType(identifier.name)}}" class="ev form-control widget-input" ng-class="identifier.mandatory && showMandatory ? \'ng-dirty\' : \'\'" placeholder="{{getConfirmIdentifierPlaceHolder(attributes[identifier.name][\'label\']) | translate}}" ng-model="evAttrs.identifiers[getConfirmIdentifierId(identifier.name)]" minlength="6" maxlength="255" ng-required="identifier.mandatory" ng-blur="confirmValidationCheck(\'auth_\' + getConfirmIdentifierId(identifier.name), getConfirmIdentifierId(identifier.name), identifier, evAttrs.identifiers[identifier.name])" ng-change="confirmValidationCheck(\'auth_\' + getConfirmIdentifierId(identifier.name), getConfirmIdentifierId(identifier.name), identifier, evAttrs.identifiers[identifier.name], true)"> <span ng-if="showTooltip" class="tooltip-text">{{attributes[identifier.name][\'confirm\'][\'tooltip\']}}</span></div></div></div></div><div ng-repeat="validator in captureAttrsTemplate.validators"><div class="ev"><label for="{{\'auth_\' + validator.name}}" class="ev col-sm-3 control-label widget-label" ng-show="showLabels" style="padding-bottom: 0; text-align: left">{{ attributes[validator.name][\'label\']}}</label><div class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div name="{{validator.name}}" class="form-group" show-errors><div ng-show="isShowDescription(validator)" class="attribute-description"><span>{{validator.description}}</span></div><div class="validator-wrapper-hs form-group tool-tip"><input id="{{\'auth_\' + validator.name}}" aria-labelledby="{{\'auth_\' + validator.name}}" name="{{validator.name}}" type="password" class="ev form-control widget-input" ng-class="validator.mandatory && showMandatory ? \'ng-dirty\' : \'\'" placeholder="{{ attributes[validator.name][\'label\'] | filterSpecialChars}}" ng-model="evAttrs.validators[validator.name]" minlength="4" maxlength="255" ng-required="validator.mandatory" ng-blur="validationCheck(\'auth_\' + validator.name, validator.name, validator)" ng-change="validationCheck(\'auth_\' + validator.name, validator.name, validator, true)"> <span ng-if="showTooltip" class="tooltip-text">{{attributes[validator.name][\'tooltip\']}}</span> <span class="input-group-addon hideShowToggleStyle" ng-if="hideShowValidatorToggle()" ng-click="regToggleHideShow(\'auth_\' + validator.name, $event)">{{\'ev.widgets.attr.password.toggleShow\' | translate}}</span></div></div></div></div><div class="ev" ng-if="isShowConfirmValidators()"><label for="{{getConfirmValidatorId(validator.name)}}" class="ev col-sm-3 control-label widget-label" ng-show="showLabels" style="text-align: left">{{getConfirmValidatorLabel(attributes[validator.name][\'label\']) | translate}}</label><div class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div name="{{getConfirmValidatorId(validator.name)}}" class="form-group" show-errors><div class="validator-wrapper-hs form-group tool-tip"><input id="{{getConfirmValidatorId(validator.name)}}" aria-labelledby="{{getConfirmValidatorLabel(validator.name)}}" name="{{getConfirmValidatorId(validator.name)}}" type="password" class="ev form-control widget-input" ng-class="validator.mandatory && showMandatory ? \'ng-dirty\' : \'\'" placeholder="{{getConfirmValidatorPlaceHolder(attributes[validator.name][\'label\']) | translate}}" ng-model="evAttrs.validators[getConfirmValidatorId(validator.name)]" minlength="6" maxlength="255" ng-required="validator.mandatory" ng-blur="confirmValidationCheck(getConfirmValidatorId(validator.name), getConfirmValidatorId(validator.name), validator, evAttrs.validators[validator.name])" ng-change="confirmValidationCheck(getConfirmValidatorId(validator.name), getConfirmValidatorId(validator.name), validator, evAttrs.validators[validator.name], true)"> <span ng-if="showTooltip" class="tooltip-text">{{attributes[validator.name][\'confirm\'][\'tooltip\'] | filterSpecialChars}}</span> <span class="input-group-addon hideShowToggleStyle" ng-if="hideShowValidatorToggle()" ng-click="regConfirmValidateToggleHideShow(getConfirmValidatorId(validator.name), $event)">{{\'ev.widgets.attr.password.toggleShow\' | translate}}</span></div></div></div></div></div></div><div class="ev" id="serviceAttributes" ng-if="serviceName && captureAttrsTemplate && evForm.$ready"><div ng-repeat="attribute in captureAttrsTemplate.attributes" ng-if="attribute.name !== \'password\' && attribute.name !== \'confirmPassword\'" ng-hide="(isHiddenAttribute(attribute.name) && setDefaultHiddenValue(attribute.name)) || (!showProvidedData && isPopulatedAttribute(attribute.name))"><div class="ev"><label id="{{\'label_\' + attribute.name}}" for="{{attribute.name}}" class="ev col-sm-3 control-label widget-label" ng-show="showLabels" style="padding-bottom: 0; text-align: left">{{ attributes[attribute.name][\'label\']}}</label><div ng-if="!isCompositeAttribute(attribute)" class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div name="{{attribute.name}}" class="form-group tool-tip" show-errors><div ng-show="isShowDescription(attribute)" class="attribute-description"><span>{{attribute.description}}</span></div><input id="{{attribute.name}}" aria-labelledby="{{\'label_\' + attribute.name}}" name="{{attribute.name}}" type="{{getElementType(attribute.name)}}" class="ev form-control widget-input" ng-class="attribute.mandatory && showMandatory ? \'ng-dirty\' : \'\'" placeholder="{{ attributes[attribute.name][\'placeholder\'] | filterSpecialChars}}" ng-model="evAttrs.attributes[attribute.name]" minlength="1" maxlength="255" ng-required="attribute.mandatory" ng-disabled="isNonEditable(attribute.name) && isPopulatedAttribute(attribute.name) || isNonEditable(attribute.name) && isNotProfileWidget()" ng-blur="validationCheck(attribute.name, attribute.name, attribute)" ng-change="validationCheck(attribute.name, attribute.name, attribute, true)"> <span ng-if="showTooltip" class="tooltip-text">{{attributes[attribute.name][\'tooltip\'] | filterSpecialChars}}</span></div></div><div ng-if="isDropdownAttribute(attribute)" class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div class="form-group tool-tip"><div ng-show="isShowDescription(attribute)" class="attribute-description"><span>{{attribute.description}}</span></div><select id="{{attribute.name}}" aria-labelledby="{{\'label_\' + attribute.name}}" name="{{attribute.name}}" class="ev form-control widget-input" ng-model="evAttrs.attributes[attribute.name]" ng-required="attribute.mandatory" ng-disabled="isNonEditable(attribute.name) && isPopulatedAttribute(attribute.name)" ng-change="validationCheck(attribute.name, attribute.name, attribute, true) ; handleDisplay(attribute, \'dropdown\') "><option ng-show="enableDefaultDropdownOption" ng-value="null" ng-selected="!attribute.value">{{\'ev.widgets.selectDropdownOption\' | translate}}</option><option ng-repeat="(key, value) in getCompositeAttribute(attribute)" value="{{value.value}}">{{value.caption || value.name}}</option></select> <span ng-if="showTooltip" class="tooltip-text">{{attributes[attribute.name][\'tooltip\'] | filterSpecialChars}}</span></div></div><div ng-if="isRadioButtonAttribute(attribute)" class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div style="padding-top: 6px" class="form-group tool-tip"><div ng-show="isShowDescription(attribute)" class="attribute-description"><span>{{attribute.description}}</span></div><div id="{{\'radio_\' + attribute.name + \'_\' + value.value + \'_divParent\'}}" class="ev form-group radio-parent" ng-repeat="(key, value) in getCompositeAttribute(attribute)"><label class="radio-label" for="{{\'radio_\' + attribute.name + \'_\' + value.value}}" ng-bind-html="value.caption"></label> <input id="{{\'radio_\' + attribute.name + \'_\' + value.value}}" class="radio-input" type="radio" name="{{attribute.name}}" ng-model="evAttrs.attributes[attribute.name]" value="{{value.value}}" ng-disabled="isNonEditable(attribute.name) && isPopulatedAttribute(attribute.name)" ng-required="attribute.mandatory" ng-blur="validationCheck(\'radio_\' + attribute.name + \'_\' + value.value, attribute.name, attribute, true)"></div><span ng-if="showTooltip" class="tooltip-text">{{attributes[attribute.name][\'tooltip\'] | filterSpecialChars}}</span></div></div><div ng-if="isCheckboxAttribute(attribute)" class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div style="padding-top: 6px" class="form-group tool-tip"><div ng-show="isShowDescription(attribute)" class="attribute-description"><span>{{attribute.description}}</span></div><div id="{{\'checkbox_\' + attribute.name + \'_\' + value.value + \'_divParent\'}}" class="ev form-group checkbox-parent" ng-repeat="(key, value) in getCompositeAttribute(attribute)"><label style="pointer-events: none" class="checkbox-label" for="{{\'checkbox_\' + attribute.name + \'_\' + value.value}}" ng-bind-html="value.caption"></label> <input id="{{\'checkbox_\' + attribute.name + \'_\' + value.value}}" class="checkbox-input" type="checkbox" name="{{attribute.name}}" ng-model="evAttrs.attributes[attribute.name][value.value]" ng-true-value="true" ng-false-value="false" ng-change="handleCheckboxDisplay(\'checkbox_\' + attribute.name + \'_\' + value.value,evAttrs,attribute,value);" ng-disabled="isNonEditable(attribute.name) && isPopulatedAttribute(attribute.name)" ng-required="attribute.mandatory && getCompositeAttribute(attribute).length === 1" ng-blur="validationCheck(\'checkbox_\' + attribute.name + \'_\' + value.value, attribute.name, attribute, true) ; "></div><span ng-if="showTooltip" class="tooltip-text">{{attributes[attribute.name][\'tooltip\'] | filterSpecialChars}}</span></div></div><div ng-if="isDateAttribute(attribute)" class="{{showLabels ? \'ev col-sm-9\' : \'ev col-sm-12\'}}"><div style="padding-top: 6px" class="form-group tool-tip"><ev-date name="{{attribute.name}}" ng-model="evAttrs.attributes[attribute.name]" ng-required="attribute.mandatory" append-hours-to-b-date="{{appendHoursToBDate}}"></ev-date><span ng-if="showTooltip" class="tooltip-text tooltip-date">{{attributes[attribute.name][\'tooltip\'] | filterSpecialChars}}</span></div></div></div></div></div>
vendor: 127 bytes, line 26
26<script src="https://www.google.com/recaptcha/api.js?onload=evReCaptchaApiLoaded&render=explicit" async defer="defer"></script>
26<div id="g-recaptcha-id" ng-if="(recaptcha || invisibleRecaptcha) && evForm.$ready && evForm.$template"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} g-recaptcha"><ev-recaptcha enabled="{{recaptcha}}" invisible-recaptcha="{{invisibleRecaptcha}}" ng-model="evAttrs.reCaptchaSettings" data-size="invisible" theme="light" site-key="recaptchaSiteKey" on-create="setReCaptchaWidgetId(reCaptchaWidgetId)" on-success="setReCaptchaResponse(response, reCaptchaWidgetId)" on-expire="captchaExpiration()" on-submit="registerRecaptcha" data-badge="inline"></div></div></div></div>'), 27e.put("common/ev-date.tpl.html",'<div class="col-sm-3" style="margin-right:3px; max-width: 50px"><div class="ev form-group"><select aria-label="{{\'ev.widgets.dateAttributes.ariaLabels.selectDay\' | translate}}" class="ev form-control widget-input" ng-model="dateValues.day" ng-options="day for day in range(1, 31)" ng-change="updateAttribute(dateValues)"><option value>{{"ev.widgets.ev_date.undef_day" | translate}}</option></select></div></div><div class="col-sm-5" style="margin-right:3px; max-width: 110px"><div class="ev form-group"><select id="monthTest" aria-label="{{\'ev.widgets.dateAttributes.ariaLabels.selectMonth\' | translate}}" class="ev form-control widget-input" ng-model="dateValues.month" ng-options="month[getKey(month)] as getKey(month) for month in months" ng-change="updateAttribute(dateValues)"><option value>{{"ev.widgets.ev_date.undef_month" | translate}}</option></select></div></div><div class="col-sm-4" style="margin-right:3px; max-width: 70px"><div class="ev form-group"><select aria-label="{{\'ev.widgets.dateAttributes.ariaLabels.selectYear\' | translate}}" class="ev form-control widget-input" ng-model="dateValues.year" ng-options="year for year in range(yearStart, yearEnd)" ng-change="updateAttribute(dateValues)"><option value>{{"ev.widgets.ev_date.undef_year" | translate}}</option></select></div></div>'),e.put("common/ev-error-msg.tpl.html",'<div id="{{errorMsgId}}" class="ev alert alert-{{severityLevel}} text-{{align}}" style="vertical-align: middle" ng-if="isShowError && error.message"><a ng-show="showCancel" aria-label="{{\'ev.widgets.errorMsg.ariaLabels.closeAlertMessage\' | translate}}" role="button" class="ev alert-msg-close text-right" ng-click="closeAlertMsgBox()" aria-label="close"><span class="ev glyphicon glyphicon-remove"></span> </a><strong ng-show="showErrorCodes">{{error.code}}</strong> <span ev-compile="error.message"></span><div ng-if="isCorrectWidgetId(errorMsgId)" ng-repeat="ppError in productProfileErrors"><div class="formError">{{ppError}}</div></div></div>'),e.put("pm-v2/ev-2checkout.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="twocheckout-payment"><div ng-show="!success && !submitting"><div class="icons-section"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/amex.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/diners.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/jcb.html\'"></ng-include></div></div><div class="icon uses-ssl element-responsive"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.twocheckout.transactionSecurity" | translate}}</small></div></div><form ng-submit="submit()" aria-label="{{\'ev.widgets.twocheckout.ariaLabels.paymentForm\' | translate}}" class="twocheckout-payment-form" id="pay-twocheckout"><div class="row"><div class="field"><input id="ccNo" type="text" placeholder="{{\'ev.widgets.twocheckout.placeholder.cardNumber\' | translate}}" class="input empty"> <label for="ccNo">{{"ev.widgets.twocheckout.cardNumber" | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field"><input id="expMonth" type="text" placeholder="{{\'ev.widgets.twocheckout.placeholder.cardExpirationMonth\' | translate}}" class="input empty">
27 <label for="expMonth">{{"ev.widgets.twocheckout.cardExpirationMonth" | translate}}</label><div class="baseline"></div></div><div class="field"><input type="text" id="expYear" placeholder="{{\'ev.widgets.twocheckout.placeholder.cardExpirationYear\' | translate}}" class="input empty"> <label for="expYear">{{"ev.widgets.twocheckout.cardExpirationYear" | translate}}</label><div class="baseline"></div></div><div class="field"><input type="text" id="cvv" placeholder="{{\'ev.widgets.twocheckout.placeholder.securityCode\' | translate}}" class="input empty"> <label for="cvv">{{"ev.widgets.twocheckout.securityCode" | translate}}</label><div class="baseline"></div></div></div><div class="payment-twocheckout-footer"><button type="submit" aria-label="{{\'ev.widgets.twocheckout.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block twocheckout-submit-btn">{{"ev.widgets.twocheckout.submitPayment" | translate}}</button></div><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{twocheckoutErrorMessage}}</span></div></form></div><div class="payment-twocheckout-submit"><div class="payment-twocheckout-circle" ng-class="{\'payment-twocheckout-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-twocheckout-success" ng-show="success"><div class="payment-twocheckout-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.twocheckout.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-apple-pay.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="apple-payment"><div ng-show="!success && !submitting"><form ng-submit="submit()" aria-label="{{\'ev.widgets.applepay.ariaLabels.paymentForm\' | translate}}" class="applepay-payment-form"><div id="apple-pay-button" class="apple-pay-button" style="display:none"></div><div id="apple-pay-button-not-active" class="ev alert alert-info text-center apple-pay-button-not-active" style="display:none; vertical-align: middle; cursor: default; margin-top: 10px;"><span>{{"ev.widgets.applePay.error.notActivated" | translate}}</span></div><div class="payment-applepay-footer"><button type="submit" aria-label="{{\'ev.widgets.applepay.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block applepay-submit-btn">{{"ev.widgets.applePay.submitPayment" | translate}}</button></div></form></div><div class="payment-submit"><div class="payment-circle" ng-class="{\'payment-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-success" ng-show="success"><div class="payment-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.manual.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-beneficiary-limit.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-show="isBeneficiaryLimitVisible"><div id="widget-header" class="widget-header"><span class="text-lt">{{widgetTitle || "ev.widgets.beneficiaryLimit.title" | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="beneficiary-input">
27<input type="number" id="beneficiaryInput" ng-model="beneficiaryLimit" name="beneficiaryLimit" class="ev form-control" ng-change="addBeneficiaryLimitToBasket(false)" ng-blur="addBeneficiaryLimitToBasket(true)" ng-keydown="userIsTyping = true" placeholder="0" ng-disabled="disableBeneficiaryInput" onkeydown="return event.key !== \'.\' && event.key !== \',\'"></div></div></div>'),e.put("pm-v2/ev-checkout-button.tpl.html",'<div class="ev pm2" id="{{widgetGuid}}"><div class="widget-body pm2"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div id="g-recaptcha-id" ng-if="recaptcha || invisibleRecaptcha"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} g-recaptcha"><ev-recaptcha enabled="{{recaptcha}}" invisible-recaptcha="{{invisibleRecaptcha}}" ng-model="reCaptchaSettings" site-key="recaptchaSiteKey" on-create="setReCaptchaWidgetId(reCaptchaWidgetId)" on-success="setReCaptchaResponse(response, reCaptchaWidgetId)" on-expire="captchaExpiration()" on-submit="loginRecaptcha"></div></div></div><div class="checkout-button-processing"><button class="btn btn-success btn-lg" id="loginRecaptcha" aria-label="{{\'ev.widgets.checkoutButton.ariaLabels.confirmCheckout\' | translate}}" ng-disabled="processing || !isProductSelected || recaptchaRestriction" ng-click="submit()">{{processingText || "ev.widgets.checkout.submit" | translate}} <span class="circle" ng-show="processing" ng-class="{\'simple-animated-circle\': processing}"></span></button></div></div></div>'),e.put("pm-v2/ev-checkoutdotcom.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="checkoutdotcom-payment"><div ng-show="!success && !submitting"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/mastercard.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/amex.html\'"></ng-include></div></div><div class="icon element-responsive" style="margin: 15px 0px 15px;"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.checkoutdotcom.transactionSecurity" | translate}}</small></div><form ng-submit="submit()" aria-label="{{\'ev.widgets.checkoutdotcom.ariaLabels.paymentForm\' | translate}}" class="checkoutdotcom-payment-form"><div class="frame-container"></div><div class="payment-checkoutdotcom-footer"><button type="submit" aria-label="{{\'ev.widgets.checkoutdotcom.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block checkoutdotcom-submit-btn">{{"ev.widgets.checkoutdotcom.submitPayment" | translate}}</button></div></form></div><div class="payment-checkoutdotcom-submit"><div class="payment-checkoutdotcom-circle" ng-class="{\'payment-checkoutdotcom-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-checkoutdotcom-success" ng-show="success"><div class="payment-checkoutdotcom-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.checkoutdotcom.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-dpo-subscription.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="dpo-payment"><div class="row" ng-show="!processingDPOCheckout"><button class="btn btn-lg dpo-button" aria-label="{{\'ev.widgets.dpo.ariaLabels.submitPayment\' | translate}}" ng-click="createDPOSubscription()">{{\'ev.widgets.dpo.submitPayment\' | translate}}</button></div><div class="payment-dpo-submit"><div class="payment-dpo-circle" ng-class="{\'payment-dpo-animated-circle\': processingDPOCheckout}" ng-show="processingDPOCheckout"></div><div ng-show="processingDPOCheckout"><h3>{{\'ev.widgets.dpo.redirecting\' | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-easypay.tpl.html",'<div><div class="attribute-description"><span>{{paymentOption}}</span></div><select id="paymentOptions" class="form-control" ng-model="selectedPaymentOption" ng-disabled="method"><option ng-repeat="option in paymentOptions" value="{{option}}">{{\'ev.widgets.easypay.paymentOption.\'+ option | translate}}</option></select></div><div ng-if="method" class="table-responsive"><table id="easyPayTable" class="table table-striped table-responsive"><thead><tr><th class="col-md-2" ng-hide="showResultIdColumn">{{ (\'ev.widgets.easypay.table.id\' | translate) || \'ID\' }}</th><th class="col-md-1">{{ (\'ev.widgets.easypay.table.entity\' | translate) || \'Entity\' }}</th><th class="col-md-1">{{ (\'ev.widgets.easypay.table.expirationDate\' | translate) || \'Expiration Date\' }}</th><th class="col-md-1">{{ (\'ev.widgets.easypay.table.reference\' | translate) || \'Reference\' }}</th><th class="col-md-1">{{ (\'ev.widgets.easypay.table.status\' | translate) || \'Status\' }}</th><th class="col-md-1">{{ (\'ev.widgets.easypay.table.type\' | translate) || \'Type\' }}</th></tr></thead><tbody><tr><td class="col-md-2" ng-hide="showResultIdColumn">{{paymentId}}</td><td class="col-md-1">{{ method.entity }}</td><td class="col-md-1">{{ method.expirationDate}}</td><td class="col-md-1">{{ method.reference}}</td><td class="col-md-1">{{ (\'ev.widgets.easypay.table.status\'+ methodKey | translate) || method.status}}</td><td class="col-md-1">{{ (\'ev.widgets.easypay.paymentOption.\'+ method.type | translate) || method.type}}</td></tr></tbody></table></div><div class="row" style="margin-top: 10px;"><div class="col-6"><input class="form-control" ng-show="selectedPaymentOption===\'mbw\'" name="phoneIndicative" id="phoneIndicative" ng-model="phoneIndicative" ng-disabled="disablePhoneNumField" placeholder="{{phoneNumberNum}}"></div><div class="col-6"><input class="form-control" ng-show="selectedPaymentOption===\'mbw\'" name="phoneNumber" id="phoneNumber" ng-model="phoneNumber" ng-disabled="disablePhoneTextField" placeholder="{{phoneNumberText}}"></div></div><div ng-if="error.message" style="margin-top: 10px;" class="alert alert-danger" role="alert"><p>{{error.message}}</p></div><p ng-if="success && selectedPaymentOption===\'mb\'"><b>{{ (\'ev.widgets.easypay.success.mb\' | translate) || \'Your request has been successful, you may use the reference number above to pay through an ATM or your home banking system. This page can be closed
27now.\' }}</b></p><p ng-if="success && selectedPaymentOption===\'mbw\'"><b>{{ (\'ev.widgets.easypay.success.mbw\' | translate) || \'You request has been successful, please proceed with the payment through the MB Way App, you may close this page now.\' }}</b></p>'),e.put("pm-v2/ev-expressPago.tpl.html",'<div id="creditcard-container"></div>'),e.put("pm-v2/ev-gocardless.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div ng-hide="setDDSubmited" class="gocardless-payment"><div><form ng-submit="submitSetUpDirectDebit()" aria-label="{{\'ev.widgets.gocardless.ariaLabels.paymentForm\' | translate}}" name="gocardlessPaymentForm" class="gocardless-payment-form"><div ng-show="!bankAccounts || newAccount"><div class="row form-row" ng-if="bankAccounts.length > 0"><div class="form-group col-md-12"><a ng-click="createNewAccount(false)" aria-label="{{\'ev.widgets.gocardless.ariaLabels.existingBankAccount\' | translate}}" role="button">{{"ev.widgets.gocardless.link.existingBankAccount" | translate}}</a></div></div><div class="row form-row"><div class="form-group col-md-12"><label for="account_holder_name" class="formText">{{"ev.widgets.gocardless.accountHolderName" | translate}}</label> <input name="account_holder_name" id="account_holder_name" type="text" class="form-control" ng-model="accountHolderName" ng-class="{field_with_errors : accountHolderNameError}"> <small id="account_holder_name_error" class="form-text message-error">{{accountHolderNameError | translate}}</small></div></div><div class="row form-row"><div class="form-group col-md-6"><label for="sort_code" class="formText">{{"ev.widgets.gocardless.sortCode" | translate}}</label> <input name="sort_code" id="sort_code" type="text" class="form-control" placeholder="{{\'ev.widgets.gocardless.placeholder.sortCode\' | translate}}" ng-model="sortCode" ng-class="{field_with_errors : sortCodeError}"> <small id="sort_code_error" class="form-text message-error">{{sortCodeError | translate}}</small></div><div class="form-group col-md-6"><label for="account_number" class="formText">{{"ev.widgets.gocardless.accountNumber" | translate}}</label> <input name="account_number" id="account_number" type="text" class="form-control" placeholder="{{\'ev.widgets.gocardless.placeholder.accountNumber\' | translate}}" ng-model="accountNumber" ng-class="{field_with_errors : accountNumberError}"> <small id="account_number_error" class="form-text message-error">{{accountNumberError | translate}}</small></div></div><div class="row form-row"><label for="authorizeMandate" class="form-box"><input type="checkbox" id="authorizeMandate" value="true" ng-model="authorizeMandate" ng-class="{field_with_errors : authorizeMandateError}"> {{"ev.widgets.gocardless.authorizeMandate" | translate}}</label> <small id="authorize_mandate_error" class="form-text message-error">{{authorizeMandateError | translate}}</small></div></div><div ng-show="bankAccounts && !newAccount"><div class="row form-row" ng-if="bankAccounts.length > 0"><div class="form-group col-md-12"><a ng-click="createNewAccount(true)" aria-label="{{\'ev.widgets.gocardless.ariaLabels.createNewBankAccount\' | translate}}" role="button">{{"ev.widgets.gocardless.link.newBankAccount" | translate}}</a></div></div><h4>{{"ev.widgets.gocardless.bankAccounts" | translate}}</h4><div class="row form-row" ng-repeat="ba in bankAccounts"><div class="form-group col-md-6 existing-bank-account"><input type="radio" aria-label="{{\'ev.widgets.gocardless.ariaLabels.selectedBankAccount\' | translate}}" ng-model="$parent.selectedBankAccount" ng-value="ba"> xxxxxx{{ba.accountNumberEnding}} {{ba.bankName}}</div></div></div><div class="form-submit-button"><button type="submit" aria-label="{{\'ev.widgets.gocardless.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block gocardless-submit-dd-btn">{{"ev.widgets.gocardless.submitDirectDebit" | translate}}</button></div></form></div><div class="gocardless-footer-legal"><div class="direct-debit-logo"><ng-include src="\'pm-v2/pm-icons/directdebit.html\'"></ng-include></div><p><span>{{"ev.widgets.gocardless.footer.privacyNotice" | translate}} <a ng-href="{{privacyNotice}}" target="_blank">{{"ev.widgets.gocardless.footer.privacyNoticeLink" | translate}}</a></span></p><p><span class="direct-debit-guarantee">{{"ev.widgets.gocardless.footer.directDebitGuarantee" | translate}} <a ng-href="{{directDebitGuarantee}}" target="_blank" ng-click="">{{"ev.widgets.gocardless.footer.directDebitGuaranteeLink" | translate}}</a></span></p><p><span ng-if="addressLine1">{{addressLine1}}<br></span><span ng-if="addressLine2">{{addressLine2}}<br></span><span ng-if="addressLine3">{{addressLine3}}<br></span><span ng-if="city">{{city}}<br></span><span ng-if="postcode">{{postcode}}<br></span><span ng-if="email">{{email}} | </span><span ng-if="phone">{{phone}}</span></p></div></div><div ng-show="setDDSubmited && !submitting && !success" class="gocardless-payment-conf"><form ng-submit="submitDirectDebitConfirmation()" aria-label="{{\'ev.widgets.gocardless.ariaLabels.submitDirectDebitConfirmation\' | translate}}" class="gocardless-payment-conf-form"><div class="form-title"><span ng-if="!ddConfirmed">{{"ev.widgets.gocardless.titleConfirm" | translate}}</span> <span ng-if="ddConfirmed">{{"ev.widgets.gocardless.titleConfirmed" | translate}}</span></div><div class="conf-form-box"><div ng-show="newAccount"><div class="row"><div class="form-group col-md-12"><label for="accountNameConf" class="formText conf-form-label">{{"ev.widgets.gocardless.accountHolderName" | translate}}</label><p id="accountNameConf">{{accountHolderName | uppercase}}</p></div></div><div class="row"><div class="form-group col-md-6"><label for="sortCodeConf" class="formText conf-form-label">{{"ev.widgets.gocardless.sortCode" | translate}}</label><p id="sortCodeConf">{{sortCode}}</p></div><div class="form-group col-md-6"><label for="accountNumberConf" class="formText conf-form-label">{{"ev.widgets.gocardless.accountNumber" | translate}}</label><p id="accountNumberConf">{{accountNumber}}</p></div></div><div class="row"><div class="form-group col-md-12"><label for="bankName" class="formText conf-form-label">{{"ev.widgets.gocardless.bankName" | translate}}</label><p id="bankName">{{bankName}}</p></div></div></div><div ng-show="!newAccount"><div class="row"><div class="form-group col-md-12"><label for="accountNameConf" class="formText conf-form-label">{{"ev.widgets.gocardless.accountNumberEnding" | translate}}</label><p>xxxxxx{{selectedBankAccount.accountNumberEnding}}</p></div></div><div class="row"><div class="form-group col-md-12"><label for="bankName" class="formText conf-form-label">{{"ev.widgets.gocardless.bankName" | translate}}</label><p>{{selectedBankAccount.bankName}}</p></div></div></div><div class="row"><div class="form-group col-md-12"><a ng-click="changeSetUpDirectDebit()" aria-label="{{\'ev.widgets.gocardless.ariaLabels.changeDirectDebitInfo\' | translate}}" role="button">{{"ev.widgets.gocardless.link.change" | translate}}</a></div><div ng-hide="ddConfirmed" class="form-group col-md-12"><a ng-click="confirmDirectDebit()" aria-label="{{\'ev.widgets.gocardless.ariaLabels.confirmDirectDebitInfo\' | translate}}" role="button">{{"ev.widgets.gocardless.link.confirm" | translate}}</a></div></div></div><div class="form-submit-button"><button type="submit" aria-label="{{\'ev.widgets.gocardless.ariaLabels.confirmDirectDebitSubmit\' | translate}}" class="btn btn-success btn-block gocardless-submit-btn">{{"ev.widgets.gocardless.submitDirectDebitConfirm" | translate}}</button></div></form></div><div class="payment-submit"><div class="payment-circle" ng-class="{\'payment-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-success" ng-show="success"><div class="payment-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.gocardless.directDebitSuccessful" | translate}}</h3><p class="payment-success-message">{{"ev.widgets.gocardless.confirmation.bankStatement" | translate}}</p><p class="payment-success-message">{{"ev.widgets.gocardless.confirmation.emailNotice" | translate}}</p></div></div></div></div>'),e.put("pm-v2/ev-google-pay.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="google-payment"><div ng-show="!success && !submitting"><form ng-submit="submit()" aria-label="{{\'ev.widgets.googlepay.ariaLabels.paymentForm\' | translate}}" class="googlepay-payment-form"><div id="ev-google-pay-container" class="text-center" style="margin: 20px 0px 20px"></div></form></div><div class="payment-submit"><div class="payment-circle" ng-class="{\'payment-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-success" ng-show="success"><div class="payment-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.manual.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-grant-v2.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="widget-body pm2" ng-show="loggedIn"><div class="grant-invite-container"><div class="table-responsive"><table class="table table-striped"><tbody><tr class="grant-invite-table-header"><th>{{\'ev.widgets.grant.productName\' | translate}}</th><th>{{\'ev.widgets.grant.actions\' | translate}}</th></tr><tr class="grant-invite-item" ng-repeat="invitationItem in grantInvitationsList.grants track by $index"><td>{{invitationItem.roleName}}</td><td>{{\'ev.widgets.grant.\' + invitationItem.status | translate}}</td></tr><tr ng-if="grantInvitationKey && grantInvitationKey.status !== \'DECLINED\' && grantInvitationKey.status !== \'ACCEPTED\'"><td>{{grantInvitationKey.roleName}}</td><td><div ng-if="grantInvitationKey.status == \'PENDING\'"><button aria-label="{{\'ev.widgets.grant.ariaLabels.acceptInvitation\' | translate}}" ng-click="acceptInvitation(grantInvitationKey.key)" class="btn btn-success">{{\'ev.widgets.grant.accept\' | translate}}</button> <button aria-label="{{\'ev.widgets.grant.ariaLabels.declineInvitation\' | translate}}" ng-click="declineInvitation(grantInvitationKey.key)" class="btn btn-danger">{{\'ev.widgets.grant.decline\' | translate}}</button></div><div ng-if="grantInvitationKey.status != \'PENDING\'">{{\'ev.widgets.grant.\' + grantInvitationKey.status | translate}}</div></td></tr><tr ng-if="!grantInvitationsList.grants.length && !grantInvitationKey"><td colspan="2" align="center"><span class="grant-invite-no-content">{{\'ev.widgets.grant.noRecordsInvitationKeySpecified\' | translate}}</span></td></tr></tbody></table></div></div></div></div>'),e.put("pm-v2/ev-klarna.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="klarna-payment"><div ng-show="!success && !submitting"><form ng-submit="submit()" aria-label="{{\'ev.widgets.klarna.ariaLabels.paymentForm\' | translate}}" class="klarna-payment-form center"><div id="klarna-payments-container"></div></form></div><div class="payment-klarna-submit"><div class="payment-klarna-circle" ng-class="{\'payment-klarna-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-klarna-success" ng-show="success"><div class="payment-klarna-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.klarna.paymentSuccessful" | translate}}</h3></div></div></div><div ng-if="displayKlarnaBtn" id="KlarnaAuthRow" class="row"><div id="KlarnaAuthCol" class="col-lg-4 col-md-4 col-sm-12 col-xs-12 col-lg-offset-4 col-md-offset-4 center"><button id="KlarnaAuthBtn" type="button" class="btn btn-success" ng-click="getKlarnaAuthorization()">{{"ev.widgets.klarna.buttons.authorize" | translate}}</button></div></div></div></div>'),e.put("pm-v2/ev-manage-referral-code.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div ng-if="hasReferralCode"><div><div id="referral-code-box"><label id="referral-code-label" class="control-label widget-label">{{\'ev.widgets.referral_code.label\' | translate}}: <span id="ev-user-referral-code">{{referralCode}}</span></label></div><div id="referral-count-box"><label id="referral-count-label" class="control-label widget-label">{{\'ev.widgets.referral_code.countLabel\' | translate}}: <span id="referral-count">{{numberOfReferrals}}</span></label></div><div id="referral-link-boc" ng-if="showLink"><label id="referral-link-label" class="control-label widget-label">{{\'ev.widgets.referral_code.linkLabel\' | translate}}: <span id="referral-link">{{referralLink}}</span></label></div></div></div><div ng-if="!hasReferralCode && allowCodeGeneration"><button class="btn btn-success btn-lg" ng-click="generateReferralCode()">{{"ev.widgets.referral_code.generate_code" | translate}}</button></div></div></div>'),e.put("pm-v2/ev-manual.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="manual-payment"><div ng-show="!success && !submitting"><form aria-label="{{\'ev.widgets.manual.ariaLabels.paymentForm\' | translate}}" ng-submit="submit()" class="manual-payment-form"><div class="payment-manual-footer"><button type="submit" aria-label="{{\'ev.widgets.manual.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block manual-submit-btn">{{"ev.widgets.manual.submitPayment" | translate}}</button></div></form></div><div class="payment-submit"><div class="payment-circle" ng-class="{\'payment-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-success" ng-show="success"><div class="payment-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.manual.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-mercado.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="mercado-payment"><div ng-show="!success && !submitting"><div class="icons-section"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/mastercard.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/oca.html\'"></ng-include></div></div><div class="icon uses-ssl element-responsive"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.mercado.transactionSecurity" | translate}}</small></div></div><form aria-label="{{\'ev.widgets.mercado.ariaLabels.paymentForm\' | translate}}" ng-submit="submit()" class="mercado-payment-fo
27rm" id="pay"><div class="row"><div id="cardNumber"></div><div id="securityCode"></div><div id="expirationDate"></div></div><div class="row"><div class="field"><input type="text" id="cardholderName" data-checkout="cardholderName" placeholder="{{\'ev.widgets.mercado.placeholder.cardholderName\' | translate}}" class="input empty"><label for="cardholderName">{{"ev.widgets.mercado.cardholderName" | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field half-width"><select id="docType" aria-label="{{\'ev.widgets.mercado.ariaLabels.selectDocumentType\' | translate}}" data-checkout="docType" class="doctype-select"></select><div class="baseline"></div></div><div class="field half-width"><input id="docNumber" data-checkout="docNumber" placeholder="{{\'ev.widgets.mercado.placeholder.docNumber\' | translate}}" class="input empty"><label for="docNumber">{{"ev.widgets.mercado.docNumber" | translate}}</label><div class="baseline"></div></div></div><div class="payment-mercado-footer"><button type="submit" aria-label="{{\'ev.widgets.mercado.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block mercado-submit-btn">{{"ev.widgets.mercado.submitPayment" | translate}}</button></div><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{mercadoErrorMessage}}</span></div></form></div><div class="payment-mercado-submit"><div class="payment-mercado-circle" ng-class="{\'payment-mercado-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-mercado-success" ng-show="success"><div class="payment-mercado-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.mercado.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'), 28e.put("pm-v2/ev-paycomet.tpl.html",""),e.put("pm-v2/ev-paymenttype-selector.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="row"><select ng-if="displayType==\'list\'" aria-label="{{\'ev.widgets.paymentType.ariaLabels.selectPaymentType\' | translate}}" class="form-control" ng-disabled="!allowedPaymentTypes || allowedPaymentTypes.length == 0" ng-options="paymentType.displayName for paymentType in allowedPaymentTypes" ng-click="myEvent = $event" ng-change="broadcastPaymentTypeChange(selectedPaymentType, null, myEvent)" ng-model="selectedPaymentType"><option value="" selected="selected" disabled="disabled" ng-if="allowedPaymentTypes && allowedPaymentTypes.length > 0 &&\r\n ((paymentType.name !== \'APPLE_PAY\' || (paymentType.name==\'APPLE_PAY\' && isApplePayAvailable()) )\r\n && paymentType.name !== \'NO_CHARGE\'\r\n && paymentType.name !== \'SUBSCRIBE_WITH_GOOGLE\')">- {{ \'ev.widgets.paymentType.default\' | translate }} -</option><option value="" selected="selected" disabled="disabled" ng-if="!allowedPaymentTypes || allowedPaymentTypes.length == 0">- {{ \'ev.widgets.paymentType.no_option\' | translate }} -</option></select><div ng-if="displayType==\'icons\'" class="btn-group">
28<div id="btn-group-payment" style="margin:5px;" ng-if="(paymentType.name !== \'APPLE_PAY\' || (paymentType.name==\'APPLE_PAY\' && isApplePayAvailable()) ) && paymentType.name !== \'NO_CHARGE\' && paymentType.name !== \'SUBSCRIBE_WITH_GOOGLE\'" value="paymentType.displayName" aria-label="{{\'ev.widgets.paymentType.ariaLabels.selectPaymentType\' | translate}}" role="button" class="btn btn-default" ng-class="{\'active\': selectedPaymentType != null && selectedPaymentType.name === paymentType.name}" ng-repeat="paymentType in allowedPaymentTypes" ng-model="selectedPaymentType" ng-click="broadcastPaymentTypeChange(paymentType)"><div id="ev-button-label">{{\'ev.widgets.paymentSelector.\'+ paymentType.name| translate}}<div class="supported-card icon" id="ev-payment-selection"><ng-include ng-if="paymentType.name==\'DIRECT_DEBIT\'" src="\'pm-v2/pm-icons/direct-debit.html\'"></ng-include><ng-include ng-if="paymentType.name==\'PAYPAL\'" src="\'pm-v2/pm-icons/paypal.html\'" ng-class="\'paypal-icon\'"></ng-include><ng-include ng-if="paymentType.name==\'IDEAL\'" src="\'pm-v2/pm-icons/iDeal.html\'"></ng-include><ng-include ng-if="paymentType.name==\'GOOGLE_PAY\'" src="\'pm-v2/pm-icons/google-pay.html\'"></ng-include><ng-include ng-if="paymentType.name==\'APPLE_PAY\'" src="\'pm-v2/pm-icons/apple-pay.html\'"></ng-include></div></div></div></div></div></div></div>'),e.put("pm-v2/ev-paypal-subscription.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="paypal-payment"><div class="row" ng-show="!processingPayPalCheckout"><button class="btn btn-lg paypal-button" aria-label="{{\'ev.widgets.paypal.ariaLabels.submitPayment\' | translate}}" ng-click="createPayPalSubscription()">{{\'ev.widgets.paypal.submitPayment\' | translate}}</button></div><div class="payment-paypal-submit"><div class="payment-paypal-circle" ng-class="{\'payment-paypal-animated-circle\': processingPayPalCheckout}" ng-show="processingPayPalCheckout"></div><div ng-show="processingPayPalCheckout"><h3>{{\'ev.widgets.paypal.redirecting\' | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-paystack.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="paystack-payment"><div class="row" ng-show="!processingPaystackCheckout && !usingCheckoutButton"><button class="btn btn-lg paystack-button" aria-label="{{\'ev.widgets.paystack.ariaLabels.submitPayment\' | translate}}" ng-click="createPaystackPurchase()">{{\'ev.widgets.paystack.submitPayment\' | translate}}</button></div><div class="payment-paystack-submit"><div class="payment-paystack-circle" ng-class="{\'payment-paystack-animated-circle\': processingPaystackCheckout}" ng-show="processingPaystackCheckout"></div><div class="payment-paystack-success" ng-show="success"><div class="payment-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.paystack.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-product-profile.tpl.html",'<div class="ev pm2" id="{{widgetGuid}}"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-if="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div ng-show="!isProductSelected" id="selectProductWarning" class="ev alert alert-info text-center" style="vertical-align: middle"><span>{{\'ev.widgets.productProfile.selectProductWarning\' | translate}}</span></div><div class="widget-body pm2" ng-show="isProductSelected"><div class="row" ng-show="includeLogin && !loggedIn && !isLoginRequest && !socialLoginAttempted" id="product-profile-login"><div class="col-lg-offset-4 col-md-offset-4 col-sm-offset-4 col-lg-4 col-md-4 col-sm-4 card" aria-label="{{\'ev.widgets.productProfile.ariaLabels.haveAlreadyAccount\' | translate}}" role="button" ng-click="changeIsLoginRequest()"><span class="text">{{\'ev.widgets.productProfile.alreadyRegistered\' | translate}}</span></div></div><div class="row" ng-show="includeLogin && socialLoginAttempted" id="product-profile-login-autolinking"><span class="text">{{\'ev.widgets.productProfile.autoLinkingMessage\' | translate}}</span></div><div ng-show="includeLogin && (isLoginRequest || socialLoginAttempted)" class="row"><div class="col-lg-offset-3 col-md-offset-3 col-sm-offset-3 col-lg-6 col-md-6 col-sm-6"><ev-login id="login-widget" title="Login" auth-scheme-name="{{authSchemeName}}" show-header="false" show-labels="{{showLabels}}" auto-login="true" show-social="{{showSocial}}" social-networks="socialNetworks" forgot-password-service="{{forgotPasswordService}}" social-style="{{socialStyle}}" hide-show-validator="{{hideShowValidator}}" skip-ev-validation-fields="{{skipEvValidationFields}}" auto-link-social="true"></ev-login></div></div><div ng-hide="loggedIn || !showSocial || isLoginRequest || socialLoginAttempted" id="social_box"><ev-social-btns id="{{widgetGuid}}" service-name="{{selectedProducts[0].serviceName}}" auto-register="{{autoRegister}}" auto-populate="{{autoPopulate}}" extended-permissions="basic, email" network-action="{{getSocialNetworkAction()}}" networks="socialNetworks" show-error-msgs="{{showErrorMsgs}}" network-btn-style="{{socialStyle}}" network-desc="Register with Social:" show-google-one-tap="{{showGoogleOneTap}}" google-generic-conf="{{googleGenericConf}}" google-btn-conf="{{googleBtnConf}}"></div>
28<div id="login-divider" ng-show="!loggedIn && showSocial && socialNetworks && !isLoginRequest && !socialLoginAttempted" class="txt_divider"><div class="txt_spacer"><span class="spacer"></span><p>{{ \'ev.widgets.orseparator\' | translate }}</p><span class="spacer"></span></div></div><div class="row"><div class="col-lg-12 col-md-12 col-sm-12"><form ng-show="(!includeLogin || !isLoginRequest) && !socialLoginAttempted" class="form-horizontal product-profile-form" aria-label="{{\'ev.widgets.productProfile.ariaLabels.productProfileForm\' | translate}}" role="form" ng-submit="submit()" ng-show="!isLoading && profileGroups" novalidate><div ng-if="!loggedIn || showAuthDetails" class="auth profile-section"><div class="row"><ev-attribute-v2 attr-id-prefix="\'auth-register-\'" attribute="profileGroups.authDetails.attributes[0]" show-label="showLabels" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute-v2><ev-attribute-v2 attr-id-prefix="\'auth-register-\'" attribute="profileGroups.authDetails.attributes[1]" show-label="showLabels" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}" hide-show-validator="{{hideShowValidator}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute-v2><ev-attribute-v2 attr-id-prefix="\'auth-register-\'" attribute="confirmValidatorAttribute" show-label="showLabels" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}" hide-show-validator="{{hideShowValidator}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute-v2></div><div class="clearfix"></div></div><div ng-show="profileGroups.personalDetails" class="personal-details profile-section"><div class="profile-section-title">{{profileGroups.personalDetails.displayName}}</div><ev-attribute-v2 attr-id-prefix="\'personal-details-\'" ng-repeat="attribute in profileGroups.personalDetails.attributes" attribute="attribute" test="test" attributes="profileGroups.personalDetails.attributes" show-label="showLabels" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}" non-editable="{{nonEditable}}" append-hours-to-b-date="{{appendHoursToBDate}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute-v2><div class="clearfix"></div></div><div ng-show="showBeneficaryAddition"><div class="profile-section-title">{{\'ev.widgets.purchases.beneficiariesInput.addBeneficiaryEmail\' | translate}}</div><div class="form-row"><div class="form-group col-sm-3"><label id="label_Beneficiary" class="control-label widget-label" style="padding-bottom: 0; text-align: left">{{\'ev.widgets.purchases.beneficiariesInput.addBeneficiaryEmail\' | translate}}</label></div><div class="form-group col-sm-9"><input type="email" name="inputBeneficiary" id="inputBeneficiary" ng-model="inputBeneficiary" value="email" ng-pattern="emailFormat" class="form-control" placeholder="{{\'ev.widgets.purchases.beneficiariesInput.beneficiaryPlaceholder\' | translate}}"></div></div><div class="form-group col-sm-3"><label id="label_BeneficiaryMessage" class="control-label widget-label" style="padding-bottom: 0; text-align: left">{{\'ev.widgets.purchases.beneficiariesInput.beneficiaryMessageLabel\' | translate}}</label></div><div class="form-group col-sm-9"><textarea rows="5" cols="50" name="inputBeneficiaryMessage" id="inputBeneficiaryMessage" ng-model="inputBeneficiaryMessage" value="beneficiaryMessage" maxlength="256" class="form-control" placeholder="{{\'ev.widgets.purchases.beneficiariesInput.beneficiaryMessagePlaceholder\' | translate}}"></textarea></div><div class="clearfix"></div></div><div ng-repeat="group in profileGroups.otherDetails" class="other-details profile-section"><div class="profile-section-title">{{group.displayName}}</div><ev-attribute-v2 attr-id-prefix="\'other-details-\'" ng-repeat="attribute in group.attributes" test="test" attributes="group.attributes" attribute="attribute" show-label="showLabels" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}" append-hours-to-b-date="{{appendHoursToBDate}}" skip-ev-validation-fields="{{skipEvValidationFields}}"></ev-attribute-v2><div class="clearfix"></div></div><div id="showInvoiceOptionCheckBox" ng-show="(showInvoiceOption && config.requiresBilling) || (showInvoiceOption && invoiceIndependentFromRequiresBilling)"><label for="invoice_required">{{\'ev.widgets.productProfile.invoiceRequired\' | translate}}</label> <input ng-disabled="isInvoiceRequired" id="checkbox_invoice_required" type="checkbox" ng-model="config.showInvoiceCheckStatus" ng-change="changeBillingAddressAttributesMandatory()"></div><ng-include src="firstAddressTemplate"></ng-include><ng-include src="secondAddressTemplate"></ng-include>
28<button ng-show="showSubmitButton" type="submit" aria-label="{{\'ev.widgets.productProfile.ariaLabels.confirmProductProfileForm\' | translate}}" class="btn btn-success product-profile-submit-btn" ng-disabled="submitting">{{\'ev.widgets.productProfile.submit\' | translate}}</button></form></div></div></div></div>'),e.put("pm-v2/ev-product-promo.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-show="isPromoWidgetVisible"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div ng-show="isPromoCodeFailed" id="promoWarning" class="ev alert promo-warn"><span>{{ failureMessage | translate}}</span></div><div class="promo-input" ng-hide="isPromoCodeSuccess"><input type="text" id="promoInput" ng-model="inputPromoCode" name="promoCode" class="ev form-control" maxlength="50" placeholder="{{\'ev.widgets.promo_code.enterPromo\' | translate}}"> <input type="submit" id="promoSubmit" class="ev btn btn-success" value="{{\'ev.widgets.promo_code.applyButtonText\' | translate }}" ng-click="promoCodeSubmit()"></div><div ng-show="isPromoCodeSuccess" id="promoSuccess" class="ev alert alert-green"><span>{{\'ev.widgets.promo_code.success\' | translate}}</span> <i class="glyphicon glyphicon-remove remove-applied-promo-code-icon" ng-click="removeAppliedPromoCode()"></i></div></div></div>'),e.put("pm-v2/ev-product-selection-v3.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="widget-body pm2"><div class="product-list row" ng-class="{\'product-list-centered\' : fewColSize}"><div ng-if="showDeliveryCountry" class="form-group form-inline delivery-country" style="padding-left: 15px;padding-right: 15px;"><label for="country-item">{{"ev.widgets.productSelection.deliveryCountry" | translate}}</label> <select style="width: 100%;" id="country-item" name="country-item" class="form-control" ng-model="selectedCountry" ng-options="country as country.name for country in countries track by country.id" ng-change="changeCountry(selectedCountry)"></select></div><div ng-if="template !== \'third\' || template === \'third\' && productList.length > 1" id="product-{{product.name}}" class="product-item-container{{isRecommended(product.id) && showBoosted ? \' recommended-product\' : \'\'}}" ng-class="productStyle" ng-repeat="product in productList track by $index" ng-init="productIndex = $index"><div class="product-item" ng-class="{\'secondVersion\': template !== \'third\' || template === \'third\' && productList.length > 1}"><div class="product-header"><div class="product-boost" ng-if="showBoosted && !boostedDown"><div class="product-boosted" ng-if="isRecommended(product.id)"><span class="glyphicon glyphicon-star" aria-hidden="true"></span><div>{{"ev.widgets.productSelection.text.boosted" | translate}}</div></div><div class="product-not-boosted" ng-if="!isRecommended(product.id)">{{"ev.widgets.productSelection.text.normal" | translate}}</div><hr ng-class="{\'secondVersion\': template !== \'third\' || template === \'third\' && productList.length > 1}"></div><div class="product-title" ng-hide="hideProductDisplayName || titleDown">{{product.displayName}}</div><div ng-if="showProductDescription && !descriptionDown" class="product-description">{{product.description}}</div><hr ng-if="!showBoosted && product.imageUrl && !headerDown" ng-class="{\'secondVersion\': template !== \'third\' || template === \'third\' && productList.length > 1}"><div class="product-image" ng-if="product.imageUrl && !imageDown"><img ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="!enableEqualizeHeights ? {\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'} : {}" class="img-responsive img-rounded product-{{$index}}-image" ng-src="{{product.imageUrl}}"></div><div ng-if="product.features.length && !featureDown && hideProductFeatures" class="product-features"><ul><li ng-repeat="features in product.features track by $index">{{features}}</li></ul></div></div><div ng-hide="!headerDown || !titleDown || !featureDown || !imageDown || !boostedDown || !descriptionDown" class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraHeaderPadding($index) + \'px\' : \'0\'}"></div><hr ng-hide="!headerDown || !titleDown || !featureDown || !imageDown || !boostedDown || !descriptionDown" ng-class="{\'secondVersion\': template !== \'third\' || template === \'third\' && productList.length > 1}"><div class="product-body"><div ng-if="template === \'second\' || template === \'third\' && productList.length > 1 " class="payment-content"><div class="payment-plans-header" ng-init="getMaxPaymentPlanHeight(product.name, product.paymentPlans.length)"><p>{{\'ev.widgets.productSelection.paymentPlansHeader\' | translate}}</p></div><div id="payment-plans-{{product.name}}-second" class="row"><div ng-if="!horizontalProducts && isHiddenToDisplay(product, paymentPlan)" id="payment-plan-{{product.name + \'-\' + paymentPlan.name}}-row" class="row" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\')" ng-repeat="paymentPlan in product.paymentPlans track by $index" ng-class="{\'payment-plan-selected\': isSelected(productIndex, paymentPlan.name, product)}"><div class="ev-radio-container" ng-if="radioButton"><input type="radio" ng-if="radioButton" aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectPlan\' | translate}} {{paymentPlan.name}}" ng-checked="isAutoSelected || isSelected(productIndex, paymentPlan.name, product)" ng-class="{\'payment-plan-selected-checkbox\': singlePaymentPlan}"></div><div class="ev-radio-placeholder" ng-if="radioButton"></div><div ng-if="selectButtonPlacement === \'top\' " ng-hide="displayOnly" class="product-footer select-button-top"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div class="paymentPlan-image" ng-if="selectButtonPlacement && paymentPlan.imageUrl && !imageDown"><img ng-src="{{paymentPlan.imageUrl}}" class="img-responsive img-rounded product-{{$index}}-image" ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="{\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'}"></div><input type="checkbox" ng-if="!radioButton" aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectPlan\' | translate}} {{paymentPlan.name}}" ng-checked="isAutoSelected || isSelected(productIndex, paymentPlan.name, product)" ng-class="{\'payment-plan-selected-checkbox\': singlePaymentPlan}"><div class="payment-price" ng-if="hideDecimalPrice">
28{{paymentPlan.currency.symbol}}{{getPlanPrice(paymentPlan)}}</div><div class="payment-price" ng-if="!hideDecimalPrice">{{paymentPlan.currency.symbol}}{{getPlanPrice(paymentPlan) | currency:\'\':2}}</div><div class="payment-frequency">{{"ev.widgets.plan.frequency." + paymentPlan.frequency.id | translate }}</div><div class="payment-text"><span ng-if="paymentPlan.discount.displayName && discountDisplayName" style="display: block;">{{paymentPlan.discount.displayName}}</span> <span ng-if="paymentPlan.discount.offerDescription && discountOfferDescription" style="display: block;">{{paymentPlan.discount.offerDescription}}</span> <span ng-if="paymentPlan.discount.offerText && discountOfferText" style="display: block;">{{paymentPlan.discount.offerText}}</span> <span ng-show="showPlanDisplayName">{{paymentPlan.displayName}}</span> <span ng-hide="hidePlanDescription">{{paymentPlan.description}}</span></div><div ng-if="selectButtonPlacement === \'middle\' " ng-hide="displayOnly" class="product-footer select-button-middle"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="selectButtonPlacement && paymentPlan.features.length && !featureDown && hidePlanFeatures" class="paymentPlan-features"><ul><li ng-repeat="features in paymentPlan.features track by $index">{{features}}</li></ul></div><div ng-if="enableSwg"><ev-swg skus="{{skusSwg}}" redirect-linking="{{redirectLinkingSwg}}" new-tab-linking="{{newTabLinkingSwg}}" auto-register="{{autoRegisterSwg}}" auto-populate="{{autoPopulateSwg}}"></ev-swg></div><div ng-if="selectButtonPlacement === \'bottom\' " ng-hide="displayOnly" class="product-footer select-button-bottom"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="paymentPlan.customLinkLocation" class="customLinkLocation"><a href="{{ paymentPlan.customLinkLocation }}" target="_blank" rel="noopener noreferrer">{{ paymentPlan.customLinkName }}</a></div></div><div ng-if="horizontalProducts && isHiddenToDisplay(product, paymentPlan)" id="payment-plan-{{product.name + \'-\' + paymentPlan.name}}-col" class="col-xs-12 col-sm-{{product.paymentPlans.length > 2 ? 6 : 12/product.paymentPlans.length}} col-md-{{product.paymentPlans.length > 3 ? 3 : 12/product.paymentPlans.length}} col-lg-{{product.paymentPlans.length > 4 ? 4 : 12/product.paymentPlans.length}} equal-col-height" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\')" ng-repeat="paymentPlan in product.paymentPlans track by $index" ng-class="{\'payment-plan-selected\': isSelected(productIndex, paymentPlan.name, product)}"><div ng-if="selectButtonPlacement === \'top\' " ng-hide="displayOnly" class="product-footer select-button-top"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div class="paymentPlan-image" ng-if="selectButtonPlacement && paymentPlan.imageUrl && !imageDown"><img ng-src="{{paymentPlan.imageUrl}}" class="img-responsive img-rounded product-{{$index}}-image" ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="{\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'}"></div><input type="checkbox" aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectPlan\' | translate}} {{paymentPlan.name}}" ng-checked="isAutoSelected || isSelected(productIndex, paymentPlan.name, product)" ng-class="{\'payment-plan-selected-checkbox\': singlePaymentPlan}"><div class="payment-price" ng-if="hideDecimalPrice">
28{{paymentPlan.currency.symbol}}{{getPlanPrice(paymentPlan)}}</div><div class="payment-price" ng-if="!hideDecimalPrice">{{paymentPlan.currency.symbol}}{{getPlanPrice(paymentPlan) | currency:\'\':2}}</div><div class="payment-frequency">{{"ev.widgets.plan.frequency." + paymentPlan.frequency.id | translate }}</div><div class="payment-text"><span ng-if="paymentPlan.discount.displayName && discountDisplayName" style="display: block;">{{paymentPlan.discount.displayName}}</span> <span ng-if="paymentPlan.discount.offerDescription && discountOfferDescription" style="display: block;">{{paymentPlan.discount.offerDescription}}</span> <span ng-if="paymentPlan.discount.offerText && discountOfferText" style="display: block;">{{paymentPlan.discount.offerText}}</span> <span ng-show="showPlanDisplayName">{{paymentPlan.displayName}}</span> <span ng-hide="hidePlanDescription">{{paymentPlan.description}}</span></div><div ng-if="selectButtonPlacement === \'middle\' " ng-hide="displayOnly" class="product-footer select-button-middle"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="selectButtonPlacement && paymentPlan.features.length && !featureDown && hidePlanFeatures" class="paymentPlan-features"><ul><li ng-repeat="features in paymentPlan.features track by $index">{{features}}</li></ul></div><div ng-if="enableSwg"><ev-swg skus="{{skusSwg}}" redirect-linking="{{redirectLinkingSwg}}" new-tab-linking="{{newTabLinkingSwg}}" auto-register="{{autoRegisterSwg}}" auto-populate="{{autoPopulateSwg}}"></ev-swg></div><div ng-if="selectButtonPlacement === \'bottom\' " ng-hide="displayOnly" class="product-footer select-button-bottom"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="paymentPlan.customLinkLocation" class="customLinkLocation"><a href="{{ paymentPlan.customLinkLocation }}" target="_blank" rel="noopener noreferrer">{{ paymentPlan.customLinkName }}</a></div></div></div></div><div ng-if="template === \'first\' " class="payment-content"><ul id="payment-plans-{{product.name}}-first" class="list-unstyled"><li id="payment-plan-{{product.name + \'-\' + paymentPlan.name}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\')" ng-if="isHiddenToDisplay(product, paymentPlan)" ng-repeat="paymentPlan in product.paymentPlans track by $index" ng-class="{\'payment-plan-selected\': isSelected(productIndex, paymentPlan.name, product)}"><div ng-if="selectButtonPlacement === \'top\'" ng-hide="displayOnly" class="product-footer select-button-top"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div class="paymentPlan-image" ng-if="selectButtonPlacement && paymentPlan.imageUrl && !imageDown"><img ng-src="{{paymentPlan.imageUrl}}" class="img-responsive img-rounded product-{{$index}}-image" ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="{\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'}"></div><input type="checkbox" aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectPlan\' | translate}} {{paymentPlan.name}}" ng-checked="isAutoSelected || isSelected(productIndex, paymentPlan.name, product)" ng-class="{\'payment-plan-selected-checkbox\': singlePaymentPlan}"><div class="payment-price" ng-if="hideDecimalPrice">
28{{paymentPlan.currency.symbol}}{{getPlanPrice(paymentPlan)}}</div><div class="payment-price" ng-if="!hideDecimalPrice">{{paymentPlan.currency.symbol}}{{getPlanPrice(paymentPlan) | currency:\'\':2}}</div><div class="payment-frequency">{{"ev.widgets.plan.frequency." + paymentPlan.frequency.id | translate }}</div><div class="payment-text"><span ng-if="paymentPlan.discount.displayName && discountDisplayName" style="display: block;">{{paymentPlan.discount.displayName}}</span> <span ng-if="paymentPlan.discount.offerDescription && discountOfferDescription" style="display: block;">{{paymentPlan.discount.offerDescription}}</span> <span ng-if="paymentPlan.discount.offerText && discountOfferText" style="display: block;">{{paymentPlan.discount.offerText}}</span> <span ng-show="showPlanDisplayName">{{paymentPlan.displayName}}</span> <span ng-hide="hidePlanDescription">{{paymentPlan.description}}</span></div><div ng-if="selectButtonPlacement === \'middle\' " ng-hide="displayOnly" class="product-footer select-button-middle"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="selectButtonPlacement && paymentPlan.features.length && !featureDown && hidePlanFeatures" class="paymentPlan-features"><ul><li ng-repeat="features in paymentPlan.features track by $index">{{features}}</li></ul></div><div ng-if="selectButtonPlacement === \'bottom\' " ng-hide="displayOnly" class="product-footer select-button-bottom"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="paymentPlan.customLinkLocation" class="customLinkLocation"><a href="{{ paymentPlan.customLinkLocation }}" target="_blank" rel="noopener noreferrer">{{ paymentPlan.customLinkName }}</a></div><div ng-if="enableSwg && paymentPlan.externalIds.GOOGLE"><ev-swg skus="{{paymentPlan.externalIds.GOOGLE}}" redirect-linking="{{redirectLinkingSwg}}" new-tab-linking="{{newTabLinkingSwg}}" auto-register="{{autoRegisterSwg}}" auto-populate="{{autoPopulateSwg}}"></ev-swg></div></li></ul></div></div><div ng-show="headerDown || titleDown || featureDown || imageDown || boostedDown || descriptionDown" class="product-header"><div class="product-boost" ng-if="showBoosted && boostedDown"><div class="product-boosted" ng-if="isRecommended(product.id)"><span class="glyphicon glyphicon-star" aria-hidden="true"></span><div>{{"ev.widgets.productSelection.text.boosted" | translate}}</div></div><div class="product-not-boosted" ng-if="!isRecommended(product.id)">{{"ev.widgets.productSelection.text.normal" | translate}}</div><hr ng-class="{\'secondVersion\': template !== \'third\' || template === \'third\' && productList.length > 1}"></div><div class="product-title" ng-hide="hideProductDisplayName || !titleDown">{{product.displayName}}</div><div ng-if="showProductDescription && descriptionDown" class="product-description">{{product.description}}</div><hr ng-if="!showBoosted && product.imageUrl && headerDown" ng-class="{\'secondVersion\': template !== \'third\' || template === \'third\' && productList.length > 1}"><div class="product-image" ng-if="product.imageUrl && imageDown"><img ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="!enableEqualizeHeights ? {\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'} : {}" class="img-responsive img-rounded product-{{$index}}-image" ng-src="{{product.imageUrl}}"></div><div ng-if="product.features.length && featureDown && hideProductFeatures" class="product-features"><ul><li ng-repeat="features in product.features track by $index">{{features}}</li></ul></div></div><div ng-if="product.giftEnabled && showGiftOption && !commonGiftSelector" class="ev-gift-option"><label for="orderType-{{product.name}}">{{ "ev.widgets.productSelection.orderType.GIFT" | translate }}</label> <input id="orderType-{{product.name}}" type="checkbox" ng-checked="isOrderTypeSelected(product.name)" ng-click="selectOrderTypeOption(product.name, orderType)"></div><div ng-hide="displayOnly || selectButtonPlacement" class="product-footer"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.select" | translate}}</button></div></div></div><div ng-if="template === \'third\' && productList.length === 1" class="product-header"><div class="product-title" ng-hide="hideProductDisplayName">{{productList[0].displayName}}</div></div><div ng-if="template === \'third\' && productList.length === 1" id="product-{{product.name}}" class="product-item-container{{isRecommended(product.id) && showBoosted ? \' recommended-product\' : \'\'}}" ng-class="productStyleForThirdTemplate" ng-repeat="product in productList track by $index" ng-init="productIndex = $index"><div id="payment-plans-{{product.name}}-third"><div ng-if="!horizontalProducts && isHiddenToDisplay(product, paymentPlan)" id="payment-plan-{{product.name + \'-\' + paymentPlan.name}}-row" ng-repeat="paymentPlan in product.paymentPlans track by $index" ng-class="{\'payment-plan-selected\': isSelected(productIndex, paymentPlan.name, product)}"><div ng-if="selectButtonPlacement === \'top\'" ng-hide="displayOnly" class="product-footer select-button-top"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div class="paymentPlan-image" ng-if="paymentPlan.imageUrl && !imageDown"><img ng-src="{{paymentPlan.imageUrl}}" class="img-responsive img-rounded product-{{$index}}-image" ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="{\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'}"></div><input type="checkbox" aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectPlan\' | translate}} {{paymentPlan.name}}" ng-checked="isAutoSelected || isSelected(productIndex, paymentPlan.name, product)" ng-class="{\'payment-plan-selected-checkbox\': singlePaymentPlan}"><div class="payment-frequency">{{"ev.widgets.plan.frequency." + paymentPlan.frequency.id | translate }}</div><div class="payment-price" ng-if="hideDecimalPrice"><span class="payment-currency-symbol">
28{{paymentPlan.currency.symbol}}</span> {{getPlanPrice(paymentPlan)}}</div><div class="payment-price" ng-if="!hideDecimalPrice"><span class="payment-currency-symbol">{{paymentPlan.currency.symbol}}</span> {{getPlanPrice(paymentPlan) | currency:\'\':2}}</div><div class="payment-text"><span ng-if="paymentPlan.discount.displayName && discountDisplayName" style="display: block;">{{paymentPlan.discount.displayName}}</span> <span ng-if="paymentPlan.discount.offerDescription && discountOfferDescription" style="display: block;">{{paymentPlan.discount.offerDescription}}</span> <span ng-if="paymentPlan.discount.offerText && discountOfferText" style="display: block;">{{paymentPlan.discount.offerText}}</span><div style="display: block; text-align: center;"><span ng-show="showProductDisplayName" style="display: block;">{{product.displayName}}</span> <span ng-show="showPlanDisplayName" style="display: block;">{{paymentPlan.displayName}}</span></div><span ng-hide="hidePlanDescription">{{paymentPlan.description}}</span></div><div ng-if="selectButtonPlacement === \'middle\' " ng-hide="displayOnly" class="product-footer select-button-middle"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="paymentPlan.features.length && hidePlanFeatures" class="paymentPlan-features"><ul><li ng-repeat="features in paymentPlan.features track by $index">{{features}}</li></ul></div><div ng-hide="!headerDown || !titleDown || !featureDown || !imageDown || !boostedDown || !descriptionDown" class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraHeaderPadding($index) + \'px\' : \'0\'}"></div><hr ng-hide="!headerDown || !titleDown || !featureDown || !imageDown || !boostedDown || !descriptionDown" ng-class="{\'thirdVersion\': template === \'third\' && productList.length === 1}"><div ng-show="headerDown || titleDown || featureDown || imageDown || boostedDown || descriptionDown" class="product-header"><div class="product-boost" ng-if="showBoosted && boostedDown"><div class="product-boosted" ng-if="isRecommended(product.id)"><span class="glyphicon glyphicon-star" aria-hidden="true"></span><div>{{"ev.widgets.productSelection.text.boosted" | translate}}</div></div><div class="product-not-boosted" ng-if="!isRecommended(product.id)">{{"ev.widgets.productSelection.text.normal" | translate}}</div><hr ng-class="{\'thirdVersion\': template === \'third\' && productList.length === 1}"></div><div class="product-title" ng-hide="hideProductDisplayName || !titleDown">{{product.displayName}}</div><div ng-if="showProductDescription && descriptionDown" class="product-description">{{product.description}}</div><hr ng-if="!showBoosted && product.imageUrl && headerDown" ng-class="{\'thirdVersion\': template === \'third\' && productList.length === 1}"><div class="product-image" ng-if="product.imageUrl && imageDown"><img ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="!enableEqualizeHeights ? {\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'} : {}" class="img-responsive img-rounded product-{{$index}}-image" ng-src="{{product.imageUrl}}"></div><div ng-if="product.features.length && featureDown && hideProductFeatures" class="product-features"><ul><li ng-repeat="features in product.features track by $index">{{features}}</li></ul></div></div><div ng-if="selectButtonPlacement === \'bottom\' " ng-hide="displayOnly" class="product-footer select-button-bottom"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div>
28<div ng-if="paymentPlan.customLinkLocation" class="customLinkLocation"><a href="{{ paymentPlan.customLinkLocation }}" target="_blank" rel="noopener noreferrer">{{ paymentPlan.customLinkName }}</a></div><div ng-if="enableSwg"><ev-swg skus="{{skusSwg}}" redirect-linking="{{redirectLinkingSwg}}" new-tab-linking="{{newTabLinkingSwg}}" auto-register="{{autoRegisterSwg}}" auto-populate="{{autoPopulateSwg}}"></ev-swg></div></div><div ng-if="horizontalProducts && isHiddenToDisplay(product, paymentPlan)" id="payment-plan-{{product.name + \'-\' + paymentPlan.name}}-col" class="col-xs-12 col-sm-{{product.paymentPlans.length > 2 ? 6 : 12/product.paymentPlans.length}} col-md-{{product.paymentPlans.length > 3 ? 3 : 12/product.paymentPlans.length}} col-lg-{{product.paymentPlans.length > 4 ? 4 : 12/product.paymentPlans.length}} equal-col-height" ng-repeat="paymentPlan in product.paymentPlans track by $index" ng-class="{\'payment-plan-selected\': isSelected(productIndex, paymentPlan.name, product)}"><div class="paymentPlan-image" ng-if="paymentPlan.imageUrl && !imageDown"><img ng-src="{{paymentPlan.imageUrl}}" class="img-responsive img-rounded product-{{$index}}-image" ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="{\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'}"></div><div ng-if="selectButtonPlacement === \'top\' " ng-hide="displayOnly" class="product-footer select-button-top"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><input type="checkbox" aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectPlan\' | translate}} {{paymentPlan.name}}" ng-checked="isAutoSelected || isSelected(productIndex, paymentPlan.name, product)" ng-class="{\'payment-plan-selected-checkbox\': singlePaymentPlan}"><div class="payment-frequency">{{"ev.widgets.plan.frequency." + paymentPlan.frequency.id | translate }}</div><div class="payment-price" ng-if="hideDecimalPrice"><span class="payment-currency-symbol">{{paymentPlan.currency.symbol}}</span> {{getPlanPrice(paymentPlan)}}</div><div class="payment-price" ng-if="!hideDecimalPrice"><span class="payment-currency-symbol">{{paymentPlan.currency.symbol}}</span> {{getPlanPrice(paymentPlan) | currency:\'\':2}}</div><div class="payment-text"><span ng-if="paymentPlan.discount.displayName && discountDisplayName" style="display: block;">{{paymentPlan.discount.displayName}}</span> <span ng-if="paymentPlan.discount.offerDescription && discountOfferDescription" style="display: block;">{{paymentPlan.discount.offerDescription}}</span> <span ng-if="paymentPlan.discount.offerText && discountOfferText" style="display: block;">{{paymentPlan.discount.offerText}}</span> <span ng-show="showPlanDisplayName">{{paymentPlan.displayName}}</span> <span ng-hide="hidePlanDescription">{{paymentPlan.description}}</span></div><div ng-if="selectButtonPlacement === \'middle\' " ng-hide="displayOnly" class="product-footer select-button-middle"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div><div ng-if="paymentPlan.features.length && hidePlanFeatures" class="paymentPlan-features"><ul><li ng-repeat="features in paymentPlan.features track by $index">{{features}}</li></ul></div><div ng-hide="!headerDown || !titleDown || !featureDown || !imageDown || !boostedDown || !descriptionDown" class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraHeaderPadding($index) + \'px\' : \'0\'}"></div><hr ng-hide="!headerDown || !titleDown || !featureDown || !imageDown || !boostedDown || !descriptionDown" ng-class="{\'thirdVersion\': template === \'third\' && productList.length === 1}"><div ng-show="headerDown || titleDown || featureDown || imageDown || boostedDown || descriptionDown" class="product-header"><div class="product-boost" ng-if="showBoosted && boostedDown"><div class="product-boosted" ng-if="isRecommended(product.id)"><span class="glyphicon glyphicon-star" aria-hidden="true"></span><div>{{"ev.widgets.productSelection.text.boosted" | translate}}</div></div><div class="product-not-boosted" ng-if="!isRecommended(product.id)">{{"ev.widgets.productSelection.text.normal" | translate}}</div><hr ng-class="{\'thirdVersion\': template === \'third\' && productList.length === 1}"></div><div class="product-title" ng-hide="hideProductDisplayName || !titleDown">{{product.displayName}}</div><div ng-if="showProductDescription && descriptionDown" class="product-description">{{product.description}}</div><hr ng-if="!showBoosted && product.imageUrl && headerDown" ng-class="{\'thirdVersion\': template === \'third\' && productList.length === 1}"><div class="product-image" ng-if="product.imageUrl && imageDown"><img ev-on-load="imageLoaded()" ev-on-error="imageLoaded()" alt="Image representing the product {{product.displayName}}" ng-style="!enableEqualizeHeights ? {\'max-height\': !isReadyToStyle() || minHeightImgIndex === $index ? \'inherit\' : getMinImageHeight($index) + \'px\'} : {}" class="img-responsive img-rounded product-{{$index}}-image" ng-src="{{product.imageUrl}}"></div><div ng-if="product.features.length && featureDown && hideProductFeatures" class="product-features"><ul><li ng-repeat="features in product.features track by $index">{{features}}</li></ul></div></div><div ng-if="selectButtonPlacement === \'bottom\' " ng-hide="displayOnly" class="product-footer select-button-bottom"><div class="extra-padding" ng-style="{\'padding-bottom\': isReadyToStyle() ? getExtraBodyPadding($index) + \'px\' : \'0\'}"></div><button aria-label="{{\'ev.widgets.productSelection.ariaLabels.selectProduct\' | translate}}" ng-click="isAutoSelected || setProduct(productIndex, paymentPlan.name, paymentPlan.frequency.id !== \'NONE\') || productSubmitAction(product, orderType, orderTypeOption, productIndex)" class="btn btn-default btn-lg">{{"ev.widgets.productSelection.subscribe" | translate}}</button><div ng-if="showCustomButton" class="customButton"><div class="button-divider"></div><button id="{{paymentPlan.name}}-custom-button" class="custom-button">{{ customButtonText }}</button></div></div>
28<div ng-if="paymentPlan.customLinkLocation" class="customLinkLocation"><a href="{{ paymentPlan.customLinkLocation }}" target="_blank" rel="noopener noreferrer">{{ paymentPlan.customLinkName }}</a></div><div ng-if="enableSwg"><ev-swg skus="{{skusSwg}}" redirect-linking="{{redirectLinkingSwg}}" new-tab-linking="{{newTabLinkingSwg}}" auto-register="{{autoRegisterSwg}}" auto-populate="{{autoPopulateSwg}}"></ev-swg></div></div></div><div ng-if="product.giftEnabled && showGiftOption && !commonGiftSelector" class="ev-gift-option"><label for="orderType-{{product.name}}">{{ "ev.widgets.productSelection.orderType.GIFT" | translate }}</label> <input id="orderType-{{product.name}}" type="checkbox" ng-checked="isOrderTypeSelected(product.name)" ng-click="selectOrderTypeOption(product.name, orderType)"></div></div></div><div ng-if="commonGiftSelector" class="ev-common-gift-option"><label for="commonGift">{{ "ev.widgets.productSelection.orderType.GIFT" | translate }}</label> <input id="commonGift" type="checkbox" ng-checked="isOrderTypeSelected(\'\')" ng-click="selectOrderTypeOption(\'\', orderType)"></div></div></div>'), 29e.put("pm-v2/ev-product-summary-v2.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="widget-body pm2"><div class="product-summary-container"><div class="table-responsive"><table class="table table-striped"><tbody class="mobile-table-body"><tr><th ng-if="products.length > 1" class="table-header">#</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.productSummary.productName\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.productSummary.productDescription\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showFrequency">{{\'ev.widgets.productSummary.productFrequency\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showContractLength">{{\'ev.widgets.productSummary.contractLength\' | translate}}</th><th class="table-header" ng-if="!displayVertical && region && showDeliveryCost">{{\'ev.widgets.productSummary.deliveryCost\' | translate}}</th><th class="table-header" ng-if="!displayVertical && beneficiaryLimit">{{\'ev.widgets.productSummary.beneficiaryLimit\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{region && showDeliveryCost ? \'ev.widgets.productSummary.totalProductPrice\' : \'ev.widgets.productSummary.productPrice\' | translate}}</th><th class="table-header" ng-hide="displayVertical && displayOnly && !showRemoveBtn"></th></tr><tr id="{{\'summary-item-\' + product.id}}" ng-class="{\'vertical-table-item\' : displayVertical, \'mobile-table-item\': !displayVertical}" class="product-summary-item mobile-table-item" ng-repeat="product in products track by $index"><td ng-if="products.length > 1" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}"># </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{$index + 1}}</span></td><td ng-class="{\'no-border-top\': products.length === 1,\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.productSummary.productName\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{product.displayName}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.productSummary.productDescription\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{product.description}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="(!displayVertical && showFrequency) || (displayVertical && product.paymentPlan.frequency.id !== \'NONE\')"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.productSummary.productFrequency\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.plan.frequency.\' + product.paymentPlan.frequency.id | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="((!displayVertical && showContractLength) || (displayVertical && product.paymentPlan.frequency.id === \'NONE\'))"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.productSummary.contractLength\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">
29{{\'ev.widgets.plan.contractLength.\' + product.paymentPlan.contractLength.id | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="region && showDeliveryCost"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.productSummary.deliveryCost\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{deliveryItem.currency.symbol}}{{deliveryItem.deliveryCost | currency:\'\':2}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="beneficiaryLimit"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.productSummary.beneficiaryLimit\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{beneficiaryLimit?beneficiaryLimit:\'\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{region && showDeliveryCost ? \'ev.widgets.productSummary.totalProductPrice\' : \'ev.widgets.productSummary.productPrice\' | translate}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{product.paymentPlan.currency.symbol}} <span ng-if="product.paymentPlan.trialPrice && !hideDecimalPrice">{{product.paymentPlan.trialPrice | currency:\'\':2}} </span><span ng-if="!product.paymentPlan.trialPrice && !hideDecimalPrice">{{product.paymentPlan.price | currency:\'\':2}} </span><span ng-if="!product.paymentPlan.trialPrice && hideDecimalPrice">{{ getDisplayPrice(product.paymentPlan.finalPrice || product.paymentPlan.price) }} </span><span ng-if="product.paymentPlan.trialPrice && hideDecimalPrice">{{ getDisplayPrice(product.paymentPlan.trialPrice) }}</span></span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-hide="displayOnly || !showRemoveBtn"><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}"><button class="btn btn-default ng-binding" aria-label="{\'ev.widgets.productSummary.ariaLabels.removeItemFromBasket\' | translate}}" ng-disabled="processingCheckout" type="button" ng-click="remove($index)">Remove</button></span></td></tr><tr ng-if="!products.length"><td colspan="5" align="center"><span class="product-order-list-no-content">{{\'ev.widgets.productSummary.noProductsSelected\' | translate}}</span></td></tr></tbody></table></div><div ng-hide="displayOnly" class="product-summary-footer text-right"><button class="btn btn-default product-checkout-btn" aria-label="{{\'ev.widgets.productSummary.ariaLabels.checkoutPurchaseBasket\' | translate}}" ng-disabled="!products.length || processingCheckout" ng-click="submit()">{{\'ev.widgets.productSummary.checkout\' | translate}}</button><div class="circle" ng-show="processingCheckout" ng-class="{\'simple-animated-circle\': processingCheckout}"></div></div></div></div></div>'),e.put("pm-v2/ev-purchase-custom-data.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" aria-label="{{\'ev.widgets.purchaseCustomData.ariaLabels.closePurchaseCustomDataWidget\' | translate}}" id="widget-cancel" role="button" class="widget-close" ng-click="cancelBtnAction(evUserIdentifierForm)"><span class="glyphicon glyphicon-remove"></span></a></div><div class="row"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center"></ev-error-msg></div></div><div class="row" ng-show="isLoading"><div class=""><div class="center"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div></div></div><div id="widget-body" class="ev widget-body"><ng-form name="evPurchaseCustomDataForm" aria-label="{{\'ev.widgets.purchaseCustomData.ariaLabels.purchaseCustomDataForm\' | translate}}" class="ev {{formStyle}} widget-form" role="form" ng-submit="submitForm(evPurchaseCustomDataForm)" novalidate><div class="row" ng-show="!isLoading"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"><div ng-keypress="$event.which === 13 && submitForm(evPurchaseCustomDataForm)" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-repeat="attribute in formAttributes | orderBy:\'displayOrder\'"><div class="row"><ev-attribute-v2 attr-id-prefix="widgetGuid + \'-purchase-custom-data-\'" attribute="attribute" attributes="formAttributes" show-label="showLabels" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2></div></div></div></div></div><div class="row"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
29<div id="buttonPanel" class="{{isFormStyleDefault ? \'\' : \'ev form-group inline-m-b\'}}"><div ng-if="!isLoading && formAttributes" class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" id="loginRecaptcha" aria-label="{{\'ev.widgets.purchaseCustomData.ariaLabels.confirmCustomData\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}} btn-custom-data-submission" ng-click="submitForm(evPurchaseCustomDataForm)" ng-disabled="!evPurchaseCustomDataForm.$valid">{{submitbtnCaption}}</button> <button type="reset" id="resetButton" aria-label="{{\'ev.widgets.purchaseCustomData.ariaLabels.cancelCustomData\' | translate}}" class="ev btn btn-default btn-custom-data-submission" ng-if="cancelbtnCaption" ng-click="cancelBtnAction(evUserIdentifierForm)">{{cancelbtnCaption}}</button></div></div></div></div></div></ng-form></div></div>'),e.put("pm-v2/ev-purchases-list.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-if="(purchases.length || beneficiaryDetail.length) || showEmptyWidget" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="widget-body pm2" ng-show="loggedIn"><div class="purchases-list-container responsive-overflow"><div class="table-responsive"><table class="table table-striped"><tbody ng-class="{\'vertical-table-body\' : displayVertical, \'mobile-table-body\': !displayVertical}"><tr><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.productName\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showStartDate">{{\'ev.widgets.purchases.startDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showEndDate && showEndDateHorizontalTableHeader">{{\'ev.widgets.purchases.endDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showNextPaymentDate && showNextPaymentDateHorizontalTableHeader">{{\'ev.widgets.purchases.nextPaymentDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showFrequency">{{\'ev.widgets.purchases.frequency\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showDiscount">{{\'ev.widgets.purchases.discount\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showPaymentSchema">{{\'ev.widgets.purchases.paymentSchema\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showPromoCodeGroup">{{\'ev.widgets.purchases.promoCodeGroup\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showPromoCode">{{\'ev.widgets.purchases.promoCode\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.status\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showOrderType">{{\'ev.widgets.purchases.orderType\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showNumberBeneficiaries">{{\'ev.widgets.purchases.numberBeneficiaries\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showActions">{{\'ev.widgets.purchases.actions\' | translate}}</th></tr><tr id="{{\'purchase-\' + purchase.id}}" ng-class="{\'vertical-table-item\' : displayVertical, \'mobile-table-item\': !displayVertical}" class="purchase-item" ng-repeat="purchase in purchases | orderBy:\'-tmpOrderDate\' track by $index"><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.productName\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}"><span ng-hide="hideProductDisplayName">{{purchase.orderItem.product.displayName}} </span><span ng-hide="hidePlanDisplayName && !showPlanDescription">{{" - "}}
29 </span><span ng-hide="hidePlanDisplayName">{{(purchase.orderItem.paymentPlan ? purchase.orderItem.paymentPlan.displayName : purchase.orderItem.bundlePlan.displayName)}} </span><span ng-show="showPlanDescription">{{(purchase.orderItem.paymentPlan ? purchase.orderItem.paymentPlan.description : purchase.orderItem.bundlePlan.description)}}</span></span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showStartDate"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.startDate\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="purchase.subscription">{{purchase.subscription.startDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="purchase.singlePurchase">{{purchase.startDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-show="isShowEndDate(purchase)"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.endDate\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="showSubscriptionEndDate(purchase)">{{purchase.subscription.endDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="showSubscriptionEndDateCancelPending(purchase)">{{purchase.endDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="showSubscriptionEndDateCancel(purchase)">{{purchase.endDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="purchase.singlePurchase">{{purchase.endDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-show="isShowNextPaymentDate(purchase)"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.nextPaymentDate\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.nextPaymentDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="(!displayVertical && showFrequency) || (displayVertical && purchase.orderItem.paymentPlan.frequency.id !== \'NONE\')"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.frequency\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.plan.frequency.\' + (purchase.orderItem.paymentPlan ? purchase.orderItem.paymentPlan.frequency.id : purchase.orderItem.bundlePlan.frequency.id) | translate}}</span></td><td ng-if="showDiscount" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.discount\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.paymentPlan.discount.displayName}}</span></td><td ng-if="showPaymentSchema" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.paymentSchema\' | translate}}</span> <span ng-if="purchase.singlePurchase === null" ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{ \'ev.widgets.purchases.paymentSchemaNonSinglePurchase\' | translate }} </span><span ng-if="purchase.singlePurchase !== null" ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{ \'ev.widgets.purchases.paymentSchemaSinglePurchase\' | translate }}</span></td><td ng-if="showPromoCodeGroup" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.promoCodeGroup\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.promoCodeGroupDescription}}</span></td><td ng-if="showPromoCode" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.promoCode\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.promoCodeDescription}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.status\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.purchase.status.\'+purchase.status | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showOrderType"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.orderType\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.purchase.orderType.\' + purchase.orderType | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showNumberBeneficiaries" aria-label="{{\'ev.widgets.purchases.ariaLabels.showBeneficiaries\' | translate}}" role="button" ng-click="displayBeneficiaries(purchase)"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.numberBeneficiaries\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}"><div id="numberBeneficiaries">{{numberBenefPerSubscription(purchase.id)}}</div><div id="arrow" ng-if="numberBenefPerSubscription(purchase.id) > 0"></div></span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showActions"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.actions\' | translate}}</span><div ng-class="{\'purchases-list-vertical-dropdown-right\' : displayVertical, \'purchases-list-dropdown-right\': !displayVertical}" class="dropdown" ng-class="{\'purchases-list-dropdown\' : ($last && !$first) || ($index == purchases.length-2)}">
29<button ng-disabled="disableActionBtn(purchase)" aria-label="{{\'ev.widgets.purchases.ariaLabels.showMoreActions\' | translate}}" ng-click="toggle()" ev-toggle-display="ev-dropdown-{{purchase.id}}" class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">{{\'ev.widgets.purchases.actionsButton.label\' | translate}} <span class="caret"></span></button><ul id="ev-dropdown-{{purchase.id}}" class="dropdown-menu"><li ng-if="actionBtnViewTransactions(purchase)"><a ng-disabled href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.viewTransactions\' | translate}}" role="button" ng-click="displayTransactions(purchase)">{{\'ev.widgets.purchases.actionsButton.action.viewTransactions\'| translate}}</a></li><li ng-if="actionBtnShowInvoiceFormat(purchase)"><a ng-disabled href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.toggleInvoiceFormat\' | translate}}" role="button" ng-click="toggleInvoiceFormat(purchase)">{{\'ev.widgets.purchases.actionsButton.action.toggleInvoiceFormat\'| translate}}</a></li><li ng-if="actionBtnDisplayBeneficiaries(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.showBeneficiaries\' | translate}}" role="button" ng-click="displayBeneficiaries(purchase)">{{\'ev.widgets.purchases.actionsButton.action.displayBeneficiaries\'| translate}}</a></li><li ng-if="actionBtnAddBeneficiaries(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.addBeneficiary\' | translate}}" role="button" ng-click="displayNotification(purchase.id)">{{\'ev.widgets.purchases.actionsButton.action.addBeneficiary\'| translate}}</a></li><li ng-if="actionBtnChangeCard(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.changeCard\' | translate}}" role="button" ng-click="changeCardDetails(purchase)">{{\'ev.widgets.purchases.actionsButton.action.changeCard\'| translate}}</a></li><li ng-if="actionBtnChangeBillingAddress(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.changeBillingAddress\' | translate}}" role="button" ng-click="changeBillingAddressDetails(purchase)">{{\'ev.widgets.purchases.actionsButton.action.changeBillingAddress\'| translate}}</a></li><li ng-if="actionBtnChangeDeliveryAddress(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.changeDeliveryAddress\' | translate}}" role="button" ng-click="changeDeliveryAddressDetails(purchase)">{{\'ev.widgets.purchases.actionsButton.action.changeDeliveryAddress\'| translate}}</a></li><li ng-if="actionBtnCancelPurchase(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelPurchase\' | translate}}" role="button" ng-click="cancelPurchase(purchase, cancelReasons)">{{\'ev.widgets.purchases.actionsButton.action.cancelPurchase\'|translate}}</a></li><li ng-if="actionBtnRevertCancellation(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.revertCancellation\' | translate}}" role="button" ng-click="revertCancellation(purchase)">{{\'ev.widgets.purchases.actionsButton.action.revertCancellation\'|translate}}</a></li><li ng-if="actionBtnChangeProductPlan(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.changeProductPlan\' | translate}}" role="button" ng-click="changeProductPlan(purchase)">{{\'ev.widgets.purchases.actionsButton.action.changeProductPlan\'| translate}}</a></li><li ng-if="actionBtnRenewPurchase(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.renewPurchase\' | translate}}" role="button" ng-click="renewPurchase(purchase)">{{\'ev.widgets.purchases.actionsButton.action.renewPurchase\' | translate}}</a></li><li ng-if="actionBtnBuyAgain(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.buyAgain\' | translate}}" role="button" ng-click="buyAgain(purchase)">{{\'ev.widgets.purchases.actionsButton.action.buyAgain\' | translate}}</a></li><li ng-if="actionGenerateQRAccessCode(purchase)"><a href="" aria-label="{{\'ev.widgets.purchases.ariaLabels.generateQRAccessCode\' | translate}}" role="button" ng-click="generateQRAccessCode(purchase)">{{\'ev.widgets.purchases.actionsButton.action.generateQRAccessCode\' | translate}}</a></li></ul></div></td><td id="{{\'purchase-customData-\' + purchase.id}}" ng-if="showCustomData && purchase.orderItem.product.enableCustomData"><table><tr><td><ev-purchase-custom-data used-by-purchase-list="{{showCustomData}}" show-header="{{customDataShowHeader}}" show-labels="{{customDataShowLabels}}" purchase-id="{{purchase.id}}"></ev-purchase-custom-data></td></tr></table></td></tr><tr ng-if="!purchases.length"><td colspan="7" align="center"><span class="purchases-list-no-content">{{\'ev.widgets.purchases.noPurchases\' | translate}}</span></td></tr></tbody></table><table ng-if="beneficiaryDetails.length" class="table table-striped"><tbody ng-class="{\'vertical-table-body\' : displayVertical, \'mobile-table-body\': !displayVertical}"><tr><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.productName\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.orderType\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.startDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.endDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.status\' | translate}}</th></tr><tr id="{{\'beneficiaryDetail-\' + beneficiaryDetail.product.id}}" ng-class="{\'vertical-table-item\' : displayVertical, \'mobile-table-item\': !displayVertical}" class="purchase-item" ng-repeat="beneficiaryDetail in beneficiaryDetails | orderBy:\'-tmpOrderDate\' track by $index"><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}"><span ng-show="beneficiaryDetail.product.displayName">
29{{beneficiaryDetail.product.displayName}} </span><span ng-show="beneficiaryDetail.paymentPlanName">- </span><span ng-show="beneficiaryDetail.paymentPlanName">{{(beneficiaryDetail.paymentPlanName)}}</span></span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-show="beneficiaryDetail.orderType">{{\'ev.widgets.purchase.orderType.\' + beneficiaryDetail.orderType | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-show="beneficiaryDetail.startDate">{{beneficiaryDetail.startDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-show="beneficiaryDetail.endDate">{{beneficiaryDetail.endDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-show="beneficiaryDetail.grantStatus">{{\'ev.widgets.grant.\'+ beneficiaryDetail.grantStatus | translate}}</span></td></tr><tr ng-if="!beneficiaryDetails.length"><td colspan="7" align="center"><span class="purchases-list-no-content">{{\'ev.widgets.purchases.noBeneficiaryDetails\' | translate}}</span></td></tr></tbody></table></div></div><ev-revert-cancellation></ev-revert-cancellation><ev-cancel-purchase></ev-cancel-purchase><ev-change-card></ev-change-card><ev-generate-qr-code></ev-generate-qr-code><ev-change-product-plan></ev-change-product-plan></div></div>'),e.put("pm-v2/ev-razorpay.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="razorpay-payment"><div id="ev-razorpay-method-options" ng-show="showPaymentMethods"><label ng-repeat="paymentMethod in paymentMethods" for="ev-razorpay-{{paymentMethod}}-option"><input id="ev-razorpay-{{paymentMethod}}-option" type="radio" ng-model="selectedPaymentMethod" name="selectedPaymentMethod" value="{{paymentMethod}}" ng-click="togglePaymentMethod(paymentMethod)"> {{\'ev.widgets.razorpay.\' + paymentMethod | translate}}</label></div><div class="row" ng-show="!processingRazorpayCheckout && !usingCheckoutButton"><button class="btn btn-lg razorpay-button" aria-label="{{\'ev.widgets.razorpay.ariaLabels.submitPayment\' | translate}}" ng-click="createRazorpayPurchase()">{{\'ev.widgets.razorpay.submitPayment\' | translate}}</button></div><div class="payment-razorpay-submit"><div class="payment-razorpay-circle" ng-class="{\'payment-razorpay-animated-circle\': processingRazorpayCheckout}" ng-show="processingRazorpayCheckout"></div><div class="payment-razorpay-success" ng-show="success"><div class="payment-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.razorpay.paymentSuccessful" | translate}}</h3></div></div></div></div></div>'),e.put("pm-v2/ev-referral-code-entry.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-hide="hideReferralInput"><div id="widget-header" class="widget-header"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div class="referral-code-input"><input type="text" id="ev-referral-code" ng-model="referralCode" class="ev form-control" placeholder="{{\'ev.widgets.referral_code.enter_code\' | translate}}"></div></div></div>'),e.put("pm-v2/ev-request-directdebit-mandate.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="row"><input type="button" aria-label="{{\'ev.widgets.requestDirectDebit.ariaLabels.confirmRequestDirectDebit\' | translate}}" class="btn btn-success btn-lg" value="Process payment" ng-click="requestDirectDebitMandate()"></div></div></div>'), 30e.put("pm-v2/ev-startdate-selector.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-show="pmStartDate"><div id="widget-header" class="widget-header"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2" style="margin-bottom: 20px"><div class="pmStartDate"><div class="col-lg-4 col-md-4 col-sm-4 col-xs-4"><label class="m-0" style="margin-top:10px">{{\'ev.widgets.startdate_Selector.selectStartDate\' | translate}}</label></div><div class="col-md-4"><input type="date" class="form-control" uib-datepicker-popup ng-model="dt" min="minDate" min-date="minDate" is-open="status.opened" datepicker-options="dateOptions" close-text="Close" ng-change="dateChange()"></div></div></div></div>'),e.put("pm-v2/ev-stripe.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="pm2"><div class="stripe-payment"><div ng-show="!success && !submitting"><div class="row" ng-show="enableGoogleApplePay &&\r\n ( defaultPayment === \'CARD\' || defaultPayment === \'PAYMENT_GATEWAY\' )\r\n && !en
30ableExistingCards ||\r\n enableGoogleApplePay && enableExistingCards && defaultPayment === \'CARD\' && (session && isNewCard || !session)"><div class="col-lg-12 col-md-12 col-sm-12"><form id="payment-form" ng-disabled="submitting"><div class="row"><div class="col-lg-12 col-md-12 col-sm-12"><div id="payment-element" style="height:auto;"></div></div></div><div id="stripe-submit-btn-form" class="row" ng-show="processingOrder"><button id="submit" aria-label="{{\'ev.widgets.stripe.ariaLabels.submitCardForm\' | translate}}">{{"ev.widgets.stripe.submitCardForm" | translate}}</button></div><div class="row"><div id="error-message"></div></div></form></div></div><div class="row" ng-show="enableExistingCards && isLoadingCards && session"><div class=""><div class="center"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> {{"ev.widgets.purchase.existingCard.loadingCards" | translate}}</div></div></div></div><div id="existing-card-container" class="row block-display" ng-show="displayExistingCards()"><div id="existing-card-text" class="col-md-12 col-sm-12">{{"ev.widgets.purchase.existingCard.selectCardText" | translate}}</div><div ng-click="selectCard(card.cardId)" class="col-md-4 col-sm-4 card-thumbnail" id="card-{{card.cardId}}" aria-label="{{\'ev.widgets.purchase.existingCard.selectCard.ariaLabel\' | translate}} {{\'ev.widgets.purchase.existingCard.info.cardNumber\' | translate}}" ng-repeat="card in cards track by $index"><div class="thumbnail select-card-pointer" id="thumbnail-{{card.cardId}}"><div class="caption"><div class="card-number"><h5>{{"ev.widgets.purchase.existingCard.info.cardNumber" | translate}}</h5><p style="font-size: x-large">**** **** **** {{card.last4Digits}}</p></div><div class="card-expiry-date"><h5>{{"ev.widgets.purchase.existingCard.info.cardExpiryDate" | translate}}</h5><p style="font-size: x-large">{{card.expMonth}} / {{card.expYear}}</p></div></div></div></div><div id="new-card-text" class="col-md-12 col-sm-12"><button type="button" aria-label="{{\'ev.widgets.purchase.newCard.newCardButton.ariaLabel\' | translate}}" class="btn btn-success btn-block" ng-click="switchPanel()">{{"ev.widgets.purchase.newCard.newCardButton.label" | translate}}</button></div><form ng-submit="submit()" aria-label="{{\'ev.widgets.stripe.ariaLabels.paymentForm\' | translate}}" class="stripe-payment-form"><div id="submit-existing-card" class="payment-stripe-footer" class="col-md-12 col-sm-12"><div id="g-recaptcha-id" ng-if="recaptcha || invisibleRecaptcha"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} g-recaptcha"><ev-recaptcha enabled="{{recaptcha}}" invisible-recaptcha="{{invisibleRecaptcha}}" ng-model="reCaptchaSettings" site-key="recaptchaSiteKey" on-create="setReCaptchaWidgetId(reCaptchaWidgetId)" on-success="setReCaptchaResponse(response, reCaptchaWidgetId)" on-expire="captchaExpiration()" on-submit="loginRecaptcha1"></div></div></div><button id="loginRecaptcha1" type="submit" aria-label="{{\'ev.widgets.stripe.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block stripe-submit-btn" ng-disabled="submitting || recaptchaRestriction">{{ processingText || "ev.widgets.stripe.submitPayment" | translate}} <span class="circle" ng-show="submitting" ng-class="{\'simple-animated-circle\': submitting}"></span></button></div></form></div><div ng-show="!enableGoogleApplePay && !enableExistingCards && (defaultPayment === \'CARD\' || defaultPayment === \'PAYMENT_GATEWAY\') ||\r\n !enableGoogleApplePay && enableExistingCards && (defaultPayment === \'CARD\' || defaultPayment === \'PAYMENT_GATEWAY\') && (session && isNewCard || !session)"><div class="icons-section"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/mastercard.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/amex.html\'"></ng-include></div></div><div class="icon uses-ssl element-responsive"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.stripe.transactionSecurity" | translate}}</small></div></div><form ng-submit="submit()" aria-label="{{\'ev.widgets.stripe.ariaLabels.paymentForm\' | translate}}" class="stripe-payment-form"><div class="row"><div class="field"><div id="card-number" class="input empty"></div><label for="card-number">{{"ev.widgets.stripe.cardNumber" | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field half-width"><div id="card-expiry" class="input empty"></div><label for="card-expiry">{{"ev.widgets.stripe.cardExpiry" | translate}}</label><div class="baseline"></div></div><div class="field half-width"><div id="card-cvc" class="input empty"></div><label for="card-cvc">{{"ev.widgets.stripe.cardCVC" | translate}}</label><div class="baseline"></div></div></div><div class="payment-stripe-footer"><div id="g-recaptcha-id" ng-if="recaptcha || invisibleRecaptcha"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} g-recaptcha"><ev-recaptcha enabled="{{recaptcha}}
30" invisible-recaptcha="{{invisibleRecaptcha}}" ng-model="reCaptchaSettings" site-key="recaptchaSiteKey" on-create="setReCaptchaWidgetId(reCaptchaWidgetId)" on-success="setReCaptchaResponse(response, reCaptchaWidgetId)" on-expire="captchaExpiration()" on-submit="loginRecaptcha2"></div></div></div><button id="loginRecaptcha2" type="submit" aria-label="{{\'ev.widgets.stripe.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block stripe-submit-btn" ng-disabled="submitting || recaptchaRestriction">{{ processingText || "ev.widgets.stripe.submitPayment" | translate}} <span class="circle" ng-show="submitting" ng-class="{\'simple-animated-circle\': submitting}"></span></button></div><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#F00" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{stripeErrorMessage}}</span></div></form></div><div id="existing-card-button-container" class="row" ng-show="enableExistingCards && (defaultPayment === \'CARD\' || defaultPayment === \'PAYMENT_GATEWAY\') && session && isNewCard && cards && cards.length > 0"><div class="col-md-12 col-sm-12"><button id="select-existing-card-panel-btn" type="button" aria-label="{{\'ev.widgets.purchase.newCard.selectFromExistingBtn.ariaLabel\' | translate}}" class="btn btn-success btn-block" ng-click="switchPanel()">{{"ev.widgets.purchase.newCard.selectFromExistingBtn.label" | translate}}</button></div></div><div ng-show="defaultPayment === \'IDEAL\'"><form ng-submit="submit()" aria-label="{{\'ev.widgets.stripe.ariaLabels.paymentForm\' | translate}}" class="stripe-payment-form"><div class="row"><div class="field"><input type="text" id="ideal-name" placeholder="{{\'ev.widgets.stripe.ideal.name.placeholder\' | translate}}" ng-model="idealName" class="input empty"> <label for="ideal-name">{{\'ev.widgets.stripe.ideal.name\' | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field"><label for="ideal-bank-element" class="select-label">{{"ev.widgets.stripe.ideal.bank" | translate}}</label><div id="ideal-bank-element" class="ideal-bank-element"></div></div></div><div class="payment-stripe-footer"><div id="g-recaptcha-id" ng-if="recaptcha || invisibleRecaptcha"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} g-recaptcha"><ev-recaptcha enabled="{{recaptcha}}" invisible-recaptcha="{{invisibleRecaptcha}}" ng-model="reCaptchaSettings" site-key="recaptchaSiteKey" on-create="setReCaptchaWidgetId(reCaptchaWidgetId)" on-success="setReCaptchaResponse(response, reCaptchaWidgetId)" on-expire="captchaExpiration()" on-submit="loginRecaptcha3"></div></div></div><button id="loginRecaptcha3" type="submit" aria-label="{{\'ev.widgets.stripe.ariaLabels.submitPayment\' | translate}}" class="btn btn-success btn-block stripe-ideal-submit-btn" ng-disabled="submitting || recaptchaRestriction">{{ processingText || "ev.widgets.stripe.submitPayment" | translate}} <span class="circle" ng-show="submitting" ng-class="{\'simple-animated-circle\': submitting}"></span></button></div><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#F00" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,
3017 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{stripeErrorMessage}}</span></div></form><div ng-show="isSubscription" class="stripe-mandate-acceptance"><p><span>{{"ev.widgets.stripe.sepa.authorization" | translate}}</span></p></div></div></div><div class="payment-stripe-submit"><div class="payment-stripe-circle" ng-class="{\'payment-stripe-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-stripe-success" ng-show="success"><div class="payment-stripe-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.stripe.paymentSuccessful" | translate}}</h3></div></div><div ng-if="fullScreenLoader"><div class="full-screen-loader-overlay"></div><div class="full-screen-loader-container"><span class="simple-animated-circle full-screen-circle"></span><div class="full-screen-loader-text">{{ processingText || "ev.widgets.checkout.processingPayment" | translate }}</div></div></div></div></div></div>'),e.put("pm-v2/ev-swg-article.tpl.html",'<div itemscope itemtype="http://schema.org/NewsArticle"><meta itemprop="isAccessibleForFree" content="false"><div itemprop="isPartOf" itemscope itemtype="http://schema.org/CreativeWork http://schema.org/Product"><meta itemprop="name" content="{{publicationName}}"><meta itemprop="productID" content="{{productId}}"></div></div>'),e.put("pm-v2/ev-swg-upgrade.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div class="pm2"><div ng-show="purchasesLoaded" id="swg-upgrade-btn-div"><button aria-label="{{\'ev.widgets.swg.ariaLabels.signInWithGoogle\' | translate}}" id="swgBtn-{{widgetGuid}}"></div></div></div>'),e.put("pm-v2/ev-swg.tpl.html",'<div id="{{widgetGuid}}" class="ev"><div class="pm2"><div id="swg-button"><button aria-label="{{\'ev.widgets.swg.ariaLabels.signInWithGoogle\' | translate}}" id="button-{{widgetGuid}}"></div></div></div>'),e.put("pm-v2/ev-toggle-plan.tpl.html",'<div ng-show="selectedProduct" id="{{widgetGuid}}" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="widget-body pm2"><div ng-if="selectionType === \'radio\'"><div class="row flex-parent" ng-if="template === \'horizontal\'"><div id="evTogglePlanFirstOption" ng-click="switchPlan(0, \'togglePlanRadioFirst\')" class="col-lg-4 col-md-6 col-sm-12 col-xs-12 col-lg-offset-2 flex-child-end" ng-class="{\'planToggleSelected\': (selectedPlan.id === plan.id)}"><div class="ev-toggle-option-wrapper"><input id="togglePlanRadioFirst" type="radio" ng-show="!hideRadioBtn" class="radio" name="togglePlanSelected" value="0"><div class="ev-toggle-option-info"><div class="ev-toggle-option-title">{{titlePlanOne[0].title || plan.title}}</div><div class="ev-toggle-option-description">{{titlePlanOne[0].description || plan.description}}</div></div></div></div><div id="evTogglePlanSecondOption" ng-click="switchPlan(1, \'togglePlanRadioSecond\')" class="col-lg-4 col-md-6 col-sm-12 col-xs-12 flex-child-end" ng-class="{\'planToggleSelected\': (selectedPlan.id === linkedPlan.id)}"><div class="ev-toggle-option-wrapper"><input id="togglePlanRadioSecond" type="radio" ng-show="!hideRadioBtn" class="radio" name="togglePlanSelected" value="1"><div class="ev-toggle-option-info"><div class="ev-toggle-option-title">{{titlePlanOne[1].title || linkedPlan.title}}</div><div class="ev-toggle-option-description">{{titlePlanOne[1].description || linkedPlan.description}}</div></div></div></div><div class="col-lg-2 col-md-2 col-sm-2 col-xs-2"></div></div><div class="row flex-parent" ng-if="template === \'vertical\'"><div id="evTogglePlanFirstOption" ng-click="switchPlan(0, \'togglePlanRadioFirst\')" class="col-lg-8 col-md-8 col-sm-12 col-xs-12 col-lg-offset-2 col-md-offset-2 flex-child-end" ng-class="{\'planToggleSelected\': (selectedPlan.id === plan.id
30)}"><div class="ev-toggle-option-wrapper"><input id="togglePlanRadioFirst" type="radio" ng-show="!hideRadioBtn" class="radio" name="togglePlanSelected" value="0"><div class="ev-toggle-option-info"><div class="ev-toggle-option-title">{{titlePlanOne[0].title || plan.title}}</div><div class="ev-toggle-option-description">{{titlePlanOne[0].description || plan.description}}</div></div></div></div><div class="col-lg-2 col-md-2 col-sm-2 col-xs-2"></div><div id="evTogglePlanSecondOption" ng-click="switchPlan(1, \'togglePlanRadioSecond\')" class="col-lg-8 col-md-8 col-sm-12 col-xs-12 col-lg-offset-2 col-md-offset-2 flex-child-end" ng-class="{\'planToggleSelected\': (selectedPlan.id === linkedPlan.id)}"><div class="ev-toggle-option-wrapper"><input id="togglePlanRadioSecond" type="radio" ng-show="!hideRadioBtn" class="radio" name="togglePlanSelected" value="1"><div class="ev-toggle-option-info"><div class="ev-toggle-option-title">{{titlePlanOne[1].title || linkedPlan.title}}</div><div class="ev-toggle-option-description">{{titlePlanOne[1].description || linkedPlan.description}}</div></div></div></div><div class="col-lg-2 col-md-2 col-sm-2 col-xs-2"></div></div></div><div ng-if="selectionType === \'switch\'"><fieldset class="radio-switch"><div class="radio-switch__inner"><input type="radio" id="togglePlanRadioFirst" disabled="disabled" name="togglePlanSelected" value="0"> <label id="evTogglePlanFirstOption" ng-click="switchPlan(0, \'togglePlanRadioFirst\')">{{titlePlanOne[0].title || plan.title}}</label> <input type="radio" id="togglePlanRadioSecond" disabled="disabled" name="togglePlanSelected" value="1"> <label id="evTogglePlanSecondOption" ng-click="switchPlan(1, \'togglePlanRadioSecond\')">{{titlePlanOne[1].title || plan.title}}</label></div></fieldset></div><div ng-if="showConfirmBtn" class="row"><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"><button id="togglePlanConfirmBtn" aria-label="{{\'ev.widgets.togglePlan.selectPaymentPlanBtn.ariaLabel\' | translate}}" ng-click="confirmSelection()" class="btn btn-default btn-lg">{{"ev.widgets.togglePlan.selectPaymentPlanBtn.text" | translate}}</button></div></div></div></div>'),e.put("pm-v2/ev-upgrade-purchase.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-if="(purchases.length || beneficiaryDetail.length) || showEmptyWidget" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="widget-body pm2" ng-show="loggedIn"><div class="purchases-list-container responsive-overflow"><div class="change-plan" style="margin-bottom: 30px;" ng-repeat="purchase in purchases | orderBy:\'-tmpOrderDate\' track by $index"><div class="table-responsive"><table class="table table-striped"><tbody ng-class="{\'vertical-table-body\' : displayVertical, \'mobile-table-body\': !displayVertical}"><tr><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.productName\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showStartDate">{{\'ev.widgets.purchases.startDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showEndDate && showEndDateHorizontalTableHeader">{{\'ev.widgets.purchases.endDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showNextPaymentDate && showNextPaymentDateHorizontalTableHeader">{{\'ev.widgets.purchases.nextPaymentDate\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showFrequency">{{\'ev.widgets.purchases.frequency\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showDiscount">{{\'ev.widgets.purchases.discount\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showPaymentSchema">{{\'ev.widgets.purchases.paymentSchema\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showPromoCodeGroup">{{\'ev.widgets.purchases.promoCodeGroup\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showPromoCode">{{\'ev.widgets.purchases.promoCode\' | translate}}</th><th class="table-header" ng-if="!displayVertical">{{\'ev.widgets.purchases.status\' | translate}}</th><th class="table-header" ng-if="!displayVertical && showOrderType">{{\'ev.widgets.purchases.orderType\' | translate}}</th></tr><tr id="{{\'purchase-\' + purchase.id}}" ng-class="{\'vertical-table-item\' : displayVertical, \'mobile-table-item\': !displayVertical}" class="purchase-item"><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.productName\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}"><span ng-hide="hideProductDisplayName">{{purchase.orderItem.product.displayName}} </span><span ng-hide="hidePlanDisplayName && !showPlanDescription">{{" - "}}
30 </span><span ng-hide="hidePlanDisplayName">{{(purchase.orderItem.paymentPlan ? purchase.orderItem.paymentPlan.displayName : purchase.orderItem.bundlePlan.displayName)}} </span><span ng-show="showPlanDescription">{{(purchase.orderItem.paymentPlan ? purchase.orderItem.paymentPlan.description : purchase.orderItem.bundlePlan.description)}}</span></span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showStartDate"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.startDate\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="purchase.subscription">{{purchase.subscription.startDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="purchase.singlePurchase">{{purchase.startDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-show="isShowEndDate(purchase)"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.endDate\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="showSubscriptionEndDate(purchase)">{{purchase.subscription.endDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="showSubscriptionEndDateCancelPending(purchase)">{{purchase.endDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="showSubscriptionEndDateCancel(purchase)">{{purchase.endDate || "-" | date:\'dd-MMM-yyyy\'}} </span><span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}" ng-if="purchase.singlePurchase">{{purchase.endDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-show="isShowNextPaymentDate(purchase)"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.nextPaymentDate\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.nextPaymentDate || "-" | date:\'dd-MMM-yyyy\'}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="(!displayVertical && showFrequency) || (displayVertical && purchase.orderItem.paymentPlan.frequency.id !== \'NONE\')"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.frequency\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.plan.frequency.\' + (purchase.orderItem.paymentPlan ? purchase.orderItem.paymentPlan.frequency.id : purchase.orderItem.bundlePlan.frequency.id) | translate}}</span></td><td ng-if="showDiscount" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.discount\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.paymentPlan.discount.displayName}}</span></td><td ng-if="showPaymentSchema" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.paymentSchema\' | translate}}</span> <span ng-if="purchase.singlePurchase === null" ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{ \'ev.widgets.purchases.paymentSchemaNonSinglePurchase\' | translate }} </span><span ng-if="purchase.singlePurchase !== null" ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{ \'ev.widgets.purchases.paymentSchemaSinglePurchase\' | translate }}</span></td><td ng-if="showPromoCodeGroup" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.promoCodeGroup\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.promoCodeGroupDescription}}</span></td><td ng-if="showPromoCode" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.promoCode\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{purchase.promoCodeDescription}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.status\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.purchase.status.\' + purchase.status | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showOrderType"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.orderType\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}">{{\'ev.widgets.purchase.orderType.\' + purchase.orderType | translate}}</span></td><td ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}" ng-if="showNumberBeneficiaries" aria-label="{{\'ev.widgets.purchases.ariaLabels.showBeneficiaries\' | translate}}" role="button" ng-click="displayBeneficiaries(purchase)"><span ng-class="{\'vertical-table-header\' : displayVertical, \'mobile-table-header\': !displayVertical}">{{\'ev.widgets.purchases.numberBeneficiaries\' | translate}}</span> <span ng-class="{\'vertical-table-content\' : displayVertical, \'mobile-table-content\': !displayVertical}"><div id="numberBeneficiaries">{{numberBenefPerSubscription(purchase.id)}}</div><div id="arrow" ng-if="numberBenefPerSubscription(purchase.id) > 0"></div></span></td></tr><tr ng-if="!purchases.length"><td colspan="7" align="center"><span class="purchases-list-no-content">{{\'ev.widgets.purchases.noPurchases\' | translate}}</span></td></tr></tbody></table></div><div><div ng-show="shouldShowUpgradeOption(purchase) && filterAlternativeProducts(purchase).length > 0"><label>{{\'ev.widgets.purchases.changeProductPlan.select_product\' | translate}}</label></div><div ng-show="filterAlternativeProducts(purchase).length == 0"><label>{{\'ev.widgets.purchases.changeProductPlan.no_upgrade_available\' | translate}}</label></div><div ng-show="shouldShowUpgradeOption(purchase)" class="row"><div class="col-md-4" ng-repeat="product in filterAlternativeProducts(purchase)"><div class="change-product-plan" id="product-{{product.id}}-purchase-{{purchase.id}}" ng-click="selectProduct(purchase,product)" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.selectProduct\' | translate}} {{product.displayName}}" role="button"><h4>{{product.displayName}}</h4><ul><li ng-repeat="feature in product.features track by $index">{{feature}}</li></ul></div></div></div></div><div class="change-plan" style="margin-bottom: 30px;" ng-show="shouldShowPlans(purchase)"><div><label>{{\'ev.widgets.purchases.changeProductPlan.select_new_plan\' | translate}}</label> :</div><div class="row"><div class="col-md-4" ng-repeat="plan in alternativePlans"><div class="change-product-plan" id="plan-{{plan.id}}-purchase-{{purchase.id}}" ng-click="selectPlan(purchase,plan)" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.selectPlan\' | translate}} {{plan.displayName}}" role="button"><h4>{{plan.displayName}}</h4><p>{{"ev.widgets.plan.frequency." + plan.frequency.id | translate }}</p><p>{{plan.currency.symbol}}{{getDisplayPrice(plan)}}</p></div></div></div></div><div ng-show="success && (purchase.id===currentPurchase.id)" style="margin-top: 10px;" class="row alert alert-success" role="alert"><p>Purchase Changed Successfully</p></div></div><div ng-show="showSpinner"><div class="loader" id="loader-1"></div></div><div ng-show="!success && selectedPlan" class="col-md-12" style="margin-top: 10px;">
30<button ng-disabled="upgrading" class="btn btn-primary" ng-click="confirmUpgrade()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.confirmChangePlan\' | translate}}">{{\'ev.widgets.purchases.changeProductPlan.confirm\' | translate}}</button></div><ev-revert-cancellation></ev-revert-cancellation><ev-cancel-purchase></ev-cancel-purchase><ev-change-card></ev-change-card><ev-generate-qr-code></ev-generate-qr-code><ev-change-product-plan></ev-change-product-plan><ev-upgrade-product-plan></ev-upgrade-product-plan></div></div></div>'),e.put("pm-v2/ev-view-referral-offers.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="widget-body pm2" ng-show="loggedIn"><div class="purchases-list-container responsive-overflow"><div class="table-responsive"><table class="table table-striped"><tbody class="mobile-table-body"><tr><th class="table-header">{{\'ev.widgets.referral_offers.level\' | translate}}</th><th class="table-header">{{\'ev.widgets.referral_offers.status\' | translate}}</th><th class="table-header">{{\'ev.widgets.referral_offers.level_description\' | translate}}</th><th class="table-header">{{\'ev.widgets.referral_offers.discount_description\' | translate}}</th></tr><tr class="purchase-item mobile-table-item" ng-repeat="offer in offers track by $index"><td class="mobile-table-item-attribute"><span class="mobile-table-header">{{\'ev.widgets.referral_offers.level\' | translate}}</span> <span class="mobile-table-content">{{offer.referralLevel}}</span></td><td class="mobile-table-item-attribute"><span class="mobile-table-header">{{\'ev.widgets.referral_offers.status\' | translate}}</span> <span class="mobile-table-content">{{offer.status || "-" }}</span></td><td class="mobile-table-item-attribute"><span class="mobile-table-header">{{\'ev.widgets.referral_offers.level_description\' | translate}}</span> <span class="mobile-table-content">{{offer.referralLevelDescription || "-" }}</span></td><td class="mobile-table-item-attribute"><span class="mobile-table-header">{{\'ev.widgets.referral_offers.discount_description\' | translate}}</span> <span class="mobile-table-content">{{offer.discountDescription || "-" }}</span></td></tr><tr ng-if="!offers.length"><td colspan="7" align="center"><span class="purchases-list-no-content">{{\'ev.widgets.referral_offers.no_offers\' | translate}}</span></td></tr></tbody></table></div></div></div></div>'), 31e.put("account/social/ev-edit-social-profile.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.editSocialProfile.ariaLabels.closeSocialProfileWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction(evEditSocialProfileForm)"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div id="editSocialProfileCaptureAttrs"><form name="evEditSocialProfileForm" aria-label="{{\'ev.widgets.editSocialProfile.ariaLabels.editSocialProfileForm\' | translate}}" class="ev form-horizontal" role="form" ng-submit="submitBtnAction(evEditSocialProfileForm)" novalidate><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div id="authScheme" ng-if="authSchemeName && editSocialProfileTemplate"><div ng-repeat="identifier in editSocialProfileTemplate.identifiers" ng-if="identifier.name !== \'password\' && identifier.name !== \'confirmPassword\'"><ev-attribute id="identifier-{{$index}}" input="{{identifier}}" type="identifier" check-identifier-uniquness="false" show-labels="{{showLabels}}" form-style="form-horizontal" override-translation-key="{{translationPrefix}}"></ev-attribute></div><div ng-repeat="validator in editSocialProfileTemplate.validators"><ev-attribute id="validator-{{$index}}" input="{{validator}}" type="validator" show-confirm-validators="true" show-labels="{{showLabels}}" form-style="form-horizontal" override-translation-key="{{translationPrefix}}"></ev-attribute></div></div><div id="buttonPanel" ng-if="!isLoading && editSocialProfileTemplate"><div class="ev form-group"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}}"><button type="submit" aria-label="{{\'ev.widgets.editSocialProfile.ariaLabels.confirmEditSocialProfile\' | translate}}" class="ev btn btn-success {{cancelbtnCaption ? \'\' : \'btn-lg btn-block\'}}" ng-disabled="!evEditSocialProfileForm.$valid || !(!evEditSocialProfileForm.$pristine && evEditSocialProfileForm.$dirty)">{{submitbtnCaption}}</button> <button type="reset" aria-label="{{\'ev.widgets.editSocialProfile.ariaLabels.cancelEditSocialProfile\' | translate}}" class="ev btn btn-default" ng-if="cancelbtnCaption" ng-click="cancelBtnAction(evEditSocialProfileForm)">{{cancelbtnCaption}}</button></div></div></div></form></div></div></div>'),e.put("account/social/ev-social-btns.tpl.html",'<div class="ev" id="{{widgetGuid}}"><div class="ev text-center" id="widget_social_icon_btns" ng-if="networkBtnStyle.toLocaleLowerCase() === \'icons\'"><div class="ev control-label widget-label" id="widget_social_icon_btns_desc" ng-if="networkDesc" style="width: 100%;">{{networkDesc}}</div><div class="ev-social-btns-group"><div class="btn-group" ng-repeat="network in networks" role="group"><div ng-if="network === \'google\'" id="googleSignIn-btn-{{networkAction}}" class="ev"></div><div ng-if="network !== \'google\'" class="ev-social-btn-wrapper"><div class="ev-social-btn-wrapper"><div id="{{network}}-icon-btn" aria-label="{{network}}" class="ev btn-{{network}} ev-social-btn" ng-click="performAction(network)" ng-show="isSocialNetworkSupported(network)" role="button" type="button"><span class="ev-social-btn-icon"><div class="{{getSocialIconName(network)}}"></div></span><span class="ev-social-btn-text" for="{{network}}-icon-btn">{{getSocialNetworkDisplayName(network)}}</span></div></div></div></div></div></div><div class="ev text-center" id="widget_social_txt_btns" ng-if="networkBtnStyle.toLocaleLowerCase() === \'text\'"><div class="btn-group" ng-repeat="network in networks" role="group"><div ng-if="network === \'google\'" id="googleSignIn-btn-{{networkAction}}" class="ev"></div><div ng-if="network !== \'google\'" class="ev-social-btn-wrapper"><div id="{{network}}-btn" aria-label="{{network}}" class="ev btn-{{network}} ev-social-btn" ng-click="performAction(network)" ng-show="isSocialNetworkSupported(network)" role="button" type="button"><span class="ev-social-btn-icon"><div class="{{getSocialIconName(network)}}"></div></span><span class="ev-social-btn-text" for="{{network}}-icon-btn">{{socialNetworkLabel + \' \' + getSocialNetworkDisplayName(network)}}</span></div></div></div></div></div>'),e.put("account/social/ev-social-cardView.tpl.html",'<div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div id="social-panel-{{network}}" class="social-account-panel"><form name="evSocialUnlinkAccountForm" aria-label="{{\'ev.widgets.socialCardView.ariaLabels.unlinkSocialAccount\' | translate}}" class="widget-form" role="form" ng-submit="unlinkAccountAction(network)" novalidate><div id="social-icon-{{network}}" class="social-account-icon {{network === \'google\' ? \'btn-google\': \'btn-\'+network}}"><span class="{{getSocialIconName(network)}}"></span></div><div class="social-account-body"><div class="social-account-text"><h5>{{network | capitalize}}</h5></div><div class="social-account-buttons"><button type="submit" aria-label="{{\'ev.widgets.socialCardView.ariaLabels.confirmUnlinkSocialAccount\' | translate}}" class="ev btn btn-success">{{"ev.widgets.social.unlinkaccounts.cardview.unlinkButton" | translate}} {{getSocialNetworkDisplayName(network)}}</button></div></div></form></div></div>'),e.put("account/social/ev-social-link-accounts.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" role="button" aria-label="{{\'ev.widgets.socialLinkAccounts.ariaLabels.closeSocialLinkAccountsWidget\' | translate}}" class="widget-close" ng-click="cancelBtnAction()"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div id="social-container" class="social-account-container"><div class="row"><div ng-repeat="network in filteredSocialNetworks track by $index" class="col-md-6 col-md-6"><div id="social-panel-{{network.value}}" class="social-account-panel"><form name="evSocialLinkAccountForm" aria-label="{{\'ev.widgets.socialLinkAccounts.ariaLabels.linkSocialAccountsForm\' | translate}}" class="widget-form" role="form" ng-submit="linkAccountAction(network.value)" novalidate><div id="social-icon-{{network.value}}" class="social-account-icon {{network.value === \'google\' ? \'btn-google\': \'btn-\'+network.value}}"><span class="{{getSocialIconName(network.value)}}"></span></div><div class="social-account-body"><div class="social-account-text"><h5>
31{{network.caption | capitalize}}</h5></div><div class="social-account-buttons"><button aria-label="{{\'ev.widgets.socialLinkAccounts.ariaLabels.confirmLinkAccount\' | translate}}" type="submit" class="ev btn btn-success">{{"ev.widgets.social.linkaccounts.linkbutton" | translate}} {{getSocialNetworkDisplayName(network.caption)}}</button></div></div></form></div></div></div></div></div></div>'),e.put("account/social/ev-social-link.tpl.html",'<div id="social-link-flip" class="flip"><div id="social-link-flip-front" ng-class="flippedFrontStyle"><div class="flip-front-content"><div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.socialLink.ariaLabels.closeSocialLinkWidget\' | translate}}" role="button" class="ev widget-close" ng-click="navBarCloseAction(evSocialLinkForm)"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div id="socialLinkCaptureAttrs"><div id="social-link-description" ng-show="widgetDescription && evSocialLinkForm.$template"><div class="ev widget-desc">{{widgetDescription}}</div></div><ng-form name="evSocialLinkForm" aria-label="{{\'ev.widgets.socialLink.ariaLabels.linkSocialForm\' | translate}}" class="ev form-horizontal" role="form" ng-submit="submitBtnAction(evSocialLinkForm)" novalidate><ev-event-handler id="widgetGuid"><ev-capture-container action="socialAccountLink"><ev-capture-attributes id="{{evCaptureFormGuid}}" auth-scheme-name="{{authSchemeName}}" show-labels="{{showLabels}}" override-translation-key="{{translationPrefix}}" non-editable="{{nonEditable}}" from-widget="evSocialLink"></ev-capture-attributes></ev-capture-container></ev-event-handler><div id="buttonPanel" ng-if="evSocialLinkForm.$ready && evSocialLinkForm.$template"><div class="ev form-group"><div class="ev col-sm-10 col-sm-offset-2">
31<button ng-show="submitBtnCaption" aria-label="{{\'ev.widgets.socialLink.ariaLabels.confirmLinkAccount\' | translate}}" type="submit" class="ev btn btn-success {{cancelAnchorCaption ? \'submit-btn\' : \'\'}}" ng-disabled="!evSocialLinkForm.$valid" ng-click="submitBtnAction(this, evSocialLinkForm)">{{submitBtnCaption}}</button><div ng-show="submitAnchorCaption" style="display:inline-block; float: left; padding: 0px 10px;"><div class="ev control-label widget-label">{{ \'ev.widgets.orseparator\' | translate }}</div><a class="ev social-link" aria-label="{{\'ev.widgets.socialLink.ariaLabels.confirmLinkAccount\' | translate}}" role="button" ng-click="submitBtnAction(this, evSocialLinkForm)">{{submitAnchorCaption}}</a></div><button ng-show="cancelBtnCaption" aria-label="{{\'ev.widgets.socialLink.ariaLabels.confirmCancelLinkSocial\' | translate}}" type="reset" class="ev btn btn-default {{cancelAnchorCaption ? \'cancel-btn\' : \'\'}}" ng-click="cancelBtnAction(evSocialLinkForm)">{{cancelBtnCaption}}</button><div ng-show="cancelAnchorCaption" style="display:inline-block; float: left; padding: 0px 10px;"><div class="ev control-label widget-label">{{ \'ev.widgets.orseparator\' | translate }}</div><a class="ev social-link" aria-label="{{\'ev.widgets.socialLink.ariaLabels.confirmCancelLinkSocial\' | translate}}" role="button" ng-click="cancelBtnAction(this, evSocialLinkForm)">{{cancelAnchorCaption}}</a></div></div></div></div><div align="right" ng-if="evSocialLinkForm.$template && showForgotPassword"><span class="forgot-password" aria-label="{{\'ev.widgets.socialLink.ariaLabels.forgotPassword\' | translate}}" role="button" ng-click="forgotPasswordAction()">{{showForgotPasswordTitle}}</span></div></ng-form></div></div></div></div></div><div id="social-link-flip-back" class="{{flippedBackStyle}}"><div class="flip-back-content" align="right"><ev-forgot-password auth-scheme-name="{{authSchemeName}}" service-name="{{serviceName}}" title="{{showForgotPasswordTitle}}" form-style="{{formStyle}}" align="{{forgotPasswordAlignment}}" show-labels="{{showLabels}}" show-header="{{showHeader}}" show-container="{{showContainer}}" show-error-msgs="{{showErrorMsgs}}" submitbtn-caption="{{forgotPasswordSubmitBtnCaption}}" cancelbtn-caption="{{forgotPasswordCancelBtnCaption}}" translation-key="{{translationPrefix}}"></div></div></div>'),e.put("account/social/ev-social-registration.tpl.html",'<div id="social-registration-flip" class="flip"><div id="social-registration-flip-front" ng-class="flippedFrontStyle"><div class="flip-front-content"><div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="ev text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.socialRegistration.ariaLabels.closeSocialRegistrationWidget\' | translate}}" role="button" class="ev widget-close" ng-click="navBarCloseAction(evSocialRegistrationForm)"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="ev widget-body"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="social-registration-error" align="center" show-cancel="true"></ev-error-msg></div><div id="socialRegistrationCaptureAttrs"><div id="social-registration-description" ng-show="widgetDescription && evSocialRegistrationForm.$template"><div class="ev widget-desc">{{widgetDescription}}</div></div><ng-form name="evSocialRegistrationForm" aria-label="{{\'ev.widgets.socialRegistration.ariaLabels.socialRegistrationForm\' | translate}}" class="ev form-horizontal" role="form" ng-submit="submitBtnAction(evSocialRegistrationForm)" novalidate><ev-event-handler id="widgetGuid"><ev-capture-container action="socialAccountRegister"><ev-capture-attributes id="{{widgetGuid}}" service-name="{{serviceName}}" show-labels="{{showLabels}}" show-mandatory="true" hidden-attributes="{{hiddenAttributes}}" override-translation-key="{{translationPrefix}}" non-editable="{{nonEditable}}" from-widget="evSocialRegistration"></ev-capture-attributes></ev-capture-container></ev-event-handler><div id="buttonPanel" ng-if="evSocialRegistrationForm.$ready && evSocialRegistrationForm.$template"><div class="{{evSocialRegistrationForm.$ready ? \'ev form-group\' : \'\'}}"><div class="{{showLabels ? \'ev col-sm-10 col-sm-offset-2\' : \'ev col-sm-12\'}} {{showSocialLink ? \'social-link-btn-container\' : \'\'}}">
31<button ng-show="submitBtnCaption" type="submit" aria-label="{{\'ev.widgets.socialRegistration.ariaLabels.confirmSocialRegister\' | translate}}" class="ev btn btn-success {{cancelAnchorCaption ? \'submit-btn\' : \'\'}}" ng-click="submitBtnAction(this, evSocialRegistrationForm)">{{submitBtnCaption}}</button><div ng-show="submitAnchorCaption" style="display:inline-block; float: left; padding: 0px 10px;"><div class="ev control-label widget-label">{{ \'ev.widgets.orseparator\' | translate }}</div><a class="ev social-link" aria-label="{{\'ev.widgets.socialRegistration.ariaLabels.confirmSocialRegister\' | translate}}" role="button" ng-click="submitBtnAction(this, evSocialRegistrationForm)">{{submitAnchorCaption}}</a></div><button ng-show="cancelBtnCaption" aria-label="{{\'ev.widgets.socialRegistration.ariaLabels.confirmCancelSocialRegister\' | translate}}" type="reset" class="ev btn btn-default {{cancelAnchorCaption ? \'cancel-btn\' : \'\'}}" ng-click="cancelBtnAction(evSocialRegistrationForm)">{{cancelBtnCaption}}</button><div ng-show="cancelAnchorCaption" style="display:inline-block; float: left; padding: 0px 10px; margin-top: 10px"><label class="ev control-label widget-label">{{ \'ev.widgets.orseparator\' | translate }}</label> <a class="ev social-link" aria-label="{{\'ev.widgets.socialRegistration.ariaLabels.confirmCancelSocialRegister\' | translate}}" role="button" ng-click="cancelAnchorAction(this, evSocialRegistrationForm)">{{cancelAnchorCaption}}</a></div></div></div></div></ng-form></div></div></div></div></div><div id="social-registration-flip-back" ng-class="flippedBackStyle"><div class="flip-back-content"><ev-social-link id="ev-widget.social-link-{{widgetId}}" auth-scheme-name="{{authSchemeName}}" service-name="{{serviceName}}" title="{{socialLinkTitle}}" register-embedded="{{showSocialLink}}" show-header="{{showHeader}}" show-labels="{{showLabels}}" show-container="{{showContainer}}" show-error-msgs="{{showErrorMsgs}}" submitbtn-caption="{{socialLinkSubmitBtnCaption}}" submitanchor-caption="{{socialLinkSubmitAnchorCaption}}" cancelbtn-caption="{{socialLinkCancelBtnCaption}}" cancelanchor-caption="{{socialLinkCancelAnchorCaption}}" show-forgot-password="true" show-forgot-password-title="Forgot Password" forgot-password-submit-btn-caption="Reset Password" forgot-password-cancel-btn-caption="Cancel" translation-key="{{translationPrefix}}" non-editable="{{nonEditable}}"></div></div></div>'),e.put("account/social/ev-social-unlink-accounts.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="widget-header" ng-if="showHeader"><span class="text-lt">{{widgetTitle}}</span> <a ng-if="showCancel" id="widget-cancel" aria-label="{{\'ev.widgets.socialUnlinkAccounts.ariaLabels.closeSocialUnlinkAccountsWidget\' | translate}}" role="button" class="widget-close" ng-click="cancelBtnAction()"><span class="ev glyphicon glyphicon-remove"></span></a></div><div id="widget-body" class="widget-body"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div id="social-container" class="social-account-container"><div class="row"><div ng-repeat="(network, networkProfile) in linkedSocialNetworks track by $index" class="col-md-6 col-md-6"><ev-social-unlink-card-view network="{{network.toLowerCase()}}" service-name="{{serviceName}}" on-social-unlink-failed="{{onSocialUnlinkFailed}}" show-header="false" class="social-account-margin" translation-key="{{translationPrefix}}" show-network-name-btn="{{showNetworkNameBtn}}"></ev-social-unlink-card-view></div></div></div></div></div>'),e.put("pm-v2/pm-icons/amex.html",'<svg width="750" height="471" viewBox="0 0 750 471" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><desc>Created with Sketch.</desc><defs></defs><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="amex" fill-rule="nonzero"><rect id="Rectangle-1" fill="#2557D6" x="0" y="0" width="750" height="471" rx="40"></rect><path d="M0.002688,221.18508 L36.026849,221.18508 L44.149579,201.67506 L62.334596,201.67506 L70.436042,221.18508 L141.31637,221.18508 L141.31637,206.26909 L147.64322,221.24866 L184.43894,221.24866 L190.76579,206.04654 L190.76579,221.18508 L366.91701,221.18508 L366.83451,189.15941 L370.2427,189.15941 C372.62924,189.24161 373.3263,189.46144 373.3263,193.38516 L373.3263,221.18508 L464.43232,221.18508 L464.43232,213.72973 C471.78082,217.6508 483.21064,221.18508 498.25086,221.18508 L536.57908,221.18508 L544.78163,201.67506 L562.96664,201.67506 L570.98828,221.18508 L644.84844,221.18508 L644.84844,202.65269 L656.0335,221.18508 L715.22061,221.18508 L715.22061,98.67789 L656.64543,98.67789 L656.64543,113.14614 L648.44288,98.67789 L588.33787,98.67789 L588.33787,113.14614 L580.80579,98.67789 L499.61839,98.67789 C486.02818,98.67789 474.08221,100.5669 464.43232,105.83121 L464.43232,98.67789 L408.40596,98.67789 L408.40596,105.83121 C402.26536,100.40529 393.89786,98.67789 384.59383,98.67789 L179.90796,98.67789 L166.17407,130.3194 L152.07037,98.67789 L87.59937,98.67789 L87.59937,113.14614 L80.516924,98.67789 L25.533518,98.67789 L-2.99999999e-06,
31156.92445 L-2.99999999e-06,221.18508 L0.002597,221.18508 L0.002688,221.18508 Z M227.39957,203.51436 L205.78472,203.51436 L205.70492,134.72064 L175.13228,203.51436 L156.62,203.51436 L125.96754,134.6597 L125.96754,203.51436 L83.084427,203.51436 L74.982981,183.92222 L31.083524,183.92222 L22.8996,203.51436 L4.7e-05,203.51436 L37.756241,115.67692 L69.08183,115.67692 L104.94103,198.84086 L104.94103,115.67692 L139.35289,115.67692 L166.94569,175.26406 L192.29297,115.67692 L227.39657,115.67692 L227.39657,203.51436 L227.39957,203.51436 Z M67.777214,165.69287 L53.346265,130.67606 L38.997794,165.69287 L67.777214,165.69287 Z M313.41947,203.51436 L242.98611,203.51436 L242.98611,115.67692 L313.41947,115.67692 L313.41947,133.96821 L264.07116,133.96821 L264.07116,149.8009 L312.23551,149.8009 L312.23551,167.80606 L264.07116,167.80606 L264.07116,185.34759 L313.41947,185.34759 L313.41947,203.51436 Z M412.67528,139.33321 C412.67528,153.33782 403.28877,160.57326 397.81863,162.74575 C402.43206,164.49434 406.37237,167.58351 408.24808,170.14281 C411.22525,174.51164 411.73875,178.41416 411.73875,186.25897 L411.73875,203.51436 L390.47278,203.51436 L390.39298,192.43732 C390.39298,187.1518 390.90115,179.55074 387.0646,175.32499 C383.98366,172.23581 379.28774,171.56552 371.69714,171.56552 L349.06363,171.56552 L349.06363,203.51436 L327.98125,203.51436 L327.98125,115.67692 L376.47552,115.67692 C387.25084,115.67692 395.18999,115.9604 402.00639,119.88413 C408.67644,123.80786 412.67529,129.53581 412.67529,139.33321 L412.67528,139.33321 Z M386.02277,152.37632 C383.1254,154.12756 379.69859,154.18584 375.59333,154.18584 L349.97998,154.18584 L349.97998,134.67583 L375.94186,134.67583 C379.61611,134.67583 383.44999,134.8401 385.94029,136.26016 C388.67536,137.53981 390.36749,140.26337 390.36749,144.02548 C390.36749,147.86443 388.75784,150.95361 386.02277,152.37632 Z M446.48908,203.51436 L424.97569,203.51436 L424.97569,115.67692 L446.48908,115.67692 L446.48908,203.51436 Z M696.22856,203.51436 L666.35032,203.51436 L626.38585,137.58727 L626.38585,203.51436 L583.44687,203.51436 L575.24166,183.92222 L531.44331,183.92222 L523.48287,203.51436 L498.81137,203.51436 C488.56284,203.51436 475.58722,201.25709 468.23872,193.79909 C460.82903,186.3411 456.97386,176.23903 456.97386,160.26593 C456.97386,147.23895 459.27791,135.33 468.33983,125.91941 C475.15621,118.90916 485.83044,115.67692 500.35982,115.67692 L520.77174,115.67692 L520.77174,134.49809 L500.78818,134.49809 C493.0938,134.49809 488.74909,135.63733 484.564,139.70147 C480.96957,143.4 478.50322,150.39171 478.50322,159.59829 C478.50322,169.00887 480.38158,175.79393 484.30061,180.22633 C487.5465,183.70232 493.445,184.75677 498.99495,184.75677 L508.46393,184.75677 L538.17987,115.67957 L569.77152,115.67957 L605.46843,198.76138 L605.46843,115.67957 L637.5709,115.67957 L674.6327,176.85368 L674.6327,115.67957 L696.22856,115.67957 L696.22856,203.51436 Z M568.07051,165.69287 L553.47993,130.67606 L538.96916,165.69287 L568.07051,165.69287 Z" id="Path" fill="#FFFFFF"></path><path d="M749.95644,343.76716 C744.83485,351.22516 734.85504,355.00582 721.34464,355.00582 L680.62723,355.00582 L680.62723,336.1661 L721.17969,336.1661 C725.20248,336.1661 728.01736,335.63887 729.71215,333.99096 C731.18079,332.63183 732.2051,330.65804 732.2051,328.26036 C732.2051,325.70107 731.18079,323.66899 729.62967,322.45028 C728.09984,321.10969 725.87294,320.50033 722.20135,320.50033 C702.40402,319.83005 677.70592,321.10969 677.70592,293.30714 C677.70592,280.56363 685.83131,267.14983 707.95664,267.14983 L749.95379,267.14983 L749.95644,249.66925 L710.93382,249.66925 C699.15812,249.66925 690.60438,252.47759 684.54626,256.84375 L684.54626,249.66925 L626.83044,249.66925 C617.60091,249.66925 606.76706,251.94771 601.64279,256.84375 L601.64279,249.66925 L498.57751,249.66925 L498.57751,256.84375 C490.37496,250.95154 476.53466,249.66925 470.14663,249.66925 L402.16366,249.66925 L402.16366,256.84375 C395.67452,250.58593 381.24357,249.66925 372.44772,249.66925 L296.3633,249.66925 L278.95252,268.43213 L262.64586,249.66925 L148.99149,249.66925 L148.99149,372.26121 L260.50676,372.26121 L278.447,353.20159 L295.34697,372.26121 L364.08554,372.32211 L364.08554,343.48364 L370.84339,343.48364 C379.96384,343.62405 390.72054,343.25845 400.21079,339.17311 L400.21079,372.25852 L456.90762,372.25852 L456.90762,340.30704 L459.64268,340.30704 C463.13336,340.30704 463.47657,340.45011 463.47657,343.92344 L463.47657,372.25587 L635.71144,372.25587 C646.64639,372.25587 658.07621,369.46873 664.40571,364.41107 L664.40571,372.25587 L719.03792,372.25587 C730.40656,372.25587 741.50913,370.66889 749.95644,366.60475 L749.95644,343.76712 L749.95644,343.76716 Z M408.45301,296.61266 C408.45301,321.01872 390.16689,326.05784 371.7371,326.05784 L345.42935,326.05784 L345.42935,355.52685 L304.44855,355.52685 L278.48667,326.44199 L251.5058,355.52685 L167.9904,355.52685 L167.9904,267.66822 L252.79086,267.66822 L278.73144,296.46694 L305.55002,267.66822 L372.92106,267.66822 C389.6534,267.66822 408.45301,272.28078 408.45301,296.61266 Z M240.82781,337.04655 L188.9892,337.04655 L188.9892,319.56596 L235.27785,319.56596 L235.27785,301.64028 L188.9892,301.64028 L188.9892,285.66718 L241.84947,285.66718 L264.91132,311.27077 L240.82781,337.04655 Z M324.3545,347.10668 L291.9833,311.3189 L324.3545,276.6677 L324.3545,347.10668 Z M372.2272,308.04117 L344.98027,308.04117 L344.98027,285.66718 L372.47197,285.66718 C380.08388,285.66718 385.36777,288.75636 385.36777,296.43956 C385.36777,304.03796 380.32865,308.04117 372.2272,308.04117 Z M514.97053,267.66815 L585.34004,267.66815 L585.34004,285.83764 L535.96778,285.83764 L535.96778,301.81074 L584.1348,301.81074 L584.1348,319.73642 L535.96778,319.73642 L535.96778,337.21701 L585.34004,337.29641 L585.34004,355.52678 L514.97053,355.52678 L514.97053,267.66815 Z M487.91724,314.6973 C492.61049,316.42205 496.44703,319.51387 498.24559,322.07317 C501.22276,326.36251 501.65378,330.36571 501.73891,338.10985 L501.73891,355.52685 L480.5714,355.52685 L480.5714,344.53458 C480.5714,339.24908 481.08223,331.42282 477.1632,327.33748 C474.08226,324.19002 469.38635,323.4376 461.69463,323.4376 L439.16223,323.4376 L439.16223,355.52685 L417.97609,355.52685 L417.97609,267.66822 L466.65393,267.66822 C477.32816,267.66822 485.10236,268.13716 492.02251,271.81449 C498.6766,275.8177 502.86168,281.30191 502.86168,291.3245 C502.85868,305.34765 493.46719,312.50362 487.91724,314.6973 Z M475.99899,303.59022 C473.17879,3
3105.25668 469.69077,305.39975 465.58817,305.39975 L439.97483,305.39975 L439.97483,285.66718 L465.9367,285.66718 C469.69077,285.66718 473.4475,285.74658 475.99899,287.25416 C478.7314,288.67687 480.36499,291.39779 480.36499,295.15725 C480.36499,298.91672 478.7314,301.94496 475.99899,303.59022 Z M666.33539,309.1866 C670.44067,313.41766 672.64095,318.7588 672.64095,327.80112 C672.64095,346.70178 660.78278,355.5242 639.51948,355.5242 L598.45353,355.5242 L598.45353,336.68449 L639.35453,336.68449 C643.35337,336.68449 646.18954,336.15726 647.9668,334.50934 C649.41681,333.15021 650.45709,331.17643 650.45709,328.77875 C650.45709,326.21944 649.33167,324.18738 647.88433,322.96866 C646.27201,321.62807 644.04778,321.01872 640.37619,321.01872 C620.65868,320.34843 595.9659,321.62807 595.9659,293.82551 C595.9659,281.08201 604.00615,267.66822 626.11019,267.66822 L668.37872,267.66822 L668.37872,286.36752 L629.70196,286.36752 C625.86809,286.36752 623.37512,286.51059 621.25464,287.9545 C618.94527,289.37721 618.08856,291.48876 618.08856,294.2759 C618.08856,297.59028 620.04941,299.8449 622.702,300.81987 C624.92624,301.59084 627.31543,301.81603 630.9072,301.81603 L642.25722,302.12071 C653.703,302.39889 661.55967,304.37003 666.33539,309.1866 Z M750,285.66718 L711.57335,285.66718 C707.7368,285.66718 705.18797,285.81025 703.04088,287.25416 C700.81665,288.67687 699.95995,290.78843 699.95995,293.57558 C699.95995,296.88994 701.83831,299.14456 704.57071,300.11953 C706.79495,300.8905 709.18415,301.1157 712.6961,301.1157 L724.12327,301.42038 C735.65419,301.70387 743.35123,303.67765 748.04448,308.49157 C748.89852,309.16186 749.41202,309.91428 750,310.6667 L750,285.66718 Z" id="path13" fill="#FFFFFF"></path></g></g></svg>'),e.put("pm-v2/pm-icons/apple-pay.html",'<svg version="1.1" id="Artwork" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="165.52107px" height="105.9651px" viewBox="0 0 165.52107 105.9651" enable-background="new 0 0 165.52107 105.9651" xml:space="preserve"><g><path id="XMLID_4_" d="M150.69807,0H14.82318c-0.5659,0-1.1328,0-1.69769,0.0033c-0.47751,0.0034-0.95391,0.0087-1.43031,0.0217\r\n\t\tc-1.039,0.0281-2.0869,0.0894-3.1129,0.2738c-1.0424,0.1876-2.0124,0.4936-2.9587,0.9754\r\n\t\tc-0.9303,0.4731-1.782,1.0919-2.52009,1.8303c-0.73841,0.7384-1.35721,1.5887-1.83021,2.52\r\n\t\tc-0.4819,0.9463-0.7881,1.9166-0.9744,2.9598c-0.18539,1.0263-0.2471,2.074-0.2751,3.1119\r\n\t\tc-0.0128,0.4764-0.01829,0.9528-0.0214,1.4291c-0.0033,0.5661-0.0022,1.1318-0.0022,1.6989V91.142\r\n\t\tc0,0.5671-0.0011,1.13181,0.0022,1.69901c0.00311,0.4763,0.0086,0.9527,0.0214,1.4291\r\n\t\tc0.028,1.03699,0.08971,2.08469,0.2751,3.11069c0.1863,1.0436,0.4925,2.0135,0.9744,2.9599\r\n\t\tc0.473,0.9313,1.0918,1.7827,1.83021,2.52c0.73809,0.7396,1.58979,1.3583,2.52009,1.8302\r\n\t\tc0.9463,0.4831,1.9163,0.7892,2.9587,0.9767c1.026,0.1832,2.0739,0.2456,3.1129,0.2737c0.4764,0.0108,0.9528,0.0172,1.43031,0.0194\r\n\t\tc0.56489,0.0044,1.13179,0.0044,1.69769,0.0044h135.87489c0.5649,0,1.13181,0,1.69659-0.0044\r\n\t\tc0.47641-0.0022,0.95282-0.0086,1.4314-0.0194c1.0368-0.0281,2.0845-0.0905,3.11301-0.2737\r\n\t\tc1.041-0.1875,2.0112-0.4936,2.9576-0.9767c0.9313-0.4719,1.7805-1.0906,2.52011-1.8302c0.7372-0.7373,1.35599-1.5887,1.8302-2.52\r\n\t\tc0.48299-0.9464,0.78889-1.9163,0.97429-2.9599c0.1855-1.026,0.2457-2.0737,0.2738-3.11069\r\n\t\tc0.013-0.4764,0.01941-0.9528,0.02161-1.4291c0.00439-0.5672,0.00439-1.1319,0.00439-1.69901V14.8242\r\n\t\tc0-0.5671,0-1.1328-0.00439-1.6989c-0.0022-0.4763-0.00861-0.9527-0.02161-1.4291c-0.02811-1.0379-0.0883-2.0856-0.2738-3.1119\r\n\t\tc-0.18539-1.0432-0.4913-2.0135-0.97429-2.9598c-0.47421-0.9313-1.093-1.7816-1.8302-2.52\r\n\t\tc-0.73961-0.7384-1.58881-1.3572-2.52011-1.8303c-0.9464-0.4818-1.9166-0.7878-2.9576-0.9754\r\n\t\tc-1.0285-0.1844-2.0762-0.2457-3.11301-0.2738c-0.47858-0.013-0.95499-0.0183-1.4314-0.0217C151.82988,0,151.26297,0,150.69807,0\r\n\t\tL150.69807,0z"/><path id="XMLID_3_" fill="#FFFFFF" d="M150.69807,3.532l1.67149,0.0032c0.4528,0.0032,0.90561,0.0081,1.36092,0.0205\r\n\t\tc0.79201,0.0214,1.71849,0.0643,2.58209,0.2191c0.7507,0.1352,1.38029,0.3408,1.9845,0.6484\r\n\t\tc0.5965,0.3031,1.14301,0.7003,1.62019,1.1768c0.479,0.4797,0.87671,1.0271,1.18381,1.6302\r\n\t\tc0.30589,0.5995,0.51019,1.2261,0.64459,1.9823c0.1544,0.8542,0.1971,1.7832,0.21881,2.5801\r\n\t\tc0.01219,0.4498,0.01819,0.8996,0.0204,1.3601c0.00429,0.5569,0.0042,1.1135,0.0042,1.6715V91.142\r\n\t\tc0,0.558,0.00009,1.1136-0.0043,1.6824c-0.00211,0.4497-0.0081,0.8995-0.0204,1.3501c-0.02161,0.7957-0.0643,1.7242-0.2206,2.5885\r\n\t\tc-0.13251,0.7458-0.3367,1.3725-0.64429,1.975c-0.30621,0.6016-0.70331,1.1484-1.18022,1.6251\r\n\t\tc-0.47989,0.48-1.0246,0.876-1.62819,1.1819c-0.5997,0.3061-1.22821,0.51151-1.97151,0.6453\r\n\t\tc-0.88109,0.157-1.84639,0.2002-2.57339,0.2199c-0.4574,0.0103-0.9126,0.01649-1.37889,0.0187\r\n\t\tc-0.55571,0.0043-1.1134,0.0042-1.6692,0.0042H14.82318c-0.0074,0-0.0146,0-0.0221,0c-0.5494,0-1.0999,0-1.6593-0.0043\r\n\t\tc-0.4561-0.00211-0.9112-0.0082-1.3512-0.0182c-0.7436-0.0201-1.7095-0.0632-2.5834-0.2193\r\n\t\tc-0.74969-0.1348-1.3782-0.3402-1.9858-0.6503c-0.59789-0.3032-1.1422-0.6988-1.6223-1.1797\r\n\t\tc-0.4764-0.4756-0.8723-1.0207-1.1784-1.6232c-0.3064-0.6019-0.5114-1.23
3105-0.64619-1.9852\r\n\t\tc-0.15581-0.8626-0.19861-1.7874-0.22-2.5777c-0.01221-0.4525-0.01731-0.9049-0.02021-1.3547l-0.0022-1.3279l0.0001-0.3506V14.8242\r\n\t\tl-0.0001-0.3506l0.0021-1.3251c0.003-0.4525,0.0081-0.9049,0.02031-1.357c0.02139-0.7911,0.06419-1.7163,0.22129-2.5861\r\n\t\tc0.1336-0.7479,0.3385-1.3765,0.6465-1.9814c0.3037-0.5979,0.7003-1.1437,1.17921-1.6225\r\n\t\tc0.477-0.4772,1.02309-0.8739,1.62479-1.1799c0.6011-0.3061,1.2308-0.5116,1.9805-0.6465c0.8638-0.1552,1.7909-0.198,2.5849-0.2195\r\n\t\tc0.4526-0.0123,0.9052-0.0172,1.3544-0.0203l1.6771-0.0033H150.69807"/><g><g><path d="M45.1862,35.64053c1.41724-1.77266,2.37897-4.15282,2.12532-6.58506c-2.07464,0.10316-4.60634,1.36871-6.07207,3.14276\r\n\t\t\t\tc-1.31607,1.5192-2.4809,3.99902-2.17723,6.3293C41.39111,38.72954,43.71785,37.36345,45.1862,35.64053"/><path d="M47.28506,38.98252c-3.38211-0.20146-6.25773,1.91951-7.87286,1.91951c-1.61602,0-4.08931-1.81799-6.76438-1.76899\r\n\t\t\t\tc-3.48177,0.05114-6.71245,2.01976-8.4793,5.15079c-3.63411,6.2636-0.95904,15.55471,2.57494,20.65606\r\n\t\t\t\tc1.71618,2.5238,3.78447,5.30269,6.50976,5.20287c2.57494-0.10104,3.58421-1.66732,6.71416-1.66732\r\n\t\t\t\tc3.12765,0,4.03679,1.66732,6.76252,1.61681c2.82665-0.05054,4.59381-2.52506,6.30997-5.05132\r\n\t\t\t\tc1.96878-2.877,2.77473-5.65498,2.82542-5.80748c-0.0507-0.05051-5.45058-2.12204-5.50065-8.33358\r\n\t\t\t\tc-0.05098-5.20101,4.23951-7.6749,4.44144-7.82832C52.3832,39.4881,48.5975,39.08404,47.28506,38.98252"/></g><g><path d="M76.73385,31.94381c7.35096,0,12.4697,5.06708,12.4697,12.44437c0,7.40363-5.22407,12.49704-12.65403,12.49704h-8.13892\r\n\t\t\t\tv12.94318h-5.88037v-37.8846H76.73385z M68.41059,51.9493h6.74732c5.11975,0,8.0336-2.75636,8.0336-7.53479\r\n\t\t\t\tc0-4.77792-2.91385-7.50845-8.00727-7.50845h-6.77365V51.9493z"/><path d="M90.73997,61.97864c0-4.8311,3.70182-7.79761,10.26583-8.16526l7.56061-0.44614v-2.12639\r\n\t\t\t\tc0-3.07185-2.07423-4.90959-5.53905-4.90959c-3.28251,0-5.33041,1.57492-5.82871,4.04313h-5.35574\r\n\t\t\t\tc0.31499-4.98859,4.56777-8.66407,11.3941-8.66407c6.69466,0,10.97377,3.54432,10.97377,9.08388v19.03421h-5.43472v-4.54194\r\n\t\t\t\th-0.13065c-1.
3160125,3.07185-5.09341,5.01441-8.71623,5.01441C94.52078,70.30088,90.73997,66.94038,90.73997,61.97864z\r\n\t\t\t\t M108.56641,59.4846v-2.17905l-6.8,0.41981c-3.38683,0.23649-5.30306,1.73291-5.30306,4.09579\r\n\t\t\t\tc0,2.41504,1.99523,3.99046,5.04075,3.99046C105.46823,65.81161,108.56641,63.08108,108.56641,59.4846z"/><path d="M119.34167,79.9889v-4.5946c0.4193,0.10483,1.36425,0.10483,1.83723,0.10483c2.6252,0,4.04313-1.10245,4.90908-3.9378\r\n\t\t\t\tc0-0.05267,0.49931-1.68025,0.49931-1.70658l-9.97616-27.64562h6.14268l6.98432,22.47371h0.10432l6.98433-22.47371h5.9857\r\n\t\t\t\tl-10.34483,29.06304c-2.36186,6.69517-5.0924,8.84789-10.81577,8.84789C121.17891,80.12006,119.76098,80.06739,119.34167,79.9889\r\n\t\t\t\tz"/></g></g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>'), 32e.put("pm-v2/pm-icons/diners.html",'<svg width="750" height="471" viewBox="0 0 750 471" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" fill="none"><rect fill="#0079BE" width="750" height="471" rx="40"/><path d="M584.934 237.947c0-99.415-82.981-168.133-173.895-168.1h-78.242c-92.003-.033-167.73 68.705-167.73 168.1 0 90.93 75.727 165.64 167.73 165.204h78.242c90.914.436 173.895-74.293 173.895-165.204z" fill="#FFF"/><path d="M333.28 83.93c-84.07.027-152.194 68.308-152.214 152.58.02 84.258 68.144 152.533 152.214 152.56 84.09-.027 152.228-68.302 152.24-152.56-.012-84.272-68.15-152.553-152.24-152.58z" fill="#0079BE"/><path d="M237.066 236.098c.08-41.18 25.746-76.296 61.94-90.25v180.48c-36.194-13.947-61.861-49.044-61.94-90.23zm131 90.275V145.847c36.207 13.92 61.914 49.057 61.98 90.257-.066 41.212-25.773 76.322-61.98 90.269z" fill="#FFF"/></g></svg>'),e.put("pm-v2/pm-icons/direct-debit.html",'<?xml version="1.0" encoding="iso-8859-1"?> <svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve"><circle style="fill:#353535;" cx="256" cy="256" r="256"/><path style="fill:#F0EFEB;" d="M309.039,66.855v-9.601c-4.004-0.302-8.03-0.538-12.076-0.711V202.56\r\n\tC187.95,195.651,45.98,236.315,45.98,302.08s112.672,146.75,250.983,134.35c91.704,0,166.058-82.858,166.058-185.046\r\n\tC463.021,153.694,395.104,73.765,309.039,66.855z M296.963,421.684c-70.5,0-125.804-46.993-125.804-104.944\r\n\ts55.303-104.944,125.804-104.944V421.684z"/><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></svg>'),e.put("pm-v2/pm-icons/directdebit.html",'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 27.574 27.574" style="enable-background:new 0 0 27.574 27.574;" xml:space="preserve"><g><g><path d="M6.078,17.445c0,1.451,0,2.894,0,4.34c0.442,0,0.876,0,1.319,0c0-1.456,0-2.898,0-4.34 C6.949,17.445,6.511,17.445,6.078,17.445z"/></g></g><g><g><path d="M5.155,24.24c-0.362-0.638-0.966-0.97-1.643-1.164c-0.461-0.131-0.942-0.155-1.422-0.153c-0.678,0.002-1.355,0-2.033,0 c0,1.463,0,2.926,0,4.389c0.874-0.007,1.749-0.017,2.624-0.028c0.437-0.006,0.859-0.095,1.261-0.265 c0.59-0.252,1.089-0.602,1.323-1.235C5.462,25.253,5.429,24.724,5.155,24.24z M3.078,26.384c-0.307,0.121-0.621,0.174-0.948,0.172 c-0.241-0.002-0.481,0-0.728,0c0-0.978,0-1.977,0-3.002c0.534,0.104,1.082-0.013,1.597,0.184c0.438,0.169,0.782,0.444,0.922,0.908 C4.142,25.38,3.843,26.089,3.078,26.384z"/></g></g><g><g><path d="M8.825,26.643c-0.341-0.079-0.708-0.311-0.693-0.727c1.069,0,2.138,0,3.221,0c0.034-0.385-0.031-0.734-0.197-1.064 c-0.239-0.483-0.662-0.736-1.158-0.875c-0.364-0.104-0.734-0.133-1.117-0.097c-0.631,0.057-1.203,0.225-1.661,0.694 c-0.38,0.39-0.517,0.847-0.405,1.378c0.091,0.428,0.355,0.742,0.708,0.979c0.432,0.295,0.922,0.418,1.436,0.436 c0.361,0.013,0.725,0.006,1.083-0.031c0.309-0.031,0.611-0.117,0.914-0.189c0.034-0.007,0.078-0.071,0.08-0.111 c0.008-0.227,0.003-0.452,0.003-0.674c-0.151,0.068-0.292,0.15-0.443,0.193C10.013,26.714,9.421,26.774,8.825,26.643z M8.448,24.702c0.408-0.215,0.833-0.25,1.261-0.06c0.225,0.1,0.326,0.265,0.428,0.631c-0.667,0-1.326,0-1.982,0 C8.114,25.078,8.236,24.812,8.448,24.702z"/></g></g><g><g><path d="M26.099,26.689c-0.15-0.075-0.254-0.189-0.24-0.387c0.014-0.222,0.002-0.444,0.002-0.668c0-0.27,0-0.539,0-0.824 c0.365,0,0.717,0,1.064,0c0-0.24,0-0.465,0-0.699c-0.359,0-0.707,0-1.068,0c0-0.284,0-0.559,0-0.826c-0.443,0-0.871,0-1.312,0 c0,0.279,0,0.551,0,0.836c-0.34,0-0.672,0-1.002,0c0,0.237,0,0.458,0,0.693c0.338,0,0.67,0,1.01,0c0,0.068,0,0.121,0,0.175 c0,0.537-0.004,1.073,0.002,1.61c0.004,0.205,0.08,0.395,0.225,0.541c0.213,0.221,0.486,0.322,0.781,0.375 c0.102,0.019,0.201,0.039,0.301,0.059c0.164,0,0.33,0,0.494,0c0.129-0.02,0.262-0.028,0.387-0.062 c0.
3208-0.021,0.217,0.027,0.223-0.119c0.009-0.215,0.003-0.43,0.003-0.646C26.661,26.811,26.372,26.828,26.099,26.689z"/></g></g><g><g><path d="M22.757,17.462c0.001,0.252,0.001,0.482,0.001,0.727c0.592,0,1.174,0,1.771,0c0,1.229,0,2.439,0,3.652 c0.42,0,0.826,0,1.246,0c0-1.219,0-2.432,0-3.654c0.59,0,1.166,0,1.742,0c0-0.24,0-0.482,0-0.725 C25.929,17.462,24.343,17.462,22.757,17.462z"/></g></g><g><g><path d="M5.276,19.048c-0.181-0.527-0.573-0.889-1.059-1.15c-0.572-0.307-1.193-0.43-1.838-0.436 C1.606,17.454,0.83,17.46,0.057,17.46c0,1.463,0,2.926,0,4.389c0.792-0.007,1.583-0.03,2.375-0.024 c0.523,0.003,1.024-0.076,1.507-0.27c0.437-0.173,0.82-0.427,1.099-0.812C5.416,20.222,5.48,19.642,5.276,19.048z M3.517,20.67 c-0.278,0.231-0.605,0.356-0.959,0.393c-0.272,0.026-0.548,0.019-0.821,0.033C1.629,21.1,1.52,21.118,1.4,21.13 c0-1.022,0-2.019,0-3c0.21,0,0.414-0.009,0.618,0c0.21,0.01,0.419,0.036,0.628,0.057c0.375,0.033,0.688,0.209,0.952,0.464 C4.14,19.171,4.134,20.159,3.517,20.67z"/></g></g><g><g><path d="M24.775,7.151c-0.104-0.637-0.315-1.246-0.612-1.819c-0.3-0.579-0.664-1.123-1.105-1.603 c-0.502-0.545-1.047-1.043-1.66-1.463c-0.739-0.506-1.516-0.936-2.354-1.25c-0.458-0.172-0.921-0.338-1.396-0.463 c-0.57-0.15-1.152-0.259-1.732-0.374c-0.266-0.053-0.534-0.086-0.805-0.114c-0.229-0.024-0.457-0.028-0.719-0.042 c0.059,0.116-0.062,0.251,0.127,0.3c0.427,0.113,0.867,0.205,1.277,0.366c0.51,0.2,1.016,0.425,1.486,0.704 c0.676,0.401,1.289,0.898,1.78,1.525c0.287,0.367,0.558,0.747,0.746,1.173c0.178,0.405,0.344,0.817,0.481,1.238 c0.095,0.29,0.142,0.598,0.193,0.901c0.059,0.371,0.121,0.744,0.137,1.119c0.019,0.433,0.006,0.869-0.026,1.301 c-0.031,0.402-0.091,0.804-0.175,1.198
32c-0.181,0.87-0.532,1.676-1.028,2.414c-0.36,0.539-0.795,1.016-1.289,1.442 c-0.474,0.413-1,0.75-1.562,1.021c-0.774,0.371-1.593,0.603-2.446,0.699c-0.45,0.051-0.909,0.047-1.363,0.031 c-0.476-0.015-0.955-0.053-1.428-0.115c-0.493-0.067-0.988-0.148-1.468-0.271c-0.815-0.209-1.616-0.476-2.363-0.872 c-0.463-0.246-0.925-0.498-1.363-0.785C5.59,13.073,5.12,12.669,4.71,12.198c-0.445-0.508-0.798-1.062-0.945-1.73 c-0.098-0.452-0.07-0.893,0.141-1.31C4.172,8.629,4.59,8.238,5.065,7.9c0.491-0.347,1.017-0.623,1.569-0.858 c0.792-0.339,1.61-0.604,2.457-0.765c0.563-0.108,1.128-0.216,1.697-0.286c0.541-0.067,1.087-0.099,1.633-0.117 c0.448-0.015,0.897,0.015,1.346,0.024c0.045,0.001,0.093-0.004,0.149-0.007c0-1.971,0-3.931,0-5.891c-0.29,0-0.58,0-0.871,0 c-0.014,0.009-0.028,0.026-0.044,0.027c-0.399,0.021-0.796,0.038-1.195,0.062c-0.218,0.012-0.438,0.03-0.655,0.062 c-0.339,0.049-0.676,0.105-1.011,0.17C9.692,0.408,9.234,0.482,8.796,0.607C8.197,0.779,7.603,0.969,7.023,1.198 c-0.486,0.193-0.96,0.43-1.416,0.685C5.061,2.19,4.552,2.559,4.083,2.982c-0.408,0.369-0.775,0.77-1.096,1.215 c-0.372,0.519-0.673,1.077-0.884,1.68c-0.082,0.237-0.165,0.476-0.21,0.721C1.825,6.966,1.796,7.342,1.741,7.714 c-0.076,0.52-0.016,1.035,0.074,1.543c0.082,0.46,0.225,0.906,0.413,1.338c0.271,0.624,0.624,1.194,1.062,1.709 c0.294,0.347,0.61,0.683,0.955,0.981c0.406,0.352,0.836,0.685,1.289,0.977c0.473,0.301,0.977,0.555,1.479,0.805 c0.342,0.17,0.697,0.322,1.061,0.441c0.528,0.174,1.066,0.324,1.607,0.456c0.469,0.113,0.946,0.203,1.423,0.273 c0.426,0.061,0.854,0.095,1.284,0.116c0.408,0.02,0.817,0.02,1.223,0c0.584-0.024,1.17-0.061,1.75-0.115 c0.415-0.039,0.834-0.092,1.239-0.184c0.555-0.125,1.102-0.293,1.655-0.442c0.609-0.166,1.191-0.41,1.753-0.692 c0.44-0.22,0.858-0.486,1.28-0.74c0.484-0.298,0.929-0.656,1.334-1.053c0.193-0.185,0.377-0.374,0.547-0.578 c0.221-0.262,0.437-0.528,0.623-0.811c0.311-0.485,0.561-1.003,0.746-1.556c0.197-0.588,0.301-1.19,0.324-1.801 C24.878,7.972,24.839,7.555,24.775,7.151z"/></g></g><g><g><path d="M20.288,24.128c0,1.075,0,2.138,0,3.207c0.422,0,0.836,0,1.263,0c0-1.075,0-2.146,0-3.207 C21.122,24.128,20.704,24.128,20.288,24.128z"/></g></g><g><g><path d="M20.288,22.613c0,0.275,0,0.546,0,0.822c0.431,0,0.847,0,1.261,0c0-0.28,0-0.552,0-0.822 C21.122,22.613,20.708,22.613,20.288,22.613z"/></g></g><g><g><path d="M13.7,6.246c-0.313,0.039-0.636,0.054-0.946,0.123c-0.503,0.112-0.991,0.287-1.445,0.531 c-0.611,0.327-1.154,0.747-1.59,1.293C9.455,8.524,9.233,8.881,9.088,9.28c-0.115,0.318-0.229,0.635-0.229,0.979 c-0.001,0.325-0.025,0.654,0.019,0.974c0.046,0.331,0.165,0.646,0.326,0.946c0.215,0.396,0.487,0.747,0.816,1.043 c0.263,0.236,0.561,0.441,0.859,0.632c0.474,0.302,0.981,0.533,1.527,0.675c0.307,0.079,0.612,0.158,0.923,0.226 c0.176,0.038,0.357,0.05,0.549,0.072c0-2.885,0-5.745,0-8.614C13.812,6.225,13.756,6.239,13.7,6.246z"/></g></g><g><g><path d="M17.426,18.184c0-0.254,0-0.498,0-0.739c-1.175,0-2.339,0-3.5,0c0,1.461,0,2.911,0,4.368c1.155,0,2.308,0,3.468,0 c0-0.254,0-0.498,0-0.752c-0.766,0-1.52,0-2.275,0c0-0.352,0-0.689,0-1.047c0.728,0,1.445,0,2.164,0c0-0.256,0-0.498,0-0.752 c-0.727,0-1.445,0-2.162,0c0-0.367,0-0.717,0-1.078C15.895,18.184,16.658,18.184,17.426,18.184z"/></g></g><g><g><path d="M11.824,19.714c0.308-0.081,0.6-0.186,0.795-0.487c0.143-0.224,0.176-0.457,0.169-0.707 c-0.009-0.342-0.189-0.596-0.462-0.756c-0.421-0.248-0.893-0.332-1.382-0.33c-0.28,0.002-0.562,0-0.842,0 c-0.521,0-1.044,0-1.576,0c0,1.473,0,2.926,0,4.377c0.438,0,0.865,0,1.303,0c0-0.582,0-1.15,0-1.731 c0.198,0,0.387-0.013,0.574,0.002c0.227,0.016,0.425,0.112,0.539,0.319c0.241,0.438,0.476,0.882,0.707,1.326 c0.035,0.07,0.068,0.098,0.147,0.098c0.397-0.004,0.795-0.002,1.191-0.003c0.029,0,0.058-0.011,0.104-0.019 C12.63,21.11,12.342,20.336,11.824,19.714z M11.262,19.113c-0.204,0.135-0.425,0.204-0.667,0.208c-0.251,0.002-0.501,0-0.769,0 c0-0.394,0-0.767,0-1.138c0.345,0,0.689,0.002,1.032,0c0.191-0.002,0.33,0.097,0.466,0.213 C11.533,18.575,11.476,18.973,11.262,19.113z"/></g></g><g><g><path d="M21.732,21.094c-0.519,0.015-1.034,0.02-1.536-0.142c-0.4-0.127-0.742-0.325-0.925-0.722 c-0.146-0.318-0.137-0.65-0.055-0.988c0.064-0.275,0.193-0.513,0.404-0.689c0.363-0.312,0.812-0.398,1.271-0.418 c0.211-0.011,0.424,0.006,0.635,0.027c0.275,0.027,0.553,0.077,0.854,0.121c0.033-0.186,0.072-0.395,0.104-0.602 c0.
32006-0.021-0.027-0.062-0.055-0.07c-0.336-0.122-0.678-0.219-1.035-0.234c-0.268-0.011-0.535-0.015-0.801,0.001 c-0.262,0.019-0.523,0.042-0.777,0.104c-0.521,0.125-1.021,0.313-1.43,0.69c-0.213,0.195-0.387,0.413-0.488,0.685 c-0.121,0.324-0.17,0.654-0.119,1.007c0.059,0.424,0.219,0.795,0.506,1.106c0.355,0.383,0.806,0.621,1.301,0.758 c0.515,0.145,1.037,0.215,1.576,0.187c0.42-0.022,0.83-0.083,1.25-0.194c-0.022-0.24-0.045-0.475-0.065-0.709 C22.125,21.042,21.931,21.087,21.732,21.094z"/></g></g><g><g><path d="M18.015,25.352c-0.055-0.295-0.172-0.558-0.37-0.783c-0.32-0.36-0.742-0.529-1.197-0.562 c-0.656-0.049-1.311-0.019-1.871,0.502c0-0.666,0-1.296,0-1.925c-0.448,0-0.866,0-1.281,0c0,1.58,0,3.152,0,4.72 c0.436,0,0.858,0,1.296,0c0-0.11,0-0.216,0-0.324c0.027,0.007,0.05,0.005,0.062,0.016c0.301,0.286,0.681,0.391,1.072,0.426 c0.447,0.041,0.9,0.029,1.32-0.174c0.391-0.189,0.691-0.464,0.861-0.875C18.041,26.04,18.077,25.704,18.015,25.352z M16.223,26.567c-0.445,0.239-1.008,0.169-1.377-0.175c-0.19-0.17-0.299-0.392-0.262-0.649c-0.078-0.543,0.489-0.956,0.928-0.991 c0.356-0.029,0.67,0.042,0.932,0.283C16.952,25.502,16.819,26.248,16.223,26.567z"/></g></g></svg>'),e.put("pm-v2/pm-icons/discover.html",'<svg width="750" height="471" viewBox="0 0 750 471" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><desc>Created with Sketch.</desc><defs></defs><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="discover" fill-rule="nonzero"><path d="M52.8771038,0 C23.6793894,0 -4.55476115e-15,23.1545612 0,51.7102589 L0,419.289737 C0,447.850829 23.671801,471 52.8771038,471 L697.122894,471 C726.320615,471 750,447.845433 750,419.289737 L750,252.475404 L750,51.7102589 C750,23.1491677 726.328202,-4.4533018e-15 697.122894,0 L52.8771038,0 Z" id="Shape" fill="#4D4D4D"></path><path d="M314.569558,152.198414 C323.06625,152.198414 330.192577,153.9309 338.865308,158.110254 L338.865308,180.197198 C330.650269,172.563549 323.523875,169.368926 314.100058,169.368926 C295.577115,169.368926 281.009615,183.944539 281.009615,202.424438 C281.009615,221.911997 295.126279,235.620254 315.018404,235.620254 C323.972798,235.620254 330.967135,232.591128 338.865308,225.080186 L338.865308,247.178497 C329.883538,251.197965 322.604577,252.785079 314.100058,252.785079 C284.025202,252.785079 260.655798,230.849701 260.655798,202.560947 C260.655798,174.577103 284.647269,152.198414 314.569558,152.198414 Z M221.191404,152.807038 C232.293048,152.807038 242.451462,156.418802 250.944635,163.479831 L240.609981,176.340655 C235.465019,170.859895 230.599394,168.547945 224.682615,168.547945 C216.169885,168.547936 209.970327,173.154235 209.970327,179.215049 C209.970327,184.413218 213.450798,187.164422 225.302356,191.332621 C247.768529,199.141028 254.426462,206.064868 254.426462,221.354473 C254.426462,239.986821 240.026981,252.955721 219.503077,252.955721 C204.47426,252.955721 193.548154,247.330452 184.44824,234.636213 L197.205529,222.956624 C201.754702,231.315341 209.342452,235.792799 218.763144,235.792799 C227.573971,235.792799 234.097058,230.014421 234.097058,222.217168 C234.097058,218.175392 232.121269,214.709536 228.175702,212.259183 C226.189231,211.099073 222.254519,209.369382 214.522615,206.777734 C195.973058,200.43062 189.609,193.646221 189.609,180.386799 C189.609,164.636126 203.275981,152.807038 221.191404,152.807038 Z M446.886269,154.485036 L468.460788,154.485036 L495.464615,219.130417 L522.815885,154.485036 L544.22701,154.485036 L500.482644,253.198414 L489.855019,253.198414 L446.886269,154.485036 Z M64.8212135,154.632923 L93.811974,154.632923 C125.842394,154.632923 148.170827,174.418596 148.170827,202.822609 C148.170827,216.985567 141.340038,230.679389 129.788913,239.766893 C120.068962,247.437722 108.994192,250.877669 93.6598558,250.877669 L64.8212135,250.877669 L64.8212135,154.632923 Z M157.25849,154.632923 L177.009462,154.632923 L177.009462,250.877669 L157.25849,250.877669 L157.25849,154.632923 Z M553.156923,154.632923 L609.168423,154.632923 L609.168423,170.940741 L572.892875,170.940741 L572.892875,192.303392 L607.831279,192.303392 L607.831279,208.603619 L572.892875,208.603619 L572.892875,234.583122 L609.168423,234.583122 L609.168423,250.877669 L553.156923,250.877669 L553.156923,154.632923 Z M622.250596,154.632923 L651.534327,154.632923 C674.313452,154.632923 687.366663,165.030007 687.366663,183.048838 C687.366663,197.784414 679.179923,207.454847 664.302885,210.332805 L696.176385,250.877669 L671.888144,250.877669 L644.551904,212.213673 L641.977163,212.213673 L641.977163,250.877669 L622.250596,250.877669 L622.250596,154.632923 Z M641.977163,169.791736 L641.977163,198.939525 L647.748269,198.939525 C660.360308,198.939525 667.044769,193.734406 667.044769,184.05942 C667.044769,174.693052 660.359106,169.791736 648.060019,169.791736 L641.977163,169.791736 Z M84.5571663,170.940741 L84.5571663,234.583122 L89.8568962,234.583122 C102.619538,234.583122 110.679663,232.259105 116.885144,226.934514 C123.71575,221.152572 127.824519,211.920423 127.824519,202.684197 C127.824519,193.462833 123.71575,184.505917 116.885144,178.723975 C110.361615,173.113074 102.619538,170.940741 89.8568962,170.940741 L84.5571663,170.940741 Z" id="Shape" fill="#FFFFFF"></path><path d="M399.164288,151.559424 C428.914452,151.559424 453.031096,173.727429 453.031096,201.112187 L453.031096,201.143399 C453.031096,228.528147 428.914452,250.727374 399.164288,250.727374 C369.414125,250.727374 345.297481,228.528147 345.297481,201.143399 L345.297481,201.112187 C345.297481,173.727429 369.414125,151.559424 399.164288,151.559424 Z M749.982612,271.093939 C724.934651,288.327133 537.408564,411.490963 212.719237,470.985071 L697.105507,470.985071 C726.303228,470.985071 749.982612,447.830504 749.982612,419.274807 L749.982612,271.093939 Z" id="Shape" fill="#F47216"></path></g></g></svg>'),e.put("pm-v2/pm-icons/google-pay.html",'<svg role="presentation" fill="#A1A1A1" class="main-header__logo-image" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 435.97 173.13"><path d="M206.2,84.58v50.75H190.1V10h42.7a38.61,38.61,0,0,1,27.65,10.85A34.88,34.88,0,0,1,272,47.3a34.72,34.72,0,0,1-11.55,26.6q-11.2,10.68-27.65,10.67H206.2Zm0-59.15V69.18h27a21.28,21.28,0,0,0,15.93-6.48,21.36,21.36,0,0,0,0-30.63,21,21,0,0,0-15.93-6.65h-27Z" fill="#5f6368"></path><path d="M309.1,46.78q17.85,0,28.18,9.54T347.6,82.48v52.85H332.2v-11.9h-.7q-10,14.7-26.6,14.7-14.17,0-23.71-8.4a26.82,26.82,0,0,1-9.54-21q0-13.31,10.06-21.17t26.86-7.88q14.34,0,23.62,5.25V81.25A18.33,18.33,0,0,0,325.54,67,22.8,22.8,0,0,0,310,61.13q-13.49,0-21.35,11.38l-14.18
32-8.93Q286.17,46.78,309.1,46.78Zm-20.83,62.3a12.86,12.86,0,0,0,5.34,10.5,19.64,19.64,0,0,0,12.51,4.2,25.67,25.67,0,0,0,18.11-7.52q8-7.53,8-17.67-7.53-6-21-6-9.81,0-16.36,4.73C290.46,100.52,288.27,104.41,288.27,109.08Z" fill="#5f6368"></path><path d="M436,49.58,382.24,173.13H365.62l19.95-43.23L350.22,49.58h17.5l25.55,61.6h.35l24.85-61.6Z" fill="#5f6368"></path><path d="M141.14,73.64A85.79,85.79,0,0,0,139.9,59H72V86.73h38.89a33.33,33.33,0,0,1-14.38,21.88v18h23.21C133.31,114.08,141.14,95.55,141.14,73.64Z" fill="#4285f4"></path><path d="M72,144c19.43,0,35.79-6.38,47.72-17.38l-23.21-18C90.05,113,81.73,115.5,72,115.5c-18.78,0-34.72-12.66-40.42-29.72H7.67v18.55A72,72,0,0,0,72,144Z" fill="#34a853"></path><path d="M31.58,85.78a43.14,43.14,0,0,1,0-27.56V39.67H7.67a72,72,0,0,0,0,64.66Z" fill="#fbbc04"></path><path d="M72,28.5A39.09,39.09,0,0,1,99.62,39.3h0l20.55-20.55A69.18,69.18,0,0,0,72,0,72,72,0,0,0,7.67,39.67L31.58,58.22C37.28,41.16,53.22,28.5,72,28.5Z" fill="#ea4335"></path></svg>'),e.put("pm-v2/pm-icons/iDeal.html",'<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 496.8 496.8" style="enable-background:new 0 0 496.8 496.8;" xml:space="preserve"><rect x="56" y="272.4" style="fill:#494949;" width="80" height="136"/><polyline points="136,272.4 136,408.4 56,408.4 "/><circle style="fill:#494949;" cx="96" cy="210" r="44.8"/><path d="M127.2,178c17.6,17.6,17.6,46.4,0,64s-46.4,17.6-64,0"/><path d="M288,32.4H0v432h288l0,0c56-0.8,110.4-16,145.6-46.4c42.4-36,63.2-93.6,63.2-170.4c0-36.8-6.4-69.6-17.6-97.6\r\n\tc-10.4-27.2-25.6-49.6-45.6-68C397.6,50.8,344,33.2,288,32.4L288,32.4z M280,64.4c55.2,0,101.6,13.6,133.6,41.6\r\n\tc36,32,54.4,77.6,54.4,141.6c-0.8,126.4-62.4,184.8-188,184.8c-9.6,0-224,0-248,0c0-24,0-344,0-368C56,64.4,269.6,64.4,280,64.4z"/><g><path style="fill:#CC1B69;" d="M330.4,216.4c12,0,2.4,0,14.4,0c-1.6,0-4.8-13.6-7.2-20C335.2,202.8,331.2,216.4,330.4,216.4z"/><path style="fill:#CC1B69;" d="M188.8,238c2.4-0.8,4-2.4,5.6-3.2c1.6-1.6,2.4-4,3.2-6.4c0.8-3.2,1.6-8,1.6-13.6s-0.8-9.6-1.6-12.8\r\n\t\tc-0.8-2.4-2.4-4.8-4-6.4c-1.6-1.6-4-1.6-6.4-2.4c-1.6,0-4.8,0-12,0c0,0,0,0-8,0v48c8,0,12,0,12,0C184,240.4,187.2,238,188.8,238z"/></g><path style="fill:#F42588;" d="M384,256.4v-80h24c0,0,0,48,0,56c0,0,25.6,0,32.8,0c-7.2-112-92.8-136-172.8-136H168v80h13.6\r\n\tc6.4,0,11.2-0.8,15.2,0.8c4.8,1.6,8.8,3.2,12,7.2c3.2,3.2,5.6,7.2,8,12.8c1.6,4.8,2.4,11.2,2.4,18.4c0,6.4-0.8,12-2.4,16.8\r\n\tc-1.6,5.6-4.8,10.4-8.8,14.4c-3.2,2.4-6.4,6.4-11.2,8c-3.2,0.8-8,3.2-14.4,3.2H168v152h100c84,0,172.8-24,173.6-152H384V256.4z\r\n\t M296,256.4h-64v-80h56v16c0,0-32,0-40,0v8c8,0,40,0,40,0v24c0,0-32,0-40,0c0,0,0,8,0,16c8,0,48,0,48,0V256.4z M357.6,256.4\r\n\tc0,0-5.6-16-6.4-16c-2.4,0-24.8,0-27.2,0c-0.8,0-6.4,16-6.4,16h-20.8l31.2-80h19.2l32,80H357.6z"/><path style="fill:#CC1B69;" d="M168,176.4h13.6c6.4,0,11.2-0.8,15.2,0.8c4.8,1.6,8.8,3.2,12,7.2c3.2,3.2,5.6,7.2,8,12.8\r\n\tc1.6,4.8,2.4,11.2,2.4,18.4c0,6.4-0.8,12-2.4,16.8c-1.6,5.6-4.8,10.4-8.8,14.4c-3.2,2.4-6.4,6.4-11.2,8c-3.2,0.8-8,3.2-14.4,3.2H168\r\n\tv152h100c84,0,172.8-24,173.6-152H384v-81.6h24c0,0,0,48,0,56c0,0,25.6,0,32.8,0c-7.2-112-94.4-133.6-174.4-133.6 M288,256.4h-56\r\n\tv-80h56v16c0,0-32,0-40,0v16c5.6,0-1.6,0,40,0v16c0,0-32,0-40,0c0,0,0,8,0,16c8,0,40,0,40,0V256.4z M357.6,256.4c0,0-5.6-16-6.4-16\r\n\tc-2.4,0-24.8,0-27.2,0c-0.8,0-6.4,16-6.4,16h-20.8l31.2-80h19.2l32,80H357.6z"/><g><path style="fill:#B50662;" d="M408,176.4c0,0,0,48,0,56c28,0,19.2,0,32.8,0c-2.4-32-8-52.8-20.8-72l-16.8,16H408z"/><path style="fill:#B50662;" d="M384,191.6l-22.4,24.8l16.8,40h-20.8c0,0-5.6-16-6.4-16s-4.8,0-9.6,0L168,406.8v1.6h100\r\n\t\tc84,0,172.8-24,173.6-152H384V191.6z"/></g><path style="fill:#494949;" d="M0,32.4v432l32-32c0-28.8,0-344,0-368c24,0,237.6,0,248,0c39.2,0,72.8,7.2,101.6,20L404.8,62\r\n\tC372,42.8,328,33.2,288,32.4l0,0H0z"/></svg>'),e.put("pm-v2/pm-icons/jcb.html",'<svg width="750" height="471" viewBox="0 0 750 471" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient x1=".032%" y1="50%" x2="99.974%" y2="50%" id="a"><stop stop-color="#007B40" offset="0%"/><stop stop-color="#55B330" offset="100%"/></linearGradient><linearGradient x1=".472%" y1="50%" x2="99.986%" y2="50%" id="b"><stop stop-color="#1D2970" offset="0%"/><stop stop-color="#006DBA" offset="100%"/></linearGradient><linearGradient x1=".114%" y1="50.001%" x2="99.986%" y2="50.001%" id="c"><stop stop-color="#6E2B2F" offset="0%"/><stop stop-color="#E30138" offset="100%"/></linearGradient></defs><g fill-rule="nonzero" fill="none"><rect fill="#0E4C96" width="750" height="471" rx="40"/><path d="M617.243 346.766c0 41.615-33.728 75.36-75.36 75.36H132.757V124.245c0-41.626 33.733-75.37 75.365-75.37l409.121-.001v297.892z" fill="#FFF"/><path d="M483.859 242.045c11.684.253 23.437-.516 35.077.4 11.787 2.2 14.628 20.043 4.156 25.888-7.141 3.85-15.633 1.432-23.379 2.113H483.86v-28.401zm41.833-32.145c2.596 9.165-6.238 17.392-15.066 16.13h-26.767c.185-8.642-.368-18.021.272-26.208 10.724.301 21.549-.616 32.21.48 4.58 1.15 8.413 4.916 9.35 9.598zM590.12 73.997c.498 17.501.071 35.927.214 53.783-.035 72.596.072 145.194-.055 217.79-.469 27.207-24.582 50.844-51.6 51.387-27.046.111-54.095.016-81.142.047v-109.75c29.47-.154 58.959.307 88.417-.232 13.667-.86 28.632-9.876 29.27-24.915 1.61-15.102-12.632-25.55-26.153-27.201-5.198-.135-5.044-1.515 0-2.117 12.892-2.787 23.02-16.133 19.226-29.499-3.236-14.058-18.773-19.499-31.697-19.472-26.351-.18-52.709-.026-79.063-.077.172-20.489-.354-41 .286-61.474 2.087-26.716 26.806-48.747 53.447-48.27h78.85z" fill="url(#a)"/><path d="M159.74 125.04c.674-27.163 24.889-50.611 51.875-51.007 26.944-.083 53.891-.012 80.837-.036-.074 90.885.148 181.777-.112 272.658-1.038 26.834-24.99 49.834-51.679 50.307-26.996.099-53.995.014-80.992.042V283.551c26.223 6.194 53.722 8.832 80.473 4.721 15.993-2.575 33.488-10.424 38.902-27.014 3.986-14.192 1.742-29.126 2.334-43.692v-33.824h-46.297c-.208 22.37.426 44.78-.335 67.125-1.248 13.734-14.846 22.46-27.8 21.995-16.066.169-47.898-11.
3264-47.898-11.64-.08-41.917.466-94.408.692-136.182z" fill="url(#b)"/><path d="M309.72 197.39c-2.434.517-.49-8.3-1.114-11.646.166-21.15-.346-42.323.284-63.458 2.083-26.829 26.991-48.916 53.739-48.288h78.766c-.074 90.884.147 181.775-.112 272.656-1.039 26.834-24.992 49.833-51.68 50.308-26.998.1-53.998.015-80.997.043V272.708c18.44 15.128 43.5 17.484 66.472 17.525 17.317-.006 34.534-2.675 51.35-6.67V260.79c-18.953 9.447-41.233 15.446-62.243 10.018-14.656-3.65-25.294-17.811-25.056-32.936-1.699-15.728 7.524-32.335 22.981-37.011 19.19-6.008 40.108-1.413 58.096 6.398 3.855 2.018 7.765 4.521 6.222-1.921v-17.9c-30.084-7.157-62.101-9.792-92.329-2.004-8.748 2.468-17.27 6.21-24.379 11.956z" fill="url(#c)"/></g></svg>'),e.put("pm-v2/pm-icons/mastercard.html",'<svg width="750" height="471" viewBox="0 0 750 471" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><desc>Created with Sketch.</desc><defs></defs><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="mastercard" fill-rule="nonzero"><rect id="Rectangle-1" fill="#000000" x="0" y="0" width="750" height="471" rx="40"></rect><g id="Group" transform="translate(133.000000, 48.000000)"><path d="M88.13,373.67 L88.13,348.82 C88.13,339.29 82.33,333.08 72.81,333.08 C67.81,333.08 62.46,334.74 58.73,340.08 C55.83,335.52 51.73,333.08 45.48,333.08 C40.7599149,332.876008 36.2525337,335.054575 33.48,338.88 L33.48,333.88 L25.61,333.88 L25.61,373.64 L33.48,373.64 L33.48,350.89 C33.48,343.89 37.62,340.54 43.42,340.54 C49.22,340.54 52.53,344.27 52.53,350.89 L52.53,373.67 L60.4,373.67 L60.4,350.89 C60.4,343.89 64.54,340.54 70.34,340.54 C76.14,340.54 79.45,344.27 79.45,350.89 L79.45,373.67 L88.13,373.67 Z M217.35,334.32 L202.85,334.32 L202.85,322.32 L195,322.32 L195,334.32 L186.72,334.32 L186.72,341.32 L195,341.32 L195,360 C195,369.11 198.31,374.5 208.25,374.5 C212.015784,374.421483 215.705651,373.426077 219,371.6 L216.51,364.6 C214.275685,365.996557 211.684475,366.715565 209.05,366.67 C204.91,366.67 202.84,364.18 202.84,360.04 L202.84,341 L217.34,341 L217.34,334.37 L217.35,334.32 Z M291.07,333.08 C286.709355,332.982846 282.618836,335.185726 280.3,338.88 L280.3,333.88 L272.43,333.88 L272.43,373.64 L280.3,373.64 L280.3,351.31 C280.3,344.68 283.61,340.54 289,340.54 C290.818809,340.613783 292.62352,340.892205 294.38,341.37 L296.87,333.91 C294.971013,333.43126 293.02704,333.153071 291.07,333.08 Z M179.66,337.22 C175.52,334.32 169.72,333.08 163.51,333.08 C153.57,333.08 147.36,337.64 147.36,345.51 C147.36,352.14 151.92,355.86 160.61,357.11 L164.75,357.52 C169.31,358.35 172.21,360.01 172.21,362.08 C172.21,364.98 168.9,367.08 162.68,367.08 C157.930627,367.177716 153.278889,365.724267 149.43,362.94 L145.29,369.15 C151.09,373.29 158.13,374.15 162.29,374.15 C173.89,374.15 180.1,368.77 180.1,361.31 C180.1,354.31 175.1,350.96 166.43,349.71 L162.29,349.3 C158.56,348.89 155.29,347.64 155.29,345.16 C155.29,342.26 158.6,340.16 163.16,340.16 C168.16,340.16 173.1,342.23 175.59,343.47 L179.66,337.22 Z M299.77,353.79 C299.77,365.79 307.64,374.5 320.48,374.5 C326.28,374.5 330.42,373.26 334.56,369.94 L330.42,363.73 C327.488758,366.10388 323.841703,367.41823 320.07,367.46 C313.07,367.46 307.64,362.08 307.64,354.21 C307.64,346.34 313,341 320.07,341 C323.841703,341.04177 327.488758,342.35612 330.42,344.73 L334.56,338.52 C330.42,335.21 326.28,333.96 320.48,333.96 C308.05,333.13 299.77,341.83 299.77,353.84 L299.77,353.79 Z M244.27,333.08 C232.67,333.08 224.8,341.36 224.8,353.79 C224.8,366.22 233.08,374.5 245.09,374.5 C250.932775,374.623408 256.638486,372.722682 261.24,369.12 L257.1,363.32 C253.772132,365.898743 249.708598,367.349004 245.5,367.46 C240.12,367.46 234.32,364.15 233.5,357.11 L262.91,357.11 L262.91,353.8 C262.91,341.37 255.45,333.09 244.27,333.09 L244.27,333.08 Z M243.86,340.54 C249.66,340.54 253.8,344.27 254.21,350.48 L232.68,350.48 C233.92,344.68 237.68,340.54 243.86,340.54 Z M136.59,353.79 L136.59,333.91 L128.72,333.91 L128.72,338.91 C125.82,335.18 121.72,333.11 115.88,333.11 C104.7,333.11 96.41,341.81 96.41,353.82 C96.41,365.83 104.69,374.53 115.88,374.53 C121.68,374.53 125.82,372.46 128.72,368.73 L128.72,373.73 L136.59,373.73 L136.59,353.79 Z M104.7,353.79 C104.7,346.33 109.26,340.54 117.13,340.54 C124.59,340.54 129.13,346.34 129.13,353.79 C129.13,361.66 124.13,367.04 117.13,367.04 C109.26,367.45 104.7,361.24 104.7,353.79 Z M410.78,333.08 C406.419355,332.982846 402.328836,335.185726 400.01,338.88 L400.01,333.88 L392.14,333.88 L392.14,373.64 L400,373.64 L400,351.31 C400,344.68 403.31,340.54 408.7,340.54 C410.518809,340.613783 412.32352,340.892205 414.08,341.37 L416.57,333.91 C414.671013,333.43126 412.72704,333.153071 410.77,333.08 L410.78,333.08 Z M380.13,353.79 L380.13,333.91 L372.26,333.91 L372.26,338.91 C369.36,335.18 365.26,333.11 359.42,333.11 C348.24,333.11 339.95,341.81 339.95,353.82 C339.95,365.83 348.23,374.53 359.42,374.53 C365.22,374.53 369.36,372.46 372.26,368.73 L372.26,373.73 L380.13,373.73 L380.13,353.79 Z M348.24,353.79 C348.24,346.33 352.8,340.54 360.67,340.54 C368.13,340.54 372.67,346.34 372.67,353.79 C372.67,361.66 367.67,367.04 360.67,367.04 C352.8,367.45 348.24,361.24 348.24,353.79 Z M460.07,353.79 L460.07,318.17 L452.2,318.17 L452.2,338.88 C449.3,335.15 445.2,333.08 439.36,333.08 C428.18,333.08 419.89,341.78 419.89,353.79 C419.89,365.8 428.17,374.5 439.36,374.5 C445.16,374.5 449.3,372.43 452.2,368.7 L452.2,373.7 L460.07,373.7 L460.07,353.79 Z M428.18,353.79 C428.18,346.33 432.74,340.54 440.61,340.54 C448.07,340.54 452.61,346.34 452.61,353.79 C452.61,361.66 447.61,367.04 440.61,367.04 C432.73,367.46 428.17,361.25 428.17,353.79 L428.18,353.79 Z" id="Shape" fill="#FFFFFF"></path><g><rect id="Rectangle-path" fill="#FF5F00" x="170.55" y="32.39" width="143.72" height="234.42"></rect><path d="M185.05,149.6 C185.05997,103.912554 205.96046,60.7376085 241.79,32.39 C180.662018,-15.6713968 92.8620037,-8.68523415 40.103462,48.4380037 C-12.6550796,105.561241 -12.6550796,193.638759 40.103462,250.761996 C92.8620037,307.885234 180.662018,314.871397 241.79,266.81 C205.96046,238.462391 185.05997,195.287446 185.05,149.6 Z" id="Shape" fill="#EB001B"></path><path d="M483.26,149.6 C483.30134,206.646679 450.756789,258.706022 399.455617,283.656273 C348.154445,308.606523 287.109181,302.064451 242.26,266.81 C278.098424,238.46936 299.001593,195.290092 299.001593,149.6 C299.001593,103.909908 278.098424,60.7306402 242.26,32.39 C287.109181,-2.86445052 348.154445,-9.40652324 399.455617,15.5437274 C450.756789,40.493978 483.30134,92.5533211 483.26,149.6 Z" id="Shape" fill="#F79E1B"></path></g></g></g></g></svg>'),e.put("pm-v2/pm-icons/oca.html",'<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="3944" height="3944" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" viewBox="700 900 2700 2000" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"><![CDATA[\r\n .fil1 {fill:#0F62AC}\r\n .fil0 {fill:#71D0F6}\r\n ]]></style></defs><g id="Layer_x0020_1"><metadata id="CorelCorpID_0Corel-Layer"/><polygon class="fil0" points="329,2236 210,2436 3714,2436 3714,2236 "/><path class="fil1" d="M1189 1648c1,-3 3,-5 4,-8 0,-1 1,-4 1,-5 0,-6 -5,-12 -15,-14 -10,-3 -26,-4 -47,-4 -22,0 -38,1 -49,5 -12,4 -21,13 -27,26l-178 360c-1,3 -1,4 -3,5 0,3 0,5 0,8 0,6 4,12 13,14 9,4 23,5 42,5 24,0 42,-3 54,-6 12,-4 21,-13 27,-26l178 -360zm428 -4l-183 368c-1,1 -3,4 -4,6 -24,49 -60,81 -110,96 -33,10 -79,17 -137,21 -59,4 -160,6 -304,6 -179,0 -299,-5 -359,-14 -59,-9 -88,-24 -88,-47 0,-9 1,-21 5,-32 4,-12 9,-23 15,-36l181 -368 3 -4c24,-50 60,-82 105,-96 33,-10 77,-18 133,-22 55,-4 160,-6 315,-6 192,0 315,5 368,14 53,10 79,27 79,53 0,6 -1,15 -4,24 -4,10 -9,22 -15,37zm1149 0c8,-14 12,-26 15,-36 4,-10 5,-18 5,-26 0,-26 -27,-42 -79,-53 -53,-9 -176,-14 -368,-14 -155,0 -262,3 -317,6 -55,4 -99,12 -132,22 -26,9 -45,19 -60,32 -15,13 -31,35 -47,68l-181 368c-6,13 -12,24 -15,36 -4,12 -5,23 -5,32 0,23 29,38 88,47 60,9 179,14 359,14 144,0 245,-3 304,-6 58,-4 104,-10 137,-21 49,-15 87,-49 113,-100l0 -3 71 -137 -427 0 -65 133c-6,13 -15,21 -27,26 -13,4 -31,6 -54,6 -19,0 -35,-1 -42,-5 -9,-3 -13,-8 -13,-14 0,-3 0,-5 0,-6 0,-3 1,-4 3,-6l177 -360c8,-13 17,-22 28,-26 10,-4 27,-5 49,-5 22,0 37,1 47,4 10,3 15,8 15,14 -3,5 -5,10 -5,13l-41 82 426 0 42 -86zm618 33l-176 237 137 0 55 -237 -17 0zm-172 -158l515 0 -40 618 -403 0 31 -122 -179 0 -94 122 -399 0 568 -618z"/><path class="fil1" d="M2720 2355l77 3c-5,10 -12,19 -22,27 -9,6 -21,13 -33,19 -13,5 -27,9 -42,12 -14,3 -29,4 -45,4 -18,0 -36,-3 -51,-6 -15,-5 -28,-12 -37,-22 -10,-9 -14,-21 -14,-35 0,-5 0,-10 1,-15 5,-18 15,-33 31,-47 15,-13 35,-22 56,-29 22,-6 42,-9 64,-10 23,0 41,3 58,6 15,4 28,9 37,17 8,8 13,17 13,28 0,3 -1,8 -3,13l-79 3c1,-3 1,-5 1,-9 0,-8 -4,-13 -9,-15 -6,-4 -14,-5 -26,-5 -26,1 -42,17 -51,46 -3,10 -4,18 -5,24 1,5 3,9 5,12 3,3 6,5 12,6 3,0 8,1 14,1 12,0 22,-3 31,-8 9,-5 15,-12 18,-18zm76 62l72 0 27 -32 76 0 6 32 90 0 -36 -162 -91 0 -144 162zm172 -67l-46 0 38 -46 8 46zm174 -94l150 0c28,0 50,3 64,10 15,6 22,15 22,28 0,8 -3,14 -8,22 -5,6 -13,13 -23,18 -10,5 -21,9 -35,12l28 71 -97 0 -22 -62 -26 0 -21 62 -88 0 55 -160zm77 33l-12 31 42 0c12,0 19,-1 27,-5 6,-4 9,-8 9,-13 0,-4 -1,-6 -6,-9 -4,-3 -10,-4 -19,-4l-41 0zm150 126l112 0c31,0 59,-4 83,-10 23,-8 42,-18 56,-29 14,-13 24,-26 28,-40 3,-5 3,-12 3,-18 0,-9 -3,-17 -6,-24 -5,-8 -12,-14 -21,-21 -9,-5 -21,-9 -33,-13 -13,-3 -27,-4 -42,-4l-124 0 -55 159zm100 -36l29 -87c6,0 10,0 13,0 17,0 29,3 37,8 8,6 12,13 12,22 0,3 0,6 -1,12 -3,13 -12,24 -24,33 -13,9 -31,13 -55,13 -4,0 -8,0 -10,0z"/></g></svg>'), 33e.put("pm-v2/pm-icons/paypal.html",'<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 566.93 137.35"><defs><style>.cls-1{fill:#009ee3;}.cls-1,.cls-2,.cls-3{fill-rule:evenodd;}.cls-2{fill:#113984;}.cls-3{fill:#172c70;}</style></defs><title>paypal-seeklogo.com</title><path class="cls-1" d="M192.95,386.87h38.74c20.8,0,28.63,10.53,27.42,26-2,25.54-17.44,39.67-37.92,39.67H210.85c-2.81,0-4.7,1.86-5.46,6.9L201,488.74c-0.29,1.9-1.29,3-2.79,3.15H173.87c-2.29,0-3.1-1.75-2.5-5.54l14.84-93.93C186.79,388.66,188.85,386.87,192.95,386.87Z" transform="translate(-143.48 -354.54)"/><path class="cls-2" d="M361.14,385.13c13.07,0,25.13,7.09,23.48,24.76-2,21-13.25,32.62-31,32.67H338.11c-2.23,0-3.31,1.82-3.89,5.55l-3,19.07c-0.45,2.88-1.93,4.3-4.11,4.3H312.68c-2.3,0-3.1-1.47-2.59-4.76L322,390.29c0.59-3.76,2-5.16,4.57-5.16h34.54Zm-23.5,40.92h11.75c7.35-.28,12.23-5.37,12.72-14.55,0.3-5.67-3.53-9.73-9.62-9.7l-11.06.05-3.79,24.2h0Zm86.21,39.58c1.32-1.2,2.66-1.82,2.47-.34l-0.47,3.54c-0.24,1.85.49,2.83,2.21,2.83h12.82c2.16,0,3.21-.87,3.74-4.21l7.9-49.58c0.4-2.49-.21-3.71-2.1-3.71H436.32c-1.27,0-1.89.71-2.22,2.65l-0.52,3.05c-0.27,1.59-1,1.87-1.68.27-2.39-5.66-8.49-8.2-17-8-19.77.41-33.1,15.42-34.53,34.66-1.1,14.88,9.56,26.57,23.62,26.57,10.2,0,14.76-3,19.9-7.7h0ZM413.11,458c-8.51,0-14.44-6.79-13.21-15.11s9.19-15.11,17.7-15.11,14.44,6.79,13.21,15.11S421.63,458,413.11,458h0Zm64.5-44h-13c-2.68,0-3.77,2-2.92,4.46l16.14,47.26L462,488.21c-1.33,1.88-.3,3.59,1.57,3.59h14.61a4.47,4.47,0,0,0,4.34-2.13l49.64-71.2c1.53-2.19.81-4.49-1.7-4.49H516.63c-2.37,0-3.32.94-4.68,2.91l-20.7,30L482,416.82C481.46,415,480.11,414,477.62,414Z" transform="translate(-143.48 -354.54)"/><path class="cls-1" d="M583.8,385.13c13.07,0,25.13,7.09,23.48,24.76-2,21-13.25,32.62-31,32.67H560.78c-2.23,0-3.31,1.82-3.89,5.55l-3,19.07c-0.45,2.88-1.93,4.3-4.11,4.3H535.35c-2.3,0-3.1-1.47-2.59-4.76l11.93-76.45c0.59-3.76,2-5.16,4.57-5.16H583.8Zm-23.5,40.92h11.75c7.35-.28,12.23-5.37,12.72-14.55,0.3-5.67-3.53-9.73-9.62-9.7l-11.06.05-3.79,24.2h0Zm86.21,39.58c1.32-1.2,2.66-1.82,2.47-.34l-0.47,3.54c-0.24,1.85.49,2.83,2.21,2.83h12.82c2.16,0,3.21-.87,3.74-4.21l7.9-49.58c0.4-2.49-.21-3.71-2.1-3.71H659c-1.27,0-1.89.71-2.22,2.65l-0.52,3.05c-0.27,1.59-1,1.87-1.68.27-2.39-5.66-8.49-8.2-17-8-19.77.41-33.1,15.42-34.53,34.66-1.1,14.88,9.56,26.57,23.62,26.57,10.2,0,14.76-3,19.9-7.7h0ZM635.78,458c-8.51,0-14.44-6.79-13.21-15.11s9.19-15.11,17.7-15.11,14.44,6.79,13.21,15.11S644.29,458,635.78,458h0Zm59.13,13.74h-14.8a1.75,1.75,0,0,1-1.81-2l13-82.36a2.55,2.55,0,0,1,2.46-2h14.8a1.75,1.75,0,0,1,1.81,2l-13,82.36A2.55,2.55,0,0,1,694.91,471.76Z" transform="translate(-143.48 -354.54)"/><path class="cls-2" d="M168.72,354.54h38.78c10.92,0,23.88.35,32.54,8,5.79,5.11,8.83,13.24,8.13,22-2.38,29.61-20.09,46.2-43.85,46.2H185.2c-3.26,0-5.41,2.16-6.33,8l-5.34,34c-0.35,2.2-1.3,3.5-3,3.66H146.6c-2.65,0-3.59-2-2.9-6.42L160.9,361C161.59,356.62,164,354.54,168.72,354.54Z" transform="translate(-143.48 -354.54)"/><path class="cls-3" d="M179.43,435.29l6.77-42.87c0.59-3.76,2.65-5.56,6.75-5.56h38.74c6.41,0,11.6,1,15.66,2.85-3.89,26.36-20.94,41-43.26,41H185C182.44,430.72,180.56,432,179.43,435.29Z" transform="translate(-143.48 -354.54)"/></svg>'),e.put("pm-v2/pm-icons/ssl_lock.html",'<?xml version="1.0" encoding="utf-8"?> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve"><style type="text/css">.st0{fill:#E0995E;}\r\n\t.st1{opacity:0.2;}\r\n\t.st2{fill:#231F20;}\r\n\t.st3{fill:#4F5D73;}\r\n\t.st4{fill:#FFFFFF;}</style><g id="Layer_1"><g><circle class="st0" cx="32" cy="32" r="32"/></g><g class="st1"><g><path class="st2" d="M45.5,33.2h-5v-7.3c0-4.7-3.8-8.5-8.5-8.5s-8.5,3.8-8.5,8.5v7.3h-5v-7.3c0-7.4,6.1-13.5,13.5-13.5\r\n\t\t\t\ts13.5,6.1,13.5,13.5V33.2z"/></g></g><g><path class="st3" d="M45.5,31.2h-5v-7.3c0-4.7-3.8-8.5-8.5-8.5s-8.5,3.8-8.5,8.5v7.3h-5v-7.3c0-7.4,6.1-13.5,13.5-13.5\r\n\t\t\ts13.5,6.1,13.5,13.5V31.2z"/></g><g><g><path class="st3" d="M32,32c-2.2,0-4,1.8-4,4c0,1.5,0.8,2.8,2,3.4V42c0,1.1,0.9,2,2,2s2-0.9,2-2v-2.6c1.2-0.7,2-2,2-3.4\r\n\t\t\t\tC36,33.8,34.2,32,32,32z"/></g></g><g class="st1"><path class="st2" d="M47,27H17c-1.7,0-3,1.3-3,3v19c0,1.7,1.3,3,3,3h30c1.7,0,3-1.3,3-3V30C50,28.3,48.7,27,47,27z M34,41.4V44\r\n\t\t\tc0,1.1-0.9,2-2,2s-2-0.9-2-2v-2.6c-1.2-0.7-2-2-2-3.4c0-2.2,1.8-4,4-4s4,1.8,4,4C36,39.5,35.2,40.8,34,41.4z"/></g><g><path class="st4" d="M47,25H17c-1.7,0-3,1.3-3,3v19c0,1.7,1.3,3,3,3h30c1.7,0,3-1.3,3-3V28C50,26.3,48.7,25,47,25z M34,39.4V42\r\n\t\t\tc0,1.1-0.9,2-2,2s-2-0.9-2-2v-2.6c-1.2-0.7-2-2-2-3.4c0-2.2,1.8-4,4-4s4,1.8,4,4C36,37.5,35.2,38.8,34,39.4z"/></g></g><g id="Layer_2"></g></svg>'),e.put("pm-v2/pm-icons/visa.html",'<svg width="750" height="471" viewB
33ox="0 0 750 471" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><desc>Created with Sketch.</desc><defs></defs><g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="visa" fill-rule="nonzero"><rect id="Rectangle-1" fill="#0E4595" x="0" y="0" width="750" height="471" rx="40"></rect><polygon id="Shape" fill="#FFFFFF" points="278.1975 334.2275 311.5585 138.4655 364.9175 138.4655 331.5335 334.2275"></polygon><path d="M524.3075,142.6875 C513.7355,138.7215 497.1715,134.4655 476.4845,134.4655 C423.7605,134.4655 386.6205,161.0165 386.3045,199.0695 C386.0075,227.1985 412.8185,242.8905 433.0585,252.2545 C453.8275,261.8495 460.8105,267.9695 460.7115,276.5375 C460.5795,289.6595 444.1255,295.6545 428.7885,295.6545 C407.4315,295.6545 396.0855,292.6875 378.5625,285.3785 L371.6865,282.2665 L364.1975,326.0905 C376.6605,331.5545 399.7065,336.2895 423.6355,336.5345 C479.7245,336.5345 516.1365,310.2875 516.5505,269.6525 C516.7515,247.3835 502.5355,230.4355 471.7515,216.4645 C453.1005,207.4085 441.6785,201.3655 441.7995,192.1955 C441.7995,184.0585 451.4675,175.3575 472.3565,175.3575 C489.8055,175.0865 502.4445,178.8915 512.2925,182.8575 L517.0745,185.1165 L524.3075,142.6875" id="path13" fill="#FFFFFF"></path><path d="M661.6145,138.4655 L620.3835,138.4655 C607.6105,138.4655 598.0525,141.9515 592.4425,154.6995 L513.1975,334.1025 L569.2285,334.1025 C569.2285,334.1025 578.3905,309.9805 580.4625,304.6845 C586.5855,304.6845 641.0165,304.7685 648.7985,304.7685 C650.3945,311.6215 655.2905,334.1025 655.2905,334.1025 L704.8025,334.1025 L661.6145,138.4655 Z M596.1975,264.8725 C600.6105,253.5935 617.4565,210.1495 617.4565,210.1495 C617.1415,210.6705 621.8365,198.8155 624.5315,191.4655 L628.1385,208.3435 C628.1385,208.3435 638.3555,255.0725 640.4905,264.8715 L596.1975,264.8715 L596.1975,264.8725 Z" id="Path" fill="#FFFFFF"></path><path d="M232.9025,138.4655 L180.6625,271.9605 L175.0965,244.8315 C165.3715,213.5575 135.0715,179.6755 101.1975,162.7125 L148.9645,333.9155 L205.4195,333.8505 L289.4235,138.4655 L232.9025,138.4655" id="path16" fill="#FFFFFF"></path><path d="M131.9195,138.4655 L45.8785,138.4655 L45.1975,142.5385 C112.1365,158.7425 156.4295,197.9015 174.8155,244.9525 L156.1065,154.9925 C152.8765,142.5965 143.5085,138.8975 131.9195,138.4655" id="path18" fill="#F2AE14"></path></g></g></svg>'),e.put("pm-v2/purchases-list-fragments/ev-beneficiaries.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.beneficiaries.title\' | translate}}</span></div><div class="pm2"><div class="notification-container"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body modal-body-overflow"><div class="table-responsive"><table class="table table-striped table-responsive"><thead><tr><th class="col-md-2">{{\'ev.widgets.purchases.beneficiaries.email\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.beneficiaries.status\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.beneficiaries.action\' | translate}}</th></tr></thead><thead></thead><tbody><tr ng-repeat="beneficiary in filteredListBeneficiaries"><td class="col-md-2">{{beneficiary.email}}</td><td class="col-md-1">{{\'ev.widgets.grant.\' + beneficiary.status | translate}}</td><td class="col-md-1"><button class="btn btn-danger" aria-label="{{\'ev.widgets.purchases.ariaLabels.removeBeneficiary\' | translate}}" ng-click="displayConfirmDialog(beneficiary, filteredListBeneficiaries)">{{\'ev.widgets.purchases.beneficiaries.remove\' | translate}}</button></td></tr><tr ng-if="!filteredListBeneficiaries.length"><td colspan="3" align="center"><span class="beneficiaries-list-no-content">{{\'ev.widgets.purchases.beneficiaries.noBeneficiaries\' | translate}}</span></td></tr><tbody></tbody></tbody></table></div><div class="modal-footer"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancel\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.beneficiaries.cancel\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-cancel-purchase-confirm.tpl.html",'<div><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.cancel.title\' | translate}}</span></div><div><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body pm2"><div class="modal-cancel-purchase"><div class="model-cancel-confirm" ng-show="!submitted"><div class="modal-message"><p>{{\'ev.widgets.purchases.cancel.message\' | translate}}</p></div><div id="modal-cancel-reasons"><div class="form-group" ng-show="hasCancelReasons"><label for="cancelReason">{{\'ev.widgets.purchases.cancel.reason_for_cancellation\' | translate}}:</label> <select name="cancelReason" id="cancelReason" class="form-control" ng-options="reason.displayName for reason in cancelReasons" ng-model="selectedReason" ng-change="selectCancelReason(reason)"><option value="">{{\'ev.widgets.purchases.cancel.select_a_reason\' | translate}}</option></select></div><div id="cancel-reason-actions" ng-show="showCancelReasonActions"><div id="cancel-reason-message" ng-if="selectedReason.messageBody" ng-bind-html="renderHtml(selectedReason.messageBody)"></div><div style="margin-top: 10px;"><a id="cancel-reason-hyperlink" ng-if="selectedReason.hyperlinkUrl" href="{{selectedReason.hyperlinkUrl}}">{{selectedReason.hyperlinkDisplayText}}</a></div></div><div id="modal-display-offers" ng-if="hasOffers && showOffers" style="padding-bottom: 10px;"><p>{{\'ev.widgets.purchases.cancel.select_an_offer\' | translate}}</p><div class="row"><div class="col-md-4" ng-repeat="discount in offers"><div class="offer" id="offer-{{discount.id}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.applyOffer\' | translate}}" role="button" ng-click="selectOffer(discount)"><h4 class="offer-name">{{discount.displayName}}</h4><p class="offer-text">{{discount.offerText}}</p><p class="offer-description">{{discount.offerDescription}}</p><p class="offer-price" ng-if="showOfferPrice">
33{{selectedPurchase.orderItem.paymentPlan.currency.symbol}}{{displayPrice(discount) | currency:\'\':2}}</p></div></div></div></div></div><div class="modal-footer"><button class="btn btn-success" aria-label="{{\'ev.widgets.purchases.ariaLabels.applyOffer\' | translate}}" ng-click="applyOffer()" ng-disabled="!selectedOffer" ng-show="hasOffers && showOffers">{{\'ev.widgets.purchases.actionsButton.action.applyOffer\' | translate}}</button> <button class="btn btn-primary" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmCancelPurchase\' | translate}}" ng-click="confirm(false)" ng-show="showConfirmCancellationBtn">{{\'ev.widgets.purchases.cancel.confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeCancelPurchase\' | translate}}" ng-click="close()">{{\'ev.widgets.purchases.cancel.close\' | translate}}</button></div></div><div class="model-cancel-submitted" ng-show="submitted"><div class="modal-cancel-success" ng-show="cancelling"><div class="form-group"><p>{{\'ev.widgets.purchases.cancel.cancelling\' | translate}}</p></div></div><div class="modal-cancel-success" ng-show="success"><div class="form-group"><p>{{\'ev.widgets.purchases.cancel.success\' | translate}}</p></div></div><div class="modal-cancel-success" ng-show="applyingOffer"><div class="form-group"><p>{{\'ev.widgets.purchases.cancel.applying_offer\' | translate}}</p></div></div><div class="modal-cancel-success" ng-show="offerSuccess"><div class="form-group"><p>{{\'ev.widgets.purchases.cancel.offer_success\' | translate}}</p></div></div><div class="modal-footer"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeCancelPurchase\' | translate}}" ng-click="close()">{{\'ev.widgets.purchases.cancel.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-change-address.tpl.html",'<div id="purchase-change-address-modal" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{\'ev.widgets.purchases.changeAddressModal.\' + (addressType === \'BILLING\' ? \'billing\' : \'delivery\') + \'Title\' | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="pm2" ng-show="!isLoading"><div id="changeAddressContainer" class="row"><div class="col-lg-12 col-md-12 col-sm-12" ng-show="!success && !submitting"><div id="containerTitle" ng-if="!isAddAddress && !isEditAddress" class="row" ng-show="profileGroups.addresses && profileGroups.addresses.length && !isAddAddress"><div class="col-lg-12 col-md-12 col-sm-12"><h4>{{\'ev.widgets.purchases.changeAddressModal.selectAddress\' | translate}}</h4></div></div><div ng-show="showError" class="ev alert alert-danger text-center" ng-repeat="error in errors track by $index"><p>{{error.description}}:{{error.attributes}}</p></div><div ng-if="!isAddAddress && !isEditAddress" class="row"><div class="col-lg-4 col-md-4 col-sm-4 card-thumbnail" ng-repeat="address in profileGroups.addresses track by $index" ng-if="!isEmptyAddress(address)" ng-click="selectCard(address)" id="card-address-{{address.name}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.selectAddress\' | translate}}"><div id="thumbnail-card-address-{{address.name}}" class="thumbnail select-card-pointer" ng-class="{\'selected\': isUsedAddress(address.name)}"><div id="address-info"><div id="{{address.name + \'-\' + attribute.name}}" ng-repeat="attribute in address.attributes track by $index" ng-show="attribute.value && attribute.value !== \'\'"><div><strong>{{attribute.label}}</strong>: {{attribute.value}}</div></div></div><div id="address-options"><div id="address-edit" ng-if="isUsedAddress(address.name)"><a ng-click="editAddress(address)">{{\'ev.widgets.purchases.changeAddressModal.addressEdit\' | translate}}</a></div><div id="address-in-use-text" ng-if="isUsedAddress(address.name)"><strong>{{\'ev.widgets.purchases.changeAddressModal.addressInUse\' | translate}}</strong></div></div></div></div><div class="col-md-4 col-sm-4 card-thumbnail" id="card-address-new" ng-show="getNewAddress()" ng-click="addNewAddress()"><div id="thumbnail-card-address-new" class="thumbnail add-new-card select-card-pointer"><span class="vertical-middle-cell">{{\'ev.widgets.purchases.changeAddressModal.newAddress.buttonLabel\' | translate}}</span></div></div></div><div ng-show="isAddAddress" id="change-address-new-section" class="row"><div id="change-address-new-title" class="col-lg-12 col-md-12 col-sm-12"><h4>{{\'ev.widgets.purchases.changeAddressModal.newAddress.label\' | translate}}</h4></div><div id="change-address-new-form-container" class="col-lg-12 col-md-12 col-sm-12"><form id="change-address-new-form" role="form" ng-submit="submitNewAddress()"><div id="address-add-fields"><ev-attribute-v2 attr-id-prefix="\'billing-address-\'" ng-repeat="attribute in config.selectedBillingAddress.attributes" attributes="config.selectedBillingAddress.attributes" attribute="attribute" show-label="true" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory && config.requiresBilling" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2></div><div id="address-add-buttons"><button type="submit" aria-label="{{\'ev.widgets.purchases.ariaLabels.submitNewAddress\' | translate}}" class="btn btn-primary" ng-disabled="submitting">{{\'ev.widgets.purchases.changeAddressModal.newAddress.save\' | translate}}</button> <button type="button" aria-label="{{\'ev.widgets.purchases.ariaLabels.submitNewAddress\' | translate}}" class="btn btn-default" ng-click="cancelNewAddress()">{{\'ev.widgets.purchases.changeAddressModal.newAddress.cancel\' | translate}}</button></div></form></div></div><div ng-show="isEditAddress" id="change-address-edit-section" class="row"><div id="change-address-edit-title" class="col-lg-12 col-md-12 col-sm-12"><h4>{{\'ev.widgets.purchases.changeAddressModal.editAddress.label\' | translate}}</h4></div><div id="change-address-edit-form-container" class="col-lg-12 col-md-12 col-sm-12"><form id="change-address-edit-form" role="form" ng-submit="submitNewAddress(true)"><div id="address-edit-fields" style="max-width: none;"><ev-attribute-v2 attr-id-prefix="\'billing-address-\'" ng-repeat="attribute in config.selectedBillingAddress.attributes" test="test" attributes="config.selectedBillingAddress.attributes" attribute="attribute" show-label="true" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory && config.requiresBilling" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2></div><div id="address-edit-warning-message">{{\'ev.widgets.purchases.changeAddressModal.editAddress.warningMessage\' | translate}}</div><div id="address-edit-buttons"><button type="submit" aria-label="{{\'ev.widgets.purchases.ariaLabels.submitEditAddress\' | translate}}" class="btn btn-primary" ng-disabled="submitting">{{\'ev.widgets.purchases.changeAddressModal.editAddress.save\' | translate}}</button> <button type="button" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelEditAddress\' | translate}}" class="btn btn-default" ng-click="cancelEditAddress()">{{\'ev.widgets.purchases.changeAddressModal.editAddress.cancel\' | translate}}</button></div></form></div></div><div ng-show="!isAddAddress && !isEditAddress" class="row"><div class="col-lg-12 col-md-12 col-sm-12 error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,
3317 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{changeAddressErrorMessage}}</span></div><div id="change-address-footer" class="col-lg-12 col-md-12 col-sm-12"><button aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmChangeAddress\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeAddressModal.confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelChangeAddress\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeAddressModal.close\' | translate}}</button></div></div></div><div class="col-lg-12 col-md-12 col-sm-12 center"><div class="change-address-circle" ng-class="{\'change-address-animated-circle\': submitting}" ng-show="submitting"></div><div class="address-change-success" ng-show="success"><span class="glyphicon glyphicon-ok"></span><h3 class="title">{{"ev.widgets.purchases.changeAddressModal.success" | translate}}</h3></div><div class="modal-footer" ng-show="success"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeChangeAddress\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeAddressModal.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-change-checkoutdotcom-card.tpl.html",'<div id="checkoutdotcom-change-card" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{\'ev.widgets.purchases.changeCard.title\' | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="pm2" ng-show="!isLoading"><div class="checkoutdotcom-payment"><div class="icons-section"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/mastercard.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/amex.html\'"></ng-include></div></div><div class="icon uses-ssl element-responsive"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.purchases.changeCard.securityMessage" | translate}}</small></div></div><div ng-show="!success && !submitting"><div class="change-card-available" ng-show="cards && cards.length && !isAddCard"><h4>{{\'ev.widgets.purchases.changeCard.availableCard.label\' | translate}}</h4></div><div class="row block-display" ng-if="!isAddCard"><div ng-click="selectCard(card.cardId)" class="col-md-4 col-sm-4 card-thumbnail" id="card-{{card.cardId}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.selectCard\' | translate}} {{\'ev.widgets.purchases.changeCard.availableCard.cardNumber\' | translate}}" ng-repeat="card in cards track by $index"><div class="thumbnail select-card-pointer" id="thumbnail-{{card.cardId}}"><div class="caption"><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardNumber" | translate}}</h5><p style="font-size: x-large">**** **** **** {{card.last4Digits}}</p><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardExpiryDate" | translate}}</h5><p style="font-size: x-large">{{card.expMonth}} / {{card.expYear}}</p></div></div></div><div class="col-md-4 col-sm-4 card-thumbnail" ng-click="addCard()"><div class="thumbnail add-new-card select-card-pointer"><div class="display-center-table"><span class="vertical-middle-cell">{{\'ev.widgets.purchases.changeCard.newCard.buttonLabel\' | translate}}</span></div></div></div></div><div ng-show="isAddCard"><div class="change-card-new"><h4>{{\'ev.widgets.purchases.changeCard.newCard.label\' | translate}}</h4></div><div id="ev-checkoutdotcom-change-card-form" style="margin-bottom: 20px"></div></div><div class="row"><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,
3317 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{checkoutDotComErrorMessage}}</span></div><div class="change-card-footer"><button ng-if="!isAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmChangeCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.confirm\' | translate}}</button> <button ng-if="isAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.saveNewCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.newCard.save\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div><div class="payment-checkoutdotcom-submit"><div class="payment-checkoutdotcom-circle" ng-class="{\'payment-checkoutdotcom-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-checkoutdotcom-success" ng-show="success"><div class="payment-checkoutdotcom-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.purchases.changeCard.success" | translate}}</h3></div><div class="modal-footer" ng-show="success"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-change-mercado-card.tpl.html",'<div id="mercado-change-card" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{\'ev.widgets.purchases.changeCard.title\' | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="pm2" ng-show="!isLoading"><div class="mercado-payment"><div class="icons-section"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/mastercard.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/oca.html\'"></ng-include></div></div><div class="icon uses-ssl element-responsive"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.purchases.changeCard.securityMessage" | translate}}</small></div></div><div ng-show="!success && !submitting"><div class="change-card-available" ng-show="cards && cards.length && !isAddCard"><h4>{{\'ev.widgets.purchases.changeCard.availableCard.label\' | translate}}</h4></div><div class="row block-display" ng-if="!isAddCard"><div ng-click="selectedCard(card.cardId)" class="col-md-4 col-sm-4 card-thumbnail" id="card-{{card.cardId}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.selectCard\' | translate}} {{\'ev.widgets.purchases.changeCard.availableCard.cardNumber\' | translate}}" role="button" ng-repeat="card in cards track by $index">
33<div class="thumbnail select-card-pointer" id="thumbnail-{{card.cardId}}"><div class="caption"><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardNumber" | translate}}</h5><p style="font-size: x-large">**** **** **** {{card.last4Digits}}</p><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardExpiryDate" | translate}}</h5><p style="font-size: x-large">{{card.expMonth}} / {{card.expYear}}</p></div></div></div><div ng-if="showAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.addNewCard\' | translate}}" role="button" class="col-md-4 col-sm-4 card-thumbnail" ng-click="addCard()"><div class="thumbnail add-new-card select-card-pointer"><div class="display-center-table"><span class="vertical-middle-cell">{{\'ev.widgets.purchases.changeCard.newCard.buttonLabel\' | translate}}</span></div></div></div></div><div ng-show="!showAddCard || isAddCard"><div class="change-card-new"><h4>{{\'ev.widgets.purchases.changeCard.newCard.label\' | translate}}</h4></div><form class="mercado-payment-form" id="pay"><div class="row"><div class="field"><input type="text" id="cardNumber" data-checkout="cardNumber" placeholder="{{\'ev.widgets.mercado.placeholder.cardNumber\' | translate}}" class="input empty" ng-focus="focusedNewCard(true)"> <label for="cardNumber">{{"ev.widgets.mercado.cardNumber" | translate}}</label><div class="baseline"></div></div><div class="field"><input type="text" id="securityCode" data-checkout="securityCode" placeholder="{{\'ev.widgets.mercado.placeholder.securityCode\' | translate}}" class="input empty" ng-focus="focusedNewCard(true)"> <label for="securityCode">{{"ev.widgets.mercado.securityCode" | translate}}</label><div class="baseline"></div></div><div class="field"><input type="text" id="cardExpirationMonth" data-checkout="cardExpirationMonth" placeholder="{{\'ev.widgets.mercado.placeholder.cardExpirationMonth\' | translate}}" class="input empty" ng-focus="focusedNewCard(true)"> <label for="cardExpirationMonth">{{"ev.widgets.mercado.cardExpirationMonth" | translate}}</label><div class="baseline"></div></div><div class="field"><input type="text" id="cardExpirationYear" data-checkout="cardExpirationYear" placeholder="{{\'ev.widgets.mercado.placeholder.cardExpirationYear\' | translate}}" class="input empty" ng-focus="focusedNewCard(true)"> <label for="cardExpirationYear">{{"ev.widgets.mercado.cardExpirationYear" | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field"><input type="text" id="cardholderName" data-checkout="cardholderName" placeholder="{{\'ev.widgets.mercado.placeholder.cardholderName\' | translate}}" class="input empty" ng-focus="focusedNewCard(true)"> <label for="cardholderName">{{"ev.widgets.mercado.cardholderName" | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field half-width"><select id="docType" data-checkout="docType" class="doctype-select" ng-focus="focusedNewCard(true)"></select><div class="baseline"></div></div><div class="field half-width"><input id="docNumber" data-checkout="docNumber" placeholder="{{\'ev.widgets.mercado.placeholder.docNumber\' | translate}}" class="input empty" ng-focus="focusedNewCard(true)"> <label for="docNumber">{{"ev.widgets.mercado.docNumber" | translate}}</label><div class="baseline"></div></div></div></form></div><div class="row"><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{mercadoErrorMessage}}</span></div><div class="change-card-footer">
33<button ng-if="showAddCard && !isAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmChangeCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.confirm\' | translate}}</button> <button ng-if="!showAddCard || isAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.saveNewCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.newCard.save\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div><div class="payment-mercado-submit"><div class="payment-mercado-circle" ng-class="{\'payment-mercado-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-mercado-success" ng-show="success"><div class="payment-mercado-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.purchases.changeCard.success" | translate}}</h3></div><div class="modal-footer" ng-show="success"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div></div></div>'), 34e.put("pm-v2/purchases-list-fragments/ev-change-paystack-card.tpl.html",'<div id="paystack-change-card" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{\'ev.widgets.purchases.changeCard.title\' | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="pm2" ng-show="!isLoading"><div class="paystack-payment"><div ng-show="!success && !submitting"><div class="change-card-available" ng-show="cards && cards.length"><h4>{{\'ev.widgets.purchases.changeCard.availableCard.label\' | translate}}</h4></div><div class="row block-display"><div ng-click="selectCard(card.cardId)" class="col-md-4 col-sm-4 card-thumbnail" id="card-{{card.cardId}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.selectCard\' | translate}} {{\'ev.widgets.purchases.changeCard.availableCard.cardNumber\' | translate}}" ng-repeat="card in cards track by $index"><div class="thumbnail select-card-pointer" id="thumbnail-{{card.cardId}}"><div class="caption"><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardNumber" | translate}}</h5><p style="font-size: x-large">**** **** **** {{card.last4Digits}}</p><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardExpiryDate" | translate}}</h5><p style="font-size: x-large">{{card.expMonth}} / {{card.expYear}}</p></div></div></div><div class="col-md-4 col-sm-4 card-thumbnail" ng-click="addCard()"><div class="thumbnail add-new-card select-card-pointer"><div class="display-center-table"><span class="vertical-middle-cell">{{\'ev.widgets.purchases.changeCard.newCard.buttonLabel\' | translate}}</span></div></div></div></div><div class="row"><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{paystackErrorMessage}}</span></div><div class="change-card-footer"><button aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmChangeCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div><div class="payment-paystack-submit"><div class="payment-paystack-circle" ng-class="{\'payment-paystack-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-paystack-success" ng-show="success"><div class="payment-paystack-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.purchases.changeCard.success" | translate}}</h3></div><div class="modal-footer" ng-show="success"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-change-product-plan.tpl.html",'<div><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.changeProductPlan.title\' | translate}}</span></div><div><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body pm2"><div class="modal-change-product-plan"><div class="modal-change-product-plan-confirm" ng-show="!submitted"><div class="modal-choose-product-plan"><div class="change-product" style="margin-bottom: 30px;"><div><label>{{\'ev.widgets.purchases.changeProductPlan.select_new_product\' | translate}} :</label></div><div class="row"><div class="col-md-4" ng-repeat="product in filterAlternativeProducts()"><div class="change-product-plan" id="product-{{product.id}}" ng-click="selectProduct(product)" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.selectProduct\' | translate}} {{product.displayName}}" role="button"><h4>{{product.displayName}}</h4><ul><li ng-repeat="feature in product.features track by $index">{{feature}}</li></ul></div></div></div></div><div class="change-plan" style="margin-bottom: 30px;" ng-show="selectedProduct"><div><label>{{\'ev.widgets.purchases.changeProductPlan.select_new_plan\' | translate}}</label> :</div><div class="row"><div class="col-md-4" ng-repeat="plan in alternativePlans"><div class="change-product-plan" id="plan-{{plan.id}}" ng-click="selectPlan(plan)" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.selectPlan\' | translate}} {{plan.displayName}}" role="button"><h4>{{plan.displayName}}</h4><p>{{"ev.widgets.plan.frequency." + plan.frequency.id | translate }}</p><p>{{plan.currency.symbol}}{{(plan.trialPrice ? plan.trialPrice : plan.finalPrice) | currency:\'\':2}}</p></div></div></div></div></div><div class="modal-footer"><button class="btn btn-primary" ng-click="confirm()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.confirmChangePlan\' | translate}}" ng-show="showConfirmChangeBtn" ng-disabled="!selectedPlan">
34{{\'ev.widgets.purchases.changeProductPlan.confirm\' | translate}}</button> <button class="btn btn-default" ng-click="close()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.closeChangePlan\' | translate}}">{{\'ev.widgets.purchases.cancel.close\' | translate}}</button></div></div><div class="modal-change-product-plan-submitted" ng-show="submitted"><div class="modal-change-product-plan-upgrading" ng-show="upgrading"><div class="form-group"><p>{{\'ev.widgets.purchases.changeProductPlan.upgrading\' | translate}}</p></div></div><div class="modal-change-product-plan-success" ng-show="success"><div class="form-group"><p>{{\'ev.widgets.purchases.changeProductPlan.success\' | translate}}</p></div></div><div class="modal-footer"><button class="btn btn-default" ng-click="close()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.closeChangePlan\' | translate}}">{{\'ev.widgets.purchases.cancel.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-change-stripe-card.tpl.html",'<div id="stripe-change-card" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{\'ev.widgets.purchases.changeCard.title\' | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="pm2" ng-show="!isLoading"><div class="stripe-payment"><div class="icons-section"><div class="supported-cards"><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/visa.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/mastercard.html\'"></ng-include></div><div class="supported-card icon american-express"><ng-include src="\'pm-v2/pm-icons/amex.html\'"></ng-include></div></div><div class="icon uses-ssl element-responsive"><ng-include src="\'pm-v2/pm-icons/ssl_lock.html\'"></ng-include><small>{{"ev.widgets.purchases.changeCard.securityMessage" | translate}}</small></div></div><div ng-show="!success && !submitting"><div class="change-card-available" ng-show="cards && cards.length && !isAddCard"><h4>{{\'ev.widgets.purchases.changeCard.availableCard.label\' | translate}}</h4></div><div class="row block-display" ng-if="!isAddCard"><div ng-click="selectCard(card.cardId)" class="col-md-4 col-sm-4 card-thumbnail" id="card-{{card.cardId}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.selectCard\' | translate}} {{\'ev.widgets.purchases.changeCard.availableCard.cardNumber\' | translate}}" ng-repeat="card in cards track by $index"><div class="thumbnail select-card-pointer" id="thumbnail-{{card.cardId}}"><div class="caption"><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardNumber" | translate}}</h5><p style="font-size: x-large">**** **** **** {{card.last4Digits}}</p><h5>{{"ev.widgets.purchases.changeCard.availableCard.cardExpiryDate" | translate}}</h5><p style="font-size: x-large">{{card.expMonth}} / {{card.expYear}}</p></div></div></div><div class="col-md-4 col-sm-4 card-thumbnail" ng-click="addCard()"><div class="thumbnail add-new-card select-card-pointer"><div class="display-center-table"><span class="vertical-middle-cell">{{\'ev.widgets.purchases.changeCard.newCard.buttonLabel\' | translate}}</span></div></div></div></div><div ng-show="isAddCard"><div class="change-card-new"><h4>{{\'ev.widgets.purchases.changeCard.newCard.label\' | translate}}</h4></div><form class="stripe-payment-form"><div class="row"><div class="field"><div id="card-number" class="input empty"></div><label for="card-number">{{"ev.widgets.stripe.cardNumber" | translate}}</label><div class="baseline"></div></div></div><div class="row"><div class="field half-width"><div id="card-expiry" class="input empty"></div><label for="card-expiry">{{"ev.widgets.stripe.cardExpiry" | translate}}</label><div class="baseline"></div></div><div class="field half-width"><div id="card-cvc" class="input empty"></div><label for="card-cvc">{{"ev.widgets.stripe.cardCVC" | translate}}</label><div class="baseline"></div></div></div></form></div><div class="row"><div class="error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,
3417 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{stripeErrorMessage}}</span></div><div class="change-card-footer"><button ng-if="!isAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmChangeCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.confirm\' | translate}}</button> <button ng-if="isAddCard" aria-label="{{\'ev.widgets.purchases.ariaLabels.saveNewCard\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeCard.newCard.save\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div><div class="payment-stripe-submit"><div class="payment-stripe-circle" ng-class="{\'payment-stripe-animated-circle\': submitting}" ng-show="submitting"></div><div class="payment-stripe-success" ng-show="success"><div class="payment-stripe-success-icon glyphicon glyphicon-ok"></div><h3 class="title">{{"ev.widgets.purchases.changeCard.success" | translate}}</h3></div><div class="modal-footer" ng-show="success"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeChangeCard\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeCard.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-confirm-dialog.tpl.html",'<div style="padding:10px"><div class="modal-body pm2"><div class="modal-notification-success"><div class="modal-message"><p>{{\'ev.widgets.purchases.confirmDialog.message\' | translate}}</p></div><div class="modal-footer"><button class="btn btn-primary" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmRemoveBeneficiary\' | translate}}" ng-click="confirm(beneficiary,filteredListBeneficiaries)">{{\'ev.widgets.purchases.confirmDialog.confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmRemoveBeneficiary\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.confirmDialog.cancel\' | translate}}</button></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-edit-billing-address.tpl.html",'<div id="purchase-change-address-modal" class="ev"><div id="widget-header" class="ev widget-header" ng-if="showHeader"><span class="text-lt">{{\'ev.widgets.purchases.changeAddressModal.\' + (addressType === \'BILLING\' ? \'billing\' : \'delivery\') + \'Title\' | translate}}</span></div><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="center" ng-show="isLoading"><div class="ev label loading-text"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Loading...</div></div><div class="pm2" ng-show="!isLoading"><div id="changeAddressContainer" class="row"><div class="col-lg-12 col-md-12 col-sm-12" ng-show="!success && !submitting"><div id="containerTitle" ng-if="!isAddAddress && !isEditAddress" class="row" ng-show="profileGroups.addresses && profileGroups.addresses.length && !isAddAddress"><div class="col-lg-12 col-md-12 col-sm-12"><h4>{{\'ev.widgets.purchases.changeAddressModal.selectAddress\' | translate}}</h4></div></div><div ng-if="!isAddAddress && !isEditAddress" class="row"><div class="col-lg-4 col-md-4 col-sm-4 card-thumbnail" ng-repeat="address in profileGroups.addresses track by $index" ng-if="!isEmptyAddress(address)" ng-click="selectCard(address)" id="card-address-{{address.name}}" aria-label="{{\'ev.widgets.purchases.ariaLabels.selectAddress\' | translate}}"><div id="thumbnail-card-address-{{address.name}}" class="thumbnail select-card-pointer" ng-class="{\'selected\': isUsedAddress(address.name)}"><div id="address-info"><div id="{{address.name + \'-\' + attribute.name}}" ng-repeat="attribute in address.attributes track by $index" ng-show="attribute.value && attribute.value !== \'\'"><div><strong>{{attribute.label}}</strong>: {{attribute.value}}</div></div></div><div id="address-options" class="edit-billing-address"><div id="address-edit"><a ng-click="editAddress(address)">{{\'ev.widgets.purchases.changeAddressModal.addressEdit\' | translate}}</a></div><div id="address-in-use-text" ng-if="isUsedAddress(address.name)"><strong>{{\'ev.widgets.purchases.changeAddressModal.addressInUse\' | translate}}</strong></div></div></div></div><div class="col-md-4 col-sm-4 card-thumbnail" id="card-address-new" ng-show="getNewAddress()" ng-click="addNewAddress()"><div id="thumbnail-card-address-new" class="thumbnail add-new-card select-card-pointer"><span class="vertical-middle-cell">{{\'ev.widgets.purchases.changeAddressModal.newAddress.buttonLabel\' | translate}}</span></div></div></div><div ng-show="isAddAddress" id="change-address-new-section" class="row"><div id="change-address-new-title" class="col-lg-12 col-md-12 col-sm-12"><h4>{{\'ev.widgets.purchases.changeAddressModal.newAddress.label\' | translate}}</h4></div><div id="change-address-new-form-container" class="col-lg-12 col-md-12 col-sm-12"><form id="change-address-new-form" role="form" ng-submit="submitNewAddress()"><div id="address-add-fields"><div class="form-group" ng-repeat="attribute in newAddressData.attributes track by $index"><label for="{{attribute.name}}">{{attribute.label}}</label> <input ng-if="!attribute.name.endsWith(addressAttributesSuffix)" type="{{attribute.type}}" class="form-control" id="{{attribute.name}}" placeholder="{{attribute.placeholder}}" name="attribute.name" ng-model="attribute.value"> <select ng-if="attribute.name.endsWith(addressAttributesSuffix)" id="{{attribute.name}}" ng-model="attribute.value" name="{{attribute.name}}" class="form-control"><option value="" ng-selected="!attribute.value">{{\'ev.widgets.productProfile.address.country.defaultOption\' | translate}}</option><option ng-repeat="option in attribute.options | orderBy : \'caption\'" value="{{option.value}}" ng-disabled="option.disabled">{{option.caption}}</option></select></div></div><div id="address-add-buttons"><button type="submit" aria-label="{{\'ev.widgets.purchases.ariaLabels.submitNewAddress\' | translate}}" class="btn btn-primary" ng-disabled="submitting">{{\'ev.widgets.purchases.changeAddressModal.newAddress.save\' | translate}}</button> <button type="button" aria-label="{{\'ev.widgets.purchases.ariaLabels.submitNewAddress\' | translate}}" class="btn btn-default" ng-click="cancelNewAddress()">{{\'ev.widgets.purchases.changeAddressModal.newAddress.cancel\' | translate}}</button></div></form></div></div><div ng-show="isEditAddress" id="change-address-edit-section" class="row"><div id="change-address-edit-title" class="col-lg-12 col-md-12 col-sm-12"><h4>{{\'ev.widgets.purchases.changeAddressModal.editAddress.label\' | translate}}</h4></div><div id="change-address-edit-form-container" class="col-lg-12 col-md-12 col-sm-12"><div ng-show="showError" class="ev alert alert-danger text-center" ng-repeat="error in errors track by $index"><p>{{\'ev.widgets.errors.missing_mandatory_attribute\' | translate}}: {{error.attributes}}</p></div><div ng-show="showErrorInvalidTaxID" class="ev alert alert-danger text-center"><p>
34{{\'ev.widgets.taxChecker.error.invalid_tax_id\' | translate}}</p></div><div ng-show="showErrorInvalidTaxIDVIES" class="ev alert alert-danger text-center"><p>{{\'ev.widgets.taxChecker.error.invalid_tax_id_vies\' | translate}}</p></div><form id="change-address-edit-form" role="form" ng-submit="submitNewAddress(true)"><div id="address-edit-fields" style="max-width: none;"><ev-attribute-v2 attr-id-prefix="\'billing-address-\'" ng-repeat="attribute in config.selectedBillingAddress.attributes" attributes="config.selectedBillingAddress.attributes" attribute="attribute" show-label="true" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory && config.requiresBilling" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2></div><div id="address-edit-warning-message">{{\'ev.widgets.purchases.changeAddressModal.editAddress.warningMessage\' | translate}}</div><div id="address-edit-buttons"><button type="submit" aria-label="{{\'ev.widgets.purchases.ariaLabels.submitEditAddress\' | translate}}" class="btn btn-primary" ng-disabled="submitting">{{\'ev.widgets.purchases.changeAddressModal.editAddress.save\' | translate}}</button> <button type="button" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelEditAddress\' | translate}}" class="btn btn-default" ng-click="cancel()">{{\'ev.widgets.purchases.changeAddressModal.editAddress.cancel\' | translate}}</button></div></form></div></div><div ng-show="!isAddAddress && !isEditAddress" class="row"><div class="col-lg-12 col-md-12 col-sm-12 error" role="alert" ng-show="showError"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17"><path class="base" fill="#000" d="M8.5,17 C3.80557963,17 0,13.1944204 0,8.5 C0,3.80557963 3.80557963,0 8.5,0 C13.1944204,0 17,3.80557963 17,8.5 C17,13.1944204 13.1944204,17 8.5,17 Z"></path><path class="glyph" fill="#FFF" d="M8.5,7.29791847 L6.12604076,4.92395924 C5.79409512,4.59201359 5.25590488,4.59201359 4.92395924,4.92395924 C4.59201359,5.25590488 4.59201359,5.79409512 4.92395924,6.12604076 L7.29791847,8.5 L4.92395924,10.8739592 C4.59201359,11.2059049 4.59201359,11.7440951 4.92395924,12.0760408 C5.25590488,12.4079864 5.79409512,12.4079864 6.12604076,12.0760408 L8.5,9.70208153 L10.8739592,12.0760408 C11.2059049,12.4079864 11.7440951,12.4079864 12.0760408,12.0760408 C12.4079864,11.7440951 12.4079864,11.2059049 12.0760408,10.8739592 L9.70208153,8.5 L12.0760408,6.12604076 C12.4079864,5.79409512 12.4079864,5.25590488 12.0760408,4.92395924 C11.7440951,4.59201359 11.2059049,4.59201359 10.8739592,4.92395924 L8.5,7.29791847 L8.5,7.29791847 Z"></path></svg> <span class="message">{{changeAddressErrorMessage}}</span></div><div id="change-address-footer" class="col-lg-12 col-md-12 col-sm-12"><button aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmChangeAddress\' | translate}}" class="btn btn-primary" ng-click="submit()">{{\'ev.widgets.purchases.changeAddressModal.confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelChangeAddress\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeAddressModal.close\' | translate}}</button></div></div></div><div class="col-lg-12 col-md-12 col-sm-12 center"><div class="change-address-circle" ng-class="{\'change-address-animated-circle\': submitting}" ng-show="submitting"></div><div class="address-change-success" ng-show="success"><span class="glyphicon glyphicon-ok"></span><h3 class="title">{{"ev.widgets.purchases.changeAddressModal.success" | translate}}</h3></div><div class="modal-footer" ng-show="success"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeChangeAddress\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.changeAddressModal.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-generate-qr-code.tpl.html",'<div><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.accessCode.title\' | translate}}</span></div><div><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body pm2"><div class="modal-generate-code" ng-if="showCode"><img ng-src="data:image/png;base64, {{image}}"></div><div class="modal-footer"><button class="btn btn-default" ng-click="close()">{{\'ev.widgets.purchases.accessCode.close\' | translate}}</button></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-notification-v2.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer" ng-if="activeNotification"><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.notification.title\' | translate}}</span></div><div class="pm2"><div class="notification-container"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body pm2"><div class="modal-form" ng-hide="notificationSuccess"><ng-form name="formBeneficiary" aria-label="{{\'ev.widgets.purchases.ariaLabels.addBeneficiaryForm\' | translate}}" role="form"><div class="form-group"><label for="emailBeneficiary">{{\'ev.widgets.purchases.notification.email\' | translate}}</label> <input id="emailBeneficiary" name="emailBeneficiary" ng-model="emailBeneficiary" type="email" class="form-control" placeholder="{{\'ev.widgets.purchases.notification.emailPlaceholder\' | translate}}" required> <small id="emailHelp" class="form-text text-muted">{{\'ev.widgets.purchases.notification.emailHelp\' | translate}}</small><div class="invalidMsg"><div ng-show="formBeneficiary.emailBeneficiary.$error.required && formBeneficiary.emailBeneficiary.$dirty">{{\'ev.widgets.purchases.notification.emailRequired\' | translate}}</div><div ng-show="formBeneficiary.emailBeneficiary.$error.email && formBeneficiary.emailBeneficiary.$dirty">{{\'ev.widgets.purchases.notification.emailInvalid\' | translate}}</div></div></div><div class="form-group"><label for="messageTextarea">{{\'ev.widgets.purchases.notification.message\' | translate}}</label> <textarea class="form-control" id="messageTextarea" name="messageBeneficiary" ng-model="messageBeneficiary" maxlength="600" minlength="1" rows="3" required></textarea> <small id="messageHelp" class="form-text text-muted">{{\'ev.widgets.purchases.notification.beneficiaryMessageHelp\' | translate}}</small><div ng-show="formBeneficiary.messageBeneficiary.$error.required && formBeneficiary.messageBeneficiary.$dirty">{{\'ev.widgets.purchases.notification.beneficiaryMessageRequired\' | translate}}</div></div><div class="modal-footer"><button class="btn btn-primary" aria-label="{{\'ev.widgets.purchases.ariaLabels.addBeneficiary\' | translate}}" ng-disabled="formBeneficiary.$invalid" ng-click="addBeneficiary(emailBeneficiary, messageBeneficiary, subscriptionId, scope)">{{\'ev.widgets.purchases.notification.add\' | translate}}</button> <button ng-show="!alertOnly" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancelAddBeneficiary\' | translate}}" class="btn btn-default" ng-click="cancel()">{{\'ev.widgets.purchases.notification.cancel\' | translate}}</button></div></ng-form></div><div class="modal-notification-success" ng-show="notificationSuccess"><div class="form-group"><p>{{\'ev.widgets.purchases.notification.success\' | translate}}</p></div><div class="modal-footer"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeAddBeneficiaryForm\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.notification.close\' | translate}}</button></div></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-revert-cancellation.tpl.html",'<div><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.revertCancellation.title\' | translate}}</span></div><div><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body pm2"><div class="modal-cancel-purchase"><div class="model-cancel-confirm" ng-show="!submitted"><div class="modal-message"><p>{{\'ev.widgets.purchases.revertCancellation.message\' | translate}}</p></div><div class="modal-footer"><button class="btn btn-primary" aria-label="{{\'ev.widgets.purchases.ariaLabels.confirmRevertCancellation\' | translate}}" ng-click="confirm()">{{\'ev.widgets.purchases.revertCancellation.confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeRevertCancellation\' | translate}}" ng-click="close()">{{\'ev.widgets.purchases.revertCancellation.close\' | translate}}</button></div></div><div class="model-cancel-submitted" ng-show="submitted"><div class="modal-cancel-success" ng-show="cancelling"><div class="form-group"><p>{{\'ev.widgets.purchases.revertCancellation.reverting\' | translate}}</p></div></div><div class="modal-cancel-success" ng-show="success"><div class="form-group"><p>{{\'ev.widgets.purchases.revertCancellation.success\' | translate}}</p></div></div><div class="modal-footer"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.closeRevertCancellation\' | translate}}" ng-click="close()">{{\'ev.widgets.purchases.revertCancellation.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-toggle-invoice-format.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.transactions.title\' | translate}}</span></div><div class="pm2"><div class="notification-container"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div>
34<div class="modal-body modal-body-overflow">Are you sure you want to change invoice format from <b>{{purchase.invoiceFormat}}</b> to <b>{{purchase.invoiceFormat===\'COMPLETE\'?\'STANDARD\':\'COMPLETE\'}}</b> ?</div><div class="modal-footer"><button class="btn btn-default" aria-label="{{\'Confirm\' | translate}}" ng-click="confirm()">{{\'confirm\' | translate}}</button> <button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancel\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.transactions.cancel\' | translate}}</button></div></div></div></div>'),e.put("pm-v2/purchases-list-fragments/ev-transactions.tpl.html",'<div id="{{widgetGuid}}" class="ev" ng-class="showContainer"><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.transactions.title\' | translate}}</span></div><div class="pm2"><div class="notification-container"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{widgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body modal-body-overflow"><div class="table-responsive"><table class="table table-striped table-responsive"><thead><tr><th class="col-md-2" ng-if="showTransactionsId">{{\'ev.widgets.purchases.transactions.id\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.created\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.payment\' | translate}}</th><th class="col-md-1ZZ">{{\'ev.widgets.purchases.transactions.amount\' | translate}}</th><th class="col-md-1" ng-if="showTransactionsCurrency">{{\'ev.widgets.purchases.transactions.currency\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.startDate\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.endDate\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.type\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.status\' | translate}}</th><th class="col-md-1">{{\'ev.widgets.purchases.transactions.invoice\' | translate}}</th></tr></thead><thead></thead><tbody><tr ng-repeat="transaction in transactions"><td class="col-md-2" ng-if="showTransactionsId">{{transaction.id}}</td><td class="col-md-1">{{transaction.createdDate}}</td><td class="col-md-1">{{ (\'ev.widgets.purchases.transactions.paymentTypes.\' + transaction.paymentType | translate) !== \'ev.widgets.purchases.transactions.paymentTypes.\' + transaction.paymentType ? (\'ev.widgets.purchases.transactions.paymentTypes.\' + transaction.paymentType | translate) : transaction.paymentType }}</td><td class="col-md-1">{{transaction.amount?transaction.currency.symbol:\'\'}}{{transaction.amount}}</td><td class="col-md-1" ng-if="showTransactionsCurrency">{{transaction.currency.id}}</td><td class="col-md-1">{{transaction.subscriptionPeriod.startDate}}</td><td class="col-md-1">{{transaction.subscriptionPeriod.endDate}}</td><td class="col-md-1">{{ (\'ev.widgets.purchases.transactions.transactionType.\' + transaction.transactionType | translate) !== \'ev.widgets.purchases.transactions.transactionType.\' + transaction.transactionType ? (\'ev.widgets.purchases.transactions.transactionType.\' + transaction.transactionType | translate) : transaction.transactionType }}</td><td class="col-md-1">{{ (\'ev.widgets.purchases.transactions.transactionStatus.\' + transaction.transactionStatus | translate) !== \'ev.widgets.purchases.transactions.transactionStatus.\' + transaction.transactionStatus ? (\'ev.widgets.purchases.transactions.transactionStatus.\' + transaction.transactionStatus | translate) : transaction.transactionStatus }}</td><td class="col-md-1" ng-if="!(transaction.invoice && transaction.invoiceHistory)"><i ng-if="transaction.invoice" ng-click="loadInvoiceInNewTab(transaction)" class="cursor-pointer glyphicon glyphicon-save"></i></td><td class="col-md-1" ng-if="transaction.invoice && transaction.invoiceHistory" ng-class="{\'vertical-table-item-attribute\' : displayVertical, \'mobile-table-item-attribute\': !displayVertical}"><div ng-class="{\'purchases-list-vertical-dropdown-right\' : displayVertical, \'purchases-list-dropdown-right\': !displayVertical}" class="dropdown transactionInvoiceDropDown" ng-class="{\'purchases-list-dropdown\' : ($last && !$first) || ($index == purchases.length-2)}"><i ng-click="toggle()" ev-toggle-display="ev-dropdown-{{ $index }}" class="cursor-pointer glyphicon glyphicon-th-list"></i><ul id="ev-dropdown-{{$index}}" class="dropdown-menu"><li style="margin: 0.5rem;"><div ng-if="transaction.invoice" ng-click="loadInvoiceInNewTab(transaction)" class="cursor-pointer"><i class="glyphicon glyphicon-save"></i> <span style="margin-left: 0.25rem">{{\'ev.widgets.purchases.transactions.originalInvoice\' | translate}}</span></div></li><li style="margin: 0.5rem;"><div ng-if="transaction.invoice" ng-click="loadLatestInvoiceInNewTab(transaction)" class="cursor-pointer"><i class="glyphicon glyphicon-save"></i> <span style="margin-left: 0.25rem">{{\'ev.widgets.purchases.transactions.latestInvoice\' | translate}}</span></div></li></ul></div></td></tr><tr ng-if="!transactions.length"><td colspan="3" align="center"><span class="beneficiaries-list-no-content">{{\'ev.widgets.purchases.transactions.noTransactions\' | translate}}</span></td></tr><tbody></tbody></tbody></table></div><div class="modal-footer"><button class="btn btn-default" aria-label="{{\'ev.widgets.purchases.ariaLabels.cancel\' | translate}}" ng-click="cancel()">{{\'ev.widgets.purchases.transactions.cancel\' | translate}}</button></div></div></div></div></div>'), 35e.put("pm-v2/purchases-list-fragments/ev-upgrade-product-plan.tpl.html",'<div><div id="widget-header" class="ev widget-header"><span class="text-lt">{{\'ev.widgets.purchases.changeProductPlan.title\' | translate}}</span></div><div><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div><div class="modal-body pm2"><div class="modal-change-product-plan"><div class="modal-change-product-plan-confirm" ng-show="!submitted"><div class="modal-choose-product-plan"><div class="change-product" style="margin-bottom: 30px;"><div><label>{{\'ev.widgets.purchases.changeProductPlan.select_new_product\' | translate}} :</label></div><div class="row"><div class="col-md-4" ng-repeat="product in filterAlternativeProducts()"><div class="change-product-plan" id="product-{{product.id}}" ng-click="selectProduct(product)" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.selectProduct\' | translate}} {{product.displayName}}" role="button"><h4>{{product.displayName}}</h4><ul><li ng-repeat="feature in product.features track by $index">{{feature}}</li></ul></div></div></div></div><div class="change-plan" style="margin-bottom: 30px;" ng-show="selectedProduct"><div><label>{{\'ev.widgets.purchases.changeProductPlan.select_new_plan\' | translate}}</label> :</div><div class="row"><div class="col-md-4" ng-repeat="plan in alternativePlans"><div class="change-product-plan" id="plan-{{plan.id}}" ng-click="selectPlan(plan)" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.selectPlan\' | translate}} {{plan.displayName}}" role="button"><h4>{{plan.displayName}}</h4><p>{{"ev.widgets.plan.frequency." + plan.frequency.id | translate }}</p><p>{{plan.currency.symbol}}{{(plan.trialPrice ? plan.trialPrice : plan.finalPrice) | currency:\'\':2}}</p></div></div></div></div></div><div class="modal-footer"><button class="btn btn-primary" ng-click="confirm()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.confirmChangePlan\' | translate}}" ng-show="showConfirmChangeBtn" ng-disabled="!selectedPlan">
35{{\'ev.widgets.purchases.changeProductPlan.confirm\' | translate}}</button> <button class="btn btn-default" ng-click="close()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.closeChangePlan\' | translate}}">{{\'ev.widgets.purchases.cancel.close\' | translate}}</button></div></div><div class="modal-change-product-plan-submitted" ng-show="submitted"><div class="modal-change-product-plan-upgrading" ng-show="upgrading"><div class="form-group"><p>{{\'ev.widgets.purchases.changeProductPlan.upgrading\' | translate}}</p></div></div><div class="modal-change-product-plan-success" ng-show="success"><div class="form-group"><p>{{\'ev.widgets.purchases.changeProductPlan.success\' | translate}}</p></div></div><div class="modal-footer"><button class="btn btn-default" ng-click="close()" aria-label="{{\'ev.widgets.changeProductPlan.ariaLabels.closeChangePlan\' | translate}}">{{\'ev.widgets.purchases.cancel.close\' | translate}}</button></div></div></div></div></div>'),e.put("pm-v2/product-profile-fragments/billing-address.html",'<div ng-if="addressLayout === \'one\'"><div ng-show="(showInvoiceOption && config.showInvoiceCheckStatus) || !showInvoiceOption"><div class="billing-address profile-section" ng-show="config.requiresBilling || showBilling"><div class="profile-section-title">{{\'ev.widgets.productProfile.address.billingAddressTitle\' | translate}}<div ng-show="config.requiresDelivery && !useBillingOption" class="use-delivery-address element-responsive-simple"><label for="use_delivery_address"><input id="use_delivery_address" ng-model="config.useDeliveryAddress" type="checkbox"> {{\'ev.widgets.productProfile.address.useDeliveryAddress\' | translate}}</label></div></div><div ng-hide="config.useDeliveryAddress"><div ng-if="loggedIn" class="select-address form-group"><label for="select_address_options">{{\'ev.widgets.productProfile.selectAddress.label\' | translate}}</label><div class="selectedBillingAddressContainer selectDots" data-content=""><select id="select_address_options" class="form-control" ng-change="changeSelectedBillingAddress()" ng-model="config.selectedBillingAddress" ng-options="group as addressAttributes[group.displayName] for group in populatedAddresses track by group.name" ng-class="{\'ev-invalid\': !config.selectedBillingAddress && showMandatory}"></select></div><button type="button" aria-label="{{\'ev.widgets.productProfile.ariaLabels.addNewBillingAddress\' | translate}}" class="btn btn-primary element-responsive" ng-disabled="allAddressesUsedStatus" ng-click="newAddress(\'billing\')">{{\'ev.widgets.productProfile.address.newAddress\' | translate}}</button></div><ev-attribute-v2 attr-id-prefix="\'billing-address-\'" ng-repeat="attribute in config.selectedBillingAddress.attributes" config="config" attributes="config.selectedBillingAddress.attributes" attribute="attribute" show-label="showLabels" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2></div><div class="clearfix"></div></div></div></div><div ng-if="addressLayout === \'two\'"><div ng-show="(showInvoiceOption && config.showInvoiceCheckStatus) || !showInvoiceOption"><div class="billing-address profile-section" ng-show="config.requiresBilling || showBilling"><div class="profile-section-title">{{\'ev.widgets.productProfile.address.billingAddressTitle\' | translate}}<div ng-show="config.requiresDelivery && !useBillingOption" class="use-delivery-address element-responsive-simple"><label for="use_delivery_address"><input id="use_delivery_address" ng-model="config.useDeliveryAddress" type="checkbox"> {{\'ev.widgets.productProfile.address.useDeliveryAddress\' | translate}}</label></div></div><div ng-hide="config.useDeliveryAddress"><ev-attribute-v2 attr-id-prefix="\'billing-address-\'" ng-repeat="attribute in config.selectedBillingAddress.attributes" config="config" attributes="config.selectedBillingAddress.attributes" attribute="attribute" show-label="showLabels" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2><div ng-hide="!loggedIn || loggedIn" class="select-address form-group"><label for="select_address_options">{{\'ev.widgets.productProfile.selectAddress.label\' | translate}}</label><div class="selectedBillingAddressContainer selectDots" data-content=""><select id="select_address_options" class="form-control" ng-change="changeSelectedBillingAddress()" ng-model="config.selectedBillingAddress" ng-options="group as addressAttributes[group.displayName] for group in populatedAddresses track by group.name" ng-class="{\'ev-invalid\': !config.selectedBillingAddress && showMandatory}"></select></div></div><div ng-hide="!populatedAddresses || loggedIn && populatedAddresses.length == 0"><button type="button" aria-label="{{\'ev.widgets.productProfile.ariaLabels.addNewBillingAddress\' | translate}}" class="btn btn-primary element-responsive" ng-disabled="allAddressesUsedStatus" ng-click="newAddress(\'billing\')">{{\'ev.widgets.productProfile.address.newAddress\' | translate}}</button></div></div><div class="clearfix"></div></div></div></div>'),e.put("pm-v2/product-profile-fragments/customercare-tax-validation-reenter-continue.html",'<div style="padding: 30px"><div class="modal-body"><h4>
35{{\'ev.widgets.taxChecker.error.invalid_tax_id\' | translate}}</h4><h4>{{\'ev.widgets.taxChecker.text.reenter_or_continue_with_invalid_tax_id\' | translate}}</h4></div><div class="modal-footer"><button type="button" class="btn btn-danger btn-manage-purchase-danger" style="margin-right: 10px;" ng-click="setContinueWithInvalidTaxId(true)"><b>{{ \'ev.widgets.taxChecker.text.continue_with_invalid_tax_id\' | translate }}</b></button> <button type="button" class="btn btn-default commonBtn" ng-click="cancel()"><b>{{ \'ev.widgets.taxChecker.text.reenter_taxid_button\' | translate }}</b></button> <button type="button" class="btn btn-default commonBtn" ng-click="cancel()"><b>{{ \'ev.widgets.errors.close\' | translate }}</b></button></div></div>'),e.put("pm-v2/product-profile-fragments/delivery-address.html",'<div ng-if="addressLayout === \'one\'"><div class="delivery-address profile-section" ng-show="config.requiresDelivery || showDelivery"><div class="profile-section-title">{{\'ev.widgets.productProfile.address.deliveryAddressTitle\' | translate}}<div ng-show="config.requiresBilling && useBillingOption" class="use-billing-address element-responsive-simple"><label for="use_billing_address"><input id="use_billing_address" ng-model="config.useBillingAddress" type="checkbox"> {{\'ev.widgets.productProfile.address.useBillingAddress\' | translate}}</label></div></div><div ng-hide="config.useBillingAddress"><div ng-if="loggedIn" class="select-address form-group"><label for="select_delivery_address_options">{{\'ev.widgets.productProfile.selectDeliveryAddress.label\' | translate}}</label><div class="selectedDeliveryAddressContainer selectDots" data-content=""><select id="select_delivery_address_options" class="form-control" ng-change="changeSelectedDeliveryAddress()" ng-model="config.selectedDeliveryAddress" ng-options="group as addressAttributes[group.displayName] for group in populatedAddresses track by group.name" ng-class="{\'ev-invalid\': !config.selectedDeliveryAddress && showMandatory && config.requiresDelivery}"></select></div><button type="button" aria-label="{{\'ev.widgets.productProfile.ariaLabels.addNewDeliveryAddress\' | translate}}" class="btn btn-primary element-responsive" ng-disabled="allAddressesUsedStatus" ng-click="newAddress(\'delivery\')">{{\'ev.widgets.productProfile.address.newAddress\' | translate}}</button></div><ev-attribute-v2 attr-id-prefix="\'delivery-address-\'" ng-repeat="attribute in config.selectedDeliveryAddress.attributes" attributes="config.selectedDeliveryAddress.attributes" attribute="attribute" show-label="showLabels" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory && config.requiresDelivery" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2></div><div class="clearfix"></div></div></div><div ng-if="addressLayout === \'two\'"><div class="delivery-address profile-section" ng-show="config.requiresDelivery || showDelivery"><div class="profile-section-title">{{\'ev.widgets.productProfile.address.deliveryAddressTitle\' | translate}}<div ng-show="config.requiresBilling && useBillingOption" class="use-billing-address element-responsive-simple"><label for="use_billing_address"><input id="use_billing_address" ng-model="config.useBillingAddress" type="checkbox"> {{\'ev.widgets.productProfile.address.useBillingAddress\' | translate}}</label></div></div><div ng-hide="config.useBillingAddress"><ev-attribute-v2 attr-id-prefix="\'delivery-address-\'" ng-repeat="attribute in config.selectedDeliveryAddress.attributes" test="test" attributes="config.selectedBillingAddress.attributes" attribute="attribute" show-label="showLabels" sort-country="sortCountry" address-attributes-suffix="{{addressAttributesSuffix}}" show-mandatory="showMandatory && config.requiresDelivery" hidden-attributes="{{hiddenAttributes}}"></ev-attribute-v2><div ng-hide="!loggedIn || loggedIn" class="select-address form-group"><label for="select_delivery_address_options">{{\'ev.widgets.productProfile.selectDeliveryAddress.label\' | translate}}</label><div class="selectedDeliveryAddressContainer selectDots" data-content=""><select id="select_delivery_address_options" class="form-control" ng-change="changeSelectedDeliveryAddress()" ng-model="config.selectedDeliveryAddress" ng-options="group as addressAttributes[group.displayName] for group in populatedAddresses track by group.name" ng-class="{\'ev-invalid\': !config.selectedDeliveryAddress && showMandatory && config.requiresDelivery}"></select></div></div><div ng-hide="!populatedAddresses || loggedIn && populatedAddresses.length == 0"><button type="button" aria-label="{{\'ev.widgets.productProfile.ariaLabels.addNewDeliveryAddress\' | translate}}" class="btn btn-primary element-responsive" ng-disabled="allAddressesUsedStatus" ng-click="newAddress(\'delivery\')">{{\'ev.widgets.productProfile.address.newAddress\' | translate}}</button></div></div><div class="clearfix"></div></div></div>')}]),Object.create||(Object.create=function(){function e(){}return function(t){if(1!=arguments.length)throw new Error("Object.create implementation only accepts one parameter.");return e.prototype=t,new e}}()),Object.keys||(Object.keys=function(e,t,n){n=[];for(t in e)n.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.indexOf||(Array.prototype.indexOf=function(e){for(var t=0;t<this.length;t++)if(this[t]===e)return t;return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var i=arguments.length>=2?arguments[1]:void 0,r=0;r<n;r++)r in t&&e.call(i,t[r],r,t);return this}),Array.prototype.filter||(Array.prototype.filter=function(e,t){var n=[];return this.forEach(function(i,r,a){e.call(t||void 0,i,r,a)&&n.push(i)}),n}),Array.prototype.map||(Array.prototype.map=function(e,t){var n=[];return this.forEach(function(i,r,a){n.push(e.call(t||void 0,i,r,a))}),n}),Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),"object"!=typeof window||"object"!=typeof window.location||window.location.assign||(window.location.assign=function(e){window.location=e}),Function.prototype.bind||(Function.prototype.bind=function(e){function t(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
35var n=[].slice,i=n.call(arguments,1),r=this,a=function(){return r.apply(this instanceof t?this:e||window,i.concat(n.call(arguments)))};return t.prototype=this.prototype,a.prototype=new t,a});var z=function(e){return z.use(e)};z.utils={extend:function(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(Array.isArray(e)&&Array.isArray(t))Array.prototype.push.apply(e,t);else if(e instanceof Object&&t instanceof Object&&e!==t)for(var n in t)e[n]=z.utils.extend(e[n],t[n]);else Array.isArray(t)&&(t=t.slice(0)),e=t}),e}},z.utils.extend(z,{settings:{redirect_uri:window.location.href.split("#")[0],response_type:"token",display:"popup",state:"",oauth_proxy:"https://auth-server.herokuapp.com/proxy",timeout:2e4,popup:{resizable:1,scrollbars:1,width:500,height:550},scope:["basic"],scope_map:{basic:""},default_service:null,force:null,page_uri:window.location.href},services:{},use:function(e){var t=Object.create(this);return t.settings=Object.create(this.settings),e&&(t.settings.default_service=e),t.utils.Event.call(t),t},init:function(e,t){var n=this.utils;if(!e)return this.services;for(var i in e)e.hasOwnProperty(i)&&"object"!=typeof e[i]&&(e[i]={id:e[i]});return n.extend(this.services,e),t&&(n.extend(this.settings,t),"redirect_uri"in t&&(this.settings.redirect_uri=n.url(t.redirect_uri).href)),this},login:function(){function e(e,t){z.emit(e,t)}function t(e){return e}function n(e){return!!e}var i,r=this,a=r.utils,o=a.error,s=a.Promise(),l=a.args({network:"s",options:"o",callback:"f"},arguments),c=a.diffKey(l.options,r.settings),d=l.options=a.merge(r.settings,l.options||{});if(d.popup=a.merge(r.settings.popup,l.options.popup||{}),l.network=l.network||r.settings.default_service,s.proxy.then(l.callback,l.callback),s.proxy.then(e.bind(this,"auth.login auth"),e.bind(this,"auth.failed auth")),"string"!=typeof l.network||!(l.network in r.services))return s.reject(o("invalid_network","The provided network was not recognized"));var u=r.services[l.network],p=a.globalEvent(function(e){var t;"string"==typeof e?(t=JSON.parse(e),console.log("testme")):t="object"==typeof e&&null!==e?e:o("cancelled","The authentication was not completed"),t.error?s.reject(t):(a.store(t.network,t),s.fulfill({network:t.network,authResponse:t}))}),g=a.url(d.redirect_uri).href,f=u.oauth.response_type||d.response_type;/\bcode\b/.test(f)&&!u.oauth.grant&&(f=f.replace(/\bcode\b/,"token")),l.qs=a.merge(c,{client_id:encodeURIComponent(u.id),response_type:encodeURIComponent(f),redirect_uri:encodeURIComponent(g),display:d.display,state:{client_id:u.id,network:l.network,display:d.display,callback:p,state:d.state,redirect_uri:g}});var m=a.store(l.network),h=/[,\s]+/,v=r.settings.scope?[r.settings.scope.toString()]:[],E=a.merge(r.settings.scope_map,u.scope||{});if(d.scope&&v.push(d.scope.toString()),m&&"scope"in m&&m.scope instanceof String&&v.push(m.scope),v=v.join(",").split(h),v=a.unique(v).filter(n),l.qs.state.scope=v.join(","),v=v.map(function(e){return e in E?E[e]:e}),v=v.join(",").split(h),v=a.unique(v).filter(n),l.qs.scope=v.join(u.scope_delim||","),d.force===!1&&m&&"access_token"in m&&m.access_token&&"expires"in m&&m.expires>(new Date).getTime()/1e3){var b=a.diff((m.scope||"").split(h),(l.qs.state.scope||"").split(h));if(0===b.length)return s.fulfill({unchanged:!0,network:l.network,authResponse:m}),s}if("page"===d.display&&d.page_uri&&(l.qs.state.page_uri=a.url(d.page_uri).href),"login"in u&&"function"==typeof u.login&&u.login(l),(!/\btoken\b/.test(f)||parseInt(u.oauth.version,10)<2||"none"===d.display&&u.oauth.grant&&m&&m.refresh_token)&&(l.qs.state.oauth=u.oauth,l.qs.state.oauth_proxy=d.oauth_proxy),l.qs.state=encodeURIComponent(JSON.stringify(l.qs.state)),1===parseInt(u.oauth.version,10)?i=a.qs(d.oauth_proxy,l.qs,t):"none"===d.display&&u.oauth.grant&&m&&m.refresh_token?(l.qs.refresh_token=m.refresh_token,i=a.qs(d.oauth_proxy,l.qs,t)):i=a.qs(u.oauth.auth,l.qs,t),e("auth.init",l),"none"===d.display)a.iframe(i,g);else if("popup"===d.display){var y=a.popup(i,g,d.popup);setTimeout(function(){var e=setInterval(function(){if((!y||y.closed)&&(clearInterval(e),!s.state&&!callbackTriggered)){var t;t=y?o("cancelled","Login has been cancelled"):o("blocked","Popup was blocked"),t.network=l.network,s.reject(t)}},300)},1e3)}else window.location=i;return s.proxy},logout:function(){function e(e,t){z.emit(e,t)}var t=this,n=t.utils,i=n.error,r=n.Promise(),a=n.args({name:"s",options:"o",callback:"f"},arguments);if(a.options=a.options||{},r.proxy.then(a.callback,a.callback),r.proxy.then(e.bind(this,"auth.logout auth"),e.bind(this,"error")),a.name=a.name||this.settings.default_service,a.authResponse=n.store(a.name),!a.name||a.name in t.services)if(a.name&&a.authResponse){var o=function(e){n.store(a.name,null),r.fulfill(z.utils.merge({network:a.name},e||{}))},s={};if(a.options.force){var l=t.services[a.name].logout;if(l)if("function"==typeof l&&(l=l(o,a)),"string"==typeof l)n.iframe(l),s.force=null,s.message="Logout success on providers site was indeterminate";else if(void 0===l)return r.proxy}o(s)}else r.reject(i("invalid_session","There was no session to remove"));else r.reject(i("invalid_network","The network was unrecognized"));return r.proxy},getAuthResponse:function(e){return e=e||this.settings.default_service,e&&e in this.services?this.utils.store(e)||null:null},events:{}}),z.utils.extend(z.utils,{error:function(e,t){return{error:{code:e,message:t}}},qs:function(e,t,n){if(t){n=n||encodeURIComponent;for(var i in t){var r="([\\?\\&])"+i+"=[^\\&]*",a=new RegExp(r);e.match(a)&&(e=e.replace(a,"$1"+i+"="+n(t[i])),delete t[i])}}return this.isEmpty(t)?e:e+(e.indexOf("?")>-1?"&":"?")+this.param(t,n)},param:function(e,t){var n,i,r={};if("string"==typeof e){if(t=t||decodeURIComponent,i=e.replace(/^[\#\?]/,"").match(/([^=\/\&]+)=([^\&]+)/g))for(var a=0;a<i.length;a++)n=i[a].match(/([^=]+)=(.*)/),r[n[1]]=t(n[2]);return r}t=t||encodeURIComponent;var o=e;r=[];for(var s in o)o.hasOwnProperty(s)&&o.hasOwnProperty(s)&&r.push([s,"?"===o[s]?"?":t(o[s])].join("="));return r.join("&")},store:function(){function e(){var e={};try{e=JSON.parse(n.getItem("hello"))||{}}catch(t){}return e}function t(e){n.setItem("hello",JSON.stringify(e))}for(var n,i=["localStorage","sessionStorage"],r=-1,a="test";i[++r];)try{n=window[i[r]],n.setItem(a+r,r),n.removeItem(a+r);break}catch(o){n=null}if(!n){var s=null;n={getItem:function(e){e+="=";for(var t=document.cookie.split(";"),n=0;n<t.length;n++){var i=t[n].replace(/(^\s+|\s+$)/,"");if(i&&0===i.indexOf(e))return i.substr(e.length)}return s},setItem:function(e,t){s=t,document.cookie=e+"="+t}},s=n.getItem("hello")}return function(n,i,r){var a=e();if(n&&void 0===i)return a[n]||null;if(n&&null===i)try{delete a[n]}catch(o){a[n]=null}else{if(!n)return a;a[n]=i}return t(a),a||null}}(),append:function(e,t,n){var i="string"==typeof e?document.createElement(e):e;if("object"==typeof t)if("tagName"in t)n=t;else for(var r in t)if(t.hasOwnProperty(r))if("object"==typeof t[r])for(var a in t[r])t[r].hasOwnProperty(a)&&(i[r][a]=t[r][a]);else"html"===r?i.innerHTML=t[r]:/^on/.test(r)?i[r]=t[r]:i.setAttribute(r,t[r]);return"body"===n?!function o(){document.body?document.body.appendChild(i):setTimeout(o,16)}():"object"==typeof n?n.appendChild(i):"string"==typeof n&&document.getElementsByTagName(n)[0].appendChild(i),i},iframe:function(e){this.append("iframe",{src:e,style:{position:"absolute",left:"-1000px",bottom:0,height:"1px",width:"1px"}},"body")},merge:function(){var e=Array.prototype.slice.call(arguments);return e.unshift({}),this.extend.apply(null,e)},args:function(e,t){var n={},i=0,r=null,a=null;for(a in e)if(e.hasOwnProperty(a))break;if(1===t.length&&"object"==typeof t[0]&&"o!"!=e[a])for(a in t[0])if(e.hasOwnProperty(a)&&a in e)return t[0];for(a in e)if(e.hasOwnProperty(a))if(r=typeof t[i],"function"==typeof e[a]&&e[a].test(t[i])||"string"==typeof e[a]&&(e[a].indexOf("s")>-1&&"string"===r||e[a].indexOf("o")>-1&&"object"===r||e[a].indexOf("i")>-1&&"number"===r||e[a].indexOf("a")>-1&&"object"===r||e[a].indexOf("f")>-1&&"function"===r))n[a]=t[i++];else if("string"==typeof e[a]&&e[a].indexOf("!")>-1)return!1;return n},url:function(e){if(e){if(window.URL&&URL instanceof Function&&0!==URL.length)return new URL(e,window.location);var t=document.createElement("a");return t.href=e,t.cloneNode(!1)}return window.location},diff:function(e,t){return t.filter(function(t){return e.indexOf(t)===-1})},diffKey:function(e,t){if(e||!t){var n={};for(var i in e)i in t||(n[i]=e[i]);return n}return e},unique:function(e){return Array.isArray(e)?e.filter(function(t,n){return e.indexOf(t)===n}):[]},isEmpty:function(e){if(!e)return!0;
35if(Array.isArray(e))return!e.length;if("object"==typeof e)for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},Promise:function(){var e=0,t=1,n=2,i=function(t){return this instanceof i?(this.id="Thenable/1.0.6",this.state=e,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},void("function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this)))):new i(t)};i.prototype={fulfill:function(e){return r(this,t,"fulfillValue",e)},reject:function(e){return r(this,n,"rejectReason",e)},then:function(e,t){var n=this,r=new i;return n.onFulfilled.push(s(e,r,"fulfill")),n.onRejected.push(s(t,r,"reject")),a(n),r.proxy}};var r=function(t,n,i,r){return t.state===e&&(t.state=n,t[i]=r,a(t)),t},a=function(e){e.state===t?o(e,"onFulfilled",e.fulfillValue):e.state===n&&o(e,"onRejected",e.rejectReason)},o=function(e,t,n){if(0!==e[t].length){var i=e[t];e[t]=[];var r=function(){for(var e=0;e<i.length;e++)i[e](n)};"object"==typeof process&&"function"==typeof process.nextTick?process.nextTick(r):"function"==typeof setImmediate?setImmediate(r):setTimeout(r,0)}},s=function(e,t,n){return function(i){if("function"!=typeof e)t[n].call(t,i);else{var r;try{r=e(i)}catch(a){return void t.reject(a)}l(t,r)}}},l=function(e,t){if(e===t||e.proxy===t)return void e.reject(new TypeError("cannot resolve promise with itself"));var n;if("object"==typeof t&&null!==t||"function"==typeof t)try{n=t.then}catch(i){return void e.reject(i)}if("function"!=typeof n)e.fulfill(t);else{var r=!1;try{n.call(t,function(n){r||(r=!0,n===t?e.reject(new TypeError("circular thenable chain")):l(e,n))},function(t){r||(r=!0,e.reject(t))})}catch(i){r||e.reject(i)}}};return i}(),Event:function(){var e=/[\s\,]+/;return this.parent={events:this.events,findEvents:this.findEvents,parent:this.parent,utils:this.utils},this.events={},this.on=function(t,n){if(n&&"function"==typeof n)for(var i=t.split(e),r=0;r<i.length;r++)this.events[i[r]]=[n].concat(this.events[i[r]]||[]);return this},this.off=function(e,t){return this.findEvents(e,function(e,n){t&&this.events[e][n]!==t||(this.events[e][n]=null)}),this},this.emit=function(e){var t=Array.prototype.slice.call(arguments,1);t.push(e);for(var n=function(n,i){t[t.length-1]="*"===n?e:n,this.events[n][i].apply(this,t)},i=this;i&&i.findEvents;)i.findEvents(e+",*",n),i=i.parent;return this},this.emitAfter=function(){var e=this,t=arguments;return setTimeout(function(){e.emit.apply(e,t)},0),this},this.findEvents=function(t,n){var i=t.split(e);for(var r in this.events)if(this.events.hasOwnProperty(r)&&i.indexOf(r)>-1)for(var a=0;a<this.events[r].length;a++)this.events[r][a]&&n.call(this,r,a)},this},globalEvent:function(e,t){return t=t||"_hellojs_"+parseInt(1e12*Math.random(),10).toString(36),window[t]=function(){try{e.apply(this,arguments)&&delete window[t]}catch(n){console.error(n)}},t},popup:function(e,t,n){var i=document.documentElement;if(n.height){var r=void 0!==window.screenTop?window.screenTop:screen.top,a=screen.height||window.innerHeight||i.clientHeight;n.top=parseInt((a-n.height)/2,10)+r}if(n.width){var o=void 0!==window.screenLeft?window.screenLeft:screen.left,s=screen.width||window.innerWidth||i.clientWidth;n.left=parseInt((s-n.width)/2,10)+o}var l=[];Object.keys(n).forEach(function(e){var t=n[e];l.push(e+(null!==t?"="+t:""))}),navigator.userAgent.indexOf("Safari")!==-1&&navigator.userAgent.indexOf("Chrome")===-1&&(e=t+"#oauth_redirect="+encodeURIComponent(encodeURIComponent(e)));var c=window.open(e,"_blank",l.join(","));return c&&c.focus&&c.focus(),c},responseHandler:function(e,t){function n(e,t,n){var r=e.callback,o=e.network;if(a.store(o,e),!("display"in e&&"page"===e.display)){if(n&&r&&r in n){try{delete e.callback}catch(s){}a.store(o,e);var l=JSON.stringify(e);try{n[r](l)}catch(s){}}i()}}function i(){if(e.frameElement)t.document.body.removeChild(e.frameElement);else{try{e.close()}catch(n){}e.addEventListener&&e.addEventListener("load",function(){e.close()})}}var r,a=this,o=e.location;if(r=a.param(o.search),r&&r.state&&(r.code||r.oauth_token)){var s=JSON.parse(r.state);r.redirect_uri=s.redirect_uri||o.href.replace(/[\?\#].*$/,"");var l=s.oauth_proxy+"?"+a.param(r);return void o.assign(l)}if(r=a.merge(a.param(o.search||""),a.param(o.hash||"")),r&&"state"in r){try{var c=JSON.parse(r.state);a.extend(r,c)}catch(d){console.error("Could not decode state parameter")}if("access_token"in r&&r.access_token&&r.network)r.expires_in&&0!==parseInt(r.expires_in,10)||(r.expires_in=0),r.expires_in=parseInt(r.expires_in,10),r.expires=(new Date).getTime()/1e3+(r.expires_in||31536e3),n(r,e,t);else if("error"in r&&r.error&&r.network)r.error={code:r.error,message:r.error_message||r.error_description},n(r,e,t);else if(r.callback&&r.callback in t){var u=!!("result"in r&&r.result)&&JSON.parse(r.result);t[r.callback](u),i()}r.page_uri&&o.assign(r.page_uri)}else if("oauth_redirect"in r)return void o.assign(decodeURIComponent(r.oauth_redirect))}}),z.utils.Event.call(z),function(e){var t={},n={};e.on("auth.login, auth.logout",function(n){n&&"object"==typeof n&&n.network&&(t[n.network]=e.utils.store(n.network)||{})}),function i(){var r=(new Date).getTime()/1e3,a=function(t){e.emit("auth."+t,{network:o,authResponse:s})};for(var o in e.services)if(e.services.hasOwnProperty(o)){if(!e.services[o].id)continue;var s=e.utils.store(o)||{},l=e.services[o],c=t[o]||{};if(s&&"callback"in s){var d=s.callback;try{delete s.callback}catch(u){}e.utils.store(o,s);try{window[d](s)}catch(u){}}if(s&&"expires"in s&&s.expires<r){var p=l.refresh||s.refresh_token;!p||o in n&&!(n[o]<r)?p||o in n||(a("expired"),n[o]=!0):(e.emit("notice",o+" has expired trying to resignin"),e.login(o,{display:"none",force:!1}),n[o]=r+600);continue}if(c.access_token===s.access_token&&c.expires===s.expires)continue;!s.access_token&&c.access_token?a("logout"):s.access_token&&!c.access_token?a("login"):s.expires!==c.expires&&a("update"),t[o]=s,o in n&&delete n[o]}setTimeout(i,1e3)}()}(z),z.api=function(){function e(e){e=e.replace(/\@\{([a-z\_\-]+)(\|.*?)?\}/gi,function(e,t,n){var o=n?n.replace(/^\|/,""):"";return t in a.query?(o=a.query[t],delete a.query[t]):a.data&&t in a.data?(o=a.data[t],delete a.data[t]):n||r.reject(i("missing_attribute","The attribute "+t+" is missing from the request")),o}),e.match(/^https?:\/\//)||(e=c.base+e),a.url=e,n.request(a,function(e,t){if(!a.formatResponse)return void(("object"==typeof t?t.statusCode>=400:"object"==typeof e&&"error"in e)?r.reject(e):r.fulfill(e));if(e===!0?e={success:!0}:e||(e={}),"delete"===a.method&&(e=!e||n.isEmpty(e)?{success:!0}:e),c.wrap&&(a.path in c.wrap||"default"in c.wrap)){var i=a.path in c.wrap?a.path:"default",o=((new Date).getTime(),c.wrap[i](e,t,a));o&&(e=o)}e&&"paging"in e&&e.paging.next&&("?"===e.paging.next[0]?e.paging.next=a.path+e.paging.next:e.paging.next+="#"+a.path),!e||"error"in e?r.reject(e):r.fulfill(e)})}var t=this,n=t.utils,i=n.error,r=n.Promise(),a=n.args({path:"s!",query:"o",method:"s",data:"o",timeout:"i",callback:"f"},arguments);a.method=(a.method||"get").toLowerCase(),a.headers=a.headers||{},a.query=a.query||{},"get"!==a.method&&"delete"!==a.method||(n.extend(a.query,a.data),a.data={});var o=a.data=a.data||{};if(r.then(a.callback,a.callback),!a.path)return r.reject(i("invalid_path","Missing the path parameter from the request"));a.path=a.path.replace(/^\/+/,"");var s=(a.path.split(/[\/\:]/,2)||[])[0].toLowerCase();if(s in t.services){a.network=s;var l=new RegExp("^"+s+":?/?");a.path=a.path.replace(l,"")}a.network=t.settings.default_service=a.network||t.settings.default_service;var c=t.services[a.network];if(!c)return r.reject(i("invalid_network","Could not match the service requested: "+a.network));if(a.method in c&&a.path in c[a.method]&&c[a.method][a.path]===!1)return r.reject(i("invalid_path","The provided path is not available on the selected network"));a.oauth_proxy||(a.oauth_proxy=t.settings.oauth_proxy),"proxy"in a||(a.proxy=a.oauth_proxy&&c.oauth&&1===parseInt(c.oauth.version,10)),"timeout"in a||(a.timeout=t.settings.timeout),"formatResponse"in a||(a.formatResponse=!0),a.authResponse=t.getAuthResponse(a.network),a.authResponse&&a.authResponse.access_token&&(a.query.access_token=a.authResponse.access_token);var d,u=a.path;
35a.options=n.clone(a.query),a.data=n.clone(o);var p=c[{"delete":"del"}[a.method]||a.method]||{};if("get"===a.method){var g=u.split(/[\?#]/)[1];g&&(n.extend(a.query,n.param(g)),u=u.replace(/\?.*?(#|$)/,"$1"))}return(d=u.match(/#(.+)/,""))?(u=u.split("#")[0],a.path=d[1]):u in p?(a.path=u,u=p[u]):"default"in p&&(u=p["default"]),a.redirect_uri=t.settings.redirect_uri,a.xhr=c.xhr,a.jsonp=c.jsonp,a.form=c.form,"function"==typeof u?u(a,e):e(u),r.proxy},z.utils.extend(z.utils,{request:function(e,t){function n(e,t){var n;e.authResponse&&e.authResponse.oauth&&1===parseInt(e.authResponse.oauth.version,10)&&(n=e.query.access_token,delete e.query.access_token,e.proxy=!0),!e.data||"get"!==e.method&&"delete"!==e.method||(i.extend(e.query,e.data),e.data=null);var r=i.qs(e.url,e.query);e.proxy&&(r=i.qs(e.oauth_proxy,{path:r,access_token:n||"",then:e.proxy_response_type||("get"===e.method.toLowerCase()?"redirect":"proxy"),method:e.method.toLowerCase(),suppress_response_codes:!0})),t(r)}var i=this,r=i.error;i.isEmpty(e.data)||"FileList"in window||!i.hasBinary(e.data)||(e.xhr=!1,e.jsonp=!1);var a=this.request_cors(function(){return void 0===e.xhr||e.xhr&&("function"!=typeof e.xhr||e.xhr(e,e.query))});if(a)return void n(e,function(n){var r=i.xhr(e.method,n,e.headers,e.data,t); 36r.onprogress=e.onprogress||null,r.upload&&e.onuploadprogress&&(r.upload.onprogress=e.onuploadprogress)});var o=e.query;if(e.query=i.clone(e.query),e.callbackID=i.globalEvent(),e.jsonp!==!1){if(e.query.callback=e.callbackID,"function"==typeof e.jsonp&&e.jsonp(e,e.query),"get"===e.method)return void n(e,function(n){i.jsonp(n,t,e.callbackID,e.timeout)});e.query=o}if(e.form!==!1){e.query.redirect_uri=e.redirect_uri,e.query.state=JSON.stringify({callback:e.callbackID});var s;if("function"==typeof e.form&&(s=e.form(e,e.query)),"post"===e.method&&s!==!1)return void n(e,function(n){i.post(n,e.data,s,t,e.callbackID,e.timeout)})}t(r("invalid_request","There was no mechanism for handling this request"))},request_cors:function(e){return"withCredentials"in new XMLHttpRequest&&e()},domInstance:function(e,t){var n="HTML"+(e||"").replace(/^[a-z]/,function(e){return e.toUpperCase()})+"Element";return!!t&&(window[n]?t instanceof window[n]:window.Element?t instanceof window.Element&&(!e||t.tagName&&t.tagName.toLowerCase()===e):!(t instanceof Object||t instanceof Array||t instanceof String||t instanceof Number)&&t.tagName&&t.tagName.toLowerCase()===e)},clone:function(e){if(null===e||"object"!=typeof e||e instanceof Date||"nodeName"in e||this.isBinary(e)||"function"==typeof FormData&&e instanceof FormData)return e;if(Array.isArray(e))return e.map(this.clone.bind(this));var t={};for(var n in e)t[n]=this.clone(e[n]);return t},xhr:function(e,t,n,i,r){function a(e){for(var t,n={},i=/([a-z\-]+):\s?(.*);?/gi;t=i.exec(e);)n[t[1]]=t[2];return n}var o=new XMLHttpRequest;o.withCredentials=!0;var s=this.error,l=!1;"blob"===e&&(l=e,e="GET"),e=e.toUpperCase(),o.onload=function(t){var n=o.response;try{n=JSON.parse(o.responseText)}catch(i){401===o.status&&(n=s("access_denied",o.statusText))}var l=a(o.getAllResponseHeaders());l.statusCode=o.status,r(n||("GET"===e?s("empty_response","Could not get resource"):{}),l)},o.onerror=function(e){var t=o.responseText;try{t=JSON.parse(o.responseText)}catch(n){}r(t||s("access_denied","Could not get resource"))};var c;if("GET"===e||"DELETE"===e)i=null;else if(i&&"string"!=typeof i&&!(i instanceof FormData)&&!(i instanceof File)&&!(i instanceof Blob)){var d=new FormData;for(c in i)i.hasOwnProperty(c)&&(i[c]instanceof HTMLInputElement?"files"in i[c]&&i[c].files.length>0&&d.append(c,i[c].files[0]):i[c]instanceof Blob?d.append(c,i[c],i.name):d.append(c,i[c]));i=d}if(o.open(e,t,!0),l&&("responseType"in o?o.responseType=l:o.overrideMimeType("text/plain; charset=x-user-defined")),n)for(c in n)o.setRequestHeader(c,n[c]);return o.send(i),o},jsonp:function(e,t,n,i){var r,a=this,o=a.error,s=0,l=document.getElementsByTagName("head")[0],c=o("server_error","server_error"),d=function(){s++||window.setTimeout(function(){t(c),l.removeChild(u)},0)};n=a.globalEvent(function(e){return c=e,!0},n),e=e.replace(new RegExp("=\\?(&|$)"),"="+n+"$1");var u=a.append("script",{id:n,name:n,src:e,async:!0,onload:d,onerror:d,onreadystatechange:function(){/loaded|complete/i.test(this.readyState)&&d()}});window.navigator.userAgent.toLowerCase().indexOf("opera")>-1&&(r=a.append("script",{text:"document.getElementById('"+n+"').onerror
36();"}),u.async=!1),i&&window.setTimeout(function(){c=o("timeout","timeout"),d()},i),l.appendChild(u),r&&l.appendChild(r)},post:function(e,t,n,i,r,a){var o,s=this,l=s.error,c=document,d=null,u=[],p=0,g=null,f=0,m=function(e){f++||i(e)};s.globalEvent(m,r);var h;try{h=c.createElement('<iframe name="'+r+'">')}catch(v){h=c.createElement("iframe")}if(h.name=r,h.id=r,h.style.display="none",n&&n.callbackonload&&(h.onload=function(){m({response:"posted",message:"Content was posted"})}),a&&setTimeout(function(){m(l("timeout","The post operation timed out"))},a),c.body.appendChild(h),s.domInstance("form",t)){for(d=t.form,p=0;p<d.elements.length;p++)d.elements[p]!==t&&d.elements[p].setAttribute("disabled",!0);t=d}if(s.domInstance("form",t))for(d=t,p=0;p<d.elements.length;p++)d.elements[p].disabled||"file"!==d.elements[p].type||(d.encoding=d.enctype="multipart/form-data",d.elements[p].setAttribute("name","file"));else{for(g in t)t.hasOwnProperty(g)&&s.domInstance("input",t[g])&&"file"===t[g].type&&(d=t[g].form,d.encoding=d.enctype="multipart/form-data");d||(d=c.createElement("form"),c.body.appendChild(d),o=d);var E;for(g in t)if(t.hasOwnProperty(g)){var b=s.domInstance("input",t[g])||s.domInstance("textArea",t[g])||s.domInstance("select",t[g]);if(b&&t[g].form===d)b&&t[g].name!==g&&(t[g].setAttribute("name",g),t[g].name=g);else{var y=d.elements[g];if(E)for(y instanceof NodeList||(y=[y]),p=0;p<y.length;p++)y[p].parentNode.removeChild(y[p]);E=c.createElement("input"),E.setAttribute("type","hidden"),E.setAttribute("name",g),b?E.value=t[g].value:s.domInstance(null,t[g])?E.value=t[g].innerHTML||t[g].innerText:E.value=t[g],d.appendChild(E)}}for(p=0;p<d.elements.length;p++)E=d.elements[p],E.name in t||E.getAttribute("disabled")===!0||(E.setAttribute("disabled",!0),u.push(E))}d.setAttribute("method","POST"),d.setAttribute("target",r),d.target=r,d.setAttribute("action",e),setTimeout(function(){d.submit(),setTimeout(function(){try{o&&o.parentNode.removeChild(o)}catch(e){try{console.error("HelloJS: could not remove iframe")}catch(t){}}for(var n=0;n<u.length;n++)u[n]&&(u[n].setAttribute("disabled",!1),u[n].disabled=!1)},0)},100)},hasBinary:function(e){for(var t in e)if(e.hasOwnProperty(t)&&this.isBinary(e[t]))return!0;return!1},isBinary:function(e){return e instanceof Object&&(this.domInstance("input",e)&&"file"===e.type||"FileList"in window&&e instanceof window.FileList||"File"in window&&e instanceof window.File||"Blob"in window&&e instanceof window.Blob)},toBlob:function(e){var t=/^data\:([^;,]+(\;charset=[^;,]+)?)(\;base64)?,/i,n=e.match(t);if(!n)return e;for(var i=atob(e.replace(t,"")),r=[],a=0;a<i.length;a++)r.push(i.charCodeAt(a));return new Blob([new Uint8Array(r)],{type:n[1]})}}),function(e){var t=e.api,n=e.utils;n.extend(n,{dataToJSON:function(e){var t=this,n=window,i=e.data;if(t.domInstance("form",i)?i=t.nodeListToJSON(i.elements):"NodeList"in n&&i instanceof NodeList?i=t.nodeListToJSON(i):t.domInstance("input",i)&&(i=t.nodeListToJSON([i])),("File"in n&&i instanceof n.File||"Blob"in n&&i instanceof n.Blob||"FileList"in n&&i instanceof n.FileList)&&(i={file:i}),!("FormData"in n&&i instanceof n.FormData))for(var r in i)if(i.hasOwnProperty(r))if("FileList"in n&&i[r]instanceof n.FileList)1===i[r].length&&(i[r]=i[r][0]);else{if(t.domInstance("input",i[r])&&"file"===i[r].type)continue;t.domInstance("input",i[r])||t.domInstance("select",i[r])||t.domInstance("textArea",i[r])?i[r]=i[r].value:t.domInstance(null,i[r])&&(i[r]=i[r].innerHTML||i[r].innerText)}return e.data=i,i},nodeListToJSON:function(e){for(var t={},n=0;n<e.length;n++){var i=e[n];!i.disabled&&i.name&&("file"===i.type?t[i.name]=i:t[i.name]=i.value||i.innerHTML)}return t}}),e.api=function(){var e=n.args({path:"s!",method:"s",data:"o",timeout:"i",callback:"f"},arguments);return e.data&&n.dataToJSON(e),t.call(this,e)}}(z),z.utils.responseHandler(window,window.opener||window.parent),"object"==typeof chrome&&"object"==typeof chrome.identity&&chrome.identity.launchWebAuthFlow&&!function(){function e(t,n){var i={closed:!1};return chrome.identity.launchWebAuthFlow({url:t,interactive:n},function(t){if(void 0===t)return void(i.closed=!0);var n=z.utils.url(t),r={location:{assign:function(t){e(t,!1)},search:n.search,hash:n.hash,href:n.href},close:function(){}};z.utils.responseHandler(r,window)}),i}z.utils.popup=function(t){return e(t,!0)},z.utils.iframe=function(t){e(t,!1)},z.utils.request_cors=function(e){return e(),!0};var t={};chrome.storage.local.get("hello",function(e){t=e.hello||{}}),z.utils.store=function(e,n){return 0===arguments.length?t:1===arguments.length?t[e]||null:n?(t[e]=n,chrome.storage.local.set({hello:t}),n):null===n?(delete t[e],chrome.storage.local.set({hello:t}),null):void 0}}(),function(){if(/^file:\/{3}[^\/]/.test(window.location.href)&&window.cordova){z.utils.iframe=function(e,t){z.utils.popup(e,t,{hidden:"yes"})};var e=z.utils.popup;z.utils.popup=function(t,n,i){var r=e.call(this,t,n,i);try{if(r&&r.addEventListener){var a=z.utils.url(n),o=a.origin||a.protocol+"//"+a.hostname;r.addEventListener("loadstart",function(e){var t=e.url;if(0===t.indexOf(o)){var n=z.utils.url(t),i={location:{assign:function(e){r.executeScript({code:'window.location.href = "'+e+';"'})},search:n.search,hash:n.hash,href:n.href},close:function(){if(r.close){r.close();try{r.closed=!0}catch(e){}}}};z.utils.responseHandler(i,window)}})}}catch(s){}return r}}}(),function(e){function t(e){e&&"error"in e&&(e.error={code:"server_error",message:e.error.message||e.error})}function n(t,n,i){if(!("object"!=typeof t||"undefined"!=typeof Blob&&t instanceof Blob||"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer||"error"in t)){var r=("app_folder"!==t.root?t.root:"")+t.path.replace(/\&/g,"%26");r=r.replace(/^\//,""),t.thumb_exists&&(t.thumbnail=i.oauth_proxy+"?path="+encodeURIComponent("https://api-content.dropbox.com/1/thumbnails/auto/"+r+"?format=jpeg&size=m")+"&access_token="+i.options.access_token),t.type=t.is_dir?"folder":t.mime_type,t.name=t.path.replace(/.*\//g,""),t.is_dir?t.files=r.replace(/^\//,""):(t.downloadLink=e.settings.oauth_proxy+"?path="+encodeURIComponent("https://api-content.dropbox.com/1/files/auto/"+r)+"&access_token="+i.options.access_token,t.file="https://api-content.dropbox.com/1/files/auto/"+r),t.id||(t.id=t.path.replace(/^\//,""))}}function i(e){return function(t,n){delete t.query.limit,n(e)}}var r={version:"1.0",auth:"https://www.dropbox.com/1/oauth/authorize",request:"https://api.dropbox.com/1/oauth/request_token",token:"https://api.dropbox.com/1/oauth/access_token"},a={version:2,auth:"https://www.dropbox.com/1/oauth2/authorize",grant:"https://api.dropbox.com/1/oauth2/token"};e.init({dropbox:{name:"Dropbox",oauth:a,login:function(t){t.qs.scope="",delete t.qs.display;var n=decodeURIComponent(t.qs.redirect_uri);0===n.indexOf("http:")&&0!==n.indexOf("http://localhost/")?e.services.dropbox.oauth=r:e.services.dropbox.oauth=a,t.options.popup.width=1e3,t.options.popup.height=1e3},base:"https://api.dropbox.com/1/",root:"sandbox",get:{me:"account/info","me/files":i("metadata/auto/@{parent|}"),"me/folder":i("metadata/auto/@{id}"),"me/folders":i("metadata/auto/"),"default":function(e,t){e.path.match("https://api-content.dropbox.com/1/files/")&&(e.method="blob"),t(e.path)}},post:{"me/files":function(t,n){var i=t.data.parent,r=t.data.name;t.data={file:t.data.file},"string"==typeof t.data.file&&(t.data.file=e.utils.toBlob(t.data.file)),n("https://api-content.dropbox.com/1/files_put/auto/"+i+"/"+r)},"me/folders":function(t,n){var i=t.data.name;t.data={},n("fileops/create_folder?root=@{root|sandbox}&"+e.utils.param({path:i}))}},del:{"me/files":"fileops/delete?root=@{root|sandbox}&path=@{id}","me/folder":"fileops/delete?root=@{root|sandbox}&path=@{id}"},wrap:{me:function(e){if(t(e),!e.uid)return e;e.name=e.display_name;var n=e.name.split(" ");return e.first_name=n.shift(),e.last_name=n.join(" "),e.id=e.uid,delete e.uid,delete e.display_name,e},"default":function(e,i,r){return t(e),e.is_dir&&e.contents&&(e.data=e.contents,delete e.contents,e.data.forEach(function(t){t.root=e.root,n(t,i,r)})),n(e,i,r),e.is_deleted&&(e.success=!0),e}},xhr:function(e){if(e.data&&e.data.file){var t=e.data.file;t&&(t.files?e.data=t.files[0]:e.data=t)}return"delete"===e.method&&(e.method="post"),!0},form:function(e,t){delete t.state,delete t.redirect_uri}}})}(z),function(e){function t(e){return e.id&&(e.thumbnail=e.picture="https://graph.facebook.com/"+e.id+"/picture"),e}function n(e){return"data"in e&&e.data.forEach(t),e}function i(e,t,n){if("boolean"==typeof e&&(e={success:e}),e&&"data"in e){var i=n.query.access_token;if(!(e.data instanceof Array)){var r=e.data;delete e.data,e.data=[r]}e.data.forEach(function(e){e.picture&&(e.thumbnail=e.picture),e.pictures=(e.images||[]).sort(function(e,t){return e.width-t.width}),e.cover_photo&&e.cover_photo.id&&(e.thumbnail=a+e.cover_photo.id+"/picture?access_token="+i),"album"===e.type&&(e.files=e.photos=a+e.id+"/photos"),e.can_upload&&(e.upload_location=a+e.id+"/photos")})}return e}var r="v3.0";e.init({facebook:{name:"Facebook",oauth:{version:2,auth:"https://www.facebook.com/"+r+"/dialog/oauth/",grant:"https://graph.facebook.com/oauth/access_token"},scope:{basic:"public_profile",email:"email",share:"user_posts",birthday:"user_birthday",age_range:"user_age_range",gender:"user_gender",events:"user_events",photos:"user_photos",videos:"user_videos",friends:"user_friends",files:"user_photos,user_videos",publish_files:"user_photos,user_videos,publish_actions",publish:"publish_actions",offline_access:""},refresh:!0,login:function(e){e.options.force&&(e.qs.auth_type="reauthenticate"),e.options.popup.width=580,e.o
36ptions.popup.height=400},logout:function(t,n){var i=e.utils.globalEvent(t),r=encodeURIComponent(e.settings.redirect_uri+"?"+e.utils.param({callback:i,result:JSON.stringify({force:!0}),state:"{}"})),a=(n.authResponse||{}).access_token;if(e.utils.iframe("https://www.facebook.com/logout.php?next="+r+"&access_token="+a),!a)return!1},base:"https://graph.facebook.com/"+r+"/",get:{me:"me?fields=email,first_name,last_name,name,timezone,verified","me/friends":"me/friends","me/following":"me/friends","me/followers":"me/friends","me/share":"me/feed","me/like":"me/likes","me/files":"me/albums","me/albums":"me/albums?fields=cover_photo,name","me/album":"@{id}/photos?fields=picture","me/photos":"me/photos","me/photo":"@{id}","friend/albums":"@{id}/albums","friend/photos":"@{id}/photos"},post:{"me/share":"me/feed","me/photo":"@{id}"},wrap:{me:t,"me/friends":n,"me/following":n,"me/followers":n,"me/albums":i,"me/photos":i,"me/files":i,"default":i},xhr:function(t,n){return"get"!==t.method&&"post"!==t.method||(n.suppress_response_codes=!0),"post"===t.method&&t.data&&"string"==typeof t.data.file&&(t.data.file=e.utils.toBlob(t.data.file)),!0},jsonp:function(t,n){var i=t.method;"get"===i||e.utils.hasBinary(t.data)?"delete"===t.method&&(n.method="delete",t.method="post"):(t.data.method=i,t.method="get")},form:function(e){return{callbackonload:!0}}}});var a="https://graph.facebook.com/"}(z),function(e){function t(t,n,i){var r=(i?"":"flickr:")+"?method="+t+"&api_key="+e.services.flickr.id+"&format=json";for(var a in n)n.hasOwnProperty(a)&&(r+="&"+a+"="+n[a]);return r}function n(t){var n=e.getAuthResponse("flickr");t(n&&n.user_nsid?n.user_nsid:null)}function i(e,i){return i||(i={}),function(r,a){n(function(n){i.user_id=n,a(t(e,i,!0))})}}function r(e,t){var n="https://www.flickr.com/images/buddyicon.gif";return e.nsid&&e.iconserver&&e.iconfarm&&(n="https://farm"+e.iconfarm+".staticflickr.com/"+e.iconserver+"/buddyicons/"+e.nsid+(t?"_"+t:"")+".jpg"),n}function a(e,t,n,i,r){return r=r?"_"+r:"","https://farm"+t+".staticflickr.com/"+n+"/"+e+"_"+i+r+".jpg"}function o(e){e&&e.stat&&"ok"!=e.stat.toLowerCase()&&(e.error={code:"invalid_request",message:e.message})}function s(e){if(e.photoset||e.photos){var t="photoset"in e?"photoset":"photos";e=c(e,t),u(e),e.data=e.photo,delete e.photo;for(var n=0;n<e.data.length;n++){var i=e.data[n];i.name=i.title,i.picture=a(i.id,i.farm,i.server,i.secret,""),i.pictures=l(i.id,i.farm,i.server,i.secret),i.source=a(i.id,i.farm,i.server,i.secret,"b"),i.thumbnail=a(i.id,i.farm,i.server,i.secret,"m")}}return e}function l(e,t,n,i){var r=2048,o=[{id:"t",max:100},{id:"m",max:240},{id:"n",max:320},{id:"",max:500},{id:"z",max:640},{id:"c",max:800},{id:"b",max:1024},{id:"h",max:1600},{id:"k",max:2048},{id:"o",max:r}];return o.map(function(r){return{source:a(e,t,n,i,r.id),width:r.max,height:r.max}})}function c(e,t){return t in e?e=e[t]:"error"in e||(e.error={code:"invalid_request",message:e.message||"Failed to get data from Flickr"}),e}function d(e){if(o(e),e.contacts){e=c(e,"contacts"),u(e),e.data=e.contact,delete e.contact;
36for(var t=0;t<e.data.length;t++){var n=e.data[t];n.id=n.nsid,n.name=n.realname||n.username,n.thumbnail=r(n,"m")}}return e}function u(e){e.page&&e.pages&&e.page!==e.pages&&(e.paging={next:"?page="+ ++e.page})}e.init({flickr:{name:"Flickr",oauth:{version:"1.0a",auth:"https://www.flickr.com/services/oauth/authorize?perms=read",request:"https://www.flickr.com/services/oauth/request_token",token:"https://www.flickr.com/services/oauth/access_token"},base:"https://api.flickr.com/services/rest",get:{me:i("flickr.people.getInfo"),"me/friends":i("flickr.contacts.getList",{per_page:"@{limit|50}"}),"me/following":i("flickr.contacts.getList",{per_page:"@{limit|50}"}),"me/followers":i("flickr.contacts.getList",{per_page:"@{limit|50}"}),"me/albums":i("flickr.photosets.getList",{per_page:"@{limit|50}"}),"me/album":i("flickr.photosets.getPhotos",{photoset_id:"@{id}"}),"me/photos":i("flickr.people.getPhotos",{per_page:"@{limit|50}"})},wrap:{me:function(e){if(o(e),e=c(e,"person"),e.id){if(e.realname){e.name=e.realname._content;var t=e.name.split(" ");e.first_name=t.shift(),e.last_name=t.join(" ")}e.thumbnail=r(e,"l"),e.picture=r(e,"l")}return e},"me/friends":d,"me/followers":d,"me/following":d,"me/albums":function(e){return o(e),e=c(e,"photosets"),u(e),e.photoset&&(e.data=e.photoset,e.data.forEach(function(e){e.name=e.title._content,e.photos="https://api.flickr.com/services/rest"+t("flickr.photosets.getPhotos",{photoset_id:e.id},!0)}),delete e.photoset),e},"me/photos":function(e){return o(e),s(e)},"default":function(e){return o(e),s(e)}},xhr:!1,jsonp:function(e,t){"get"==e.method&&(delete t.callback,t.jsoncallback=e.callbackID)}}})}(z),function(e){function t(e){!e.meta||400!==e.meta.code&&401!==e.meta.code||(e.error={code:"access_denied",message:e.meta.errorDetail})}function n(e){e&&e.id&&(e.thumbnail=e.photo.prefix+"100x100"+e.photo.suffix,e.name=e.firstName+" "+e.lastName,e.first_name=e.firstName,e.last_name=e.lastName,e.contact&&e.contact.email&&(e.email=e.contact.email))}function i(e,t){var n=t.access_token;return delete t.access_token,t.oauth_token=n,t.v=20121125,!0}e.init({foursquare:{name:"Foursquare",oauth:{version:2,auth:"https://foursquare.com/oauth2/authenticate",grant:"https://foursquare.com/oauth2/access_token"},refresh:!0,base:"https://api.foursquare.com/v2/",get:{me:"users/self","me/friends":"users/self/friends","me/followers":"users/self/friends","me/following":"users/self/friends"},wrap:{me:function(e){return t(e),e&&e.response&&(e=e.response.user,n(e)),e},"default":function(e){return t(e),e&&"response"in e&&"friends"in e.response&&"items"in e.response.friends&&(e.data=e.response.friends.items,e.data.forEach(n),delete e.response),e}},xhr:i,jsonp:i}})}(z),function(e){function t(e,t){var n=t?t.statusCode:e&&"meta"in e&&"status"in e.meta&&e.meta.status;401!==n&&403!==n||(e.error={code:"access_denied",message:e.message||(e.data?e.data.message:"Could not get response")},delete e.message)}function n(e){e.id&&(e.thumbnail=e.picture=e.avatar_url,e.name=e.login)}function i(e,t,n){if(e.data&&e.data.length&&t&&t.Link){var i=t.Link.match(/<(.*?)>;\s*rel=\"next\"/);i&&(e.paging={next:i[1]})}}e.init({github:{name:"GitHub",oauth:{version:2,auth:"https://github.com/login/oauth/authorize",grant:"https://github.com/login/oauth/access_token",response_type:"code"},scope:{email:"user:email"},base:"https://api.github.com/",get:{me:"user","me/friends":"user/following?per_page=@{limit|100}","me/following":"user/following?per_page=@{limit|100}","me/followers":"user/followers?per_page=@{limit|100}","me/like":"user/starred?per_page=@{limit|100}"},wrap:{me:function(e,i){return t(e,i),n(e),e},"default":function(e,r,a){return t(e,r),Array.isArray(e)&&(e={data:e}),e.data&&(i(e,r,a),e.data.forEach(n)),e}},xhr:function(e){return"get"!==e.method&&e.data&&(e.headers=e.headers||{},e.headers["Content-Type"]="application/json","object"==typeof e.data&&(e.data=JSON.stringify(e.data))),!0}}})}(z),function(e){function t(e){return parseInt(e,10)}function n(e){return d(e),e.data=e.items,delete e.items,e}function i(e){if(!e.error)return e.name||(e.name=e.title||e.message),e.picture||(e.picture=e.thumbnailLink),e.thumbnail||(e.thumbnail=e.thumbnailLink),"application/vnd.google-apps.folder"===e.mimeType&&(e.type="folder",e.files="https://www.googleapis.com/drive/v2/files?q=%22"+e.id+"%22+in+parents"),e}
36function r(e){return{source:e.url,width:e.width,height:e.height}}function a(e){e.data=e.feed.entry.map(c),delete e.feed}function o(e){if(d(e),"feed"in e&&"entry"in e.feed)e.data=e.feed.entry.map(c),delete e.feed;else{if("entry"in e)return c(e.entry);"items"in e?(e.data=e.items.map(i),delete e.items):i(e)}return e}function s(e){e.name=e.displayName||e.name,e.picture=e.picture||(e.image?e.image.url:null),e.thumbnail=e.picture}function l(e,t,n){d(e);if("feed"in e&&"entry"in e.feed){for(var i=n.query.access_token,r=0;r<e.feed.entry.length;r++){var a=e.feed.entry[r];if(a.id=a.id.$t,a.name=a.title.$t,delete a.title,a.gd$email&&(a.email=a.gd$email&&a.gd$email.length>0?a.gd$email[0].address:null,a.emails=a.gd$email,delete a.gd$email),a.updated&&(a.updated=a.updated.$t),a.link){var o=a.link.length>0?a.link[0].href:null;o&&a.link[0].gd$etag&&(o+=(o.indexOf("?")>-1?"&":"?")+"access_token="+i,a.picture=o,a.thumbnail=o),delete a.link}a.category&&delete a.category}e.data=e.feed.entry,delete e.feed}return e}function c(e){var t,n=e.media$group,i=n.media$content.length?n.media$content[0]:{},a=n.media$content||[],o=n.media$thumbnail||[],s=a.concat(o).map(r).sort(function(e,t){return e.width-t.width}),l=0,c={id:e.id.$t,name:e.title.$t,description:e.summary.$t,updated_time:e.updated.$t,created_time:e.published.$t,picture:i?i.url:null,pictures:s,images:[],thumbnail:i?i.url:null,width:i.width,height:i.height};if("link"in e)for(l=0;l<e.link.length;l++){var d=e.link[l];if(d.rel.match(/\#feed$/)){c.upload_location=c.files=c.photos=d.href;break}}if("category"in e&&e.category.length)for(t=e.category,l=0;l<t.length;l++)t[l].scheme&&t[l].scheme.match(/\#kind$/)&&(c.type=t[l].term.replace(/^.*?\#/,""));return"media$thumbnail"in n&&n.media$thumbnail.length&&(t=n.media$thumbnail,c.thumbnail=t[0].url,c.images=t.map(r)),t=n.media$content,t&&t.length&&c.images.push(r(t[0])),c}function d(e){if("feed"in e&&e.feed.openSearch$itemsPerPage){var n=t(e.feed.openSearch$itemsPerPage.$t),i=t(e.feed.openSearch$startIndex.$t),r=t(e.feed.openSearch$totalResults.$t);i+n<r&&(e.paging={next:"?start="+(i+n)})}else"nextPageToken"in e&&(e.paging={next:"?pageToken="+e.nextPageToken})}function u(){function e(e){var n=new FileReader;n.onload=function(n){t(btoa(n.target.result),e.type+a+"Content-Transfer-Encoding: base64")},n.readAsBinaryString(e)}function t(e,t){n.push(a+"Content-Type: "+t+a+a+e),r--,s()}var n=[],i=(1e10*Math.random()).toString(32),r=0,a="\r\n",o=a+"--"+i,s=function(){},l=/^data\:([^;,]+(\;charset=[^;,]+)?)(\;base64)?,/i;this.append=function(n,i){"string"!=typeof n&&"length"in Object(n)||(n=[n]);for(var o=0;o<n.length;o++){r++;var s=n[o];if("undefined"!=typeof File&&s instanceof File||"undefined"!=typeof Blob&&s instanceof Blob)e(s);else if("string"==typeof s&&s.match(l)){var c=s.match(l);t(s.replace(l,""),c[1]+a+"Content-Transfer-Encoding: base64")}else t(s,i)}},this.onready=function(e){(s=function(){0===r&&(n.unshift(""),n.push("--"),e(n.join(o),i),n=[])})()}}function p(e,t){var n={};e.data&&"undefined"!=typeof HTMLInputElement&&e.data instanceof HTMLInputElement&&(e.data={file:e.data}),!e.data.name&&Object(Object(e.data.file).files).length&&"post"===e.method&&(e.data.name=e.data.file.files[0].name),"post"===e.method?e.data={title:e.data.name,parents:[{id:e.data.parent||"root"}],file:e.data.file}:(n=e.data,e.data={},n.parent&&(e.data.parents=[{id:e.data.parent||"root"}]),n.file&&(e.data.file=n.file),n.name&&(e.data.title=n.name));var i;if("file"in e.data&&(i=e.data.file,delete e.data.file,"object"==typeof i&&"files"in i&&(i=i.files),!i||!i.length))return void t({error:{code:"request_invalid",message:"There were no files attached with this request to upload"}});var r=new u;r.append(JSON.stringify(e.data),"application/json"),i&&r.append(i),r.onready(function(i,r){e.headers["content-type"]='multipart/related; boundary="'+r+'"',e.data=i,t("upload/drive/v2/files"+(n.id?"/"+n.id:"")+"?uploadType=multipart")})}function g(e){if("object"==typeof e.data)try{e.data=JSON.stringify(e.data),e.headers["content-type"]="application/json"}catch(t){}}var f="https://www.google.com/m8/feeds/contacts/default/full?v=3.0&alt=json&max-results=@{limit|1000}&start-index=@{start|1}";e.init({google:{name:"Google Sign-In",oauth:{version:2,auth:"https://accounts.google.com/o/oauth2/v2/auth",grant:"https://www.googleapis.com/oauth2/v4/token"},scope:{basic:"openid profile",email:"email",birthday:"",events:"",photos:"https://picasaweb.google.com/data/",videos:"http://gdata.youtube.com",files:"https://www.googleapis.com/auth/drive.readonly",publish:"",publish_files:"https://www.googleapis.com/auth/drive",share:"",create_event:"",offline_access:""},scope_delim:" ",login:function(e){"none"===e.qs.display&&(e.qs.display=""),"code"===e.qs.response_type?e.qs.access_type="offline":e.qs.response_type.indexOf("id_token")>-1&&(e.qs.nonce=parseInt(1e12*Math.random(),10).toString(36)),e.options.force&&(e.qs.approval_prompt="force")},base:"https://www.googleapis.com/",get:{me:"oauth2/v3/userinfo?alt=json","me/following":f,"me/followers":f,"me/contacts":f,"me/albums":"https://picasaweb.google.com/data/feed/api/user/default?alt=json&max-results=@{limit|100}&start-index=@{start|1}","me/album":function(e,t){var n=e.query.id;delete e.query.id,t(n.replace("/entry/","/feed/"))},"me/photos":"https://picasaweb.google.com/data/feed/api/user/default?alt=json&kind=photo&max-results=@{limit|100}&start-index=@{start|1}","me/file":"drive/v2/files/@{id}","me/files":"drive/v2/files?q=%22@{parent|root}%22+in+parents+and+trashed=false&maxResults=@{limit|100}","me/folders":"drive/v2/files?q=%22@{id|root}%22+in+parents+and+mimeType+=+%22application/vnd.google-apps.folder%22+and+trashed=false&maxResults=@{limit|100}","me/folder":"drive/v2/files?q=%22@{id|root}%22+in+parents+and+trashed=false&maxResults=@{limit|100}"},post:{"me/files":p,"me/folders":function(e,t){e.data={title:e.data.name,parents:[{id:e.data.parent||"root"}],mimeType:"application/vnd.google-apps.folder"},t("drive/v2/files")}},put:{"me/files":p},del:{"me/files":"drive/v2/files/@{id}","me/folder":"drive/v2/files/@{id}"},patch:{"me/file":"drive/v2/files/@{id}"},wrap:{me:function(e){return e.sub&&(e.id=e.sub),e.id&&(e.last_name=e.family_name||(e.name?e.name.familyName:null),e.first_name=e.given_name||(e.name?e.name.givenName:null),e.emails&&e.emails.length&&(e.email=e.emails[0].value),s(e)),e},"me/friends":function(e){return e.items&&(d(e),e.data=e.items,e.data.forEach(s),delete e.items),e},"me/contacts":l,"me/followers":l,"me/following":l,"me/share":n,"me/feed":n,"me/albums":o,"me/photos":a,"default":o},xhr:function(t){return"post"===t.method||"put"===t.method?g(t):"patch"===t.method&&(e.utils.extend(t.query,t.data),t.data=null),!0},form:!1}})}
36(z),function(e){function t(e){return{source:e.url,width:e.width,height:e.height}}function n(e){return"string"==typeof e?{error:{code:"invalid_request",message:e}}:(e&&"meta"in e&&"error_type"in e.meta&&(e.error={code:e.meta.error_type,message:e.meta.error_message}),e)}function i(e){return a(e),e&&"data"in e&&e.data.forEach(r),e}function r(e){e.id&&(e.thumbnail=e.profile_picture,e.name=e.full_name||e.username)}function a(e){"pagination"in e&&(e.paging={next:e.pagination.next_url},delete e.pagination)}e.init({instagram:{name:"Instagram",oauth:{version:2,auth:"https://instagram.com/oauth/authorize/",grant:"https://api.instagram.com/oauth/access_token"},refresh:!0,scope:{basic:"basic",photos:"",friends:"relationships",publish:"likes comments",email:"",share:"",publish_files:"",files:"",videos:"",offline_access:""},scope_delim:" ",login:function(e){e.qs.display=""},base:"https://api.instagram.com/v1/",get:{me:"users/self","me/feed":"users/self/feed?count=@{limit|100}","me/photos":"users/self/media/recent?min_id=0&count=@{limit|100}","me/friends":"users/self/follows?count=@{limit|100}","me/following":"users/self/follows?count=@{limit|100}","me/followers":"users/self/followed-by?count=@{limit|100}","friend/photos":"users/@{id}/media/recent?min_id=0&count=@{limit|100}"},post:{"me/like":function(e,t){var n=e.data.id;e.data={},t("media/"+n+"/likes")}},del:{"me/like":"media/@{id}/likes"},wrap:{me:function(e){return n(e),"data"in e&&(e.id=e.data.id,e.thumbnail=e.data.profile_picture,e.name=e.data.full_name||e.data.username),e},"me/friends":i,"me/following":i,"me/followers":i,"me/photos":function(e){return n(e),a(e),"data"in e&&(e.data=e.data.filter(function(e){return"image"===e.type}),e.data.forEach(function(e){e.name=e.caption?e.caption.text:null,e.thumbnail=e.images.thumbnail.url,e.picture=e.images.standard_resolution.url,e.pictures=Object.keys(e.images).map(function(n){var i=e.images[n];return t(i)}).sort(function(e,t){return e.width-t.width})})),e},"default":function(e){return e=n(e),a(e),e}},xhr:function(e,t){var n=e.method,i="get"!==n;return i&&("post"!==n&&"put"!==n||!e.query.access_token||(e.data.access_token=e.query.access_token,delete e.query.access_token),e.proxy=i),i},form:!1}})}(z),function(e){function t(e,t){var n,r;return e&&"Message"in e&&(r=e.Message,delete e.Message,"ErrorCode"in e?(n=e.ErrorCode,delete e.ErrorCode):n=i(t),e.error={code:n,message:r,details:e}),e}function n(e,t){var n=t.access_token;return delete t.access_token,e.headers.Authorization="Bearer "+n,"get"!==e.method&&e.data&&(e.headers["Content-Type"]="application/json","object"==typeof e.data&&(e.data=JSON.stringify(e.data))),"put"===e.method&&(e.method="patch"),!0}function i(e){switch(e.statusCode){case 400:return"invalid_request";case 403:return"stale_token";case 401:return"invalid_token";case 500:return"server_error";default:return"server_error"}}e.init({joinme:{name:"join.me",oauth:{version:2,auth:"https://secure.join.me/api/public/v1/auth/oauth2",grant:"https://secure.join.me/api/public/v1/auth/oauth2"},refresh:!1,scope:{basic:"user_info",user:"user_info",scheduler:"scheduler",start:"start_meeting",email:"",friends:"",share:"",publish:"",photos:"",publish_files:"",files:"",videos:"",offline_access:""},scope_delim:" ",login:function(e){e.options.popup.width=400,e.options.popup.height=700},base:"https://api.join.me/v1/",get:{me:"user",meetings:"meetings","meetings/info":"meetings/@{id}"},post:{"meetings/start/adhoc":function(e,t){t("meetings/start")},"meetings/start/scheduled":function(e,t){var n=e.data.meetingId;e.data={},t("meetings/"+n+"/start")},"meetings/schedule":function(e,t){t("meetings")}},patch:{"meetings/update":function(e,t){t("meetings/"+e.data.meetingId)}},del:{"meetings/delete":"meetings/@{id}"},wrap:{me:function(e,n){return t(e,n),e.email?(e.name=e.fullName,e.first_name=e.name.split(" ")[0],e.last_name=e.name.split(" ")[1],e.id=e.email,e):e},"default":function(e,n){return t(e,n),e}},xhr:n}})}(z),function(e){function t(e){e&&"errorCode"in e&&(e.error={code:e.status,message:e.message})}function n(e){if(!e.error)return e.first_name=e.firstName,e.last_name=e.lastName,e.name=e.formattedName||e.first_name+" "+e.last_name,e.thumbnail=e.pictureUrl,e.email=e.emailAddress,e}function i(e){return t(e),r(e),e.values&&(e.data=e.values.map(n),delete e.values),e}function r(e){"_count"in e&&"_start"in e&&e._count+e._start<e._total&&(e.paging={next:"?start="+(e._start+e._count)+"&count="+e._count})}function a(e,t){"{}"===JSON.stringify(e)&&200===t.statusCode&&(e.success=!0)}function o(e){e.access_token&&(e.oauth2_access_token=e.access_token,delete e.access_token)}function s(e,t){e.headers["x-li-format"]="json";var n=e.data.id;e.data=("delete"!==e.method).toString(),e.method="put",t("me/network/updates/key="+n+"/is-liked")}e.init({linkedin:{oauth:{version:2,response_type:"code",auth:"https://www.linkedin.com/oauth/v2/authorization",grant:"https://www.linkedin.com/oauth/v2/accessToken"},refresh:!0,scope:{basic:"r_liteprofile",email:"r_emailaddress",files:"",friends:"",photos:"",publish:"w_member_social",publish_files:"w_member_social", 37share:"",videos:"",offline_access:""},scope_delim:" ",base:"https://api.linkedin.com/v2/",get:{me:"me:(picture-url,first-name,last-name,id,formatted-name,email-address)","me/share":"me/network/updates?count=@{limit|250}"},post:{"me/share":function(e,t){var n={visibility:{code:"anyone"}};e.data.id?n.attribution={share:{id:e.data.id}}:(n.comment=e.data.message,e.data.picture&&e.data.link&&(n.content={"submitted-url":e.data.link,"submitted-image-url":e.data.picture})),e.data=JSON.stringify(n),t("me/shares?format=json")},"me/like":s},del:{"me/like":s},wrap:{me:function(e){return t(e),n(e),e},"me/friends":i,"me/following":i,"me/followers":i,"me/share":function(e){return t(e),r(e),e.values&&(e.data=e.values.map(n),e.data.forEach(function(e){e.message=e.headline}),delete e.values),e},"default":function(e,n){t(e),a(e,n),r(e)}},jsonp:function(e,t){o(t),"get"===e.method&&(t.format="jsonp",t["error-callback"]=e.callbackID)},xhr:function(e,t){return"get"!==e.method&&(o(t),e.headers["Content-Type"]="application/json",e.headers["x-li-format"]="json",e.proxy=!0,!0)}}})}(z),function(e){function t(e,t){var n=t.access_token;return delete t.access_token,t.oauth_token=n,t["_status_code_map[302]"]=200,!0}function n(e){return e.id&&(e.picture=e.avatar_url,e.thumbnail=e.avatar_url,e.name=e.username||e.full_name),e}function i(e){"next_href"in e&&(e.paging={next:e.next_href})}e.init({soundcloud:{name:"SoundCloud",oauth:{version:2,auth:"https://soundcloud.com/connect",grant:"https://soundcloud.com/oauth2/token"},base:"https://api.soundcloud.com/",get:{me:"me.json","me/friends":"me/followings.json","me/followers":"me/followers.json","me/following":"me/followings.json","default":function(e,t){t(e.path+".json")}},wrap:{me:function(e){return n(e),e},"default":function(e){return Array.isArray(e)&&(e={data:e.map(n)}),i(e),e}},xhr:t,jsonp:t}}
37)}(z),function(e){function t(e){if(e.id){if(e.name){var t=e.name.split(" ");e.first_name=t.shift(),e.last_name=t.join(" ")}e.thumbnail=e.profile_image_url_https||e.profile_image_url}return e}function n(e){return i(e),r(e),e.users&&(e.data=e.users.map(t),delete e.users),e}function i(e){if(e.errors){var t=e.errors[0];e.error={code:"request_failed",message:t.message}}}function r(e){"next_cursor_str"in e&&(e.paging={next:"?cursor="+e.next_cursor_str})}function a(e){return Array.isArray(e)?{data:e}:e}var o="https://api.twitter.com/";e.init({twitter:{oauth:{version:"1.0a",auth:o+"oauth/authenticate",request:o+"oauth/request_token",token:o+"oauth/access_token"},login:function(e){var t="?force_login=true";this.oauth.auth=this.oauth.auth.replace(t,"")+(e.options.force?t:"")},base:o+"1.1/",get:{me:"account/verify_credentials.json","me/friends":"friends/list.json?count=@{limit|200}","me/following":"friends/list.json?count=@{limit|200}","me/followers":"followers/list.json?count=@{limit|200}","me/share":"statuses/user_timeline.json?count=@{limit|200}","me/like":"favorites/list.json?count=@{limit|200}"},post:{"me/share":function(t,n){var i=t.data;t.data=null;var r=[];i.message&&(r.push(i.message),delete i.message),i.link&&(r.push(i.link),delete i.link),i.picture&&(r.push(i.picture),delete i.picture),r.length&&(i.status=r.join(" ")),i.file?(i["media[]"]=i.file,delete i.file,t.data=i,n("statuses/update_with_media.json")):"id"in i?n("statuses/retweet/"+i.id+".json"):(e.utils.extend(t.query,i),n("statuses/update.json?include_entities=1"))},"me/like":function(e,t){var n=e.data.id;e.data=null,t("favorites/create.json?id="+n)}},del:{"me/like":function(){p.method="post";var e=p.data.id;p.data=null,callback("favorites/destroy.json?id="+e)}},wrap:{me:function(e){return i(e),t(e),e},"me/friends":n,"me/followers":n,"me/following":n,"me/share":function(e){return i(e),r(e),!e.error&&"length"in e?{data:e}:e},"default":function(e){return e=a(e),r(e),e}},xhr:function(e){return"get"!==e.method}}})}(z),function(e){function t(e,t){return null!==e&&"response"in e&&null!==e.response&&e.response.length&&(e=e.response[0],e.id=e.uid,e.thumbnail=e.picture=e.photo_max,e.name=e.first_name+" "+e.last_name,t.authResponse&&null!==t.authResponse.email&&(e.email=t.authResponse.email)),e}function n(e){if(e.error){var t=e.error;e.error={code:t.error_code,message:t.error_msg}}}e.init({vk:{name:"Vk",oauth:{version:2,auth:"https://oauth.vk.com/authorize",grant:"https://oauth.vk.com/access_token"},scope:{email:"email",friends:"friends",photos:"photos",videos:"video",share:"share",offline_access:"offline"},refresh:!0,login:function(e){e.qs.display=window.navigator&&window.navigator.userAgent&&/ipad|phone|phone|android/.test(window.navigator.userAgent.toLowerCase())?"mobile":"popup"},base:"https://api.vk.com/method/",get:{me:function(e,t){e.query.fields="id,first_name,last_name,photo_max",t("users.get")}},wrap:{me:function(e,i,r){return n(e),t(e,r)}},xhr:!1,jsonp:!0,form:!1}})}(z),function(e){function t(e){return"data"in e&&e.data.forEach(function(e){e.picture&&(e.thumbnail=e.picture),e.images&&(e.pictures=e.images.map(n).sort(function(e,t){return e.width-t.width}))}),e}function n(e){return{width:e.width,height:e.height,source:e.source}}function i(e){return"data"in e&&e.data.forEach(function(e){e.photos=e.files="https://apis.live.net/v5.0/"+e.id+"/photos"}),e}function r(e,t,n){if(e.id){var i=n.query.access_token;if(e.emails&&(e.email=e.emails.preferred),e.is_friend!==!1){var r=e.user_id||e.id;e.thumbnail=e.picture="https://apis.live.net/v5.0/"+r+"/picture?access_token="+i}}return e}function a(e,t,n){return"data"in e&&e.data.forEach(function(e){r(e,t,n)}),e}e.init({windows:{name:"Windows live",oauth:{version:2,auth:"https://login.live.com/oauth20_authorize.srf",grant:"https://login.live.com/oauth20_token.srf"},refresh:!0,logout:function(){return"http://login.live.com/oauth20_logout.srf?ts="+(new Date).getTime()},scope:{basic:"wl.signin,wl.basic",email:"wl.emails",birthday:"wl.birthday",events:"wl.calendars",photos:"wl.photos",videos:"wl.photos",friends:"wl.contacts_emails",files:"wl.skydrive",publish:"wl.share",publish_files:"wl.skydrive_update",share:"wl.share",create_event:"wl.calendars_update,wl.events_create",offline_access:"wl.offline_access"},base:"https://apis.live.net/v5.0/",get:{me:"me","me/friends":"me/friends","me/following":"me/contacts","me/followers":"me/friends","me/contacts":"me/contacts","me/albums":"me/albums","me/album":"@{id}/files","me/photo":"@{id}","me/files":"@{parent|me/skydrive}/files","me/folders":"@{id|me/skydrive}/files","me/folder":"@{id|me/skydrive}/files"},post:{"me/albums":"me/albums","me/album":"@{id}/files/","me/folders":"@{id|me/skydrive/}","me/files":"@{parent|me/skydrive}/files"},del:{"me/album":"@{id}","me/photo":"@{id}","me/folder":"@{id}","me/files":"@{id}"},wrap:{me:r,"me/friends":a,"me/contacts":a,"me/followers":a,"me/following":a,"me/albums":i,"me/photos":t,"default":t},xhr:function(t){return"get"===t.method||"delete"===t.method||e.utils.hasBinary(t.data)||("string"==typeof t.data.file?t.data.file=e.utils.toBlob(t.data.file):(t.data=JSON.stringify(t.data),t.headers={"Content-Type":"application/json"})),!0},jsonp:function(t){"get"===t.method||e.utils.hasBinary(t.data)||(t.data.method=t.method,t.method="get")}}})}(z),function(e){function t(e){e&&"meta"in e&&"error_type"in e.meta&&(e.error={code:e.meta.error_type,message:e.meta.error_message})}function n(e){if(t(e),e.query&&e.query.results&&e.query.results.profile){e=e.query.results.profile,e.id=e.guid,e.last_name=e.familyName,e.first_name=e.givenName||e.nickname;var n=[];e.first_name&&n.push(e.first_name),e.last_name&&n.push(e.last_name),e.name=n.join(" "),e.email=e.emails&&e.emails[0]?e.emails[0].handle:null,e.thumbnail=e.image?e.image.imageUrl:null}return e}function i(e,n,i){t(e),a(e,n,i);return e.query&&e.query.results&&e.query.results.contact&&(e.data=e.query.results.contact,delete e.query,Array.isArray(e.data)||(e.data=[e.data]),e.data.forEach(r)),e}function r(e){e.id=null,!e.fields||e.fields instanceof Array||(e.fields=[e.fields]),(e.fields||[]).forEac
37h(function(t){"email"===t.type&&(e.email=t.value),"name"===t.type&&(e.first_name=t.value.givenName,e.last_name=t.value.familyName,e.name=t.value.givenName+" "+t.value.familyName),"yahooid"===t.type&&(e.id=t.value)})}function a(e,t,n){return e.query&&e.query.count&&n.options&&(e.paging={next:"?start="+(e.query.count+(+n.options.start||1))}),e}function o(e){return"https://query.yahooapis.com/v1/yql?q="+(e+" limit @{limit|100} offset @{start|0}").replace(/\s/g,"%20")+"&format=json"}e.init({yahoo:{oauth:{version:"1.0a",auth:"https://api.login.yahoo.com/oauth/v2/request_auth",request:"https://api.login.yahoo.com/oauth/v2/get_request_token",token:"https://api.login.yahoo.com/oauth/v2/get_token"},login:function(e){e.options.popup.width=560;try{delete e.qs.state.scope}catch(t){}},base:"https://social.yahooapis.com/v1/",get:{me:o("select * from social.profile(0) where guid=me"),"me/friends":o("select * from social.contacts(0) where guid=me"),"me/following":o("select * from social.contacts(0) where guid=me")},wrap:{me:n,"me/friends":i,"me/following":i,"default":a}}})}(z),"function"==typeof define&&define.amd&&define(function(){return z}),"object"==typeof module&&module.exports&&(module.exports=z),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";function e(){return er.apply(null,arguments)}function t(e){er=e}function n(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(r(e,t))return!1;return!0}function o(e){return void 0===e}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function l(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,i=[];for(n=0;n<e.length;++n)i.push(t(e[n],n));return i}function d(e,t){for(var n in t)r(t,n)&&(e[n]=t[n]);return r(t,"toString")&&(e.toString=t.toString),r(t,"valueOf")&&(e.valueOf=t.valueOf),e}function u(e,t,n,i){return _t(e,t,n,i,!0).utc()}function p(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function g(e){return null==e._pf&&(e._pf=p()),e._pf}function f(e){if(null==e._isValid){var t=g(e),n=tr.call(t.parsedDateParts,function(e){return null!=e}),i=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidEra&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(i=i&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return i;e._isValid=i}return e._isValid}function m(e){var t=u(NaN);return null!=e?d(g(t),e):g(t).userInvalidated=!0,t}function h(e,t){var n,i,r;if(o(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),o(t._i)||(e._i=t._i),o(t._f)||(e._f=t._f),o(t._l)||(e._l=t._l),o(t._strict)||(e._strict=t._strict),o(t._tzm)||(e._tzm=t._tzm),o(t._isUTC)||(e._isUTC=t._isUTC),o(t._offset)||(e._offset=t._offset),o(t._pf)||(e._pf=g(t)),o(t._locale)||(e._locale=t._locale),nr.length>0)for(n=0;n<nr.length;n++)i=nr[n],r=t[i],o(r)||(e[i]=r);return e}function v(t){h(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),ir===!1&&(ir=!0,e.updateOffset(this),ir=!1)}function E(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function b(t){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function y(t,n){var i=!0;return d(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,t),i){var a,o,s,l=[];for(o=0;o<arguments.length;o++){if(a="","object"==typeof arguments[o]){a+="\n["+o+"] ";for(s in arguments[0])r(arguments[0],s)&&(a+=s+": "+arguments[0][s]+", ");a=a.slice(0,-2)}else a=arguments[o];l.push(a)}b(t+"\nArguments: "+Array.prototype.slice.call(l).join("")+"\n"+(new Error).stack),i=!1}return n.apply(this,arguments)},n)}function w(t,n){null!=e.deprecationHandler&&e.deprecationHandler(t,n),rr[t]||(b(n),rr[t]=!0)}function S(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function C(e){var t,n;for(n in e)r(e,n)&&(t=e[n],S(t)?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function P(e,t){var n,a=d({},e);for(n in t)r(t,n)&&(i(e[n])&&i(t[n])?(a[n]={},d(a[n],e[n]),d(a[n],t[n])):null!=t[n]?a[n]=t[n]:delete a[n]);for(n in e)r(e,n)&&!r(t,n)&&i(e[n])&&(a[n]=d({},a[n]));return a}function _(e){null!=e&&this.set(e)}function A(e,t,n){var i=this._calendar[e]||this._calendar.sameElse;return S(i)?i.call(t,n):i}function T(e,t,n){var i=""+Math.abs(e),r=t-i.length,a=e>=0;return(a?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+i}function k(e,t,n,i){var r=i;"string"==typeof i&&(r=function(){return this[i]()}
vendor: 40,014 bytes, lines 37-38
37),e&&(ur[e]=r),t&&(ur[t[0]]=function(){return T(r.apply(this,arguments),t[1],t[2])}),n&&(ur[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function V(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function I(e){var t,n,i=e.match(lr);for(t=0,n=i.length;t<n;t++)ur[i[t]]?i[t]=ur[i[t]]:i[t]=V(i[t]);return function(t){var r,a="";for(r=0;r<n;r++)a+=S(i[r])?i[r].call(t,e):i[r];return a}}function L(e,t){return e.isValid()?(t=O(t,e.localeData()),dr[t]=dr[t]||I(t),dr[t](e)):e.localeData().invalidDate()}function O(e,t){function n(e){return t.longDateFormat(e)||e}var i=5;for(cr.lastIndex=0;i>=0&&cr.test(e);)e=e.replace(cr,n),cr.lastIndex=0,i-=1;return e}function D(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(lr).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])}function R(){return this._invalidDate}function N(e){return this._ordinal.replace("%d",e)}function $(e,t,n,i){var r=this._relativeTime[n];return S(r)?r(e,t,n,i):r.replace(/%d/i,e)}function M(e,t){var n=this._relativeTime[e>0?"future":"past"];return S(n)?n(t):n.replace(/%s/i,t)}function x(e,t){var n=e.toLowerCase();vr[n]=vr[n+"s"]=vr[t]=e}function F(e){return"string"==typeof e?vr[e]||vr[e.toLowerCase()]:void 0}function B(e){var t,n,i={};for(n in e)r(e,n)&&(t=F(n),t&&(i[t]=e[n]));return i}function G(e,t){Er[e]=t}function U(e){var t,n=[];for(t in e)r(e,t)&&n.push({unit:t,priority:Er[t]});return n.sort(function(e,t){return e.priority-t.priority}),n}function H(e){return e%4===0&&e%100!==0||e%400===0}function W(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function q(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=W(t)),n}function j(t,n){return function(i){return null!=i?(z(this,t,i),e.updateOffset(this,n),this):Y(this,t)}}function Y(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function z(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&H(e.year())&&1===e.month()&&29===e.date()?(n=q(n),e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),ae(n,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function K(e){return e=F(e),S(this[e])?this[e]():this}function J(e,t){if("object"==typeof e){e=B(e);var n,i=U(e);for(n=0;n<i.length;n++)this[i[n].unit](e[i[n].unit])}else if(e=F(e),S(this[e]))return this[e](t);return this}function Z(e,t,n){or[e]=S(t)?t:function(e,i){return e&&n?n:t}}function X(e,t){return r(or,e)?or[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return ee(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,i,r){return t||n||i||r}))}function ee(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function te(e,t){var n,i=t;for("string"==typeof e&&(e=[e]),s(t)&&(i=function(e,n){n[t]=q(e)}),n=0;n<e.length;n++)Mr[e[n]]=i}function ne(e,t){te(e,function(e,n,i,r){i._w=i._w||{},t(e,i._w,i,r)})}function ie(e,t,n){null!=t&&r(Mr,e)&&Mr[e](t,n._a,n,e)}function re(e,t){return(e%t+t)%t}function ae(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=re(t,12);return e+=(t-n)/12,1===n?H(e)?29:28:31-n%7%2}function oe(e,t){return e?n(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Kr).test(t)?"format":"standalone"][e.month()]:n(this._months)?this._months:this._months.standalone}function se(e,t){return e?n(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Kr.test(t)?"format":"standalone"][e.month()]:n(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function le(e,t,n){var i,r,a,o=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)a=u([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(a,"").toLocaleLowerCase();return n?"MMM"===t?(r=$r.call(this._shortMonthsParse,o),r!==-1?r:null):(r=$r.call(this._longMonthsParse,o),r!==-1?r:null):"MMM"===t?(r=$r.call(this._shortMonthsParse,o),r!==-1?r:(r=$r.call(this._longMonthsParse,o),r!==-1?r:null)):(r=$r.call(this._longMonthsParse,o),r!==-1?r:(r=$r.call(this._shortMonthsParse,o),r!==-1?r:null))}function ce(e,t,n){var i,r,a;if(this._monthsParseExact)return le.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(r=u([2e3,i]),n&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[i]||(a="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(a.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[i].test(e))return i;if(n&&"MMM"===t&&this._shortMonthsParse[i].test(e))return i;if(!n&&this._monthsParse[i].test(e))return i}}function de(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=q(t);else if(t=e.localeData().monthsParse(t),!s(t))return e;return n=Math.min(e.date(),ae(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function ue(t){return null!=t?(de(this,t),e.updateOffset(this,!0),this):Y(this,"Month")}function pe(){return ae(this.year(),this.month())}function ge(e){return this._monthsParseExact?(r(this,"_monthsRegex")||me.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=Jr),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function fe(e){return this._monthsParseExact?(r(this,"_monthsRegex")||me.call(this),e?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=Zr),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function me(){function e(e,t){return t.length-e.length}var t,n,i=[],r=[],a=[];for(t=0;t<12;t++)n=u([2e3,t]),i.push(this.monthsShort(n,"")),r.push(this.months(n,"")),a.push(this.months(n,"")),a.push(this.monthsShort(n,""));for(i.sort(e),r.sort(e),a.sort(e),t=0;t<12;t++)i[t]=ee(i[t]),r[t]=ee(r[t]);for(t=0;t<24;t++)a[t]=ee(a[t]);this._monthsRegex=new RegExp("^("+a.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+i.join("|")+")","i")}function he(e){return H(e)?366:365}function ve(){return H(this.year())}function Ee(e,t,n,i,r,a,o){var s;return e<100&&e>=0?(s=new Date(e+400,t,n,i,r,a,o),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,i,r,a,o),s}function be(e){var t,n;return e<100&&e>=0?(n=Array.prototype.slice.call(arguments),n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function ye(e,t,n){var i=7+t-n,r=(7+be(e,0,i).getUTCDay()-t)%7;return-r+i-1}function we(e,t,n,i,r){var a,o,s=(7+n-i)%7,l=ye(e,i,r),c=1+7*(t-1)+s+l;return c<=0?(a=e-1,o=he(a)+c):c>he(e)?(a=e+1,o=c-he(e)):(a=e,o=c),{year:a,dayOfYear:o}}function Se(e,t,n){var i,r,a=ye(e.year(),t,n),o=Math.floor((e.dayOfYear()-a-1)/7)+1;return o<1?(r=e.year()-1,i=o+Ce(r,t,n)):o>Ce(e.year(),t,n)?(i=o-Ce(e.year(),t,n),r=e.year()+1):(r=e.year(),i=o),{week:i,year:r}}function Ce(e,t,n){var i=ye(e,t,n),r=ye(e+1,t,n);return(he(e)-i+r)/7}function Pe(e){return Se(e,this._week.dow,this._week.doy).week}function _e(){return this._week.dow}function Ae(){return this._week.doy}function Te(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function ke(e){var t=Se(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Ve(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function Ie(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Le(e,t){return e.slice(t,7).concat(e.slice(0,t))}function Oe(e,t){var i=n(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?Le(i,this._week.dow):e?i[e.day()]:i}function De(e){return e===!0?Le(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Re(e){return e===!0?Le(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Ne(e,t,n){var i,r,a,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)a=u([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===t?(r=$r.call(this._weekdaysParse,o),r!==-1?r:null):"ddd"===t?(r=$r.call(this._shortWeekdaysParse,o),r!==-1?r:null):(r=$r.call(this._minWeekdaysParse,o),r!==-1?r:null):"dddd"===t?(r=$r.call(this._weekdaysParse,o),r!==-1?r:(r=$r.call(this._shortWeekdaysParse,o),r!==-1?r:(r=$r.call(this._minWeekdaysParse,o),r!==-1?r:null))):"ddd"===t?(r=$r.call(this._shortWeekdaysParse,o),r!==-1?r:(r=$r.call(this._weekdaysParse,o),r!==-1?r:(r=$r.call(this._minWeekdaysParse,o),r!==-1?r:null))):(r=$r.call(this._minWeekdaysParse,o),r!==-1?r:(r=$r.call(this._weekdaysParse,o),r!==-1?r:(r=$r.call(this._shortWeekdaysParse,o),r!==-1?r:null)))}function $e(e,t,n){var i,r,a;if(this._weekdaysParseExact)return Ne.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(r=u([2e3,1]).day(i),n&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(r,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(r,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(r,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(a="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[i]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[i].test(e))return i;if(n&&"ddd"===t&&this._shortWeekdaysParse[i].test(e))return i;if(n&&"dd"===t&&this._minWeekdaysParse[i].test(e))return i;if(!n&&this._weekdaysParse[i].test(e))return i}}function Me(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Ve(e,this.localeData()),this.add(e-t,"d")):t}function xe(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Fe(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Ie(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Be(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||He.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=ia),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ge(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||He.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ra),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ue(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||He.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=aa),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function He(){function e(e,t){return t.length-e.length}var t,n,i,r,a,o=[],s=[],l=[],c=[];for(t=0;t<7;t++)n=u([2e3,1]).day(t),i=ee(this.weekdaysMin(n,"")),r=ee(this.weekdaysShort(n,"")),a=ee(this.weekdays(n,"")),o.push(i),s.push(r),l.push(a),c.push(i),c.push(r),c.push(a);o.sort(e),s.sort(e),l.sort(e),c.sort(e),this._weekdaysRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function We(){return this.hours()%12||12}function qe(){return this.hours()||24}function je(e,t){k(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ye(e,t){return t._meridiemParse}function ze(e){return"p"===(e+"").toLowerCase().charAt(0)}function Ke(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function Je(e,t){var n,i=Math.min(e.length,t.length);for(n=0;n<i;n+=1)if(e[n]!==t[n])return n;return i}function Ze(e){return e?e.toLowerCase().replace("_","-"):e}function Xe(e){for(var t,n,i,r,a=0;a<e.length;){for(r=Ze(e[a]).split("-"),t=r.length,n=Ze(e[a+1]),n=n?n.split("-"):null;t>0;){if(i=Qe(r.slice(0,t).join("-")))return i;if(n&&n.length>=t&&Je(r,n)>=t-1)break;t--}a++}return oa}function Qe(e){var t,n=null;if(void 0===da[e]&&"undefined"!=typeof module&&module&&module.exports)try{n=oa._abbr,t=require,t("./locale/"+e),et(n)}catch(i){da[e]=null}return da[e]}function et(e,t){var n;return e&&(n=o(t)?it(e):tt(e,t),n?oa=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),oa._abbr}function tt(e,t){if(null!==t){var n,i=ca;if(t.abbr=e,null!=da[e])w("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),i=da[e]._config;else if(null!=t.parentLocale)if(null!=da[t.parentLocale])i=da[t.parentLocale]._config;else{if(n=Qe(t.parentLocale),null==n)return ua[t.parentLocale]||(ua[t.parentLocale]=[]),ua[t.parentLocale].push({name:e,config:t}),null;i=n._config}return da[e]=new _(P(i,t)),ua[e]&&ua[e].forEach(function(e){tt(e.name,e.config)}),et(e),da[e]}return delete da[e],null}function nt(e,t){if(null!=t){var n,i,r=ca;null!=da[e]&&null!=da[e].parentLocale?da[e].set(P(da[e]._config,t)):(i=Qe(e),null!=i&&(r=i._config),t=P(r,t),null==i&&(t.abbr=e),n=new _(t),n.parentLocale=da[e],da[e]=n),et(e)}else null!=da[e]&&(null!=da[e].parentLocale?(da[e]=da[e].parentLocale,e===et()&&et(e)):null!=da[e]&&delete da[e]);return da[e]}function it(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return oa;if(!n(e)){if(t=Qe(e))return t;e=[e]}return Xe(e)}function rt(){return ar(da)}function at(e){var t,n=e._a;return n&&g(e).overflow===-2&&(t=n[Fr]<0||n[Fr]>11?Fr:n[Br]<1||n[Br]>ae(n[xr],n[Fr])?Br:n[Gr]<0||n[Gr]>24||24===n[Gr]&&(0!==n[Ur]||0!==n[Hr]||0!==n[Wr])?Gr:n[Ur]<0||n[Ur]>59?Ur:n[Hr]<0||n[Hr]>59?Hr:n[Wr]<0||n[Wr]>999?Wr:-1,g(e)._overflowDayOfYear&&(t<xr||t>Br)&&(t=Br),g(e)._overflowWeeks&&t===-1&&(t=qr),g(e)._overflowWeekday&&t===-1&&(t=jr),g(e).overflow=t),e}function ot(e){var t,n,i,r,a,o,s=e._i,l=pa.exec(s)||ga.exec(s);if(l){for(g(e).iso=!0,t=0,n=ma.length;t<n;t++)if(ma[t][1].exec(l[1])){r=ma[t][0],i=ma[t][2]!==!1;break}if(null==r)return void(e._isValid=!1);if(l[3]){for(t=0,n=ha.length;t<n;t++)if(ha[t][1].exec(l[3])){a=(l[2]||" ")+ha[t][0];break}if(null==a)return void(e._isValid=!1)}if(!i&&null!=a)return void(e._isValid=!1);if(l[4]){if(!fa.exec(l[4]))return void(e._isValid=!1);o="Z"}e._f=r+(a||"")+(o||""),Et(e)}else e._isValid=!1}function st(e,t,n,i,r,a){var o=[lt(e),zr.indexOf(t),parseInt(n,10),parseInt(i,10),parseInt(r,10)];return a&&o.push(parseInt(a,10)),o}function lt(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function ct(e){return e.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function dt(e,t,n){if(e){var i=ta.indexOf(e),r=new Date(t[0],t[1],t[2]).getDay();if(i!==r)return g(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}function ut(e,t,n){if(e)return ba[e];if(t)return 0;var i=parseInt(n,10),r=i%100,a=(i-r)/100;return 60*a+r}function pt(e){var t,n=Ea.exec(ct(e._i));if(n){if(t=st(n[4],n[3],n[2],n[5],n[6],n[7]),!dt(n[1],t,e))return;e._a=t,e._tzm=ut(n[8],n[9],n[10]),e._d=be.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function gt(t){var n=va.exec(t._i);return null!==n?void(t._d=new Date((+n[1]))):(ot(t),void(t._isValid===!1&&(delete t._isValid,pt(t),t._isValid===!1&&(delete t._isValid,t._strict?t._isValid=!1:e.createFromInputFallback(t)))))}function ft(e,t,n){return null!=e?e:null!=t?t:n}function mt(t){var n=new Date(e.now());return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function ht(e){var t,n,i,r,a,o=[];if(!e._d){for(i=mt(e),e._w&&null==e._a[Br]&&null==e._a[Fr]&&vt(e),null!=e._dayOfYear&&(a=ft(e._a[xr],i[xr]),(e._dayOfYear>he(a)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=be(a,0,e._dayOfYear),e._a[Fr]=n.getUTCMonth(),e._a[Br]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=o[t]=i[t];for(;t<7;t++)e._a[t]=o[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[Gr]&&0===e._a[Ur]&&0===e._a[Hr]&&0===e._a[Wr]&&(e._nextDay=!0,e._a[Gr]=0),e._d=(e._useUTC?be:Ee).apply(null,o),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Gr]=24),e._w&&"undefined"!=typeof e._w.d&&e._w.d!==r&&(g(e).weekdayMismatch=!0)}}function vt(e){var t,n,i,r,a,o,s,l,c;t=e._w,null!=t.GG||null!=t.W||null!=t.E?(a=1,o=4,n=ft(t.GG,e._a[xr],Se(At(),1,4).year),i=ft(t.W,1),r=ft(t.E,1),(r<1||r>7)&&(l=!0)):(a=e._locale._week.dow,o=e._locale._week.doy,c=Se(At(),a,o),n=ft(t.gg,e._a[xr],c.year),i=ft(t.w,c.week),null!=t.d?(r=t.d,(r<0||r>6)&&(l=!0)):null!=t.e?(r=t.e+a,(t.e<0||t.e>6)&&(l=!0)):r=a),i<1||i>Ce(n,a,o)?g(e)._overflowWeeks=!0:null!=l?g(e)._overflowWeekday=!0:(s=we(n,i,r,a,o),e._a[xr]=s.year,e._dayOfYear=s.dayOfYear)}function Et(t){if(t._f===e.ISO_8601)return void ot(t);if(t._f===e.RFC_2822)return void pt(t);t._a=[],g(t).empty=!0;var n,i,r,a,o,s,l=""+t._i,c=l.length,d=0;for(r=O(t._f,t._locale).match(lr)||[],n=0;n<r.length;n++)a=r[n],i=(l.match(X(a,t))||[])[0],i&&(o=l.substr(0,l.indexOf(i)),o.length>0&&g(t).unusedInput.push(o),l=l.slice(l.indexOf(i)+i.length),d+=i.length),ur[a]?(i?g(t).empty=!1:g(t).unusedTokens.push(a),ie(a,i,t)):t._strict&&!i&&g(t).unusedTokens.push(a);g(t).charsLeftOver=c-d,l.length>0&&g(t).unusedInput.push(l),t._a[Gr]<=12&&g(t).bigHour===!0&&t._a[Gr]>0&&(g(t).bigHour=void 0),g(t).parsedDateParts=t._a.slice(0),g(t).meridiem=t._meridiem,t._a[Gr]=bt(t._locale,t._a[Gr],t._meridiem),s=g(t).era,null!==s&&(t._a[xr]=t._locale.erasConvertYear(s,t._a[xr])),ht(t),at(t)}function bt(e,t,n){ 38var i;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(i=e.isPM(n),i&&t<12&&(t+=12),i||12!==t||(t=0),t):t}function yt(e){var t,n,i,r,a,o,s=!1;if(0===e._f.length)return g(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;r<e._f.length;r++)a=0,o=!1,t=h({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[r],Et(t),f(t)&&(o=!0),a+=g(t).charsLeftOver,a+=10*g(t).unusedTokens.length,g(t).score=a,s?a<i&&(i=a,n=t):(null==i||a<i||o)&&(i=a,n=t,o&&(s=!0));d(e,n||t)}function wt(e){if(!e._d){var t=B(e._i),n=void 0===t.day?t.date:t.day;e._a=c([t.year,t.month,n,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ht(e)}}function St(e){var t=new v(at(Ct(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function Ct(e){var t=e._i,i=e._f;return e._locale=e._locale||it(e._l),null===t||void 0===i&&""===t?m({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),E(t)?new v(at(t)):(l(t)?e._d=t:n(i)?yt(e):i?Et(e):Pt(e),f(e)||(e._d=null),e))}function Pt(t){var r=t._i;o(r)?t._d=new Date(e.now()):l(r)?t._d=new Date(r.valueOf()):"string"==typeof r?gt(t):n(r)?(t._a=c(r.slice(0),function(e){return parseInt(e,10)}),ht(t)):i(r)?wt(t):s(r)?t._d=new Date(r):e.createFromInputFallback(t)}function _t(e,t,r,o,s){var l={};return t!==!0&&t!==!1||(o=t,t=void 0),r!==!0&&r!==!1||(o=r,r=void 0),(i(e)&&a(e)||n(e)&&0===e.length)&&(e=void 0),l._isAMomentObject=!0,l._useUTC=l._isUTC=s,l._l=r,l._i=e,l._f=t,l._strict=o,St(l)}function At(e,t,n,i){return _t(e,t,n,i,!1)}function Tt(e,t){var i,r;if(1===t.length&&n(t[0])&&(t=t[0]),!t.length)return At();for(i=t[0],r=1;r<t.length;++r)t[r].isValid()&&!t[r][e](i)||(i=t[r]);return i}function kt(){var e=[].slice.call(arguments,0);return Tt("isBefore",e)}function Vt(){var e=[].slice.call(arguments,0);return Tt("isAfter",e)}function It(e){var t,n,i=!1;for(t in e)if(r(e,t)&&($r.call(Ca,t)===-1||null!=e[t]&&isNaN(e[t])))return!1;for(n=0;n<Ca.length;++n)if(e[Ca[n]]){if(i)return!1;parseFloat(e[Ca[n]])!==q(e[Ca[n]])&&(i=!0)}return!0}function Lt(){return this._isValid}function Ot(){return Xt(NaN)}function Dt(e){var t=B(e),n=t.year||0,i=t.quarter||0,r=t.month||0,a=t.week||t.isoWeek||0,o=t.day||0,s=t.hour||0,l=t.minute||0,c=t.second||0,d=t.millisecond||0;this._isValid=It(t),this._milliseconds=+d+1e3*c+6e4*l+1e3*s*60*60,this._days=+o+7*a,this._months=+r+3*i+12*n,this._data={},this._locale=it(),this._bubble()}function Rt(e){return e instanceof Dt}function Nt(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function $t(e,t,n){var i,r=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),o=0;for(i=0;i<r;i++)(n&&e[i]!==t[i]||!n&&q(e[i])!==q(t[i]))&&o++;return o+a}function Mt(e,t){k(e,0,0,function(){var e=this.utcOffset(),n="+";return e<0&&(e=-e,n="-"),n+T(~~(e/60),2)+t+T(~~e%60,2)})}function xt(e,t){var n,i,r,a=(t||"").match(e);return null===a?null:(n=a[a.length-1]||[],i=(n+"").match(Pa)||["-",0,0],r=+(60*i[1])+q(i[2]),0===r?0:"+"===i[0]?r:-r)}function Ft(t,n){var i,r;return n._isUTC?(i=n.clone(),r=(E(t)||l(t)?t.valueOf():At(t).valueOf())-i.valueOf(),i._d.setTime(i._d.valueOf()+r),e.updateOffset(i,!1),i):At(t).local()}function Bt(e){return-Math.round(e._d.getTimezoneOffset())}function Gt(t,n,i){var r,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if("string"==typeof t){if(t=xt(Dr,t),null===t)return this}else Math.abs(t)<16&&!i&&(t=60*t);return!this._isUTC&&n&&(r=Bt(this)),this._offset=t,this._isUTC=!0,null!=r&&this.add(r,"m"),a!==t&&(!n||this._changeInProgress?rn(this,Xt(t-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Bt(this)}function Ut(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function Ht(e){return this.utcOffset(0,e)}function Wt(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Bt(this),"m")),this}function qt(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=xt(Or,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}function jt(e){return!!this.isValid()&&(e=e?At(e).utcOffset():0,(this.utcOffset()-e)%60===0)}function Yt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function zt(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e,t={};return h(t,this),t=Ct(t),t._a?(e=t._isUTC?u(t._a):At(t._a),this._isDSTShifted=this.isValid()&&$t(t._a,e.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function Kt(){return!!this.isValid()&&!this._isUTC}function Jt(){return!!this.isValid()&&this._isUTC}function Zt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Xt(e,t){var n,i,a,o=e,l=null;return Rt(e)?o={ms:e._milliseconds,d:e._days,M:e._months}:s(e)||!isNaN(+e)?(o={},t?o[t]=+e:o.milliseconds=+e):(l=_a.exec(e))?(n="-"===l[1]?-1:1,o={y:0,d:q(l[Br])*n,h:q(l[Gr])*n,m:q(l[Ur])*n,s:q(l[Hr])*n,ms:q(Nt(1e3*l[Wr]))*n}):(l=Aa.exec(e))?(n="-"===l[1]?-1:1,o={y:Qt(l[2],n),M:Qt(l[3],n),w:Qt(l[4],n),d:Qt(l[5],n),h:Qt(l[6],n),m:Qt(l[7],n),s:Qt(l[8],n)}):null==o?o={}:"object"==typeof o&&("from"in o||"to"in o)&&(a=tn(At(o.from),At(o.to)),o={},o.ms=a.milliseconds,o.M=a.months),i=new Dt(o),Rt(e)&&r(e,"_locale")&&(i._locale=e._locale),Rt(e)&&r(e,"_isValid")&&(i._isValid=e._isValid),i}function Qt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function en(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function tn(e,t){var n;return e.isValid()&&t.isValid()?(t=Ft(t,e),e.isBefore(t)?n=en(e,t):(n=en(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function nn(e,t){return function(n,i){var r,a;return null===i||isNaN(+i)||(w(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=n,n=i,i=a),r=Xt(n,i),rn(this,r,e),this}}function rn(t,n,i,r){var a=n._milliseconds,o=Nt(n._days),s=Nt(n._months);t.isValid()&&(r=null==r||r,s&&de(t,Y(t,"Month")+s*i),o&&z(t,"Date",Y(t,"Date")+o*i),a&&t._d.setTime(t._d.valueOf()+a*i),r&&e.updateOffset(t,o||s))}function an(e){return"string"==typeof e||e instanceof String}function on(e){return E(e)||l(e)||an(e)||s(e)||ln(e)||sn(e)||null===e||void 0===e}function sn(e){var t,n,o=i(e)&&!a(e),s=!1,l=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(t=0;t<l.length;t+=1)n=l[t],s=s||r(e,n);return o&&s}function ln(e){var t=n(e),i=!1;return t&&(i=0===e.filter(function(t){return!s(t)&&an(e)}).length),t&&i}function cn(e){var t,n,o=i(e)&&!a(e),s=!1,l=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;t<l.length;t+=1)n=l[t],s=s||r(e,n);return o&&s}function dn(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function un(t,n){1===arguments.length&&(arguments[0]?on(arguments[0])?(t=arguments[0],n=void 0):cn(arguments[0])&&(n=arguments[0],t=void 0):(t=void 0,n=void 0));var i=t||At(),r=Ft(i,this).startOf("day"),a=e.calendarFormat(this,r)||"sameElse",o=n&&(S(n[a])?n[a].call(this,i):n[a]);return this.format(o||this.localeData().calendar(a,this,At(i)))}function pn(){return new v(this)}function gn(e,t){var n=E(e)?e:At(e);return!(!this.isValid()||!n.isValid())&&(t=F(t)||"millisecond","millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())}function fn(e,t){var n=E(e)?e:At(e);return!(!this.isValid()||!n.isValid())&&(t=F(t)||"millisecond","millisecond"===t?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())}function mn(e,t,n,i){var r=E(e)?e:At(e),a=E(t)?t:At(t);return!!(this.isValid()&&r.isValid()&&a.isValid())&&(i=i||"()",("("===i[0]?this.isAfter(r,n):!this.isBefore(r,n))&&(")"===i[1]?this.isBefore(a,n):!this.isAfter(a,n)))}function hn(e,t){var n,i=E(e)?e:At(e);return!(!this.isValid()||!i.isValid())&&(t=F(t)||"millisecond","millisecond"===t?this.valueOf()===i.valueOf():(n=i.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))}function vn(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function En(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function bn(e,t,n){var i,r,a;if(!this.isValid())return NaN;if(i=Ft(e,this),!i.isValid())return NaN;switch(r=6e4*(i.utcOffset()-this.utcOffset()),t=F(t)){case"year":a=yn(this,i)/12;break;case"month":a=yn(this,i);break;case"quarter":a=yn(this,i)/3;break;case"second":a=(this-i)/1e3;break;case"minute":a=(this-i)/6e4;break;case"hour":a=(this-i)/36e5;break;case"day":a=(this-i-r)/864e5;break;case"week":a=(this-i-r)/6048e5;break;default:a=this-i}return n?a:W(a)}function yn(e,t){if(e.date()<t.date())return-yn(t,e);var n,i,r=12*(t.year()-e.year())+(t.month()-e.month()),a=e.clone().add(r,"months");return t-a<0?(n=e.clone().add(r-1,"months"),i=(t-a)/(a-n)):(n=e.clone().add(r+1,"months"),i=(t-a)/(n-a)),-(r+i)||0}function wn(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function Sn(e){if(!this.isValid())return null;var t=e!==!0,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?L(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):S(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",L(n,"Z")):L(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function Cn(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,i,r="moment",a="";return this.isLocal()||(r=0===this.utcOffset()?"moment.utc":"moment.parseZone",a="Z"),e="["+r+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n="-MM-DD[T]HH:mm:ss.SSS",i=a+'[")]',this.format(e+t+n+i)}function Pn(t){t||(t=this.isUtc()?e.defaultFormatUtc:e.defaultFormat);var n=L(this,t);return this.localeData().postformat(n)}function _n(e,t){return this.isValid()&&(E(e)&&e.isValid()||At(e).isValid())?Xt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function An(e){return this.from(At(),e)}function Tn(e,t){return this.isValid()&&(E(e)&&e.isValid()||At(e).isValid())?Xt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function kn(e){return this.to(At(),e)}function Vn(e){var t;return void 0===e?this._locale._abbr:(t=it(e),null!=t&&(this._locale=t),this)}function In(){return this._locale}function Ln(e,t){return(e%t+t)%t}function On(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-Da:new Date(e,t,n).valueOf()}function Dn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-Da:Date.UTC(e,t,n)}function Rn(t){var n,i;if(t=F(t),void 0===t||"millisecond"===t||!this.isValid())return this;switch(i=this._isUTC?Dn:On,t){case"year":n=i(this.year(),0,1);break;case"quarter":n=i(this.year(),this.month()-this.month()%3,1);break;case"month":n=i(this.year(),this.month(),1);break;case"week":n=i(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":n=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":n=i(this.year(),this.month(),this.date());break;case"hour":n=this._d.valueOf(),n-=Ln(n+(this._isUTC?0:this.utcOffset()*La),Oa);break;case"minute":n=this._d.valueOf(),n-=Ln(n,La);break;case"second":n=this._d.valueOf(),n-=Ln(n,Ia)}return this._d.setTime(n),e.updateOffset(this,!0),this}function Nn(t){var n,i;if(t=F(t),void 0===t||"millisecond"===t||!this.isValid())return this;switch(i=this._isUTC?Dn:On,t){case"year":n=i(this.year()+1,0,1)-1;break;case"quarter":n=i(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":n=i(this.year(),this.month()+1,1)-1;break;case"week":n=i(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":n=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":n=i(this.year(),this.month(),this.date()+1)-1;break;case"hour":n=this._d.valueOf(),n+=Oa-Ln(n+(this._isUTC?0:this.utcOffset()*La),Oa)-1;break;case"minute":n=this._d.valueOf(),n+=La-Ln(n,La)-1;break;case"second":n=this._d.valueOf(),n+=Ia-Ln(n,Ia)-1}return this._d.setTime(n),e.updateOffset(this,!0),this}function $n(){return this._d.valueOf()-6e4*(this._offset||0)}function Mn(){return Math.floor(this.valueOf()/1e3)}function xn(){return new Date(this.valueOf())}function Fn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Bn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function Gn(){return this.isValid()?this.toISOString():null}function Un(){return f(this)}function Hn(){return d({},g(this))}function Wn(){return g(this).overflow}function qn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function jn(t,n){var i,r,a,o=this._eras||it("en")._eras;for(i=0,r=o.length;i<r;++i){switch(typeof o[i].since){case"string":a=e(o[i].since).startOf("day"),o[i].since=a.valueOf()}switch(typeof o[i].until){case"undefined":o[i].until=+(1/0);break;case"string":a=e(o[i].until).startOf("day").valueOf(),o[i].until=a.valueOf()}}return o}function Yn(e,t,n){var i,r,a,o,s,l=this.eras();for(e=e.toUpperCase(),i=0,r=l.length;i<r;++i)if(a=l[i].name.toUpperCase(),o=l[i].abbr.toUpperCase(),s=l[i].narrow.toUpperCase(),n)switch(t){case"N":case"NN":case"NNN":if(o===e)return l[i];break;case"NNNN":if(a===e)return l[i];break;case"NNNNN":if(s===e)return l[i]}else if([a,o,s].indexOf(e)>=0)return l[i]}function zn(t,n){var i=t.since<=t.until?1:-1;return void 0===n?e(t.since).year():e(t.since).year()+(n-t.offset)*i}function Kn(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e){if(n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until)return i[e].name;if(i[e].until<=n&&n<=i[e].since)return i[e].name}return""}function Jn(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e){if(n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until)return i[e].narrow;if(i[e].until<=n&&n<=i[e].since)return i[e].narrow}return""}function Zn(){var e,t,n,i=this.localeData().eras();for(e=0,t=i.length;e<t;++e){if(n=this.clone().startOf("day").valueOf(),i[e].since<=n&&n<=i[e].until)return i[e].abbr;if(i[e].until<=n&&n<=i[e].since)return i[e].abbr}return""}function Xn(){var t,n,i,r,a=this.localeData().eras();for(t=0,n=a.length;t<n;++t)if(i=a[t].since<=a[t].until?1:-1,r=this.clone().startOf("day").valueOf(),a[t].since<=r&&r<=a[t].until||a[t].until<=r&&r<=a[t].since)return(this.year()-e(a[t].since).year())*i+a[t].offset;return this.year()}function Qn(e){return r(this,"_erasNameRegex")||oi.call(this),e?this._erasNameRegex:this._erasRegex}function ei(e){return r(this,"_erasAbbrRegex")||oi.call(this),e?this._erasAbbrRegex:this._erasRegex}function ti(e){return r(this,"_erasNarrowRegex")||oi.call(this),e?this._erasNarrowRegex:this._erasRegex}function ni(e,t){return t.erasAbbrRegex(e)}function ii(e,t){return t.erasNameRegex(e)}function ri(e,t){return t.erasNarrowRegex(e)}function ai(e,t){return t._eraYearOrdinalRegex||Ir}function oi(){var e,t,n=[],i=[],r=[],a=[],o=this.eras();for(e=0,t=o.length;e<t;++e)i.push(ee(o[e].name)),n.push(ee(o[e].abbr)),r.push(ee(o[e].narrow)),a.push(ee(o[e].name)),a.push(ee(o[e].abbr)),a.push(ee(o[e].narrow));this._erasRegex=new RegExp("^("+a.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+i.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+n.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}function si(e,t){k(0,[e,e.length],0,t)}function li(e){return fi.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function ci(e){return fi.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function di(){return Ce(this.year(),1,4)}function ui(){return Ce(this.isoWeekYear(),1,4)}function pi(){var e=this.localeData()._week;return Ce(this.year(),e.dow,e.doy)}function gi(){var e=this.localeData()._week;return Ce(this.weekYear(),e.dow,e.doy)}function fi(e,t,n,i,r){var a;return null==e?Se(this,i,r).year:(a=Ce(e,i,r),t>a&&(t=a),mi.call(this,e,t,n,i,r))}function mi(e,t,n,i,r){var a=we(e,t,n,i,r),o=be(a.year,0,a.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function hi(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function vi(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function Ei(e,t){t[Wr]=q(1e3*("0."+e))}function bi(){return this._isUTC?"UTC":""}function yi(){return this._isUTC?"Coordinated Universal Time":""}function wi(e){return At(1e3*e)}function Si(){return At.apply(null,arguments).parseZone()}function Ci(e){return e}function Pi(e,t,n,i){var r=it(),a=u().set(i,t);return r[n](a,e)}function _i(e,t,n){if(s(e)&&(t=e,e=void 0),e=e||"",null!=t)return Pi(e,t,n,"month");var i,r=[];for(i=0;i<12;i++)r[i]=Pi(e,i,n,"month");return r}function Ai(e,t,n,i){"boolean"==typeof e?(s(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,s(t)&&(n=t,t=void 0),t=t||"");var r,a=it(),o=e?a._week.dow:0,l=[];if(null!=n)return Pi(t,(n+o)%7,i,"day");for(r=0;r<7;r++)l[r]=Pi(t,(r+o)%7,i,"day");return l}function Ti(e,t){return _i(e,t,"months")}function ki(e,t){return _i(e,t,"monthsShort")}function Vi(e,t,n){return Ai(e,t,n,"weekdays")}function Ii(e,t,n){return Ai(e,t,n,"weekdaysShort")}function Li(e,t,n){return Ai(e,t,n,"weekdaysMin")}function Oi(){var e=this._data;return this._milliseconds=Ga(this._milliseconds),this._days=Ga(this._days),this._months=Ga(this._months),e.milliseconds=Ga(e.milliseconds),e.seconds=Ga(e.seconds),e.minutes=Ga(e.minutes),e.hours=Ga(e.hours),e.months=Ga(e.months),e.years=Ga(e.years),this}function Di(e,t,n,i){var r=Xt(t,n);return e._milliseconds+=i*r._milliseconds,e._days+=i*r._days,e._months+=i*r._months,e._bubble()}function Ri(e,t){return Di(this,e,t,1)}function Ni(e,t){return Di(this,e,t,-1)}function $i(e){return e<0?Math.floor(e):Math.ceil(e)}function Mi(){var e,t,n,i,r,a=this._milliseconds,o=this._days,s=this._months,l=this._data;return a>=0&&o>=0&&s>=0||a<=0&&o<=0&&s<=0||(a+=864e5*$i(Fi(s)+o),o=0,s=0),l.milliseconds=a%1e3,e=W(a/1e3),l.seconds=e%60,t=W(e/60),l.minutes=t%60,n=W(t/60),l.hours=n%24,o+=W(n/24),r=W(xi(o)),s+=r,o-=$i(Fi(r)),i=W(s/12),s%=12,l.days=o,l.months=s,l.years=i,this}function xi(e){return 4800*e/146097}function Fi(e){return 146097*e/4800}function Bi(e){if(!this.isValid())return NaN;var t,n,i=this._milliseconds;if(e=F(e),"month"===e||"quarter"===e||"year"===e)switch(t=this._days+i/864e5,n=this._months+xi(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Fi(this._months)),e){case"week":return t/7+i/6048e5;case"day":return t+i/864e5;case"hour":return 24*t+i/36e5;case"minute":return 1440*t+i/6e4;case"second":return 86400*t+i/1e3;case"millisecond":return Math.floor(864e5*t)+i;default:throw new Error("Unknown unit "+e)}}function Gi(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*q(this._months/12):NaN}function Ui(e){return function(){return this.as(e)}}function Hi(){return Xt(this)}function Wi(e){return e=F(e),this.isValid()?this[e+"s"]():NaN}function qi(e){return function(){return this.isValid()?this._data[e]:NaN}}function ji(){return W(this.days()/7)}function Yi(e,t,n,i,r){return r.relativeTime(t||1,!!n,e,i)}function zi(e,t,n,i){var r=Xt(e).abs(),a=ro(r.as("s")),o=ro(r.as("m")),s=ro(r.as("h")),l=ro(r.as("d")),c=ro(r.as("M")),d=ro(r.as("w")),u=ro(r.as("y")),p=a<=n.ss&&["s",a]||a<n.s&&["ss",a]||o<=1&&["m"]||o<n.m&&["mm",o]||s<=1&&["h"]||s<n.h&&["hh",s]||l<=1&&["d"]||l<n.d&&["dd",l];return null!=n.w&&(p=p||d<=1&&["w"]||d<n.w&&["ww",d]),p=p||c<=1&&["M"]||c<n.M&&["MM",c]||u<=1&&["y"]||["yy",u],p[2]=t,p[3]=+e>0,p[4]=i,Yi.apply(null,p)}function Ki(e){return void 0===e?ro:"function"==typeof e&&(ro=e,!0)}function Ji(e,t){return void 0!==ao[e]&&(void 0===t?ao[e]:(ao[e]=t,"s"===e&&(ao.ss=t-1),!0))}function Zi(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,i,r=!1,a=ao;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(r=e),"object"==typeof t&&(a=Object.assign({},ao,t),null!=t.s&&null==t.ss&&(a.ss=t.s-1)),n=this.localeData(),i=zi(this,!r,a,n),r&&(i=n.pastFuture(+this,i)),n.postformat(i)}function Xi(e){return(e>0)-(e<0)||+e}function Qi(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,i,r,a,o,s,l=oo(this._milliseconds)/1e3,c=oo(this._days),d=oo(this._months),u=this.asSeconds();return u?(e=W(l/60),t=W(e/60),l%=60,e%=60,n=W(d/12),d%=12,i=l?l.toFixed(3).replace(/\.?0+$/,""):"",r=u<0?"-":"",a=Xi(this._months)!==Xi(u)?"-":"",o=Xi(this._days)!==Xi(u)?"-":"",s=Xi(this._milliseconds)!==Xi(u)?"-":"",r+"P"+(n?a+n+"Y":"")+(d?a+d+"M":"")+(c?o+c+"D":"")+(t||e||l?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(l?s+i+"S":"")):"P0D"}var er,tr;tr=Array.prototype.some?Array.prototype.some:function(e){var t,n=Object(this),i=n.length>>>0;for(t=0;t<i;t++)if(t in n&&e.call(this,n[t],t,n))return!0;return!1};var nr=e.momentProperties=[],ir=!1,rr={};
vendor: 4,145 bytes, line 38
38e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var ar;ar=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)r(e,t)&&n.push(t);return n};var or,sr={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},lr=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,cr=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,dr={},ur={},pr={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},gr="Invalid date",fr="%d",mr=/\d{1,2}/,hr={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},vr={},Er={},br=/\d/,yr=/\d\d/,wr=/\d{3}/,Sr=/\d{4}/,Cr=/[+-]?\d{6}/,Pr=/\d\d?/,_r=/\d\d\d\d?/,Ar=/\d\d\d\d\d\d?/,Tr=/\d{1,3}/,kr=/\d{1,4}/,Vr=/[+-]?\d{1,6}/,Ir=/\d+/,Lr=/[+-]?\d+/,Or=/Z|[+-]\d\d:?\d\d/gi,Dr=/Z|[+-]\d\d(?::?\d\d)?/gi,Rr=/[+-]?\d+(\.\d{1,3})?/,Nr=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;or={};var $r,Mr={},xr=0,Fr=1,Br=2,Gr=3,Ur=4,Hr=5,Wr=6,qr=7,jr=8;$r=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},k("M",["MM",2],"Mo",function(){return this.month()+1}),k("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),k("MMMM",0,0,function(e){return this.localeData().months(this,e)}),x("month","M"),G("month",8),Z("M",Pr),Z("MM",Pr,yr),Z("MMM",function(e,t){return t.monthsShortRegex(e)}),Z("MMMM",function(e,t){return t.monthsRegex(e)}),te(["M","MM"],function(e,t){t[Fr]=q(e)-1}),te(["MMM","MMMM"],function(e,t,n,i){var r=n._locale.monthsParse(e,i,n._strict);null!=r?t[Fr]=r:g(n).invalidMonth=e});var Yr="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),zr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Kr=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Jr=Nr,Zr=Nr;k("Y",0,0,function(){var e=this.year();return e<=9999?T(e,4):"+"+e}),k(0,["YY",2],0,function(){return this.year()%100}),k(0,["YYYY",4],0,"year"),k(0,["YYYYY",5],0,"year"),k(0,["YYYYYY",6,!0],0,"year"),x("year","y"),G("year",1),Z("Y",Lr),Z("YY",Pr,yr),Z("YYYY",kr,Sr),Z("YYYYY",Vr,Cr),Z("YYYYYY",Vr,Cr),te(["YYYYY","YYYYYY"],xr),te("YYYY",function(t,n){n[xr]=2===t.length?e.parseTwoDigitYear(t):q(t)}),te("YY",function(t,n){n[xr]=e.parseTwoDigitYear(t)}),te("Y",function(e,t){t[xr]=parseInt(e,10)}),e.parseTwoDigitYear=function(e){return q(e)+(q(e)>68?1900:2e3)};var Xr=j("FullYear",!0);k("w",["ww",2],"wo","week"),k("W",["WW",2],"Wo","isoWeek"),x("week","w"),x("isoWeek","W"),G("week",5),G("isoWeek",5),Z("w",Pr),Z("ww",Pr,yr),Z("W",Pr),Z("WW",Pr,yr),ne(["w","ww","W","WW"],function(e,t,n,i){t[i.substr(0,1)]=q(e)});var Qr={dow:0,doy:6};k("d",0,"do","day"),k("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),k("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),k("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),k("e",0,0,"weekday"),k("E",0,0,"isoWeekday"),x("day","d"),x("weekday","e"),x("isoWeekday","E"),G("day",11),G("weekday",11),G("isoWeekday",11),Z("d",Pr),Z("e",Pr),Z("E",Pr),Z("dd",function(e,t){return t.weekdaysMinRegex(e)}),Z("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Z("dddd",function(e,t){return t.weekdaysRegex(e)}),ne(["dd","ddd","dddd"],function(e,t,n,i){var r=n._locale.weekdaysParse(e,i,n._strict);null!=r?t.d=r:g(n).invalidWeekday=e}),ne(["d","e","E"],function(e,t,n,i){t[i]=q(e)});var ea="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ta="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),na="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ia=Nr,ra=Nr,aa=Nr;k("H",["HH",2],0,"hour"),k("h",["hh",2],0,We),k("k",["kk",2],0,qe),k("hmm",0,0,function(){return""+We.a
vendor: 6,158 bytes, line 38
38pply(this)+T(this.minutes(),2)}),k("hmmss",0,0,function(){return""+We.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),k("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),k("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),je("a",!0),je("A",!1),x("hour","h"),G("hour",13),Z("a",Ye),Z("A",Ye),Z("H",Pr),Z("h",Pr),Z("k",Pr),Z("HH",Pr,yr),Z("hh",Pr,yr),Z("kk",Pr,yr),Z("hmm",_r),Z("hmmss",Ar),Z("Hmm",_r),Z("Hmmss",Ar),te(["H","HH"],Gr),te(["k","kk"],function(e,t,n){var i=q(e);t[Gr]=24===i?0:i}),te(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),te(["h","hh"],function(e,t,n){t[Gr]=q(e),g(n).bigHour=!0}),te("hmm",function(e,t,n){var i=e.length-2;t[Gr]=q(e.substr(0,i)),t[Ur]=q(e.substr(i)),g(n).bigHour=!0}),te("hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[Gr]=q(e.substr(0,i)),t[Ur]=q(e.substr(i,2)),t[Hr]=q(e.substr(r)),g(n).bigHour=!0}),te("Hmm",function(e,t,n){var i=e.length-2;t[Gr]=q(e.substr(0,i)),t[Ur]=q(e.substr(i))}),te("Hmmss",function(e,t,n){var i=e.length-4,r=e.length-2;t[Gr]=q(e.substr(0,i)),t[Ur]=q(e.substr(i,2)),t[Hr]=q(e.substr(r))});var oa,sa=/[ap]\.?m?\.?/i,la=j("Hours",!0),ca={calendar:sr,longDateFormat:pr,invalidDate:gr,ordinal:fr,dayOfMonthOrdinalParse:mr,relativeTime:hr,months:Yr,monthsShort:zr,week:Qr,weekdays:ea,weekdaysMin:na,weekdaysShort:ta,meridiemParse:sa},da={},ua={},pa=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ga=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fa=/Z|[+-]\d\d(?::?\d\d)?/,ma=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],ha=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],va=/^\/?Date\((-?\d+)/i,Ea=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,ba={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};e.createFromInputFallback=y("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8601=function(){},e.RFC_2822=function(){};var ya=y("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=At.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:m()}),wa=y("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=At.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:m()}),Sa=function(){return Date.now?Date.now():+new Date},Ca=["year","quarter","month","week","day","hour","minute","second","millisecond"];Mt("Z",":"),Mt("ZZ",""),Z("Z",Dr),Z("ZZ",Dr),te(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=xt(Dr,e)});var Pa=/([\+\-]|\d\d)/gi;e.updateOffset=function(){};var _a=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Aa=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Xt.fn=Dt.prototype,Xt.invalid=Ot;var Ta=nn(1,"add"),ka=nn(-1,"subtract");e.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Va=y("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)}),Ia=1e3,La=60*Ia,Oa=60*La,Da=3506328*Oa;k("N",0,0,"eraAbbr"),k("NN",0,0,"eraAbbr"),k("NNN",0,0,"eraAbbr"),k("NNNN",0,0,"eraName"),k("NNNNN",0,0,"eraNarrow"),k("y",["y",1],"yo","eraYear"),k("y",["yy",2],0,"eraYear"),k("y",["yyy",3],0,"eraYear"),k("y",["yyyy",4],0,"eraYear"),Z("N",ni),Z("NN",ni),Z("NNN",ni),Z("NNNN",ii),Z("NNNNN",ri),te(["N","NN","NNN","NNNN","NNNNN"],function(e,t,n,i){var r=n._locale.erasParse(e,i,n._strict);r?g(n).era=r:g(n).invalidEra=e}),Z("y",Ir),Z("yy",Ir),Z("yyy",Ir),Z("yyyy",Ir),Z("yo",ai),te(["y","yy","yyy","yyyy"],xr),te(["yo"],function(e,t,n,i){var r;n._locale._eraYearOrdinalRegex&&(r=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[xr]=n._locale.eraYearOrdinalParse(e,r):t[xr]=parseInt(e,10)}),k(0,["gg",2],0,function(){return this.weekYear()%100}),k(0,["GG",2],0,function(){return this.isoWeekYear()%100}),si("gggg","weekYear"),si("ggggg","weekYear"),si("GGGG","isoWeekYear"),si("GGGGG","isoWeekYear"),x("weekYear","gg"),x("isoWeekYear","GG"),G("weekYear",1),G("isoWeekYear",1),Z("G",Lr),Z("g",Lr),Z("GG",Pr,yr),Z("gg",Pr,yr),Z("GGGG",kr,Sr),Z("gggg",kr,Sr),Z("GGGGG",Vr,Cr),Z("ggggg",Vr,Cr),ne(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,i){t[i.substr(0,2)]=q(e)}),ne(["gg","GG"],function(t,n,i,r){n[r]=e.parseTwoDigitYear(t)}),k("Q",0,"Qo","quarter"),x("quarter","Q"),G("quarter",7),Z("Q",br),te("Q",function(e,t){t[Fr]=3*(q(e)-1)}),k("D",["DD",2],"Do","date"),x("date","D"),G("date",9),Z("D",Pr),Z("DD",Pr,yr),Z("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),te(["D","DD"],Br),te("Do",function(e,t){t[Br]=q(e.match(Pr)[0])});var Ra=j("Date",!0);k("DDD",["DDDD",3],"DDDo","dayOfYear"),x("dayOfYear","DDD"),G("dayOfYear",4),Z("DDD",Tr),Z("DDDD",wr),te(["DD
38D","DDDD"],function(e,t,n){n._dayOfYear=q(e)}),k("m",["mm",2],0,"minute"),x("minute","m"),G("minute",14),Z("m",Pr),Z("mm",Pr,yr),te(["m","mm"],Ur);var Na=j("Minutes",!1);k("s",["ss",2],0,"second"),x("second","s"),G("second",15),Z("s",Pr),Z("ss",Pr,yr),te(["s","ss"],Hr);var $a=j("Seconds",!1);k("S",0,0,function(){return~~(this.millisecond()/100)}), 39k(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),k(0,["SSS",3],0,"millisecond"),k(0,["SSSS",4],0,function(){return 10*this.millisecond()}),k(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),k(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),k(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),k(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),k(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),x("millisecond","ms"),G("millisecond",16),Z("S",Tr,br),Z("SS",Tr,yr),Z("SSS",Tr,wr);var Ma,xa;for(Ma="SSSS";Ma.length<=9;Ma+="S")Z(Ma,Ir);for(Ma="S";Ma.length<=9;Ma+="S")te(Ma,Ei);xa=j("Milliseconds",!1),k("z",0,0,"zoneAbbr"),k("zz",0,0,"zoneName");var Fa=v.prototype;Fa.add=Ta,Fa.calendar=un,Fa.clone=pn,Fa.diff=bn,Fa.endOf=Nn,Fa.format=Pn,Fa.from=_n,Fa.fromNow=An,Fa.to=Tn,Fa.toNow=kn,Fa.get=K,Fa.invalidAt=Wn,Fa.isAfter=gn,Fa.isBefore=fn,Fa.isBetween=mn,Fa.isSame=hn,Fa.isSameOrAfter=vn,Fa.isSameOrBefore=En,Fa.isValid=Un,Fa.lang=Va,Fa.locale=Vn,Fa.localeData=In,Fa.max=wa,Fa.min=ya,Fa.parsingFlags=Hn,Fa.set=J,Fa.startOf=Rn,Fa.subtract=ka,Fa.toArray=Fn,Fa.toObject=Bn,Fa.toDate=xn,Fa.toISOString=Sn,Fa.inspect=Cn,"undefined"!=typeof Symbol&&null!=Symbol["for"]&&(Fa[Symbol["for"]("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Fa.toJSON=Gn,Fa.toString=wn,Fa.unix=Mn,Fa.valueOf=$n,Fa.creationData=qn,Fa.eraName=Kn,Fa.eraNarrow=Jn,Fa.eraAbbr=Zn,Fa.eraYear=Xn,Fa.year=Xr,Fa.isLeapYear=ve,Fa.weekYear=li,Fa.isoWeekYear=ci,Fa.quarter=Fa.quarters=hi,Fa.month=ue,Fa.daysInMonth=pe,Fa.week=Fa.weeks=Te,Fa.isoWeek=Fa.isoWeeks=ke,Fa.weeksInYear=pi,Fa.weeksInWeekYear=gi,Fa.isoWeeksInYear=di,Fa.isoWeeksInISOWeekYear=ui,Fa.date=Ra,Fa.day=Fa.days=Me,Fa.weekday=xe,Fa.isoWeekday=Fe,Fa.dayOfYear=vi,Fa.hour=Fa.hours=la,Fa.minute=Fa.minutes=Na,Fa.second=Fa.seconds=$a,Fa.millisecond=Fa.milliseconds=xa,Fa.utcOffset=Gt,Fa.utc=Ht,Fa.local=Wt,Fa.parseZone=qt,Fa.hasAlignedHourOffset=jt,Fa.isDST=Yt,Fa.isLocal=Kt,Fa.isUtcOffset=Jt,Fa.isUtc=Zt,Fa.isUTC=Zt,Fa.zoneAbbr=bi,Fa.zoneName=yi,Fa.dates=y("dates accessor is deprecated. Use date instead.",Ra),Fa.months=y("months accessor is deprecated. Use month instead",ue),Fa.years=y("years accessor is deprecated. Use year instead",Xr),Fa.zone=y("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ut),Fa.isDSTShifted=y("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",zt);var Ba=_.prototype;Ba.calendar=A,Ba.longDateFormat=D,Ba.invalidDate=R,Ba.ordinal=N,Ba.preparse=Ci,Ba.postformat=Ci,Ba.relativeTime=$,Ba.pastFuture=M,Ba.set=C,Ba.eras=jn,Ba.erasParse=Yn,Ba.erasConvertYear=zn,Ba.erasAbbrRegex=ei,Ba.erasNameRegex=Qn,Ba.erasNarrowRegex=ti,Ba.months=oe,Ba.monthsShort=se,Ba.monthsParse=ce,Ba.monthsRegex=fe,Ba.monthsShortRegex=ge,Ba.week=Pe,Ba.firstDayOfYear=Ae,Ba.firstDayOfWeek=_e,Ba.weekdays=Oe,Ba.weekdaysMin=Re,Ba.weekdaysShort=De,Ba.weekdaysParse=$e,Ba.weekdaysRegex=Be,Ba.weekdaysShortRegex=Ge,Ba.weekdaysMinRegex=Ue,Ba.isPM=ze,Ba.meridiem=Ke,et("en",{eras:[{since:"0001-01-01",until:+(1/0),offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-(1/0),offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===q(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),e.lang=y("moment.lang is deprecated. Use moment.locale instead.",et),e.langData=y("moment.langData is deprecated. Use moment.localeData instead.",it);var Ga=Math.abs,Ua=Ui("ms"),Ha=Ui("s"),Wa=Ui("m"),qa=Ui("h"),ja=Ui("d"),Ya=Ui("w"),za=Ui("M"),Ka=Ui("Q"),Ja=Ui("y"),Za=qi("milliseconds"),Xa=qi("seconds"),Qa=qi("minutes"),eo=qi("hours"),to=qi("days"),no=qi("months"),io=qi("years"),ro=Math.round,ao={ss:44,s:45,m:45,h:22,d:26,w:null,M:11},oo=Math.abs,so=Dt.prototype;return so.isValid=Lt,so.abs=Oi,so.add=Ri,so.subtract=Ni,so.as=Bi,so.asMilliseconds=Ua,so.asSeconds=Ha,so.asMinutes=Wa,so.asHours=qa,so.asDays=ja,so.asWeeks=Ya,so.asMonths=za,so.asQuarters=Ka,so.asYears=Ja,so.valueOf=Gi,so._bubble=Mi,so.clone=Hi,so.get=Wi,so.milliseconds=Za,so.seconds=Xa,so.minutes=Qa,so.hours=eo,so.days=to,so.weeks=ji,so.months=no,so.years=io,so.humanize=Zi,so.toISOString=Qi,so.toString=Qi,so.toJSON=Qi,so.locale=Vn,so.localeData=In,so.toIsoString=y("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Qi),so.lang=Va,k("X",0,0,"unix"),k("x",0,0,"valueOf"),Z("x",Lr),Z("X",Rr),te("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e))}),te("x",function(e,t,n){n._d=new Date(q(e))}),e.version="2.29.1",t(At),e.fn=Fa,e.min=kt,e.max=Vt,e.now=Sa,e.utc=u,e.unix=wi,e.months=Ti,e.isDate=l,e.locale=et,e.invali
39d=m,e.duration=Xt,e.isMoment=E,e.weekdays=Vi,e.parseZone=Si,e.localeData=it,e.isDuration=Rt,e.monthsShort=ki,e.weekdaysMin=Li,e.defineLocale=tt,e.updateLocale=nt,e.locales=rt,e.weekdaysShort=Ii,e.normalizeUnits=F,e.relativeTimeRounding=Ki,e.relativeTimeThreshold=Ji,e.calendarFormat=dn,e.prototype=Fa,e.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},e}),function(){var e;e=angular.module("ui.bootstrap.showErrors",[]),e.directive("showErrors",["$timeout","showErrorsConfig","$interpolate",function(e,t,n){var i,r,a;return r=function(e){var n;return n=t.trigger,e&&null!=e.trigger&&(n=e.trigger),n},i=function(e){var n;return n=t.showSuccess,e&&null!=e.showSuccess&&(n=e.showSuccess),n},a=function(t,a,o,s){var l,c,d,u,p,g,f,m;if(l=!1,p=t.$eval(o.showErrors),g=i(p),m=r(p),c=a[0].querySelector(".form-control[name]"),u=angular.element(c),d=n(u.attr("name")||"")(t),!d)throw"show-errors element has no child input elements with a 'name' attribute and a 'form-control' class";return u.bind(m,function(){return l=!0,f(s[d].$invalid)}),t.$watch(function(){return s[d]&&s[d].$invalid},function(e){return l?f(e):void 0}),t.$on("show-errors-check-validity",function(){return f(s[d].$invalid)}),t.$on("show-errors-reset",function(){return e(function(){return a.removeClass("has-error"),a.removeClass("has-success"),l=!1},0,!1)}),f=function(e){return a.toggleClass("has-error",e),g?a.toggleClass("has-success",!e):void 0}},{restrict:"A",require:"^form",compile:function(e,t){if(-1===t.showErrors.indexOf("skipFormGroupCheck")&&!e.hasClass("form-group")&&!e.hasClass("input-group"))throw"show-errors element does not have the 'form-group' or 'input-group' class";return a}}}]),e.provider("showErrorsConfig",function(){var e,t;e=!1,t="blur",this.showSuccess=function(t){return e=t},this.trigger=function(e){return t=e},this.$get=function(){return{showSuccess:e,trigger:t}}})}.call(this),!function(e,t){"function"==typeof define&&define.amd?define([],function(){return t()}):"object"==typeof module&&module.exports?module.exports=t():t()}(0,function(){function e(e){"use strict";var t=e.storageKey(),n=e.storage(),i=function(){var i=e.preferredLanguage();angular.isString(i)?e.use(i):n.put(t,e.use())};i.displayName="fallbackFromIncorrectStorageValue",n?n.get(t)?e.use(n.get(t))["catch"](i):i():angular.isString(e.preferredLanguage())&&e.use(e.preferredLanguage())}function t(e,t,n,i){"use strict";var r,a,o,s,l,c,d,u,p,g,f,m,h,v,E,b,y={},w=[],S=e,C=[],P="translate-cloak",_=!1,A=!1,T=".",k=!1,V=!1,I=0,L=!0,O="default",D={"default":function(e){return(e||"").split("-").join("_")},java:function(e){var t=(e||"").split("-").join("_"),n=t.split("_");return 1<n.length?n[0].toLowerCase()+"_"+n[1].toUpperCase():t},bcp47:function(e){var t=(e||"").split("_").join("-"),n=t.split("-");switch(n.length){case 1:n[0]=n[0].toLowerCase();break;case 2:n[0]=n[0].toLowerCase(),4===n[1].length?n[1]=n[1].charAt(0).toUpperCase()+n[1].slice(1).toLowerCase():n[1]=n[1].toUpperCase();break;case 3:n[0]=n[0].toLowerCase(),n[1]=n[1].charAt(0).toUpperCase()+n[1].slice(1).toLowerCase(),n[2]=n[2].toUpperCase();break;default:return t}return n.join("-")},"iso639-1":function(e){return(e||"").split("_").join("-").split("-")[0].toLowerCase()}},R=function(){if(angular.isFunction(i.getLocale))return i.getLocale();var e,n,r=t.$get().navigator,a=["language","browserLanguage","systemLanguage","userLanguage"];if(angular.isArray(r.languages))for(e=0;e<r.languages.length;e++)if((n=r.languages[e])&&n.length)return n;for(e=0;e<a.length;e++)if((n=r[a[e]])&&n.length)return n;return null};R.displayName="angular-translate/service: getFirstBrowserLanguage";var N=function(){var e=R()||"";return D[O]&&(e=D[O](e)),e};N.displayName="angular-translate/service: getLocale";var $=function(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1},M=function(){return this.toString().replace(/^\s+|\s+$/g,"")},x=function(e){return angular.isString(e)?e.toLowerCase():e},F=function(e){if(e){for(var t,n=[],i=x(e),r=0,o=w.length;r<o;r++)n.push(x(w[r]));if(-1<(r=$(n,i)))return w[r];if(a)for(var s in a)if(a.hasOwnProperty(s)){var l=!1,c=Object.prototype.hasOwnProperty.call(a,s)&&x(s)===x(e);if("*"===s.slice(-1)&&(l=x(s.slice(0,-1))===x(e.slice(0,s.length-1))),(c||l)&&(t=a[s],-1<$(n,x(t))))return t}var d=e.split("_");return 1<d.length&&-1<$(n,x(d[0]))?d[0]:void 0}},B=function(e,t){if(!e&&!t)return y;if(e&&!t){if(angular.isString(e))return y[e]}else angular.isObject(y[e])||(y[e]={}),angular.extend(y[e],G(t));return this};this.translations=B,this.cloakClassName=function(e){return e?(P=e,this):P},this.nestedObjectDelimeter=function(e){return e?(T=e,this):T};var G=function(e,t,n,i){var r,a,o;for(r in t||(t=[]),n||(n={}),e)Object.prototype.hasOwnProperty.call(e,r)&&(o=e[r],angular.isObject(o)?G(o,t.concat(r),n,r):(a=t.length?""+t.join(T)+T+r:r,t.length&&r===i&&(n[""+t.join(T)]="@:"+a),n[a]=o));return n};G.displayName="flatObject",this.addInterpolation=function(e){return C.push(e),this},this.useMessageFormatInterpolation=function(){return this.useInterpolation("$translateMessageFormatInterpolation")},this.useInterpolation=function(e){return g=e,this}
39,this.useSanitizeValueStrategy=function(e){return n.useStrategy(e),this},this.preferredLanguage=function(e){return e?(U(e),this):r};var U=function(e){return e&&(r=e),r};this.translationNotFoundIndicator=function(e){return this.translationNotFoundIndicatorLeft(e),this.translationNotFoundIndicatorRight(e),this},this.translationNotFoundIndicatorLeft=function(e){return e?(h=e,this):h},this.translationNotFoundIndicatorRight=function(e){return e?(v=e,this):v},this.fallbackLanguage=function(e){return H(e),this};var H=function(e){return e?(angular.isString(e)?(s=!0,o=[e]):angular.isArray(e)&&(s=!1,o=e),angular.isString(r)&&$(o,r)<0&&o.push(r),this):s?o[0]:o};this.use=function(e){if(e){if(!y[e]&&!f)throw new Error("$translateProvider couldn't find translationTable for langKey: '"+e+"'");return l=e,this}return l},this.resolveClientLocale=function(){return N()};var W=function(e){return e?(S=e,this):u?u+S:S};this.storageKey=W,this.useUrlLoader=function(e,t){return this.useLoader("$translateUrlLoader",angular.extend({url:e},t))},this.useStaticFilesLoader=function(e){return this.useLoader("$translateStaticFilesLoader",e)},this.useLoader=function(e,t){return f=e,m=t||{},this},this.useLocalStorage=function(){return this.useStorage("$translateLocalStorage")},this.useCookieStorage=function(){return this.useStorage("$translateCookieStorage")},this.useStorage=function(e){return d=e,this},this.storagePrefix=function(e){return e?(u=e,this):e},this.useMissingTranslationHandlerLog=function(){return this.useMissingTranslationHandler("$translateMissingTranslationHandlerLog")},this.useMissingTranslationHandler=function(e){return p=e,this},this.usePostCompiling=function(e){return _=!!e,this},this.forceAsyncReload=function(e){return A=!!e,this},this.uniformLanguageTag=function(e){return e?angular.isString(e)&&(e={standard:e}):e={},O=e.standard,this},this.determinePreferredLanguage=function(e){var t=e&&angular.isFunction(e)?e():N();return r=w.length&&F(t)||t,this},this.registerAvailableLanguageKeys=function(e,t){return e?(w=e,t&&(a=t),this):w},this.useLoaderCache=function(e){return!1===e?E=void 0:!0===e?E=!0:void 0===e?E="$translationCache":e&&(E=e),this},this.directivePriority=function(e){return void 0===e?I:(I=e,this)},this.statefulFilter=function(e){return void 0===e?L:(L=e,this)},this.postProcess=function(e){return b=e||void 0,this},this.keepContent=function(e){return V=!!e,this},this.$get=["$log","$injector","$rootScope","$q",function(e,t,n,i){var a,u,O,D=t.get(g||"$translateDefaultInterpolation"),R=!1,x={},q={},j=function(e,t,n,s,c,p){!l&&r&&(l=r);var g=c&&c!==l?F(c)||c:l;if(c&&ae(c),angular.isArray(e))return function(e){for(var r={},a=[],o=function(e){var a=i.defer(),o=function(t){r[e]=t,a.resolve([e,t])};return j(e,t,n,s,c,p).then(o,o),a.promise},l=0,d=e.length;l<d;l++)a.push(o(e[l]));return i.all(a).then(function(){return r})}(e);var f=i.defer();if(!e)throw new TypeError("translationId must be a not empty string");e=M.apply(e);var m=function(){var e=q[g]||q[r];if(u=0,d&&!e){var t=a.get(S);if(e=q[t],o&&o.length){var n=$(o,t);u=0===n?1:0,$(o,r)<0&&o.push(r)}}return e}();if(m){var h=function(){c||(g=l),ne(e,t,n,s,g,p).then(f.resolve,f.reject)};h.displayName="promiseResolved",m["finally"](h)["catch"](angular.noop)}else ne(e,t,n,s,g,p).then(f.resolve,f.reject);return f.promise},Y=function(e){return h&&(e=[h,e].join(" ")),v&&(e=[e,v].join(" ")),e},z=function(e){l=e,d&&a.put(j.storageKey(),l),n.$emit("$translateChangeSuccess",{language:e}),D.setLocale(l);var t=function(e,t){x[t].setLocale(l)};t.displayName="eachInterpolatorLocaleSetter",angular.forEach(x,t),n.$emit("$translateChangeEnd",{language:e})},K=function(e){if(!e)throw"No language key specified for loading.";var r=i.defer();n.$emit("$translateLoadingStart",{language:e}),R=!0;var a=E;"string"==typeof a&&(a=t.get(a));var o=angular.extend({},m,{key:e,$http:angular.extend({},{cache:a},m.$http)}),s=function(t){var i={};n.$emit("$translateLoadingSuccess",{language:e}),angular.isArray(t)?angular.forEach(t,function(e){angular.extend(i,G(e))}):angular.extend(i,G(t)),R=!1,r.resolve({key:e,table:i}),n.$emit("$translateLoadingEnd",{language:e})};s.displayName="onLoaderSuccess";var l=function(e){n.$emit("$translateLoadingError",{language:e}),r.reject(e),n.$emit("$translateLoadingEnd",{language:e})};return l.displayName="onLoaderError",t.get(f)(o).then(s,l),r.promise};if(d&&(!(a=t.get(d)).get||!a.put))throw new Error("Couldn't use storage '"+d+"', missing get() or put() method!");if(C.length){var J=function(e){var n=t.get(e);n.setLocale(r||l),x[n.getInterpolationIdentifier()]=n};J.displayName="interpolationFactoryAdder",angular.forEach(C,J)}var Z=function(e,t,n,r,a){var o=i.defer(),s=function(i){if(Object.prototype.hasOwnProperty.call(i,t)&&null!==i[t]){r.setLocale(e);var s=i[t];if("@:"===s.substr(0,2))Z(e,s.substr(2),n,r,a).then(o.resolve,o.reject);else{var c=r.interpolate(i[t],n,"service",a,t);c=re(t,i[t],c,n,e),o.resolve(c)}r.setLocale(l)}else o.reject()};return s.displayName="fallbackTranslationResolver",function(e){var t=i.defer();if(Object.prototype.hasOwnProperty.call(y,e))t.resolve(y[e]);else if(q[e]){var n=function(e){B(e.key,e.table),t.resolve(e.table)};n.displayName="translationTableResolver",q[e].then(n,t.reject)}else t.reject();return t.promise}(e).then(s,o.reject),o.promise},X=function(e,t,n,i,r){var a,o=y[e];if(o&&Object.prototype.hasOwnProperty.call(o,t)&&null!==o[t]){if(i.setLocale(e),a=i.interpolate(o[t],n,"filter",r,t),a=re(t,o[t],a,n,e,r),!angular.isString(a)&&angular.isFunction(a.$$unwrapTrustedValue)){var s=a.$$unwrapTrustedValue();if("@:"===s.substr(0,2))return X(e,s.substr(2),n,i,r)}else if("@:"===a.substr(0,2))return X(e,a.substr(2),n,i,r);i.setLocale(l)}return a},Q=function(e,n,i,r){return p?t.get(p)(e,l,n,i,r):e},ee=function(e,t,n,r,a,s){var l=i.defer();if(e<o.length){var c=o[e];Z(c,t,n,r,s).then(function(e){l.resolve(e)},function(){return ee(e+1,t,n,r,a,s).then(l.resolve,l.reject)})}else if(a)l.resolve(a);else{var d=Q(t,n,a);p&&d?l.resolve(d):l.reject(Y(t))}return l.promise},te=function(e,t,n,i,r){var a;if(e<o.length){var s=o[e];
39(a=X(s,t,n,i,r))||""===a||(a=te(e+1,t,n,i))}return a},ne=function(e,t,n,r,a,s){var l,c,d,g,f,m=i.defer(),h=a?y[a]:y,v=n?x[n]:D;if(h&&Object.prototype.hasOwnProperty.call(h,e)&&null!==h[e]){var E=h[e];if("@:"===E.substr(0,2))j(E.substr(2),t,n,r,a,s).then(m.resolve,m.reject);else{var b=v.interpolate(E,t,"service",s,e);b=re(e,E,b,t,a),m.resolve(b)}}else{var w;p&&!R&&(w=Q(e,t,r)),a&&o&&o.length?(l=e,c=t,d=v,g=r,f=s,ee(0<O?O:u,l,c,d,g,f)).then(function(e){m.resolve(e)},function(e){m.reject(Y(e))}):p&&!R&&w?r?m.resolve(r):m.resolve(w):r?m.resolve(r):m.reject(Y(e))}return m.promise},ie=function(e,t,n,i,r){var a,s=i?y[i]:y,l=D;if(x&&Object.prototype.hasOwnProperty.call(x,n)&&(l=x[n]),s&&Object.prototype.hasOwnProperty.call(s,e)&&null!==s[e]){var c=s[e];a="@:"===c.substr(0,2)?ie(c.substr(2),t,n,i,r):(a=l.interpolate(c,t,"filter",r,e),re(e,c,a,t,i,r))}else{var d;p&&!R&&(d=Q(e,t,r)),a=i&&o&&o.length?te((u=0)<O?O:u,e,t,l,r):p&&!R&&d?d:Y(e)}return a},re=function(e,n,i,r,a,o){var s=b;return s&&("string"==typeof s&&(s=t.get(s)),s)?s(e,n,i,r,a,o):i},ae=function(e){y[e]||!f||q[e]||(q[e]=K(e).then(function(e){return B(e.key,e.table),e}))};j.preferredLanguage=function(e){return e&&U(e),r},j.cloakClassName=function(){return P},j.nestedObjectDelimeter=function(){return T},j.fallbackLanguage=function(e){if(null!=e){if(H(e),f&&o&&o.length)for(var t=0,n=o.length;t<n;t++)q[o[t]]||(q[o[t]]=K(o[t]));j.use(j.use())}return s?o[0]:o},j.useFallbackLanguage=function(e){if(null!=e)if(e){var t=$(o,e);-1<t&&(O=t)}else O=0},j.proposedLanguage=function(){return c},j.storage=function(){return a},j.negotiateLocale=F,j.use=function(e){if(!e)return l;var t=i.defer();t.promise.then(null,angular.noop),n.$emit("$translateChangeStart",{language:e});var r=F(e);return 0<w.length&&!r?i.reject(e):(r&&(e=r),c=e,!A&&y[e]||!f||q[e]?q[e]?q[e].then(function(e){return c===e.key&&z(e.key),t.resolve(e.key),e},function(e){return!l&&o&&0<o.length&&o[0]!==e?j.use(o[0]).then(t.resolve,t.reject):t.reject(e)}):(t.resolve(e),z(e)):(q[e]=K(e).then(function(n){return B(n.key,n.table),t.resolve(n.key),c===e&&z(n.key),n},function(e){return n.$emit("$translateChangeError",{language:e}),t.reject(e),n.$emit("$translateChangeEnd",{language:e}),i.reject(e)}),q[e]["finally"](function(){var t;c===(t=e)&&(c=void 0),q[t]=void 0})["catch"](angular.noop)),t.promise)},j.resolveClientLocale=function(){return N()},j.storageKey=function(){return W()},j.isPostCompilingEnabled=function(){return _},j.isForceAsyncReloadEnabled=function(){return A},j.isKeepContent=function(){return V},j.refresh=function(e){function t(e){var t=K(e);return(q[e]=t).then(function(t){y[e]={},B(e,t.table),a[e]=!0},angular.noop),t}if(!f)throw new Error("Couldn't refresh translation table, no loader registered!");n.$emit("$translateRefreshStart",{language:e});var r=i.defer(),a={};if(r.promise.then(function(){for(var e in y)y.hasOwnProperty(e)&&(e in a||delete y[e]);l&&z(l)},angular.noop)["finally"](function(){n.$emit("$translateRefreshEnd",{language:e})}),e)y[e]?t(e).then(r.resolve,r.reject):r.reject();else{var s=o&&o.slice()||[];l&&-1===s.indexOf(l)&&s.push(l),i.all(s.map(t)).then(r.resolve,r.reject)}return r.promise},j.instant=function(e,t,n,i,a){var s=i&&i!==l?F(i)||i:l;if(null===e||angular.isUndefined(e))return e;if(i&&ae(i),angular.isArray(e)){for(var c={},d=0,u=e.length;d<u;d++)c[e[d]]=j.instant(e[d],t,n,i,a);return c}if(angular.isString(e)&&e.length<1)return e;e&&(e=M.apply(e));var g,f,m=[];r&&m.push(r),s&&m.push(s),o&&o.length&&(m=m.concat(o));for(var E=0,b=m.length;E<b;E++){var w=m[E];if(y[w]&&void 0!==y[w][e]&&(g=ie(e,t,n,s,a)),void 0!==g)break}return g||""===g||(h||v?g=Y(e):(g=D.interpolate(e,t,"filter",a),p&&!R&&(f=Q(e,t,a)),p&&!R&&f&&(g=f))),g},j.versionInfo=function(){return"2.18.4"},j.loaderCache=function(){return E},j.directivePriority=function(){return I},j.statefulFilter=function(){return L},j.isReady=function(){return k};var oe=i.defer();oe.promise.then(function(){k=!0}),j.onReady=function(e){var t=i.defer();return angular.isFunction(e)&&t.promise.then(e),k?t.resolve():oe.promise.then(t.resolve),t.promise},j.getAvailableLanguageKeys=function(){return 0<w.length?w:null},j.getTranslationTable=function(e){return(e=e||j.use())&&y[e]?angular.copy(y[e]):null};var se=n.$on("$translateReady",function(){oe.resolve(),se(),se=null}),le=n.$on("$translateChangeEnd",function(){oe.resolve(),le(),le=null});if(f){if(angular.equals(y,{})&&j.use()&&j.use(j.use()),o&&o.length)for(var ce=function(e){return B(e.key,e.table),n.$emit("$translateChangeEnd",{language:e.key}),e},de=0,ue=o.length;de<ue;de++){var pe=o[de];!A&&y[pe]||(q[pe]=K(pe).then(ce))}}else n.$emit("$translateReady",{language:j.use()});return j}]}function n(e,t){"use strict";var n={};return n.setLocale=function(e){},n.getInterpolationIdentifier=function(){return"default"}
39,n.useSanitizeValueStrategy=function(e){return t.useStrategy(e),this},n.interpolate=function(n,i,r,a,o){var s;return i=i||{},i=t.sanitize(i,"params",a,r),s=angular.isNumber(n)?""+n:angular.isString(n)?(s=e(n)(i),t.sanitize(s,"text",a,r)):""},n}function i(e,t,n,i,r){"use strict";var a=function(e){return angular.isString(e)?e.toLowerCase():e};return{restrict:"AE",scope:!0,priority:e.directivePriority(),compile:function(o,s){var l=s.translateValues?s.translateValues:void 0,c=s.translateInterpolation?s.translateInterpolation:void 0,d=s.translateSanitizeStrategy?s.translateSanitizeStrategy:void 0,u=o[0].outerHTML.match(/translate-value-+/i),p="^(.*)("+t.startSymbol()+".*"+t.endSymbol()+")(.*)",g="^(.*)"+t.startSymbol()+"(.*)"+t.endSymbol()+"(.*)";return function(o,f,m){o.interpolateParams={},o.preText="",o.postText="",o.translateNamespace=function T(e){return e.translateNamespace?e.translateNamespace:e.$parent?T(e.$parent):void 0}(o);var h={},v=function(e){if(angular.isFunction(v._unwatchOld)&&(v._unwatchOld(),v._unwatchOld=void 0),angular.equals(e,"")||!angular.isDefined(e)){var n=function(){return this.toString().replace(/^\s+|\s+$/g,"")}.apply(f.text()).replace(/\n/g," "),i=n.match(p);if(angular.isArray(i)){o.preText=i[1],o.postText=i[3],h.translate=t(i[2])(o.$parent);var r=n.match(g);angular.isArray(r)&&r[2]&&r[2].length&&(v._unwatchOld=o.$watch(r[2],function(e){h.translate=e,C()}))}else h.translate=n||void 0}else h.translate=e;C()},E=function(e){m.$observe(e,function(t){h[e]=t,C()})};!function(e,t,n){if(t.translateValues&&angular.extend(e,i(t.translateValues)(o.$parent)),u)for(var r in n)Object.prototype.hasOwnProperty.call(t,r)&&"translateValue"===r.substr(0,14)&&"translateValues"!==r&&(e[a(r.substr(14,1))+r.substr(15)]=n[r])}(o.interpolateParams,m,s);var b=!0;for(var y in m.$observe("translate",function(e){void 0===e?v(""):""===e&&b||(h.translate=e,C()),b=!1}),m)m.hasOwnProperty(y)&&"translateAttr"===y.substr(0,13)&&13<y.length&&E(y);if(m.$observe("translateDefault",function(e){o.defaultText=e,C()}),d&&m.$observe("translateSanitizeStrategy",function(e){o.sanitizeStrategy=i(e)(o.$parent),C()}),l&&m.$observe("translateValues",function(e){e&&o.$parent.$watch(function(){angular.extend(o.interpolateParams,i(e)(o.$parent))})}),u){var w=function(e){m.$observe(e,function(t){var n=a(e.substr(14,1))+e.substr(15);o.interpolateParams[n]=t})};for(var S in m)Object.prototype.hasOwnProperty.call(m,S)&&"translateValue"===S.substr(0,14)&&"translateValues"!==S&&w(S)}var C=function(){for(var e in h)h.hasOwnProperty(e)&&void 0!==h[e]&&P(e,h[e],o,o.interpolateParams,o.defaultText,o.translateNamespace)},P=function(t,n,i,r,a,o){n?(o&&"."===n.charAt(0)&&(n=o+n),e(n,r,c,a,i.translateLanguage,i.sanitizeStrategy).then(function(e){_(e,i,!0,t)},function(e){_(e,i,!1,t)})):_(n,i,!1,t)},_=function(t,i,r,a){if(r||void 0!==i.defaultText&&(t=i.defaultText),"translate"===a){(r||!r&&!e.isKeepContent()&&void 0===m.translateKeepContent)&&f.empty().append(i.preText+t+i.postText);var o=e.isPostCompilingEnabled(),l=void 0!==s.translateCompile,c=l&&"false"!==s.translateCompile;(o&&!l||c)&&n(f.contents())(i)}else{var d=m.$attr[a];"data-"===d.substr(0,5)&&(d=d.substr(5)),d=d.substr(15),f.attr(d,t)}};(l||u||m.translateDefault)&&o.$watch("interpolateParams",C,!0),o.$on("translateLanguageChanged",C);var A=r.$on("$translateChangeSuccess",C);f.text().length?v(m.translate?m.translate:""):m.translate&&v(m.translate),C(),o.$on("$destroy",A)}}}}function r(e,t){"use strict";return{restrict:"A",priority:e.directivePriority(),link:function(n,i,r){var o,s,l,c={},d=function(){angular.forEach(o,function(t,a){t&&(c[a]=!0,n.translateNamespace&&"."===t.charAt(0)&&(t=n.translateNamespace+t),e(t,s,r.translateInterpolation,void 0,n.translateLanguage,l).then(function(e){i.attr(a,e)},function(e){i.attr(a,e)}))}),angular.forEach(c,function(e,t){o[t]||(i.removeAttr(t),delete c[t])})};a(n,r.translateAttr,function(e){o=e},d),a(n,r.translateValues,function(e){s=e},d),a(n,r.translateSanitizeStrategy,function(e){l=e},d),r.translateValues&&n.$watch(r.translateValues,d,!0),n.$on("translateLanguageChanged",d);var u=t.$on("$translateChangeSuccess",d);d(),n.$on("$destroy",u)}}}function a(e,t,n,i){"use strict";
39t&&("::"===t.substr(0,2)?t=t.substr(2):e.$watch(t,function(e){n(e),i()},!0),n(e.$eval(t)))}function o(e,t){"use strict";return{compile:function(n){var i=function(t){t.addClass(e.cloakClassName())};return i(n),function(n,r,a){var o=function(t){t.removeClass(e.cloakClassName())}.bind(this,r),s=i.bind(this,r);a.translateCloak&&a.translateCloak.length?(a.$observe("translateCloak",function(t){e(t).then(o,s)}),t.$on("$translateChangeSuccess",function(){e(a.translateCloak).then(o,s)})):e.onReady(o)}}}}function s(){"use strict";return{restrict:"A",scope:!0,compile:function(){return{pre:function(e,t,n){e.translateNamespace=function i(e){return e.translateNamespace?e.translateNamespace:e.$parent?i(e.$parent):void 0}(e),e.translateNamespace&&"."===n.translateNamespace.charAt(0)?e.translateNamespace+=n.translateNamespace:e.translateNamespace=n.translateNamespace}}}}}function l(){"use strict";return{restrict:"A",scope:!0,compile:function(){return function(e,t,n){n.$observe("translateLanguage",function(t){e.translateLanguage=t}),e.$watch("translateLanguage",function(){e.$broadcast("translateLanguageChanged")})}}}}function c(e,t){"use strict";var n=function(n,i,r,a){if(!angular.isObject(i)){var o=this||{__SCOPE_IS_NOT_AVAILABLE:"More info at https://github.com/angular/angular.js/commit/8863b9d04c722b278fa93c5d66ad1e578ad6eb1f"};i=e(i)(o)}return t.instant(n,i,r,a)};return t.statefulFilter()&&(n.$stateful=!0),n}function d(e){"use strict";return e("translations")}return e.$inject=["$translate"],t.$inject=["$STORAGE_KEY","$windowProvider","$translateSanitizationProvider","pascalprechtTranslateOverrider"],n.$inject=["$interpolate","$translateSanitization"],i.$inject=["$translate","$interpolate","$compile","$parse","$rootScope"],r.$inject=["$translate","$rootScope"],o.$inject=["$translate","$rootScope"],c.$inject=["$parse","$translate"],d.$inject=["$cacheFactory"],angular.module("pascalprecht.translate",["ng"]).run(e),e.displayName="runTranslate",angular.module("pascalprecht.translate").provider("$translateSanitization",function(){"use strict";var e,t,n,i=null,r=!1,a=!1;(n={sanitize:function(e,t){return"text"===t&&(e=s(e)),e},escape:function(e,t){return"text"===t&&(e=o(e)),e},sanitizeParameters:function(e,t){return"params"===t&&(e=c(e,s)),e},escapeParameters:function(e,t){return"params"===t&&(e=c(e,o)),e},sce:function(e,t,n){return"text"===t?e=l(e):"params"===t&&"filter"!==n&&(e=c(e,o)),e},sceParameters:function(e,t){return"params"===t&&(e=c(e,l)),e}}).escaped=n.escapeParameters,this.addStrategy=function(e,t){return n[e]=t,this},this.removeStrategy=function(e){return delete n[e],this},this.useStrategy=function(e){return r=!0,i=e,this},this.$get=["$injector","$log",function(o,s){var l,c={};return o.has("$sanitize")&&(e=o.get("$sanitize")),o.has("$sce")&&(t=o.get("$sce")),{useStrategy:(l=this,function(e){l.useStrategy(e)}),sanitize:function(e,t,l,d){if(i||r||a||(s.warn("pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details."),a=!0),l||null===l||(l=i),!l)return e;d||(d="service");var u,p,g,f,m=angular.isArray(l)?l:[l];return u=e,p=t,g=d,f=m,angular.forEach(f,function(e){if(angular.isFunction(e))u=e(u,p,g);else if(angular.isFunction(n[e]))u=n[e](u,p,g);else{if(!angular.isString(n[e]))throw new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+e+"'");if(!c[n[e]])try{c[n[e]]=o.get(n[e])}catch(t){throw c[n[e]]=function(){},new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+e+"'")}u=c[n[e]](u,p,g)}}),u}}}];var o=function(e){var t=angular.element("<div></div>");return t.text(e),t.html()},s=function(t){if(!e)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'.");return e(t)},l=function(e){if(!t)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sce service.");return t.trustAsHtml(e)},c=function(e,t,n){if(angular.isDate(e))return e;if(angular.isObject(e)){var i=angular.isArray(e)?[]:{};if(n){if(-1<n.indexOf(e))throw new Error("pascalprecht.translate.$translateSanitization: Error cannot interpolate parameter due recursive object")}else n=[];return n.push(e),angular.forEach(e,function(e,r){angular.isFunction(e)||(i[r]=c(e,t,n))}),n.splice(-1,1),i}return angular.isNumber(e)?e:!0===e||!1===e?e:angular.isUndefined(e)||null===e?e:t(e)}}),angular.module("pascalprecht.translate").constant("pascalprechtTranslateOverrider",{}).provider("$translate",t),t.displayName="displayName",angular.module("pascalprecht.translate").factory("$translateDefaultInterpolation",n),n.displayName="$translateDefaultInterpolation",angular.module("pascalprecht.translate").constant("$STORAGE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("pascalprecht.translate").directive("translate",i
vendor: 17,093 bytes, lines 39-40
39),i.displayName="translateDirective",angular.module("pascalprecht.translate").directive("translateAttr",r),r.displayName="translateAttrDirective",angular.module("pascalprecht.translate").directive("translateCloak",o),o.displayName="translateCloakDirective",angular.module("pascalprecht.translate").directive("translateNamespace",s),s.displayName="translateNamespaceDirective",angular.module("pascalprecht.translate").directive("translateLanguage",l),l.displayName="translateLanguageDirective",angular.module("pascalprecht.translate").filter("translate",c),c.displayName="translateFilterFactory",angular.module("pascalprecht.translate").factory("$translationCache",d),d.displayName="$translationCache","pascalprecht.translate"}),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.isClass","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.stackedMap","ui.bootstrap.modal"]),angular.module("ui.bootstrap.tpls",["uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/popup.html","uib/template/datepicker/year.html","uib/template/modal/backdrop.html","uib/template/modal/window.html"]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","dateFilter","orderByFilter",function(e,t,n,i){function r(e,t){var n=[],r=e.split(""),a=e.indexOf("'");if(a>-1){var o=!1;e=e.split("");for(var s=a;s<e.length;s++)o?("'"===e[s]&&(s+1<e.length&&"'"===e[s+1]?(e[s+1]="$",r[s+1]=""):(r[s]="",o=!1)),e[s]="$"):"'"===e[s]&&(e[s]="$",r[s]="",o=!0);e=e.join("")}return angular.forEach(g,function(i){var a=e.indexOf(i.key);if(a>-1){e=e.split(""),r[a]="("+i.regex+")",e[a]="$";for(var o=a+1,s=a+i.key.length;o<s;o++)r[o]="", 40e[o]="$";e=e.join(""),n.push({index:a,key:i.key,apply:i[t],matcher:i.regex})}}),{regex:new RegExp("^"+r.join("")+"$"),map:i(n,"index")}}function a(e,t,n){return!(n<1)&&(1===t&&n>28?29===n&&(e%4===0&&e%100!==0||e%400===0):3!==t&&5!==t&&8!==t&&10!==t||n<31)}function o(e){return parseInt(e,10)}function s(e,t){return e&&t?u(e,t):e}function l(e,t){return e&&t?u(e,t,!0):e}function c(e,t){var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function d(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function u(e,t,n){n=n?-1:1;var i=c(t,e.getTimezoneOffset());return d(e,n*(i-e.getTimezoneOffset()))}var p,g,f=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){p=t.id,this.parsers={},this.formatters={},g=[{key:"yyyy",regex:"\\d{4}",apply:function(e){this.year=+e},formatter:function(e){var t=new Date;return t.setFullYear(Math.abs(e.getFullYear())),n(t,"yyyy")}},{key:"yy",regex:"\\d{2}",apply:function(e){this.year=+e+2e3},formatter:function(e){var t=new Date;return t.setFullYear(Math.abs(e.getFullYear())),n(t,"yy")}},{key:"y",regex:"\\d{1,4}",apply:function(e){this.year=+e},formatter:function(e){var t=new Date;return t.setFullYear(Math.abs(e.getFullYear())),n(t,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(e){this.month=e-1},formatter:function(e){var t=e.getMonth();return/^[0-9]$/.test(t)?n(e,"MM"):n(e,"M")}},{key:"MMMM",regex:t.DATETIME_FORMATS.MONTH.join("|"),apply:function(e){this.month=t.DATETIME_FORMATS.MONTH.indexOf(e)},formatter:function(e){return n(e,"MMMM")}},{key:"MMM",regex:t.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(e){this.month=t.DATETIME_FORMATS.SHORTMONTH.indexOf(e)},formatter:function(e){return n(e,"MMM")}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(e){this.month=e-1},formatter:function(e){return n(e,"MM")}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(e){this.month=e-1},formatter:function(e){return n(e,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(e){this.date=+e},formatter:function(e){var t=e.getDate();return/^[1-9]$/.test(t)?n(e,"dd"):n(e,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(e){this.date=+e},formatter:function(e){return n(e,"dd")}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(e){this.date=+e},formatter:function(e){return n(e,"d")}},{key:"EEEE",regex:t.DATETIME_FORMATS.DAY.join("|"),formatter:function(e){return n(e,"EEEE")}},{key:"EEE",regex:t.DATETIME_FORMATS.SHORTDAY.join("|"),formatter:function(e){return n(e,"EEE")}},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(e){this.minutes=+e},formatter:function(e){return n(e,"mm")}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(e){this.minutes=+e},formatter:function(e){return n(e,"m")}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(e){this.milliseconds=+e},formatter:function(e){return n(e,"sss")}},{key:"ss",regex:"[0-5][0-9]",apply:function(e){this.seconds=+e},formatter:function(e){return n(e,"ss")}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(e){this.seconds=+e},formatter:function(e){return n(e,"s")}},{key:"a",regex:t.DATETIME_FORMATS.AMPMS.join("|"),apply:function(e){12===this.hours&&(this.hours=0),"PM"===e&&(this.hours+=12)},formatter:function(e){return n(e,"a")}},{key:"Z",regex:"[+-]\\d{4}",apply:function(e){var t=e.match(/([+-])(\d{2})(\d{2})/),n=t[1],i=t[2],r=t[3];this.hours+=o(n+i),this.minutes+=o(n+r)},formatter:function(e){return n(e,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(e){return n(e,"ww")}},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]",formatter:function(e){return n(e,"w")}},{key:"GGGG",regex:t.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s"),formatter:function(e){return n(e,"GGGG")}},{key:"GGG",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(e){return n(e,"GGG")}},{key:"GG",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(e){return n(e,"GG")}},{key:"G",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(e){return n(e,"G")}}]},this.init(),this.filter=function(e,n){if(!angular.isDate(e)||isNaN(e)||!n)return"";n=t.DATETIME_FORMATS[n]||n,t.id!==p&&this.init(),this.formatters[n]||(this.formatters[n]=r(n,"formatter"));var i=this.formatters[n],a=i.map,o=n;return a.reduce(function(t,n,i){var r=o.match(new RegExp("(.*)"+n.key));r&&angular.isString(r[1])&&(t+=r[1],o=o.replace(r[1]+n.key,""));var s=i===a.length-1?o:"";return n.apply?t+n.apply.call(null,e)+s:t+s},"")},this.parse=function(n,i,o){if(!angular.isString(n)||!i)return n;i=t.DATETIME_FORMATS[i]||i,i=i.replace(f,"\\$&"),t.id!==p&&this.init(),this.parsers[i]||(this.parsers[i]=r(i,"apply"));var s=this.parsers[i],l=s.regex,c=s.map,d=n.match(l),u=!1;if(d&&d.length){var g,m;angular.isDate(o)&&!isNaN(o.getTime())?g={year:o.getFullYear(),month:o.getMonth(),date:o.getDate(),hours:o.getHours(),minutes:o.getMinutes(),seconds:o.getSeconds(),milliseconds:o.getMilliseconds()}:(o&&e.warn("dateparser:","baseDate is not a valid date"),g={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var h=1,v=d.length;h<v;h++){var E=c[h-1];"Z"===E.matcher&&(u=!0),E.apply&&E.apply.call(g,d[h])}var b=u?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,y=u?Date.prototype.setUTCHours:Date.prototype.setHours;return a(g.year,g.month,g.date)&&(!angular.isDate(o)||isNaN(o.getTime())||u?(m=new Date(0),b.call(m,g.year,g.month,g.date),y.call(m,g.hours||0,g.minutes||0,g.seconds||0,g.milliseconds||0)):(m=new Date(o),b.call(m,g.year,g.month,g.date),y.call(m,g.hours,g.minutes,g.seconds,g.milliseconds))),m}},this.toTimezone=s,this.fromTimezone=l,this.timezoneToOffset=c,this.addDateMinutes=d,this.convertTimezoneToLocal=u}]),angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function(e){var t=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,n=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(i,r){function a(e,t,n){l.push(e),c.push({scope:e,element:t}),f.forEach(function(t,n){o(t,e)}),e.$on("$destroy",s)}function o(t,i){var r=t.match(n),a=i.$eval(r[1]),o=r[2],s=d[t];if(!s){var l=function(t){var n=null;c.some(function(e){var i=e.scope.$eval(p);if(i===t)return n=e,!0}),s.lastActivated!==n&&(s.lastActivated&&e.removeClass(s.lastActivated.element,a),n&&e.addClass(n.element,a),s.lastActivated=n)};d[t]=s={lastActivated:null,scope:i,watchFn:l,compareWithExp:o,watcher:i.$watch(o,l)}}s.watchFn(i.$eval(o))}function s(e){var t=e.targetScope,n=l.indexOf(t);if(l.splice(n,1),c.splice(n,1),l.length){var i=l[0];angular.forEach(d,function(e){e.scope===t&&(e.watcher=i.$watch(e.compareWithExp,e.watchFn),e.scope=i)})}else d={}}var l=[],c=[],d={},u=r.uibIsClass.match(t),p=u[2],g=u[1],f=g.split(",");return a}}}]),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(e,t){var n,i={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},r={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/};return{getRawNode:function(e){return e.nodeName?e:e[0]||e},parseStyle:function(e){return e=parseFloat(e),isFinite(e)?e:0},offsetParent:function(n){function i(e){return"static"===(t.getComputedStyle(e).position||"static")}n=this.getRawNode(n);for(var r=n.offsetParent||e[0].documentElement;r&&r!==e[0].documentElement&&i(r);)r=r.offsetParent;return r||e[0].documentElement},scrollbarWidth:function(){if(angular.isUndefined(n)){var t=angular.element('<div class="uib-position-scrollbar-measure"></div>');e.find("body").append(t),n=t[0].offsetWidth-t[0].clientWidth,n=isFinite(n)?n:0,t.remove()}return n},isScrollable:function(e,n){e=this.getRawNode(e);var r=n?i.hidden:i.normal,a=t.getComputedStyle(e);return r.test(a.overflow+a.overflowY+a.overflowX)},scrollParent:function(n,r){n=this.getRawNode(n);var a=r?i.hidden:i.normal,o=e[0].documentElement,s=t.getComputedStyle(n),l="absolute"===s.position,c=n.parentElement||o;if(c===o||"fixed"===s.position)return o;for(;c.parentElement&&c!==o;){var d=t.getComputedStyle(c);if(l&&"static"!==d.position&&(l=!1),!l&&a.test(d.overflow+d.overflowY+d.overflowX))break;c=c.parentElement}return c},position:function(n,i){n=this.getRawNode(n);var r=this.offset(n);if(i){var a=t.getComputedStyle(n);r.top-=this.parseStyle(a.marginTop),r.left-=this.parseStyle(a.marginLeft)}var o=this.offsetParent(n),s={top:0,left:0};return o!==e[0].documentElement&&(s=this.offset(o),s.top+=o.clientTop-o.scrollTop,s.left+=o.clientLeft-o.scrollLeft),{width:Math.round(angular.isNumber(r.width)?r.width:n.offsetWidth),height:Math.round(angular.isNumber(r.height)?r.height:n.offsetHeight),top:Math.round(r.top-s.top),left:Math.round(r.left-s.left)}},offset:function(n){n=this.getRawNode(n);var i=n.getBoundingClientRect();return{width:Math.round(angular.isNumber(i.width)?i.width:n.offsetWidth),height:Math.round(angular.isNumber(i.height)?i.height:n.offsetHeight),top:Math.round(i.top+(t.pageYOffset||e[0].documentElement.scrollTop)),left:Math.round(i.left+(t.pageXOffset||e[0].documentElement.scrollLeft))}},viewportOffset:function(n,i,r){n=this.getRawNode(n),r=r!==!1;var a=n.getBoundingClientRect(),o={top:0,left:0,bottom:0,right:0},s=i?e[0].documentElement:this.scrollParent(n),l=s.getBoundingClientRect();if(o.top=l.top+s.clientTop,o.left=l.left+s.clientLeft,s===e[0].documentElement&&(o.top+=t.pageYOffset,o.left+=t.pageXOffset),o.bottom=o.top+s.clientHeight,o.right=o.left+s.clientWidth,r){var c=t.getComputedStyle(s);o.top+=this.parseStyle(c.paddingTop),o.bottom-=this.parseStyle(c.paddingBottom),o.left+=this.parseStyle(c.paddingLeft),o.right-=this.parseStyle(c.paddingRight)}return{top:Math.round(a.top-o.top),bottom:Math.round(o.bottom-a.bottom),left:Math.round(a.left-o.left),right:Math.round(o.right-a.right)}},parsePlacement:function(e){var t=r.auto.test(e);return t&&(e=e.replace(r.auto,"")),e=e.split("-"),e[0]=e[0]||"top",r.primary.test(e[0])||(e[0]="top"),e[1]=e[1]||"center",r.secondary.test(e[1])||(e[1]="center"),t?e[2]=!0:e[2]=!1,e},positionElements:function(e,n,i,a){e=this.getRawNode(e),n=this.getRawNode(n);var o=angular.isDefined(n.offsetWidth)?n.offsetWidth:n.prop("offsetWidth"),s=angular.isDefined(n.offsetHeight)?n.offsetHeight:n.prop("offsetHeight");i=this.parsePlacement(i);var l=a?this.offset(e):this.position(e),c={top:0,left:0,placement:""};if(i[2]){var d=this.viewportOffset(e,a),u=t.getComputedStyle(n),p={width:o+Math.round(Math.abs(this.parseStyle(u.marginLeft)+this.parseStyle(u.marginRight))),height:s+Math.round(Math.abs(this.parseStyle(u.marginTop)+this.parseStyle(u.marginBottom)))};if(i[0]="top"===i[0]&&p.height>d.top&&p.height<=d.bottom?"bottom":"bottom"===i[0]&&p.height>d.bottom&&p.height<=d.top?"top":"left"===i[0]&&p.width>d.left&&p.width<=d.right?"right":"right"===i[0]&&p.width>d.right&&p.width<=d.left?"left":i[0],i[1]="top"===i[1]&&p.height-l.height>d.bottom&&p.height-l.height<=d.top?"bottom":"bottom"===i[1]&&p.height-l.height>d.top&&p.height-l.height<=d.bottom?"top":"left"===i[1]&&p.width-l.width>d.right&&p.width-l.width<=d.left?"right":"right"===i[1]&&p.width-l.width>d.left&&p.width-l.width<=d.right?"left":i[1],"center"===i[1])if(r.vertical.test(i[0])){var g=l.width/2-o/2;d.left+g<0&&p.width-l.width<=d.right?i[1]="left":d.right+g<0&&p.width-l.width<=d.left&&(i[1]="right")}else{var f=l.height/2-p.height/2;d.top+f<0&&p.height-l.height<=d.bottom?i[1]="top":d.bottom+f<0&&p.height-l.height<=d.top&&(i[1]="bottom")}}switch(i[0]){case"top":c.top=l.top-s;break;case"bottom":c.top=l.top+l.height;break;case"left":c.left=l.left-o;break;case"right":c.left=l.left+l.width}switch(i[1]){case"top":c.top=l.top;break;case"bottom":c.top=l.top+l.height-s;break;case"left":c.left=l.left;break;case"right":c.left=l.left+l.width-o;break;case"center":r.vertical.test(i[0])?c.left=l.left+l.width/2-o/2:c.top=l.top+l.height/2-s/2}return c.top=Math.round(c.top),c.left=Math.round(c.left),c.placement="center"===i[1]?i[0]:i[0]+"-"+i[1],c},positionArrow:function(e,n){e=this.getRawNode(e);var i=e.querySelector(".tooltip-inner, .popover-inner");if(i){var a=angular.element(i).hasClass("tooltip-inner"),o=a?e.querySelector(".tooltip-arrow"):e.querySelector(".arrow");if(o){var s={top:"",bottom:"",left:"",right:""};if(n=this.parsePlacement(n),"center"===n[1])return void angular.element(o).css(s);var l="border-"+n[0]+"-width",c=t.getComputedStyle(o)[l],d="border-";d+=r.vertical.test(n[0])?n[0]+"-"+n[1]:n[1]+"-"+n[0],d+="-radius";var u=t.getComputedStyle(a?i:e)[d];switch(n[0]){case"top":s.bottom=a?"0":"-"+c;break;case"bottom":s.top=a?"0":"-"+c;break;case"left":s.right=a?"0":"-"+c;break;case"right":s.left=a?"0":"-"+c}s[n[1]]=u,angular.element(o).css(s)}}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.position"]).value("$datepickerSuppressError",!1).value("uibDatepickerAttributeWarning",!0).constant("uibDatepickerConfig",{datepickerMode:"day",formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",maxDate:null,maxMode:"year",minDate:null,minMode:"day",ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller("UibDatepickerController",["$scope","$attrs","$parse","$interpolate","$locale","$log","dateFilter","uibDatepickerConfig","$datepickerSuppressError","uibDatepickerAttributeWarning","uibDateParser",function(e,t,n,i,r,a,o,s,l,c,d){function u(t){e.datepickerMode=t,h&&(e.datepickerOptions.datepickerMode=t)}var p=this,g={$setViewValue:angular.noop},f={},m=[],h=!!t.datepickerOptions;if(this.modes=["day","month","year"],h)["customClass","dateDisabled","datepickerMode","formatDay","formatDayHeader","formatDayTitle","formatMonth","formatMonthTitle","formatYear","initDate","maxDate","maxMode","minDate","minMode","showWeeks","shortcutPropagation","startingDay","yearColumns","yearRows"].forEach(function(t){switch(t){case"customClass":case"dateDisabled":e[t]=e.datepickerOptions[t]||angular.noop;break;case"datepickerMode":e.datepickerMode=angular.isDefined(e.datepickerOptions.datepickerMode)?e.datepickerOptions.datepickerMode:s.datepickerMode;break;case"formatDay":case"formatDayHeader":case"formatDayTitle":case"formatMonth":case"formatMonthTitle":case"formatYear":p[t]=angular.isDefined(e.datepickerOptions[t])?i(e.datepickerOptions[t])(e.$parent):s[t];break;case"showWeeks":case"shortcutPropagation":case"yearColumns":case"yearRows":p[t]=angular.isDefined(e.datepickerOptions[t])?e.datepickerOptions[t]:s[t];break;case"startingDay":angular.isDefined(e.datepickerOptions.startingDay)?p.startingDay=e.datepickerOptions.startingDay:angular.isNumber(s.startingDay)?p.startingDay=s.startingDay:p.startingDay=(r.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case"maxDate":case"minDate":e.datepickerOptions[t]?e.$watch(function(){return e.datepickerOptions[t]},function(e){e?angular.isDate(e)?p[t]=d.fromTimezone(new Date(e),f.timezone):p[t]=new Date(o(e,"medium")):p[t]=null,p.refreshView()}):p[t]=s[t]?d.fromTimezone(new Date(s[t]),f.timezone):null;break;
40case"maxMode":case"minMode":e.datepickerOptions[t]?e.$watch(function(){return e.datepickerOptions[t]},function(n){p[t]=e[t]=angular.isDefined(n)?n:datepickerOptions[t],("minMode"===t&&p.modes.indexOf(e.datepickerOptions.datepickerMode)<p.modes.indexOf(p[t])||"maxMode"===t&&p.modes.indexOf(e.datepickerOptions.datepickerMode)>p.modes.indexOf(p[t]))&&(e.datepickerMode=p[t],e.datepickerOptions.datepickerMode=p[t])}):p[t]=e[t]=s[t]||null;break;case"initDate":e.datepickerOptions.initDate?(p.activeDate=d.fromTimezone(e.datepickerOptions.initDate,f.timezone)||new Date,e.$watch(function(){return e.datepickerOptions.initDate},function(e){e&&(g.$isEmpty(g.$modelValue)||g.$invalid)&&(p.activeDate=d.fromTimezone(e,f.timezone),p.refreshView())})):p.activeDate=new Date}});else{if(angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle"],function(n){p[n]=angular.isDefined(t[n])?i(t[n])(e.$parent):s[n],angular.isDefined(t[n])&&c&&a.warn("uib-datepicker "+n+" attribute usage is deprecated, use datepicker-options attribute instead")}),angular.forEach(["showWeeks","yearRows","yearColumns","shortcutPropagation"],function(n){p[n]=angular.isDefined(t[n])?e.$parent.$eval(t[n]):s[n],angular.isDefined(t[n])&&c&&a.warn("uib-datepicker "+n+" attribute usage is deprecated, use datepicker-options attribute instead")}),angular.forEach(["dateDisabled","customClass"],function(e){angular.isDefined(t[e])&&c&&a.warn("uib-datepicker "+e+" attribute usage is deprecated, use datepicker-options attribute instead")}),angular.isDefined(t.startingDay)?(c&&a.warn("uib-datepicker startingDay attribute usage is deprecated, use datepicker-options attribute instead"),p.startingDay=e.$parent.$eval(t.startingDay)):angular.isNumber(s.startingDay)?p.startingDay=s.startingDay:p.startingDay=(r.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7,angular.forEach(["minDate","maxDate"],function(n){t[n]?(c&&a.warn("uib-datepicker "+n+" attribute usage is deprecated, use datepicker-options attribute instead"),m.push(e.$parent.$watch(t[n],function(e){e?angular.isDate(e)?p[n]=d.fromTimezone(new Date(e),f.timezone):p[n]=new Date(o(e,"medium")):p[n]=null,p.refreshView()}))):p[n]=s[n]?d.fromTimezone(new Date(s[n]),f.timezone):null}),angular.forEach(["minMode","maxMode"],function(n){t[n]?(c&&a.warn("uib-datepicker "+n+" attribute usage is deprecated, use datepicker-options attribute instead"),m.push(e.$parent.$watch(t[n],function(i){p[n]=e[n]=angular.isDefined(i)?i:t[n],("minMode"===n&&p.modes.indexOf(e.datepickerMode)<p.modes.indexOf(p[n])||"maxMode"===n&&p.modes.indexOf(e.datepickerMode)>p.modes.indexOf(p[n]))&&(e.datepickerMode=p[n])}))):p[n]=e[n]=s[n]||null}),angular.isDefined(t.initDate)){c&&a.warn("uib-datepicker initDate attribute usage is deprecated, use datepicker-options attribute instead");var v=d.fromTimezone(e.$parent.$eval(t.initDate),f.timezone);this.activeDate=isNaN(v)?new Date:v,m.push(e.$parent.$watch(t.initDate,function(e){e&&(g.$isEmpty(g.$modelValue)||g.$invalid)&&(e=d.fromTimezone(e,f.timezone),p.activeDate=isNaN(e)?new Date:e,p.refreshView())}))}else this.activeDate=new Date;t.datepickerMode&&c&&a.warn("uib-datepicker datepickerMode attribute usage is deprecated, use datepicker-options attribute instead"),e.datepickerMode=e.datepickerMode||s.datepickerMode}e.uniqueId="datepicker-"+e.$id+"-"+Math.floor(1e4*Math.random()),e.disabled=angular.isDefined(t.disabled)||!1,angular.isDefined(t.ngDisabled)&&m.push(e.$parent.$watch(t.ngDisabled,function(t){e.disabled=t,p.refreshView()})),e.isActive=function(t){return 0===p.compare(t.date,p.activeDate)&&(e.activeDateId=t.uid,!0)},this.init=function(e){g=e,f=e.$options||s.ngModelOptions,this.activeDate=g.$modelValue?d.fromTimezone(new Date(g.$modelValue),f.timezone):d.fromTimezone(new Date,f.timezone),g.$render=function(){p.render()}},this.render=function(){if(g.$viewValue){var e=new Date(g.$viewValue),t=!isNaN(e);t?this.activeDate=d.fromTimezone(e,f.timezone):l||a.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){e.selectedDt=null,this._refreshView(),e.activeDt&&(e.activeDateId=e.activeDt.uid);var t=g.$viewValue?new Date(g.$viewValue):null;t=d.fromTimezone(t,f.timezone),g.$setValidity("dateDisabled",!t||this.element&&!this.isDisabled(t))}},this.createDateObject=function(t,n){var i=g.$viewValue?new Date(g.$viewValue):null;i=d.fromTimezone(i,f.timezone);var r=new Date;r=d.fromTimezone(r,f.timezone);var a=this.compare(t,r),o={date:t,label:d.filter(t,n),selected:i&&0===this.compare(t,i),disabled:this.isDisabled(t),past:a<0,current:0===a,future:a>0,customClass:this.customClass(t)||null};return i&&0===this.compare(t,i)&&(e.selectedDt=o),p.activeDate&&0===this.compare(o.date,p.activeDate)&&(e.activeDt=o),o},this.isDisabled=function(t){return e.disabled||this.minDate&&this.compare(t,this.minDate)<0||this.maxDate&&this.compare(t,this.maxDate)>0||e.dateDisabled&&e.dateDisabled({date:t,mode:e.datepickerMode})},this.customClass=function(t){return e.customClass({date:t,mode:e.datepickerMode})},this.split=function(e,t){for(var n=[];e.length>0;)n.push(e.splice(0,t));return n},e.select=function(t){if(e.datepickerMode===p.minMode){var n=g.$viewValue?d.fromTimezone(new Date(g.$viewValue),f.timezone):new Date(0,0,0,0,0,0,0);n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n=d.toTimezone(n,f.timezone),g.$setViewValue(n),g.$render()}else p.activeDate=t,u(p.modes[p.modes.indexOf(e.datepickerMode)-1]),e.$emit("uib:datepicker.mode")},e.move=function(e){var t=p.activeDate.getFullYear()+e*(p.step.years||0),n=p.activeDate.getMonth()+e*(p.step.months||0);p.activeDate.setFullYear(t,n,1),p.refreshView()},e.toggleMode=function(t){t=t||1,e.datepickerMode===p.maxMode&&1===t||e.datepickerMode===p.minMode&&t===-1||(u(p.modes[p.modes.indexOf(e.datepickerMode)+t]),e.$emit("uib:datepicker.mode"))},e.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var E=function(){p.element[0].focus()};e.$on("uib:datepicker.focus",E),e.keydown=function(t){var n=e.keys[t.which];if(n&&!t.shiftKey&&!t.altKey&&!e.disabled)if(t.preventDefault(),p.shortcutPropagation||t.stopPropagation(),"enter"
vendor: 6,127 bytes, line 40
40===n||"space"===n){if(p.isDisabled(p.activeDate))return;e.select(p.activeDate)}else!t.ctrlKey||"up"!==n&&"down"!==n?(p.handleKeyDown(n,t),p.refreshView()):e.toggleMode("up"===n?1:-1)},e.$on("$destroy",function(){for(;m.length;)m.shift()()})}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(e,t,n){function i(e,t){return 1!==t||e%4!==0||e%100===0&&e%400!==0?a[t]:29}function r(e){var t=new Date(e);t.setDate(t.getDate()+4-(t.getDay()||7));var n=t.getTime();return t.setMonth(0),t.setDate(1),Math.floor(Math.round((n-t)/864e5)/7)+1}var a=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=t,this.init=function(t){angular.extend(t,this),e.showWeeks=t.showWeeks,t.refreshView()},this.getDates=function(e,t){for(var n,i=new Array(t),r=new Date(e),a=0;a<t;)n=new Date(r),i[a++]=n,r.setDate(r.getDate()+1);return i},this._refreshView=function(){var t=this.activeDate.getFullYear(),i=this.activeDate.getMonth(),a=new Date(this.activeDate);a.setFullYear(t,i,1);var o=this.startingDay-a.getDay(),s=o>0?7-o:-o,l=new Date(a);s>0&&l.setDate(-s+1);for(var c=this.getDates(l,42),d=0;d<42;d++)c[d]=angular.extend(this.createDateObject(c[d],this.formatDay),{secondary:c[d].getMonth()!==i,uid:e.uniqueId+"-"+d});e.labels=new Array(7);for(var u=0;u<7;u++)e.labels[u]={abbr:n(c[u].date,this.formatDayHeader),full:n(c[u].date,"EEEE")};if(e.title=n(this.activeDate,this.formatDayTitle),e.rows=this.split(c,7),e.showWeeks){e.weekNumbers=[];for(var p=(11-this.startingDay)%7,g=e.rows.length,f=0;f<g;f++)e.weekNumbers.push(r(e.rows[f][p].date))}},this.compare=function(e,t){var n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),i=new Date(t.getFullYear(),t.getMonth(),t.getDate());return n.setFullYear(e.getFullYear()),i.setFullYear(t.getFullYear()),n-i},this.handleKeyDown=function(e,t){var n=this.activeDate.getDate();if("left"===e)n-=1;else if("up"===e)n-=7;else if("right"===e)n+=1;else if("down"===e)n+=7;else if("pageup"===e||"pagedown"===e){var r=this.activeDate.getMonth()+("pageup"===e?-1:1);this.activeDate.setMonth(r,1),n=Math.min(i(this.activeDate.getFullYear(),this.activeDate.getMonth()),n)}else"home"===e?n=1:"end"===e&&(n=i(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(n)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(e,t,n){this.step={years:1},this.element=t,this.init=function(e){angular.extend(e,this),e.refreshView()},this._refreshView=function(){for(var t,i=new Array(12),r=this.activeDate.getFullYear(),a=0;a<12;a++)t=new Date(this.activeDate),t.setFullYear(r,a,1),i[a]=angular.extend(this.createDateObject(t,this.formatMonth),{uid:e.uniqueId+"-"+a});e.title=n(this.activeDate,this.formatMonthTitle),e.rows=this.split(i,3)},this.compare=function(e,t){var n=new Date(e.getFullYear(),e.getMonth()),i=new Date(t.getFullYear(),t.getMonth());return n.setFullYear(e.getFullYear()),i.setFullYear(t.getFullYear()),n-i},this.handleKeyDown=function(e,t){var n=this.activeDate.getMonth();if("left"===e)n-=1;else if("up"===e)n-=3;else if("right"===e)n+=1;else if("down"===e)n+=3;else if("pageup"===e||"pagedown"===e){var i=this.activeDate.getFullYear()+("pageup"===e?-1:1);this.activeDate.setFullYear(i)}else"home"===e?n=0:"end"===e&&(n=11);this.activeDate.setMonth(n)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(e,t,n){function i(e){return parseInt((e-1)/a,10)*a+1}var r,a;this.element=t,this.yearpickerInit=function(){r=this.yearColumns,a=this.yearRows*r,this.step={years:a}},this._refreshView=function(){for(var t,n=new Array(a),o=0,s=i(this.activeDate.getFullYear());o<a;o++)t=new Date(this.activeDate),t.setFullYear(s+o,0,1),n[o]=angular.extend(this.createDateObject(t,this.formatYear),{uid:e.uniqueId+"-"+o});e.title=[n[0].label,n[a-1].label].join(" - "),e.rows=this.split(n,r),e.columns=r},this.compare=function(e,t){return e.getFullYear()-t.getFullYear()},this.handleKeyDown=function(e,t){var n=this.activeDate.getFullYear();"left"===e?n-=1:"up"===e?n-=r:"right"===e?n+=1:"down"===e?n+=r:"pageup"===e||"pagedown"===e?n+=("pageup"===e?-1:1)*a:"home"===e?n=i(this.activeDate.getFullYear()):"end"===e&&(n=i(this.activeDate.getFullYear())+a-1),this.activeDate.setFullYear(n)}}]).directive("uibDatepicker",function(){return{replace:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerMode:"=?",datepickerOptions:"=?",dateDisabled:"&",customClass:"&",shortcutPropagation:"&?"},require:["uibDatepicker","^ngModel"],controller:"UibDatepickerController",controllerAs:"datepicker",link:function(e,t,n,i){var r=i[0],a=i[1];r.init(a)}}}).directive("uibDaypicker",function(){return{replace:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],controller:"UibDaypickerController",link:function(e,t,n,i){var r=i[0],a=i[1];a.init(r)}}}).directive("uibMonthpicker",function(){return{replace:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],controller:"UibMonthpickerController",link:function(e,t,n,i){var r=i[0],a=i[1];a.init(r)}}}).directive("uibYearpicker",function(){return{replace:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],controller:"UibYearpickerController",link:function(e,t,n,i){var r=i[0];angular.extend(r,i[1]),r.yearpickerInit(),r.refreshView()}}}).value("uibDatepickerPopupAttributeWarning",!0).constant("uibDatepickerPopupConfig",{altInputFormats:[],appendToBody:!1,clearText:"Clear",closeOnDateSelection:!0,closeText:"Done",currentText:"Today",datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepicker/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$log","$parse","$
40window","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig","uibDatepickerPopupAttributeWarning",function(e,t,n,i,r,a,o,s,l,c,d,u,p,g,f,m){function h(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function v(t){var n=u.parse(t,C,e.date);if(isNaN(n))for(var i=0;i<N.length;i++)if(n=u.parse(t,N[i],e.date),!isNaN(n))return n;return n}function E(e){if(angular.isNumber(e)&&(e=new Date(e)),!e)return null;if(angular.isDate(e)&&!isNaN(e))return e;if(angular.isString(e)){var t=v(e);if(!isNaN(t))return u.toTimezone(t,D.timezone)}return O.$options&&O.$options.allowInvalid?e:void 0}function b(e,t){var i=e||t;return!n.ngRequired&&!i||(angular.isNumber(i)&&(i=new Date(i)),!i||(!(!angular.isDate(i)||isNaN(i))||!!angular.isString(i)&&!isNaN(v(t))))}function y(n){if(e.isOpen||!e.disabled){var i=R[0],r=t[0].contains(n.target),a=void 0!==i.contains&&i.contains(n.target);!e.isOpen||r||a||e.$apply(function(){e.isOpen=!1})}}function w(n){27===n.which&&e.isOpen?(n.preventDefault(),n.stopPropagation(),e.$apply(function(){e.isOpen=!1}),t[0].focus()):40!==n.which||e.isOpen||(n.preventDefault(),n.stopPropagation(),e.$apply(function(){e.isOpen=!0}))}function S(){if(e.isOpen){var i=angular.element(R[0].querySelector(".uib-datepicker-popup")),r=n.popupPlacement?n.popupPlacement:p.placement,a=c.positionElements(t,i,r,_);i.css({top:a.top+"px",left:a.left+"px"}),i.hasClass("uib-position-measure")&&i.removeClass("uib-position-measure")}}var C,P,_,A,T,k,V,I,L,O,D,R,N,$={},M=!1,x=[];e.watchData={},this.init=function(c){if(O=c,D=c.$options||f.ngModelOptions,P=angular.isDefined(n.closeOnDateSelection)?e.$parent.$eval(n.closeOnDateSelection):p.closeOnDateSelection,_=angular.isDefined(n.datepickerAppendToBody)?e.$parent.$eval(n.datepickerAppendToBody):p.appendToBody,A=angular.isDefined(n.onOpenFocus)?e.$parent.$eval(n.onOpenFocus):p.onOpenFocus,T=angular.isDefined(n.datepickerPopupTemplateUrl)?n.datepickerPopupTemplateUrl:p.datepickerPopupTemplateUrl,k=angular.isDefined(n.datepickerTemplateUrl)?n.datepickerTemplateUrl:p.datepickerTemplateUrl,N=angular.isDefined(n.altInputFormats)?e.$parent.$eval(n.altInputFormats):p.altInputFormats,e.showButtonBar=angular.isDefined(n.showButtonBar)?e.$parent.$eval(n.showButtonBar):p.showButtonBar,p.html5Types[n.type]?(C=p.html5Types[n.type],M=!0):(C=n.uibDatepickerPopup||p.datepickerPopup,n.$observe("uibDatepickerPopup",function(e,t){var n=e||p.datepickerPopup;if(n!==C&&(C=n,O.$modelValue=null,!C))throw new Error("uibDatepickerPopup must have a date format specified.")})),!C)throw new Error("uibDatepickerPopup must have a date format specified.");if(M&&n.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");V=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"),e.ngModelOptions=angular.copy(D),e.ngModelOptions.timezone=null,e.ngModelOptions.updateOnDefault===!0&&(e.ngModelOptions.updateOn=e.ngModelOptions.updateOn?e.ngModelOptions.updateOn+" default":"default"),V.attr({"ng-model":"date","ng-model-options":"ngModelOptions","ng-change":"dateSelection(date)","template-url":T}),I=angular.element(V.children()[0]),I.attr("template-url",k),M&&"month"===n.type&&(I.attr("datepicker-mode",'"month"'),I.attr("min-mode","month")),e.datepickerOptions&&I.attr("datepicker-options","datepickerOptions"),angular.forEach(["minMode","maxMode","datepickerMode","shortcutPropagation"],function(t){if(n[t]){m&&r.warn("uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead");var i=a(n[t]),o={get:function(){return i(e.$parent)}};if(I.attr(h(t),"watchData."+t),"datepickerMode"===t){var s=i.assign;o.set=function(t){s(e.$parent,t)}}Object.defineProperty(e.watchData,t,o)}}),angular.forEach(["minDate","maxDate","initDate"],function(t){if(n[t]){m&&r.warn("uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead");var i=a(n[t]);x.push(e.$parent.$watch(i,function(n){if("minDate"===t||"maxDate"===t)null===n?$[t]=null:angular.isDate(n)?$[t]=u.fromTimezone(new Date(n),D.timezone):$[t]=new Date(d(n,"medium")), 41e.watchData[t]=null===n?null:$[t];else{var i=n?new Date(n):new Date;e.watchData[t]=u.fromTimezone(i,D.timezone)}})),I.attr(h(t),"watchData."+t)}}),n.dateDisabled&&(m&&r.warn("uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead"),I.attr("date-disabled","dateDisabled({ date: date, mode: mode })")),angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","showWeeks","startingDay","yearRows","yearColumns"],function(e){angular.isDefined(n[e])&&(m&&r.warn("uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead"),I.attr(h(e),n[e]))}),n.customClass&&(m&&r.warn("uib-datepicker settings via uib-datepicker-popup attributes are deprecated and will be removed in UI Bootstrap 1.3, use datepicker-options attribute instead"),I.attr("custom-class","customClass({ date: date, mode: mode })")),M?O.$formatters.push(function(t){return e.date=u.fromTimezone(t,D.timezone),t}):(O.$$parserName="date",O.$validators.date=b,O.$parsers.unshift(E),O.$formatters.push(function(t){return O.$isEmpty(t)?(e.date=t,t):(e.date=u.fromTimezone(t,D.timezone),angular.isNumber(e.date)&&(e.date=new Date(e.date)),u.filter(e.date,C))})),O.$viewChangeListeners.push(function(){e.date=v(O.$viewValue)}
vendor: 6,887 bytes, line 41
41),t.on("keydown",w),R=i(V)(e),V.remove(),_?s.find("body").append(R):t.after(R),e.$on("$destroy",function(){for(e.isOpen===!0&&(l.$$phase||e.$apply(function(){e.isOpen=!1})),R.remove(),t.off("keydown",w),s.off("click",y),L&&L.off("scroll",S),angular.element(o).off("resize",S);x.length;)x.shift()()})},e.getText=function(t){return e[t+"Text"]||p[t+"Text"]},e.isDisabled=function(t){return"today"===t&&(t=u.fromTimezone(new Date,D.timezone)),e.datepickerOptions?e.datepickerOptions&&e.datepickerOptions.minDate&&e.compare(t,e.datepickerOptions.minDate)<0||e.datepickerOptions.maxDate&&e.compare(t,e.datepickerOptions.maxDate)>0:e.watchData.minDate&&e.compare(t,$.minDate)<0||e.watchData.maxDate&&e.compare(t,$.maxDate)>0},e.compare=function(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate())-new Date(t.getFullYear(),t.getMonth(),t.getDate())},e.dateSelection=function(n){angular.isDefined(n)&&(e.date=n);var i=e.date?u.filter(e.date,C):null;t.val(i),O.$setViewValue(i),P&&(e.isOpen=!1,t[0].focus())},e.keydown=function(n){27===n.which&&(n.stopPropagation(),e.isOpen=!1,t[0].focus())},e.select=function(t,n){if(n.stopPropagation(),"today"===t){var i=new Date;angular.isDate(e.date)?(t=new Date(e.date),t.setFullYear(i.getFullYear(),i.getMonth(),i.getDate())):t=new Date(i.setHours(0,0,0,0))}e.dateSelection(t)},e.close=function(n){n.stopPropagation(),e.isOpen=!1,t[0].focus()},e.disabled=angular.isDefined(n.disabled)||!1,n.ngDisabled&&x.push(e.$parent.$watch(a(n.ngDisabled),function(t){e.disabled=t})),e.$watch("isOpen",function(i){i?e.disabled?e.isOpen=!1:g(function(){S(),A&&e.$broadcast("uib:datepicker.focus"),s.on("click",y);var i=n.popupPlacement?n.popupPlacement:p.placement;_||c.parsePlacement(i)[2]?(L=L||angular.element(c.scrollParent(t)),L&&L.on("scroll",S)):L=null,angular.element(o).on("resize",S)},0,!1):(s.off("click",y),L&&L.off("scroll",S),angular.element(o).off("resize",S))}),e.$on("uib:datepicker.mode",function(){g(S,0,!1)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&",customClass:"&"},link:function(e,t,n,i){var r=i[0],a=i[1];a.init(r)}}}).directive("uibDatepickerPopupWrap",function(){return{replace:!0,transclude:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/popup.html"}}}),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var e=[];return{add:function(t,n){e.push({key:t,value:n})},get:function(t){for(var n=0;n<e.length;n++)if(t===e[n].key)return e[n]},keys:function(){for(var t=[],n=0;n<e.length;n++)t.push(e[n].key);return t},top:function(){return e[e.length-1]},remove:function(t){for(var n=-1,i=0;i<e.length;i++)if(t===e[i].key){n=i;break}return e.splice(n,1)[0]},removeTop:function(){return e.splice(e.length-1,1)[0]},length:function(){return e.length}}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.stackedMap"]).factory("$$multiMap",function(){return{createNew:function(){var e={};return{entries:function(){return Object.keys(e).map(function(t){return{key:t,value:e[t]}})},get:function(t){return e[t]},hasKey:function(t){return!!e[t]},keys:function(){return Object.keys(e)},put:function(t,n){e[t]||(e[t]=[]),e[t].push(n)},remove:function(t,n){var i=e[t];if(i){var r=i.indexOf(n);r!==-1&&i.splice(r,1),i.length||delete e[t]}}}}}}).provider("$uibResolve",function(){var e=this;this.resolver=null,this.setResolver=function(e){this.resolver=e},this.$get=["$injector","$q",function(t,n){var i=e.resolver?t.get(e.resolver):null;return{resolve:function(e,r,a,o){if(i)return i.resolve(e,r,a,o);var s=[];return angular.forEach(e,function(e){angular.isFunction(e)||angular.isArray(e)?s.push(n.resolve(t.invoke(e))):angular.isString(e)?s.push(n.resolve(t.get(e))):s.push(n.resolve(e))}),n.all(s).then(function(t){var n={},i=0;return angular.forEach(e,function(e,r){n[r]=t[i++]}),n})}}}]}).directive("uibModalBackdrop",["$animate","$injector","$uibModalStack",function(e,t,n){function i(t,i,r){r.modalInClass&&(e.addClass(i,r.modalInClass),t.$on(n.NOW_CLOSING_EVENT,function(n,a){var o=a();t.modalOptions.animation?e.removeClass(i,r.modalInClass).then(o):o()}))}return{replace:!0,templateUrl:"uib/template/modal/backdrop.html",compile:function(e,t){return e.addClass(t.backdropClass),i}}}]).directive("uibModalWindow",["$uibModalStack","$q","$animateCss","$document",function(e,t,n,i){return{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/modal/window.html"},link:function(r,a,o){a.addClass(o.windowClass||""),a.addClass(o.windowTopClass||""),r.size=o.size,r.close=function(t){var n=e.getTop();n&&n.value.backdrop&&"static"!==n.value.backdrop&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),e.dismiss(n.key,"backdrop click"))},a.on("click",r.close),r.$isRendered=!0;var s=t.defer();o.$observe("modalRender",function(e){"true"===e&&s.resolve()}),s.promise.then(function(){var s=null;o.modalInClass&&(s=n(a,{addClass:o.modalInClass}).start(),r.$on(e.NOW_CLOSING_EVENT,function(e,t){var i=t();n(a,{removeClass:o.modalInClass}).start().then(i)})),t.when(s).then(function(){var t=e.getTop();if(t&&e.modalRendered(t.key),!i[0].activeElement||!a[0].contains(i[0].activeElement)){var n=a[0].querySelector("[autofocus]");n?n.focus():a[0].focus()}})})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(e,t){t.modalAnimation&&e.addClass(t.uibModalAnimationClass)}}}).directive("uibModalTransclude",function(){return{link:function(e,t,n,i,r){r(e.$parent,function(e){t.empty(),t.append(e)})}}}).factory("$uibModalStack",["$animate","$animateCss","$document","$compile","$rootScope","$q","$$multiMap","$$stackedMap",function(e,t,n,i,r,a,o,s){function l(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}function c(){for(var e=-1,t=b.keys(),n=0;n<t.length;n++)b.get(t[n]).value.backdrop&&(e=n);return e}function d(e,t){var n=b.get(e).value,i=n.appendTo;b.remove(e),g(n.modalDomEl,n.modalScope,function(){var t=n.openedClass||E;y.remove(t,e),i.toggleClass(t,y.hasKey(t)),u(!0)},n.closedDeferred),p(),t&&t.focus?t.focus():i.focus&&i.focus()}function u(e){var t;b.length()>0&&(t=b.top().value,t.modalDomEl.toggleClass(t.windowTopClass||"",e))}function p(){if(h&&c()===-1){var e=v;g(h,v,function(){e=null}),h=void 0,v=void 0}}function g(t,n,i,r){function o(){o.done||(o.done=!0,e.leave(t).then(function(){t.remove(),r&&r.resolve()}),n.$destroy(),i&&i())}var s,l=null,c=function(){return s||(s=a.defer(),l=s.promise),function(){s.resolve()}};return n.$broadcast(w.NOW_CLOSING_EVENT,c),a.when(l).then(o)}function f(e){if(e.isDefaultPrevented())return e;var t=b.top();if(t)switch(e.which){case 27:t.value.keyboard&&(e.preventDefault(),r.$apply(function(){w.dism
41iss(t.key,"escape key press")}));break;case 9:var n=w.loadFocusElementList(t),i=!1;e.shiftKey?(w.isFocusInFirstItem(e,n)||w.isModalFocused(e,t))&&(i=w.focusLastFocusableElement(n)):w.isFocusInLastItem(e,n)&&(i=w.focusFirstFocusableElement(n)),i&&(e.preventDefault(),e.stopPropagation())}}function m(e,t,n){return!e.value.modalScope.$broadcast("modal.closing",t,n).defaultPrevented}var h,v,E="modal-open",b=s.createNew(),y=o.createNew(),w={NOW_CLOSING_EVENT:"modal.stack.now-closing"},S="a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]";return r.$watch(c,function(e){v&&(v.index=e)}),n.on("keydown",f),r.$on("$destroy",function(){n.off("keydown",f)}),w.open=function(t,a){var o=n[0].activeElement,s=a.openedClass||E;u(!1),b.add(t,{deferred:a.deferred,renderDeferred:a.renderDeferred,closedDeferred:a.closedDeferred,modalScope:a.scope,backdrop:a.backdrop,keyboard:a.keyboard,openedClass:a.openedClass,windowTopClass:a.windowTopClass,animation:a.animation,appendTo:a.appendTo}),y.put(s,t);var l=a.appendTo,d=c();if(!l.length)throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");d>=0&&!h&&(v=r.$new(!0),v.modalOptions=a,v.index=d,h=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>'),h.attr("backdrop-class",a.backdropClass),a.animation&&h.attr("modal-animation","true"),i(h)(v),e.enter(h,l));var p=angular.element('<div uib-modal-window="modal-window"></div>');p.attr({"template-url":a.windowTemplateUrl,"window-class":a.windowClass,"window-top-class":a.windowTopClass,size:a.size,index:b.length()-1,animate:"animate"}).html(a.content),a.animation&&p.attr("modal-animation","true"),e.enter(i(p)(a.scope),l).then(function(){a.scope.$$uibDestructionScheduled||e.addClass(l,s)}),b.top().value.modalDomEl=p,b.top().value.modalOpener=o},w.close=function(e,t){var n=b.get(e);return n&&m(n,t,!0)?(n.value.modalScope.$$uibDestructionScheduled=!0,n.value.deferred.resolve(t),d(e,n.value.modalOpener),!0):!n},w.dismiss=function(e,t){var n=b.get(e);return n&&m(n,t,!1)?(n.value.modalScope.$$uibDestructionScheduled=!0,n.value.deferred.reject(t),d(e,n.value.modalOpener),!0):!n},w.dismissAll=function(e){for(var t=this.getTop();t&&this.dismiss(t.key,e);)t=this.getTop()},w.getTop=function(){return b.top()},w.modalRendered=function(e){var t=b.get(e);t&&t.value.renderDeferred.resolve()},w.focusFirstFocusableElement=function(e){return e.length>0&&(e[0].focus(),!0)},w.focusLastFocusableElement=function(e){return e.length>0&&(e[e.length-1].focus(),!0)},w.isModalFocused=function(e,t){if(e&&t){var n=t.value.modalDomEl;if(n&&n.length)return(e.target||e.srcElement)===n[0]}return!1},w.isFocusInFirstItem=function(e,t){return t.length>0&&(e.target||e.srcElement)===t[0]},w.isFocusInLastItem=function(e,t){return t.length>0&&(e.target||e.srcElement)===t[t.length-1]},w.loadFocusElementList=function(e){if(e){var t=e.value.modalDomEl;if(t&&t.length){var n=t[0].querySelectorAll(S);return n?Array.prototype.filter.call(n,function(e){return l(e)}):n}}},w}]).provider("$uibModal",function(){var e={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q","$document","$templateRequest","$controller","$uibResolve","$uibModalStack",function(t,n,i,r,a,o,s){function l(e){return e.template?n.when(e.template):r(angular.isFunction(e.templateUrl)?e.templateUrl():e.templateUrl)}var c={},d=null;return c.getPromiseChain=function(){return d},c.open=function(r){function c(){return v}var u=n.defer(),p=n.defer(),g=n.defer(),f=n.defer(),m={result:u.promise,opened:p.promise,closed:g.promise,rendered:f.promise,close:function(e){return s.close(m,e)}
41,dismiss:function(e){return s.dismiss(m,e)}};if(r=angular.extend({},e.options,r),r.resolve=r.resolve||{},r.appendTo=r.appendTo||i.find("body").eq(0),!r.template&&!r.templateUrl)throw new Error("One of template or templateUrl options is required.");var h,v=n.all([l(r),o.resolve(r.resolve,{},null,null)]);return h=d=n.all([d]).then(c,c).then(function(e){var n=r.scope||t,i=n.$new();i.$close=m.close,i.$dismiss=m.dismiss,i.$on("$destroy",function(){i.$$uibDestructionScheduled||i.$dismiss("$uibUnscheduledDestruction")});var o,l,c={};r.controller&&(c.$scope=i,c.$uibModalInstance=m,angular.forEach(e[1],function(e,t){c[t]=e}),l=a(r.controller,c,!0),r.controllerAs?(o=l.instance,r.bindToController&&(o.$close=i.$close,o.$dismiss=i.$dismiss,angular.extend(o,n)),o=l(),i[r.controllerAs]=o):o=l(),angular.isFunction(o.$onInit)&&o.$onInit()),s.open(m,{scope:i,deferred:u,renderDeferred:f,closedDeferred:g,content:e[0],animation:r.animation,backdrop:r.backdrop,keyboard:r.keyboard,backdropClass:r.backdropClass,windowTopClass:r.windowTopClass,windowClass:r.windowClass,windowTemplateUrl:r.windowTemplateUrl,size:r.size,openedClass:r.openedClass,appendTo:r.appendTo}),p.resolve(!0)},function(e){p.reject(e),u.reject(e)})["finally"](function(){d===h&&(d=null)}),m},c}]};return e}),angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/datepicker.html",'<div class="uib-datepicker" ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker>\n <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker>\n <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker>\n</div>\n')}]),angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/day.html",'<table class="uib-daypicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n <tr>\n <th ng-if="showWeeks" class="text-center"></th>\n <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-weeks" ng-repeat="row in rows track by $index">\n <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default btn-sm"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/month.html",'<table class="uib-monthpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === max
41Mode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-months" ng-repeat="row in rows track by $index">\n <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/popup.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/popup.html",'<div>\n <ul class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n <li ng-transclude></li>\n <li ng-if="showButtonBar" class="uib-button-bar">
41\n <span class="btn-group pull-left">\n <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n </span>\n <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n </li>\n </ul>\n</div>\n')}]),angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/year.html",'<table class="uib-yearpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-years" ng-repeat="row in rows track by $index">\n <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/modal/backdrop.html",[]).run(["$templateCache",function(e){e.put("uib/template/modal/backdrop.html",'<div class="modal-backdrop"\n uib-modal-animation-class="fade"\n modal-in-class="in"\n ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n')}]),angular.module("uib/template/modal/window.html",[]).run(["$templateCache",function(e){e.put("uib/template/modal/window.html",'<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal show"\n uib-modal-animation-class="fade"\n modal-in-class="in"\n ng-style="{\'z-index\': 1050 + index*10, display: \'flex\'}">\n <div class="modal-dialog{{size ? \' modal-\' + size : \'\'}}"><div class="modal-content" uib-modal-transclude></div></div>\n</div>\n')}]),angular.module("ui.bootstrap.position").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibPositionCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll;}</style>'),angular.$$uibPositionCss=!0}),angular.module("ui.bootstrap.datepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}.uib-left,.uib-right{width:100%}</style>'),angular.$$uibDatepickerCss=!0}),function(e,t){"use strict";function n(e){var t=[];return p(t,c).chars(e),t.join("")}var i,r,a,o,s,l,c,d,u,p,g=t.$$minErr("$sanitize");t.module("ngSanitize",[]).provider("$sanitize",function(){function n(e,t){return f(e.split(","),t)}function f(e,t){var n,i={};for(n=0;n<e.length;n++)i[t?l(e[n]):e[n]]=!0;return i}function m(e,t){t&&t.length&&r(e,f(t))}function h(e){for(var t={},n=0,i=e.length;n<i;n++){var r=e[n];t[r.name]=r.value}return t}function v(e){return e.replace(/&/g,"&").replace(S,function(e){var t=e.charCodeAt(0);return e=e.charCodeAt(1),"&#"+(1024*(t-55296)+(e-56320)+65536)+";"}).replace(C,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function E(t){for(;t;
41){if(t.nodeType===e.Node.ELEMENT_NODE)for(var n=t.attributes,i=0,r=n.length;i<r;i++){var a=n[i],o=a.name.toLowerCase();"xmlns:ns1"!==o&&0!==o.lastIndexOf("ns1:",0)||(t.removeAttributeNode(a),i--,r--)}(n=t.firstChild)&&E(n),t=b("nextSibling",t)}}function b(e,t){var n=t[e];if(n&&d.call(t,n))throw g("elclob",t.outerHTML||t.outerText);return n}var y=!1,w=!1;this.$get=["$$sanitizeUri",function(e){return y=!0,w&&r(I,k),function(t){var n=[];return u(t,p(n,function(t,n){return!/^unsafe:/.test(e(t,n))})),n.join("")}}],this.enableSvg=function(e){return s(e)?(w=e,this):w},this.addValidElements=function(e){return y||(o(e)&&(e={htmlElements:e}),m(k,e.svgElements),m(P,e.htmlVoidElements),m(I,e.htmlVoidElements),m(I,e.htmlElements)),this},this.addValidAttrs=function(e){return y||r(O,f(e,!0)),this},i=t.bind,r=t.extend,a=t.forEach,o=t.isArray,s=t.isDefined,l=t.$$lowercase,c=t.noop,u=function(e,t){null===e||void 0===e?e="":"string"!=typeof e&&(e=""+e);var n=D(e);if(!n)return"";var i=5;do{if(0===i)throw g("uinput");i--,e=n.innerHTML,n=D(e)}while(e!==n.innerHTML);for(i=n.firstChild;i;){switch(i.nodeType){case 1:t.start(i.nodeName.toLowerCase(),h(i.attributes));break;case 3:t.chars(i.textContent)}var r;if(!(r=i.firstChild)&&(1===i.nodeType&&t.end(i.nodeName.toLowerCase()),r=b("nextSibling",i),!r))for(;null==r&&(i=b("parentNode",i),i!==n);)r=b("nextSibling",i),1===i.nodeType&&t.end(i.nodeName.toLowerCase());i=r}for(;i=n.firstChild;)n.removeChild(i)},p=function(e,t){var n=!1,r=i(e,e.push);return{start:function(e,i){e=l(e),!n&&V[e]&&(n=e),n||!0!==I[e]||(r("<"),r(e),a(i,function(n,i){var a=l(i),o="img"===e&&"src"===a||"background"===a;!0!==O[a]||!0===L[a]&&!t(n,o)||(r(" "),r(i),r('="'),r(v(n)),r('"'))}),r(">"))},end:function(e){e=l(e),n||!0!==I[e]||!0===P[e]||(r("</"),r(e),r(">")),e==n&&(n=!1)},chars:function(e){n||r(v(e))}}},d=e.Node.prototype.contains||function(e){return!!(16&this.compareDocumentPosition(e))};var S=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,C=/([^#-~ |!])/g,P=n("area,br,col,hr,img,wbr"),_=n("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),A=n("rp,rt"),T=r({},A,_),_=r({},_,n("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),A=r({},A,n("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),k=n("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),V=n("script,style"),I=r({},P,_,A,T),L=n("background,cite,href,longdesc,src,xlink:href,xml:base"),T=n("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),A=n("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode
41-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),O=r({},L,A,T),D=function(e,t){function n(t){t="<remove></remove>"+t;try{var n=(new e.DOMParser).parseFromString(t,"text/html").body;return n.firstChild.remove(),n}catch(i){}}var i;try{i=!!n("")}catch(r){i=!1}if(i)return n;if(!t||!t.implementation)throw g("noinert");i=t.implementation.createHTMLDocument("inert");var a=(i.documentElement||i.getDocumentElement()).querySelector("body");return function(e){return a.innerHTML=e,t.documentMode&&E(a),a}}(e,e.document)}).info({angularVersion:"1.8.2"}),t.module("ngSanitize").filter("linky",["$sanitize",function(e){var i=/((s?ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,r=/^mailto:/i,a=t.$$minErr("linky"),o=t.isDefined,s=t.isFunction,l=t.isObject,c=t.isString;return function(t,d,u){function p(e){e&&E.push(n(e))}function g(e,t){var n,i=h(e);E.push("<a ");for(n in i)E.push(n+'="'+i[n]+'" ');!o(d)||"target"in i||E.push('target="',d,'" '),E.push('href="',e.replace(/"/g,"""),'">'),p(t),E.push("</a>")}if(null==t||""===t)return t;if(!c(t))throw a("notstring",t);for(var f,m,h=s(u)?u:l(u)?function(){return u}:function(){return{}},v=t,E=[];t=v.match(i);)f=t[0],t[2]||t[4]||(f=(t[3]?"http://":"mailto:")+f),m=t.index,p(v.substr(0,m)),g(f,t[0].replace(r,"")),v=v.substring(m+t[0].length);return p(v),e(E.join(""))}}])}(window,window.angular),window.EV=window.EV||{},function(e){"use strict";function t(e){return e.isDirty}function n(t){function n(){var t=e.util.Storage.cookie.get("ev_ss");t?r(t):setTimeout(function(){n()},3e3)}function i(){s(),c("")}function r(e){var t=l();t?c(t):a(e).then(function(e){t=e.response.token,o(t),c(t)})}function a(t){return e.Core.get("/disqus/remoteauth?site="+g+"&ev_ss="+t+"&name="+h+"&email="+v)}function o(t){var n=e.settings.ssoCookieDomain||window.location.hostname,i=new Date(1e3*t.split(" ")[2]),r=i.getTime()+54e5;e.util.Storage.cookie.set(u,t.replace(/ /g,"|"),{domain:n,expireMillis:r})}function s(){e.util.Storage.cookie.remove(u)}function l(){return(e.util.Storage.cookie.get(u)||"").replace(/\|/g," ")}function c(e){return d(e),window.DISQUS?void DISQUS.reset({reload:!0,config:function(){this.page.remote_auth_s3=e,this.page.api_key=p,this.page.url=f,this.page.identifier=m,E&&(this.callbacks.onNewComment=[E]),b&&(this.callbacks.onReady=[b])}}):(setTimeout(function(){c(e)},1500),console.warn("DISQUS not loaded in the page"))}function d(e){window.disqus_config=function(){this.page.remote_auth_s3=e,this.page.api_key=p,this.page.url=f,this.page.identifier=m,E&&(this.callbacks.onNewComment=[E]),b&&(this.callbacks.onReady=[b])}}var u="ev_dq",p=t.key,g=t.site,f=t.pageUrl,m=t.pageIdentifier,h=t.name.join(","),v=t.email,E=t.onNewComment,b=t.onDisqusReady;e.Event.on(e.Event.LOGIN_SUCCESS,n),e.Event.on(e.Event.SOCIAL_REGISTER_SUCCESS,n),e.Event.on(e.Event.REGISTRATION_SUCCESS,n),e.Event.on(e.Event.SOCIAL_LOGIN_SUCCESS,n),e.Event.on(e.Event.LOGOUT_ACTION,i),e.util.getEVSession()?n():i()}e.Core={init:function(t){if(!t.hasOwnProperty("serviceName"))throw new Error("Config must specify the serviceName property!",(!0));if(!t.hasOwnProperty("realmName"))throw new Error("Config must specify the realmName property!",(!0));if(!t.hasOwnProperty("icDomain"))throw new Error("Config must specify the icDomain property!",(!0));e.util.detectBrowserSupport()&&(e.settings.icDomain=t.icDomain,e.settings.serviceName=t.serviceName,e.settings.realmName=t.realmName,e.settings.profilePictureAttributeName=t.profilePictureAttributeName,t.disqus&&(window.onload=function(){var e=document.getElementById("disqus_thread");e&&n(t.disqus)}),t.hasOwnProperty("icAppName")&&(e.settings.icAppName=t.icAppName),t.hasOwnProperty("ic_unique_identifier_validation")&&(e.settings.ic_unique_identifier_validation=t.ic_unique_identifier_validation),t.hasOwnProperty("recaptchaSiteKey")&&(e.settings.recaptchaSiteKey=t.recaptchaSiteKey),t.hasOwnProperty("ssoCookieDomain")&&(e.settings.ssoCookieDomain=t.ssoCookieDomain),t.hasOwnProperty("secureMode")&&(e.settings.secureMode=t.secureMode),t.hasOwnProperty("enableSSOMode")&&(e.settings.enableSSOMode=t.enableSSOMode),t.hasOwnProperty("enableSeamlessMode")&&(e.settings.enableSeamlessMode=t.enableSeamlessMode),t.hasOwnProperty("interceptErrors")&&(e.settings.interceptErrors=t.interceptErrors),t.hasOwnProperty("brand")&&(e.settings.brand=t.brand),t.hasOwnProperty("channel")&&(e.settings.channel=t.channel),t.hasOwnProperty("disableCookies")&&(e.settings.disableCookies=t.disableCookies),e.Event.init(),e.util.log("Evolok Library Settings = "+JSON.stringify(e.settings)))},createSession:function(t,n,i,r,a,o,s,l){e.util.assert(t,"Realm should not be empty!"),e.util.assert(n,"Auth scheme should not be empty!"),e.util.assert(r,"Identifiers should not be empty!"),e.util.assert(a,"Validators should not be empty!");var c=e.util.promise(),d={},u=e.settings.brand,p={realmName:t,authenticationSchemeName:n,identifiers:r,validators:a,rememberMe:o,brand:u,channel:"WEB"};(!l||l&&!l.hasOwnProperty("serviceName"))&&(d.serviceName=i);var g="/session"+(e.util.isEmpty(i)?"":"/"+i);return this.post(g,p,s,l,d).then(function(t){var n=t.response,i=t.headers;if(n.hasOwnProperty("guid")){var r=!1,a=null;n.hasOwnProperty("mainSession")&&(r=n.mainSession.hasOwnProperty("sessionCookie")?n.mainSession.sessionCookie:r,a=n.mainSession.hasOwnProperty("expiry")?n.mainSession.expiry:a),e.util.saveEVSessionInStorage(n,r,a), 42e.Event.publish(e.Event.SESSION_REFRESH,n)}if(e.settings.isSeamlessSignInEnabled()){var o=i?e.util.getHeader("X-EV-SSO",i):void 0;if(!o)throw c.fulfill(t),new Error("Couldn't find the participating seamless sign-in domains");e.util.createSeamlessSession(n,o,!0).then(function(){c.fulfill(t)})}else c.fulfill(t)},function(e){c.reject(e)}),c},deleteSession:function(t,n,i){function r(){e.Event.publish(e.Event.LOGOUT_ACTION,null),a.fulfill()}e.util.assert(t,"Session ID should not be empty!");var a=e.util.promise(),o="/session/"+t;return this["delete"](o,n,i).then(function(t){if(t.hasOwnProperty("statusCode")&&200==t.statusCode)if(e.util.clearAllSessions(),e.util.removeUserProfile(),e.settings.isSeamlessSignInEnabled()){var n=t.headers,i=n?e.util.getHeader("X-EV-SSO",n):void 0;if(!i)throw r(),new Error("Couldn't find the participating seamless sign-in domains");e.util.deleteSeamlessSession(i,!0).then(function(){r()})}else r();else r()},function(t){"SESSION_NOT_FOUND"==t.error.code?(e.util.clearAllSessions(),e.util.removeUserProfile(),r()):a.reject(t)}),a},registerUser:function(t,n,i,r,a,o){e.util.assert(t,"Realm should not be empty!"),e.util.assert(i,"Attributes should not be empty!");var s=e.settings.brand,l={realm:t,services:n,attributes:i,brand:s,channel:"WEB",attributePropertyCollections:r.attributePropertyCollections};return this.post("/userProfile",l,a,o,{serviceName:n[0]})},getAuthenticationScheme:function(t){e.util.assert(t,"Authentication Scheme should be defined!");var n="/authenticationScheme/"+t;
42return this.get(n,null,null)},getUserProfile:function(n,i,r){e.util.assert(n,"User id should not be empty!"),e.util.assert(i,"Service name should not be empty!");var a=e.util.promise(),o="/userProfile/"+n,s={serviceName:i},l=e.util.getUserProfile(i);return e.util.isEmpty(l)||r||t(l)?(e.get_profile_promise=this.get(o,null,null,s),e.get_profile_promise.then(function(t){var n=t.response.userProfile;a.fulfill(t),e.util.saveUserProfile(n,i)},function(t){403===t.statusCode&&(e.util.error(t.error.code,t.error.message,t.statusCode),e.Event.publish(e.Event.PM_ERROR,t.error),e.Core.UI.logout()),a.reject(t)}),a):(setTimeout(function(){var e={response:{userProfile:l},statusCode:200};a.fulfill(e)},200),a)},newGetUserProfile:function(t,n,i){e.util.assert(t,"User id should not be empty!"),e.util.assert(n,"Service name should not be empty!");var r="/userProfile/"+t,a={serviceName:n},o=e.util.getUserProfile(n);if(!o||i||o.isDirty){var s=this;return new Promise(function(t,i){s.newGet(r,null,null,a).then(function(i){var r=i.response.userProfile;e.util.saveUserProfile(r,n),t(i)},function(t){403===t.statusCode&&(e.util.error(t.error.code,t.error.message,t.statusCode),e.Event.publish(e.Event.PM_ERROR,t.error),e.Core.UI.logout()),i(t)})})}return new Promise(function(e){setTimeout(function(){var t={response:{userProfile:o},statusCode:200};e(t)},200)})},updateUserProfile:function(t,n,i,r,a,o){e.util.assert(t,"User id should not be empty!");var s=e.util.promise(),l="/userProfile/"+t,c={attributes:i,roles:r,rolesToAssign:a,rolesToUnAssign:o},d={};return e.util.isEmpty(n)||(l+=e.util.isEmpty(n)?"":"/"+n,d.serviceName=n),this.put(l,c,null,null,d).then(function(i){if(200===i.statusCode){var r=n||e.settings.getEVService();e.Core.getUserProfile(t,r,!0).then(function(t){e.Event.publish(e.Event.PROFILE_UPDATED,t),e.util.saveUserProfile(t.response.userProfile,n,!0),s.fulfill(t)},function(e){s.reject(e)})}},function(e){s.reject(e)}),s},deleteUserProfile:function(t){e.util.assert(t,"User id should not be empty!");var n=e.util.promise(),i="/userProfile/"+t,r={};return this["delete"](i,null,null,r).then(function(t){200===t.statusCode?(e.util.removeUserProfile(),e.Core.UI.logout(),n.fulfill(t)):n.reject(t)},function(e){n.reject(e)}),n},linkUserWithService:function(t,n){e.util.assert(t,"User id should not be empty!"),e.util.assert(n,"Service name should not be empty!");var i={serviceName:n},r="/userProfile/"+t+"/link/"+n;return this.post(r,null,null,null,i)},getReCaptchaSettings:function(t){e.util.assert(t,"Re-captcha public siteKey should not be empty!");var n="/recaptcha/settings/"+t;return this.get(n,null,null,null)},refreshSSOSession:function(){var t=e.util.Storage.cookie.get("ev_ss"),n=e.util.getEVSession(),i=!e.util.isEmpty(t)&&!e.util.isEmpty(n)&&t===n.mainSession.sessionId;t&&i||(i||e.util.isEmpty(t)?e.Core.UI.logout():e.Core.get("/session/"+t,null,null,null,!0).then(function(t){t||e.util.log("Couldn't find the session! "+t);var n=t.response;if(n.hasOwnProperty("guid")){var i=!1,r=null;n.hasOwnProperty("mainSession")&&(i=n.mainSession.hasOwnProperty("sessionCookie")?n.mainSession.sessionCookie:i,r=n.mainSession.hasOwnProperty("expiry")?n.mainSession.expiry:r),e.util.saveEVSessionInStorage(n,i,r,!0);e.settings.ssoCookieDomain||window.location.hostname;e.Event.publish(e.Event.SESSION_REFRESH,n)}},function(t){e.Core.UI.logout()}))},get:function(t,n,i,r,a){e.util.assert(t,"Http request resource path should not be empty!"),e.settings.isValid();var o=e.util.promise(),s=r||{};r&&r.hasOwnProperty("serviceName")?s.serviceName=r.serviceName:(s.serviceName=e.settings.getEVService(),s.realmName=e.settings.getEVRealm()),n=n||{};var l=e.util.getRequestUri(t,i);return e.util.httpRequest("GET",l,n,null,function(t,n){if(t.error||t.code){var i=t.code||t.error.code,r="";t.message?r=t.message:t.error&&(r=t.error.message||"");var s=[];return"SESSION_HAS_EXPIRED"===t.code&&(e.util.clearAllSessions(),e.util.removeUserProfile(),e.Event.publish(e.Event.SESSION_EXPIRED,"Session has expired.")),t.hasOwnProperty("args")?s=t.args:t.hasOwnProperty("error")&&(s=t.error.args),void o.reject(e.util.error(i,r,n,s))}var l={response:t,statusCode:n};o.fulfill(l),!a&&e.settings.isSSOEnabled()&&e.Core.refreshSSOSession()},s),o},newGet:function(t,n,i,r,a){e.util.assert(t,"Http request resource path should not be empty!"),e.settings.isValid();var o=r||{};o&&!o.hasOwnProperty("serviceName")&&(o.serviceName=e.settings.getEVService(),o.realmName=e.settings.getEVRealm()),n=n||{},n=Object.assign({},n,{Accept:"application/json;charset=UTF-8","Content-Type":"application/json;charset=UTF-8",Authorization:e.util.getEVAuthorizationHeader(o.serviceName)});var s=e.util.getRequestUri(t,o);return new Promise(function(t,i){return fetch(s,{method:"GET",mode:"cors",headers:n}).then(function(n){if(n.error||n.code){var r=n.code||n.error.code,o=n.message||n.error.message,s=[];"SESSION_HAS_EXPIRED"===r&&(e.util.clearAllSessions(),e.util.removeUserProfile(),e.Event.publish(e.Event.SESSION_EXPIRED,"Session has expired.")),n.hasOwnProperty("args")?s=n.args:n.hasOwnProperty("error")&&(s=n.error.args),i(e.util.error(r,o,statusCode,s))}var l={response:n,statusCode:statusCode};!a&&e.settings.isSSOEnabled()&&e.Core.refreshSSOSession(),t(l)})})},post:function(t,n,i,r,a){e.util.assert(t,"Http request resource uri path should not be empty!"),e.settings.isValid();var o=e.util.promise(),s=a||{};a&&a.hasOwnProperty("serviceName")?s.serviceName=a.serviceName:(s.serviceName=e.settings.getEVService(),s.realmName=e.settings.getEVRealm()),i=i||{};var l=e.util.getRequestUri(t,r);return e.util.httpRequest("POST",l,i,n,function(t,n,i){if(t.error||t.code||n>=400){var n=n,r=n,a=t,s=[];return t.hasOwnProperty("code")?r=t.code:t.hasOwnProperty("error")&&(r=t.error.code),t.hasOwnProperty("message")?a=t.message:t.hasOwnProperty("error")&&(a=t.error.message),t.hasOwnProperty("args")?s=t.args:t.hasOwnProperty("error")&&(s=t.error.args),"SESSION_HAS_EXPIRED"===t.code&&(e.util.clearAllSessions(),e.util.removeUserProfile(),e.Event.publish(e.Event.SESSION_EXPIRED,"Session has expired.")),void o.reject(e.util.error(r,a,n,s))}var t={response:t,statusCode:n,headers:i};o.fulfill(t),e.settings.isSSOEnabled()&&e.Core.refreshSSOSession()},s),o},put:function(t,n,i,r,a){e.util.assert(t,"Http request resource uri path should not be empty!"),e.settings.isValid();var o=e.util.promise(),s=a||{};a&&a.hasOwnProperty("serviceName")?s.serviceName=a.serviceName:(s.serviceName=e.settings.getEVService(),s.realmName=e.settings.getEVRealm()),i=i||{};var l=e.util.getRequestUri(t,r);return e.util.httpRequest("PUT",l,i,n,function(t,n){if(t.error||t.code||n>=400){var n=n,i=n,r=t,a=[];return t.hasOwnProperty("code")?i=t.code:t.hasOwnProperty("error")&&(i=t.error.code),t.hasOwnProperty("message")?r=t.message:t.hasOwnProperty("error")&&(r=t.error.message),t.hasOwnProperty("args")?a=t.args:t.hasOwnProperty("error")&&(a=t.error.args),"SESSION_HAS_EXPIRED"===t.code&&(e.util.clearAllSessions(),e.util.removeUserProfile(),e.Event.publish(e.Event.SESSION_EXPIRED,"Session has expired.")),void o.reject(e.util.error(i,r,n,a))}var t={response:t,statusCode:n};o.fulfill(t),e.settings.isSSOEnabled()&&e.Core.refreshSSOSession()},s),o},"delete":function(t,n,i,r){e.util.assert(t,"Http request resource uri path should not be empty!"),e.settings.isValid();var a=e.util.promise(),o=r||{};r&&r.hasOwnProperty("serviceName")?o.serviceName=r.serviceName:(o.serviceName=e.settings.getEVService(),o.realmName=e.settings.getEVRealm()),n=n||{};var s=e.util.getRequestUri(t,i);return e.util.httpRequest("DELETE",s,n,null,function(t,n,i){if(t.error||t.code){var n=n,r=t.code||t.error.code,o=t.message||t.error&&t.error.message,s=[];return"SESSION_HAS_EXPIRED"===t.code&&(e.util.clearAllSessions(),e.util.removeUserProfile(),e.Event.publish(e.Event.SESSION_EXPIRED,"Session has expired.")),t.hasOwnProperty("args")?s=t.args:t.hasOwnProperty("error")&&(s=t.error.args),void a.reject(e.util.error(r,o,n,s))}var t={response:t,statusCode:n,headers:i};a.fulfill(t),e.settings.isSSOEnabled()&&e.Core.refreshSSOSession()},o),a},toVanillaHome:function(){e.Core.get("/vanilla/config/"+e.settings.ssoCookieDomain+"?attribute=homeLink").then(function(e){200===e.statusCode&&(window.location=e.response)},function(e){console.error("Vanilla redirect to main page failed:",e)})},toVanillaLogout:function(){e.Core.get("/vanilla/config/"+e.settings.ssoCookieDomain+"?attribute=logoutRedirect").then(function(e){200===e.statusCode&&(window.location=e.response)},function(t){console.error("Vanilla redirect to logout page failed:",t),e.Core.toVanillaHome()})},toVanillaTarget:function(){var e=window.location.search.substring(1),t=e.split("=");"Target"===decodeURIComponent(t[0])&&(window.location=decodeURIComponent(t[1])),console.error('Query variable "Target" not found')},toVanillaAutoLoginLink:function(){e.Core.get("/vanilla/config/"+e.settings.ssoCookieDomain+"?attribute=autoLoginLink").then(function(e){if(200===e.statusCode)return e.response},function(e){console.error("Vanilla redirect to auto-login page failed:",e)})},vanillaAutoLogin:function(t){var n=e.util.Storage.cookie.get("ev_ss");n?e.Core.get("/vanilla/config/"+e.settings.ssoCookieDomain+"?attribute=autoLoginLink").then(function(e){200===e.statusCode&&(window.location=e.response)},function(e){console.error("Vanilla auto-login failed:",e)}):t||(console.warn("Vanilla auto-login failed: No Session Found | Retrying"),setTimeout(e.Core.vanillaAutoLogin(!0),2e3))},discourseAutoLogin:function(t,n,i){var r=e.util.Storage.cookie.get("ev_ss");return e.settings.brand?void(r?e.Core.get("/discourse/data?sso="+n+"&sig="+i+"&sessionId="+r+"&brand="+e.settings.brand).then(function(e){200===e.statusCode?window.location=e.response:console.error("Discourse auto-login failed:",error)}):t||(console.warn("Discourse auto-login failed: No Session Found | Retrying"),setTimeout(e.Core.discourseAutoLogin(!0),2e3))):void console.error("Brand n
42ot found. Please set it up in Evolok configuration. Impossible to continue Discourse auto-login")}},e.Core.UI={isAuthenticated:function(){var t=e.util.getEVSession();return!e.util.isEmpty(t)},login:function(t,n,i,r,a,o){return e.Core.createSession(t,n,i,r,a,o)},logout:function(){var t,n=e.util.getEVSession();return e.util.Storage.cookie.remove("ev_ss"),e.util.Storage.cookie.remove("ex_ss"),n&&(t=e.Core.deleteSession(n.mainSession.sessionId)),t},logoutVanilla:function(){e.Event.on(e.Event.LOGOUT_ACTION,function(t){e.Core.toVanillaLogout()}),e.Core.UI.logout()},forgotPassword:function(t,n,i,r){e.util.assert(t,"Realm should not be empty!"),e.util.assert(n,"AuthScheme should not be empty!"),e.util.assert(i,"Service name should not be empty!"),e.util.assert(r,"Identifiers should not be empty!");for(var a,o="/userProfile/resetAttributeWorkflow/"+n+"?realm="+t,s=0;s<r.length;++s){var l=r[s];a=l.name+"="+encodeURIComponent(l.value),s!=r.length-1&&(a+="&")}return o+="&"+a,e.Core.post(o,null,null,null,{serviceName:i})},resetPassword:function(t,n,i){e.util.assert(t,"Reset attribute key should not be empty!"),e.util.assert(n,"Service name should not be empty!"),e.util.assert(i,"Attributes should not be empty!");var r={attributes:i},a={serviceName:n},o="/resetAttributeWorkflow/"+t;return e.Core.put(o,r,null,null,a)},changePassword:function(t,n,i){if(e.util.assert(t,"AuthScheme should not be empty!"),e.util.assert(n,"Attributes should not be empty!"),i=i||e.settings.getEVService(),e.util.isEmpty(i))throw new Error("Global service is not configured in the init setup for ev-core javascript sdk.");var r=e.util.getEVSession();if(!r)throw new Error("Couldn't find the user session, please try again! User must have to login before making thechange password request!");return e.Core.updateUserProfile(r.guid,i,n)},accountActivation:function(t,n){e.util.assert(t,"Activation key should not be empty!"),e.util.assert(n,"Service name should not be empty!");var i={serviceName:n},r="/userProfileActivationWorkflow/"+t;return e.Core.post(r,null,null,null,i)},resendActivation:function(t,n,i){e.util.assert(t,"Activation key should not be empty!"),e.util.assert(n,"Service name should not be empty!"),e.util.assert(i,"Identifiers should not be empty!");var r={realmName:t,service:n,identifiers:i},a={serviceName:n},o="/userProfileActivationWorkflow/resendByIdentifiers";return e.Core.post(o,r,null,null,a)},checkIdentifierValidity:function(t,n,i){e.util.assert(t,"Realm should not be empty!"),e.util.assert(n,"Identifier key should not be empty!"),e.util.assert(i,"Identifier value should not be empty!");var r=e.util.promise();if(!e.settings.isUniqueIdentifierValidEnabled()){var a=e.util.error("EVolokException","Unique identifier validation service is disabled.");return r.reject(a),r}var o={realmName:e.settings.getEVRealm()};o[n]=i;var s="/userProfile/searchByIdentifiers/"+n;return e.Core.get(s,null,o).then(function(e){r.fulfill(e)},function(e){r.reject(e)}),r},serviceCheck:function(t){if(!e.util.isEmpty(t)){var n=e.util.promise(),i=e.util.getEVSession();return e.util.isEmpty(i)?(setTimeout(function(){e.util.error("EVolokException","Couldn't find the session!");n.reject(null)},200),n):(e.Core.getUserProfile(i.guid,t).then(function(r){if(!r){e.Core.getUserProfile(i.guid,t).then(function(e){return e});var a=e.util.getUserProfile(t);if(!e.util.isEmpty(a)){var r={};r.statusCode=200}}200==r.statusCode?e.Core.linkUserWithService(i.guid,t).then(function(i){if(200===i.statusCode){var r=e.util.getUserProfile(t);e.util.isEmpty(r)||(r.services.push(t),e.util.saveUserProfile(r,t)),n.fulfill(!0)}},function(i){return 403===i.statusCode&&"REQUIRED_ATTRIBUTE_MISSING"===i.error.code?(n.fulfill(!1),void e.Event.publish(e.Event.PM_REDIRECT_TO_EDIT_PROFILE,t)):void n.reject(error)}):n.reject(r)},function(e){n.reject(e)}),n)}},newServiceCheck:function(t){if(!e.util.isEmpty(t)){var n=e.util.getEVSession();return new Promise(function(i,r){e.util.isEmpty(n)&&setTimeout(function(){e.util.error("EVolokException","Couldn't find the session!");r(null)},200),e.Core.newGetUserProfile(n.guid,t).then(function(a){200==a.statusCode?e.Core.linkUserWithService(n.guid,t).then(function(n){if(200===n.statusCode){var r=e.util.getUserProfile(t);e.util.isEmpty(r)||(r.services.push(t),e.util.saveUserProfile(r,t)),i(!0)}},function(n){return 403===n.statusCode&&"REQUIRED_ATTRIBUTE_MISSING"===n.error.code?(i(!1),void e.Event.publish(e.Event.PM_REDIRECT_TO_EDIT_PROFILE,t)):void r(n)}):r(a)},function(e){r(e)})})}}}}(window.EV),window.EV=window.EV||{},function(e){"use strict";function t(e,t,n){if(!e)return e;var i={network:n,statusCode:t,error:{}};return e.hasOwnProperty("code")?(i.error.code=e.code,i.error.message=e.message):e.hasOwnProperty("error")?i.error=e.error:i.error=e,e.hasOwnProperty("args")&&(i.error.args=e.args),i}function n(e,t,n){var i={network:n,statusCode:t,response:e};return i}function i(){return{swg_client_id:e.settings.ic_social_settings.swg_client_id,swg_project_id:e.settings.ic_social_settings.swg_project_id}}function r(t){return e.util.isEmpty(t)?e.settings.getEVRealm(!0):{realmName:t}}function a(t){return{serviceName:t||e.settings.socialServiceName||e.settings.serviceName}}function o(n,i,o,l,c,d,u){e.util.log("Social Authentication Response = "+JSON.stringify(n));var p=n.network;if(n.hasOwnProperty("error")||n.hasOwnProperty("code")){var g=t(n,i,p);return void u.reject(g)}var f,m={autoRegister:c||!0,autoPopulate:d||!1};f=n.hasOwnProperty("credential")?e.util.merge(n,{jwt:n.credential}):e.util.merge(n.authResponse,{network:p}),f=e.util.merge(f,r(o)),f=e.util.merge(f,a(l));var h=[],v=e.settings.getSocialAttributeMapping();if(d&&v){for(var E in v){var b={name:E,value:v[E]};h.push(b)}f=e.util.merge(f,{attributesMapping:h})}e.settings.brand&&(f.brand=e.settings.brand),e.settings.channel&&(f.channel=e.settings.channel);var y=e.Social.getSocialApiRequestUri(e.Social.api.authenticateWithEvolok,p,m);return e.util.httpRequest("POST",y,null,f,function(n,i,r){if(e.util.log("Evolok authentication response = "+JSON.stringify(n)),n.hasOwnProperty("error")||n.hasOwnProperty("code")||i>=400){var a=t(n,i,p);return void u.reject(a)}var o=n;if(o.hasOwnProperty("guid")){var l,c=!1;o.hasOwnProperty("mainSession")&&(c=o.mainSession.hasOwnProperty("sessionCookie")?o.mainSession.sessionCookie:c,l=o.mainSession.hasOwnProperty("expiry")?o.mainSession.expiry:new Date);var d=!1;if(e.settings.isSeamlessSignInEnabled()){var g=r?e.util.getHeader("X-EV-SSO",r):void 0;g&&(d=!0,e.util.createSeamlessSession(o,g,!0).then(function(){s(o,c,l,n,p,u,i)}
42))}d||s(o,c,l,n,p,u,i)}}),u}function s(t,i,r,a,o,s,c){if(e.util.saveEVSessionInStorage(t,i,r),"apple"===o&&!e.util.Storage.session.get("auto_link_apple_to_guid")){var d=l("client_id"),u=l("return_url"),p=l("scope"),g=d&&u&&p,f={widget_guid:null,ev_session:t,social_session:e.util.getSocialSessionForNetwork(o)};a.hasOwnProperty("socialAccountCreated")&&1==a.socialAccountCreated?(e.Event.publish(e.Event.SOCIAL_REGISTER_SUCCESS,f),g?e.util.getAuthCode({client_id:d,return_url:u,scope:p}):e.Event.publish(e.Event.SOCIAL_LOGIN_SUCCESS,f)):g?e.util.getAuthCode({client_id:d,return_url:u,scope:p}):e.Event.publish(e.Event.SOCIAL_LOGIN_SUCCESS,f)}e.Event.publish(e.Event.SESSION_REFRESH,t);var m=n(a,c,o);return s.fulfill(m)}function l(e){var t=new URLSearchParams(window.location.search);return t.has(e)?t.get(e):null}function c(t){var n="";n=t?"/social/apple/authorization?domain="+e.settings.getICDomain()+"&clientId="+e.settings.ic_social_settings.social_services.apple.id+"&isLinkingAccount="+t:"/social/apple/authorization?domain="+e.settings.getICDomain()+"&clientId="+e.settings.ic_social_settings.social_services.apple.id,e.Core.get(n).then(function(e){if(200===e.statusCode){var t=angular.fromJson(e.response);window.location.assign(t.authLink)}},function(e){console.log("Apple auto-login failed:",e)})}function d(t,n,i,r,a){e.util.log("Evolok authentication response = "+JSON.stringify(t));var o,l;if(t.hasOwnProperty("error")||t.hasOwnProperty("code")||r>=400)return l=e.util.getSocialSessionForNetwork(n),void e.Event.publish(e.Event.SOCIAL_SESSION_REFRESH,l);if(e.util.getEVSession()){if(window.EV.Social)return}else if(t&&e.util.Storage.session.get("social_to_link")){var c=t;if(c.hasOwnProperty("guid")){var d,p=!1;c.hasOwnProperty("mainSession")&&(p=c.mainSession.hasOwnProperty("sessionCookie")?c.mainSession.sessionCookie:p,d=c.mainSession.hasOwnProperty("expiry")?c.mainSession.expiry:new Date);var g=!1;if(e.settings.isSeamlessSignInEnabled()){var f=a?e.util.getHeader("X-EV-SSO",a):void 0;f&&(g=!0,e.util.createSeamlessSession(c,f,!0).then(function(){u(t,o,l,n),s(c,p,d,t,n,i,r),e.util.Storage.session.set("apple_logged_in","true"),e.Event.publish("apple.logged.in","Apple Logged In")}))}g||(u(t,o,l,n),s(c,p,d,t,n,i,r),e.util.Storage.session.set("apple_logged_in","true"),e.Event.publish("apple.logged.in","Apple Logged In"))}}else(e.util.Storage.cookie.get("ev_ss")||t&&t.hasOwnProperty("mainSession")&&t.mainSession.sessionId)&&e.Core.get("/session/"+(e.util.Storage.cookie.get("ev_ss")||t.mainSession.sessionId),null,null,null,!0).then(function(c){var d=c.response;if(d.hasOwnProperty("guid")){var p,g=!1;d.hasOwnProperty("mainSession")&&(g=d.mainSession.hasOwnProperty("sessionCookie")?d.mainSession.sessionCookie:g,p=d.mainSession.hasOwnProperty("expiry")?d.mainSession.expiry:new Date);var f=!1;if(e.settings.isSeamlessSignInEnabled()){var m=a?e.util.getHeader("X-EV-SSO",a):void 0;m&&(f=!0,e.util.createSeamlessSession(d,m,!0).then(function(){u(d,o,l,n),s(d,g,p,t,n,i,r),e.util.Storage.session.set("apple_logged_in","true"),e.Event.publish("apple.logged.in","Apple Logged In"),setTimeout(function(){e.Event.publish("ev_session_retrieved")},2e3)}))}f||(u(d,o,l,n),s(d,g,p,t,n,i,r),e.util.Storage.session.set("apple_logged_in","true"),e.Event.publish("apple.logged.in","Apple Logged In"),setTimeout(function(){e.Event.publish("ev_session_retrieved")},2e3))}})}function u(t,n,i,r){var a=t,o={widget_guid:"apple",ev_session:a,social_session:e.util.getSocialSessionForNetwork(r)};window.appleSessionResponseWidget=o}function p(e){var t=window.top.location.search.replace(/\?/g,""),n=window.top.location.origin+window.top.location.pathname,i=t.split("=");return i[0]!==e?null:(window.history.replaceState({},document.title,n),window.evAppleUserJWTSocialBtns=i[1],window.evAppleUserJWTSocialLink=window.evAppleUserJWTSocialBtns,i[1])}function g(e){var t=e.split(".")[1],n=t.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(n).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}function f(){return window.top.location.search.includes("evAppleData")}function m(i,r,a,o,s){return e.util.httpRequest("POST",a,null,o,function(r,a){
42if(r.hasOwnProperty("error")||r.hasOwnProperty("code")){var o=t(r,a,"apple");return void i.reject(o)}e.Core.get("/session/"+e.util.Storage.cookie.get("ev_ss"),null,null,null,!0).then(function(t){var r=t.response;if(r.hasOwnProperty("guid")){var o,s=!1;r.hasOwnProperty("mainSession")&&(s=r.mainSession.hasOwnProperty("sessionCookie")?r.mainSession.sessionCookie:s,o=r.mainSession.hasOwnProperty("expiry")?r.mainSession.expiry:new Date),e.util.saveEVSessionInStorage(r,s,o),e.Event.publish(e.Event.SESSION_REFRESH,r)}var l=n(r,a,"apple");i.fulfill(l)})},s),i}e.Social={api:{context:"/social",credentials:"/credentials",credentialsWithService:"/credentialsWithService",authorize:"/authorize",authenticateWithEvolok:"/session",authenticateWithSwg:"/sessionSwg",authenticateWithSwgLogin:"/sessionSwgLogin",registerWithEvolok:"/register",logout:"logout",userProfile:"/socialProfile",userAvatar:"/userAvatar"},init:function(t){var n=t.socialKeys||null,i=t.swg_client_id||null,r=t.swg_project_id||null;if(!this.isSocialSettingValid(n))throw new Error("Mu
42st specify valid social settings for social networks!",(!0));if(!t.hasOwnProperty("icDomain"))throw new Error("Social Config must specify the icDomain property!",(!0));if(!t.hasOwnProperty("serviceName"))throw new Error("Social Config must specify the serviceName property!",(!0));if(!t.hasOwnProperty("realmName"))throw new Error("Social Config must specify the realmName property!",(!0));if(!t.hasOwnProperty("redirectUri"))throw new Error("Social Config must specify the social redirectUri property!",(!0));if(e.util.detectBrowserSupport(),e.util.detectBrowserPopup()&&e.util.getHelloJsClient().on("auth.login",function(t,n){var i="hello",r=e.util.Storage.local.get(i,{namespace:""}),a=e.util.promise();o(t,n,r.realmName,r.serviceName,r.autoRegister,r.autoPopulate,a),e.Core.refreshSSOSession()}),f()){var a=p("evAppleData");if(!a)return;var s=g(a);if(s.session&&!e.util.getEVSession()){s.session=JSON.parse(s.session),s.network="apple";var l=e.util.promise(),c=d(s.session,"apple",l);e.Event.publish("social.login.response",{network:s.network,response:c}),e.Core.refreshSSOSession()}}e.settings.icDomain=t.icDomain,e.settings.realmName=t.realmName,e.settings.socialServiceName=t.serviceName,e.settings.localStorageExpireTime=t.localStorageExpireTime,e.settings.ic_social_settings.attributes_mapping=t.socialAttributeMapping||null;var u={social_services:n,redirect_uri:t.redirectUri,oauth_proxy:e.util.getRequestUri(e.Social.api.context+e.Social.api.authorize),swg_client_id:i,swg_project_id:r};e.util.extend(e.settings.ic_social_settings,u),e.util.log("Evolok Social Library Settings = "+JSON.stringify(e.settings)),e.settings.socialPermissions={};var m=e.util.getRequestUri(e.Social.api.context+"/permissions",n);e.util.getHelloJsClient().utils.xhr("GET",m,null,null,function(t,n){t.hasOwnProperty("error")||t.hasOwnProperty("code")||n>=400||(e.settings.socialPermissions=t)}),e.util.getHelloJsClient().init(n,e.settings.ic_social_settings)},login:function(t,n,i,r,a,s,l){e.util.assert(t,"Social network should not be empty!"),e.settings.isValid();var d=e.util.promise();e.settings.socialPermissions[t]&&e.settings.socialPermissions[t].length&&(n.scope+=", "+e.settings.socialPermissions[t].join(", "));var u=e.util.extend(e.settings.ic_social_settings,n);if("apple"!==t&&e.util.getHelloJsClient().hasOwnProperty("services")){var p=e.util.getHelloJsClient().services[t],g=p.oauth.response_type;u="code"==g?e.util.extend(u,{oauth_proxy:e.util.getRequestUri(e.Social.api.context+"/accessToken")}):e.util.extend(u,{oauth_proxy:e.util.getRequestUri(e.Social.api.context+e.Social.api.authorize)})}e.util.detectBrowserPopup()&&(u.display="page");var f=document.querySelector('script[src="https://accounts.google.com/gsi/client"]');return"apple"===t?c():"google"===t&&f?(e.util.assert(t,"Social network needs JWT data to proceed with Session Creation!"),e.Event.publish("social.login.response",{network:t,response:l}),o(l,null,i,r,a,s,d),e.Core.refreshSSOSession()):e.util.getHelloJsClient().login(t,u,function(n,l){e.Event.publish("social.login.response",{network:t,response:n}),o(n,l,i,r,a,s,d),e.Core.refreshSSOSession()}),d},socialLogin:function(t,n,i,r,a,s,l){e.util.assert(t,"Social network should not be empty!"),e.settings.isValid();var c=e.util.promise(),d={};if("google"===t)e.util.assert(window.evData&&window.evData.googleSocialData,"Social Google data are not available, check that login was done properly and data was stored!"),d.network=t,d.client_id=window.evData.googleSocialData.client_id,d.credential=window.evData.googleSocialData.credential;else{var u={};u=JSON.parse(localStorage.getItem("hello"))||{},d.authResponse=u[Object.keys(u)[0]],d.network=d.authResponse.network}var p=l.statusCode;o(d,p,i,r,a,s,c);e.settings.ssoCookieDomain||window.location.hostname;return c},logout:function(t,n,i){e.util.assert(t,"Social network should not be empty!"),e.settings.isValid(),e.util.assert(e.util.isAuthenticatedWithEvolok(),"Evolok session should not be empty!"),e.util.getHelloJsClient().logout(t,function(t,i){e.util.log("EV LOGOUT = "+t),e.Core.refreshSSOSession(),n(t,i)},i)},register:function(i,o,s,l,c,d,u){e.util.assert(i,"Social network should not be empty!"),e.util.assert(e.util.isAuthenticatedWithSocialNetwork(i)||"google"===i,"Sorry you're not logged-in with '"+i+"'. Please try again!"),e.settings.isValid();var p=e.util.getSocialSessionForNetwork(i),g=e.util.promise();if(l&&!Array.isArray(l))throw new Error("Attributes should be list of key/value pairs");if(c&&!Array.isArray(c))throw new Error("Roles should be list of key/value pairs");if(d&&!Array.isArray(d))throw new Error("RolesToAssign should be list of key/value pairs");var f={},m=document.querySelector('script[src="https://accounts.google.com/gsi/client"]');
42if("google"===i&&m){if(!window.evData.googleSocialData)throw new Error("Google Social info is missing, please check that user have logged in with Google and data is stored for use");f=e.util.merge(f,{jwt:window.evData.googleSocialData.credential}),f=e.util.merge(f,{client_id:window.evData.googleSocialData.client_id})}else f=e.util.merge(p,{network:i});f=e.util.merge(f,r(o)),f=e.util.merge(f,a(s)),f=e.util.merge(f,{attributes:l}),f=e.util.merge(f,{roles:c}),f=e.util.merge(f,{rolesToAssign:d});var h=e.Social.getSocialApiRequestUri(e.Social.api.registerWithEvolok,i);return e.util.httpRequest("POST",h,null,f,function(r,a){if(r.hasOwnProperty("error")||r.hasOwnProperty("code")||a>=400){var o=t(r,a,i);return void g.reject(o)}var s,l=!1,c=r;c.hasOwnProperty("guid")&&(c.hasOwnProperty("mainSession")&&(l=c.mainSession.hasOwnProperty("sessionCookie")?c.mainSession.sessionCookie:l,s=c.mainSession.hasOwnProperty("expiry")?c.mainSession.expiry:new Date),e.util.saveEVSessionInStorage(c,l,s),e.Event.publish(e.Event.SESSION_REFRESH,c));var d=n(r,a,i);g.fulfill(d)}),g},linkAccount:function(i,o,s,l,c){e.util.assert(i,"Social network should not be empty!"),e.util.assert(o,"Auth scheme should not be empty!"),e.util.assert(l,"Identifiers should not be empty!"),e.util.assert(c,"Validators should not be empty!"),e.util.assert(e.util.isAuthenticatedWithSocialNetwork(i),"Sorry you're not logged-in with '"+i+"'. Please try again!"),e.settings.isValid();var d=e.util.getSocialSessionForNetwork(i),u=e.util.promise(),p={network:i};p=e.util.merge(p,a()),p=e.util.merge(p,r(s));var g=r(s);g=e.util.merge(g,{identifiers:l}),g=e.util.merge(g,{validators:c}),g=e.util.merge(g,{authenticationSchemeName:o});var f=e.util.getRequestUri("/session");return e.util.httpRequest("POST",f,null,g,function(o,l){if(o.hasOwnProperty("error")||o.hasOwnProperty("code")||l>=400){var c=t(o,l,i);return void u.reject(c)}var g=o;if(g&&d){var f=d.access_token||null,m=d.client_id||null,h=g.hasOwnProperty("mainSession")?g.mainSession.sessionId:null;p=e.util.merge({network:i},{sessionId:h}),p=e.util.merge(p,a()),p=e.util.merge(p,r(s));var v={access_token:f};v=e.util.merge(v,{client_id:m});var E=e.Social.getSocialApiRequestUri("/"+g.guid+"/"+i+"/link");e.util.httpRequest("POST",E,null,v,function(r,a){if(r.hasOwnProperty("error")||r.hasOwnProperty("code")||a>=400){var o=t(r,a,i);return void u.reject(o)}if(g.hasOwnProperty("guid")){var s,l=!1;g.hasOwnProperty("mainSession")&&(l=g.mainSession.hasOwnProperty("sessionCookie")?g.mainSession.sessionCookie:l,s=g.mainSession.hasOwnProperty("expiry")?g.mainSession.expiry:new Date),e.util.saveEVSessionInStorage(g,l,s),e.Event.publish(e.Event.SESSION_REFRESH,g)}var c=n(g,a,i);u.fulfill(c)},p)}},p),u},linkAccountWithGuid:function(i,o,s){e.util.assert(i,"Evolok user guid should not be empty!"),e.util.assert(o,"Social network should not be empty!"),e.settings.isValid();var l=e.util.promise(),d=e.util.getEVSession();e.settings.ic_social_settings.hasOwnProperty("scope")&&delete e.settings.ic_social_settings.scope;var u=e.util.extend(e.settings.ic_social_settings,s);return"apple"===o?c(!0):(e.util.getHelloJsClient().login(o,u,function(i,s){if(e.util.log("Social Authentication Response = "+JSON.stringify(i)),i.hasOwnProperty("error")||i.hasOwnProperty("code")||s>=400){var c=t(i,s,o);return void l.reject(c)}var u=i.authResponse;if(d&&u){var p=u.access_token||null,g=u.client_id||null,f=(d.hasOwnProperty("mainSession")?d.mainSession.sessionId:null,{network:o});f=e.util.merge(f,a()),f=e.util.merge(f,r());var m={access_token:p};m=e.util.merge(m,{client_id:g});var h=e.Social.getSocialApiRequestUri("/"+d.guid+"/"+o+"/link");e.util.httpRequest("POST",h,null,m,function(i,r){if(i.hasOwnProperty("error")||i.hasOwnProperty("code")){var a=t(i,r,o);return void l.reject(a)}if(d.hasOwnProperty("guid")){var s,c=!1;d.hasOwnProperty("mainSession")&&(c=d.mainSession.hasOwnProperty("sessionCookie")?d.mainSession.sessionCookie:c,s=d.mainSession.hasOwnProperty("expiry")?d.mainSession.expiry:new Date), 43e.util.saveEVSessionInStorage(d,c,s),e.Event.publish(e.Event.SESSION_REFRESH,d)}var u=n(d,r,o);l.fulfill(u)},f)}}),l)},autoLinkAccount:function(i,o,s){e.util.assert(i,"Evolok user guid should not be empty!"),e.util.assert(o,"Social network should not be empty!"),e.util.assert(s,"Social login response should not be empty!"),e.settings.isValid();var l=e.util.promise(),c=e.util.getEVSession();if(e.settings.ic_social_settings.hasOwnProperty("scope")&&delete e.settings.ic_social_settings.scope,"apple"===o)return m(l,c,e.Social.getSocialApiRequestUri("/"+i+"/"+o+"/link"),{access_token:s.apple_code,client_id:e.settings.ic_social_settings.social_services.apple.id,social_email:s.apple_email,social_id:s.apple_id},{network:o,serviceName:a().serviceName,realmName:r().realmName});var d=s.authResponse,u=document.querySelector('script[src="https://accounts.google.com/gsi/client"]'),p=null!=u||s.client_id&&s.credential;if(c&&(d||"google"===o&&p)){var g,f;"google"===o||p||(g=d.access_token||null,f=d.client_id||null);var h=(c.hasOwnProperty("mainSession")?c.mainSession.sessionId:null,{network:o});
43h=e.util.merge(h,a()),h=e.util.merge(h,r());var v={};"google"===o&&p?(v={client_id:s.client_id,social_id:s.credential},Object.keys(e.settings.ic_social_settings.attributes_mapping).some(function(e){return e.indexOf("google_")})&&(v=e.util.merge(v,{attributesMapping:e.settings.ic_social_settings.attributes_mapping}))):(g=d.access_token||null,f=d.client_id||null,v={access_token:g},v=e.util.merge(v,{client_id:f}));var E=e.Social.getSocialApiRequestUri("/"+c.guid+"/"+o+"/link");e.util.httpRequest("POST",E,null,v,function(i,r){if(i.hasOwnProperty("error")||i.hasOwnProperty("code")){var a=t(i,r,o);return void l.reject(a)}if(c.hasOwnProperty("guid")){var s,d=!1;c.hasOwnProperty("mainSession")&&(d=c.mainSession.hasOwnProperty("sessionCookie")?c.mainSession.sessionCookie:d,s=c.mainSession.hasOwnProperty("expiry")?c.mainSession.expiry:new Date),e.util.saveEVSessionInStorage(c,d,s),e.Event.publish(e.Event.SESSION_REFRESH,c)}var u=n(c,r,o);l.fulfill(u)},h)}return l},unlinkAccountWithGuid:function(i,r,a){e.util.assert(i,"Evolok user guid should not be empty!"),e.util.assert(r,"Social network should not be empty!"),e.util.assert(e.util.isAuthenticatedWithEvolok(),"Couldn't find the user Evolok session!"),e.settings.isValid();var o=e.util.promise(),s={network:r,serviceName:a?a:e.settings.getEVService()},l=e.Social.getSocialApiRequestUri("/"+i+"/"+r+"/unlink");return e.util.httpRequest("POST",l,null,null,function(e,i){if(e.hasOwnProperty("error")||e.hasOwnProperty("code")||i>=400){var a=t(e,i,r);return void o.reject(a)}var s=n(e,i,r);o.fulfill(s)},s),o},getLinkedSocialProfiles:function h(i){e.util.assert(i,"Evolok user guid should not be empty!"),e.settings.isValid();var r=e.util.promise(),a={serviceName:e.settings.getEVService()},h=e.Social.getSocialApiRequestUri("/"+i);return e.util.httpRequest("GET",h,null,null,function(e,i){if(e.hasOwnProperty("error")||e.hasOwnProperty("code")||i>=400){var a=t(e,i);return void r.reject(a)}var o=n(e,i);r.fulfill(o)},a),r},getSocialProfile:function(i,r){e.util.assert(i,"Social network should not be empty!"),e.util.assert(e.util.isAuthenticatedWithSocialNetwork(i)||"google"===i,"Sorry you're not logged-in with '"+i+"'. Please try again!"),e.settings.isValid();var a,o=e.util.getSocialSessionForNetwork(i),s=e.util.promise(),l=window.evData&&window.evData.googleSocialData;if(a="google"===i&&l?{network:i,access_token:window.evData.googleSocialData.credential,client_id:window.evData.googleSocialData.client_id,serviceName:e.settings.getEVService()}:{network:i,access_token:o.access_token,serviceName:e.settings.getEVService()},r){var c=e.settings.getSocialPermissionScope(),d=e.util.unique(c,r);a=e.util.merge(a,{scope:d})}var u=e.Social.getSocialApiRequestUri(e.Social.api.userProfile,i);return e.util.httpRequest("GET",u,null,null,function(r,a){if(e.util.log("Evolok Social getUserProfile = "+JSON.stringify(r)),r.hasOwnProperty("error")||r.hasOwnProperty("code")||a>=400){var o=t(r,a,i);return void s.reject(o)}var l=n(r,a,i);s.fulfill(l)},a),s},getUserAvatar:function(i,r,a,o,s){e.util.assert(i,"Social network should not be empty!"),e.util.assert(r,"Social network user id should be empty!"),e.util.assert(e.util.isAuthenticatedWithSocialNetwork(i),"Sorry you're not logged-in with '"+i+"'. Please try again!"),e.settings.isValid();var l=e.util.getSocialSessionForNetwork(i),c=e.util.promise(),d={network:i,access_token:l.access_token,client_id:l.client_id,serviceName:e.settings.getEVService(),pictureType:a,width:o,height:s},u=e.Social.getSocialApiRequestUri(e.Social.api.userAvatar+"/"+r,i);return e.util.httpRequest("GET",u,null,null,function(r,a){if(e.util.log("Evolok Social getUserAvatar = "+JSON.stringify(r)),r.hasOwnProperty("error")||r.hasOwnProperty("code")||a>=400){var o=t(r,a,i);return void c.reject(o)}var s=n(r,a,i);c.fulfill(s)},d),c},getSocialApiRequestUri:function(t,n,i){if(!t)throw new Error("Social Api method should not be empty!",(!0));var r=e.Social.api.context;return r+=n?"/"+n:"",r+=t||"",e.util.getRequestUri(r,i)},isSocialSettingValid:function(e){return!!e&&!!(e.hasOwnProperty("facebook")||e.hasOwnProperty("twitter")||e.hasOwnProperty("linkedin")||e.hasOwnProperty("google"))},getSwgConfig:function(){return i()},getSocialKey:function(t){if(!e.settings.ic_social_settings.social_services.hasOwnProperty(t))throw new Error("EV.Social.init() should have "+t+" in socialKeys!");return e.settings.ic_social_settings.social_services[t].id},swgSession:function(n,i,o,l,c,d,u){e.util.log("SwG Entitlements Response = "+JSON.stringify(n));var p="google",g={autoRegister:l||!0,autoPopulate:c||!1,orderId:u},f=e.util.merge(n,{network:p});f=e.util.merge(f,{client_id:n.userData.data.aud}),f=e.util.merge(f,r(i)),f=e.util.merge(f,a(o));var m=[],h=e.settings.getSocialAttributeMapping();if(c&&h){for(var v in h){var E={name:v,value:h[v]};m.push(E)}f=e.util.merge(f,{attributesMapping:m})}var b=e.Social.getSocialApiRequestUri(e.Social.api.authenticateWithSwg,p,g);return e.util.httpRequest("POST",b,null,f,function(n,i,r){if(e.util.log("Evolok authentication response
43(swg) = "+JSON.stringify(n)),n.hasOwnProperty("error")||n.hasOwnProperty("code")||i>=400){var a=t(n,i,p);return void d.reject(a)}var o=n;if(o.hasOwnProperty("guid")){var l,c=!1;o.hasOwnProperty("mainSession")&&(c=o.mainSession.hasOwnProperty("sessionCookie")?o.mainSession.sessionCookie:c,l=o.mainSession.hasOwnProperty("expiry")?o.mainSession.expiry:new Date);var u=!1;if(e.settings.isSeamlessSignInEnabled()){var g=r?e.util.getHeader("X-EV-SSO",r):void 0;g&&(u=!0,e.util.createSeamlessSession(o,g,!0).then(function(){s(o,c,l,n,p,d,i)}))}u||s(o,c,l,n,p,d,i)}}),d},swgSessionLogin:function(n,i,o,l){var c="google",d=e.util.merge(n,{network:c});d=e.util.merge(d,r(i)),d=e.util.merge(d,a(o));var u=e.Social.getSocialApiRequestUri(e.Social.api.authenticateWithSwgLogin,c,null);return e.util.httpRequest("POST",u,null,d,function(n,i,r){if(n.hasOwnProperty("error")||n.hasOwnProperty("code")||i>=400){var a=t(n,i,c);return void l.reject(a)}var o=n;if(o.hasOwnProperty("guid")){var d,u=!1;o.hasOwnProperty("mainSession")&&(u=o.mainSession.hasOwnProperty("sessionCookie")?o.mainSession.sessionCookie:u,d=o.mainSession.hasOwnProperty("expiry")?o.mainSession.expiry:new Date);var p=!1;if(e.settings.isSeamlessSignInEnabled()){var g=r?e.util.getHeader("X-EV-SSO",r):void 0;g&&(p=!0,e.util.createSeamlessSession(o,g,!0).then(function(){s(o,u,d,n,c,l,i)}))}p||s(o,u,d,n,c,l,i)}}),l}}}(window.EV);var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};window.EV=window.EV||{},function(e){"use strict";e.settings={_logging:!0,icDomain:null,serviceName:null,realmName:"default",icAppName:"ev-widgets",recaptchaSiteKey:null,secureMode:!1,ssoCookieDomain:null,enableSSOMode:!0,enableSeamlessMode:!0,ic_unique_identifier_validation:!0,ic_social_settings:{attributes_mapping:null,oauth_proxy:null,social_services:null,redirect_uri:null,scope:"email"},getICDomain:function(){return this.icDomain},getEVService:function(e){return e?{serviceName:this.serviceName}:this.serviceName},getEVRealm:function(e){return e?{realmName:this.realmName}:this.realmName},getReCaptchaSiteKey:function(){return this.recaptchaSiteKey},isUniqueIdentifierValidEnabled:function(){return this.ic_unique_identifier_validation},getSocialServices:function(){return this.ic_social_settings.social_services},getSocialPermissionScope:function(e){return this.ic_social_settings.scope?e?{scope:this.ic_social_settings.scope}:this.ic_social_settings.scope:null},getSocialAttributeMapping:function(){return this.ic_social_settings.attributes_mapping},isSecureModeEnabled:function(){return this.secureMode},isSSOEnabled:function(){return this.enableSSOMode},isSeamlessSignInEnabled:function(){return this.enableSeamlessMode},isSocialServicesValid:function(e){if(!e)return!1;for(var t=["facebook","twitter","linkedin","google","googleplus","apple"],n=0;n<t.length;n++)if("object"===("undefined"==typeof e?"undefined":K(e))){if(e.hasOwnProperty(t[n]))return!0}else if(e===t[n])return!0;return!1},isValid:function(){if(!this.getICDomain())throw new Error("Config must specify the icDomain property");e.util.detectBrowserSupport()||console.error("Not Compatible with current browser!");var t=this.getSocialServices();if(t){if(!this.isSocialServicesValid(t))throw new Error("Config social_services property must specify settings for any supp
43orted social networks [facebook, twitter, linkedin, google, apple]!");if(!this.ic_social_settings.redirect_uri)throw new Error("Config must specify the redirect_uri property for social settings!");if(!this.ic_social_settings.oauth_proxy)throw new Error("Something went wrong oauth_proxy property is not defined!")}}},e.Event={USER_IDENTIFIED:"user.identified",USER_NOT_FOUND:"user.notFound",LOGIN_SUCCESS:"login.success",LOGIN_FAILED:"login.failed",LOGIN_CANCELLED:"login.cancelled",LOGIN_REQUIRED:"login.required",LOGIN_TEMPLATE_LOADED:"ev.ic.login.TemplatesLoaded",REGISTRATION_SUCCESS:"registration.success",REGISTRATION_FAILED:"registration.failed",REGISTRATION_CANCELLED:"registration.cancelled",INTERNAL_REGISTRATION_TEMPLATE_LOADED:"ev.widget.registrationForm.loaded",REGISTRATION_TEMPLATE_LOADED:"registration.widgetLoaded",REGISTRATION_FORM_INVALID:"registration.form.invalid",EDIT_PROFILE_COMPLETE_SUCCESS:"edit-profile-complete.success",EDIT_PROFILE_COMPLETE_FAILED:"edit-profile-complete.failed",EDIT_PROFILE_COMPLETE_CANCELLED:"edit-profile-complete.cancelled",EDIT_PROFILE_DELETE_USER_ACTION_SUCCESS:"edit-profile-delete.success",EDIT_PROFILE_DELETE_USER_ACTION_FAILED:"edit-profile-delete.failed",EDIT_PROFILE_FORM_LOADED:"edit-profile.form.loaded",FORGOT_PASSWORD_SUCCESS:"forgot-password.success",FORGOT_PASSWORD_FAILED:"forgot-password.failed",FORGOT_PASSWORD_CANCELLED:"forgot-password.cancelled",RESET_PASSWORD_SUCCESS:"reset-password.success",RESET_PASSWORD_FAILED:"reset-password.failed",RESET_PASSWORD_CANCELLED:"reset-password.cancelled",RESET_PASSWORD_FORM_LOADED:"ev.widgets.resetPasswordForm.loaded",CHANGE_PASSWORD_SUCCESS:"change-password.success",CHANGE_PASSWORD_FAILED:"change-password.failed",CHANGE_PASSWORD_CANCELLED:"change-password.cancelled",ACC_ACTIVATION_SUCCESS:"acct-activation.success",ACC_ACTIVATION_FAILED:"acct-activation.failed",ACC_ACTIVATION_CANCELLED:"acct-activation.cancelled",AUTO_LINK_SOCIAL_ACCOUNT:"auto.link.social.account",AUTO_SOCIAL_LINK_SUCCESS:"auto.social.link.success",AUTO_SOCIAL_LINK_FAILED:"auto.social.link.failed",GOOGLE_LINK_AUTHENTICATION:"google.link.authentication",TWITTER_LINK_AUTHENTICATION:"twitter.link.authentication",LINKEDIN_LINK_AUTHENTICATION:"linkedin.link.authentication",FACEBOOK_LINK_AUTHENTICATION:"facebook.link.authentication",APPLE_LINK_AUTHENTICATION:"apple.link.authentication",SOCIALS_LINK_AUTHENTICATION:"socials.link.authentication",IDENTITY_LINK_AUTHENTICATION:"identity.link.authentication",SOCIAL_ACCOUNT_LINK_REQUIRED:"social.account.link.required",SOCIAL_LOGIN_SUCCESS:"social-login.success",SOCIAL_LOGIN_FAILED:"social-login.failed",SOCIAL_LOGIN_CANCELLED:"social-login.cancelled",SOCIAL_REGISTER_SUCCESS:"social-register.success",SOCIAL_REGISTER_FAILED:"social-register.failed",SOCIAL_REGISTER_CANCELLED:"social-register.cancelled",SOCIAL_ACCOUNT_REGISTER_SUCCESS:"social-account-register.success",SOCIAL_ACCOUNT_REGISTER_FAILED:"social-account-register.failed",SOCIAL_ACCOUNT_REGISTER_CANCELLED:"social-account-register.cancelled",SOCIAL_ACCOUNT_LINK_SUCCESS:"social-account-link.success",SOCIAL_ACCOUNT_LINK_FAILED:"social-account-link.failed",SOCIAL_ACCOUNT_LINK_CANCELLED:"social-account-link.cancelled",SOCIAL_LINKED_ACCOUNT_SUCCESS:"social-linked-account.success",SOCIAL_LINKED_ACCOUNT_FAILED:"social-linked-account.failed",SOCIAL_UNLINK_ACCOUNT_SUCCESS:"social-unlink-account.success",SOCIAL_UNLINK_ACCOUNT_FAILED:"social-unlink-account.failed",PROFILE_LOADED:"profile.loaded",PROFILE_UPDATED:"profile.updated",USER_SESSION_SAVED:"user.session.saved",PROFILE_ATTRIBUTE_CHANGED:"profile.attribute.changed",PROFILE_ATTRIBUTE_CHANGE_REQUEST:"profile.attribute.change.request",LOGOUT_ACTION:"logout.action",CAPTURE_ATTRIBUTES_VALIDATION_FAILED:"capture-attributes.validation.failed",CAPTURE_ATTRIBUTES_ADD_HIDDEN_ATTRIBUTES:"ev.widget.captureAttributes.addHiddenAttributes",SESSION_REFRESH:"session.refresh",SESSION_PROFILE_PICTURE_REFRESH:"session.profile.picture.refresh",SESSION_EXPIRED:"session.expired",SECURE_SESSION_EXPIRED:"secure.session.expired",SOCIAL_SESSION_REFRESH:"social.session.refresh",SOCIAL_SESSION_EXPIRED:"social.session.expired",SERVICE_MISSING_ATTRIBUTES:"service.missingAttributes",AUTH_SCHEME_MISSING_IDENTIFIERS_VALIDATORS:"authScheme.missing.identifiers.validators",INTERNAL:{HANDLE_JS_EVENTS:"events.internal.handleJSEvents"},PM_ADD_ITEM_TO_BASKET_SUCCESS:"pm.addItemSuccess",PM_REMOVE_ITEM_FROM_BASKET:"pm.removeItem",PM_ADD_ITEM_TO_BASKET_FAILED:"pm.addItemFailure",PM_RETRIEVE_STORED_BASKET_SUCCESS:"pm.retrieveStoredBasketSuccess",PM_RETRIEVE_STORED_BASKET_FAILED:"pm.retrieveStoredBasketFailed",PM_CREATED_BASKET_SUCCESS:"pm.createBasketSuccess",PM_CREATED_BASKET_FAILED:"pm.createBasketFailed",PM_CLEARED_BASKET:"pm.clearedBasket",PM_CHECKOUT_SUCCESS:"pm.checkoutSuccess",PM_CHECKOUT_FAILED_USER_NOT_LOGGED_IN:"pm.checkoutFailedUserNotLoggedIn",PM_CHECKOUT_FAILED_SERVER_ERROR:"pm.checkoutFailedServerError",PM_NO_PAYMENT_PLAN:"pm.noPaymentPlan",PM_BASKET_IS_EMPTY:"pm.basketIsEmpty",PM_EMPTY_BASKET:"pm.emptyBasket",PM_REDIRECT_TO_PAYMENT:"pm.redirectToPayment",PM_REDIRECT_TO_LOGIN:"pm.redirectToLogin",PM_REDIRECT_TO_EDIT_PROFILE:"pm.redirectToEditProfile",PM_PROCESS_CHECKOUT:"pm.processCheckout",PM_NEED_TO_LOGIN:"pm.needToLogin",PM_INVITATION_KEY_ACCEPTED:"pm.invitationKeyAccepted",PM_INVITATION_KEY_DECLINED:"pm.invitationKeyDeclined",PM_PROMO_PLANS_LOADED:"pm.promoPlansLoaded",PM_PROMO_CODE_FAILURE:"pm.promoCodeFailure",PM_PROMO_CODE_APPLIED:"pm.promoCodeApplied",PM_REMOVE_APPLIED_PRICE:"pm.removeAppliedPrice",PM_SELECT_PAYMENT_PLAN:"pm.selectPaymentPlan",PM_PRODUCTS_LOADED:"pm.productsLoaded",PM_ERROR:"pm.error",PM_PROCESS_ORDER:"pm.processOrder",PM_REDIRECT_ORDER_SUMMARY:"pm.redirectOrderSummary",PM_PRODUCT_ACTION:"pm.productAction",PM_ORDER_TYPE_ACTION:"pm.orderTypeAction",PM_REDIRECT_PRODUCT_PROFILE:"pm.redirectProductProfile",PM_PRODUCT_PROFILE_LOADED:"pm.productProfileLoaded",PM_PRODUCTS_SELECTED:"pm.productsSelected",PM_VALIDATE_PROFILE:"pm.validateProfile",PM_VALID_PROFILE:"pm.validProfile",PM_INVALID_PROFILE:"pm.invalidProfile",PM_CREATE_ORDER_SUCCESS:"pm.createOrderSuccess",PM_CREATED_ORDER:"pm.createdOrder",PM_PAYMENT_TYPE:{DIRECT_DEBIT:"DIRECT_DEBIT",CARD:"
43CARD",BANK_TRANSFER:"BANK_TRANSFER",CASH:"CASH"},PM_PAYMENT_TYPE_ENFORCE:"pm.paymentTypeEnforce",PM_PAYMENT_TYPE_CHANGED:"pm.paymentTypeChanged",PM_PAYMENT_SUCCESS:"pm.paymentSuccess",PM_OFFER_APPLY_SUCCESS:"pm.offerApplySuccess",PM_PURCHASES_LOADED:"pm.purchasesLoaded",PM_INVITATIONS_LOADED:"pm.invitationsLoaded",PM_BENEFICIARY_INVITED:"pm.beneficiaryInvited",PM_BENEFICIARY_DELETED:"pm.beneficiaryDeleted",PM_BENEFICIARY_LIMIT_CHANGE:"pm.beneficiaryLimitChange",PM_CARD_UPDATED:"pm.cardUpdated",PM_PURCHASE_CANCELLED:"pm.purchaseCancelled",PM_ADD_BENEFICIARY_OPEN:"pm.addBeneficiary.open",PM_OPEN_BENEFICIARY_LIST:"pm.purchaseList.openBeneficiaryList",PM_OPEN_ADD_BENEFICIARY:"pm.purchaseList.openAddBeneficiary",PM_CANCEL_PURCHASE_OPEN:"pm.cancelPurchase.open",PM_CANCEL_PURCHASE_CLOSE:"pm.cancelPurchase.close",PM_OPEN_CANCEL_PURCHASE:"pm.purchaseList.openCancelPurchase",PM_OPEN_CHANGE_PURCHASE:"pm.purchaseList.openChangePurchase",PM_OPEN_CHANGE_PRODUCT_PLAN:"pm.changeProductPlan",PM_PURCHASES_LIST_CHANGE_PRODUCTS_AVAILABLE:"pm.purchasesList.changeProduct.productsAvailable",PM_PURCHASES_LIST_CHANGE_PRODUCT:"pm.purchasesList.changeProduct.selectProduct",PM_PURCHASES_LIST_CHANGE_PLAN:"pm.purchasesList.changeProduct.selectPlan",PM_PURCHASES_LIST_CHANGE_PURCHASE_CONFIRM:"pm.purchasesList.changeProduct.confirm",PM_CHANGE_CARD_OPEN:"pm.changeCard.opened",PM_CHANGE_CARD_CLOSE:"pm.changeCard.closed",PM_OPEN_CHANGE_CARD:"pm.changeCard.open",PM_PURCHASES_CHANGE_ADDRESS_OPENED:"pm.purchaseList.openedChangeAddressModal",PM_PURCHASES_CHANGE_ADDRESS_CLOSED:"pm.purchaseList.closedChangeAddressModal",PM_PURCHASES_CHANGE_ADDRESS_SUCCESS:"pm.purchaseList.changeAddressSuccess",PM_PURCHASES_LIST_EDITED_ADDRESS_SUCCESS:"pm.purchaseList.editedAddressSuccess",PM_PURCHASES_LIST_ADDED_NEW_ADDRESS_SUCCESS:"pm.purchaseList.addedNewAddressSuccess",PM_OPEN_PURCHASES_CHANGE_BILLING_ADDRESS:"pm.purchaseList.openChangeBillingAddressModal",PM_OPEN_PURCHASES_CHANGE_DELIVERY_ADDRESS:"pm.purchaseList.openChangeDeliveryAddressModal",PM_PURCHASES_LIST_REFRESH:"pm.purchase-list.refresh",PM_SUBSCRIPTION_APPROVED:"pm.subscriptionApproved",PM_SUBSCRIPTION_REJECTED:"pm.subscriptionRejected",PM_SUBSCRIPTION_UPGRADED:"pm.subscriptionUpgraded",PM_UPGRADE_PRODUCTS_LOADED:"pm.upgrade.products.loaded",PM_PAYMENT_APPROVED:"pm.paymentApproved",PM_PAYMENT_REJECTED:"pm.paymentRejected",PM_REDIRECT_TO_STRIPE_PAYMENT:"pm.redirectToStripePayment",PM_REDIRECT_TO_GOCARDLESS_PAYMENT:"pm.redirectToGocardlessPayment",PM_REDIRECT_TO_MERCADO_PAYMENT:"pm.redirectToMercadoPayment",PM_REDIRECT_TO_MANUAL_PAYMENT:"pm.redirectToManualPayment",PM_REDIRECT_TO_PAYPAL_PAYMENT:"pm.redirectToPaypalPayment",PM_REDIRECT_TO_2CHECKOUT_PAYMENT:"pm.redirectTo2CheckoutPayment",PM_REDIRECT_TO_DPO_PAYMENT:"pm.redirectToDPOPayment",PM_REDIRECT_TO_CHECKOUTDOTCOM_PAYMENT:"pm.redirectToCheckoutDotComPayment",PM_REDIRECT_TO_GOOGLE_PAY_PAYMENT:"pm.redirectToGooglePayPayment",PM_REDIRECT_TO_APPLE_PAY_PAYMENT:"pm.redirectToApplePayPayment",PM_REDIRECT_TO_RAZORPAY_PAYMENT:"pm.redirectToRazorpayPayment",PM_REDIRECT_TO_KLARNA_PAYMENT:"pm.redirectToKlarnaPayment",PM_REDIRECT_TO_PAYSTACK_PAYMENT:"pm.redirectToPaystackPayment",PM_REDIRECT_TO_CYBERSOURCE_PAYMENT:"pm.redirectToCybersourcePayment",PM_CHECKOUT_SUBMIT_PAYMENT:"pm.checkoutButton.submitPayment",PM_DO_PAYPAL_CHECKOUT:"pm.doPaypalCheckout",PM_RAZORPAY_PAYMENT_METHOD_SELECTED:"pm.razorpayPaymentMethodSelected",PM_REGISTER_PROVIDER_WIDGET:"pm.registerProviderWidget",PM_PROMO_ACTION:"pm.promoCodeAction",PM_PROMO_PLANS_ACTION:"pm.promoPlansAction",PM_RESET_PROMO:"pm.resetPromo",PM_SAVED_BASKET:"pm.savedBasket",PM_PURCHASE_CUSTOM_DATA_LOADED:"ev.pm.purchaseCustomData.loaded",PM_PURCHASE_CUSTOM_DATA_UPDATE_PURCHASE_ID:"ev.pm.purchaseCustomData.updatePurchaseId",PM_PURCHASE_CUSTOM_DATA_SUBMIT:"ev.pm.purchaseCustomData.sendCustomData",PM_PURCHASE_CUSTOM_DATA_SUBMITTING_FORM:"ev.pm.purchaseCustomData.submitForm",PM_PURCHASE_CUSTOM_DATA_PURCHASE_UPDATED:"ev.pm.purchaseCustomData.purchaseUpdated",PM_PURCHASE_CUSTOM_DATA_PURCHASE_UPDATE_ERROR:"ev.pm.purchaseCustomData.purchaseUpdateError",PM_DISCOUNT_APPLIED_BASED_ON_ATTRIBUTES:"ev.pm.discountAppliedBasedOnAttributes",PM_TOGGLE_PLAN_PRODUCT_SELECTED:"ev.pm.togglePlan.productSelected",PM_TOGGLE_PLAN_CHANGE:"ev.pm.togglePlan.change",PM_TOGGLE_INVOICE_FORMAT:"ev.pm.purchasesList.toggleInvoiceFormat",PM_PURCHASE_REGEN_LAST_INVOICE:"ev.pm.purchaseRegenLastInvoice",PM_STRIPE_PURCHASE_CARD_EXISTS:"ev.pm.stripe.purchase.card.exists",PM_STRIPE_PURCHASE_PANEL_NEW_CARD:"ev.pm.stripe.purchase.panel.newCard",PM_STRIPE_PURCHASE_PANEL_EXISTING_CARD:"ev.pm.stripe.purchase.panel.existingCard",PM_MERCADO_WIDGET_LOADED:"ev.pm.widget.mercado.loaded",PM_MANUAL_WIDGET_LOADED:"ev.pm.widget.manual.loaded",MANDATORY_ATTRIBUTES_REQUIRED:"mandatory.attrs.required",MANDATORY_ATTRIBUTES_NOT_REQUIRED:"mandatory.attrs.not.required",NOTIFIER_OPENED:"ev.notifier.opened",NOTIFIER_CLOSE:"ev.notifier.close",PAYWALL_OPENED:"ev.paywall.opened",PAYWALL_CLOSE:"ev.paywall.close",FINISHED_INITING_REFERENCE_DATA:"ev.finished.initing.reference.data",WIDGET_ERROR:"widget.error",init:function(t){e.Event.on(e.Event.INTERNAL.HANDLE_JS_EVENTS,function(t){if(t||t.functionName){var n=window[t.functionName],i=t.hasOwnProperty("data")?t.data:null,r=t.hasOwnProperty("event")?t.event:null;"function"==typeof n?(n(i),r&&r.stopPropagation()):e.util.log("Couldn't find a javascript function "+t.functionName+" defined in the browser context.",!0)}})},publish:function(t,n){e.util.assert(t,"Event Id should not be empty!"),e.util.emit(t,n)},on:function(t,n){e.util.assert(t,"Event Id should not be empty!"),e.util.on(t,n)},handleJSEvents:function(t,n,i){e.util.assert(t,"Javascript function name should not be empty!");var r=t.replace("()",""),a={functionName:r,data:n,event:i};e.Event.publish(e.Event.INTERNAL.HANDLE_JS_EVENTS,a)}},e.util={getHelloJsClient:function(){if("undefined"!=typeof z)return z;throw new Error("OAuth client [helloJs] does not exist!",(!0))},getRequestUri:function(t,n){if(!e.settings.getICDomain())throw new Error("IC Domain should not be empty!",(!0));var i=n?e.util.getParam(n):"",r=e.settings.getICDomain();return r+="/"===r.charAt(r.length-1)&&"/"===t.charAt(0)?t.substring(1,t.length):t,r=i?r+"?"+i:r}
43,httpRequest:function i(t,n,r,a,o,s){if(this.detectBrowserSupport()){var l=this.getHelloJsClient();if(l){var c,d=l.utils,u=d.args({method:"s",url:"s",headers:"o",data:"o",callback:"f",options:"o"},arguments);u.options&&u.options.hasOwnProperty("network")?c=this.isEmpty(u.options.network)?null:u.options.network.toLowerCase():a&&a.hasOwnProperty("network")&&(c=this.isEmpty(a.network)?null:a.network.toLowerCase());var p;a&&a.hasOwnProperty("serviceName")?p=this.isEmpty(a.serviceName)?null:a.serviceName:u.options&&u.options.hasOwnProperty("serviceName")&&(p=this.isEmpty(u.options.serviceName)?null:u.options.serviceName),u.method=(u.method||"get").toLowerCase(),u.headers=u.headers||{},u.headers=d.merge(u.headers,{Accept:"application/json;charset=UTF-8","Content-Type":"application/json;charset=UTF-8",Authorization:this.getEVAuthorizationHeader(p)}),u.options=u.options||{},u.data=u.data||{};var g=e.settings.getSocialServices();g&&c&&(u.options=d.merge(u.options,{client_id:g[c].id})),u.query=u.options||"","get"===u.method||"delete"===u.method?(d.extend(u.query,u.data),u.data={}):"post"!==u.method&&"put"!==u.method||(u.query={}),u.data=u.data?JSON.stringify(u.data):{};var i=d.request(u,function(t,n){var i;n&&n.statusCode&&(i=n.statusCode);var r=e.util.handleThirdPartyErrors(t);return r?(r.statusCode=i,void o(r)):void o(t,i,n)});return i}}},detectBrowserPopup:function(){var e=navigator.userAgent||navigator.vendor||window.opera;if(e.indexOf("FBAN")>-1||e.indexOf("FBAV")>-1)return!0},getParam:function(e,t){var n,i,r={};if("string"==typeof e){if(t=t||decodeURIComponent,i=e.replace(/^[\#\?]/,"").match(/([^=\/\&]+)=([^\&]+)/g))for(var a=0;a<i.length;a++)n=i[a].match(/([^=]+)=(.*)/),r[n[1]]=t(n[2]);return r}t=t||encodeURIComponent;var o=e;r=[];for(var s in o)o.hasOwnProperty(s)&&o.hasOwnProperty(s)&&r.push([s,"?"===o[s]?"?":t(o[s])].join("="));return r.join("&")},isEmpty:function(e){if(!e)return!0;if(Array.isArray(e))return!e.length;if("object"===("undefined"==typeof e?"undefined":K(e))){for(var t in e)if(e.hasOwnProperty(t))return!1}else if("undefined"!==e&&null!==e&&""!==e&&"null"!==e)return!1;return!0},url:function(e){if(e){if(window.URL&&URL instanceof Function&&0!==URL.length)return new URL(e,window.location);var t=document.createElement("a");return t.href=e,t}return window.location},random_guid:function(){return"EV"+(Math.random()*(1<<30)).toString(16).replace(".","")},error:function(e,t,n,i){return{error:{code:e,message:t,args:i},statusCode:n}},assert:function(e,t){if(!e){if(t=t||"Assertion failed","undefined"!=typeof Error)throw new Error(t);throw t}},merge:function(e,t){var n=this.getHelloJsClient();if(n){var i=n.utils;return i.merge(e,t)}},extend:function(e,t){for(var n="object"===("undefined"==typeof e?"undefined":K(e))?e:{},i=1;i<arguments.length;i++)if(arguments[i]&&"object"===K(arguments[i]))for(var r in arguments[i])n[r]=arguments[i][r];return n},each:function(t,n,i){if(e.util.isArray(t)){for(var r=0;r<t.length;r++)if(n.call(i,t[r],r)===!1)return}else if(t)for(var a in t)if(n.call(i,t[a],a)===!1)return},tryEach:function(t,n,i,r){this.each(t,function(t,a){try{return n.call(r,t,a)}catch(o){if(e.util.isFunction(i))try{i.call(r,t,a,o)}catch(s){}}},this)},redirectUri:function(){var e=this.getHelloJsClient();return e?e.settings.redirect_uri:null},hasPopupBlocked:function(e){var t=window.open(e,"_blank","screenX=100resizeable=true,height=500,width=700,left=0,top=0");return!t||"undefined"==typeof t||(t.onload=function(){setTimeout(function(){return 0===t.screenX&&t.close(),!0},0)},!1)},log:function(t,n){e.settings._logging&&(window.Debug&&window.Debug.writeln?window.Debug.writeln(t):window.console&&(n?window.console.error(t):window.console.log(t)))},isAuthenticatedWithEvolok:function(){var t=e.util.getEVSession();return null!==t},isAuthenticatedWithSocialNetwork:function(t){var n=t?e.util.getSocialSessionForNetwork(t):e.util.getAllSocialSessions();return null!==n},getAuthCode:function(t,n,i){e.util.assert(t,"payload should not be empty!"),e.util.assert(t.client_id,"client_id should not be empty"),e.util.assert(t.return_url,"return_url should not be empty"),e.util.assert(t.scope,"scope should not be empty");var r=e.util.promise(),a={};n=n||{};(!i||i&&!i.hasOwnProperty("serviceName"))&&(a.serviceName=t.scope);var o="/oauth/authcode",s=e.util.getRequestUri(o);return e.util.httpRequest("POST",s,n,t,function(t,n,i){if(t.error||t.code||n>=400){var a=n,o=t,s=[];return t.hasOwnProperty("code")?a=t.code:t.hasOwnProperty("error")&&(a=t.error.code),t.hasOwnProperty("message")?o=t.message:t.hasOwnProperty("error")&&(o=t.error.message),t.hasOwnProperty("args")?s=t.args:t.hasOwnProperty("error")&&(s=t.error.args),void r.reject(e.util.error(a,o,n,s))}window.location.assign(t.returnUrl+"?authCode="+t.authCode+"&state="+t.state),t={response:t,statusCode:n,headers:i},r.fulfill(t)},a),r},saveEVSessionInStorage:function(t,n,i,r){e.util.assert(t,"Evolok session should not be empty!");
43var a="ev_ss",o="ex_ss",s="ev_session",l=e.settings.ssoCookieDomain||window.location.hostname;r||(!e.settings.disableCookies&&t&&t.hasOwnProperty("mainSession")&&e.util.Storage.cookie.set(a,t.mainSession.sessionId,{expireMillis:t.mainSession.expiry||i,domain:l}),!e.settings.disableCookies&&e.settings.isSecureModeEnabled()&&t.hasOwnProperty("secureSession")&&e.util.Storage.cookie.set(o,t.secureSession.sessionId,{expireMillis:t.secureSession.expiry||i,domain:l})),n?e.util.Storage.session.set(s,t):e.util.Storage.local.set(s,t),e.Event.publish(e.Event.USER_SESSION_SAVED,"session saved")},clearAllSessions:function(){e.util.removeEVSession(),e.util.removeAllSocialSessions()},clearUserSessions:function(){var t=this.getEVSession();if(t){var n="/userProfile/"+t.guid;e.Core.get(n).then(function(e){console.log(e)},function(t){if(console.log(t),403===t.statusCode){e.util.Storage.cookie.remove("ev_ss"),e.util.Storage.cookie.remove("ex_ss"),e.util.clearAllSessions(),e.util.removeUserProfile();var n=e.settings.ssoCookieDomain||window.location.hostname;e.util.Storage.cookie.set("loggedIn",!1,{domain:n}),e.util.Storage.session.get("social_to_link")&&e.util.Storage.session.remove("social_to_link"),e.util.Storage.local.get("googleOneTapAttemptedFromURL")&&e.util.Storage.local.remove("googleOneTapAttemptedFromURL"),e.util.Storage.session.get("hide_social")&&e.util.Storage.session.remove("hide_social"),e.util.Storage.session.get("hide_ic_login")&&e.util.Storage.session.remove("hide_ic_login"),e.util.Storage.session.get("apple_login_attempted")&&e.util.Storage.session.remove("apple_login_attempted"),e.util.Storage.session.get("auto_link_apple_to_guid")&&e.util.Storage.session.remove("auto_link_apple_to_guid"),e.util.Storage.session.get("apple_logged_in")&&e.util.Storage.session.remove("apple_logged_in")}})}},getEVSession:function(){var t="ev_session",n=e.util.Storage.local.get(t);return this.isEmpty(n)&&(n=e.util.Storage.session.get(t)?e.util.Storage.session.get(t):e.util.Storage.cookie.get(t)),n},removeEVSession:function(){var t="ev_session";e.util.Storage.session.remove(t),e.util.Storage.local.remove(t),e.util.Storage.cookie.remove("ev_ss"),e.util.Storage.cookie.remove("ex_ss");var n="hello";e.util.Storage.local.remove(n,{namespace:""})},getUserProfile:function(t){var n=e.util.Storage.session.get("ev_profile");if(n){var i=JSON.parse(n),r=Object.keys(i);for(var a in r)if(i[r[a]].isDirty){i[r[a]].isDirty=!0;break}return i[t]}return null},saveUserProfile:function(t,n,i){e.util.assert(t,"User Profile should not be empty!");var r=e.util.Storage.session.get("ev_profile"),a=JSON.parse(r);a||(a={}),a[n]=t,i&&(a[n].isDirty=!0),e.util.Storage.session.set("ev_profile",JSON.stringify(a)),e.Event.publish(e.Event.SESSION_PROFILE_PICTURE_REFRESH,a)},removeUserProfile:function(){e.util.Storage.session.remove("ev_profile")},getAllSocialSessions:function(){var t="hello",n={excludeNamespace:!0},i=e.util.Storage.local.get(t,n);if(this.isEmpty(i)){var r=e.util.Storage.session.get(t,n);return r?r:e.util.Storage.cookie.get(t,n)}return i},getSocialSessionForNetwork:function(t){if(t){var n=e.util.getAllSocialSessions();return n?n[t.toLowerCase()]||null:n}},removeSocialSessionForNetwork:function(t){if(t){var n=e.util.getAllSocialSessions();n&&n[t]&&delete n[t]}},removeAllSocialSessions:function(){var t=e.util.getAllSocialSessions();for(var n in t)n&&delete t[n]},createSeamlessSession:function(t,n,i){function r(){s===n.length&&a.fulfill()}e.util.assert(n,"Seamless domains should not be empty!"),e.util.assert(t,"Session should not be empty!");var a=e.util.promise();n=n.split(",");var o=i?"https://":"http://",s=0;return n.forEach(function(e){var n=o+e+"/ic/api/session/"+t.mainSession.sessionId+"/sso.gif",i=new XMLHttpRequest;i.open("GET",n),i.withCredentials=!0,i.send(),i.onload=function(){s++,r()},i.onerror=function(){s++,r()}}),a},deleteSeamlessSession:function(t,n){function i(){o===t.length&&r.fulfill()}e.util.assert(t,"Seamless domains should not be empty!");var r=e.util.promise();t=t.split(",");var a=n?"https://":"http://",o=0;return t.forEach(function(e){var t=a+e+"/ic/api/session/sso_logout.gif",n=new XMLHttpRequest;n.open("GET",t),n.withCredentials=!0,n.send(),n.onload=function(){o++,i()},n.onerror=function(){o++,i()}}),r},promise:function(){var e=this.getHelloJsClient();if(e)return e.utils.Promise()},emit:function(t,n){e.util.assert(t,"Event id should not be empty!");var i=this.getHelloJsClient();i&&t&&i.emit(t,n)},on:function(t,n){console.log("receive eventID:::",t),e.util.assert(t,"Event id should not be empty!");var i=this.getHelloJsClient();i&&t&&i.on(t,n)},getHeader:function(e,t){e=e.toLowerCase();var n=Object.keys(t).find(function(t){return t.toLowerCase()==e});return n?t[n]:null},handleThirdPartyErrors:function(){return function(t){if(!t||!t.hasOwnProperty("error"))return null;var n=t.error;
43return"access_denied"===n.code?e.util.error("access_denied",n.message,401,n.args):n}}(),getEVAuthorizationHeader:function(){ 44function t(e,t){return"Evolok "+i+"="+e+" "+r+"="+t}function n(e,t){return"Evolok "+i+"="+e+" "+a+"="+t}var i="evolok.api.service",r="evolok.api.sessionId",a="evolok.api.secureSessionId";return function(i){var r;if(this.isEmpty(i))throw new Error("Could not find the service name or key!");return e.settings.isSecureModeEnabled()&&(r=e.util.Storage.cookie.get("ex_ss")||"")?n(i,r):(r=e.util.Storage.cookie.get("ev_ss")||"",t(i,r))}}(),detectBrowserSupport:function(){var e="withCredentials"in new XMLHttpRequest;if(!e){var t="Error running EV: your browser does not support CORS.";console.error(t)}return e}},e.util.Storage=function(){function t(){var e,t=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);return void 0!==t&&null!==t&&(e=[parseInt(t[1],10),parseInt(t[2],10),parseInt(t[3]||0,10)],parseFloat(e.join(".")))}var n="evolok"+(Math.random()+1).toString(36).substring(7),i={},r=function(t){return e.util.isArray(t)?t:e.util.isString(t)?[t]:[]},a=function(t,n){var i="";return e.util.isString(n)&&n.length&&(n=[n]),e.util.isArray(n)&&n.length&&(i=n.join(":")),i&&t?t+":"+i:i},o=function(e,t){return e?t.replace(new RegExp("^"+e+":"),""):t},s=function(e){return JSON.stringify(e)},l=function(e){return e?JSON.parse(e):null};e.util.Storage.options=e.util.extend({namespace:"evolok",storages:["local","cookie","session","memory"],expireMillis:(new Date).getTime+26784e5},window.EV.util.Storage?window.EV.util.Storage.options:{});var c={engine:null,check:function(){try{window[this.engine].setItem(n,!0),window[this.engine].removeItem(n)}catch(e){return!1}return!0},set:function(e,t,n){if(!e)throw Error("invalid key");window[this.engine].setItem(e,t)},get:function(e){return window[this.engine].getItem(e)},remove:function(e){window[this.engine].removeItem(e)},reset:function(e){for(var t,n=0;n<window[this.engine].length;n++)t=window[this.engine].key(n),e&&0!==t.indexOf(e)||(this.remove(t),n--)},keys:function d(e){for(var t,d=[],n=0;n<window[this.engine].length;n++)t=window[this.engine].key(n),e&&0!==t.indexOf(e)||d.push(o(e,t));return d}};return i.local=e.util.extend({},c,{engine:"localStorage"}),i.session=e.util.extend({},c,{engine:"sessionStorage"}),i.memory={_hash:{},check:function(){return!0},set:function(e,t,n){if(!e)throw Error("invalid key");this._hash[e]=t},get:function(e){return this._hash[e]||null},remove:function(e){delete this._hash[e]},reset:function(e){for(var t in this._hash)e&&0!==t.indexOf(e)||this.remove(t)},keys:function u(e){var u=[];for(var t in this._hash)e&&0!==t.indexOf(e)||u.push(o(e,t));return u}},i.cookie={check:function(){return navigator.cookieEnabled},set:function(e,n,i){if(!this.check())throw Error("cookies are disabled");if(i=i||{},!e)throw Error("invalid key");var r=e+"="+n;if(i.expireMillis){var a=new Date;a.setTime(i.expireMillis),r+="; time="+new Date+"; expires="+a.toGMTString()}if(i.domain&&i.domain!==document.domain){var o=i.domain.replace(/^\./,"");if(document.domain.indexOf(o)===-1||o.split(".").length<=1)throw Error("invalid domain");r+="; domain="+i.domain}var s=t();s&&s<13?document.cookie=r+"; path=/; Secure":document.cookie=r+"; path=/;SameSite=None; Secure"},get:function(e){if(!this.check())throw Error("cookies are disabled");for(var t,n=document.cookie?document.cookie.split(";"):[],i=n.length-1;i>=0;i--)if(t=n[i].replace(/^\s*/,""),0===t.indexOf(e+"="))return t.substring(e.length+1,t.length);return null},remove:function(e){this.set(e,"",{expireMillis:-1});for(var t=document.domain.split("."),n=t.length;n>=0;n--)this.set(e,"",{expireMillis:-1,domain:"."+t.slice(-n).join(".")})},reset:function(e){for(var t,n,i=document.cookie?document.cookie.split(";"):[],r=0;r<i.length;r++)t=i[r].replace(/^\s*/,""),n=t.substr(0,t.indexOf("=")),e&&0!==n.indexOf(e)||this.remove(n)},keys:function p(e){if(!this.check())throw Error("cookies are disabled");for(var t,n,p=[],i=document.cookie?document.cookie.split(";"):[],r=0;r<i.length;r++)t=i[r].replace(/^\s*/,""),n=t.substr(0,t.indexOf("=")),e&&0!==n.indexOf(e)||p.push(o(e,n));return p}},{init:function(e){return this.setOptions(e),this},setOptions:function(t){this.options=e.util.extend({},this.options||e.util.Storage.options,t)},support:function(e){return i.hasOwnProperty(e)},check:function(e){return!!this.support(e)&&i[e].check()},set:function(t,n,o){if(o=e.util.extend({},this.options,o),!(t=a(o.namespace,t)))return!1;n=o.raw===!0?n:s(n);var l=null;return e.util.tryEach(r(o.storages),function(e,r){return i[e].set(t,n,o),l=e,!1},null,this),!!l&&(e.util.tryEach(r(o.storages),function(e,n){e!==l&&i[e].remove(t)},null,this),!0)},get:function(t,n){if(n=e.util.extend({},this.options,n),n.hasOwnProperty("excludeNamespace")&&n.hasOwnProperty("excludeNamespace")!==!1||(t=a(n.namespace,t)),!t)return null;var o=null;return e.util.tryEach(r(n.storages),function(e,r){return null===o&&(o=i[e].get(t,n)||null,void(o=n.raw===!0?o:l(o)))},function(e,t,n){o=null},this),o},remove:function(t,n){n=e.util.extend({},this.options,n),(t=a(n.namespace,t))&&e.util.tryEach(r(n.storages),function(e){i[e].remove(t)},null,this)},reset:function(t){t=e.util.extend({},this.options,t),e.util.tryEach(r(t.storages),function(e){i[e].reset(t.namespace)},null,this)},keys:function g(e){e=e||{};var g=[];for(var t in this.keysMap(e))g.push(t);return g},keysMap:function(t){t=e.util.extend({},this.options,t);var n={};return e.util.tryEach(r(t.storages),function(r){e.util.each(i[r].keys(t.namespace),function(t){n[t]=e.util.isArray(n[t])?n[t]:[],n[t].push(r)},this)},null,this),n}}},e.util.Storage.memory=(new e.util.Storage).init({storages:"memory",namespace:"evolok",raw:!1}),e.util.Storage.cookie=(new e.util.Storage).init({storages:"cookie",namespace:void 0,raw:!0}),e.util.Storage.local=(new e.util.Storage).init({storages:"local",namespace:"evolok",raw:!1}),e.util.Storage.session=(new e.util.Storage).init({storages:"session",namespace:"evolok",raw:!1});for(var t=["Arguments","Boolean","Function","String","Array","Number","Date","RegExp"],n=0;n<t.length;n++)e.util["is"+t[n]]=function(e){return function(t){return Object.prototype.toString.call(t)==="[object "+e+"]"}}(t[n])}(window.EV),function(){"use strict";window.EV.initializeIcUtils={init:function(e){t()}}}(),function(){"use strict";function t(t){t.useSWG&&(r(),D(),O()),n(),i(),P(),_(),C(),S(),T(),R(),I(),w(),u(),g(),Y(),M(),f(),y(),b(),h(),L(),s(),d(),x(),j(),v(),m(),l(),V(),A(),k(),E(),W(),B(),G(),N(),H(),U(),q(),c(),F(),e(),angular.module("ev-widgets").requires.push("ev-widget.pm.productSelection","ev-widget.pm.productProfile","ev-widget.pm.productSummary","ev-widget.pm.purchases","ev-widget.pm.upgradePurchase","ev-widget.pm.stripe","ev-widget.pm.expressPago","ev-widget.pm.paycomet","ev-widget.pm.easypay","ev-widget.pm.stripe.change-card","ev-widget.pm.completeStripePayment","ev-widget.pm.gocardless","ev-widget.pm.mercado","ev-widget.pm.manual","ev-widget.pm.checkoutButton","ev-widget.pm.grant","ev-widget.pm.paymentSelector","ev-widget.pm.swg.article","ev-widget.pm.payPalSubscription","ev-widget.pm.completePayPalSubscription","ev-widget.pm.completePayPalStripeSubscription","ev-widget.pm.dpoSubscription","ev-widget.pm.completeDpoSubscription","ev-widget.pm.2checkout","ev-widget.pm.productPromo","ev-widget.pm.checkoutDotCom","ev-widget.pm.checkoutDotCom.change-card","ev-widget.pm.klarna","ev-widget.pm.googlePay","ev-widget.pm.applePay","ev-widget.pm.startDateSelector","ev-widget.pm.razorpay","ev-widget.pm.paystack","ev-widget.pm.paystack.change-card","ev-widget.pm.purchaseCustomData","ev-widget.pm.togglePlan","ev-widget.pm.referralCodeEntry","ev-widget.pm.manageReferralCode","ev-widget.pm.viewReferralOffers","ev-widget.pm.revertCancellation","ev-widget.pm.cancelPurchase","ev-widget.pm.changeCard","ev-widget.pm.generateQRAccessCode","ev-widget.pm.changePurchaseAddress","ev-widget.pm.changeProductPlan","ev-widget.pm.upgradeProductPlan","ev-widget.pm.beneficiaryLimit","ev-widget.pm.editBillingAddress"),t.useSWG&&angular.module("ev-widgets").requires.push("ev-widget.pm.swg","ev-widget.pm.swg-upgrade")}window.EV.PM={init:function(e){if(!e.hasOwnProperty("pmDomain"))throw new Error("Config must specify the pmDomain property!",(!0));this.useSWG=e.useSWG,this.swgAutolikingLoginPage=e.swgAutolikingLoginPage,this.productName=e.productName,this.productGroupName=e.productGroupName,t(e),EV.Event.on("pm.util.loaded",function(e){setTimeout(function(){var t=(new Date).getTime(),n=e.getBasketLocal()||{};t>n.expire&&(e.removeBasketLocal(e.getBasketLocal()),console.log("Local Storage Basket Expired",n))},0)}),EV.util.detectBrowserSupport()&&(this.pmDomain=e.pmDomain,this.stripeKey=e.stripeKey,this.stripePaypalRedirectUrl=e.stripePaypalRedirectUrl,this.expressPagoKey=e.expressPagoKey,this.expressPagoCardUrl=e.expressPagoCardUrl,this.paycometKey=e.paycometKey,this.mercadoKey=e.mercadoKey,this.gocardlessKey=e.gocardlessKey,this.twoCheckoutKey=e.twoCheckoutKey,this.twoCheckoutSellerId=e.twoCheckoutSellerId,this.skipSummary=e.skipSummary,this.skipProfile=e.skipProfile,this.skipValidation=e.skipValidation,this.validateGroup=e.validateGroup,this.skipSessionCreation=e.skipSessionCreation,this.skipLogin=e.login||e.skipLogin,this.realmName=e.realmName,this.brand=e.brand,this.channel=e.channel,this.checkoutDotComPublicKey=e.checkoutDotComPublicKey,this.googleMerchantPublicKey=e.googleMerchantPublicKey,this.googleMerchantId=e.googleMerchantId,this.googleMerchantName=e.googleMerchantName,this.googleGatewayProvider=e.googleGatewayProvider,this.appleMerchantId=e.appleMerchantId,this.appleMerchantDomain=e.appleMerchantDomain,this.appleDisplayNameStore=e.appleDisplayNameStore,this.razorpayKey=e.razorpayKey,this.razorpayMerchantDisplayName=e.razorpayMerchantDisplayName,this.paystackPublicKey=e.paystackPublicKey,this.localStorageExpireTime=e.localStorageExpireTime)}}}(),function(){"use strict";function e(){a()}window.EV.WM={init:function(t){if(EV.util.detectBrowserSupport()){if(!t.hasOwnProperty("brand"))throw new Error("Config for EV.WM must specify the brand property!",(!0));this.brand=t.brand,e(),this.language=t.language||"en",this.useWmTranslations=t.useWmTranslations||!1,this.useWmReferenceData=t.useWmReferenceData||!1,this.wmDomain=t.wmDomain||!1}}}}(),window.EV=window.EV||{},function(e){"use strict";var t={ev:{widgets:{orseparator:"OR",userProfileUpdateSuccess:"Your account has been updated successfully.","register.success":"The account has been successfully created.","forgotpassword.success":"Reset email sent.","resetpassword.success":"Password changed successfully.","changepassword.success":"Password changed successfully.","emailresend.success":"A new activation e-mail has been sent.",selectDropdownOption:"Choose an option",errors:{all_social_networks_linked:"All social networks are connected!",no_social_network_linked:"No social network is linked",checkout:"There was a problem with the checkout, please try again",payment:"There was a problem with the payment, please try again",order:"There was a problem with the order, please try again",direct_debit:"Invalid Direct Debit details",credentials_invalid:"Invalid credentials.",identifiers_not_found:"We couldn't find the account, please register a new account.",duplicate_user_profile:"Email already in use! Please use a different email or enter your current password and link account.",user_linked_with_different_account:"Your {0} account is already linked with another account.",duplicate_identifiers_found:"Account is already associated! Please register a new account.",identifiers_invalid:"Invalid username and password. Please reset your password through Forgot Password link and try again.",account_locked:"Your account is locked due to multiple incorrect attempts, please try again later.",account_suspended:"Your account has been suspended, contact the site administrator.",user_already_linked_with_same_social_network:"Your user account is already linked to {1} account with email {0}. You need to unlink {1} from your account before linking to another {1} user.",social_email_address_in_use:"Email address already in use. Log in with another account under this email address to link the social profile",user_profile_inactive:"Your account is not yet activated. <a class='resend-activation' ng-click='resendActivation()'>
44Re-send email</a>",unlink_user_social_network:"Your account can not be unlinked due to missing profile information. Please update the account <a class='resend-activation' ng-click='onSocialUnlinkFailedAction()'>here</a>.",user_profile_identifiers_not_found:"We do not have an account under that email address. Please try a different address or create a new account.",nothing_selected:"Please select an option to continue",technical_difficulties:"Sorry we are having technical difficulties please try again shortly",change_card_failed:"It was not possible to update the card details please try again shortly",retrieve_card_fail:"It was not possible to retrieve existing cards",retrieve_referral_code_fail:"It was not possible to retrieve referral code",referral_code_unavailable:"Referral code unavailable",referral_offers_unavailable:"Referral offers unavailable",generate_referral_code_fail:"It was not possible to generate a referral code",change_product_plan_failed:"The product/plan change failed",reset_validation_failed:"Validation for attribute {0}, value {1} failed",reset_key_used:"The reset attribute key {0} was not found or already being used.",attribute_validation_failed_change_password:"There was an error with attribute's validation",general_attributes:"The following fields are incorrect or empty [{0}]. These fields are mandatory for one or more services linked to your profile",general_attribute:"The following field is incorrect or empty [{0}]. The field is mandatory for one or more services linked to your profile",product_not_found:"Product not found",product_invalid:"Product is invalid",duplicated_purchase:"This purchase is not possible as it already exists",not_logged_in:"You need to be logged in to use this widget",undefined_order_id:"The order has not been created",create_payment_failed:"There was a problem with the payment, please try again",invalid_request:"Invalid request",field_required:"Field required",missing_mandatory_attribute:"Missing mandatory attribute(s)",confirm_field_required:"{0} required",field_invalid:"Field invalid",confirm_field_invalid:"{0} invalid",field_length6:"Wrong length (should be 6 characters)",field_length8:"Wrong length (should be 8 characters)",invalid_bank_details:"Please check your bank details",password_length:"Password must be of minimum 6 characters.",password_mismatch:"{0} doesn't match",validator_invalid:"{1} is empty or doesn't match {0}",identifier_mismatch:"{0} is empty or doesn't match {1}",attribute_mismatch:"{0} and {1} don't match",delivery_address_required:"Delivery address missing",invalid_tax_id:"Invalid Tax ID/Country",invalid_tax_id_length:"The format of the tax id is invalid for the selected country",ERR_TC0001:"Tax Validation is mandatory but tax id is not provided.",ERR_TC0002:"The provided tax id is invalid.",ERR_TC0003:"The provided tax id or full name is invalid.",reenter_or_continue_with_invalid_tax_id:"The tax ID you 've provided is invalid. Nonetheless, you may still proceed with your purchase. However, but kindly note that a standard tax rate will be applied to your order.",continue_with_invalid_tax_id:"Proceed with the Invalid Tax Id",reenter_taxid_button:"Re-enter the tax id",close:"Close",ERR_TC0004:"The provided tax id or full name is slightly incorrect",tax_provider_not_found:"Provider Not Found",tax_unidentified_similar:"UNIDENTIFIED-SIMILAR: Not identified with the identification data contributed by minor differences in surnames and first names",billing_address_required:"Billing address missing",authentication_values_required:"Some authentication fields are missing: {0}",personal_details_required:"The following personal details must not be empty: {0}",attributes_required:"Some between the following fields are empty: {0}",attribute_validation_failed:"Some fields are invalid: {0}.<br>Make sure that you insert a valid Email and a Password with at least one uppercase letter, one special character and one number.",not_robot:"Please verify that you are not a robot",invalid_form:"Some data are missing or invalid, please check again your information",invalid_profile:"Invalid Profile: review the fields in your profile section",invali
44d_delivery_country:"You have specified an invalid delivery country",no_products_selected:"You need to select a product",incomplete_name:"The field Name is incomplete",require_uniquie_profile_and_realm:"Unable to update profile: your {0} [{1}] is already in use",duplicated_beneficiary:"Duplicate beneficiary for this purchase",grant_limit_reached:"Beneficiary limit reached for this role",beneficiary_limit_reached:"Beneficiary limit reached for this purchase",add_beneficiary_fail:"Could not add beneficiary",auth_scheme_not_found_for_identifier:"Insert an email or phone number",custom_data_required_field:"Please fill {0} information",one_time_password_code_invalid:"One time password incorrect",one_time_password_format_invalid:"One time password code invalid",one_time_password_expired:"One Time Password Code Expired",invalid_card_form:"",mercado_card_form_error:"Error occurred with Card form: {0}"},errorMsg:{ariaLabels:{closeAlertMessage:"Close Alert Message"}},dateAttributes:{ariaLabels:{selectDay:"Select Day",selectMonth:"Select Month",selectYear:"Select Year"}},socialCardView:{ariaLabels:{unlinkSocialAccount:"Unlink Social Account",confirmUnlinkSocialAccount:"Confirm Unlink Social Account"}},socialLink:{ariaLabels:{closeSocialLinkWidget:"Close Social Link Widget",linkSocialForm:"Link Social Form",confirmLinkAccount:"Confirm Link Account",confirmCancelLinkSocial:"Confirm Cancel Link Social",forgotPassword:"Go to Forgot Password"}},forgotPassword:{ariaLabels:{closeForgotPasswordWidget:"Close Forgot Password Widget",resetPasswordForm:"Reset Password Form",confirmResetPassword:"Confirm Reset Password",confirmCancelResetPassword:"Confirm Cancel Reset Password",closeResetPassword:"Close Reset Password"},title:"Forgot Password",buttons:{submit:"Forgot Password",cancel:"Cancel",close:"Ok"}},changePassword:{ariaLabels:{closeChangePasswordWidget:"Close Change Password Widget",changePasswordForm:"Change Password Form",confirmChangePassword:"Confirm Change Password",confirmCancelChangePassword:"Confirm Cancel Change Password",closeChangePassword:"Close Change Password"},title:"Change Password",buttons:{submit:"Change Password",cancel:"Cancel"}},resetPassword:{ariaLabels:{closeResetPasswordWidget:"Close Reset Password Widget",resetPasswordForm:"Reset Password Form",confirmResetPassword:"Confirm Reset Password",cancelResetPassword:"Cancel Reset Password",closeResetPassword:"Close Reset Password"},title:"Reset Password",buttons:{submit:"Change Password",cancel:"Cancel"}},socialLinkAccounts:{ariaLabels:{closeSocialLinkAccountsWidget:"Close Social Link Accounts Widget",linkSocialAccountsForm:"Link Social Accounts Form",confirmLinkAccount:"Confirm Link Account"}},socialUnlinkAccounts:{ariaLabels:{closeSocialUnlinkAccountsWidget:"Close Social Unlink Accounts Widget"}},accountActivation:{title:"Account Activation",success:"Account Activated",error:"Account Not Activated",warning:"Couldn't find the activation key!",ariaLabels:{closeAccountActivationWidget:"Close Account Activation Widget"}},socialRegistration:{ariaLabels:{closeSocialRegistrationWidget:"Close Social Registration Widget",socialRegistrationForm:"Social Registration Form",confirmSocialRegister:"Confirm Social Register",confirmCancelSocialRegister:"Confirm Cancel Social Register"}},userIdentifier:{title:"User Identifier",multiIdentifier:{label:"Phone Number/Email",placeholder:"Insert Phone Number/Email"},buttons:{submit:"Login",cancel:"Cancel"},ariaLabels:{userIdentifierForm:"User Identifier Form",closeUserIdentifierWidget:"Close User Identifier Widget",confirmIdentify:"Confirm User Identification",cancelIdentify:"Cancel User Identification"}},registration:{title:"Registration",ariaLabels:{closeRegistrationWidget:"Close Registration Widget",registrationForm:"Registration Form",confirmRegistration:"Confirm Registration",cancelRegistration:"Cancel Registration"},buttons:{cancel:"Cancel",submit:"Register"}},login:{title:"Login",rememberMe:"Remember me",attributes:{username:"Username",email:"E-mail",Password:"Password"},buttons:{cancel:"Cancel",oneTimePassword:"Get one time password","continue":"Continue",submit:"Login"},ariaLabels:{closeLoginWidget:"Close Login Widget",continueForm:"Continue login form",loginForm:"Login Form","continue":"Continue to Login",confirmLogin:"Confirm Login",cancelLogin:"Cancel Login",forgotPassword:"Go to Forgot Password",oneTimePassword:"Get one time password"},multiIdentifier:{label:"Phone Number/Email",placeholder:"Insert Phone Number/Email"},forgotPassword:"Forgot your password?"},oneTimePassword:{enterCode:"Code",request_sent:"One time password sent",request_sent_warning:"One time password already requested, wait a moment before you try again",ariaLabels:{code:"One time password code"},success:"Successfully logged in",buttons:{cancel:"Cancel",submit:"Log In"}},editSocialProfile:{title:"Edit Social Profile",attributes:{username:"Username",email:"E-mail",Password:"Password"},buttons:{submit:"Update",cancel:"Cancel"},ariaLabels:{closeSocialProfileWidget:"Close Social Profile Widget",editSocialProfileForm:"Edit Social Profile Form",confirmEditSocialProfile:"Confirm Edit Social Profile",cancelEditSocialProfile:"Cancel Edit Social Profile"}}
44,editProfile:{title:"Edit Profile",error:{invalid_form:"Validation for {0} failed.",invalid_deliveryCountry:"The country selected for delivery is not valid"},ariaLabels:{closeEditProfileWidget:"Close Edit Profile Widget",editProfileForm:"Edit Profile Form",confirmEditProfile:"Confirm Edit Profile",cancelEditProfile:"Cancel Edit Profile"},buttons:{submit:"Update",cancel:"Cancel"}},attr:{userName:{label:"Username: ",placeholder:"Username"},firstName:{label:"First Name: ",placeholder:"First Name",required:"First Name Required"},lastName:{label:"Last Name: ",placeholder:"Last Name",required:"Last Name Required"},firstLastName:{label:"First Last Name: ",placeholder:"First Last Name",required:"First Last Name Required"},address1Postcode:{label:"Address1 Postcode: ",placeholder:"Address1 Postcode"},email:{label:"Email: ",placeholder:"Email",required:"Email Required",confirm:{label:"Confirm Email",placeholder:"Confirm Email"}},password:{label:"Password: ",placeholder:"Password",invalid:"Password Invalid",required:"Password Required",toggleShow:"Show",toggleHide:"Hide",confirm:{label:"Confirm Password",placeholder:"Confirm Password"}},country:{label:"Country: ",placeholder:""},gender:{label:"Gender: ",placeholder:"",required:"Gender Required"},interests:{label:"Interests: ",placeholder:""},dobDay:{invalid:"DOB Day Invalid",label:"DOB Day",placeholder:"DOB Day",required:"DOB Day Required"},dobMonth:{invalid:"DOB Month Invalid",label:"DOB Month",placeholder:"DOB Month",required:"DOB Month Required"},dobYear:{invalid:"DOB Year Invalid",label:"DOB Year",placeholder:"DOB Year",required:"DOB Year Required"},phoneNumber:{invalid:"Phone Number Invalid",label:"Phone Number",placeholder:"Phone Number",required:"Phone Number Required"}},productProfile:{authDetails:"Authentication details",address:{country:{defaultOption:"Select Country"},deliveryAddressTitle:"Delivery address",billingAddressTitle:"Billing address",newAddress:"New address",useDeliveryAddress:"Use delivery address",useBillingAddress:"Use billing address"},invoiceRequired:"Invoice Required",selectAddress:{label:"Select Address"},selectDeliveryAddress:{label:"Select Address"},alreadyRegistered:"Are you already registered? Click here to Login",autoLinkingMessage:"Login with Evolok to Link your social account to it",selectProductWarning:"Select a product to proceed with this step",submit:"Submit",ariaLabels:{addNewBillingAddress:"Add New Billing Address",addNewDeliveryAddress:"Add New Delivery Address",productProfileForm:"Profile Form in Product Selection",confirmProductProfileForm:"Confirm Profile Form in Product Selection",haveAlreadyAccount:"Click here if you already have an Account",autoLinkingMessage:"Login with Evolok to Link your social account to it"}},changeProductPlan:{ariaLabels:{selectProduct:"Select Product",selectPlan:"Select Plan",confirmChangePlan:"Confirm Change Plan",closeChangePlan:"Close Change Plan Section"},no_upgrade_available:"No Upgrade Available",plan_already_upgraded:"Plan Already Upgraded"},plan:{frequency:{NONE:"One-off",DAY1:"Daily",WEEK1:"Weekly",MONTH1:"Monthly",MONTH3:"Quarterly",MONTH6:"Biannual",MONTH12:"Yearly",MONTH18:"Sesquiennial"},contractLength:{NONE:"None",DAY1:"One Day",WEEK1:"One Week",MONTH1:"One Month",MONTH3:"Three Months",MONTH6:"Six Months",MONTH12:"One Year",MONTH18:"One Year and half"}},productSelection:{text:{boosted:"RECOMMENDED",normal:"BASIC PLAN"},headerNote:"Select a plan",paymentPlansHeader:"Select a plan",select:"Select",subscribe:"Subscribe",orderType:{GIFT:"Gift Subscription","null":"STANDARD"},deliveryCountry:"Delivery Country",ariaLabels:{addNewBillingAddress:"Add New Billing Address",addNewDeliveryAddress:"Add New Delivery Address",productProfileForm:"Profile Form in Product Selection",confirmProductProfileForm:"Confirm Profile Form in Product Selection"}},paymentType:{"default":"Select a payment type",no_option:"No payment types available",ariaLabels:{selectPaymentType:"Select Payment Type Options"}},paymentSelector:{CARD:"Credit / Debit Card",DIRECT_DEBIT:"Direct Debit",IDEAL:"iDEAL",PAYPAL:"",GOOGLE_PAY:"Google Pay",APPLE_PAY:"Apple Pay"},stripe:{cardNumber:"Card Number",cardExpiry:"Expiration",cardExpiryDate:"Expiry Date",cardCVC:"CVC",submitPayment:"Submit Payment",submitCardForm:"Pay",paymentSuccessful:"Payment Successful",transactionSecurity:"This transaction is secured with SSL encryption",securityMessage:"Secured with SSL encryption",ideal:{name:"Name","name.placeholder":"Jenny Rosen",bank:"iDEAL Bank"},sepa:{authorization:"By providing your IBAN and confirming this payment, you are authorizing [company name] and
44Stripe, our payment service provider, to send instructions to your bank to debit your account and your bank to debit your account in accordance with those instructions. You are entitled to a refund from your bank under the terms and conditions of your agreement with your bank. A refund must be claimed within 8 weeks starting from the date on which your account was debited."},pmError:{STREXincorrect_cvc:"You have entered an incorrect cvc code",STREXexpired_card:"You card has an expired card number",STREXprocessing_error:"Problem processing your payment",STREXcard_declined:"Your card was declined"},ariaLabels:{submitPayment:"Submit Payment",paymentForm:"Payment Form",submitCardForm:"Pay with card"}},twocheckout:{transactionSecurity:"This transaction is secured with SSL encryption",cardNumber:"Credit Card Number",securityCode:"Security code",cardExpirationMonth:"Expiration month",cardExpirationYear:"Expiration year",submitPayment:"Submit Payment",paymentSuccessful:"Payment Successful",placeholder:{cardNumber:"4000000000000002",securityCode:"123",cardExpirationMonth:"10",cardExpirationYear:"2022"},error:{300:"Seller unauthorized to use the API or incorrect publishable key",400:"Payment form is missing attributes",401:"Payment form is missing required attributes",200:"Unable to process the request",500:"Payment error","default":"Invalid parameters"},pmError:{"2CHECKEX1001":"Payment error, bad parameters","2CHECKEX1002":"Authorization Failed","2CHECKEX1003":"Payment Authorization Failed: Please verify your Credit Card details are entered correctly","2CHECKEX1004":"Payment Authorization Failed: Please verify your information and try again"},ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment"}},checkoutdotcom:{transactionSecurity:"This transaction is secured with SSL encryption",submitPayment:"Submit Payment",paymentSuccessful:"Payment Successful",ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment"}},razorpay:{transactionSecurity:"This transaction is secured with SSL encryption",submitPayment:"Submit Payment",paymentSuccessful:"Payment Successful",ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment"},card:"Card",upi:"UPI",emandate:"E-Mandate"},paystack:{submitPayment:"Submit Payment",paymentSuccessful:"Payment Successful",ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment"}},applePay:{error:{notActivated:"Apple Pay is possible on this browser, but not activated."}},gocardless:{bankAccounts:"Bank Accounts",titleConfirm:"Please check and confirm your direct debit details",titleConfirmed:"Direct debit details confirmed",accountNumberEnding:"Account number ending",accountHolderName:"Account name",sortCode:"Your sort code",accountNumber:"Your account number",bankName:"Bank Name",submitDirectDebit:"Set up Direct Debit",submitDirectDebitConfirm:"Submit",directDebitSuccessful:"Direct Debit set up successfully",authorizeMandate:"I confirm that I am the account holder and am authorised to set up Direct Debit payments on this account.",placeholder:{sortCode:"e.g. 102030",accountNumber:"12345678"},footer:{privacyNotice:"Payments by GoCardless. Read the",privacyNoticeLink:"GoCardless privacy notice",directDebitGuarantee:"Your payments are protected by the",directDebitGuaranteeLink:"Direct Debit Guarantee"},link:{newBankAccount:"New Bank Account",existingBankAccount:"Existing Bank Account",change:"Change",confirm:"Confirm"},confirmation:{bankStatement:"[Organisation name] will appear on your bank statement when payments are taken against this Direct Debit",emailNotice:"You will receive an email within three business days confirming the Direct Debit set up"},ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment",existingBankAccount:"I already have a bank account",createNewBankAccount:"Create a new bank account",selectedBankAccount:"Selected bank account",submitDirectDebitConfirmation:"Submit Direct Debit Confirmation Form",changeDirectDebitInfo:"Change Direct Debit Information",confirmDirectDebitInfo:"Confirm Direct Debit Information",confirmDirectDebitSubmit:"Confirm Direct Debit Submit Payment"}},paypal:{submitPayment:"Pay with PayPal",redirecting:"Redirecting you to PayPal...",ariaLabels:{submitPayment:"Submit Payment"}},easypay:{paymentOption:{mb:"mb",mbw:"mbw"}},dpo:{submitPayment:"Pay with Direct Pay Online",redirecting:"Redirecting you to Direct Pay Online...",ariaLabels:{submitPayment:"Submit Payment"}}
44,mercado:{form_error:{invalid_type_card_number:"cardNumber should be a number.",invalid_value_card_number:"cardNumber is empty.",invalid_length_card_number:"cardNumber should be of length between '8' and '19'.",invalid_type_expiration_date_month:"expirationMonth should be a number.",invalid_value_expiration_month:"expirationMonth is empty.",invalid_length_expiration_date:"expirationYear should be of length '2' or '4'.",invalid_type_expiration_date_year:"expirationYear should be a number.",invalid_value_expiration_year:"expirationYear is empty.",invalid_type_security_code:"securityCode should be a number.",invalid_length_security_code:"securityCode should be of length '3' or '4'.",invalid_value_security_code:"securityCode is empty."},email:"Email",cardNumber:"Credit Card Number",securityCode:"Security code",cardExpirationMonth:"Expiration month",cardExpirationYear:"Expiration year",cardExpiryDate:"Expiry Date",cardholderName:"Card holder name",docType:"Document type",docNumber:"Document number",submitPayment:"Submit Payment",paymentSuccessful:"Payment Successful",select:"",transactionSecurity:"This transaction is secured with SSL encryption",placeholder:{cardNumber:"4111 1111 1111 1111",securityCode:"123",cardExpirationMonth:"12",cardExpirationYear:"2022",cardholderName:"APRO",docNumber:"12345678"},error:{205:"Enter your card number", 45208:"Select a month",209:"Select a year",212:"Enter your identification type",213:"Enter your identification subtype",214:"Enter your identification number",220:"Enter your issuing bank",221:"Enter your full name",224:"Enter the security code",E301:"There's something wrong with that number. Please reenter",E302:"Check the security code",316:"Enter a valid name",322:"Check your identification type",323:"Check your identification type",324:"Check your identification number",325:"Check the date",326:"Check the date",securityCode:"Enter a valid security code",cardNumber:"Enter a valid card number",docNumberLength:"Document number can't be more than 8 characters",docNumberAlphaNum:"Sorry, alphanumeric document number aren't supported with Otro docType","default":"Invalid parameters"},ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment",selectDocumentType:"Select Document Type"}},manual:{submitPayment:"Confirm Manual Payment",paymentSuccessful:"Payment Successful",ariaLabels:{paymentForm:"Payment Form",submitPayment:"Submit Payment"}},klarna:{error:{klarna_bad_value:"Invalid {0}"},buttons:{authorize:"Confirm Payment"}},purchases:{productName:"Product Name",startDate:"Start Date",endDate:"End Date",nextPaymentDate:"Next Payment Date",frequency:"Frequency",discount:"Discount",paymentSchema:"Payment Schema",paymentSchemaSinglePurchase:"Single",paymentSchemaNonSinglePurchase:"Continuous",promoCode:"Promo Code",promoCodeGroup:"Promo Code Group",status:"Status",orderType:"Order Type",trialPrice:"Trial Price",finalPrice:"Final Price",noPurchases:"No Purchases",beneficiaryDetailsTitle:"Beneficiary Details",noBeneficiaryDetails:"No Beneficiary Details",actions:"Actions",actionsButton:{label:"Actions",action:{displayBeneficiaries:"Beneficiaries",addBeneficiary:"Add Beneficiary",changeCard:"Change Card",changeBillingAddress:"Change Billing Address",changeDeliveryAddress:"Change Delivery Address",cancelPurchase:"Cancel Purchase",revertCancellation:"Revert Cancellation",applyOffer:"Apply Offer",changeProductPlan:"Change Product/Plan",renewPurchase:"Renew Purchase",buyAgain:"Buy Again",generateQRAccessCode:"Generate QR Access Code",viewTransactions:"View Transactions",toggleInvoiceFormat:"Toggle Invoice Format"}},numberBeneficiaries:"Beneficiaries",notification:{title:"Add Beneficiary",email:"Email address",emailPlaceholder:"Enter email",emailHelp:"Enter the email for the beneficiary to be invited.",emailBeneficiary:"Email for the beneficiary to be invited.",emailRequired:"Email is required",emailInvalid:"Email is invalid",message:"Message",beneficiaryMessageHelp:"A message for the beneficiary is required to continue.",beneficiaryMessageRequired:"Message is empty.",add:"Add",cancel:"Cancel",close:"Close",success:"Your friend has been invited"},beneficiaries:{title:"Remove Beneficiary",email:"Email",status:"Status",action:"Action",remove:"Remove",cancel:"Close",noBeneficiaries:"No Beneficiaries"},transactions:{title:"Transactions Detail",id:"Transaction Id",created:"Created",payment:"Payment",amount:"Amount",currency:"Currency",startDate:"From",endDate:"To",type:"Type",status:"Status",cancel:"Close",noTransactions:"No Transactions",invoice:"Invoice",originalInvoice:"Original Invoice",latestInvoice:"Latest Invoice"},beneficiariesInput:{beneficiaryPlaceholder:"Enter beneficiary email",beneficiaryLabel:"Beneficiary",addBeneficiaryEmail:"Beneficiary Email",beneficiaryMessageLabel:"Enter a message",beneficiaryMessagePlaceholder:"Enter a message for the gifted person"},confirmDialog:{message:"Are you sure you want to remove this beneficiary?",confirm:"Confirm",cancel:"Cancel"},changeCard:{action:"Change Card",title:"Change Card Details",securityMessage:"Secured with SSL encryption",availableCard:{label:"Select a card",cardNumber:"Card Number",cardExpiryDate:"Expiry Date"},newCard:{label:"Add a new card",buttonLabel:"New Card",save:"Save & Confirm"},confirm:"Confirm",close:"Close",success:"Card Updated Successfully"},cancel:{action:"Cancel Purchase",success:"The purchase will be cancelled at the end of the current billing period",title:"Cancel Purchase",cancelling:"Cancelling the purchase...",message:"Are you sure you want to cancel this purchase?",confirm:"Confirm Cancellation",close:"Close",select_a_reason:"Select a reason",reason_for_cancellation:"Reason for cancelling purchase",select_an_offer:"Select an offer",applying_offer:"Applying offer...",offer_success:"Offer applied successfully"},revertCancellation:{title:"Revert Cancellation",message:"Are you sure you want to revert the cancellation of this purchase?",confirm:"Confirm",close:"Close",reverting:"Reverting the cancellation...",success:"The purchase was reverted back to an active state"},accessCode:{title:"Access QR Code",close:"Close"},changeProductPlan:{title:"Change Product/plan",message:"Select a new Product/Plan",upgrading:"Changing the purchase...",select_new_product:"Select new Product",select_new_plan:"Select new Plan",confirm:"Confirm Product/Plan change",success:"New Product/plan will start at the end of the billing period"},changeAddressModal:{billingTitle:"Change Billing Purchase Address",deliveryTitle:"Change Delivery Purchase Address",selectAddress:"Select an Address",addressInUse:"Selected",addressEdit:"Edit",confirm:"Save Changes",close:"Close",success:"Address Updated Successfully",countryDefaultOption:"Select Country",newAddress:{label:"Add a new address",buttonLabel:"New Address",save:"Save & Confirm",cancel:"Cancel"},editAddress:{label:"Update address",save:"Save & Confirm",cancel:"Cancel",warningMessage:"Changing this address will affect all your existing purchases that uses this address too!"}},ariaLabels:{removeBeneficiary:"Remove Beneficiary",cancel:"Cancel Operation",cancelPurchase:"Cancel Purchase",revertCancellation:"Revert Cancellation",selectOffer:"Select Offer",applyOffer:"Apply Offer",confirmRevertCancellation:"Confirm Revert Cancellation",closeRevertCancellation:"Close Revert Cancellation",confirmCancelPurchase:"Confirm Cancel Purchase",closeCancelPurchase:"Close Cancel Purchase",selectCard:"Select Card",addNewCard:"Add New Card",cardPaymentForm:"Card Payment Form",selectDocumentType:"Select Document Type",changeCard:"Change Card",confirmChangeCard:"Confirm Change Card",saveNewCard:"Save New Card",cancelChangeCard:"Cancel Change Card",closeChangeCard:"Close Change Card",confirmRemoveBeneficiary:"
45Confirm Remove Beneficiary",cancelRemoveBeneficiary:"Cancel Remove Beneficiary",showBeneficiaries:"Show Beneficiaries",addBeneficiary:"Add Beneficiary",addBeneficiaryForm:"Add Beneficiary Form",cancelAddBeneficiary:"Cancel Add Beneficiary",closeAddBeneficiaryForm:"Close Add Beneficiary Form",showMoreActions:"Show More Actions",changeProductPlan:"Change Product Plan",renewPurchase:"Renew Purchase",buyAgain:"Buy Again",changeAddress:"Change Address",confirmChangeAddress:"Confirm Change Address",saveNewAddress:"Save New Address",cancelChangeAddress:"Cancel Change Address",closeChangeAddress:"Close Change Address",selectAddress:"Select Address",addNewAddress:"Add New Address",submitNewAddress:"Submit new Address for Purchase",cancelNewAddress:"Cancel new Address for Purchase",cancelEditAddress:"Cancel Edit Address",submitEditAddress:"Submit Update Address for Purchase",viewTransactions:"View Transactions",toggleInvoiceFormat:"Toggle Invoice Format"}},purchase:{status:{ACTIVE:"ACTIVE",ACTIVE_PENDING:"ACTIVE",CANCEL_PENDING:"CANCEL PENDING",PENDING:"PENDING",CANCELLED:"CANCELLED",COMPLETED:"COMPLETED"},orderType:{STANDARD:"STANDARD",GIFT:"GIFT",MULTI_USER:"MULTI_USER"},existingCard:{loadingCards:"Searching for existing cards...",selectCardText:"Choose from existing card",selectCard:{ariaLabel:"Selected card"},info:{cardNumber:"Card Number",cardExpiryDate:"Expiry Date"}},newCard:{selectFromExistingBtn:{label:"Select Existing Card",ariaLabel:"Choose from Existing Card"},newCardButton:{label:"Use New Card",ariaLabel:"Use a new Card"}}},grant:{productName:"Product Name",actions:"Actions",noRecordsInvitationKeySpecified:"No Records / Invitation Key",accept:"Accept",decline:"Decline",ACCEPTED:"Accepted",DECLINED:"Declined",PENDING:"Pending",ariaLabels:{closeGrantWidget:"Close Grant Widget",grantForm:"Grant Form",acceptInvitation:"Accept Invitation",declineInvitation:"Decline Invitation"}},productSummary:{productName:"Name",productDescription:"Description",productFrequency:"Frequency",contractLength:"Contract Length",deliveryCost:"Delivery Cost",productPrice:"Amount",totalProductPrice:"Total Amount",totalAmount:"Total",checkout:"Checkout",noProductsSelected:"No products selected!",ariaLabels:{removeItemFromBasket:"Remove Item From Basket",checkoutPurchaseBasket:"Checkout Purchase Basket"}},checkout:{submit:"Checkout",processingProfile:"Processing profile...",processingOrder:"Processing order...",processingPayment:"Processing payment..."},invitationList:{ariaLabels:{showNumberBeneficiaries:"Show Number of Beneficiaries",showMoreActions:"Show more actions",cancelSubscription:"Cancel Subscription",showBeneficiaries:"Show Beneficiaries",addBeneficiary:"Add Beneficiary",removeBeneficiary:"Remove Beneficiary"}},notification:{ariaLabels:{closeNotificationWidget:"Close Notification Widget",inviteBeneficiaryForm:"Invite Beneficiary Form",addBeneficiary:"Add Beneficiary",cancelAddBeneficiary:"Cancel Add Beneficiary",datePicker:"Choose a Date",confirmDeleteBeneficiary:"Confirm Delete Beneficiary",confirmCancelSubscription:"Confirm Cancel Subscription",cancel:"Cancel Operation",close:"Close"}},productUnique:{ariaLabels:{closeProductUniqueWidget:"Close Product Unique Widget"}},checkoutButton:{ariaLabels:{confirmCheckout:"Confirm Checkout"}},requestDirectDebit:{ariaLabels:{confirmRequestDirectDebit:"Confirm Direct Debit Request"}},swg:{ariaLabels:{signInWithGoogle:"Sign in with Google"},processingPurchaseMsg:"Please stay on this page and wait until we process the payment..."},promo_code:{success:"Promo Code Applied",failure:"Invalid Promo Code",expired:"Promo Code Expired",validInput:"Only Letters, Numbers and dashes allowed",empty:"Field is empty",enterPromo:"Enter a Promo Code",applyButtonText:"Apply"},referral_code:{enter_code:"Enter a Referral Code",generate_code:"Generate Referral Code",label:"Referral Code",countLabel:"Referral Count",linkLabel:"Referral Link"},referral_offers:{level:"Level",level_description:"Level Description",discount_description:"Discount Description",status:"Status",no_offers:"No offers"},startdate_Selector:{selectStartDate:"Please select a Start Date"},ev_date:{undef_day:"DD",undef_month:"MM",undef_year:"YYYY",january:"January",february:"February",march:"March",april:"April",may:"May",june:"June",july:"July",august:"August",september:"September",october:"October",november:"November",december:"December"},social:{linkaccounts:{linkbutton:"Link"},unlinkaccounts:{cardview:{unlinkButton:"Unlink"}},registration:{title:"Create an Account",description:"We have not found your account connected with social network. Why not create one?",buttons:{cancel:"Cancel",submit:"Create Account"},anchors:{cancel:"I already have a account",submit:"Submit"}},buttons:{login:{label:"Sign in with"},register:{label:"Sign up with"}}},purchaseCustomData:{ariaLabels:{closePurchaseCustomDataWidget:"Close Purchase Custom Data Form",purchaseCustomDataForm:"Purchase Custom Data Form",confirmCustomData:"Submit Custom Data",cancelCustomData:"Cancel Custom Data"},buttons:{submit:"Submit",cancel:"Cancel"}},togglePlan:{selectPaymentPlanBtn:{text:"Select",ariaLabel:"Select Payment Plan"}}
45,taxChecker:{"error.invalid_tax_id":"Invalid Tax ID/Country","text.reenter_or_continue_with_invalid_tax_id":"The tax ID you 've provided is invalid. Nonetheless, you may still proceed with your purchase, but kindly note that a standard tax rate will be applied to your order.","text.continue_with_invalid_tax_id":"Proceed with the Invalid Tax Id","text.reenter_taxid_button":"Re-enter the tax id"}}}},n={translations:{"ev-default":t},fallbackLanguages:["ev-default"],languageMap:{},activeLanguage:"ev-default"};e.Translate={addTranslationTable:function(e,t){n.translations[e]=t},setFallbackLanguage:function(e){e instanceof Array?n.fallbackLanguages=e.concat(["ev-default"]):n.fallbackLanguages=[e].concat(["ev-default"])},setActiveLanguage:function(e,t,i){if("undefined"!=typeof t&&t&&i){var r=Object.keys(i),a={};r.forEach(function(e){i[e].forEach(function(t){a[t]=e})}),n.languageMap={keys:r,map:a}}else e&&(n.activeLanguage=e)},getConfig:function(){return n}}}(window.EV),function(){"use strict";var e=angular.module("ev-widgets",["ui.bootstrap.showErrors","ev-templates","ev-widget.attribute","ev-widget.attribute-v2","ev-widget.recaptcha","ev-widget.login","ev-widget.forgotPassword","ev-widget.resetPassword","ev-widget.changePassword","ev-widget.oneTimePassword","ev-widget.registration","ev-widget.acctActivation","ev-widget.editProfile","ev-widget.captureAttributes","ev-widget.profile","ev-widget.eventHandler","ev-widget.vanillaAuth","ev-widget.userIdentifier","ev-widget.social.buttons","ev-widget.social.link","ev-widget.social.registration","ev-widget.social.linkAccounts","ev-widget.social.unlinkAccounts","ev-widget.editSocialProfile","ev-widget.paywall","ev-widget.paywall.notifier","pascalprecht.translate","ui.bootstrap"]);e.constant("EVENTS",{INTERNAL:{SUBMIT:"submit",PREVIOUS:"previous",CANCEL:"cancel",CAPTURE_ATTRS_FORM_RESET:"ev.capture.attrs.reset",FORM:{RESET:"ev.attribute.reset",INVALID:"ev.attribute.invalid"},EXCEPTION:{ERROR:"error",CLEAR:"clear"},REGISTER:{SUCCESS:"ev.register.success",FAILED:"ev.register.failed",CANCEL:"ev.register.cancel"},SOCIAL_ACCOUNT_REGISTER:{SUCCESS:"ev.social-account-register.success",FAILED:"ev.social-account-register.failed",CANCEL:"ev.social-account-register.cancel",FLIP_CANCEL:"ev.social-account-register.flip-cancel"},SOCIAL_ACCOUNT_LINK:{SUCCESS:"ev.social-account-link.success",FAILED:"ev.social-account-link.failed",CANCEL:"ev.social-account-link.cancel",FLIP_CANCEL:"ev.social-account-link.flip-cancel"},EDIT_PROFILE:{SUCCESS:"ev.edit-profile.success",FAILED:"ev.edit-profile.failed",CANCEL:"ev.edit-profile.cancel"},FORGOT_PASSWORD:{FLIP_CANCEL:"ev.forgot-password.flip-cancel"},ONE_TIME_PASSWORD:{FLIP_CANCEL:"ev.one-time-password.flip-cancel"},SOCIAL_ACCOUNT_UNLINK:{AUTH_SCHEME_FAILED:"ev-widget.social.unlinkAccounts.authScheme.failed"},PM_CHECKOUT:{TRIGGER_CHECKOUT:"ev.pm.checkout.trigger-checkout",SUBMIT_PROFILE:"ev.pm.checkout.submit-profile",SUBMIT_SUMMARY:"ev.pm.checkout.submit-summary",SUBMIT_PAYMENT:"ev.pm.checkout.submit-payment"},PROMO:{PAYMENT_PLAN:"ev.promo.payment-plan"}},EXTERNAL:{HANDLE_JS_EVENTS:"ev.handleJsEvent"}}),e.constant("SOCIAL_NETWORKS",{FACEBOOK:{caption:"Facebook",value:"facebook"},TWITTER:{caption:"Twitter",value:"twitter"},GOOGLE:{caption:"Google",value:"google"},LINKEDIN:{caption:"LinkedIn",value:"linkedin"},APPLE:{caption:"Apple",value:"apple"}})}(),function(){"use strict";var e=angular.module("ev-widgets");e.config(["$translateProvider",function(e){function t(){var t=EV.Translate.getConfig()||null;if(angular.isDefined(t)){var i=t.translations,r=i?Object.keys(i):null;r&&r.forEach(function(t){e.translations(t,i[t])}),n(t)}}function n(t){e.fallbackLanguage(t.fallbackLanguages),t.languageMap&&Object.keys(t.languageMap).length>0?(e.registerAvailableLanguageKeys(t.languageMap.keys,t.languageMap.map),e.determinePreferredLanguage()):t.activeLanguage&&e.use(t.activeLanguage)}var i=EV.WM.language;EV.WM.loadedTable?(EV.Translate.addTranslationTable(i,EV.WM.loadedTable),EV.Translate.setActiveLanguage(i),t(),e.useSanitizeValueStrategy("escapeParameters")):(t(),e.useSanitizeV
45alueStrategy("escapeParameters")),e.useSanitizeValueStrategy("escapeParameters")}])}(),function(){"use strict";var e=angular.module("ev-widgets");e.filter("capitalize",function(){return function(e){return e?e.charAt(0).toUpperCase()+e.substr(1).toLowerCase():e}})}(),function(){"use strict";var e=angular.module("ev-widgets");e.filter("currencySymbol",function(){var e={AED:{symbol:"AED",symbol_native:"د.Ø¥.â",decimal_digits:2,rounding:0,code:"AED"},AFN:{symbol:"AFN",symbol_native:"Ø",decimal_digits:0,rounding:0,code:"AFN"},ALL:{symbol:"ALL",symbol_native:"Lek",decimal_digits:0,rounding:0,code:"ALL"},AMD:{symbol:"AMD",symbol_native:"Õ¤Ö.",decimal_digits:0,rounding:0,code:"AMD"},AOA:{symbol:"AOA",symbol_native:"Kz",decimal_digits:2,rounding:0,code:"AOA"},ARS:{symbol:"ARS",symbol_native:"$",decimal_digits:2,rounding:0,code:"ARS"},AUD:{symbol:"AU$",symbol_native:"$",decimal_digits:2,rounding:0,code:"AUD"},AWG:{symbol:"AWG",symbol_native:"Afl.",decimal_digits:2,rounding:0,code:"AWG"},AZN:{symbol:"AZN",symbol_native:"ман.",decimal_digits:2,rounding:0,code:"AZN"},BAM:{symbol:"BAM",symbol_native:"KM",decimal_digits:2,rounding:0,code:"BAM"},BBD:{symbol:"BBD",symbol_native:"$",decimal_digits:2,rounding:0,code:"BBD"},BDT:{symbol:"BDT",symbol_native:"à§³",decimal_digits:2,rounding:0,code:"BDT"},BGN:{symbol:"BGN",symbol_native:"лв.",decimal_digits:2,rounding:0,code:"BGN"},BHD:{symbol:"BHD",symbol_native:"د.ب.â",decimal_digits:3,rounding:0,code:"BHD"},BIF:{symbol:"BIF",symbol_native:"FBu",decimal_digits:0,rounding:0,code:"BIF"},BMD:{symbol:"BMD",symbol_native:"$",decimal_digits:2,rounding:0,code:"BMD"},BND:{symbol:"BND",symbol_native:"$",decimal_digits:2,rounding:0,code:"BND"},BOB:{symbol:"BOB",symbol_native:"Bs",decimal_digits:2,rounding:0,code:"BOB"},BRL:{symbol:"R$",symbol_native:"R$",decimal_digits:2,rounding:0,code:"BRL"},BWP:{symbol:"BWP",symbol_native:"P",decimal_digits:2,rounding:0,code:"BWP"},BYR:{symbol:"BYR",symbol_native:"BYR",decimal_digits:0,rounding:0,code:"BYR"},BZD:{symbol:"BZD",symbol_native:"$",decimal_digits:2,rounding:0,code:"BZD"},CAD:{symbol:"CA$",symbol_native:"$",decimal_digits:2,rounding:0,code:"CAD"},CDF:{symbol:"CDF",symbol_native:"FrCD",decimal_digits:2,rounding:0,code:"CDF"},CHF:{symbol:"CHF",symbol_native:"CHF",decimal_digits:2,rounding:.05,code:"CHF"},CLP:{symbol:"CLP",symbol_native:"$",decimal_digits:0,rounding:0,code:"CLP"},CNY:{symbol:"CNÂ¥",symbol_native:"CNÂ¥",decimal_digits:2,rounding:0,code:"CNY"},COP:{symbol:"COP",symbol_native:"$",decimal_digits:0,rounding:0,code:"COP"},CRC:{symbol:"â¡",symbol_native:"â¡",decimal_digits:0,rounding:0,code:"CRC"},CVE:{symbol:"CVE",symbol_native:"CVE",decimal_digits:2,rounding:0,code:"CVE"},CZK:{symbol:"CZK",symbol_native:"KÄ",decimal_digits:2,rounding:0,code:"CZK"},DJF:{symbol:"DJF",symbol_native:"Fdj",decimal_digits:0,rounding:0,code:"DJF"},DKK:{symbol:"DKK",symbol_native:"kr",decimal_digits:2,rounding:0,code:"DKK"},DOP:{symbol:"DOP",symbol_native:"$",decimal_digits:2,rounding:0,code:"DOP"},DZD:{symbol:"DZD",symbol_native:"د.ج.â",decimal_digits:2,rounding:0,code:"DZD"},EGP:{symbol:"EGP",symbol_native:"ج.Ù
.â",decimal_digits:2,rounding:0,code:"EGP"},ERN:{symbol:"ERN",symbol_native:"Nfk",decimal_digits:2,rounding:0,code:"ERN"},ETB:{symbol:"ETB",symbol_native:"á¥á",decimal_digits:2,rounding:0,code:"ETB"},EUR:{symbol:"â¬",symbol_native:"â¬",decimal_digits:2,rounding:0,code:"EUR"},GBP:{symbol:"£",symbol_native:"£",decimal_digits:2,rounding:0,code:"GBP"},GEL:{symbol:"GEL",symbol_native:"GEL",decimal_digits:2,rounding:0,code:"GEL"},GHS:{symbol:"GHS",symbol_native:"GHS",decimal_digits:2,rounding:0,code:"GHS"},GNF:{symbol:"GNF",symbol_native:"FG",decimal_digits:0,rounding:0,code:"GNF"},GTQ:{symbol:"GTQ",symbol_native:"Q",decimal_digits:2,rounding:0,code:"GTQ"},GYD:{symbol:"GYD",symbol_native:"GYD",decimal_digits:0,rounding:0,code:"GYD"},HKD:{symbol:"HK$",symbol_native:"$",decimal_digits:2,rounding:0,code:"HKD"},HNL:{symbol:"HNL",symbol_native:"L",decimal_digits:2,rounding:0,code:"HNL"},HRK:{symbol:"HRK",symbol_native:"kn",decimal_digits:2,rounding:0,code:"HRK"}
45,HUF:{symbol:"HUF",symbol_native:"Ft",decimal_digits:0,rounding:0,code:"HUF"},IDR:{symbol:"IDR",symbol_native:"Rp",decimal_digits:0,rounding:0,code:"IDR"},ILS:{symbol:"âª",symbol_native:"âª",decimal_digits:2,rounding:0,code:"ILS"},INR:{symbol:"â¹",symbol_native:"â¹",decimal_digits:2,rounding:0,code:"INR"},IQD:{symbol:"IQD",symbol_native:"د.ع.â",decimal_digits:0,rounding:0,code:"IQD"},IRR:{symbol:"IRR",symbol_native:"ï·¼",decimal_digits:0,rounding:0,code:"IRR"},ISK:{symbol:"ISK",symbol_native:"kr",decimal_digits:0,rounding:0,code:"ISK"},JMD:{symbol:"JMD",symbol_native:"$",decimal_digits:2,rounding:0,code:"JMD"},JOD:{symbol:"JOD",symbol_native:"د.Ø£.â",decimal_digits:3,rounding:0,code:"JOD"},JPY:{symbol:"Â¥",symbol_native:"ï¿¥",decimal_digits:0,rounding:0,code:"JPY"},KES:{symbol:"KES",symbol_native:"Ksh",decimal_digits:2,rounding:0,code:"KES"},KHR:{symbol:"KHR",symbol_native:"á",decimal_digits:2,rounding:0,code:"KHR"},KMF:{symbol:"KMF",symbol_native:"CF",decimal_digits:0,rounding:0,code:"KMF"},KRW:{symbol:"â©",symbol_native:"â©",decimal_digits:0,rounding:0,code:"KRW"},KWD:{symbol:"KWD",symbol_native:"د.Ù.â",decimal_digits:3,rounding:0,code:"KWD"},KZT:{symbol:"KZT",symbol_native:"â¸",decimal_digits:2,rounding:0,code:"KZT"},LBP:{symbol:"LBP",symbol_native:"Ù.Ù.â",decimal_digits:0,rounding:0,code:"LBP"},LKR:{symbol:"LKR",symbol_native:"à¶»à·.",decimal_digits:2,rounding:0,code:"LKR"},LRD:{symbol:"LRD",symbol_native:"$",decimal_digits:2,rounding:0,code:"LRD"},LTL:{symbol:"LTL",symbol_native:"Lt",decimal_digits:2,rounding:0,code:"LTL"},LVL:{symbol:"LVL",symbol_native:"Ls",decimal_digits:2,rounding:0,code:"LVL"},LYD:{symbol:"LYD",symbol_native:"د.Ù.â",decimal_digits:3,rounding:0,code:"LYD"},MAD:{symbol:"MAD",symbol_native:"د.Ù
.â",decimal_digits:2,rounding:0,code:"MAD"},MDL:{symbol:"MDL",symbol_native:"MDL",decimal_digits:2,rounding:0,code:"MDL"},MGA:{symbol:"MGA",symbol_native:"MGA",decimal_digits:0,rounding:0,code:"MGA"},MKD:{symbol:"MKD",symbol_native:"MKD",decimal_digits:2,rounding:0,code:"MKD"},MMK:{symbol:"MMK",symbol_native:"K",decimal_digits:0,rounding:0,code:"MMK"},MOP:{symbol:"MOP",symbol_native:"MOP",decimal_digits:2,rounding:0,code:"MOP"},MUR:{symbol:"MUR",symbol_native:"MUR",decimal_digits:0,rounding:0,code:"MUR"},MXN:{symbol:"MX$",symbol_native:"$",decimal_digits:2,rounding:0,code:"MXN"},MYR:{symbol:"MYR",symbol_native:"RM",decimal_digits:2,rounding:0,code:"MYR"},MZN:{symbol:"MZN",symbol_native:"MTn",decimal_digits:2,rounding:0,code:"MZN"},NAD:{symbol:"NAD",symbol_native:"$",decimal_digits:2,rounding:0,code:"NAD"},NGN:{symbol:"NGN",symbol_native:"â¦",decimal_digits:2,rounding:0,code:"NGN"},NIO:{symbol:"NIO",symbol_native:"C$",decimal_digits:2,rounding:0,code:"NIO"},NOK:{symbol:"NOK",symbol_native:"kr",decimal_digits:2,rounding:0,code:"NOK"},NPR:{symbol:"NPR",symbol_native:"नà¥à¤°à¥",decimal_digits:2,rounding:0,code:"NPR"},NZD:{symbol:"NZ$",symbol_native:"$",decimal_digits:2,rounding:0,code:"NZD"},OMR:{symbol:"OMR",symbol_native:"ر.ع.â",decimal_digits:3,rounding:0,code:"OMR"},PAB:{symbol:"PAB",symbol_native:"B/.",decimal_digits:2,rounding:0,code:"PAB"},PEN:{symbol:"PEN",symbol_native:"S/.",decimal_digits:2,rounding:0,code:"PEN"},PHP:{symbol:"PHP",symbol_native:"â±",decimal_digits:2,rounding:0,code:"PHP"}
45,PKR:{symbol:"PKR",symbol_native:"â¨",decimal_digits:0,rounding:0,code:"PKR"},PLN:{symbol:"PLN",symbol_native:"zÅ",decimal_digits:2,rounding:0,code:"PLN"},PYG:{symbol:"PYG",symbol_native:"â²",decimal_digits:0,rounding:0,code:"PYG"},QAR:{symbol:"QAR",symbol_native:"ر.Ù.â",decimal_digits:2,rounding:0,code:"QAR"},RON:{symbol:"RON",symbol_native:"RON",decimal_digits:2,rounding:0,code:"RON"},RSD:{symbol:"RSD",symbol_native:"дин.",decimal_digits:0,rounding:0,code:"RSD"},RUB:{symbol:"RUB",symbol_native:"ÑÑб.",decimal_digits:2,rounding:0,code:"RUB"},RWF:{symbol:"RWF",symbol_native:"FR",decimal_digits:0,rounding:0,code:"RWF"},SAR:{symbol:"SAR",symbol_native:"ر.س.â",decimal_digits:2,rounding:0,code:"SAR"},SDG:{symbol:"SDG",symbol_native:"SDG",decimal_digits:2,rounding:0,code:"SDG"},SEK:{symbol:"SEK",symbol_native:"kr",decimal_digits:2,rounding:0,code:"SEK"},SGD:{symbol:"SGD",symbol_native:"$",decimal_digits:2,rounding:0,code:"SGD"},SOS:{symbol:"SOS",symbol_native:"SOS",decimal_digits:0,rounding:0,code:"SOS"},STD:{symbol:"STD",symbol_native:"Db",decimal_digits:0,rounding:0,code:"STD"},SYP:{symbol:"SYP",symbol_native:"Ù.س.â",decimal_digits:0,rounding:0,code:"SYP"},THB:{symbol:"฿",symbol_native:"฿",decimal_digits:2,rounding:0,code:"THB"}
45,TND:{symbol:"TND",symbol_native:"د.ت.â",decimal_digits:3,rounding:0,code:"TND"},TOP:{symbol:"TOP",symbol_native:"T$",decimal_digits:2,rounding:0,code:"TOP"},TRY:{symbol:"TRY",symbol_native:"TL",decimal_digits:2,rounding:0,code:"TRY"},TTD:{symbol:"TTD",symbol_native:"$",decimal_digits:2,rounding:0,code:"TTD"},TWD:{symbol:"NT$",symbol_native:"NT$",decimal_digits:2,rounding:0,code:"TWD"},TZS:{symbol:"TZS",symbol_native:"TSh",decimal_digits:0,rounding:0,code:"TZS"},UAH:{symbol:"UAH",symbol_native:"â´",decimal_digits:2,rounding:0,code:"UAH"},UGX:{symbol:"UGX",symbol_native:"USh",decimal_digits:0,rounding:0,code:"UGX"},USD:{symbol:"$",symbol_native:"$",decimal_digits:2,rounding:0,code:"USD"},UYU:{symbol:"UYU",symbol_native:"$",decimal_digits:2,rounding:0,code:"UYU"},UZS:{symbol:"UZS",symbol_native:"UZS",decimal_digits:0,rounding:0,code:"UZS"},VEF:{symbol:"VEF",symbol_native:"Bs.F.",decimal_digits:2,rounding:0,code:"VEF"},VND:{symbol:"â«",symbol_native:"â«",decimal_digits:0,rounding:0,code:"VND"},XAF:{symbol:"FCFA",symbol_native:"FCFA",decimal_digits:0,rounding:0,code:"XAF"},XOF:{symbol:"CFA",symbol_native:"CFA",decimal_digits:0,rounding:0,code:"XOF"},YER:{symbol:"YER",symbol_native:"ر.Ù.â",decimal_digits:0,rounding:0,code:"YER"},ZAR:{symbol:"ZAR",symbol_native:"R",decimal_digits:2,rounding:0,code:"ZAR"},ZMK:{symbol:"ZMK",symbol_native:"ZK",decimal_digits:0,rounding:0,code:"ZMK"}};return function(t){if(t)return angular.isDefined(e)?e[t.toUpperCase()].symbol_native:""}})}(),function(){"use strict";var e=angular.module("ev-widgets");e.filter("filterSpecialChars",function(){return function(e){return e?e.replace(/[`~!@#$%^&*()_|+\-=÷¿?;:'",.<>\{\}\[\]\\\/]/gi,""):e}})}(),function(){"use strict";var e=angular.module("ev-widgets");e.directive("evCompile",["$compile",function(e){return function(t,n,i){t.$watch(function(e){return e.$eval(i.evCompile)},function(i){n.html(i),e(n.contents())(t)})}}])}(),function(){"use strict";var e=angular.module("ev-widget.eventHandler",[]);e.directive("evEventHandler",["$templateCache","$log","EVExceptionHandler",function(e,t,n){return{restrict:"E",scope:{widgetGuid:"=id"},transclude:!0,template:"<div ng-transclude></div>",link:function(e,t,n,i){},controller:["EVENTS","$scope","$log","EVExceptionHandler",function(e,t,n,i){function r(e){e&&e.stopPropagation&&e.stopPropagation()}t.$on(e.INTERNAL.REGISTER.SUCCESS,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.REGISTRATION_SUCCESS,i),r(e)}}),t.$on(e.INTERNAL.REGISTER.FAILED,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.REGISTRATION_FAILED,i),r(e)}}),t.$on(e.INTERNAL.REGISTER.CANCEL,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.REGISTRATION_CANCELLED,i),r(e)}}),t.$on(e.INTERNAL.EDIT_PROFILE.SUCCESS,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.EDIT_PROFILE_COMPLETE_SUCCESS,i),r(e)}}),t.$on(e.INTERNAL.EDIT_PROFILE.FAILED,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.EDIT_PROFILE_COMPLETE_FAILED,i),r(e)}}),t.$on(e.INTERNAL.EDIT_PROFILE.CANCEL,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.EDIT_PROFILE_COMPLETE_CANCELLED,i),r(e)}}),t.$on(e.INTERNAL.SOCIAL_ACCOUNT_REGISTER.SUCCESS,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_REGISTER_SUCCESS,i),r(e)}}),t.$on(e.INTERNAL.SOCIAL_ACCOUNT_REGISTER.FAILED,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_REGISTER_FAILED,i),r(e)}}),t.$on(e.INTERNAL.SOCIAL_ACCOUNT_REGISTER.CANCEL,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_REGISTER_CANCELLED,i),r(e)}}),t.$on(e.INTERNAL.SOCIAL_ACCOUNT_LINK.SUCCESS,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_LINK_SUCCESS,i),r(e)}}),t.$on(e.INTERNAL.SOCIAL_ACCOUNT_LINK.FAILED,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_LINK_FAILED,i),r(e)}}),t.$on(e.INTERNAL.SOCIAL_ACCOUNT_LINK.CANCEL,function(e,n){if(e){var i={widget_guid:t.widgetGuid,response:n};EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_LINK_CANCELLED,i),r(e)}}),t.$on(e.EXTERNAL.HANDLE_JS_EVENTS,function(e,t){e&&(EV.Event.publish(EV.Event.HANDLE_JS_EVENTS,t),r(e))})}]}}])}(),function(){"use strict";var e=angular.module("ev-widgets");e.directive("evModalOpen",function(){return{restrict:"A",link:function(e,t,n){var i=document.querySelector('[ev-modal-open="'+n.evModalOpen+'"]');i.addEventListener("click",function(){EV.Event.publish("ev.open.modal."+n.evModalOpen)})}}}),e.directive("evModal",function(){return{restrict:"A",link:function(e,t,n){function i(e,t){return 0===t.indexOf(e,0)}e.recoverAttrs=function(e,t){e.attrs=Object.keys(t).reduce(function(e,n){return i("$",n)||"evModal"===n||(e+=" "+n.replace(/([A-Z])/g,"-$1").toLowerCase()+'="'+t[n]+'"'),e},"")},t.ready(function(){t[0].style.display="none"}),e.needle="ev-"},controller:["$uibModal","$scope","$element","$attrs",function(e,t,n,i){function r(){var e=t.addCross+"<"+n[0].localName+t.attrs+"></"+n[0].localName+">";if(n[0].localName.indexOf(t.needle)===-1){var i=n[0].innerHTML;e=t.addCross+i}return e}function a(e,t,n,i){e.open({size:i.modalSize||"md",template:r(),openedClass:"ev-modals modal-open",windowClass:"ev",keyboard:"true"===i.modalKeyboard,backdrop:"true"===i.modalBackdrop||"static",scope:t,controller:["$scope","$uibModalInstance",function(e,t){Object.keys(EV.Event).filter(function(e){if(e.indexOf("FORGOT_PASSWORD_CANCELLED")==-1&&e.indexOf("FORGOT_PASSWORD_SUCCESS")==-1)return e.indexOf("_CANCELLED")!=-1||e.indexOf("_SUCCESS")!=-1?e:void 0}
45).forEach(function(e){EV.Event.on(EV.Event[e],function(){t.close()})}),EV.Event.on("ev.close.modal."+i.id,function(){t.close()}),e.$on("modal.closing",function(){EV.Event.publish("ev.modal.close")}),e.$on("ev.modal.close",function(){t.close()}),e.modalCloseX=function(){t.close()},EV.Event.publish("opened.modal."+i.id,i.id)}]}),modalInstance.rendered.then(function(){s=!0,EV.Event.publish("opened.modal."+i.id,i.id)}),modalInstance.result.then(function(){s=!1})}function o(e,t){e.addCross="",("false"===t.showHeader&&"true"===t.showCancel||"true"===t.showHeader&&!t.showCancel)&&(e.addCross="<div ng-click='modalCloseX()' class='modal-cross btn '>X</div>")}"true"===i.modalInit&&n.ready(function(){t.recoverAttrs(t,i),o(t,i),a(e,t,n,i),n[0].firstElementChild&&n[0].removeChild(n[0].firstElementChild)});var s=!1;EV.Event.on("ev.open.modal."+i.id,function(r){s||(t.recoverAttrs(t,i),o(t,i),n[0].localName.indexOf(t.needle)!==-1&&n[0].firstElementChild&&n[0].removeChild(n[0].firstElementChild),void 0!==r&&r.network&&(t.socialNetwork=r.network,a(e,t,n,i)))})}]}})}(),angular.module("ev-widgets").directive("evOnError",["$parse",function(e){return{restrict:"A",link:function(t,n,i){var r=e(i.evOnError);n.on("error",function(e){t.$apply(function(){r(t,{$event:e})})})}}}]),angular.module("ev-widgets").directive("evOnLoad",["$parse",function(e){return{restrict:"A",link:function(t,n,i){var r=e(i.evOnLoad);n.on("load",function(e){t.$apply(function(){r(t,{$event:e})})})}}}]),function(){"use strict";var e=angular.module("ev-widgets");e.directive("evReady",[function(){return{priority:-1e3,restrict:"A",link:function(e,t,n){t.ready(function(){EV.Event.publish(n.evReady)})}}}])}(),function(){"use strict";var e=angular.module("ev-widgets");e.directive("evToggleDisplay",[function(){return{link:function(e,t,n){angular.element(document).ready(function(){var i=1e3;setTimeout(function(){function i(){return!r.style.display||"none"==r.style.display}var r=document.getElementById(n.evToggleDisplay); 46if(r){e.toggle=function(){i()?r.style.display="block":r.style.display="none"};var a=angular.element(window.document);a.bind("click",function(n){var i=n.target===t[0];i||(r.style.display="none"),e.$apply()})}},i)})}}}])}(),function(){"use strict";var e=angular.module("ev-widgets");e.directive("evValidatorMatch",function(){return{restrict:"A",scope:!0,require:"ngModel",link:function(e,t,n,i){var r=function(){var t=e.$eval(n.ngModel),i=e.$eval(n.evValidatorMatch);return t===i};e.$watch(r,function(e){i.$setValidity("unique",e)})}}})}(),function(){"use strict";var e=angular.module("ev-widgets");e.service("EVExceptionHandler",["EVENTS","$rootScope","$timeout","$translate",function(e,t,n,i){function r(r,a){n(function(){var n=e.INTERNAL.EXCEPTION.ERROR+"-"+r;if(a.isShowCancel=!1,a.error&&"access_denied"===a.error.code){var o="ev.widgets.errors.technical_difficulties";i(o).then(function(e){a.error.message=e})}t.$broadcast(n,a)},3)}function a(r,a){n(function(){var n=e.INTERNAL.EXCEPTION.ERROR+"-"+r;if(a.isShowCancel=!0,a.error&&"access_denied"===a.error.code){var o="ev.widgets.errors.technical_difficulties";i(o).then(function(e){a.error.message=e})}t.$broadcast(n,a)},3)}function o(i){n(function(){var n=e.INTERNAL.EXCEPTION.CLEAR+"-"+i;t.$broadcast(n)},3)}this.handleError=function(e,t){EV.settings.interceptErrors?EV.Event.publish(EV.Event.WIDGET_ERROR,{widgetId:e,error:t.error,defaultErrorCb:function(){r(e,t)},errorCbWithCancelButton:function(){a(e,t)}}):r(e,t)},this.handleErrorWithCancelBtn=function(e,t){EV.settings.interceptErrors?EV.Event.publish(EV.Event.WIDGET_ERROR,{widgetId:e,error:t.error,defaultErrorCb:function(){a(e,t)},errorCb:function(){r(e,t)}}):a(e,t)},this.removeError=o,EV.Event.on("widgets.displayError",function(e){r(e.widgetId,e.error)}),EV.Event.on("widgets.displayErrorWithCancelBtn",function(e){a(e.widgetId,e.error)}),EV.Event.on("widgets.removeError",o)}])}(),function(){var e=angular.module("ev-widgets");e.factory("paywallUtil",["$http",function(e){function t(e){e.preventDefault();var t=e.target;"a"!==t.tagName.toLowerCase()&&(t=t.parentElement);var i=t.innerText,r=t.href,a=t.dataset.widgetuid,o=t.dataset.sessionid;n(o,a,i,r).then(function(e){window.location=r})["catch"](function(e){console.log(e),window.location=r})}function n(t,n,i,r){var a=EV.Em.getUrl()+"/widgets/templates/linkTracking";return e({method:"POST",url:a,headers:{"Content-Type":"application/json"},params:{ev_sid:t},data:{templateUid:n,linkValue:r,linkName:i}})}return{getPaywallTemplate:function(t,n,i,r,a,o){var s=EV.Em.getUrl()+"/widgets/templates/paywall",l=EV.Em.brand;return e({method:"POST",url:s,params:{ev_sid:i,ev_did:r},data:{displayOn:t,segments:n,groupName:a,loggedIn:o,brand:l}}).then(function(e){return e.data})},getNotifierTemplate:function(t,n,i,r,a,o,s){var l=EV.Em.getUrl()+"/widgets/templates/notifier",c=EV.Em.brand,d={count:t.count,total:t.max,segments:n,dwellTime:o,groupName:a,loggedIn:s,brand:c};
46return t.hasOwnProperty("viewed")&&(d.viewed=t.viewed),e({method:"POST",url:l,params:{ev_sid:i,ev_did:r},data:d}).then(function(e){return e.data})},initLinkTracking:function(e){var n=document.querySelector(".ev-engagement").querySelectorAll("a[href]");angular.forEach(n,function(n,i){n.dataset.widgetuid=e.template.uid,n.dataset.sessionid=e.ev_sid,n.addEventListener("click",t)})},checkDwellTimeWidgetsActive:function(t){var n=EV.Em.getUrl()+"/widgets/templates/dwellTime?groupName="+t;return e({method:"GET",url:n}).then(function(e){return e.data})},sendWidgetLoadedEvent:function(e){var t;"function"==typeof Event?t=new Event("ev.widgets."+e+".load"):(t=document.createEvent("Event"),t.initEvent("ev.widgets."+e+".load",!0,!0)),window.dispatchEvent(t)},sendDwellTimeEnabledEvent:function(e){var t;"function"==typeof CustomEvent?t=new CustomEvent("ev.widgets.dwelltime.enabled",{detail:e}):(t=document.createEvent("CustomEvent"),t.initCustomEvent("ev.widgets.dwelltime.enabled",!1,!1,{detail:e})),window.dispatchEvent(t)}}}])}(),function(){var e=angular.module("ev-widgets");e.factory("subscriptionsUtil",["$http","EVExceptionHandler","pmSubscriptionService","$translate","$q",function(e,t,n,i,r){return{getSubscriptionsList:function(e){var i=[],r=EV.util.getEVSession();if(!r){var a={response:{subscriptions:{0:{pName:"User not Logged In"}}}};return void(i=a.response)}return n.getSubscriptionsList(r.guid).then(function(e){return e.response.subscriptions?(i=e.response,e.response.subscriptions.forEach(function(e){n.getProductById(e.productId).then(function(t){e.pName=t.response.name})["catch"](function(t){console.error("Error getting product details for:",e.productId)})}),i):void(i={subscriptions:[{pName:"No Subscriptions"}]})},function(n){console.log("Couldn't get the list of subscriptions"),t.handleError(e,n)})},getSentBeneficiaryInvitations:function(e){var t="/userProfile/"+e+"/grant/sent";return EV.Core.get(t).then(function(e){return e.response},function(e){throw console.error(e.data.message),new Error(e.data.message)})},getAllBeneficiaries:function(e){var t=[];return this.getSentBeneficiaryInvitations(e).then(function(e){for(var n=0;n<e.grants.length;n++){var i=e.grants[n];angular.isDefined(i.subscriptionId)&&null!=i.subscriptionId&&""!=i.subscriptionId&&t.push(i)}return t},function(e){console.log(e.message)})},deleteBeneficiary:function(e,t){var n="/userProfile/"+e+"/grant/"+t;return EV.Core["delete"](n).then(function(e){return e},function(e){throw console.error(e.data.message),new Error(e.data.message)})},inviteBeneficiary:function(e,t,a,o){var s=[],l=r.defer();return o=o.replace(/[&\/"<>{}]/g,""),this.getAllBeneficiaries(e).then(function(r){s=r;var c=!1;if(angular.forEach(s,function(e,n){e.subscriptionId==t&&e.email==a&&(c=!0)}),!c)return n.addBeneficiary(e,t,a,o).then(function(e){if(e&&200===e.status){var t={response:e.data,statusCode:e.status};l.resolve(t)}})["catch"](function(e){var t,n;e.data&&e.data[0]?(n="BEX0061"===e.data[0].appErrorCode?"ev.widgets.errors.grant_limit_reached":"BEX0062"===e.data[0].appErrorCode?"ev.widgets.errors.beneficiary_limit_reached":"ev.widgets.errors.add_beneficiary_fail",i(n).then(function(e){t=e;var i=n.split(".");l.reject(EV.util.error(i[i.length-1],t,400))})):i("ev.widgets.errors.add_beneficiary_fail").then(function(e){t=e,l.reject(EV.util.error("add_beneficiary_fail",t,400))})});var d,u="ev.widgets.errors.duplicated_beneficiary";i(u).then(function(e){d=e,console.error(d),l.reject(EV.util.error("duplicated_beneficiary",d,400))},function(){d="Duplicate beneficiary for this purchase",console.warn("No translation found for pm error message, will use default"),console.error(d),l.reject(EV.util.error("duplicated_beneficiary",d,400))})}),l.promise}}}])}(),function(){"use strict";var e=angular.module("ev-widgets");e.service("WidgetUtil",["EVENTS","SOCIAL_NETWORKS","$log","$timeout","EVExceptionHandler",function(e,t,n,i,r){this.isEmpty=function(e){return!e||0===Object.keys(e).length},this.getQueryString=function(e){if(e){var t=[];angular.forEach(e,function(n,i){n?t.push(i+"="+n):delete e[i]});var n=t.join("&");return n}},this.checkIdentifierValidity=function(e,t,n){var i=EV.settings.getEVRealm();EV.Core.UI.checkIdentifierValidity(i,e,t).then(function(e){n&&n(!e.response.hasOwnProperty("userProfile"))},function(e){"USER_PROFILE_IDENTIFIERS_NOT_FOUND"===e.error.code?n(!0):n(!1,e)})},this.showErrorMessageAndPublishEvent=function(e,t,n,i){if(e&&e.hasOwnProperty("widgetGuid")&&n){var a={widget_guid:e.widgetGuid,error:n.error};e.hasOwnProperty("showErrorMsgs")&&e.showErrorMsgs&&(i?r.handleErrorWithCancelBtn(e.widgetGuid,a):r.handleError(e.widgetGuid,a)),t&&EV.Event.publish(t,a)}},this.showErrorMessage=function(e,t){if(e&&e.hasOwnProperty("widgetGuid")&&t){var n={widget_guid:e.widgetGuid,error:t.error};e.hasOwnProperty("showErrorMsgs")&&e.showErrorMsgs&&r.handleError(e.widgetGuid,n)}}
46,this.getSocialNetwork=function(e){if(angular.isUndefined(e))return null;var n;return angular.forEach(t,function(t,i){(i.toLowerCase()===e.toLowerCase()||null!==t&&t.value.toLowerCase()===e.toLowerCase())&&(n=t)}),n},this.getSocialIconName=function(e){return!!e&&(!!this.getSocialNetwork(e)&&"ev fa fa-"+e)},this.getEVCoreInstance=function(){return window.EV&&window.EV.Core||n.debug("Couldn't find the Evolok Core sdk library instance! Houston, we've a problem!"),window.EV.Core},this.getEVSocialInstance=function(){return window.EV&&window.EV.Core||n.debug("Couldn't find the Evolok Social sdk library instance! Houston, we've a problem!"),window.EV.Social},this.jollyStringValidator=function(e,t){var n=e.replace(/\*/g,".*");e.includes("?")&&(n=e.replace(/\?/g,"."));var i=new RegExp("^"+n+"$");return i.test(t)}}])}(),function(){"use strict";angular.module("ev-widget.attribute-v2",["ngSanitize"]).directive("evAttributeV2",["pm2Util","$translate","wmUtil","$timeout",function(e,t,n,i){return{restrict:"E",scope:{config:"=",test:"=",attributes:"=",attribute:"=",showLabel:"=",sortCountry:"=",showMandatory:"=",attrIdPrefix:"="},require:"^?form",templateUrl:"common/ev-attribute-v2.tpl.html",link:function(r,a,o,s){function l(e,n,i,a,o){if(!r.skipEvValidationFields){for(var s=angular.element(document.querySelector("#"+e)),l=s.parent(),d=l.parent().children(),u=null,p=0;p<d.length;p++)if("evErrorField"===d[p].id){u=d[p],u&&u.remove();break}if(u&&u.remove(),!i.mandatory&&c(s,i,s.val())&&s.val()===a&&u)return u.remove(),s.removeClass("ev-invalid"),void(o&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i));if(i.mandatory&&(!s.val()||s.val().length<1)){s.addClass("ev-invalid");var g="ev.widgets.attr."+i.name.replace("confirm_","")+".confirm_required",f="ev.widgets.errors.confirm_field_required",m="ev.widgets.errors.field_required";t([g,f,m]).then(function(e){var t=void 0;t=e[g]!==g?e[g]:e[f]!==f?e[f]:e[m],t=e[f]===f||e[g]===g?t.replace("{0}","Confirm "+i.label):t.replace("{0}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(s.val()!==a){s.addClass("ev-invalid");var h="ev.widgets.attr."+i.name.replace("confirm_","")+".confirm_mismatch",v="ev.widgets.errors.attribute_mismatch",E="ev.
46widgets.errors.password_mismatch";t([h,v,E]).then(function(e){var t=void 0;t=e[h]!==h?e[h]:e[v]!==v?e[v]:e[E],t=t.replace("{0}",i.label),t=t.replace("{1}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(c(s,i,s.val())&&(s[0].validity.valid||s[0].validity.error.unique))s.removeClass("ev-invalid"),o&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i);else{s.addClass("ev-invalid");var b="ev.widgets.attr."+i.name.replace("confirm_","")+".confirm_invalid",y="ev.widgets.errors.confirm_field_invalid",w="ev.widgets.errors.field_invalid";t([b,y,w]).then(function(e){var t=void 0;t=e[b]!==b?e[b]:e[y]!==y?e[y]:e[w],t=e[y]===y||e[b]===b?t.replace("{0}","Confirm "+i.label):t.replace("{0}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}}}function c(e,t,n){if(!t.validationList||0===t.validationList.length)return!0;for(var i=void 0,r=0;r<t.validationList.length;r++)if(i=new RegExp(t.validationList[r]["evolok-regex-pattern"]),!i.test(n))return e.controller("ngModel").$setValidity("regex-test-success",!1),!1;return e.controller("ngModel").$setValidity("regex-test-success",!0),!0}function d(t){function n(){h();var n=e.getExtraProperties()||{};if(EV.Widgets.Display[t.name]&&EV.Widgets.Display[t.name].type){t.type=EV.Widgets.Display[t.name].type,t.options=EV.Widgets.Display[t.name].values;var i=t.name.split("_")[1],r=[];n&&n.regions&&n.regions[0].countries&&"country"===i&&(r=t.options.filter(function(e){return n.regions[0].countries.some(function(t){return t.id===e.value})})),r.length>0&&(t.options=r,window.EV.WM.filteredOptions=r)}}t&&"password"!=t.type&&(t.type?t.name&&t.name.endsWith(r.addressAttributesSuffix)?(t.type="dropdown",t.value?t.options=[g(t.value)]:t=u(t)):EV.Widgets&&EV.Widgets.Display&&EV.Widgets.Display[t.name]&&(t.type=EV.Widgets.Display[t.name].type,t.options=EV.Widgets.Display[t.name].values,r.initStatus=t.value===EV.Widgets.Display[t.name].values[0].value):t.type="text",EV.WM&&EV.WM.useWmReferenceData?(EV.WM.referenceData&&n(),EV.Event.on("ev.finished.initing.reference.data",function(e){n()})):(h(),EV.Widgets.Display[t.name]&&EV.Widgets.Display[t.name].type&&(t.type=EV.Widgets.Display[t.name].type,t.options=EV.Widgets.Display[t.name].values)),t.placeholder||(t.placeholder=t.label))}function u(t){var n=e.getExtraProperties(),i=!0,a=[],o=null;return n.deliveryGroup&&n.deliveryGroup.attributes&&(o=n.deliveryGroup.attributes.find(function(e){return e.name===t.name}),o&&(n.deliveryCountry?(t.options=[g(n.deliveryCountry.name)],t.value=n.deliveryCountry.name):(r.countryValues=[],n.regions?(r.countryValues=f(n.regions),t.options=r.countryValues):t.options=r.countryValues))),o||r.sortCountry||(n.deliveryCountry?a.push(g(n.deliveryCountry.name)):n.regions&&(a=f(n.regions))),i&&(EV.WM.useWmReferenceData||p(function(){t.options=r.countryValues},a)),t}function p(t,n){e.getCountries().then(function(i){var a=e.getExtraProperties();r.countryValues=n;var o=[];a.regions&&a.regions.length>0&&a.restrictBillingAddress?(a.regions.forEach(function(e){e.countries.forEach(function(e){i.forEach(function(t){e.name===t.name&&o.push(t)})})}),o.forEach(function(e){n.some(function(t){return t.value===e.name})||r.countryValues.push(g(e.name))})):i.forEach(function(e){n.some(function(t){return t.value===e.name})||r.countryValues.push(g(e.name))}),t()})}function g(e){return{caption:e,value:e}}function f(e){var t=[],n=[];return e.forEach(function(e){t.push(e.countries)}),t.forEach(function(e){e.forEach(function(e){var t=g(e.name);n.push(t)})}),n}function m(e){return e.data.values=e.data.values.map(function(e){return e.caption||(e.caption=e.name,delete e.name),e}),e}function h(){if(EV.WM.referenceData){var e=angular.copy(EV.WM.referenceData);e.forEach(function(e){e=m(e);for(var t=0;t<e.attributes.length;t++){var n=e.attributes[t];EV.Widgets.Display[n]=e.data}})}}r.hiddenAttributes=o.hiddenAttributes?JSON.parse(o.hiddenAttributes.replace(/'/g,'"')):null,r.hideShowValidator="true"===o.hideShowValidator,r.nonEditable=o.nonEditable?JSON.parse(o.nonEditable.replace(/'/g,'"')):[],r.appendHoursToBDate="true"===o.appendHoursToBDate,r.skipEvValidationFields="true"===o.skipEvValidationFields,r.addressAttributesSuffix=o.addressAttributesSuffix||"_country",r.checked={},r.initStatus=!1,d(r.attribute),EV.Event.on(EV.Event.USER_NOT_FOUND,function(e){e[0].name===r.attribute.name&&i(function(){r.attribute.value=e[0].value},0)}),r.toggleHideShow=function(e,t){var n=t.currentTarget.closest(".validator-wrapper-hs").querySelector("input");"password"===n.type?(n.type="text",t.target.innerHTML="hide"):(n.type="password",t.target.innerHTML="show")},r.handleDisplay=function(e){EV.WM&&EV.WM.useWmReferenceData&&n.handleSelect(r,e)},r.isShowDescription=function(){return r.$parent.showDescription},EV.Event.on("ev.widget.product.profile.address.config",function(e){var t=[];for(var n in r.hiddenAttributes)n.includes("*")&&t.push(n);for(var i=0;i<t.length;i++){var a=e.selectedBillingAddress.name.slice(-1),o=t[i],s=o.replace("*",a);r.hiddenAttributes[s]=r.hiddenAttributes[o],delete r.hiddenAttributes[o]}}),r.isHiddenAttribute=function(e){var t=r.hiddenAttributes;if(!t)return!1;for(var n in t){if(n===e)return!0;
46if(n.includes("*")){var i=n.split("*")[0],a=n.split("*")[1];if(e&&e.startsWith(i)&&e.endsWith(a))return!0}}return!1},r.isNonEditable=function(e){var t=r.nonEditable;return!!t&&t.indexOf(e)>-1},r.setDefaultHiddenValue=function(e){return!!r.hiddenAttributes&&(null!==r.hiddenAttributes[e]&&(r.attribute.value=r.hiddenAttributes[e]),!0)},r.isInput=function(){var e=r.attribute;if(e)return"text"==e.type||"password"==e.type||"email"==e.type},r.isCheckboxActive=function(e,t){return e.value&&"string"==typeof e.value?(e.value||"").split(",").indexOf(t)!==-1:e.value&&"boolean"==typeof e.value?e.value:void 0},r.handleCheckBoxDisplay=function(e,t,n){},r.$parent.uncheckedCheckboxReturnFalse&&r.attribute&&"checkbox"===r.attribute.type&&(r.attribute.value="false"),r.triggerCheckbox=function(e,t,n,i){if(r.$parent.uncheckedCheckboxReturnFalse)r.$parent.uncheckedCheckboxReturnFalse&&(e.value=i===!1,r.validationCheck(n,e.name,e));else{if((e.value&&"string"==typeof e.value||""===e.value)&&1===EV.Widgets.Display[e.name].values.length)if(""===e.value)e.value=t;else{var a=e.value?e.value.split(","):[],o=a.indexOf(t);o==-1?a.push(t):a.splice(o,1),e.value=a.join(",")}else(e.value&&"boolean"==typeof e.value||!e.value)&&(e.option=t,e.checked=[],e.isChecked=!i,e.value=e.isChecked);r.validationCheck(n,e.name,e)}},r.setFocus=function(e,t){r.attribute.name===e.name&&(r.isFocused=t)},r.isNonEditable=function(e){var t=r.nonEditable;return t.indexOf(e)>-1},EV.Event.on(EV.Event.PROFILE_ATTRIBUTE_CHANGE_REQUEST,function(e){e.attributeName===r.attribute.name&&(e.attributeType&&(r.attribute.type=e.attributeType),"dropdown"===r.attribute.type?(e.customElementOptions||(e.customElementOptions=[]),e.customElementOptions.length>0&&(r.attribute.options=e.customElementOptions),e.attributeValue&&(r.attribute.value=e.attributeValue)):r.isInput()?r.attribute.value=e.attributeValue:"radiobutton"===r.attribute.type?(e.customElementOptions&&(r.attribute.options=e.customElementOptions),e.attributeValue&&(r.attribute.value=e.attributeValue)):"checkbox"===r.attribute.type?(e.customElementOptions&&(r.attribute.options=e.customElementOptions),e.attributeValue&&(r.attribute.value=e.attributeValue)):"date"===r.attribute.type&&(r.attribute.value=e.attributeValue))}),r.validationCheck=function(e,n,i){function a(e){if(EV.WM&&EV.WM.useWmTranslations&&EV.WM.loadedTable){for(var t=e.split("_"),n=1;n<t.length;n++)t[n]=t[n].charAt(0).toUpperCase()+t[n].slice(1);var r=t.join("");return r}return i.name}var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(!r.skipEvValidationFields){var s=angular.element(document.querySelector("#"+e)),d=n.includes("confirm_");if(d){var u=angular.element(document.querySelector("#"+e.replace("confirm_","")));return void l(e,n,i,u.val(),o)}if(!i.mandatory&&c(s,i,s.val()))return s.next(".ev-error-field").remove(),s.removeClass("ev-invalid"),void(o&&s[0]&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,{attribute:i,field:s,value:s[0].innerHTML}));if(s.next()[0]&&s.next()[0].classList.contains("ev-error-field")&&s.next().remove(),i.mandatory&&"checkbox"===i.type&&!i.value||i.mandatory&&(!s.val()||s.val().length<1)){s.addClass("ev-invalid");var p=void 0;p=i.name.includes("_")?a(i.name):i.name;var g="ev.widgets.attr."+p+".required",f="ev.widgets.errors.field_required";t([g,f]).then(function(e){var t=e[g]!==g?e[g]:e[f];t=t.replace("{0}",i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(c(s,i,s.val())&&s[0].validity.valid)s.removeClass("ev-invalid"),o&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i);else{s.addClass("ev-invalid");var m=void 0;m=i.name.includes("_")?a(i.name):i.name;var h="ev.widgets.attr."+m+".invalid",v="ev.widgets.errors.field_invalid";t([h,v]).then(function(e){var t=e[h]!==h?e[h]:e[v];t=t.replace("{0}",i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}}},EV.WM&&EV.WM.useWmReferenceData?(EV.WM.referenceData&&r.attribute&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,r.attribute),EV.Event.on("ev.finished.initing.reference.data",function(){r.attribute&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,r.attribute)})):r.attribute&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,r.attribute)}}}])}(),function(){"use strict";var e=angular.module("ev-widget.attribute",[]);e.directive("evAttribute",["EVENTS","$translate","WidgetUtil","$timeout",function(e,t,n,i){return{restrict:"E",scope:{minLength:"=",overrideTranslationKey:"@"},require:"^form",templateUrl:"common/ev-attribute.tpl.html",link:function(r,a,o,s){function l(e,t,n){if(!t.validationList||0===t.validationList.length)return!0;for(var i=void 0,r=0;r<t.validationList.length;r++)if(i=new RegExp(t.validationList[r]["evolok-regex-pattern"]),!i.test(n))return e.controller("ngModel").$setValidity("regex-test-success",!1),!1;return e.controller("ngModel").$setValidity("regex-test-success",!0),!0}function c(e){e&&e.stopPropagation&&e.stopPropagation()}var d={IDENTIFIER:"identifier",VALIDATOR:"validator",NEW_VALIDATOR:"new_validator",CONFIRM_VALIDATOR:"confirm_validator",ATTRIBUTE:"attribute"};if(r.format="yyyy/MM/dd",r.checkIdentifierUniqueness="true"===o.checkIdentifierUniqueness,r.checkIdentifierUniqueness?r.debounceTime=750:r.debounceTime=0,r.showConfirmValidators="true"===o.showConfirmValidators,r.evAttrForm=s,r.formStyle=o.formStyle,r.isFormStyleDefault="form-horizontal"===r.formStyle,!o.input)throw new Error("Attribute input should not be empty!");if(r.attributeType=o.type,!r.attributeType)throw new Error("Attribute type should be defined!");r.attribute=JSON.parse(o.input),r.hideShowValidator="true"===o.hideShowValidator,r.autoSubmitFp="true"===o.autoSubmitFp,r.skipEvValidationFields="true"===o.skipEvValidationFields;var u=r.attribute&&r.attribute.hasOwnProperty("value")?r.attribute.value:null;angular.isDefined(u)&&(r.evAttrForm.hasOwnProperty("attributes")||(r.evAttrForm.attributes={}),r.evAttrForm.attributes[r.attribute.name]=u);var p=r.attributeType.indexOf("new")>=0?"":r.attributeType.indexOf("confirm")>=0?"confirm.":"",g=(r.overrideTranslationKey||"ev.widgets.attr")+"."+r.attribute.name+"."+p+"label";g.includes("email_address")&&(g=g.replace(/email_address/g,"email")),t(g).then(function(e){r.attrLabel=e},function(e){r.attrLabel=r.attribute.label});var f=(r.overrideTranslationKey||"ev.widgets.attr")+"."+r.attribute.name+"."+p+"placeholder";if(f.includes("email_address")&&(f=f.replace(/email_address/g,"email")),t(f).then(function(e){r.attrPlaceholder=e},function(e){r.attrPlaceholder=r.attribute.label}),r.attributeRegex="",r.attribute&&r.attribute.hasOwnProperty("validations")&&angular.forEach(r.attribute.validations,function(e,t){angular.forEach(e.parameters,function(e,t){EV.util.isEmpty(e.value)||(r.attributeRegex=new RegExp(e.value))})}),r.attributeType.toLocaleLowerCase()===d.IDENTIFIER.toLocaleLowerCase()&&"STRING"!==r.attribute.type&&"NUMERIC"!==r.attribute.type)throw new Error("Identifier allow only STRING or NUMERIC type for attribute definition.");
46if(r.toggleHideShow=function(e,t){var n=t.currentTarget.closest(".validator-wrapper-hs").querySelector("input"),i=EV.Translate.getConfig().activeLanguage;"password"===n.type?(n.type="text",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleHide")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleHide"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleHide):(n.type="password",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleShow")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleShow"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleShow)},r.confirmValidateToggleHideShow=function(e,t){var n=document.getElementById(e),i=EV.Translate.getConfig().activeLanguage;"password"===n.type?(n.type="text",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleHide")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleHide"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleHide):(n.type="password",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleShow")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleShow"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleShow)},r.hideShowValidatorToggle=function(){return r.isValidator()&&r.hideShowValidator},r.attributeType.toLocaleLowerCase().indexOf(d.VALIDATOR.toLocaleLowerCase())>=0&&"STRING"!==r.attribute.type)throw new Error("Validator allow only STRING type for attribute definition.");if(r.id=o.id||r.getWidgetId(),r.showLabels="false"!==o.showLabels,r.isIdentifier=function(){return"identifier"===r.attributeType.toLocaleLowerCase()},r.isValidator=function(){return r.attributeType.toLocaleLowerCase().indexOf("validator")>-1},r.isAttribute=function(){return"attribute"===r.attributeType.toLocaleLowerCase()},r.hasError=function(e){return!(!r.evAttrForm[e].$dirty&&!r.evAttr[e].$touched)&&!EV.util.isEmpty(r.evAttrForm[e].$error)},r.getElementType=function(){var e;
46return"STRING"===r.attribute.type?e=r.isValidator()?"password":r.attribute.name.indexOf("mail")>=0?"email":"text":"BOOLEAN"===r.attribute.type?e="checkbox":"NUMERIC"===r.attribute.type?e="number":"DATE"===r.attribute.type||"DATE_TIME"===r.attribute.type,e},r.getWidgetId=function(){return"ev-widget.attribute-"+EV.util.random_guid()},r.verifyIdentifierUniqueness=function(e){e&&r.checkIdentifierUniqueness&&r.evAttrForm.identifiers[e.name].$valid&&(r.isUniqueIdentifierProcessed=!1,r.uniqueIdentifier=!1,n.checkIdentifierValidity(e.name,r.evAttrForm.identifiers[e.name],function(t,n){return n?void EV.Event.publish("ev.identifier.valid.disable.otp"):(r.uniqueIdentifier=t,r.evAttrForm.identifiers[e.name].$setValidity(e.name,t),r.isUniqueIdentifierProcessed=!0,EV.Event.publish("ev.identifier.valid.enable.otp"),void r.$apply())}))},r.getConfirmValidatorLabel=function(e){if(!e)throw new Error("Attribute cant be empty!");var t=(r.overrideTranslationKey||"ev.widgets.attr")+"."+e.name+".confirm.label";return t},r.getConfirmValidatorPlaceHolder=function(e){if(!e)throw new Error("Field name cant be empty!");var t=(r.overrideTranslationKey||"ev.widgets.attr")+"."+e.name+".confirm.placeholder";return t},r.getConfirmValidatorId=function(e){if(!e)throw new Error("Field name cant be empty!");var t="confirm_"+e;return t},r.validationCheck=function(e,n,i){function a(e){if(EV.WM&&EV.WM.useWmTranslations&&EV.WM.loadedTable){for(var t=e.split("_"),n=1;n<t.length;n++)t[n]=t[n].charAt(0).toUpperCase()+t[n].slice(1);var r=t.join("");return r}return i.name}if(r.skipEvValidationFields)return void("identifier"===r.attributeType&&EV.Event.publish("ev.identifier.valid.enable.otp"));for(var o=angular.element(document.querySelector("#"+e)),s=o.parent(),c=s.parent().children(),d=null,u=0;u<c.length;u++)if("evErrorField"===c[u].id){d=c[u],d&&d.remove();break}if(d&&d.remove(),!i.mandatory&&l(o,i,o.val())&&d)return d.remove(),o.removeClass("ev-invalid"),void("identifier"===r.attributeType&&EV.Event.publish("ev.identifier.valid.enable.otp"));if(i.mandatory&&(!o.val()||o.val().length<1)){o.addClass("ev-invalid");var p=void 0;p=i.name.includes("_")?a(i.name):i.name;var g="ev.widgets.attr."+p+".required",f="ev.widgets.errors.field_required";t([g,f]).then(function(e){var t=e[g]!==g?e[g]:e[f];t=t.replace("{0}",i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")}),"identifier"===r.attributeType&&EV.Event.publish("ev.identifier.valid.disable.otp")}else if(l(o,i,o.val())&&r.evAttrForm[n].$valid)o.removeClass("ev-invalid"),"identifier"===r.attributeType&&EV.Event.publish("ev.identifier.valid.enable.otp");else{o.addClass("ev-invalid");var m=void 0;m=i.name.includes("_")?a(i.name):i.name;var h="ev.widgets.attr."+m+".invalid",v="ev.widgets.errors.field_invalid";t([h,v]).then(function(e){var t=e[h]!==h?e[h]:e[v];t=t.replace("{0}",i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")}),"identifier"===r.attributeType&&EV.Event.publish("ev.identifier.valid.disable.otp")}},r.confirmValidationCheck=function(e,n,i,a){if(!r.skipEvValidationFields){for(var o=angular.element(document.querySelector("#"+e)),s=o.parent(),c=s.parent().children(),d=null,u=0;u<c.length;u++)if("evErrorField"===c[u].id){d=c[u],d&&d.remove();break}if(d&&d.remove(),!i.mandatory&&l(o,i,o.val())&&o.val()!==a&&d)return d.remove(),void o.removeClass("ev-invalid");if(i.mandatory&&(!o.val()||o.val().length<1)){o.addClass("ev-invalid");var p="ev.widgets.attr."+i.name+".required",g="ev.widgets.errors.confirm_field_required",f="ev.widgets.errors.field_required",m="ev.widgets.attr."+i.name+".confirm.label";t([p,g,f,m]).then(function(e){var t=void 0;t=p===f?e[f]:e[g],t=e[g]===g||e[p]===p?t.replace("{0}",e[m]||"Confirm "+i.label):t.replace("{0}",e[m]||i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(o.val()!==a){o.addClass("ev-invalid");var h="ev.widgets.errors."+i.name+"_mismatch",v="ev.widgets.errors.attribute_mismatch",E="ev.
46widgets.errors.password_mismatch",b="ev.widgets.attr."+i.name+".label";t([h,v,E,b]).then(function(e){var t=void 0;t=h===E?e[E]:e[v],t=t.replace("{0}",e[b]||i.label),t=t.replace("{1}",i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(!l(o,i,o.val())||!r.evAttrForm[n].$valid&&r.evAttrForm[n].error&&!r.evAttrForm[n].error.unique){o.addClass("ev-invalid");var y="ev.widgets.attr."+i.name+".confirm_invalid",w="ev.widgets.errors.confirm_field_invalid",S="ev.widgets.errors.field_invalid",C="ev.widgets.attr."+i.name+".confirm.label";t([y,w,S,C]).then(function(e){var t=void 0;t=y===S?e[S]:e[w],t=e[w]===w||e[y]===y?t.replace("{0}",e[C]||"Confirm "+i.label):t.replace("{0}",e[C]||i.label),s.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else o.removeClass("ev-invalid")}},r.isIdentifier()&&"STRING"!==r.attribute.type&&"NUMERIC"!==r.attribute.type)throw new Error("Identifier allow only STRING or NUMERIC type for attribute definition.");if(r.isValidator()&&"STRING"!==r.attribute.type)throw new Error("Validator allow only STRING type for attribute definition.");r.$on(e.INTERNAL.FORM.RESET,function(e,t){t&&(r.$broadcast("show-errors-reset"),t==r.evAttrForm&&angular.forEach(r.evAttrForm.attributes,function(e,t){r.evAttrForm.attributes[t]={}}),r.evAttrForm.$setPristine(),c(e))}),EV.Event.on(EV.Event.LOGIN_CANCELLED,function(e){r.isIdentifier()&&r.attribute.disabled&&delete r.attribute.disabled}),EV.Event.on(EV.Event.USER_IDENTIFIED,function(e){i(function(){if(r.isIdentifier())for(var t=0;t<e.length;t++)r.attribute.name===e[t].name&&(r.evAttrForm.attributes[e[t].name]=e[t].value,r.attribute.disabled=!0)})}),EV.Event.on("user.identification.cancelled",function(e){if(r.isIdentifier())for(var t=0;t<e.length;t++)r.attribute.name===e[t].name&&(r.evAttrForm.attributes[e[t].name]="",r.attribute.disabled=!1)})}}}])}(),function(){"use strict";var e=angular.module("ev-widget.captureAttributes",["ngSanitize"]);e.directive("evCaptureAttributes",["$templateCache","$log","EVExceptionHandler","$translate","$timeout",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@",serviceName:"@",validation:"=",overrideTranslationKey:"@"},require:["^form","^evCaptureContainer"],controller:"evCaptureAttributesCtrl",templateUrl:"common/ev-capture-attributes.html",link:function(e,t,r,a){function o(){e.selectedAction===e.actionTypes.REGISTER?e.getRegistrationTemplate():e.selectedAction===e.actionTypes.SOCIAL_ACCOUNT_REGISTER?(e.$root.socialNetwork&&(p=e.$root.socialNetwork),e.getSocialRegistrationTemplate(p)):e.selectedAction===e.actionTypes.EDIT_PROFILE?e.getEditProfileTemplate():e.selectedAction===e.actionTypes.SOCIAL_ACCOUNT_LINK&&(e.$root.socialNetwork&&(p=e.$root.socialNetwork),e.getSocialLinkAccountTemplate(p))}function s(t,n){var r=(e.overrideTranslationKey||"ev.widgets.attr")+"."+t.name+"."+n;i(r).then(function(i){2==n.split(".").length?e.attributes[t.name][n.split(".")[0]][n.split(".")[1]]=i:e.attributes[t.name][n]=i},function(i){2==n.split(".").length?t.description?e.attributes[t.name][n.split(".")[0]][n.split(".")[1]]=t.description:e.attributes[t.name][n.split(".")[0]][n.split(".")[1]]=t.label:t.description?e.attributes[t.name][n]=t.description:e.attributes[t.name][n]=t.name})}function l(t,n){e.attributes[t.name]={},2==n.split(".").length&&(e.attributes[t.name][n.split(".")[0]]={}); 47var r=(e.overrideTranslationKey||"ev.widgets.attr")+"."+t.name+"."+n;r.includes("email_address")&&(r=r.replace(/email_address/g,"email")),!r.includes("email_address")&&r.includes("_")&&(r=r.replace(/_+(.)/g,function(e,t){return t.toUpperCase()})),i(r).then(function(i){2==n.split(".").length?e.attributes[t.name][n.split(".")[0]][n.split(".")[1]]=i:e.attributes[t.name][n]=i},function(i){2==n.split(".").length?e.attributes[t.name][n.split(".")[0]][n.split(".")[1]]=t.label:e.attributes[t.name][n]=t.label})}function c(){return"ev-widget.captureAttrs-"+EV.util.random_guid()}function d(e){return null!==e&&e.constructor==={}.constructor}if(console.log("ev-capture-attributes attrs",r),2!=a.length)throw new Error("<ev-capture-attributes /> must require <ev-capture-container />");r.serviceName&&(e.serviceName=r.serviceName),e.evForm=a[0];var u=a[1],p=u.getSocialNetwork();if(e.selectedAction=u.getSelectedActionType(),e.actionTypes=u.getActionTypes(),e.captureAttrsTemplate=null,e.changeFormState(!1),e.showLabels="false"!==r.showLabels,e.showErrorMsgs="false"!==r.showErrorMsgs,e.showProvidedData="false"!==r.showProvidedData,e.checkIdentifierUniqueness="true"===r.checkIdentifierUniqueness,e.showMandatory="true"===r.showMandatory,e.bypassAuthScheme="true"===r.bypassAuthScheme,e.discourseLogin="true"===r.discourseLogin,e.showTooltip="true"===r.showTooltip,e.enableDefaultDropdownOption="false"!==r.enableDefaultDropdownOption,e.checkIdentifierUniqueness?e.debounceTime=750:e.debounceTime=0,e.hiddenAttributes=r.hiddenAttributes?JSON.parse(r.hiddenAttributes.replace(/'/g,'"')):null,e.confirmValidators="false"!==r.confirmValidators,e.confirmIdentifiers="true"===r.confirmIdentifiers,e.nonEditable=r.nonEditable?JSON.parse(r.nonEditable.replace(/'/g,'"')):[],e.fromWidget=r.fromWidget,e.disableCache="true"===r.disableCache,e.appendHoursToBDate="true"===r.appendHoursToBDate,e.skipEvValidationFields="true"===r.skipEvValidationFields,e.customDropDownOptions=[],e.customCheckboxOptions=[],e.customRadioBtnOptions=[],e.evCaptureFormGuid=r.id||c(),EV.util.isEmpty(r.autoLogin)||"false"!==r.autoLogin&&"true"!==r.autoLogin?e.autoLogin=!0:e.autoLogin=r.autoLogin,"true"===r.autoGeneratePassword&&(e.autoGeneratePassword=!0),e.recaptcha="true"===r.recaptcha,e.invisibleRecaptcha="true"===r.invisibleRecaptcha,e.showExistingAttrs="false"!==r.showExistingAttrs,e.recaptchaSiteKey=EV.settings.getReCaptchaSiteKey(),e.selectedAction===e.actionTypes.REGISTER&&e.recaptcha||e.invisibleRecaptcha){if(e.isReCaptchaEnabled()&&!e.recaptchaSiteKey){e.changeFormState(!0);var g=EV.util.error("EVWidgetException","Google Re-captcha Site Key required.");throw n.handleError(e.evCaptureFormGuid,g,!1),new Error("Google Re-captcha Site Key should not be empty!")}}else n.removeError(e.evCaptureFormGuid);u.addCaptureAttrs(e),e.isShowConfirmValidators=function(){return e.selectedAction!==e.actionTypes.SOCIAL_ACCOUNT_LINK&&e.confirmValidators},e.hideShowValidator="true"===r.hideShowValidator,e.regToggleHideShow=function(e,t){var n=document.getElementById(e),i=EV.Translate.getConfig().activeLanguage;"password"===n.type?(n.type="text",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleHide")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleHide"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleHide):(n.type="password",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleShow")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleShow"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleShow)},e.regConfirmValidateToggleHideShow=function(e,t){var n=document.getElementById(e),i=EV.Translate.getConfig().activeLanguage;"password"===n.type?(n.type="text",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleHide")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleHide"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleHide):(n.type="password",EV.Translate.getConfig().translations[i].hasOwnProperty("ev.widgets.attr.password.toggleShow")?t.target.innerHTML=EV.Translate.getConfig().translations[i]["ev.widgets.attr.password.toggleShow"]:t.target.innerHTML=EV.Translate.getConfig().translations["ev-default"].ev.widgets.attr.password.toggleShow)},e.hideShowValidatorToggle=function(){return e.hideShowValidator},e.isShowConfirmIdentifiers=function(){return e.selectedAction!==e.actionTypes.SOCIAL_ACCOUNT_LINK&&e.confirmIdentifiers},EV.WM&&EV.WM.useWmReferenceData?window.EV.ReferenceDataBuffer?o():EV.Event.on("ev.finished.initing.reference.data",function(e){o()}):o(),e.attributes={},e.$watch("captureAttrsTemplate",function(e){for(var t=0;e&&e.identifiers&&t<e.identifiers.length;)l(e.identifiers[t],"label"),l(e.identifiers[t],"placeholder"),l(e.identifiers[t],"confirm.label"),l(e.identifiers[t],"confirm.placeholder"),s(e.identifiers[t],"tooltip"),s(e.identifiers[t],"confirm.tooltip"),t++;for(var n=0;e&&e.validators&&n<e.validators.length;)l(e.validators[n],"label"),l(e.validators[n],"placeholder"),l(e.validators[n],"confirm.label"),l(e.validators[n],"confirm.placeholder"),s(e.validators[n],"tooltip"),s(e.validators[n],"confirm.tooltip"),n++;for(var i=0;e&&e.attributes&&i<e.attributes.length;)l(e.attributes[i],"label"),l(e.attributes[i],"placeholder"),s(e.attributes[i],"tooltip"),i++}),e.getElementType=function(e){var t=e.indexOf("mail")>=0?"email":"text";return t},e.refreshValues="true"===r.refreshValues,EV.Event.on(EV.Event.EDIT_PROFILE_COMPLETE_SUCCESS,function(){e.selectedAction===e.actionTypes.EDIT_PROFILE&&e.refreshValues&&e.getEditProfileTemplate()}),EV.Event.on(EV.Event.CAPTURE_ATTRIBUTES_ADD_HIDDEN_ATTRIBUTES,function(t){return d(t)?(e.hiddenAttributes||(e.hiddenAttributes={}),void Object.assign(e.hiddenAttributes,t)):void console.error("Event CAPTURE_ATTRIBUTES_ADD_HIDDEN_ATTRIBUTES needs a valid json argument but it received: ",t)}),void 0!==EV.Widgets&&angular.forEach(EV.Widgets.Display,function(e,t){if(!angular.isArray(EV.Widgets.Display[t].values)){var n=[];angular.forEach(EV.Widgets.Display[t].values,function(e,i){if(EV.Widgets.Display[t].values[i].id){var r={};EV.Widgets.Display[t].values[i].caption&&(r.caption=EV.Widgets.Display[t].values[i].caption),r.value=EV.Widgets.Display[t].values[i].id,n.push(r)}}),delete EV.Widgets.Display[t].values,EV.Widgets.Display[t].values=n}})}}}]),e.controller("evCaptureAttributesCtrl",["EVENTS","$scope","$log","WidgetUtil","EVExceptionHandler","$location","$translate","$timeout","wmUtil","$element",function(e,t,n,i,r,a,o,s,l,c){function d(){var e=EV.WM.referenceData;t.referenceData=EV.WM.referenceData,e.forEach(function(e){e=l.replaceNameWithCaption(e);for(var t=0;t<e.attributes.length;t++){var n=e.attributes[t];EV.Widgets.Display[n]=e.data}}),l.populateDefault(e),console.log("EV.Widgets.Display",EV.Widgets.Display)}
47function u(){Object.keys(t.evAttrs.attributes).forEach(function(e){var n=t.evAttrs.attributes[e],i=EV.WM.referenceData.filter(function(t){return t.attributes.includes(e)}),r=i.map(function(e){return e.data.values});r.forEach(function(e){var t=e.find(function(e){return e.value===n});if(t&&t.linkedReferenceData){var i=EV.WM.referenceData.find(function(e){return e.dataName===t.linkedReferenceData.name});EV.Widgets.Display[i.attributes[0]]=i.data}})})}function p(){var e=angular.element(c).find("select");Array.from(e).forEach(function(e,t){var n=Array.from(e.options),i=n.filter(function(e){return""===e.value});i.length>1&&(i[1].selected=!0)})}function g(){return(EV.util.Storage.session.get("ev_identifier")||"").replace(/\|/g," ")}function f(e){for(var n=0;n<e.length;n++){if(t.captureAttrsTemplate&&t.captureAttrsTemplate.identifiers)for(var i=0;i<t.captureAttrsTemplate.identifiers.length;i++)t.captureAttrsTemplate.identifiers[i].name===e[n].name&&(t.captureAttrsTemplate.identifiers[i].value=e[n].value,t.captureAttrsTemplate.identifiers[i].disabled=!0);t.evAttrs&&!t.evAttrs.identifiers&&(t.evAttrs.identifiers={}),t.evAttrs&&t.evAttrs.identifiers&&(t.evAttrs.identifiers[e[n].name]=e[n].value)}}function m(){t.evAttrs.confirmIdentifiers=t.confirmIdentifiers,t.evAttrs.confirmValidators=t.confirmValidators}function h(e,t,n){if(!t.validationList||0===t.validationList.length)return!0;for(var i=void 0,r=0;r<t.validationList.length;r++)if(i=new RegExp(t.validationList[r]["evolok-regex-pattern"]),!i.test(n))return e.controller("ngModel").$setValidity("regex-test-success",!1),!1;return e.controller("ngModel").$setValidity("regex-test-success",!0),!0}function v(e){if(e){var n={widget_guid:t.widgetGuid,error:e};return r.handleError(t.widgetGuid,EV.util.error("EvolokException",e)),EV.Event.publish(EV.Event.CAPTURE_ATTRIBUTES_VALIDATION_FAILED,n),!1}}t.checkBoxesDisplayValues=[],EV.Event.on("checkDefaultAttributeState",function(e){"dropdown"===e.data.type&&1===e.data.values.length&&""===e.data.values[0].value&&s(function(){t.evAttrs.attributes.hasOwnProperty(e.name)&&(t.evAttrs.attributes[e.name]="")})}),t.evAttrs={};var E,b=a.search();b&&(E=b.serviceName,E&&(t.serviceName=E)),t.handleDisplay=function(e,n){if("dropdown"===n){var i=document.getElementById(e.name);if(i){var r=i.options;!t.evAttrs.attributes[e.name]&&r.length>0&&"? undefined:undefined ?"===r[0].value&&i.remove(0)}}EV.WM&&EV.WM.useWmReferenceData&&l.handleSelect(t,e,n)},t.isShowDescription=function(e){return t.$parent.showDescription&&e&&e.description},t.isCompositeAttribute=function(e){return t.isDropdownAttribute(e)||t.isRadioButtonAttribute(e)||t.isCheckboxAttribute(e)||t.isDateAttribute(e)},t.isHiddenAttribute=function(e){var n=t.hiddenAttributes;if(!n)return!1;for(var i in n)if(i===e)return!0;return!1},t.isNonEditable=function(e){var n=t.nonEditable;return!!n&&n.indexOf(e)>-1},t.isPopulatedAttribute=function(e){var n=t.profile;return n&&n.attributes.some(function(t){return t.name==e&&t.value})},t.isNotProfileWidget=function(){return t.fromWidget&&"evEditProfile"!==t.fromWidget},t.setDefaultHiddenValue=function(e){return t.evAttrs.attributes||(t.evAttrs.attributes={}),t.evAttrs.attributes[e]=t.hiddenAttributes[e],!0},t.isDropdownAttribute=function(e){return EV.WM&&EV.WM.useWmReferenceData&&EV.WM.referenceDataMap[e.name]?"dropdown"===EV.WM.referenceDataMap[e.name].data.type:void 0!==(EV.Widgets&&EV.Widgets.Display)&&EV.Widgets.Display[e.name]&&"dropdown"===EV.Widgets.Display[e.name].type},t.isRadioButtonAttribute=function(e){return EV.WM&&EV.WM.useWmReferenceData&&EV.WM.referenceDataMap[e.name]?"radiobutton"===EV.WM.referenceDataMap[e.name].data.type:void 0!==(EV.Widgets&&EV.Widgets.Display)&&EV.Widgets.Display[e.name]&&"radiobutton"===EV.Widgets.Display[e.name].type},t.isCheckboxAttribute=function(e){return EV.WM&&EV.WM.useWmReferenceData&&EV.WM.referenceDataMap[e.name]?"checkbox"===EV.WM.referenceDataMap[e.name].data.type:void 0!==(EV.Widgets&&EV.Widgets.Display)&&EV.Widgets.Display[e.name]&&"checkbox"===EV.Widgets.Display[e.name].type},t.isDateAttribute=function(e){return"date"===e.type.toLowerCase()},t.getCompositeAttribute=function(e){if(t.customDropDownOptions.length>0&&"dropdown"===EV.Widgets.Display[e.name].type)for(var n=0;t.customDropDownOptions.length>n;n++)if(e.name===t.customDropDownOptions[n].name)return t.customDropDownOptions[n].values;if(t.customCheckboxOptions.length>0&&"checkbox"===EV.Widgets.Display[e.name].type)for(var i=0;t.customCheckboxOptions.length>i;i++)if(e.name===t.customCheckboxOptions[i].name)return t.customCheckboxOptions[i].values;if(t.customRadioBtnOptions.length>0&&"radiobutton"===EV.Widgets.Display[e.name].type)for(var r=0;t.customRadioBtnOptions.length>r;r++)if(e.name===t.customRadioBtnOptions[r].name)return t.customRadioBtnOptions[r].values;return t.isCompositeAttribute(e)?EV.WM&&EV.WM.useWmReferenceData&&EV.WM.referenceDataMap[e.name]?EV.WM.referenceDataMap[e.name].data.values:EV.Widgets.Display[e.name].values:""},t.verifyIdentifierUniqueness=function(e){e&&t.evForm[e.name].$valid&&t.checkIdentifierUniqueness&&(t.isUniqueIdentifierProcessed=!1,t.uniqueIdentifier=!1,i.checkIdentifierValidity(e.name,t.evAttrs.identifiers[e.name],function(n,i){i||(t.uniqueIdentifier=n,t.evForm[e.name].$setValidity(e.name,n),t.isUniqueIdentifierProcessed=!0,t.$apply())}))},t.validateForm=function(){var e=!1;if(!t.evForm.$valid&&t.evForm.$error&&(angular.forEach(t.captureAttrsTemplate.identifiers,function(n,i){var r=t.evForm.$error[n.name];
47if(!EV.util.isEmpty(r)){var a="["+n.name+"] is invalid.";return e=!0,v(a)}}),e||angular.forEach(t.captureAttrsTemplate.validators,function(n,i){var r=t.evForm.$error[n.name];if(!EV.util.isEmpty(r)){var a="["+n.name+"] is invalid.";return e=!0,v(a)}}),e||angular.forEach(t.captureAttrsTemplate.attributes,function(n,i){var r=t.evForm.$error[n.name];if(!EV.util.isEmpty(r)){var a="["+n.name+"] is invalid.";return e=!0,v(a)}}),!e&&t.evForm.$error.required))for(var n=0;n<t.evForm.$error.required.length;n++){var i=t.evCaptureAttrsForm.$error.required[n];if(!EV.util.isEmpty(i)){var a="["+i.$name+"] is required.";return v(a)}}return e||r.removeError(t.evCaptureFormGuid),!e},t.resendActivation=function(){var e=EV.settings.getEVRealm(),n=EV.settings.getEVService(),i=[];angular.forEach(t.captureAttrsTemplate.identifiers,function(e,n){var r={name:e.name,value:t.evAttrs.identifiers[e.name]};i.push(r)}),EV.Core.UI.resendActivation(e,n,i)},t.getConfirmValidatorLabel=function(e){if(e){e=e.replace(/:/g,"").replace(/ \s*$/,"").replace(/ /g,"_");var n=(t.overrideTranslationKey||"ev.widgets.attr")+"."+t.captureAttrsTemplate.validators[0].name+".confirm.label";return n.toLowerCase()}return""},t.getConfirmValidatorPlaceHolder=function(e){if(e){e=e.replace(/:/g,"").replace(/ \s*$/,"").replace(/ /g,"_");var n=(t.overrideTranslationKey||"ev.widgets.attr")+"."+t.captureAttrsTemplate.validators[0].name+".confirm.placeholder";return n.toLowerCase()}return""},t.generatePassword=function(e){for(var n=e.validationList[0]["evolok-regex-pattern"],i=8,r=new RegExp(n),a="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_=+",o="";o.length<i;){var s=a.charAt(Math.floor(Math.random()*a.length));o+=s}r.test(o)&&(t.evAttrs.validators={},t.evAttrs.validators[e.name]=o,t.evAttrs.validators["confirm_"+e.name]=o)},t.getConfirmValidatorId=function(e){var t="confirm_"+e;return t},t.getConfirmIdentifierLabel=function(e){if(e){e=e.replace(/:/g,"").replace(/ \s*$/,"").replace(/ /g,"_");var n=(t.overrideTranslationKey||"ev.widgets.attr")+"."+e+".confirm.label";return n.toLowerCase()}return""},t.getConfirmIdentifierPlaceHolder=function(e){if(e){e=e.replace(/:/g,"").replace(/ \s*$/,"").replace(/ /g,"_");var n=(t.overrideTranslationKey||"ev.widgets.attr")+"."+e+".confirm.placeholder";return n.toLowerCase()}return""},t.getConfirmIdentifierId=function(e){var t="confirm_"+e;return t},t.isReCaptchaEnabled=function(){return t.recaptcha},t.$on(e.INTERNAL.CAPTURE_ATTRS_FORM_RESET,function(n,i){t.$broadcast("show-errors-reset"),t.evAttrs.identifiers={},t.evAttrs.validators={},t.evAttrs.attributes={},t.$emit(e.INTERNAL.CANCEL)}),t.setReCaptchaResponse=function(e,i){n.info("Re-captcha Response available"),t.evAttrs.reCaptchaSettings={widgetId:i,response:e},EV.Event.publish("ev.captureAttributes.recaptcha.success",t.evAttrs.reCaptchaSettings)},EV.Event.on("ev.captureAttributes.recaptcha.success",function(e){e.widgetId===t.evAttrs.reCaptchaSettings.widgetId&&document.getElementById("registrationRecaptcha").click()}),t.setReCaptchaWidgetId=function(e){n.info("Created Re-captcha widget Id: %s",e),t.evAttrs.reCaptchaSettings={widgetId:e}},t.captchaExpiration=function(){n.info("Re-Captcha expired. Resetting response object"),t.evAttrs.reCaptchaSettings={response:null}},t.getRegistrationTemplate=function(){if(!t.authSchemeName&&!t.bypassAuthScheme){t.changeFormState(!0);var e=EV.util.error("EVWidgetException","Authentication scheme should not be empty!");return r.handleError(t.evCaptureFormGuid,e),void s(function(){EV.Event.publish(EV.Event.INTERNAL_REGISTRATION_TEMPLATE_LOADED)},0)}var n;t.bypassAuthScheme?n="/ui/template/registration/null/"+t.serviceName+"?bypassAuthScheme=true":(n="/ui/template/registration/"+t.authSchemeName,n+=EV.util.isEmpty(t.serviceName)?"":"/"+t.serviceName),EV.Core.get(n).then(function(e){s(function(){EV.WM&&EV.WM.useWmReferenceData&&d(),t.captureAttrsTemplate=e.response,g()&&f(angular.fromJson(g())),m(),t.changeFormState(!0),EV.Event.publish(EV.Event.INTERNAL_REGISTRATION_TEMPLATE_LOADED),t.autoGeneratePassword===!0&&t.generatePassword(e.response.validators[0])})},function(e){t.$apply(function(){t.changeFormState(!0),EV.Event.publish(EV.Event.INTERNAL_REGISTRATION_TEMPLATE_LOADED),r.handleError(t.evCaptureFormGuid,e)})})},t.getSocialRegistrationTemplate=function(e){if(EV.util.isEmpty(t.serviceName)){t.changeFormState(!0);var n=EV.util.error("EVWidgetException","Service name should not be empty!");return r.handleError(t.evCaptureFormGuid,n),void s(function(){EV.Event.publish("ev.widget.socialRegistration.loaded")},0)}var i={network:e},a="/ui/template/social/registration/"+t.serviceName;EV.Core.get(a,null,null,i).then(function(n){t.$emit("socialRegistrationTemplate",n.response);var i=EV.util.getSocialSessionForNetwork(e);if(EV.util.isEmpty(i)&&"google"!==e)t.captureAttrsTemplate=n.response,t.changeFormState(!0);else{var a=EV.settings.getSocialAttributeMapping();t.evAttrs.attributes={};var o=angular.copy(n.response);EV.Social.getSocialProfile(e).then(function(e){var n=e.response;angular.forEach(a,function(e,i){t.$apply(function(){n.hasOwnProperty(e)&&!EV.util.isEmpty(n[e])&&(t.evAttrs.attributes[i]=n[e])})}),s(function(){EV.Event.publish("ev.widget.socialRegistration.loaded")},0)},function(e){t.changeFormState(!0),s(function(){EV.Event.publish("ev.widget.socialRegistration.loaded")},0),r.handleError(t.evCaptureFormGuid,e)}),t.$apply(function(){t.captureAttrsTemplate=o,t.changeFormState(!0)})}},function(e){t.$apply(function(){t.changeFormState(!0),r.handleError(t.evCaptureFormGuid,e)})})},t.getSocialLinkAccountTemplate=function(e){if(!t.authSchemeName){t.changeFormState(!0);var n=EV.util.error("EVWidgetException","Authentication scheme should not be empty!");return r.handleError(t.evCaptureFormGuid,n,!1),void s(function(){EV.Event.publish("ev.widget.socialLink.loaded")},0)}var i="/ui/template/social/link/"+t.authSchemeName;
47EV.Core.get(i,null,null,null).then(function(e){t.$apply(function(){t.captureAttrsTemplate=e.response,EV.Event.publish("ev.widget.socialLink.loaded"),t.changeFormState(!0)})},function(e){t.$apply(function(){t.changeFormState(!0),EV.Event.publish("ev.widget.socialLink.loaded"),r.handleError(t.evCaptureFormGuid,e)})})},t.getEditProfileTemplate=function(){if(EV.util.isEmpty(t.serviceName)){var e=EV.util.error("EVWidgetException","Service name should not be empty!");return r.handleError(t.evCaptureFormGuid,e,!1),void t.changeFormState(!0)}var n,i="/ui/template/profile/"+t.serviceName,o=a.search();o&&(n=o.serviceName,n&&(t.serviceName=n));var l={serviceName:t.serviceName};EV.Core.get(i,null,null,l).then(function(e){EV.WM&&EV.WM.useWmReferenceData&&d(),t.profileTemplateResponse=e.response;var n=EV.util.getEVSession();EV.util.isEmpty(n)?(t.captureAttrsTemplate=e.response,t.changeFormState(!0),s(function(){EV.Event.publish(EV.Event.EDIT_PROFILE_FORM_LOADED,{captureFormGuid:t.evCaptureFormGuid,profile:t.profile})},0)):EV.Core.getUserProfile(n.guid,t.serviceName,t.disableCache).then(function(n){t.profileLoaded(n.response.userProfile),t.evAttrs.attributes={};var i=angular.copy(e.response);if(t.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var a=e.response.attributes.filter(function(e){if(EV.Widgets.Display[e.name]&&"checkbox"===EV.Widgets.Display[e.name].type)return e}),o=function(e){var t={name:e.name,value:!1};n.response.userProfile.attributes.some(function(e){return e.name===t.name})||n.response.userProfile.attributes.push(t)},l=!0,c=!1,d=void 0;try{for(var g,f=a[Symbol.iterator]();!(l=(g=f.next()).done);l=!0){var m=g.value;o(m)}}catch(h){c=!0,d=h}finally{try{!l&&f["return"]&&f["return"]()}finally{if(c)throw d}}}angular.forEach(e.response.attributes,function(e,n){angular.forEach(t.profile.attributes,function(n){t.$apply(function(){if(e.name===n.name)if(t.showExistingAttrs)if(EV.Widgets&&EV.Widgets.Display[n.name]&&"checkbox"===EV.Widgets.Display[n.name].type){var r=n.value.split(",");if(t.evAttrs.attributes[e.name]={},r.length>=1)for(var a=0;a<r.length;++a)""!=r[a]&&(t.evAttrs.attributes[e.name][r[a]]=!0),t.$parent.$parent.$parent.uncheckedCheckboxReturnFalse&&""==r[a]&&(t.evAttrs.attributes[e.name]["false"]=!0)}else t.evAttrs.attributes[e.name]=n.value;else for(var o=0;o<i.attributes.length;o++)if(i.attributes[o].name===e.name){i.attributes.splice(o,1);break}})})}),EV.WM&&EV.WM.useWmReferenceData&&u(),s(function(){p()},0),t.$apply(function(){if(t.captureAttrsTemplate=i,0==t.captureAttrsTemplate.attributes.length){var e=EV.util.error("EVWidgetException","Couldn't find any missing attributes for '"+t.serviceName+"'");r.handleError(t.evCaptureFormGuid,e),t.captureAttrsTemplate=null}t.changeFormState(!0),s(function(){EV.Event.publish(EV.Event.EDIT_PROFILE_FORM_LOADED,{captureFormGuid:t.evCaptureFormGuid,profile:t.profile})},0)})})},function(e){t.$apply(function(){t.changeFormState(!0),r.handleError(t.evCaptureFormGuid,e)})})},t.profileLoaded=function(e){e&&(t.profile=e,t.evForm.profile=e)},t.isAuthenticated=function(){if(!EV.Core.UI.isAuthenticated()){var e=EV.util.error("EVWidgetException","User is not loggedIn.");return r.handleError(t.evCaptureFormGuid,e),!1}return!0},t.changeFormState=function(e){t.evForm&&(t.evForm.$ready=e||!1,t.evForm.$template=t.captureAttrsTemplate)},t.refreshForMissingAttributes=function(){t.isAuthenticated()&&(r.removeError(t.evCaptureFormGuid),t.getEditProfileTemplate())},t.validationCheck=function(e,n,i){function r(e){if(EV.WM&&EV.WM.useWmTranslations&&EV.WM.loadedTable){for(var t=e.split("_"),n=1;n<t.length;n++)t[n]=t[n].charAt(0).toUpperCase()+t[n].slice(1);var r=t.join("");return r}return i.name}var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(!t.skipEvValidationFields){var s=angular.element(document.getElementById(e)),l=(s[0].type,s.parent()),c=l.parent().children(),d=null;i.value=t.evAttrs.attributes[n];for(var u=0;u<c.length;u++)if("evErrorField"===c[u].id){d=c[u];break}if(!i.mandatory&&h(s,i,s.val())&&d)return d.remove(),s.removeClass("ev-invalid"),void(a&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i));if(d&&d.remove(),t.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var p=t.captureAttrsTemplate.attributes.filter(function(e){if(EV.Widgets.Display[e.name]&&"checkbox"===EV.Widgets.Display[e.name].type)return e}),g=function(e){({name:e.name,value:!1});if(e&&e.mandatory===!0&&t.evForm[e.name].$viewValue===!0){t.evForm[e.name].$valid=!0;var n=t.captureAttrsTemplate.attributes.find(function(t){return t.name===e.name});n.validationList=null}},f=!0,m=!1,v=void 0;try{for(var E,b=p[Symbol.iterator]();!(f=(E=b.next()).done);f=!0){var y=E.value;g(y)}}catch(w){m=!0,v=w}finally{try{!f&&b["return"]&&b["return"]()}finally{if(m)throw v}}}if(i.mandatory&&(!s.val()||s.val().length<1)){s.addClass("ev-invalid");var S=void 0;S=i.name.includes("_")?r(i.name):i.name;
47var C="ev.widgets.attr."+S+".required",P="ev.widgets.errors.field_required";o([C,P]).then(function(e){var t=e[C]!==C?e[C]:e[P];t=t.replace("{0}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(i.validationList&&!h(s,i,s.val())||!t.evForm[n].$valid){s.addClass("ev-invalid");var _=void 0;_=i.name.includes("_")?r(i.name):i.name;var A="ev.widgets.attr."+_+".invalid",T="ev.widgets.errors.field_invalid",k="ev.widgets.attr."+_+".label";o([A,T,k]).then(function(e){var t=e[A]!==A?e[A]:e[T];t=e[A]===A||e[A]===T?t.replace("{0}",e[k]||"Confirm "+i.label):t.replace("{0}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else s.removeClass("ev-invalid"),a&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i)}},t.confirmValidationCheck=function(e,n,i,r){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;if(!t.skipEvValidationFields){for(var s=angular.element(document.querySelector("#"+e)),l=s.parent(),c=l.parent().children(),d=null,u=0;u<c.length;u++)if("evErrorField"===c[u].id){d=c[u];break}if(!i.mandatory&&h(s,i,s.val())&&s.val()!==r&&d)return d.remove(),s.removeClass("ev-invalid"),void(a&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i));if(d&&d.remove(),i.mandatory&&(!s.val()||s.val().length<1)){s.addClass("ev-invalid");var p="ev.widgets.attr."+i.name+".confirm_required",g="ev.widgets.errors.confirm_field_required",f="ev.widgets.errors.field_required",m="ev.widgets.attr."+i.name+".confirm.label";o([p,g,f,m]).then(function(e){var t=void 0;t=e[p]!==p?e[p]:e[g]!==g?e[g]:e[f],t=e[g]===g||e[p]===p||m?t.replace("{0}",e[m]||"Confirm "+i.label):t.replace("{0}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(s.val()!==r){s.addClass("ev-invalid");
47var v="ev.widgets.errors."+i.name+"_mismatch",E="ev.widgets.errors.attribute_mismatch",b="ev.widgets.errors.password_mismatch",y="ev.widgets.attr."+i.name+".label";o([v,E,b,y]).then(function(e){var t=void 0;t=v===b?e[b]:e[E],t=t.replace("{0}",e[y]||i.label),t=t.replace("{1}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}else if(h(s,i,s.val())&&t.evForm[n].$valid)s.removeClass("ev-invalid"),a&&EV.Event.publish(EV.Event.PROFILE_ATTRIBUTE_CHANGED,i);else{s.addClass("ev-invalid");var w="ev.widgets.attr."+i.name+".confirm_invalid",S="ev.widgets.errors.confirm_field_invalid",C="ev.widgets.errors.field_invalid",P="ev.widgets.attr."+i.name+".confirm.label";o([w,S,C,P]).then(function(e){var t=void 0;t=e[w]!==w?e[w]:e[S]!==S?e[S]:e[C],t=e[S]===S||e[w]===w?t.replace("{0}",e[P]||"Confirm "+i.label):t.replace("{0}",i.label),l.after('<span id="evErrorField" class="ev-error-field">'+t+"</span>")})}}},EV.Event.on(EV.Event.PROFILE_ATTRIBUTE_CHANGE_REQUEST,function(e){var n=document.getElementById(e.attributeName),i=t.captureAttrsTemplate.attributes.filter(function(t){return t.name===e.attributeName});i.length<0||(i=i[0],e.attributeType&&(EV.Widgets.Display[e.attributeName]?EV.Widgets.Display[e.attributeName].type=e.attributeType:(EV.Widgets.Display[e.attributeName]={},EV.Widgets.Display[e.attributeName].type=e.attributeType)),t.isDropdownAttribute(i)?(e.customElementOptions||(e.customElementOptions=[]),e.customElementOptions.length>0&&t.customDropDownOptions.push({name:e.attributeName,values:e.customElementOptions}),e.attributeValue&&s(function(){n.value=e.attributeValue,t.evAttrs.attributes[e.attributeName]=e.attributeValue},0)):t.isRadioButtonAttribute(i)?(e.customElementOptions.length>0&&t.customRadioBtnOptions.push({name:e.attributeName,values:e.customElementOptions}),e.attributeValue&&t.evAttrs.attributes&&(t.evAttrs.attributes[e.attributeName]=e.attributeValue)):t.isCheckboxAttribute(i)?(e.customElementOptions.length>0&&t.customCheckboxOptions.push({name:e.attributeName,values:e.customElementOptions}),e.attributeValue&&t.evAttrs.attributes&&(t.evAttrs.attributes[e.attributeName]=e.attributeValue)):(e.attributeValue||""===e.attributeValue)&&t.evAttrs.attributes&&(t.evAttrs.attributes[e.attributeName]=e.attributeValue))}),EV.Event.on(EV.Event.SERVICE_MISSING_ATTRIBUTES,function(e){EV.util.isEmpty(t.serviceName)||t.refreshForMissingAttributes()}),EV.Event.on(EV.Event.SESSION_REFRESH,function(e){EV.util.isEmpty(t.serviceName)||t.refreshForMissingAttributes()}),EV.Event.on(EV.Event.SOCIAL_SESSION_REFRESH,function(e){if(e){r.removeError(t.evCaptureFormGuid);var n=e.hasOwnProperty("network")?e.network:null;t.selectedAction==t.actionTypes.SOCIAL_ACCOUNT_REGISTER&&t.getSocialRegistrationTemplate(n),t.selectedAction==t.actionTypes.SOCIAL_ACCOUNT_LINK&&t.getSocialLinkAccountTemplate(n)}}),EV.Event.on("ev.open.modal.socialRegistration",function(e){if(e){var t=e.message;r.handleErrorWithCancelBtn("social-registration-error",EV.util.error("EvolokException",t))}}),EV.Event.on("ev.modal.close",function(){r.removeError("lightBoxRegistration")}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){t.evAttrs={identifiers:{},validators:{},attributes:{}},t.captureAttributes=null,t.profile=null,t.evForm.profile=null}),EV.Event.on("session.cleanup",function(){EV.util.clearUserSessions(),EV.Event.publish(EV.Event.SESSION_EXPIRED,"Session has expired.")}),EV.Event.on(EV.Event.REGISTRATION_CANCELLED,function(e){if(t.captureAttrsTemplate.identifiers)for(var n=0;n<t.captureAttrsTemplate.identifiers.length;n++)delete t.captureAttrsTemplate.identifiers[n].disabled}),EV.Event.on(EV.Event.USER_NOT_FOUND,function(e){g()&&s(function(){f(angular.fromJson(g())),m(),t.changeFormState(!0)})})}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";var e=angular.module("ev-widget.attribute");e.directive("evCaptureContainer",["$log","EVExceptionHandler","$translate","$window",function(e,t,n,i){return{restrict:"E",scope:{action:"@"},transclude:!0,template:"<div id='{{widgetContainerGuid}}' ng-transclude></div>",controller:["EVENTS","$scope","$templateCache","$log","$q",function(e,r,a,o,s){function l(e){e&&e.stopPropagation&&e.stopPropagation()}function c(){var i=s.defer(),a=EV.Widgets.Display,l=[];
47if(w&&w.attributes&&"object"===K(w.attributes))for(var c in a)if(a.hasOwnProperty(c)){var g=a[c];if("object"===("undefined"==typeof g?"undefined":K(g))&&null!==g&&"dropdown"===g.type&&w.attributes.hasOwnProperty(c)){var f=w.attributes[c];null!==f&&""!==f&&"null"!==f&&void 0!==f||l.push(c)}}if(r.action===r.actions.REGISTER){if(!(r.$parent.bypassAuthScheme||w.identifiers&&w.validators))return o.error("Form Identifiers and Validators values should not be empty!"),void r.$emit("hide_spinner");var m=EV.settings.getEVRealm(),y=[],C=[],P=[];for(var _ in w.identifiers)if(_.toLowerCase().indexOf("confirm_")<0){var A=w.identifiers[_],T=w.identifiers["confirm_"+_]?w.identifiers["confirm_"+_]:void 0;if(w.confirmIdentifiers&&T!==A){var k=function(){var e=u(_),i="Confirm "+e;return n("ev.widgets.errors.identifier_mismatch").then(function(n){var a=EV.util.error("identifier_mismatch",n,409,[e,i]);t.handleErrorWithCancelBtn(r.widgetContainerGuid,a),r.$emit("hide_spinner")}),{v:void 0}}();if("object"===("undefined"==typeof k?"undefined":K(k)))return k.v}else{var V={name:_,value:A};y.push(V)}}for(var I in w.validators)if(I.toLowerCase().indexOf("confirm_")<0){var L=w.validators[I],O=w.validators["confirm_"+I]?w.validators["confirm_"+I]:void 0;if(w.confirmValidators&&O!==L){var D=function(){var e=u(I),i="Confirm "+e;return n("ev.widgets.errors.password_mismatch").then(function(n){var a=EV.util.error("password_mismatch",n,409,[e,i]);t.handleErrorWithCancelBtn(r.widgetContainerGuid,a),r.$emit("hide_spinner")}),{v:void 0}}();if("object"===("undefined"==typeof D?"undefined":K(D)))return D.v}else{var R={name:I,value:L};C.push(R)}}if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var N=r.$parent.$parent.$parent.registrationTemplate.attributes.filter(function(e){if(EV.Widgets.Display[e.name]&&"checkbox"===EV.Widgets.Display[e.name].type)return e}),$=!0,M=!1,x=void 0;try{for(var F,B=N[Symbol.iterator]();!($=(F=B.next()).done);$=!0){var G=F.value,U={name:G.name,value:!1};void 0!==w.attributes&&null!==w.attributes||(w.attributes={},w.attributes[U.name]=U.value),void 0===w.attributes||U.name in w.attributes||(w.attributes[U.name]=U.value)}}catch(H){M=!0,x=H}finally{try{!$&&B["return"]&&B["return"]()}finally{if(M)throw x}}}angular.forEach(w.attributes,function(e,t){var n="",i={name:t};if(EV.Widgets&&EV.Widgets.Display[t]&&e instanceof Object){if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){ 48if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var a=EV.Widgets.Display[t].values;angular.forEach(a,function(t){void 0!==e[!0]?n+=n.length>0?","+e[t.value]:e[t.value]:void 0!==e[!1]&&(n+=n.length>0?","+(e[t.value]||!1):e[t.value]||!1)})}}else{var a=EV.Widgets.Display[t].values;angular.forEach(a,function(t){e[t.value]&&(n+=n.length>0?","+t.value:t.value)})}i.value=n}else i.value=e;P.push(i)});for(var W=[].concat(y).concat(C).concat(P),q=W.length-1;q>=0;--q)(null==W[q].value||W[q].value instanceof String&&""==W[q].value.trim())&&W.splice(q,1);var j=EV.Widgets.PropertyCollection,Y={attributePropertyCollections:j},z={recaptchaResponse:w.reCaptchaSettings?w.reCaptchaSettings.response:""};Array.isArray(W)&&(W=W.filter(function(e){return!(e.name&&l.includes(e.name))})),EV.Core.registerUser(m,S,W,Y,z).then(function(n){if(h&&n.response.hasOwnProperty("guid"))EV.Core.UI.login(m,E,h,y,C,!1).then(function(t){i.resolve(n.response);var a={widget_guid:r.widgetContainerGuid,response:n.response};if(r.$emit(e.INTERNAL.REGISTER.SUCCESS,n.response),r.isSsoFlow?EV.Core.getAuthCode({client_id:r.clientId,return_url:r.returnUrl,scope:r.ssoScope}):setTimeout(function(){(EV.util.Storage.local.get("ev_session")||EV.util.Storage.session.get("ev_session"))&&EV.Event.publish(EV.Event.LOGIN_SUCCESS,a)},0),v)if(p("sso")&&p("sig")){var o=EV.util.Storage.cookie.get("ev_ss");o?EV.Core.discourseAutoLogin(!1,p("sso"),p("sig")):EV.Event.on(EV.Event.LOGIN_SUCCESS,function(e){EV.Core.discourseAutoLogin(!1,p("sso"),p("sig"))})}else console.error("Impossible to auto-login into Discourse: No parameters SSO & SIG from Discourse found")},function(e){d(e,i),r.$emit("hide_spinner")});else{var a={error:{code:"REGISTER.SUCCESS"}};r.$emit(e.INTERNAL.REGISTER.SUCCESS,a),t.handleErrorWithCancelBtn(r.widgetContainerGuid,a,!0),i.resolve(n.response),r.$emit("hide_spinner")}},function(e){d(e,i),r.$emit("hide_spinner")})}else if(r.action===r.actions.SOCIAL_ACCOUNT_REGISTER){if(console.log("$scope.actions.SOCIAL_REGISTER : "+r.action),0===S.length||!w.attributes)return void o.error("Service name or attributes should not be empty!");var m=EV.settings.getEVRealm(),J=S[0]||EV.settings.socialServiceName||EV.settings.serviceName,P=[];if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var Z=r.$parent.$parent.$parent.registrationTemplate.attributes.filter(function(e){if(EV.Widgets.Display[e.name]&&"checkbox"===EV.Widgets.Display[e.name].type)return e}),X=!0,Q=!1,ee=void 0;try{for(var te,ne=Z[Symbol.iterator]();!(X=(te=ne.next()).done);X=!0){var ie=te.value,re={name:ie.name,value:!1};void 0!==w.attributes&&null!==w.attributes||(w.attributes={},w.attributes[re.name]=re.value),void 0===w.attributes||re.name in
48w.attributes||(w.attributes[re.name]=re.value)}}catch(H){Q=!0,ee=H}finally{try{!X&&ne["return"]&&ne["return"]()}finally{if(Q)throw ee}}}if(angular.forEach(w.attributes,function(e,t){var n="",i={name:t};if(EV.Widgets&&EV.Widgets.Display[t]&&e instanceof Object){if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var a=EV.Widgets.Display[t].values;angular.forEach(a,function(t){void 0!==e[!0]?n+=n.length>0?","+e[t.value]:e[t.value]:void 0!==e[!1]&&(n+=n.length>0?","+(e[t.value]||!1):e[t.value]||!1)})}}else{var a=EV.Widgets.Display[t].values;angular.forEach(a,function(t){e[t.value]&&(n+=n.length>0?","+t.value:t.value)})}i.value=n}else i.value=e;P.push(i)}),r.$root.socialNetwork&&(b=r.$root.socialNetwork),!b)throw new Error("We couldn't find the social network property!");EV.Social.register(b,m,J,P).then(function(e){var t=EV.settings.getEVRealm(),n=r.serviceName||EV.settings.socialServiceName||EV.settings.serviceName;if(console.log("SOCIAL_ACCOUNT_REGISTER.SUCCESS"),EV.Event.publish(EV.Event.SOCIAL_REGISTER_SUCCESS,e),EV.Social.socialLogin(b,{scope:r.extendPermissions||""},t,n,r.autoRegister,r.autoPopulate,e).then(function(e){i.resolve(e),r.isSsoFlow?EV.util.getAuthCode({client_id:r.clientId,return_url:r.returnUrl,scope:r.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,e)}),EV.util.detectBrowserPopup()){var a=EV.util.getSocialSessionForNetwork(network);EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a),EV.Core.refreshSSOSession()}},function(n){console.log("$scope.widgetContainerGuid : "+r.widgetContainerGuid),t.handleErrorWithCancelBtn(r.widgetContainerGuid,n),r.$emit(e.INTERNAL.SOCIAL_ACCOUNT_REGISTER.FAILED,n),i.reject(n)})}else if(r.action===r.actions.SOCIAL_ACCOUNT_LINK){if(!w.identifiers||!w.validators)return void o.error("Form Identifiers and Validators values should not be empty!");var m=EV.settings.getEVRealm(),y=[],C=[];angular.forEach(w.identifiers,function(e,t){var n={name:t,value:e};y.push(n)}),angular.forEach(w.validators,function(e,t){var n={name:t,value:e};C.push(n)}),EV.Social.linkAccount(b,E,m,y,C).then(function(t){i.resolve(t),r.$emit(e.INTERNAL.SOCIAL_ACCOUNT_LINK.SUCCESS,t)},function(n){console.log("$scope.widgetContainerGuid : "+r.widgetContainerGuid),409==n.statusCode||"DUPLICATE_IDENTIFIERS_FOUND"==n.error.code?n.error.message="Account is already associated! Please register a new account.":401==n.statusCode?("CREDENTIALS_INVALID"==n.error.code&&(n.error.message="Invalid credentials."),"IDENTIFIERS_NOT_FOUND"==n.error.code?n.error.message="We couldn't find the account, please register a new account.":"IDENTIFIERS_INVALID"==n.error.code&&(n.error.message="Invalid username and password. Please reset your password through Forgot Password link and try again.")):403==n.statusCode?("ACCOUNT_LOCKED"==n.error.code&&(n.error.message="Your account is locked due to multiple incorrect attempts, please try again later."),"ACCOUNT_SUSPENDED"==n.error.code&&(n.error.message="Your account has been suspended, contact the site administrator")):"USER_ALREADY_LINKED_WITH_SAME_SOCIAL_NETWORK"==n.error.code&&(n.error.message="Your user account is already linked to "+b+" account with email "+y[0].value+"You need to unlink "+b+" from your account before linking to another "+b+" user"),t.handleErrorWithCancelBtn(r.widgetContainerGuid,n),r.$emit(e.INTERNAL.SOCIAL_ACCOUNT_LINK.FAILED,n),i.reject(n)})}else if(r.action===r.actions.EDIT_PROFILE){if(0===S.length||!w.attributes)return void o.error("Service name or attributes should not be empty!");var ae=EV.util.getEVSession();if(EV.util.isEmpty(ae)){EV.util.assert(ae,"Evolok Session should not be empty!");var oe=EV.util.error("EVException","Evolok Session should not be empty!");return void i.reject(oe)}var W=[];angular.forEach(w.attributes,function(e,t){var n="",i={name:t};if(EV.Widgets&&EV.Widgets.Display[t]&&e instanceof Object){if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){if(r.$parent.$parent.$parent.uncheckedCheckboxReturnFalse){var a=EV.Widgets.Display[t].values;angular.forEach(a,function(t){void 0!==e[!0]?n+=n.length>0?","+e[t.value]:e[t.value]:void 0!==e[!1]&&(n+=n.length>0?","+(e[t.value]||!1):e[t.value]||!1)})}}else{var a=EV.Widgets.Display[t].values;angular.forEach(a,function(t){e[t.value]&&(n+=n.length>0?","+t.value:t.value)})}i.value=n}else i.value=e;W.push(i)}),Array.isArray(W)&&(W=W.filter(function(e){return!(e.name&&l.includes(e.name))}));var J=S[0];EV.Core.updateUserProfile(ae.guid,J,W).then(function(n){var a={widget_guid:r.widgetContainerGuid,statusCode:n.statusCode,message:"userProfileUpdateSuccess",response:n.response};t.handleErrorWithCancelBtn(r.widgetContainerGuid,a),r.$emit(e.INTERNAL.EDIT_PROFILE.SUCCESS,n.response),i.resolve(n.response)},function(n){t.handleErrorWithCancelBtn(r.widgetContainerGuid,n),r.$emit(e.INTERNAL.EDIT_PROFILE.FAILED,n),i.reject(n),r.$apply()})}else{var oe=EV.util.error("EVException","Not Supported action = "+r.action);t.handleError(r.widgetContainerGuid,oe),i.reject(oe)}return i.promise}function d(n,i){r.$apply(function(){console.log("$scope.widgetContainerGuid : "+r.widgetContainerGuid),t.handleErrorWithCancelBtn(r.widgetContainerGuid,n,!0),EV.Event.publish(e.INTERNAL.REGISTER.FAILED,n),i&&i.reject(n)})}function u(e){return e.charAt(0).toUpperCase()+e.slice(1)}function p(e){var t=new URLSearchParams(i.location.search);return t.has(e)?t.get(e):null}if(EV.util.isEmpty(r.action)){var g=EV.util.error("EVWidgetException","Action must be defined for the ev-capture-container!");return void t.handleError(r.widgetContainerGuid,g)}var f,m,h,v,E,b,y=!1,w={},S=[];r.clientId=p("client_id"),r.returnUrl=p("return_url"),r.ssoScope=p("scope"),r.isSsoFlow=r.clientId&&r.returnUrl&&r.ssoScope,r.actions={REGISTER:"register",EDIT_PROFILE:"editProfile",SOCIAL_ACCOUNT_REGISTER:"socialAccountRegister",SOCIAL_ACCOUNT_LINK:"socialAccountLink"},r.test=w,r.$on(e.INTERNAL.SUBMIT,function(e,t){if(e)for(var n=e.targetScope,i=f;i;){if(i==n){l(e);c()}i=i.$parent}}),r.$on(e.INTERNAL.CANCEL,function(t,n){t&&(w.identifiers={},w.validators={},w.attributes={},r.$broadcast("show-errors-reset"),r.action===r.actions.REGISTER?r.$emit(e.INTERNAL.REGISTER.CANCEL):r.action===r.actions.EDIT_PROFILE?r.$emit(e.INTERNAL.EDIT_PROFILE.CANCEL):r.action===r.actions.SOCIAL_ACCOUNT_REGISTER?r.$emit(e.INTERNAL.SOCIAL_ACCOUNT_REGISTER.CANCEL):r.action===r.actions.SOCIAL_ACCOUNT_LINK&&r.$emit(e.INTERNAL.SOCIAL_ACCOUNT_LINK.CANCEL),l())}),EV.Event.on(EV.Event.SOCIAL_SESSION_REFRESH,function(e){if(e){var t=e.hasOwnProperty("network")?e.network:null;t&&(b=t,r.$root.socialNetwork=b)}}),this.addCaptureAttrs=function(e){if(f&&(y=!0),f=e,e.evAttrs=w,r.widgetContainerGuid=e.hasOwnProperty("evCaptureFormGuid")?e.evCaptureFormGuid:getWidgetId(),e.hasOwnProperty("authSchemeName")&&!EV.util.isEmpty(e.authSchemeName)&&(E=e.authSchemeName),e.hasOwnProperty("serviceName")&&!EV.util.isEmpty(e.serviceName)&&(S.push(e.serviceName),r.action===r.actions.EDIT_PROFILE&&S.length>1))throw new Error("Multiple services not allowed with the 'editProfile' action inside the same capture attributes container.");e.hasOwnProperty("autoLogin")&&(m=e.autoLogin,"true"===m?h=EV.settings.getEVService():"false"!==m&&(h=m)),e.hasOwnProperty("discourseLogin")&&(v=e.discourseLogin),e.hasOwnProperty("socialNetwork")&&(b=e.socialNetwork)},this.getActionTypes=function(){return r.actions}
48,this.getSelectedActionType=function(){return r.action},this.getSocialNetwork=function(){return b}}],link:function(e,t,n){e.autoPopulate=n.autoPopulate||!0}}}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";var e=angular.module("ev-widget.attribute");e.directive("evDate",["$translate",function(e){return{restrict:"E",scope:{},controller:"evDateController",templateUrl:"common/ev-date.tpl.html",link:function(e,t,n){function i(e){return e instanceof Date&&!isNaN(e)}function r(e,t){return null==e?e:(e+="",e.length>=t?e:new Array(t-e.length+1).join("0")+e)}function a(e){var t=null!=e&&void 0!=e;return t}e.appendHoursToBDate="true"===n.appendHoursToBDate,e.attributeName=n.name,e.yearStart=(new Date).getFullYear()-100,e.yearEnd=(new Date).getFullYear(),e.dateValues={};var o="0000/00/00";e.range=function(e,t,n){var i=[];if(void 0===("undefined"==typeof e?"undefined":K(e))||void 0===("undefined"==typeof t?"undefined":K(t)))throw TypeError("'Start' and 'End' parameters cannot be undefined.");if(("undefined"==typeof e?"undefined":K(e))!==("undefined"==typeof t?"undefined":K(t)))throw TypeError("'Start' and 'End' parameters must be of the same type.");if("string"==typeof e||"string"==typeof t)throw TypeError("'Start' and 'End' parameters cannot be strings.");n&&0!=n||(n=1);for(var r=e;r<=t;r+=n)i.push(r);return i},e.getMonthName=function(e){return moment([(new Date).getFullYear(),e]).format("MMMM")},e.updateAttribute=function(t){if(a(e.$parent))return t.day=isNaN(t.day)?null:t.day,t.month=isNaN(t.month)?null:t.month,t.year=isNaN(t.year)?null:t.year,o=(r(t.year,4)||"0000")+"/"+(r(t.month,2)||"00")+"/"+(r(t.day,2)||"00"),e.appendHoursToBDate&&(o+=" 00:00:00"),0==a(e.dateValues.day)&&0==a(e.dateValues.month)&&0==a(e.dateValues.year)?(o="",e.$parent.evAttrs.attributes||(e.$parent.evAttrs.attributes={}),e.$parent.evAttrs.attributes[e.attributeName]=o,void e.$parent.evForm[e.attributeName].$setValidity(e.attributeName,!0)):void(a(e.dateValues.day)&&a(e.dateValues.month)&&a(e.dateValues.year)?(e.$parent.evAttrs.attributes||(e.$parent.evAttrs.attributes={}),e.$parent.evAttrs.attributes[e.attributeName]=o,e.$parent.evForm[e.attributeName].$setValidity(e.attributeName,!0)):(e.$parent.evAttrs.attributes[e.attributeName]=void 0,e.$parent.evForm[e.attributeName].$setValidity(e.attributeName,!1)))},e.$parent&&e.$parent.$watch("evAttrs.attributes."+e.attributeName,function(t,n){if(void 0!==t&&""!==t){void 0===e.dateValues&&(e.dateValues={});var r=new Date(t);i(r)&&(e.dateValues.day=r.getDate(),e.dateValues.month=r.getMonth()+1,e.dateValues.year=r.getFullYear())}})}}}]),e.controller("evDateController",["$scope","EVENTS","$translate",function(e,t,n){e.$on(t.INTERNAL.CANCEL,function(t,n){e.dateValues={},e.$parent.evForm[e.attributeName].$setValidity(e.attributeName,!1)});var i=["january","february","march","april","may","june","july","august","september","october","november","december"],r=[];e.months=[];for(var a=0;a<i.length;a++)r.push("ev.widgets.ev_date."+i[a]);n(r).then(function(t){var n=1;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.months.push(o({},t[i],n++))}),e.getKey=function(e){return Object.keys(e)[0]}}])}(),function(){"use strict";var e=angular.module("ev-widgets");e.directive("evErrorMsg",["EVENTS","$translate","$timeout",function(e,t,n){return{restrict:"E",scope:!0,templateUrl:"common/ev-error-msg.tpl.html",link:function(i,r,a,o){function s(e){if(!e)return-1;var t=0;return e.hasOwnProperty("statusCode")&&(t=e.statusCode),t}function l(e){if(e&&EV.Translate){if(i.error={},e.hasOwnProperty("error")){var n=angular.isDefined(e.error.code)?"ev.widgets.errors."+e.error.code.toLowerCase():null;"REGISTER.SUCCESS"==e.error.code&&(n=angular.isDefined(e.error.code)?"ev.widgets."+e.error.code.toLowerCase():null),n&&(console.debug&&console.debug("Error received: ",e,"\nCan be translated using the key",n),t(n).then(function(t){if(!e.error.hasOwnProperty("args")||!e.error.args||e.error.args&&0==e.error.args.length)i.error.message=t;else if(e.error.args&&e.error.args.length>0){for(var r=e.error.args,a=0;a<r.length;++a){var o=new RegExp("\\{"+a+"\\}","gi");t=t.replace(o,r[a])}i.error=e.error,i.error.message=t,t.match("\\{\\d+\\}")&&console.warn("Number of placeholders mismatch the number of args. Got a response with args = ["+e.error.args+"] for variable replacing in "+n+" = ["+t+"].")}},function(t){i.error=e.error}))}else if(e.hasOwnProperty("statusCode")){var r=angular.isDefined(e.message)?"ev.widgets."+e.message:null;r&&t(r).then(function(e){i.error.message=e},function(t){i.error.message=e.message})}return e}}var c="";if(i.errorMsgId=a.errorMsgId,i.showErrorCodes="true"===a.showErrorCodes,i.showCancel="true"===a.showCancel,i.align=i.align||"center",i.isShowError=!1,!i.errorMsgId)throw new Error("Error Message directive unique ID is not defined!");var d=e.INTERNAL.EXCEPTION.ERROR+"-"+i.errorMsgId;i.$on(d,function(e,t){if(e&&t){var r=s(t);r>=200&&r<=299?i.severityLevel="success":r>=300&&r<=399?i.severityLevel="warning":r>=400?i.severityLevel="danger":i.severityLevel="info",l(t),n(function(){EV.Event.publish("ev.error.generated",t)},0),i.isShowError=!0,t.hasOwnProperty("isShowCancel")&&(i.showCancel=t.isShowCancel)}});var u=e.INTERNAL.EXCEPTION.CLEAR+"-"+i.errorMsgId;i.$on(u,function(e,t){i.isShowError=!1,i.error=null}),i.closeAlertMsgBox=function(){i.isShowError=!1,i.error=null},i.isCorrectWidgetId=function(e){return e.includes(c)},EV.Event.on("product_profile_error",function(e){e.showErrors?i.productProfileErrors.push(e.error):i.productProfileErrors=[],c=e.widgetId})}}}])}(),function(){"use strict";var e=angular.module("ev-widget.paywall.notifier",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evPaywallNotifier",["paywallUtil","$templateCache",function(e,t){return{restrict:"E",scope:{},templateUrl:"ad/ev-paywall-notifier.tpl.html",link:function(e,t,n,i){function r(){return"ev-widget.paywall.notifier-"+EV.util.random_guid()}e.widgetGuid=n.id||r(),e.isModal="false"!==n.modal,e.ignoreModalFromServer="modal"in n,e.modalSize=n.modalSize||"md",e.trackDwellTime=!1},controller:["$scope","$location","$uibModal","$attrs",function(n,i,r,a){function o(t,i,r,a,o,s){e.getNotifierTemplate(t,i.segments||[],r,a,n.groupName,o,s).then(function(e){e?e.hasOwnProperty("autoRender")&&0==e.autoRender?(EV.Event.on("ev.notifier.showCTA",function(){l(e,t)}),EV.Event.publish("ev.notifier.render.ready",e)):l(e,t):console.warn("No template found")})["catch"](function(e){console.error("Error getting templates:",e)})}function s(e){return e.activeMeter||e.exceededMeter||e.offeredMeter}function l(e,i){if(!n.notifierDisplayed)if(n.trackDwellTime||(n.notifierDisplayed=!0),e.hasOwnProperty("dwellTime")&&e.dwellTime>0&&EV.Event.publish("ev.notifier.close"),t.put("ev-notifier-template",e.content),EV.Event.publish("ev.notifier.opened",e),EV.Event.publish("ev.open.modal.notifier."+e.displayOn),n.ignoreModalFromServer?n.isModal:e.modal){var o=n.$new(!0);o.count=i.count,o.total=i.max,o.displayNotifier=!0,r.open({templateUrl:"ad/ev-paywall-notifier.tpl.html",scope:o,size:e.modalSize||n.modalSize,windowClass:"ev-open-modal-notifier-"+e.dis
48playOn,windowTopClass:"test-window",openedClass:"ev-modals modal-open ",keyboard:"true"===a.modalKeyboard,backdrop:"true"===a.modalBackdrop||"static",controller:["$scope","$uibModalInstance",function(t,i){i.rendered.then(function(){var t=n.evSessionId;EV.Event.publish("ev.notifier.modal.rendered",{ev_sid:t,template:e})}),EV.Event.on("ev.notifier.close",function(){i.close()})}]})}else n.count=i.count,n.total=i.max,n.displayNotifier=!0}n.queryParams=i.search(),n.groupName=n.queryParams&&n.queryParams.groupName||a.groupName,n.scriptGenerated=!1,window.addEventListener("ev.ad.dwelltime.check",function(){var t={dwellTimeTrackingEnabled:!1};e.checkDwellTimeWidgetsActive(n.groupName).then(function(i){i?(n.trackDwellTime=!0,t.dwellTimeTrackingEnabled=!0,t.maxDwellTimeRequests=i.maxDwellTimeRequests||3):console.warn("No dwell time widgets found"),e.sendDwellTimeEnabledEvent(t)})["catch"](function(e){console.error("Error checking dwell time widgets:",e)})}),window.addEventListener("ev.ad.authorize",function(e){if(!n.notifierDisplayed){var t=e.detail,i=t.dwellTimeInterval,r=s(t);if("ALLOW_ACCESS"==t.result){var a=t.sessionId||t.restoredSessionId,l=t.deviceId||EV.util.Storage.cookie.get("ev_did"),c=t.hasOwnProperty("loggedOut")&&0==t.loggedOut;n.evSessionId=a,r||(r={},r.count=null,r.max=null),o(r,t,a,l,i,c)}}}),e.sendWidgetLoadedEvent("notifier"),EV.Event.on("ev.notifier.modal.rendered",e.initLinkTracking),n.$on("$includeContentLoaded",function(){var e=document.querySelectorAll("script[data-ev-engagement]");if(e.length>0&&!n.scriptGenerated){n.scriptGenerated=!0;for(var t=0;t<e.length;t++){var i=e[t],r=document.createElement("script");r.innerHTML=i.text,document.body.appendChild(r)}}})}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.paywall",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evPaywall",["paywallUtil","$templateCache",function(e,t){return{restrict:"E",scope:{},templateUrl:"ad/ev-paywall.tpl.html",link:function(e,t,n,i){function r(){return"ev-widget.paywall-"+EV.util.random_guid()}e.widgetGuid=n.id||r(),e.isModal="false"!==n.modal,e.ignoreModalFromServer="modal"in n,e.modalSize=n.modalSize||"lg",e.redirectTo=n.redirectTo||"/",e.redirect="false"!==n.redirect},controller:["$scope","$location","$uibModal","$attrs",function(n,i,r,a){function o(e){return e.activeMeter||e.exceededMeter||e.offeredMeter||{}}function s(e,i){if(!n.paywallDisplayed)if(t.put("ev-paywall-template",e.content),n.paywallDisplayed=!0,EV.Event.publish("ev.paywall.opened",e),EV.Event.publish("ev.open.modal.paywall."+e.displayOn),n.ignoreModalFromServer?n.isModal:e.modal){var o=n.$new(!0);o.count=i.count,o.total=i.max,o.displayPaywall=!0,r.open({templateUrl:"ad/ev-paywall.tpl.html",openedClass:"ev-modals modal-open",windowClass:"ev ev-open-modal-paywall-"+e.displayOn,keyboard:"true"===a.modalKeyboard,backdrop:"true"===a.modalBackdrop||"static",size:e.modalSize||n.modalSize,scope:o,controller:["$scope","$uibModalInstance",function(t,i){EV.Event.on("ev.paywall.close",function(){i.close()}),i.rendered.then(function(){var t=n.evSessionId;EV.Event.publish("ev.paywall.modal.rendered",{ev_sid:t,template:e})}),t.$on("modal.closing",function(e,t,i){n.redirect&&(e.preventDefault(),window.location.href=n.redirectTo)})}]})}else n.count=i.count,n.total=i.max,n.displayPaywall=!0}n.queryParams=i.search(),n.groupName=n.queryParams&&n.queryParams.groupName||a.groupName,window.addEventListener("ev.ad.authorize",function(t){if(!n.paywallDisplayed){var i=t.detail;if("ALLOW_ACCESS"!=i.result){var r=o(i),a=i.sessionId||i.restoredSessionId,l=i.deviceId||EV.util.Storage.cookie.get("ev_did"),c=i.hasOwnProperty("loggedOut")&&0==i.loggedOut,d=i.requireEntitlement?"REQUIRE_LOGIN_WITH_ENTITLEMENT":"REQUIRE_LOGIN"==i.result?"REQUIRE_LOGIN":"REQUIRE_ENTITLEMENT";n.evSessionId=a,e.getPaywallTemplate(d,i.segments||[],a,l,n.groupName,c).then(function(e){e?e.hasOwnProperty("autoRender")&&0==e.autoRender?(EV.Event.on("ev.paywall.showCTA",function(){s(e,r)}),EV.Event.publish("ev.paywall.render.ready",e)):s(e,r):console.warn("No template found in the server")})["catch"](function(e){console.error("Error getting templates:",e)})}}}),e.sendWidgetLoadedEvent("paywall"),EV.Event.on("ev.paywall.modal.rendered",e.initLinkTracking)}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.acctActivation",[]);e.directive("evAcctActivation",["$templateCache","$log","EVExceptionHandler","$translate",function(e,t,n,i){return{restrict:"E",scope:{},controller:"EVAcctActivationCtrl",templateUrl:"account/ev-acct-activation.tpl.html",link:function(e,t,n,r){e.widgetGuid=n.id||e.getWidgetId(),e.showPanel="false"!==n.showPanel&&""!=n.showPanel;var a="ev.widgets.accountActivation.title";i(a).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=n.title||"Account Activation"}),t.attr("title",""),e.showHeader="false"!==n.showHeader,e.showContainer="false"===n.showContainer?"":"widget-container",e.showCancel="true"===n.showCancel}}}]),e.controller("EVAcctActivationCtrl",["$scope","$log","$location","EVExceptionHandler","$translate",function(e,t,n,i,r){function a(e,t){e&&t&&r(e).then(function(e){t(e)},function(e){t(e)})}e.severityLevel,e.activationMessage;var o,s,l=n.search();l&&(o=l.activationKey,s=l.serviceName),EV.util.isEmpty(s)||EV.util.isEmpty(o)?(e.severityLevel="warning",a("ev.widgets.accountActivation.warning",function(t){e.activationMessage=t||"Couldn't find the activation key!"})):EV.Core.UI.accountActivation(o,s).then(function(t){var n={widget_guid:e.widgetGuid,response:t.response};
48e.$apply(function(){200==t.statusCode&&t.response.hasOwnProperty("message")&&(e.severityLevel="success",a("ev.widgets.accountActivation.success",function(n){e.activationMessage=n||t.response.message})),e.showPanel=!0,EV.Event.publish(EV.Event.ACC_ACTIVATION_SUCCESS,n)})},function(t){e.$apply(function(){var n={widget_guid:e.widgetGuid,error:t};e.severityLevel="danger",a("ev.widgets.accountActivation.error",function(n){e.activationMessage=n||t.error.message}),e.showPanel=!0,EV.Event.publish(EV.Event.ACC_ACTIVATION_FAILED,n)})}),e.cancelBtnAction=function(){EV.Event.publish(EV.Event.ACC_ACTIVATION_CANCELLED)},e.getWidgetId=function(){return"ev-widget.acctActivation-"+EV.util.random_guid()}}])}(),function(){"use strict";var e=angular.module("ev-widget.changePassword",[]);e.directive("evChangePassword",["$templateCache","$log","WidgetUtil","EVExceptionHandler","$translate",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@"},controller:"EVChangePasswordCtrl",templateUrl:"account/ev-change-password.tpl.html",link:function(e,t,i,a){function o(){return"ev-widget.changePassword-"+e.widgetId}e.widgetId=EV.util.random_guid(),e.widgetGuid=i.id||o();var s="ev.widgets.changePassword.title";r(s).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=i.title||"Change Password"}),t.attr("title",""),e.serviceName=i.serviceName,e.formStyle=i.formStyle||"form-horizontal",e.showLabels="false"!==i.showLabels,e.showHeader="false"!==i.showHeader,e.showErrorMsgs="false"!==i.showErrorMsgs,e.showContainer="false"===i.showContainer?"":"widget-container",e.translationPrefix=i.translationKey||"",e.showCancel="true"===i.showCancel,e.showCancelBtn="true"===i.showCancelBtn,e.showOldPassword="false"!==i.showOldPassword,e.skipEvValidationFields="true"===i.skipEvValidationFields,e.hideShowValidator="true"===i.hideShowValidator;var l="ev.widgets.changePassword.buttons.submit";r(l).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=i.submitbtnCaption||"Change Password"});var c="ev.widgets.changePassword.buttons.cancel";r(c).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=i.cancelbtnCaption||"Cancel"}),e.isFormStyleDefault="form-horizontal"===e.formStyle,e.authSchemeName=e.authSchemeName||i.authSchemeName,e.loadChangePasswordTemplate=function(t){if(!t){e.isLoading=!1;var i=EV.util.error("EVolokException","Authentication scheme should not be empty!");return void n.showErrorMessageAndPublishEvent(e,EV.Event.CHANGE_PASSWORD_FAILED,i)}var r="/ui/template/login/"+t;EV.Core.get(r).then(function(t){e.$apply(function(){e.isLoading=!1,e.changePasswordTemplate=t.response})},function(t){e.$apply(function(){e.isLoading=!1,n.showErrorMessageAndPublishEvent(e,EV.Event.CHANGE_PASSWORD_FAILED,t,!0)})})},e.loadChangePasswordTemplate(e.authSchemeName)}}}]),e.controller("EVChangePasswordCtrl",["EVENTS","WidgetUtil","EVExceptionHandler","$scope","$log","$timeout","$translate",function(e,t,n,i,r,a,o){function s(e){e&&e.stopPropagation&&e.stopPropagation()}i.form={},i.isLoading=!0,i.changePasswordTemplate=null,i.getValidatorId=function(e,t){EV.util.assert(t,"Validator name should not be empty!");var n=index<=captions.length?captions[index]+"_"+t:"_"+t;return n},i.$on(e.INTERNAL.SOCIAL_ACCOUNT_UNLINK.AUTH_SCHEME_FAILED,function(e,t){angular.isDefined(t)&&(n.removeError(i.widgetGuid),i.showOldPassword=!1,i.loadChangePasswordTemplate(i.authSchemeName)),s(e)}),i.submitBtnAction=function(a){if(i.$broadcast("show-errors-check-validity"),!i.evChangePasswordForm.attributes)return void r.error("Form validators should not be empty!");if(!i.changePasswordTemplate)return void r.error("Validators should not be empty!");var s=[];angular.forEach(i.changePasswordTemplate.validators,function(e,t){var n={name:e.name,value:i.evChangePasswordForm.attributes[e.name]};s.push(n)}),EV.Core.UI.changePassword(i.authSchemeName,s,i.serviceName).then(function(t){var r={widget_guid:i.widgetGuid,response:t.response},a={code:"ev.widgets.changepassword.success",statusCode:t.statusCode,message:"Successfully Updated!"};o(a.code).then(function(e){e&&(a.message=e),n.handleErrorWithCancelBtn(i.widgetGuid,a)}),n.handleErrorWithCancelBtn(i.widgetGuid,a),EV.Event.publish(EV.Event.CHANGE_PASSWORD_SUCCESS,r),i.$emit(e.INTERNAL.SOCIAL_ACCOUNT_UNLINK.FLIP_CANCEL,i.widgetGuid),i.$apply()},function(e){i.$apply(function(){var n="ev.widgets.errors."+e.error.args[0];o(n).then(function(n){e.error.message=n,t.showErrorMessageAndPublishEvent(i,EV.Event.CHANGE_PASSWORD_FAILED,e,!0)},function(n){t.showErrorMessageAndPublishEvent(i,EV.Event.CHANGE_PASSWORD_FAILED,e,!0)})})})},i.cancelBtnAction=function(t){i.$broadcast("show-errors-reset"),i.evChangePasswordForm&&(i.evChangePasswordForm.attributes={}),n.removeError(i.widgetGuid),i.$emit(e.INTERNAL.SOCIAL_ACCOUNT_UNLINK.FLIP_CANCEL,i.widgetGuid),EV.Event.publish(EV.Event.CHANGE_PASSWORD_CANCELLED,t)},i.$on("evValidatorMatch",function(e){r.info("isMatch = "+e)})}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";var e=angular.module("ev-widget.editProfile",[]);e.directive("onFileUpload",function(){return{restrict:"A",link:function(e,t,n){var i=e.$eval(n.onFileUpload);
48t.on("change",i),t.on("$destroy",function(){t.off()})}}}),e.directive("evEditProfile",["$templateCache","$log","EVExceptionHandler","$translate","$location","icUtil",function(e,t,n,i,r,a){return{restrict:"E",scope:{serviceName:"@",profilePictureAttributeName:"@",imageUploader:"=?"},controller:"evEditProfileCtrl",templateUrl:"account/ev-edit-profile.tpl.html",link:function(e,t,n,a){function o(){return"ev-widget.editProfile-"+EV.util.random_guid()}t.bind("change",function(){n.ngModel&&($parse(n.ngModel).assign(e,t[0].files[0]),$scope.$apply())}),e.widgetGuid=n.id||o(),e.evCaptureFormGuid="capture-"+e.widgetGuid;var s="ev.widgets.editProfile.title";i(s).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=n.title||"Edit Profile"}),t.attr("title",""),e.showExistingAttrs=!(!EV.util.isEmpty(n.showExistingAttrs)&&"true"!==n.showExistingAttrs),e.showLabels="false"!==n.showLabels,e.showHeader="false"!==n.showHeader,e.showErrorMsgs="false"!==n.showErrorMsgs,e.showContainer="false"===n.showContainer?"":"widget-container",e.translationPrefix=n.overrideTranslationKey||"",e.hiddenAttributes=n.hiddenAttributes,e.nonEditable=n.nonEditable,e.showCancel="true"===n.showCancel,e.showProvidedData="false"!==n.showProvidedData,e.refreshValues="true"===n.refreshValues,e.appendHoursToBDate="true"===n.appendHoursToBDate,e.skipEvValidationFields="true"===n.skipEvValidationFields,e.showTooltip="true"===n.showTooltip,e.inheritedDataDisplay=n.inheritedDataDisplay,e.uncheckedCheckboxReturnFalse="true"===n.uncheckedCheckboxReturnFalse,e.enableDefaultDropdownOption="false"!==n.enableDefaultDropdownOption,e.profilePictureAttributeName=n.profilePictureAttributeName,e.imageUploader="true"===n.imageUploader,r.search().disableCache?e.disableCache="true"===r.search().disableCache:e.disableCache="true"===n.disableCache;var l="ev.widgets.editProfile.buttons.submit";i(l).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=n.submitbtnCaption||"Update"});var c="ev.widgets.editProfile.buttons.cancel";i(c).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=n.cancelbtnCaption||"Cancel"})}}}]),e.controller("evEditProfileCtrl",["EVENTS","$scope","$q","$log","EVExceptionHandler","$translate","icUtil","$timeout",function(e,t,n,i,r,a,o,s){function l(e){return e.value.startsWith("https")}function c(){var e=JSON.parse(EV.util.Storage.session.get("ev_profile"));if(e){var n=e[t.serviceName];if(n){var i=e[t.serviceName].attributes;if(i&&i.length>0){var r=i.find(function(e){return e.name===EV.settings.profilePictureAttributeName});if(r&&!l(r)){var a=g().guid;o.getProfilePicture(r.value,a,t.serviceName).then(function(e){var n=new Blob([e],{type:"image/png"}),i=URL.createObjectURL(n);t.imageData=i})}else r&&l(r)&&(t.imageData=r.value)}}}}function d(e){for(var n=JSON.parse(EV.util.Storage.session.get("ev_profile")),i=n[t.serviceName].attributes,r=!1,a=0;a<i.length;a++){var o=i[a];console.log("EV.settings.profilePictureAttributeName",EV.settings.profilePictureAttributeName),o.name===EV.settings.profilePictureAttributeName&&(console.log("found attribute",o.name),o.value=e,r=!0)}r||(console.log("pushed to seession"),i.push({name:EV.settings.profilePictureAttributeName,value:e})),n[t.serviceName].attributes=i,EV.util.Storage.session.set("ev_profile",JSON.stringify(n)),EV.Event.publish(EV.Event.SESSION_PROFILE_PICTURE_REFRESH,n)}function u(){t.uploadSuccess=!0,s(function(){t.uploadSuccess=!1},1500)}function p(e){for(var t=atob(e.toString().split(",")[1]),n=new ArrayBuffer(t.length),i=new Uint8Array(n),r=0;r<t.length;r++)i[r]=t.charCodeAt(r); 49var a=new Blob([n],{type:"image/png"});return a}function g(){return t&&t.session?t.session:EV.util.getEVSession()}function f(e){t.profilePictureError.message||e.size>1024*t.imageSizeLimit*1024&&(t.profilePictureError.message="The uploaded file must be smaller then "+t.imageSizeLimit+"MB",t.$apply())}function m(e){if(!t.profilePictureError.message){var n=new Image;n.src=e.target.result,n.onload=function(){var i=n.width,r=n.height;if(i>t.imageDimensionLimit.width&&r>t.imageDimensionLimit.height){var a=t.imageDimensionLimit.width,o=t.imageDimensionLimit.height;t.profilePictureError.message="Dimension must be not larger then "+a+"*"+o,t.$apply()}else t.imageData=e.target.result,t.uploadPicture();t.$apply()}}}function h(e){var n=v(e);"png"!=n&&"jpg"!=n&&(t.profilePictureError={message:"Only png or jpg is accepted"},t.$apply())}function v(e){var t=e.split(".").pop().toLowerCase();return t}t.profile=t.evEditProfileForm&&t.evEditProfileForm.hasOwnProperty("profile")?t.evEditProfileForm.profile:null,t.showU
49ploadProfileButton=!1,t.selectedFile="",t.file=null,t.imageData="",t.uploadSuccess=!1,t.imageSizeLimit=3,t.imageDimensionLimit={height:200,width:200},t.profilePictureError={message:""},c(),EV.Event.on(EV.Event.SESSION_PROFILE_PICTURE_REFRESH,function(e){c()}),t.submitBtnAction=function(o){if(i.info("Edit Profile (Submit Action)"),!o.$valid){var s=Object.keys(o).reduce(function(e,t){return o[t]&&"object"===K(o[t])&&o[t].hasOwnProperty("$viewValue")&&(o[t].$valid||e.push(t)),e},[]);if(0===s.length&&o.$error.required)for(var l=o.$error.required,c=0;c<l.length;++c)s.push(l[c].$$attr.$$element[0].labels[0].innerText);s.forEach(function(e,n){if(EV.WM.useWmTranslations&&EV.WM.loadedTable){var i=Object.getOwnPropertyNames(EV.WM.loadedTable),r=e.replace(/_+(.)/g,function(e,t){return t.toUpperCase()}),a=i.find(function(t){return"ev.widgets.attr."+r+".label"===t||"ev.widgets.attr."+e+".label"===t});a&&(s[n]=EV.WM.loadedTable[a])}else{var o=t.evEditProfileForm.$template.attributes.find(function(t){return e===t.name});o&&(s[n]=o.label)}}),EV.Event.publish(e.INTERNAL.FORM.INVALID,s);var d="",u=[],p=[];return angular.forEach(s,function(e,t){var i=n.defer();u.push(i.promise);var r="ev.widgets.errors."+e.toLowerCase().replace(" ","_");a(r).then(function(e){""!==e&&p.push({withTranslate:e}),i.resolve()},function(t){i.resolve(),p.push({withoutTranslate:e})})}),void n.all(u).then(function(){var e=[];if(angular.forEach(p,function(t,n){t.hasOwnProperty("withTranslate")?d+=t.withTranslate+"<br>":e.push(t.withoutTranslate)}),e.length>1)var n="ev.widgets.errors.general_attributes",i=e.join(", ");else 1==e.length&&(n="ev.widgets.errors.general_attribute",i=e);var o=EV.util.promise();if(e.length>0)a(n).then(function(e){var t=new RegExp("\\{0\\}","gi");return o.fulfill(e.replace(t,i)),o});else{var s="";o.fulfill(s)}o.then(function(e){""!==d&&""!==e&&(d+="<br>"),d+=e;var n=EV.util.error("EVWidgetException",d,401);r.handleError(t.evCaptureFormGuid,n)})})}if(EV.settings.isSecureModeEnabled()){var g=EV.util.Storage.cookie.get("ex_ss");if(!g){var f=EV.util.error("secure_session_expired","Session has expired.",400);return r.handleError(t.evCaptureFormGuid,f),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){r.removeError(t.evCaptureFormGuid)}),void EV.Event.publish(EV.Event.SECURE_SESSION_EXPIRED,f)}}EV.Event.publish(e.INTERNAL.SUBMIT),t.$broadcast(e.INTERNAL.SUBMIT)},t.uploadPicture=function(){if(t.imageData){var e=g().guid,n=p(t.imageData),i=btoa(e),r=new FormData;r.append("file",n,i+".png"),r.append("serviceName",t.serviceName),o.uploadProfilePicture(r,e,t.serviceName).then(function(e){var t=e.uploadedFileLocation;d(t),u()})}},t.removeUploadedPicture=function(){},t.cancelBtnAction=function(n){i.info("Edit Profile (Cancel Action)"),t.$broadcast(e.INTERNAL.CANCEL)},t.setShowUploadProfileButton=function(e){t.showUploadProfileButton=e},t.openFileInput=function(){document.getElementById("imageInput").click()},t.displayImage=function(e){t.profilePictureError.message="";var n=e.target;if(n.files&&n.files[0]){var i=new FileReader;i.onload=function(e){h(n.files[0].name),f(n.files[0]),m(e)},i.readAsDataURL(n.files[0])}},t.getErrorMessage=function(){return t.profilePictureError.message},t.getErrorMessage=function(){return t.profilePictureError.message}}])}(),function(){"use strict";var e=angular.module("ev-widget.forgotPassword",[]);e.directive("evForgotPassword",["$templateCache","$log","EVExceptionHandler","$translate","$timeout",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@",serviceName:"@"},controller:"EVForgotPasswordCtrl",templateUrl:"account/ev-forgot-password.tpl.html",link:function(e,t,a,o){function s(){return(EV.util.Storage.session.get("ev_identifier")||"").replace(/\|/g," ")}function l(t){for(var n=0;n<t.length;n++){if(!e.forgotPasswordTemplate||!e.forgotPasswordTemplate.identifiers)return;for(var i=0;i<e.forgotPasswordTemplate.identifiers.length;i++)e.forgotPasswordTemplate.identifiers[i].name===t[n].name&&(e.forgotPasswordTemplate.identifiers[i].value=t[n].value,e.forgotPasswordTemplate.identifiers[i].disabled=!0)}}function c(){r(function(){EV.Event.publish("forgotPassword.widgetLoaded")},0)}e.widgetGuid=a.id||e.getWidgetId();var d="ev.widgets.forgotPassword.title";i(d).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=a.title||"Forgot Password"}),t.attr("title",""),e.formStyle=a.formStyle||"form-horizontal",e.showLabels="false"!==a.showLabels,e.showHeader="false"!==a.showHeader,e.showErrorMsgs="false"!==a.showErrorMsgs,e.showContainer=""===a.showContainer||"false"===a.showContainer?"":"widget-container",e.alignment=a.al
49ign||"left",e.translationPrefix=a.overrideTranslationKey||"",e.returnLogin="false"!==a.returnLogin,e.sentEmail=!1,e.skipEvValidationFields="true"===a.skipEvValidationFields,"undefined"!=typeof a.showCancelBtn?e.showCancelBtn="string"==typeof a.showCancelBtn?"false"!==a.showCancelBtn:a.showCancelBtn:e.showCancelBtn=!0;var u="ev.widgets.forgotPassword.buttons.submit";i(u).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=a.submitbtnCaption||"Forgot Password"});var p="ev.widgets.forgotPassword.buttons.cancel";i(p).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=a.cancelbtnCaption||"Cancel"});var g="ev.widgets.forgotPassword.buttons.close";if(i(g).then(function(t){e.closeBtnCaption=t},function(t){e.closeBtnCaption=a.closebtnCaption||"ok"}),e.isFormStyleDefault="form-horizontal"===e.formStyle,!e.authSchemeName){e.isLoading=!1;var f=EV.util.error("EVolokException","Authentication scheme should not be empty!");return void n.handleError(e.widgetGuid,f)}e.serviceName=e.serviceName||EV.settings.getEVService();var m="/ui/template/login/"+e.authSchemeName;EV.Core.get(m).then(function(t){e.$apply(function(){e.isLoading=!1,e.forgotPasswordTemplate=t.response,""!==s()&&l(angular.fromJson(s()))}),r(function(){c()},0)},function(t){e.$apply(function(){e.isLoading=!1,n.handleError(e.widgetGuid,t)}),r(function(){c()},0)})}}}]),e.controller("EVForgotPasswordCtrl",["EVENTS","$scope","$log","EVExceptionHandler","$translate",function(e,t,n,i,r){function a(){return(EV.util.Storage.session.get("ev_identifier")||"").replace(/\|/g," ")}function o(e){for(var n=0;n<e.length;n++){if(!t.forgotPasswordTemplate||!t.forgotPasswordTemplate.identifiers)return;for(var i=0;i<t.forgotPasswordTemplate.identifiers.length;i++)t.forgotPasswordTemplate.identifiers[i].name===e[n].name&&(t.forgotPasswordTemplate.identifiers[i].value=e[n].value,t.forgotPasswordTemplate.identifiers[i].disabled=!0)}}t.isLoading=!0,t.form={},t.forgotPasswordTemplate=null;var s=EV.settings.getEVRealm();t.submitBtnAction=function(){if(n.info("Forgot Password (Submit Action)"),!t.evPasswordForm.attributes||!t.forgotPasswordTemplate)throw new Error("Form Identifiers should not be empty!");var e=[];angular.forEach(t.forgotPasswordTemplate.identifiers,function(n,i){var r={name:n.name,value:t.evPasswordForm.attributes[n.name]};e.push(r)}),EV.Core.UI.forgotPassword(s,t.authSchemeName,t.serviceName,e).then(function(e){var n={widget_guid:t.widgetGuid,response:e.response},a={code:"ev.widgets.forgotpassword.success",statusCode:e.statusCode,message:"Reset email sent!"};r(a.code).then(function(e){e&&(a.message=e),i.handleErrorWithCancelBtn(t.widgetGuid,a)}),EV.Event.publish(EV.Event.FORGOT_PASSWORD_SUCCESS,n),t.sentEmail=!0,t.$apply()},function(e){t.showErrorMessage(EV.Event.FORGOT_PASSWORD_FAILED,e)})},t.closeBtnAction=function(){t.sentEmail=!1,t.returnLogin?t.$emit(e.INTERNAL.FORGOT_PASSWORD.FLIP_CANCEL):EV.Event.publish("sent.email.forgot.password")},t.cancelBtnAction=function(n){t.$broadcast("show-errors-reset"),t.$emit(e.INTERNAL.FORGOT_PASSWORD.FLIP_CANCEL),t.navBarCloseAction(n)},t.navBarCloseAction=function(e){t.form.identifiers={},i.removeError(t.widgetGuid),EV.Event.publish(EV.Event.FORGOT_PASSWORD_CANCELLED,e)},t.showErrorMessage=function(e,n){t.$apply(function(){var r={widget_guid:t.widgetGuid,error:n};t.showErrorMsgs&&i.handleErrorWithCancelBtn(t.widgetGuid,n),EV.Event.publish(e,r)})},t.getWidgetId=function(){return"ev-widget.forgotPassword-"+EV.util.random_guid()},EV.Event.on(EV.Event.USER_IDENTIFIED,function(e){e&&e.length>0?(""===a()&&EV.util.Storage.session.set("ev_identifier",angular.toJson(e)),o(e)):""!==a()&&t.$apply(function(){o(angular.fromJson(a()))})})}])}();var J=function(){function e(e,t){var n=[],i=!0,r=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(l){r=!0,a=l}finally{try{!i&&s["return"]&&s["return"]()}finally{if(r)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);
49throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){"use strict";var e=angular.module("ev-widget.login",[]);e.directive("evLogin",["$templateCache","$log","WidgetUtil","$translate","EVExceptionHandler","$window","$timeout",function(e,t,n,i,r,a,o){return{restrict:"E",scope:{serviceName:"@",onForgotPassword:"@",autoPopulate:"@",autoRegister:"@",socialNetworks:"=?socialNetworks"},controller:"EVLoginCtrl",templateUrl:"account/ev-login.tpl.html",link:function(e,t,s,l,c){function d(){return(EV.util.Storage.session.get("ev_identifier")||"").replace(/\|/g," ")}function u(t){for(var n=0;n<t.length;n++){if(!e.loginTemplate||!e.loginTemplate.identifiers)return;for(var i=0;i<e.loginTemplate.identifiers.length;i++)e.loginTemplate.identifiers[i].name===t[n].name&&(e.loginTemplate.identifiers[i].value=t[n].value,e.loginTemplate.identifiers[i].disabled=!0)}}function p(e){var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t.test(String(e).toLowerCase())}function g(e){var t=new URLSearchParams(a.location.search);return t.has(e)?t.get(e):null}function f(){EV.util.Storage.session.get("social_to_link")&&EV.util.Storage.session.remove("social_to_link"),EV.util.Storage.local.get("googleOneTapAttemptedFromURL")&&EV.util.Storage.local.remove("googleOneTapAttemptedFromURL"),EV.util.Storage.session.get("hide_social")&&EV.util.Storage.session.remove("hide_social"),EV.util.Storage.session.get("hide_ic_login")&&EV.util.Storage.session.remove("hide_ic_login"),EV.util.Storage.session.get("apple_login_attempted")&&EV.util.Storage.session.remove("apple_login_attempted"),EV.util.Storage.session.get("apple_logged_in")&&EV.util.Storage.session.remove("apple_logged_in")}function m(){sessionStorage.getItem("ev_auth_scheme")&&sessionStorage.removeItem("ev_auth_scheme"),sessionStorage.getItem("google_one_tap_attempted")&&sessionStorage.removeItem("google_one_tap_attempted")}function h(){localStorage.getItem("google_one_tap_attempted")&&localStorage.removeItem("google_one_tap_attempted")}function v(){EV.Event.publish("login.widgetLoaded")}e.widgetGuid=s.id||e.getWidgetId(),e.isAnArray=angular.isArray,e.serviceName=s.serviceName||EV.settings.getEVService(),e.authSchemeName=s.authSchemeName.indexOf("[")>=0?JSON.parse(s.authSchemeName.replace(/'/g,'"')):s.authSchemeName,e.dataToLoad=e.isAnArray(e.authSchemeName)?e.authSchemeName.length:1,e.multiAuthInputRegex=s.multiInputRegex?new RegExp(s.multiInputRegex):null,Array.isArray(e.authSchemeName)?(e.forgotPasswordAuthSchemeName=e.authSchemeName.filter(function(e){return"EMAIL"===e.type}),e.forgotPasswordAuthSchemeName=e.forgotPasswordAuthSchemeName.length>0?e.forgotPasswordAuthSchemeName[0].name:e.authSchemeName[0].name):e.forgotPasswordAuthSchemeName=e.authSchemeName;var E="ev.widgets.login.title";i(E).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=s.title}),t.attr("title",""),e.formStyle=s.formStyle||"form-horizontal",e.isHorizontal="form-horizontal"===e.formStyle,e.rememberMe="false"!==s.rememberMe;var b="ev.widgets.login.rememberMe";i(b).then(function(t){e.rememberMeLabel=t},function(t){e.rememberMeLabel="Remember me"}),e.autoSubmitFp="true"===s.autoSubmitFp,e.showLabels="false"!==s.showLabels,e.showHeader="false"!==s.showHeader,e.hideShowValidator="true"===s.hideShowValidator,e.showErrorMsgs="false"!==s.showErrorMsgs,e.showSocial="true"===s.showSocial,e.hideSocialForValidator="true"===s.hideSocialForValidator,e.showForgotPasswordLink="false"!==s.showForgotPasswordLink,e.showForgotPasswordOnOtp="true"===s.showForgotPasswordOnOtp,e.translationPrefix=s.overrideTranslationKey||"",e.showCancel="true"===s.showCancel,e.forgotPasswordService=s.forgotPasswordService||e.serviceName,e.returnLogin=s.returnLogin||!0,e.vanillaLogin=s.vanillaLogin,e.discourseLogin="true"===s.discourseLogin,e.autoLinkSocial="true"===s.autoLinkSocial,e.showLogin=!0,e.checkForOtpEnabled="true"===s.otpEnabled,e.otpEnabled=!1,e.otpRequiresCode="true"===s.showOtpAlways,e.enableOauth="true"===s.enableOauth,e.otpButtonTimeout=null==s.otpButtonTimeout||isNaN(s.otpButtonTimeout)?0:Number(s.otpButtonTimeout),e.showOtpButton=e.authSchemeName&&!e.isAnArray(e.authSchemeName),e.layout=s.layout?s.layout:"1",e.showSeparator="false"!==s.showSeparator,e.skipEvValidationFields="true"===s.skipEvValidationFields,e.isSWGAutolikingDifPage="true"===g("evAutoLiking"),"undefined"!=typeof s.showCancelBtn?e.showCancelBtn="string"==typeof s.showCancelBtn?"false"!==s.showCancelBtn:s.showCancelBtn:e.showCancelBtn=!0,"undefined"!=typeof s.showGoogleOneTap&&(e.showGoogleOneTap="string"==typeof s.showGoogleOneTap?"true"===s.showGoogleOneTap:s.showGoogleOneTap),e.googleBtnConf=s.googleBtnConf,e.googleGenericConf=s.googleGenericConf,e.googleOneTapAttempted=null,e.clientId=g("client_id"),e.returnUrl=g("return_url"),e.ssoScope=g("scope"),e.isSsoFlow=e.clientId&&e.returnUrl&&e.ssoScope,e.initialShowSocial=e.showSocial,e.initialAutoLinkSocial=e.autoLinkSocial,e.network=g("network"),e.google_client_id=g("google_client_id"),e.credential=g("credential"),e.googleOneTapAttemptedFromURL=null;var y=EV.settings.localStorageExpireTime?6e4*EV.settings.localStorageExpireTime:6e5;if(e.network&&e.google_client_id&&e.credential&&(e.googleOneTapAttemptedFromURL={network:e.network,client_id:e.google_client_id,credential:e.credential,expire:(new Date).getTime()+y},EV.Event.publish(EV.Event.SOCIAL_ACCOUNT_LINK_REQUIRED,e.googleOneTapAttemptedFromURL)),e.identifierName=g("identifierName"),e.identifierValue=g("identifierValue"),e.identifierValue&&e.googleOneTapAttemptedFromURL&&(p(e.identifierValue)||(e.identifierValue=decodeURIComponent(atob(e.identifierValue).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join("")),e.identifierValue=decodeURIComponent(e.identifierValue))),e.identifierName&&e.identifierValue&&(e.identifier={name:e.identifierName,value:e.identifierValue}),"undefined"!==g("hideSocial")&&(e.hideSocial=JSON.parse(decodeURIComponent(g("hideSocial")))),"undefined"!==g("hideIcLogin")&&(e.hideIcLogin=JSON.parse(decodeURIComponent(g("hideIcLogin")))),e.hideSocial&&EV.util.Storage.session.set("hide_social",{networks:e.hide
49Social.networks,hideAllSocial:e.hideSocial.hideAllSocial}),e.hideIcLogin&&EV.util.Storage.session.set("hide_ic_login",{networks:e.hideIcLogin.networks}),EV.util.Storage.local.get("googleOneTapAttemptedFromURL")){var w=(new Date).getTime(),S=EV.util.Storage.local.get("googleOneTapAttemptedFromURL");w>S.expire&&EV.util.Storage.local.remove("googleOneTapAttemptedFromURL")}if(e.googleOneTapAttemptedFromURL&&EV.util.Storage.local.set("googleOneTapAttemptedFromURL",e.googleOneTapAttemptedFromURL),e.invisibleRecaptcha="true"===s.invisibleRecaptcha,e.recaptcha="true"===s.recaptcha,e.recaptchaSiteKey=EV.settings.getReCaptchaSiteKey(),e.recaptcha||e.invisibleRecaptcha){if(e.isReCaptchaEnabled()&&!e.recaptchaSiteKey){e.changeFormState(!0);var C=EV.util.error("EVWidgetException","Google Re-captcha Site Key required.");throw r.handleError(e.evCaptureFormGuid,C,!1),new Error("Google Re-captcha Site Key should not be empty!")}}else r.removeError(e.evCaptureFormGuid);var P="ev.widgets.login.forgotPassword";i(P).then(function(t){e.forgotPasswordLabel=t},function(t){e.forgotPasswordLabel="Forgot your password?"}),e.showContainer="false"===s.showContainer?"":"widget-container",e.alignment=s.alignForgotPasswordHref||"left",e.flippedFrontStyle="flip flip-front",e.flippedBackStyle="flip flip-back";var _="ev.widgets.login.buttons.submit";i(_).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=s.submitbtnCaption||"Login"});var A="ev.widgets.login.buttons.continue";if(i(A).then(function(t){e.continuebtnCaption=t},function(t){e.continuebtnCaption=s.continuebtnCaption||"Login"}),"false"!==s.cancelbtnCaption){var T="ev.widgets.login.buttons.cancel";i(T).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=s.cancelbtnCaption})}else e.cancelbtnCaption=!1;if(e.isFormStyleDefault="form-horizontal"===e.formStyle,!angular.isUndefined(s.socialStyle)&&"icons"!==s.socialStyle.toLowerCase()&&"text"!==s.socialStyle.toLowerCase())throw e.isLoading=!1,new Error("Not supported social-style! Please try icons or text.");if(e.socialStyle=s.socialStyle||"text",!e.authSchemeName)throw e.isLoading=!1,new Error("Authentication scheme should not be empty!");if(e.loadTemplate=function(t){var i;i=e.checkForOtpEnabled?"/ui/template/login/"+t+"/service/"+e.serviceName:"/ui/template/login/"+t,EV.Core.get(i).then(function(t){e.$apply(function(){function n(t){if(e.loginTemplate&&e.loginTemplate.identifiers)for(var n=0;n<e.loginTemplate.identifiers.length;n++)e.loginTemplate.identifiers[n].name===t.name&&(e.loginTemplate.identifiers[n].value=t.value,e.loginTemplate.identifiers[n].disabled=!0)}if(e.loginTemplate){if(e.loginTemplate.identifiers&&t.response.identifiers){var i=t.response.identifiers.filter(function(t){return e.loginTemplate.identifiers.map(function(e){return e.name}).indexOf(t.name)<0});e.loginTemplate.identifiers=e.loginTemplate.identifiers.concat(i)}}else e.loginTemplate=t.response;e.otpEnabled=t.response.otpEnabled===!0,e.identifier&&e.identifier.value&&(EV.util.Storage.session.set("ev_identifier",angular.toJson(e.identifier)),n(e.identifier)),d()&&(u(angular.fromJson(d())),e.otpValidAttribute=!0),e.dataToLoad&&(e.dataToLoad=e.dataToLoad>0?e.dataToLoad-1:e.dataToLoad,0===e.dataToLoad&&EV.Event.publish("ev.ic.login.TemplatesLoaded"))}),o(function(){v()},0)},function(t){e.$apply(function(){e.isLoading=!1,n.showErrorMessageAndPublishEvent(e,EV.Event.LOGIN_FAILED,t)}),o(function(){v()},0)})},e.templateToLoad=function(){e.getAuthSchemeCookie()?e.autoPreSubmit():e.authSchemeName&&e.isAnArray(e.authSchemeName)?e.authSchemeName.forEach(function(t){e.loadTemplate(t.name)}):e.loadTemplate(e.authSchemeName)},e.templateToLoad(),e.vanillaLogin&&(EV.Event.on(EV.Event.LOGIN_SUCCESS,function(e){EV.Core.vanillaAutoLogin()}),EV.Core.vanillaAutoLogin()),e.discourseLogin)if(g("sso")&&g("sig")){var k=EV.util.Storage.cookie.get("ev_ss");k?EV.Core.discourseAutoLogin(!1,g("sso"),g("sig")):EV.Event.on(EV.Event.LOGIN_SUCCESS,function(e){EV.Core.discourseAutoLogin(!1,g("sso"),g("sig"))})}else console.error("Impossible to auto-login into Discourse: No parameters SSO & SIG from Discourse found");e.autoLinkSocial&&(e.socialLoginResponse={},e.showSocial&&EV.Event.on("user.identified.with.socials",function(e){e.networks.length>1?EV.Event.publish(EV.Event.SOCIALS_LINK_AUTHENTICATION,e.networks):EV.Event.publish(e.networks[0]+".link.authentication")}),EV.Event.on("social.login.existing.email.attempted",function(t){e.socialNetwork=t.socialNetwork,t.socialId&&(e.socialId=t.socialId),t.email&&(e.socialEmail=t.email),t.accessToken&&(e.accessToken=t.accessToken),a.localStorage.getItem("evolok:swg-purchase")&&!e.isSWGAutolikingDifPage&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{})}),EV.Event.on("social.login.response",function(t){e.socialLoginResponse[t.network]=t.response,"apple"===t.network||t.response.error||EV.util.Storage.session.get("social_to_link")||EV.util.Storage.session.set("social_to_link",t.response)}),EV.Event.on(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,function(t){var n=EV.util.getEVSession();if(("google"===e.socialNetwork||t&&"googleSWG"===t.network)&&a.localStorage.getItem("evolok:swg-purchase")){var i=JSON.parse(a.localStorage.getItem("evolok:swg-purchase"));t={network:"google",credential:"ND",client_id:i.userData.data.aud},EV.settings.ic_social_settings.attributes_mapping.google_sub=i.userData.data.sub,EV.settings.ic_social_settings.attributes_mapping.google_email=i.userData.data.email,EV.settings.ic_social_settings.attributes_mapping.google_name=i.userData.data.name,EV.settings.ic_social_settings.attributes_mapping.google_given_name=i.userData.data.given_name||"",EV.settings.ic_social_settings.attributes_mapping.google_family_name=i.userData.data.family_name||""}else!EV.util.Storage.session.get("social_to_link")||"google"!==e.socialNetwork||t.credential||a.localStorage.getItem("evolok:swg-purchase-login-error")?e.isSWGAutolikingDifPage&&(0===Object.keys(e.socialLoginResponse).length&&g("google_aud")&&(e.socialLoginResponse={google:{credential:"ND",client_id:g("google_aud")}}),e.socialNetwork="google",EV.settings.ic_social_settings.attributes_mapping.google_sub=g("google_sub"),EV.settings.ic_social_settings.attributes_mapping.google_email=g("google_email"),EV.settings.ic_social_settings.attributes_mapping.google_name=g("google_name"),EV.settings.ic_social_settings.attributes_mapping.google_given_name=g("google_given_name"),EV.settings.ic_social_settings.attributes_mapping.google_family_name=g("google_family_name")):t=EV.util.Storage.session.get("social_to_link");"apple"===e.socialNetwork?EV.Social.autoLinkAccount(n.guid,e.socialNetwork,{apple_id:e.socialId,apple_email:e.socialEmail,apple_code:e.accessToken}).then(function(e){f(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_SUCCESS,e)},function(e){f(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,e),console.error(e)}):"google"===t.network&&t.credential?EV.Social.autoLinkAccount(n.guid,t.network,{client_id:t.client_id,credential:t.credential}).then(function(e){f(),m(),h(),a.localStorage.getItem("evolok:swg-purchase-login-error")&&(a.localStorage.removeItem("evolok:swg-purchase-login-error"),e.swgRedirection=!0),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_SUCCESS,e)},function(e){f(),m(),h(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,e),console.error(e)}):t&&t.authResponse?EV.Social.autoLinkAccount(n.guid,t.network,t).then(function(e){f(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_SUCCESS,e)},function(e){f(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,e),console.error(e)}):EV.Social.autoLinkAccount(n.guid,e.socialNetwork,e.socialLoginResponse[e.
49socialNetwork]).then(function(e){f(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_SUCCESS,e)},function(e){f(),EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,e),console.error(e)})}),EV.Event.on("hide.social",function(t){o(function(){return t&&t.googleOneTap||t&&t.hideAllSocial?(e.socialNetworks=t.networks,e.socialNetworks):void(e.showSocial=!1)})}),EV.Event.on("hide.ic.login",function(t){o(function(){e.showLogin=!1})})),EV.Event.on("ev.ic.login.TemplatesLoaded",function(){e.isLoading=!1}),e.$watch("authSchemeName",function(t,n){e.showOtpButton||e.isAnArray(t)?e.showOtpButton&&e.isAnArray(t)&&(e.showOtpButton=!1):e.showOtpButton=!0})}}}]),e.controller("EVLoginCtrl",["EVENTS","$scope","$log","$parse","$attrs","WidgetUtil","EVExceptionHandler","$location","$translate","$timeout",function(e,t,n,i,r,a,o,s,l,c){function d(){var e=(sessionStorage.getItem("ev_auth_scheme")||"").replace(/\|/g," ");if(e&&""!==e?t.authSchemeName=e:t.authSchemeName=t.authSchemeName.indexOf("[")>=0?JSON.parse(t.authSchemeName.replace(/'/g,'"')):t.authSchemeName,!angular.isArray(t.authSchemeName))return t.authSchemeName;for(var n=0;n<t.authSchemeName.length;n++)if(t.authSchemeName[n].type===t.multiAuthObject.type)return t.authSchemeName[n].name}function u(e){e&&e.stopPropagation&&e.stopPropagation()}function p(){return(EV.util.Storage.session.get("ev_identifier")||"").replace(/\|/g," ")}function g(e){for(var n=0;n<e.length;n++){if(!t.loginTemplate||!t.loginTemplate.identifiers)return;for(var i=0;i<t.loginTemplate.identifiers.length;i++)t.loginTemplate.identifiers[i].name===e[n].name&&(t.loginTemplate.identifiers[i].value=e[n].value,t.loginTemplate.identifiers[i].disabled=!0)}}function f(e){return e&&e.length>0?(""===p()&&EV.util.Storage.session.set("ev_identifier",angular.toJson(e)),void c(function(){g(e)})):void(p()&&c(function(){g(angular.fromJson(p()))}))}function m(e){var n=(EV.util.Storage.session.get("ev_auth_scheme")||"").replace(/\|/g," ");
49if(n&&""!==n)return t.authSchemeName=n,t.authSchemeName;if(!t.multiAuthObject&&!e)return t.authSchemeName;var i=e?e:t.multiAuthObject.type;t.authSchemeName=t.authSchemeName.indexOf("[")>=0?JSON.parse(t.authSchemeName.replace(/'/g,'"')):t.authSchemeName;for(var r=0;r<t.authSchemeName.length;r++)if(t.authSchemeName[r].type===i)return o.removeError(t.widgetGuid),t.authSchemeName[r];y("auth_scheme_not_found_for_identifier","AUTHENTICATION_SCHEME_NOT_FOUND")}function h(){var e=m();return"string"==typeof e||e instanceof String?e:e.name}function v(e){var t=/^\+?([0-9]*)\)?[-. ]?([0-9]*)[-. ]?([0-9]*)$/;return t.test(String(e).toLowerCase())}function E(e){var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t.test(String(e).toLowerCase())}function b(){var e=s.search();if(""!==e){var n=e.oneTimePasswordKey;EV.util.isEmpty(n)||(t.oneTimePasswordRequestId=n,t.renderOneTimePassword=!0)}}function y(e,n){var i="ev.widgets.errors."+e,r=void 0;throw l(i).then(function(n){r=n;var i=EV.util.error(e,r);o.handleError(t.widgetGuid,i)}),new Error(n)}function w(){return sessionStorage.getItem("google_one_tap_attempted")?(sessionStorage.getItem("google_one_tap_attempted")||"").replace(/\|/g," "):S("google_one_tap_attempted")?JSON.parse(C("google_one_tap_attempted")):void 0}function S(e){for(var t=document.cookie.split(";"),n=0;n<t.length;n++){var i=t[n].trim();if(0===i.indexOf(e+"="))return!0}return!1}function C(e){var t=document.cookie,n=t.split("; "),i=!0,r=!1,a=void 0;try{for(var o,s=n[Symbol.iterator]();!(i=(o=s.next()).done);i=!0){var l=o.value,c=l.split("="),d=J(c,2),u=d[0],p=d[1];if(u===e)return decodeURIComponent(p)}}catch(g){r=!0,a=g}finally{try{!i&&s["return"]&&s["return"]()}finally{if(r)throw a}}return null}b(),t.disableOTP=!1,t.evLoginForm={rememberMeChecked:!1},t.isLoading=!0,t.loginTemplate=null,t.socialLoginAttempted=!1;var P=EV.settings.getEVRealm();t.missingAttributesStatusCode=202,t.forgotPasswordAction=function(e){if(EV.util.isEmpty(t.onForgotPassword))t.renderFormPassword=!0,t.flippedFrontStyle="flip-flipped flip-front",t.flippedBackStyle="flip-flipped flip-back";else{var n={widget_guid:t.widgetGuid,data:null};EV.Event.handleJSEvents(t.onForgotPassword,n,e)}},t.autoSubmitFpRequest=function(){if(!t.evLoginForm.attributes||!t.loginTemplate)throw new Error("Form Identifiers should not be empty!");var e=[];angular.forEach(t.loginTemplate.identifiers,function(n,i){var r={name:n.name,value:t.evLoginForm.attributes[n.name]};e.push(r)}),EV.Core.UI.forgotPassword(P,t.authSchemeName="default",t.serviceName,e).then(function(e){var n={widget_guid:t.widgetGuid,response:e.response},i={code:"ev.widgets.forgotpassword.success",statusCode:e.statusCode,message:"Reset email sent!"};console.log(" Request sent successfully"),t.showLogin=!1,l(i.code).then(function(e){e&&(i.message=e),o.handleErrorWithCancelBtn(t.widgetGuid,i)}),EV.Event.publish(EV.Event.FORGOT_PASSWORD_SUCCESS,n),t.sentEmail=!0,t.closeBtnCaption="OK",t.$apply()},function(e){t.showErrorMessage(EV.Event.FORGOT_PASSWORD_FAILED,e),console.log(" Failed to send forget password request")})},t.resendActivation=function(){if(angular.isUndefined(t.serviceName))throw new Error("Service name should not be empty!");var e=[];angular.forEach(t.loginTemplate.identifiers,function(n,i){var r={name:n.name,value:t.evLoginForm.attributes[n.name]};e.push(r)}),EV.Core.UI.resendActivation(P,t.serviceName,e).then(function(e){var n={widget_guid:t.widgetGuid,response:e.response},i={code:"ev.widgets.emailresend.success",statusCode:e.statusCode,message:"A new activation email has been sent to you."};l(i.code).then(function(e){e&&(i.message=e),o.handleErrorWithCancelBtn(t.widgetGuid,i)}),EV.Event.publish(EV.Event.EMAIL_RESEND_SUCCESS,n),t.$apply()},function(e){EV.Event.publish(EV.Event.EMAIL_RESEND_FAILED,e)})},t.handleJSEvents=function(e,t,n){if(t){var i={functionName:t,data:n||{},event:e};EV.Event.publish(EV.Event.HANDLE_JS_EVENTS,i)}},t.$on(e.INTERNAL.FORGOT_PASSWORD.FLIP_CANCEL,function(e,n){e&&t.showForgotPasswordLink&&(t.renderFormPassword=!1,t.flippedFrontStyle="flip flip-front",t.flippedBackStyle="flip flip-back",u(e))}),t.$on(e.INTERNAL.ONE_TIME_PASSWORD.FLIP_CANCEL,function(e,n){e&&t.otpEnabled&&(t.renderOneTimePassword=!1,t.flippedFrontStyle="flip flip-front",t.flippedBackStyle="flip flip-back",u(e))}),t.linkAccount=function(){EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{})},t.preSubmitForm=function(e){var n,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];i?n=e:(n=e.multiAuthInput.$modelValue,console.log("Phone / Email / Username input",e));try{v(n)?t.multiAuthObject={type:"PHONE",value:n,identifierName:m("PHONE").attr}:E(n)?t.multiAuthObject={type:"EMAIL",value:n,identifierName:m("EMAIL").attr}:t.multiAuthObject={type:"USERNAME",value:n,identifierName:m("USERNAME").attr},t.inputChoosen=!0,t.showOtpButton=!0}catch(r){}},t.submitForm=function(e){if(!t.recaptcha||null!=t.reCaptchaSettings.response&&0!==t.reCaptchaSettings.response.length){if(n.info("Login (Submit Action)"),!t.evLoginForm.attributes)return void n.error("Form Identifiers and Validators values should not be empty!");if(!t.loginTemplate)return void n.warn("Identifiers and Validators should not be empty!");var i=[];angular.forEach(t.loginTemplate.identifiers,function(e,n){var r;t.multiAuthObject&&e.name===t.multiAuthObject.identifierName?(r={name:e.name,value:t.evLoginForm.attributes[e.name]},i.push(r)):t.multiAuthObject||(r={name:e.name,value:t.evLoginForm.attributes[e.name]},i.push(r))});var r=[];angular.forEach(t.loginTemplate.validators,function(e,n){var i={name:e.name,value:t.evLoginForm.attributes[e.name]};r.push(i)});var o,l=s.search();l&&(o=l.serviceName,o&&(t.serviceName=o));var c=l.state,d=l.scope,u=l.client_id,p=l.redirect_uri,g=!1;c&&d&&u&&p&&(t.evLoginForm.rememberMeChecked=!0,g=!0),t.showSpinner=!0,setTimeout(function(){EV.Core.UI.login(P,h(),t.serviceName,i,r,t.evLoginForm.rememberMeChecked).then(function(e){var n={widget_guid:t.widgetGuid,response:e.response};if(e.statusCode===t.missingAttributesStatusCode){var i={response:e.response,serviceName:t.serviceName};EV.Event.publish(EV.Event.SERVICE_MISSING_ATTRIBUTES,i)}if(t.enableOauth&&t.isSsoFlow?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}).then(function(e){console.log("authCode success",e)},function(e){console.error("Error while getting authCode",e); 50}):setTimeout(function(){(EV.util.Storage.local.get("ev_session")||EV.util.Storage.session.get("ev_session"))&&EV.Event.publish(EV.Event.
50LOGIN_SUCCESS,n)},0),t.googleOneTapAttempted=w(),t.socialLoginAttempted?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{}):t.googleOneTapAttempted&&""!==t.googleOneTapAttempted?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,angular.fromJson(t.googleOneTapAttempted).googleOneTap):t.googleOneTapAttemptedFromURL&&null!==t.googleOneTapAttemptedFromURL?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,t.googleOneTapAttemptedFromURL):sessionStorage.getItem("evolok:social_to_link")?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,angular.fromJson(sessionStorage.getItem("evolok:social_to_link"))):t.isSWGAutolikingDifPage&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{}),t.evLoginForm.attributes={},t.evLoginForm.$setPristine(),t.enableOauth&&g){EV.Social.getSwgConfig();window.location.replace(p+"#access_token="+n.response.mainSession.sessionId+"&token_type=bearer&state="+c)}t.$apply()},function(e){f(null),a.showErrorMessageAndPublishEvent(t,EV.Event.LOGIN_FAILED,e,!0),t.showSpinner=!1})},2e3)}},t.cancelBtnAction=function(e){t.$broadcast("show-errors-reset"),t.evLoginForm.attributes={},t.evLoginForm.$setPristine(),t.otpValidAttribute=!1,o.removeError(t.widgetGuid),EV.util.Storage.session.remove("ev_identifier"),EV.util.Storage.session.remove("ev_auth_scheme"),t.tempAuthScheme&&(t.authSchemeName=t.tempAuthScheme,t.loginTemplate=null,t.tempAuthScheme=null,t.templateToLoad()),EV.Event.publish(EV.Event.LOGIN_CANCELLED,e),t.multiAuthObject&&(t.inputChoosen=!1,t.multiAuthObject=null),t.showOtpButton=!1,t.initialShowSocial&&t.initialAutoLinkSocial&&(t.showSocial=!0)},t.requestOneTimePassword=function(){var e=[];angular.forEach(t.loginTemplate.identifiers,function(n,i){var r;t.multiAuthObject&&n.name===t.multiAuthObject.identifierName?(r={name:n.name,value:t.evLoginForm.attributes[n.name]},e.push(r)):t.multiAuthObject||(r={name:n.name,value:t.evLoginForm.attributes[n.name]},e.push(r))});var n={realmName:P,authenticationSchemeName:d(),identifiers:e},i={serviceName:r.serviceName||EV.settings.getEVService(),realmName:EV.settings.getEVRealm()},o=EV.util.getRequestUri("/userProfile/oneTimePassword");EV.util.httpRequest("POST",o,{}
50,n,function(e,n){n>=200&&n<300?(t.otpRequiresCode="true"===r.showOtpAlways||e.requiresCode===!0,t.oneTimePasswordRequestId=e.oneTimePasswordRequestId,t.renderOneTimePassword=!0,t.flippedFrontStyle="flip-flipped flip-front",t.flippedBackStyle="flip-flipped flip-back",t.otpButtonTimeout>0&&(t.disableOTP=!0,setTimeout(function(){t.disableOTP=!1,t.$apply()},1e3*t.otpButtonTimeout)),t.$apply()):(console.error(e),a.showErrorMessageAndPublishEvent(t,EV.Event.USER_NOT_FOUND,{error:e}))},i)},t.getWidgetId=function(){return"ev-widget.login-"+EV.util.random_guid()},t.isReCaptchaEnabled=function(){return t.recaptcha},t.changeFormState=function(e){t.evForm&&(t.evForm.$ready=e||!1,t.evForm.$template=t.captureAttrsTemplate)},t.setReCaptchaResponse=function(e,i){n.info("Re-captcha Response available"),t.reCaptchaSettings={widgetId:i,response:e},EV.Event.publish("ev.login.recaptcha.success",t.reCaptchaSettings)},EV.Event.on("ev.login.recaptcha.success",function(e){e.widgetId===t.reCaptchaSettings.widgetId&&t.submitForm()}),t.setReCaptchaWidgetId=function(e){n.info("Created Re-captcha widget Id: %s",e),t.reCaptchaSettings={widgetId:e}},t.captchaExpiration=function(){n.info("Re-Captcha expired. Resetting response object"),t.reCaptchaSettings={response:null}},t.getAuthSchemeCookie=function(){return EV.util.Storage.session.get("ev_auth_scheme")||""},t.autoPreSubmit=function(){var e=t.getAuthSchemeCookie();e&&(t.tempAuthScheme=t.authSchemeName,t.authSchemeName=e,t.loginTemplate=null,t.loadTemplate(e))},EV.Event.on(EV.Event.USER_IDENTIFIED,function(e){t.autoPreSubmit(),c(function(){f(e)})}),EV.Event.on("ev.identifier.valid.enable.otp",function(){t.otpValidAttribute=!0}),EV.Event.on("ev.identifier.valid.disable.otp",function(){t.otpValidAttribute=!1}),EV.Event.on("social.login.existing.email.attempted",function(e){t.socialLoginAttempted=!0,e.socialId&&(t.socialId=e.socialId),e.email&&(t.socialEmail=e.email),e.accessToken&&(t.accessToken=e.accessToken)}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){t.showSpinner=!1,t.inputChoosen=!1,t.showOtpButton=!1,t.multiAuthObject&&(t.inputChoosen=!1,t.multiAuthObject=null),t.evLoginForm.attributes={},t.evPreLoginForm.$setUntouched(),t.evPreLoginForm.$setPristine(),t.evLoginForm.$setUntouched(),t.evLoginForm.$setPristine();var e=document.querySelectorAll('[name="evLoginForm"]')[0].getElementsByClassName("has-error"),n=!0,i=!1,r=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.classList.remove("has-error")}}catch(s){i=!0,r=s}finally{try{!n&&o["return"]&&o["return"]()}finally{if(i)throw r}}t.$apply()}),EV.Event.on("login.widgetLoaded",function(){setTimeout(function(){if(EV.util.Storage.session.get("hide_social")){var e=EV.util.Storage.session.get("hide_social").networks,t=EV.util.Storage.session.get("hide_social").hideAllSocial;EV.Event.publish("hide.social",{networks:e,hideAllSocial:t})}if(EV.util.Storage.session.get("hide_ic_login")){var n=EV.util.Storage.session.get("hide_ic_login").networks;EV.Event.publish("hide.ic.login",{networks:n})}},0),t.googleOneTapAttempted=w();var e=(sessionStorage.getItem("ev_auth_scheme")||"").replace(/\|/g," ");
50if(t.googleOneTapAttempted&&""!==w){if(!e||""===e)return void console.warn("It seems that a social login through Metering library was attempted and the Auto Linking processes was requested but there's no authSchemeName setup from Metering library. Impossible to proceed with social autolinking");t.googleOneTapAttempted=angular.fromJson(t.googleOneTapAttempted),EV.util.Storage.session.set("ev_identifier",angular.toJson(t.googleOneTapAttempted.identifiers)),t.googleOneTapAttempted.hideSocial&&EV.util.Storage.session.set("hide_social",{networks:t.googleOneTapAttempted.hideSocial.networks,hideAllSocial:t.googleOneTapAttempted.hideSocial.hideAllSocial}),t.googleOneTapAttempted.hideIcLogin&&EV.util.Storage.session.set("hide_ic_login",{networks:t.googleOneTapAttempted.hideIcLogin.networks});var n=t.socialNetworks?angular.fromJson(t.socialNetworks):[];if(n.length>0){var i=n.indexOf(t.googleOneTapAttempted.googleOneTap.network);i>-1&&n.splice(i,1)}EV.Event.publish("hide.social",{networks:n,googleOneTap:!0}),c(function(){g(t.googleOneTapAttempted.identifiers)},0)}})}])}(),function(){"use strict";var e=angular.module("ev-widget.oneTimePassword",[]);e.directive("evOneTimePassword",["$templateCache","$log","EVExceptionHandler","$translate","$window",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@",serviceName:"@"},controller:"EVOneTimePasswordCtrl",templateUrl:"account/ev-one-time-password.tpl.html",link:function(e,t,a,o){function s(e){var t=new URLSearchParams(r.location.search);return t.has(e)?t.get(e):null}e.widgetGuid=a.id||e.getWidgetId(),e.errorWidgetGuid="error-"+e.widgetGuid,e.otpRequiresCode="true"===a.otpRequiresCode,e.oneTimePasswordRequestId=a.otpRequestId,e.formStyle=a.formStyle||"form-horizontal",e.showLabels="false"!==a.showLabels,e.showHeader="false"!==a.showHeader,e.showErrorMsgs="false"!==a.showErrorMsgs,e.showContainer=""===a.showContainer||"false"===a.showContainer?"":"widget-container",e.alignment=a.align||"left",e.translationPrefix=a.overrideTranslationKey||"",e.returnLogin="false"!==a.returnLogin,e.sentEmail=!1,e.clientId=s("client_id"),e.returnUrl=s("return_url"),e.ssoScope=s("scope"),e.requiresSocialLinking=JSON.parse(localStorage.getItem("evolok:googleOneTapAttemptedFromURL")),e.isSsoFlow=e.clientId&&e.returnUrl&&e.ssoScope,e.requiresSocialLinking||(e.requiresSocialLinking=JSON.parse(localStorage.getItem("google_one_tap_attempted")));var l="ev.widgets.oneTimePassword.buttons.submit";i(l).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=a.submitbtnCaption||"Log in"});var c="ev.widgets.oneTimePassword.buttons.cancel";if(i(c).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=a.cancelbtnCaption||"Cancel"}),e.isFormStyleDefault="form-horizontal"===e.formStyle,!e.authSchemeName){e.isLoading=!1;var d=EV.util.error("EVolokException","Authentication scheme should not be empty!");return void n.handleError(e.widgetGuid,d)}e.serviceName=e.serviceName||EV.settings.getEVService()}}}]),e.controller("EVOneTimePasswordCtrl",["EVENTS","$scope","$log","EVExceptionHandler","$location","$translate",function(e,t,n,i,r,a){function o(e){if(n.info("One Time Password Code (Submit Action)"),null!=e&&0===e.length){var r=EV.util.error("one_time_password_format_invalid","Error",400);return void i.handleError(t.errorWidgetGuid,r)}var o={oneTimePasswordRequestId:t.oneTimePasswordRequestId,oneTimePasswordCode:e,brand:EV.settings.brand,channel:"WEB"};EV.Core.post("/session/oneTimePassword",o).then(function(e){var n=e.response;if(n.hasOwnProperty("guid")){i.removeError(t.errorWidgetGuid);var r={code:"ev.widgets.oneTimePassword.success",statusCode:e.statusCode,message:"Successfully logged in!"};a(r.code).then(function(e){e&&(r.message=e),i.handleErrorWithCancelBtn(t.widgetGuid,r)}),i.handleErrorWithCancelBtn(t.widgetGuid,r);var o=!1,s=null;n.hasOwnProperty("mainSession")&&(o=n.mainSession.hasOwnProperty("sessionCookie")?n.mainSession.sessionCookie:o,s=n.mainSession.hasOwnProperty("expiry")?n.mainSession.expiry:s),EV.util.saveEVSessionInStorage(n,o,s),EV.Event.publish(EV.Event.SESSION_REFRESH,n);var l={widget_guid:t.widgetGuid,response:e.response};t.isSsoFlow?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):setTimeout(function(){(EV.util.Storage.local.get("ev_session")||EV.util.Storage.session.get("ev_session"))&&(t.requiresSocialLinking?("google"===t.requiresSocialLinking.socialNetwork&&t.requiresSocialLinking.googleOneTap&&t.requiresSocialLinking.googleOneTap.credential&&t.requiresSocialLinking.googleOneTap.client_id&&(t.requiresSocialLinking.network=t.requiresSocialLinking.socialNetwork,t.requiresSocialLinking.credential=t.requiresSocialLinking.googleOneTap.credential,t.requiresSocialLinking.client_id=t.requiresSocialLinking.googleOneTap.client_id),EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,t.requiresSocialLinking),EV.Event.on(EV.Event.AUTO_SOCIAL_LINK_SUCCESS,function(e){EV.Event.publish(EV.Event.
50LOGIN_SUCCESS,l)})):EV.Event.publish(EV.Event.LOGIN_SUCCESS,l))},0)}},function(e){if(e.error&&"OTP_REQUEST_EXPIRED"===e.error.code){var n="ev.widgets.errors.one_time_password_expired";a(n).then(function(n){var r={};r.code=e.error.code,r.message=n,r.statusCode=e.statusCode,i.handleError(t.errorWidgetGuid,r)})}else i.handleError(t.errorWidgetGuid,e)})}t.isLoading=!0,t.oneTimePasswordCode="";var s=r.search();if(""!==s){var l=s.oneTimePasswordKey;EV.util.isEmpty(l)||(t.oneTimePasswordRequestId=l,o())}t.submitBtnAction=o,t.closeBtnAction=function(){t.sentEmail=!1,t.returnLogin?t.$emit(e.INTERNAL.ONE_TIME_PASSWORD.FLIP_CANCEL):EV.Event.publish("sent.email.forgot.password")},t.cancelBtnAction=function(){t.$broadcast("show-errors-reset"),t.$emit(e.INTERNAL.ONE_TIME_PASSWORD.FLIP_CANCEL)},t.showErrorMessage=function(e,n){t.$apply(function(){var r={widget_guid:t.widgetGuid,error:n};t.showErrorMsgs&&i.handleErrorWithCancelBtn(t.widgetGuid,n),EV.Event.publish(e,r)})},t.getWidgetId=function(){return"ev-widget.oneTimePassword-"+EV.util.random_guid()}}])}(),function(){"use strict";var e=angular.module("ev-widget.profile",[]);e.directive("evProfile",["$templateCache","$log",function(e,t){return{transclude:!0,restrict:"E",scope:{profile:"=?profile",serviceName:"@"},templateUrl:"account/ev-profile.tpl.html",link:function(e,t,n,i){function r(){return"ev-widget.profile-"+EV.util.random_guid()}e.widgetGuid=n.id||r(),e.serviceName=n.serviceName||EV.settings.getEVService(),e.refreshInterval=1e3*n.refreshInterval||18e5,e.refreshProfile()},controller:["$scope","$element","$log","EVProfileHandler","EVExceptionHandler","$location","$window",function(e,t,n,i,r,a,o){function s(t,n){t&&(n?(t.addClass("show"),t.removeClass("hide")):(t.addClass("hide"),t.removeClass("show")),e.evProfileElement.hasClass("hide")&&e.evProfileElement.removeClass("hide"))}function l(t){var n=EV.util.getEVSession();return n&&EV.util.Storage.cookie.get("ev_ss")?void(o.EV.isGetProfileInProgress||(o.EV.isGetProfileInProgress=!0,EV.Core.getUserProfile(n.guid,e.serviceName,t).then(function(t){o.EV.isGetProfileInProgress=!1,t.response.hasOwnProperty("userProfile")?EV.Event.publish(f,t.response.userProfile):t.response.hasOwnProperty("state")&&"LOCKED"===t.response.state?EV.Event.publish(f,t.response.userProfile):(e.profile={},e.select(u.NONE),r.handleError(e.widgetGuid,error)),e.$apply()},function(t){o.EV.isGetProfileInProgress=!1,e.select(u.NOT_LOGGED_IN),r.handleError(e.widgetGuid,t)}))):(EV.Core.refreshSSOSession(),void e.select(u.NOT_LOGGED_IN,null))}function c(t,n){e.profile=i.getProfile(t),e.select(n),EV.Event.publish(EV.Event.PROFILE_LOADED,t)}e.evProfileElement=t;var d,u={NONE:"none",AVAILABLE:"available",NOT_LOGGED_IN:"not-loggedIn",ACCT_LOCKED:"account-locked"},p=e.profilePanes=[],g=u.NONE;"undefined"==typeof o.EV.isGetProfileInProgress&&(o.EV.isGetProfileInProgress=!1),e.select=function(e){g=e,angular.forEach(p,function(t){t.state===e?s(t.element,!0):s(t.element,!1)})},e.refreshProfile=function(){d=setInterval(function(){l(!0)},e.refreshInterval)},this.addProfilePane=function(t){t&&0==p.length&&l(),p.push(t),e.select(g)},this.getProfileState=function(){return g},this.getProfileStates=function(){return u};var f="ev.internal.profile.got";EV.Event.on(EV.Event.SESSION_EXPIRED,function(e){l(!0)}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){l(!0)}),EV.Event.on(EV.Event.SOCIAL_LOGIN_SUCCESS,function(){l(!0)}),EV.Event.on(EV.Event.SESSION_REFRESH,function(e){l()}),EV.Event.on(EV.Event.LOGOUT_ACTION,function(){l()}),EV.Event.on(EV.Event.PROFILE_UPDATED,function(t){e.$apply(function(){e.profile=i.getProfile(t.response.userProfile)})}),EV.Event.on(f,function(t){t?c(t,u.AVAILABLE):c(t,u.ACCT_LOCKED),e.$apply()})}]}}]),e.directive("evProfileWhen",["$templateCache","$log","EVExceptionHandler",function(e,t,n){return{transclude:!0,restrict:"E",require:"^evProfile",scope:!0,templateUrl:"account/ev-profile-when.tpl.html",link:function(e,t,i,r){function a(){return"ev-widget.profile-when-"+EV.util.random_guid()}function o(e){return EV.util.isEmpty(e)?e:e.toLowerCase()}function s(){if(o(e.state)===o(r.getProfileStates().AVAILABLE))return!0;
50if(o(e.state)===o(r.getProfileStates().NOT_LOGGED_IN))return!0;if(o(e.state)===o(r.getProfileStates().ACCT_LOCKED))return!0;var t="Unknown profile state = "+e.state;return n.handleError(e.widgetGuid,EV.util.error("EVolokException",t)),!1}e.widgetGuid=i.id||a(),e.element=t,e.state=i.state||null,s()&&r.addProfilePane(e)}}}]),e.factory("EVProfileHandler",function(){var e={};return e.getProfile=function(e){if(e){var t=angular.copy(e);return delete t.attributes,angular.forEach(e.attributes,function(e){EV.util.isEmpty(e.name)||EV.util.isEmpty(e.value)||(t[e.name]=e.value)}),t}},e})}(),function(){"use strict";function e(){throw new Error('You need to set the "siteKey" attribute in the re-captcha widget. If you don\'t have a siteKey, please get one from https://www.google.com/recaptcha/admin/create')}var t=angular.module("ev-widget.recaptcha",[]);t.directive("evRecaptcha",["$document","$log","$timeout","evReCaptchaService","EVExceptionHandler",function(t,n,i,r,a){return{restrict:"EA",require:"?^^form",scope:{response:"=?ngModel",siteKey:"=",theme:"=?",size:"=?",tabindex:"=?",onCreate:"&",onSuccess:"&",onExpire:"&",onSubmit:"=?",dataBadge:"=?"},link:function(n,a,o,s){function l(){var e=document.createElement("script");e.src="https://www.google.com/recaptcha/api.js?onload=evReCaptchaApiLoaded&render=explicit",e.setAttribute("async",""),e.setAttribute("defer","defer"),document.body.appendChild(e)}function c(){angular.element(t[0].querySelectorAll(".pls-container")).parent().remove()}if(n.enabled="true"===o.enabled,n.invisibleEnabled="true"===o.invisibleRecaptcha,n.invisibleEnabled||(n.size=null,o.size=null,n.badge=null,o.badge=null,n.onSubmit=null),n.enabled||n.invisibleEnabled){o.hasOwnProperty("siteKey")||e(),n.reCaptchaWidgetId=null;var d=n.$watch("siteKey",function(t){if(t){40!==t.length&&e();var l=function(e){i(function(){s&&s.$setValidity("recaptcha",!0),n.response=e,n.onSuccess({response:e,reCaptchaWidgetId:n.reCaptchaWidgetId})}),i(function(){s&&s.$setValidity("recaptcha",!1),n.response="",n.onExpire({reCaptchaWidgetId:n.reCaptchaWidgetId})},6e4)};r.create(a[0],n.invisibleEnabled,t,l,{theme:n.theme||o.theme||null,tabindex:n.tabindex||o.tabindex||null,size:n.size||o.size||null,badge:n.badge||o.badge||null,onSubmit:n.onSubmit||o.onSubmit||null}).then(function(e){s&&s.$setValidity("recaptcha",!1),n.reCaptchaWidgetId=e,n.onCreate({reCaptchaWidgetId:n.reCaptchaWidgetId}),n.$on("$destroy",c)}),d()}});l()}}}}]),t.service("evReCaptchaService",["$window","$q","$log",function(e,t,n){function i(){return a?t.when(a):s}function r(){if(!a)throw new Error("reCaptcha has not been loaded yet.")}var a,o=t.defer(),s=o.promise;return e.evReCaptchaApiLoaded=function(){a=e.grecaptcha,o.resolve(a)},angular.isDefined(e.grecaptcha)&&e.evReCaptchaApiLoaded(),{create:function(e,t,n,r,a){return a.sitekey=n,a.callback=r,i().then(function(n){if(t===!0){var i=document.getElementById(a.onSubmit);return n.render(i,a)}return n.render(e,a)})},reload:function(e){r(),a.reset(e)},getResponse:function(e){return r(),a.getResponse(e)}}}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";var e=angular.module("ev-widget.registration",["ev-widget.recaptcha"]);e.directive("evRegistration",["$templateCache","$log","EVExceptionHandler","$translate","WidgetUtil","$window","$timeout",function(e,t,n,i,r,a,o){return{restrict:"E",scope:{authSchemeName:"@",serviceName:"@",autoRegister:"@",autoPopulate:"@",socialNetworks:"=?socialNetworks"},controller:"EVRegistrationCtrl",templateUrl:"account/ev-registration.tpl.html",link:function(e,t,s,l){function c(){if(null!=e.hiddenAttributes){var t=JSON.parse(s.hiddenAttributes.replace(/'/g,'"'));for(var n in t){var i=d(n);i&&(t[n]=i)}e.hiddenAttributes=JSON.stringify(t)}}function d(e){var t=new URLSearchParams(a.location.search);return t.has(e)?t.get(e):null}function u(){return"ev-widget.registration-"+EV.util.random_guid()}e.widgetGuid=s.id||u();var p="ev.widgets.registration.title";i(p).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=s.title||"Registration"}),t.attr("title",""),e.autoLogin="true"===s.autoLogin,e.invisibleRecaptcha="true"===s.invisibleRecaptcha,e.recaptcha="true"===s.recaptcha,e.showCancel="true"===s.showCancel,e.
50showLabels="false"!==s.showLabels,e.showHeader="false"!==s.showHeader,e.showErrorMsgs="false"!==s.showErrorMsgs,e.showSocial="true"===s.showSocial,e.hiddenAttributes=s.hiddenAttributes,e.layout=s.layout?s.layout:"1",e.showSeparator="false"!==s.showSeparator,e.skipEvValidationFields="true"===s.skipEvValidationFields,e.uncheckedCheckboxReturnFalse="true"===s.uncheckedCheckboxReturnFalse,"undefined"!=typeof s.showGoogleOneTap&&(e.showGoogleOneTap="string"==typeof s.showGoogleOneTap?"true"===s.showGoogleOneTap:s.showGoogleOneTap),e.googleBtnConf=s.googleBtnConf,e.googleGenericConf=s.googleGenericConf,c(),e.showDescription="true"===s.showDescription,e.showContainer="false"===s.showContainer?"":"widget-container",e.translationPrefix=s.overrideTranslationKey||"",e.serviceName=e.serviceName||EV.settings.serviceName,e.vanillaRegister=s.vanillaRegister,e.confirmValidators="false"!==s.confirmValidators,e.confirmIdentifiers="true"===s.confirmIdentifiers,e.bypassAuthScheme="false"===s.idv,e.showCancelBtn="false"!==s.showCancelBtn,e.discourseLogin="true"===s.discourseLogin,e.enableDefaultDropdownOption="false"!==s.enableDefaultDropdownOption,e.hideShowValidator="true"===s.hideShowValidator,e.autoGeneratePassword="true"===s.autoGeneratePassword;var g="ev.widgets.registration.buttons.submit";i(g).then(function(t){e.submitbtnCaption=t},function(){e.submitbtnCaption=s.submitbtnCaption||"Register"});var f="ev.widgets.registration.buttons.cancel";if(i(f).then(function(t){e.cancelbtnCaption=t},function(){e.cancelbtnCaption=s.cancelbtnCaption||"Cancel"}),!e.authSchemeName&&!e.bypassAuthScheme){e.changeFormState(!0);var m=EV.util.error("EVWidgetException","Authentication scheme should not be empty!");return void n.handleError(e.evCaptureFormGuid,m)}if(!angular.isUndefined(s.socialStyle)&&"icons"!==s.socialStyle.toLowerCase()&&"text"!==s.socialStyle.toLowerCase())throw e.isLoading=!1,new Error("Not supported social-style style! Please try icons or text.");e.socialStyle=s.socialStyle||"text",e.getWidgetId=function(){return e.widgetGuid};var h;h=e.bypassAuthScheme?"/ui/template/registration/null/"+e.serviceName+"?bypassAuthScheme=true":"/ui/template/registration/"+e.authSchemeName+"/"+e.serviceName,EV.Core.get(h).then(function(t){e.$apply(function(){e.isLoading=!1,e.registrationTemplate=t.response})},function(t){e.$apply(function(){e.isLoading=!1,r.showErrorMessageAndPublishEvent(e,EV.Event.REGISTRATION_FAILED,t)})}),e.vanillaRegister&&EV.Event.on(EV.Event.LOGIN_SUCCESS,function(e){EV.Core.vanillaAutoLogin()}),EV.Event.on(EV.Event.INTERNAL_REGISTRATION_TEMPLATE_LOADED,function(){o(function(){EV.Event.publish(EV.Event.REGISTRATION_TEMPLATE_LOADED)},0)})}}}]),e.controller("EVRegistrationCtrl",["EVENTS","$scope","$q","$log","EVExceptionHandler","$location","$timeout","$translate","$attrs",function(e,t,n,i,r,a,o,s,l){t.submitBtnAction=function(o){setTimeout(function(){function l(e){return s(e).then(function(e){return e},function(e){return null})}i.info("Registration (Submit Action)");var c=[];angular.forEach(t.registrationTemplate.identifiers,function(e,n){var i={name:e.name,label:e.label};if(t.confirmIdentifiers){var r={name:"confirm_"+e.name,label:"Confirm "+e.label};c.push(r)}c.push(i)});var d="ev.widgets.attr."+t.registrationTemplate.validators[0].name+".confirm.label";if(angular.forEach(t.registrationTemplate.validators,function(e,n){var i={name:e.name,label:e.label};t.confirmValidators&&l(d).then(function(t){var n={name:"confirm_"+e.name,label:d?t:"Confirm "+e.label};c.push(n)}),c.push(i)}),angular.forEach(t.registrationTemplate.attributes,function(e,t){var n={name:e.name,label:e.label};c.push(n)}),!o.$valid){for(var u=Object.keys(o),p=[],g=0;g<u.length;++g)o[u[g]]&&"object"===K(o[u[g]])&&o[u[g]].hasOwnProperty("$viewValue")&&(o[u[g]].$valid||angular.forEach(c,function(e,t){u[g]===e.name&&p.push(e.label)}));if(0===p.length&&o.$error.required){var f=o.$error.required;for(g=0;g<f.length;++g)p.push(f[g].$$attr.$$element[0].labels[0].innerText)}p.forEach(function(e,n){if(EV.WM.useWmTranslations&&EV.WM.loadedTable){var i=Object.getOwnPropertyNames(EV.WM.loadedTable),r=e.replace(/_+(.)/g,function(e,t){return t.toUpperCase()}
50),a=i.find(function(t){return"ev.widgets.attr."+r+".label"===t||"ev.widgets.attr."+e+".label"===t});a&&(p[n]=EV.WM.loadedTable[a])}else{var o=t.evEditProfileForm.$template.attributes.find(function(t){return e===t.name});o&&(p[n]=o.label)}}),EV.Event.publish(e.INTERNAL.FORM.INVALID,p),EV.Event.publish(EV.Event.REGISTRATION_FORM_INVALID,p);var m="",h=[],v=[];return angular.forEach(p,function(e,t){var i=n.defer();h.push(i.promise);var r="ev.widgets.errors."+e.toLowerCase().replace(" ","_");s(r).then(function(e){""!==e&&v.push({withTranslate:e}),i.resolve()},function(t){i.resolve(),v.push({withoutTranslate:e})})}),void n.all(h).then(function(){var e=[];angular.forEach(v,function(t,n){t.hasOwnProperty("withTranslate")?m+=t.withTranslate+"<br>":e.push(t.withoutTranslate)});var i=void 0,a=void 0;e.length>1?(i="ev.widgets.errors.general_attributes",a=e.join(", ")):1==e.length&&(i="ev.widgets.errors.general_attribute",a=e);var l=EV.util.promise();if(e.length>0)s(i).then(function(e){var t=new RegExp("\\{0\\}","gi");return l.fulfill(e.replace(t,a)),l});else{var c="";l.fulfill(c)}l.then(function(e){if(""!==m&&""!==e&&(m+="<br>"),m+=e,o.$error.minlength){var i=[],a=n.defer();i.push(a.promise);var l="ev.widgets.errors.password_length";s(l).then(function(e){m=e+"<br>"+m,a.resolve()}),n.all(i).then(function(){var e=EV.util.error("EVWidgetException",m,401);r.handleError(t.widgetGuid,e)})}else if(o.$error.recaptcha){var c=[],d=n.defer();c.push(d.promise);var u="ev.widgets.errors.not_robot";s(u).then(function(e){m=e+"<br>"+m,d.resolve()}),n.all(c).then(function(){var e=EV.util.error("EVWidgetException",m,401);r.handleError(t.widgetGuid,e)})}else{var p=EV.util.error("EVWidgetException",m,401);r.handleError(t.widgetGuid,p)}})})}var E,b=a.search();b&&(E=b.serviceName,E&&(t.serviceName=E)),t.showSpinner=!0,EV.Event.publish(e.INTERNAL.SUBMIT),t.$broadcast(e.INTERNAL.SUBMIT),t.recaptcha&&t.widgetGuid&&grecaptcha&&EV.Event.on(e.INTERNAL.REGISTER.FAILED,function(e){t.showSpinner=!1;var n="ev-registration #"+t.widgetGuid+" ev-recaptcha",i=angular.element(document.querySelector(n)).scope().evAttrs.reCaptchaSettings.widgetId;grecaptcha.reset(i)})},2e3),t.$on("hide_spinner",function(){t.showSpinner=!1})},t.cancelBtnAction=function(n){i.info("Registration (Cancel Action)"),t.$broadcast(e.INTERNAL.CANCEL),EV.util.Storage.session.remove("ev_identifier")}}])}(),function(){"use strict";var e=angular.module("ev-widget.resetPassword",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evResetPassword",["$templateCache","$log","WidgetUtil","EVExceptionHandler","$translate",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@",serviceName:"@"},controller:"EVResetPasswordCtrl",templateUrl:"account/ev-reset-password.tpl.html",link:function(e,t,i,a){e.widgetGuid=i.id||e.getWidgetId();var o="ev.widgets.resetPassword.title";r(o).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=i.title||"Reset Password"}),t.attr("title",""),e.formStyle=i.formStyle||"form-horizontal",e.showLabels="false"!==i.showLabels,e.showHeader="false"!==i.showHeader,e.showErrorMsgs="false"!==i.showErrorMsgs,e.showContainer="false"===i.showContainer?"":"widget-container",e.translationPrefix=i.overrideTranslationKey||"",e.showCancel="true"===i.showCancel,e.skipEvValidationFields="true"===i.skipEvValidationFields,e.hideShowValidator="true"===i.hideShowValidator;var s="ev.widgets.resetPassword.buttons.submit";r(s).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=i.submitbtnCaption||"Change Password"});var l="ev.widgets.resetPassword.buttons.cancel";if(r(l).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=i.cancelbtnCaption||"Cancel"}),e.isFormStyleDefault="form-horizontal"===e.formStyle,!e.authSchemeName){e.isLoading=!1;var c=EV.util.error("EVolokException","Authentication scheme should not be empty!");return void n.showErrorMessageAndPublishEvent(e,EV.Event.RESET_PASSWORD_FAILED,c,!0)}var d="/ui/template/login/"+e.authSchemeName;EV.Core.get(d).then(function(t){e.$apply(function(){e.isLoading=!1,e.resetPasswordTemplate=t.response,EV.Event.publish(EV.Event.RESET_PASSWORD_FORM_LOADED,e.widgetGuid)})},function(t){e.$apply(function(){e.isLoading=!1,n.showErrorMessageAndPublishEvent(e,EV.Event.RESET_PASSWORD_FAILED,t,!0)})})}}}]),e.controller("EVResetPasswordCtrl",["$scope","$log","$location","WidgetUtil","EVExceptionHandler","$translate","$window",function(e,t,n,i,r,a,o){function s(e){for(var t=e.replace(/\?/gi,""),n=t.split("&"),i={},r=0;r<n.length;r++){var a=n[r].split("=");i[a[0]]=a[1]}return i}e.isLoading=!0,e.resetPasswordTemplate=null;var l,c,d;""===o.location.search?o.parent&&""!==o.parent.location.search&&(d=s(o.parent.location.search)):d=n.search(),""!==d&&(l=d.resetAttributeKey,c=d.serviceName),e.submitBtnAction=function(n){if(t.info("Reset Password (Submit Action)"),!e.evResetPasswordForm.attributes)return void t.error("Form validators should not be empty!");if(!e.resetPasswordTemplate)return void t.error("Validators should not be empty!");if(EV.util.isEmpty(l)||EV.util.isEmpty(c))return void t.error("Invalid reset password request! Can't reset the password without key.");var o=[];angular.forEach(e.resetPasswordTemplate.validators,function(t,n){var i={name:t.name,value:e.evResetPasswordForm.attributes[t.name]};o.push(i)}),EV.Core.UI.resetPassword(l,c,o).then(function(t){var n={widget_guid:e.widgetGuid,response:t.response},i={code:"ev.widgets.resetpassword.success",statusCode:t.statusCode,message:"Password changed!"};a(i.code).then(function(t){t&&(i.message=t),r.handleErrorWithCancelBtn(e.widgetGuid,i)}),EV.Event.publish(EV.Event.RESET_PASSWORD_SUCCESS,n),e.$apply()},function(t){var n;"ATTRIBUTE_VALIDATION_FAILED"===t.error.code?n="ev.widgets.errors.reset_validation_failed":"RESET_USER_PROFILE_NOT_FOUND"===t.error.code&&(n="ev.widgets.errors.reset_key_used"),a(n).then(function(e){t.error.message=e,t.error.args.forEac
50h(function(e,n){var i=new RegExp("\\{"+n+"\\}","gi");t.error.message=t.error.message.replace(i,e)})}),i.showErrorMessageAndPublishEvent(e,EV.Event.RESET_PASSWORD_FAILED,t,!0)})},e.cancelBtnAction=function(t){e.$broadcast("show-errors-reset"),e.evResetPasswordForm.attributes={},r.removeError(e.widgetGuid),EV.Event.publish(EV.Event.RESET_PASSWORD_CANCELLED,t)},e.getWidgetId=function(){return"ev-widget.resetPassword-"+EV.util.random_guid()}}])}(),function(){"use strict";var e=angular.module("ev-widget.userIdentifier",[]);e.directive("evUserIdentifier",["$templateCache","$log","EVExceptionHandler","$translate","$location","$timeout",function(e,t,n,i,r,a){return{restrict:"E",scope:{autoPopulate:"@",autoRegister:"@",socialNetworks:"=?socialNetworks"},controller:"EVUserIdentifierCtrl",templateUrl:"account/ev-user-identifier.tpl.html",link:function(e,t,n,r,o){if(e.showErrorMsgs="false"!==n.showErrorMsgs,e.widgetGuid=n.id||e.getWidgetId(),e.serviceName=e.serviceName||EV.settings.getEVService(),e.authSchemeName=n.authSchemeName.indexOf("[")>=0?JSON.parse(n.authSchemeName.replace(/'/g,'"')):n.authSchemeName,Array.isArray(e.authSchemeName)&&(e.multiAuth=!0),e.multiAuthInputRegex=n.multiInputRegex?new RegExp(n.multiInputRegex):null,e.showSocial="true"===n.showSocial,e.socialStyle=n.socialStyle||"text",e.showLabels="false"!==n.showLabels,e.showHeader="false"!==n.showHeader,e.showCancel="true"===n.showCancel,e.loginWidgetId=n.loginWidgetId,e.registrationWidgetId=n.registrationWidgetId,e.loginUrl=n.loginUrl,e.registrationUrl=n.registrationUrl,e.autoLinkSocial="true"===n.autoLinkSocial,e.showIdentifier=!0,e.layout=n.layout?n.layout:"1",e.showSeparator="false"!==n.showSeparator,e.skipEvValidationFields="true"===n.skipEvValidationFields,"undefined"!=typeof n.showGoogleOneTap&&(e.showGoogleOneTap="string"==typeof n.showGoogleOneTap?"true"===n.showGoogleOneTap:n.showGoogleOneTap),e.googleBtnConf=n.googleBtnConf,e.googleGenericConf=n.googleGenericConf,!e.authSchemeName)throw e.isLoading=!1,new Error("Authentication scheme should not be empty!");n.title?(e.widgetTitle=n.title,t.attr("title","")):i("ev.widgets.userIdentifier.title").then(function(t){e.widgetTitle=t}),e.loadTemplate=function(t){var n="/ui/template/registration/"+t+"/"+e.serviceName;EV.Core.get(n).then(function(t){e.$apply(function(){e.registrationTemplate=t.response,e.isLoading=!1,console.log("attributes:",e.registrationTemplate)})},function(t){e.$apply(function(){e.isLoading=!1,console.log("error in retrieving the attributes from the service:",t)})})},e.authSchemeName&&Array.isArray(e.authSchemeName)?e.authSchemeName.forEach(function(t){e.loadTemplate(t.name)}):e.loadTemplate(e.authSchemeName);var s="ev.widgets.userIdentifier.buttons.submit";i(s).then(function(t){e.submitbtnCaption=t},function(t){e.submitbtnCaption=n.submitbtnCaption||"Submit"});var l="ev.widgets.userIdentifier.buttons.cancel"; 51i(l).then(function(t){e.cancelbtnCaption=t},function(t){e.cancelbtnCaption=n.cancelbtnCaption||"Cancel"}),e.autoLinkSocial&&EV.Event.on("hide.ic.login",function(t){a(function(){e.showIdentifier=!1,t&&t.networks&&(e.socialNetworks=t.networks)})})}}}]),e.controller("EVUserIdentifierCtrl",["$scope","$log","$location","$window","EVExceptionHandler",function(e,t,n,i,r){function a(t){EV.util.Storage.session.set(e.cookieName,t),EV.util.Storage.session.set("ev_auth_scheme",e.getAuthSchemeNameToUse())}function s(){var t=[];return angular.forEach(e.registrationTemplate.identifiers,function(n,i){var r={name:n.name,value:e.evUserIdentifierForm.attributes[n.name]};t.push(r)}),t}function l(t){var n;if(e.multiAuth&&(n=t?t:e.multiAuthObject.type),!Array.isArray(e.authSchemeName)||!n)return e.authSchemeName;for(var i=0;i<e.authSchemeName.length;i++)if(e.authSchemeName[i].type===n)return e.authSchemeName[i]}function c(e){var t=/^\+?([0-9]*)\)?[-. ]?([0-9]*)[-. ]?([0-9]*)$/;return t.test(String(e).toLowerCase())}function d(e){var t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return t.test(String(e).toLowerCase())}e.evUserIdentifierForm={rememberMeChecked:!1}
51,e.isLoading=!0,e.cookieName="ev_identifier";var u=EV.settings.getEVRealm();e.linkAccount=function(){EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{})},e.submitForm=function(n){if(!e.evUserIdentifierForm.attributes&&!n.multiAuthInput.$modelValue)return void t.error("Form Identifiers and Validators values should not be empty!");if(e.evUserIdentifierForm.$invalid)return void t.error("Form Invalid");var i,r,p;if(e.multiAuth){e.evUserIdentifierForm.attributes=[];try{c(n.multiAuthInput.$modelValue)?(e.multiAuthObject={type:"PHONE",value:n.multiAuthInput.$modelValue,identifierName:l("PHONE").attr},e.evUserIdentifierForm.attributes.push(o({},l("PHONE").attr,e.multiAuthObject.value))):d(n.multiAuthInput.$modelValue)?(e.multiAuthObject={type:"EMAIL",value:n.multiAuthInput.$modelValue,identifierName:l("EMAIL").attr},e.evUserIdentifierForm.attributes.push(o({},l("EMAIL").attr,e.multiAuthObject.value))):e.multiAuthObject={type:"USERNAME",value:n.multiAuthInput.$modelValue,identifierName:l("USERNAME").attr}}catch(g){return}r=e.multiAuthObject.identifierName,p=n.multiAuthInput.$modelValue,i=[{name:r,value:p}]}else i=s(),p=i[0].value,r=e.registrationTemplate.identifiers[0].name;EV.Core.UI.checkIdentifierValidity(u,r,p).then(function(t){200===t.statusCode&&(e.loginWidgetId&&EV.Event.publish("ev.open.modal."+e.loginWidgetId),a(angular.toJson(i)),e.loginUrl&&(window.location=e.loginUrl),EV.Event.publish(EV.Event.USER_IDENTIFIED,i))},function(t){404===t.statusCode&&(e.registrationWidgetId&&EV.Event.publish("ev.open.modal."+e.registrationWidgetId),a(angular.toJson(i)),e.registrationUrl&&(window.location=e.registrationUrl),EV.Event.publish(EV.Event.USER_NOT_FOUND,i))})},EV.Event.on("ev.user.identifier.reset.socials",function(t){e.cancelBtnAction()}),e.cancelBtnAction=function(t){e.$broadcast("show-errors-reset"),e.evUserIdentifierForm.attributes={},e.evUserIdentifierForm.$setPristine(),r.removeError(e.widgetGuid),EV.util.Storage.session.remove("ev_identifier"),EV.util.Storage.session.remove("ev_auth_scheme"),EV.Event.publish("user.identification.cancelled",s()),EV.Event.publish("user.identification.cancelled",s())},e.getAuthSchemeNameToUse=function(){var e=l();return"string"==typeof e||e instanceof String?e:e.name}}])}(),function(){"use strict";var e=angular.module("ev-widget.vanillaAuth",[]);e.directive("evVanillaAuth",["$templateCache","$log","EVExceptionHandler","$translate","$location",function(e,t,n,i,r){return{restrict:"E",scope:{},controller:"EVVanillaAuthCtrl",template:'<div class="ev"><div class="pm2"><div ng-if="showErrorMsgs"></div></div></div>',link:function(e,t,n,i,r){function a(){var e=o(),t=EV.util.Storage.cookie.get("ev_ss");t?EV.Core.get("/vanilla/getData?&sessionId="+t+"&ssoCookieDomain="+EV.settings.ssoCookieDomain+"&jwt="+e).then(function(e){200===e.statusCode&&(window.location=e.response)}):setTimeout(function(){a()},1e3)}function o(){for(var e=window.location.href,t=e.split("?"),n=0;n<t.length;n++)if(t[n].indexOf("jwt")>-1)return t[n].split("=")[1]}e.showErrorMsgs="false"!==n.showErrorMsgs,a()}}}]),e.controller("EVVanillaAuthCtrl",["$scope","$location",function(e,t){}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.checkoutButton",[]);e.directive("evCheckoutButton",["pm2Util","EVExceptionHandler","EVENTS","$q",function(e,t,n,i){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-checkout-button.tpl.html",controller:["$scope","$rootScope",function(e,r){function a(e){var t=i.defer();return r.$broadcast(e,{successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}}),t.promise}function o(e){var t=i.defer();EV.Event.publish(e,{successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}})}function s(){a("ev.widgets.stripe.handleApplePay",{test:!0}),a(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE).then(function(){return e.processingText="ev.widgets.checkout.processingOrder",a(n.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY)}).then(function(){a("ev.widgets.stripe.orderCreated",{test:!0})})["catch"](function(n){console.error("ev-checkout-button error:",n),EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(e.errorWidgetGuid,EV.util.error(n||"checkout",n,400))})["finally"](function(){e.processing=!1,e.processingText=""})}e.paymentTypeOrderCreated=!1,e.editProfileAfterPaymentTypeOrderCreated=!1,e.paymentMethodInfo={},e.submit=function(){return console.log("ev-checkout submit button clicked",e),t.removeError(e.errorWidgetGuid),e.processing=!0,e.processingText="ev.widgets.checkout.processingProfile","stripe"!==e.paymentMethodInfo.provider||"google_pay"!==e.paymentMethodInfo.type&&"apple_pay"!==e.paymentMethodInfo.type?void a(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE).then(function(){return console.log("ev-checkout-button: Profile submit success"),e.processingText="ev.widgets.checkout.processingOrder",a(n.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY)}).then(function(){return console.log("ev-checkout-button: Create order success: sending Event [EV.Event.PM_CHECKOUT_SUBMIT_PAYMENT], [EVENTS.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT]"),e.processingText="ev.widgets.checkout.processingPayment",o(EV.Event.PM_CHECKOUT_SUBMIT_PAYMENT),a(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT)}).then(function(){console.log("ev-checkout-button: Process payment success"),EV.util.Storage.local.remove("createdOrder")})["catch"](function(n){console.error("ev-checkout-button error:",n),EV.Event.publish(EV.Event.PM_ERROR,n),t.handleError(e.errorWidgetGuid,EV.util.error(n||"checkout",n,400))})["finally"](function(){e.processing=!1,e.processingText=""}):void s()},EV.Event.on(n.INTERNAL.PM_CHECKOUT.TRIGGER_CHECKOUT,function(){e.submit()}),EV.Event.on("ev.widgets.paymentTypeSelector.orderCreated",function(){e.paymentTypeOrderCreated=!0}),EV.Event.on("ev.widgets.stripe.paymentMethod.changed",function(t){console.log("Handling ev.widgets.stripe.paymentMethod.changed",t),e.paymentMethodInfo=t}),EV.Event.on("ev.widgets.editProfileAfter.paymentTypeSelector.orderCreated",function(){e.editProfileAfterPaymentTypeOrderCreated=!0}),e.setReCaptchaResponse=function(t,n){e.reCaptchaSettings={widgetId:n,response:t},e.recaptchaRestriction=!1},e.setReCaptchaWidgetId=function(t){e.reCaptchaSettings={widgetId:t}},e.captchaExpiration=function(){e.reCaptchaSettings={response:null},e.recaptchaRestriction=!0}}],link:function(t,n,i,r){function a(){return"ev-widget.pm.checkoutButton-"+EV.util.random_guid()}function o(){function n(){function e(t){var n=document.getElementsByClassName(t);if(n)for(var i=0;i<n.length;i++)n[i].style.visibility="hidden";else setTimeout(function(){e(t)},200)}var t=["stripe-submit-btn","stripe-ideal-submit-btn","mercado-submit-btn","manual-submit-btn","product-profile-submit-btn","product-checkout-btn","gocardless-submit-btn","twocheckout-submit-btn","checkoutdotcom-submit-btn","googlepay-submit-btn","applepay-submit-btn","btn-custom-data-submission"];t.forEach(e)}function i(){function e(n){var i=document.getElementsByClassName(n)[0];i?i.addEventListener("submit",function(e){e.preventDefault(),t.submit()}):setTimeout(function(){e(n)},200)}var n=["product-profile-form","stripe-payment-form","manual-payment-form","mercado-payment-form","gocardless-payment-conf-form","checkoutdotcom-payment-form","googlepay-payment-form","applepay-payment-form"];
51n.forEach(e)}n(),i(),t.isProductSelected=e.getBasket()}t.widgetGuid=i.id||a(),t.errorWidgetGuid="error-"+t.widgetGuid,t.showErrorMsgs="false"!==i.showErrorMsgs,t.recaptcha="true"===i.recaptcha,t.invisibleRecaptcha="true"===i.invisibleRecaptcha,t.recaptchaSiteKey=EV.settings.recaptchaSiteKey,t.recaptchaSiteKey||(t.recaptcha=!1),t.recaptchaRestriction=t.recaptcha===!0,o(),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(){o()}),EV.Event.on(EV.Event.PM_CLEARED_BASKET,function(){o()}),EV.Event.on("reset.checkout.button",function(){t.processing=!1,t.processingText=""})}}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.completeDpoSubscription",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evCompleteDpoSubscription",["pm2Util","EVExceptionHandler",function(e,t){return{restrict:"E",scope:{widgetGuid:"@id",showErrorMsgs:"@"},transclude:!0,template:'<div id="{{widgetGuid}}" class="ev"><div class="pm2"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div></div></div>',link:function(e,t,n){function i(){return"ev-widget.pm.completeDPOSubscription-"+EV.util.random_guid()}e.widgetGuid=n.id||i(),e.errorWidgetGuid="error-"+e.widgetGuid,e.showErrorMsgs="false"!==n.showErrorMsgs},controller:["$scope","$location",function(n,i){if(n.queryParams=i.search(),!n.queryParams.TransactionToken){var r=EV.util.error("dpo_query_param_trans_token_invalid","The transaction token could not be found in the URL query params");EV.Event.publish(EV.Event.PM_ERROR,r),t.handleError(n.errorWidgetGuid,r)}var a=n.queryParams.orderId,o=n.queryParams.TransactionToken,s={token:o};a&&o&&e.completeSubscription(a,s).then(function(e){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,e)})["catch"](function(e){console.error(e);var i=EV.util.error("invalid_request","Invalid request",400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(n.errorWidgetGuid,i)})}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.completePayPalStripeSubscription",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evCompletePaypalStripeSubscription",["pm2Util","EVExceptionHandler",function(e,t){return{restrict:"E",scope:{widgetGuid:"@id",showErrorMsgs:"@"},transclude:!0,template:'<div id="{{widgetGuid}}" class="ev"><div class="pm2"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div></div></div>',link:function(e,n,i){function r(){return"ev-widget.pm.completePayPalSubscription-"+EV.util.random_guid()}if(e.widgetGuid=i.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.showErrorMsgs="false"!==i.showErrorMsgs,e.queryParams&&"failed"===e.queryParams.redirect_status){var a=EV.util.error("create_payment_failed","There was a problem with the payment, please try again",400);EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(e.errorWidgetGuid,a),EV.Event.publish(EV.Event.PM_SUBSCRIPTION_REJECTED)}},controller:["$scope","$location","pm2Util",function(e,n,i){function r(n){p&&i.completeSubscription(p,n).then(function(e){EV.Event.publish(EV.Event.PM_SUBSCRIPTION_APPROVED,e)})["catch"](function(n){console.error(n);var i=EV.util.error("invalid_request","Invalid request",400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(e.errorWidgetGuid,i),EV.Event.publish(EV.Event.PM_SUBSCRIPTION_REJECTED)})}function a(){s=Stripe(EV.PM.stripeKey),c?s.retrievePaymentIntent(c).then(function(e){if(console.log(e,"<RES"),!e.paymentIntent.last_payment_error){var t={paymentType:"paypal",paymentMethod:e.paymentIntent.payment_method};r(t)}})["catch"](function(e){console.error("Unable to retrive payment intent: ",e)}):u&&s.retrieveSetupIntent(u).then(function(e){if(console.log(e,"<RES"),!e.setupIntent.last_setup_error){var t={paymentType:"paypal",paymentMethod:e.setupIntent.payment_method};r(t)}})}function o(){var e=document.createElement("script");e.src="https://js.stripe.com/v3/",e.onload=function(){a()},document.body.appendChild(e)}console.log("EVCompletePayPalStripeSubscription:::");var s=void 0;e.queryParams=n.search(),console.log(" $scope.queryParams",e.queryParams);var l=e.queryParams.payment_intent,c=e.queryParams.payment_intent_client_secret,d=e.queryParams.setup_intent,u=e.queryParams.setup_intent_client_secret;e.queryParams.redirect_status;if(l||d){o();var p=(i.getBasket(),void 0);p=localStorage.getItem("stripePaypalOrderId")}}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.completePayPalSubscription",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evCompletePaypalSubscription",["pm2Util","EVExceptionHandler",function(e,t){return{restrict:"E",scope:{widgetGuid:"@id",showErrorMsgs:"@"},transclude:!0,template:'<div id="{{widgetGuid}}" class="ev"><div class="pm2"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div></div></div>',link:function(e,n,i){function r(){return"ev-widget.pm.completePayPalSubscription-"+EV.util.random_guid()}if(e.widgetGuid=i.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.showErrorMsgs="false"!==i.showErrorMsgs,!e.queryParams.orderId){var a=EV.util.error("create_payment_failed","There was a problem with the payment, please try again",400);EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(e.errorWidgetGuid,a)}if(!e.queryParams.approved||!e.queryParams.subscription_id){var o=EV.util.error("invalid_request","Invalid request",400);EV.Event.publish(EV.Event.PM_ERROR,o),t.handleError(e.errorWidgetGuid,o)}},controller:["$scope","$location",function(n,i){n.queryParams=i.search(),console.log("$scope.queryParams PAYPAL REDIRECT:::",n.queryParams);var r=n.queryParams.orderId,a=n.queryParams.approved,o=n.queryParams.oldUpgradedPurchase,s={externalId:n.queryParams.subscription_id,baToken:n.queryParams.ba_token};o&&(s.oldUpgradedPurchase=o);var l=o?"pm.subscriptionUpgradeRejected":EV.Event.PM_SUBSCRIPTION_REJECTED;r&&(a&&"true"===a?e.completeSubscription(r,s).then(function(n){o?e.cancelPurchase(o,!1).then(function(){EV.Event.publish(EV.Event.PM_PURCHASE_CANCELLED),EV.Event.publish("pm.initPurchasesList")})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(scope.errorWidgetGuid,e)})["finally"](function(){EV.Event.publish(EV.Event.PM_SUBSCRIPTION_UPGRADED,n)}):EV.Event.publish(EV.Event.PM_SUBSCRIPTION_APPROVED,n)})["catch"](function(e){console.error(e);var i=EV.util.error("invalid_request","Invalid request",400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(n.errorWidgetGuid,i),EV.Event.publish(l)}):EV.Event.publish(l))}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.completeStripePayment",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evCompleteStripePayment",["pm2Util","EVExceptionHandler",function(e,t){return{restrict:"E",scope:{widgetGuid:"@id",showErrorMsgs:"@"},transclude:!0,template:'<div id="{{widgetGuid}}" class="ev"><div class="pm2"><div ng-if="showErrorMsgs"><ev-error-msg error-msg-id="{{errorWidgetGuid}}" align="center" show-cancel="true"></ev-error-msg></div></div></div>',link:function(e,n,i){function r(){return"ev-widget.pm.completeStripePayment-"+EV.util.random_guid()}if(e.widgetGuid=i.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.showErrorMsgs="false"!==i.showErrorMsgs,!e.queryParams.orderId||!e.queryParams.source){var a=EV.util.error("create_payment_failed","There was a problem with the payment, please try again",400);EV.Event.publish(EV.Event.PM_ERROR,a),t.handleError(e.errorWidgetGuid,a)}},controller:["$scope","$location",function(n,i){n.queryParams=i.search();var r=n.queryParams.orderId,a={sourceId:n.queryParams.source,clientSecret:n.queryParams.client_secret};r&&e.completeSubscription(r,a).then(function(e){e.approved?EV.Event.publish(EV.Event.PM_PAYMENT_APPROVED,e):EV.Event.publish(EV.Event.PM_PAYMENT_REJECTED,e)})["catch"](function(e){console.error(e);var i=EV.util.error("invalid_request","Invalid request",400);EV.Event.publish(EV.Event.PM_ERROR,i),t.handleError(n.errorWidgetGuid,i),EV.Event.publish(EV.Event.PM_PAYMENT_REJECTED)})}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.dpoSubscription",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evDpoSubscription",["pm2Util","EVExceptionHandler","EVENTS",function(e,t,n){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-dpo-subscription.tpl.html",link:function(e,t,n,i){function r(){return"ev-widget.pm.dpoSubscription-"+EV.util.random_guid()}e.widgetGuid=n.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.showErrorMsgs="false"!==n.showErrorMsgs,e.widgetTitle=n.title||"Direct Pay Online PAYMENT",t.attr("title",""),e.showHeader="false"!==n.showHeader},controller:["$scope","$location",function(i,r){i.order=null,EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){i.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"DPO"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_DPO_PAYMENT,e)}
51),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-dpo-subscription"}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&"CARD"===r.paymentType&&i.createDPOSubscription(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)}),i.createDPOSubscription=function(n,a){if(t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.order){var o=EV.util.error("order_not_created","An order hasn't been created.",400);return EV.Event.publish(EV.Event.PM_ERROR,o),void(a&&a("checkout"))}var s=r.search();i.processingDPOCheckout=!0;var l=s.pSource,c={pSource:l};e.createSubscription(i.order.id,c).then(function(e){if(n&&n(),e&&e.data.redirectUrl)window.location.replace(e.data.redirectUrl);else{var t=EV.util.error("redirect_url_invalid","Redirect URL invalid.",400);EV.Event.publish(EV.Event.PM_ERROR,t),a&&a("checkout")}})["catch"](function(e){i.processingDPOCheckout=!1,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),a&&a("checkout")})["finally"](function(){})}}}]}}])}();var J=function(){function e(e,t){var n=[],i=!0,r=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(l){r=!0,a=l}finally{try{!i&&s["return"]&&s["return"]()}finally{if(r)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){"use strict";var e=angular.module("ev-widget.pm.paymentSelector",[]);e.directive("evPaymentTypeSelector",["pm2Util","EVExceptionHandler","EVENTS","$q","$timeout",function(e,t,n,i,r){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-paymenttype-selector.tpl.html",link:function(e,t,n,i){function r(){return"ev-widget.pm.paymentSelector-"+EV.util.random_guid()}e.widgetGuid=n.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.widgetTitle=n.title||"PAYMENT TYPE SELECTION",t.attr("title",""),e.showHeader="false"!==n.showHeader,e.showErrorMsgs="false"!==n.showErrorMsgs,e.loggedIn=EV.util.Storage.cookie.get("ev_ss"),e.defaultType=n.defaultType||null,e.displayType=n.displayType||"list",e.generateOrderOnSelect="true"===n.generateOrderOnSelect,e.editProfileAfterPaymentTypeOrderCreated="true"===n.editProfileAfterPaymentTypeOrderCreated,e.defaultPaymentType()},controller:["$scope","$rootScope","$timeout",function(r,a,o){function s(){console.log("submitOrder:::"),t.removeError(r.errorWidgetGuid),r.processing=!0,r.submissionOncePerformed=!0,r.processingText="ev.widgets.checkout.processingProfile",r.editProfileAfterPaymentTypeOrderCreated?l(n.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY).then(function(){console.log("ev-checkout-button: Create order success")})["catch"](function(e){console.error("ev-checkout-button error:",e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,EV.util.error(e||"checkout",e,400))})["finally"](function(){r.processing=!1,r.processingText="",EV.Event.publish("ev.widgets.paymentTypeSelector.orderCreated"),r.editProfileAfterPaymentTypeOrderCreated&&EV.Event.publish("ev.widgets.editProfileAfter.paymentTypeSelector.orderCreated")}):l(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE).then(function(){return console.log("ev-checkout-button: Profile submit success"),r.processingText="ev.widgets.checkout.processingOrder",l(n.INTERNAL.PM_CHECKOUT.SUBMIT_SUMMARY)}).then(function(){console.log("ev-checkout-button: Create order success")})["catch"](function(e){console.error("ev-checkout-button error:",e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,EV.util.error(e||"checkout",e,400))})["finally"](function(){r.processing=!1,r.processingText="",EV.Event.publish("ev.widgets.paymentTypeSelector.orderCreated"),r.editProfileAfterPaymentTypeOrderCreated&&EV.Event.publish("ev.widgets.editProfileAfter.paymentTypeSelector.orderCreated")})}function l(e){var t=i.defer();return a.$broadcast(e,{successCb:function(e){t.resolve(e)},errorCb:function(e){t.reject(e)}}),t.promise}function c(e,t){e&&angular.forEach(r.allPaymentTypes,function(n){var i=e.name;if(n.name==i){var a=r.paymentProviderSelectors[e.name];document.querySelector(a).style.display="block"}else if(!t&&r.paymentProviderSelectors[n.name]){var o=r.paymentProviderSelectors[n.name];document.querySelector(o).style.display="none"}})}function d(n){var i=e.getBasket(),a=null,o=null;i&&i.products&&i.products.length>0&&(i.products[0].bundlePlan&&i.products[0].bundlePlan.length>0||i.products[0].paymentPlan&&i.products[0].paymentPlan.isBundle?o=i.products[0].paymentPlan.id:i.products[0].paymentPlan&&(a=i.products[0].paymentPlan.id)),e.getActivePaymentTypes(a,o).then(function(e){r.allPaymentTypes=e,r.allowedPaymentTypes=e,n&&r.allPaymentTypes.length>0&&u(n)})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(r.errorWidgetGuid,e)})}function u(e,t){r.allPaymentTypes&&0!==r.allPaymentTypes.length||d(e),r.allPaymentTypes&&r.allPaymentTypes.length>0&&(e?o(function(){r.selectedPaymentType=r.allPaymentTypes.find(function(t){return t.name===e}),r.broadcastPaymentTypeChange(r.selectedPaymentType,t)},250):(r.allowedPaymentTypes=r.allPaymentTypes.slice(),o(function(){r.selectedPaymentType=null,r.useDefaultPaymentType&&(r.selectedPaymentType=r.defaultType),r.broadcastPaymentTypeChange(r.selectedPaymentType,t)},250)))}r.allPaymentTypes=[],r.allowedPaymentTypes=[],r.selectedPaymentType=null,d(),r.broadcastPaymentTypeChange=function(e,t,n){o(function(){n&&"click"===n.type&&!e||(r.selectedPaymentType=e,EV.Event.publish(EV.Event.PM_PAYMENT_TYPE_CHANGED,e),c(e,t),r.selectedPaymentType&&r.generateOrderOnSelect&&r.productProfileLoaded?s():r.selectedPaymentType&&r.generateOrderOnSelect&&!r.productProfileLoaded&&(r.readyToSubmitOrder=!0))}
51,0)},r.$on("ev.widgets.paymentTypeSelector.getUserSelectedPaymentType",function(e,t){return r.selectedPaymentType?r.selectedPaymentType:r.defaultType}),EV.Event.on(EV.Event.PM_REGISTER_PROVIDER_WIDGET,function(e){r.paymentProviderSelectors[e.paymentType]=e.selector}),EV.Event.on(EV.Event.PM_PROMO_CODE_APPLIED,function(){r.submissionOncePerformed&&s()}),EV.Event.on(EV.Event.PM_PRODUCT_PROFILE_LOADED,function(){console.log("eventListener pickedup event:EV.Event.PM_PRODUCT_PROFILE_LOADED"),console.log("$scope.readyToSubmitOrder",r.readyToSubmitOrder),r.productProfileLoaded=!0,r.readyToSubmitOrder&&(r.readyToSubmitOrder=!1,s())}),r.paymentProviderSelectors={},r.isApplePayAvailable=function(){return!!window.ApplePaySession},EV.Event.on(EV.Event.PM_PAYMENT_TYPE_CHANGED,function(t){var n=e.getBasket();if(!n){var i=EV.util.error("no_products_selected","No products selected",400);return void EV.Event.publish(EV.Event.PM_ERROR,i)}t&&(n.paymentType=t.name||t,e.saveBasket(n),EV.Event.publish("pm.paymenttype.savedInBasket",n.paymentType));e.getBasket()}),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(){r.defaultPaymentType(),d()}),EV.Event.on(EV.Event.LOGIN_SUCCESS,function(){r.loggedIn=!0,r.defaultPaymentType()}),EV.Event.on(EV.Event.PM_PAYMENT_TYPE_ENFORCE,function(e){r.useDefaultPaymentType=e.useDefaultPaymentType;var t={}.constructor;e.constructor===t?u(e.paymentTypeName,e.showOtherPaymentMethods):u(e)}),EV.Event.on(EV.Event.PM_REDIRECT_ORDER_SUMMARY,function(){"ev-express-pago"!==r.paymentProviderSelectors.CARD&&d()}),EV.Event.on(EV.Event.PM_CLEARED_BASKET,function(){r.selectedPaymentType=null}),r.defaultPaymentType=function(){var t=e.getBasket();r.defaultType&&t&&t.paymentType?(console.log("publish(EV.Event.PM_PAYMENT_TYPE_ENFORCE 2"),EV.Event.publish(EV.Event.PM_PAYMENT_TYPE_ENFORCE,t.paymentType)):r.defaultType&&(console.log("publish(EV.Event.PM_PAYMENT_TYPE_ENFORCE 3"),EV.Event.publish(EV.Event.PM_PAYMENT_TYPE_ENFORCE,r.defaultType))}}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.payPalSubscription",[]);e.config(["$locationProvider",function(e){e.html5Mode({enabled:!0,requireBase:!1,rewriteLinks:!1})}]),e.directive("evPaypalSubscription",["pm2Util","EVExceptionHandler","EVENTS",function(e,t,n){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-paypal-subscription.tpl.html",link:function(e,t,n,i){function r(){return"ev-widget.pm.payPalSubscription-"+EV.util.random_guid()}e.widgetGuid=n.id||r(),e.errorWidgetGuid="error-"+e.widgetGuid,e.showErrorMsgs="false"!==n.showErrorMsgs,e.widgetTitle=n.title||"PAYPAL PAYMENT",t.attr("title",""),e.showHeader="false"!==n.showHeader,e.autoCheckout="false"!==n.autoCheckout},controller:["$scope","$location",function(i,r){var a=r.$$protocol+"://"+r.$$host;i.order=null,EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){i.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"PAYPAL"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_PAYPAL_PAYMENT,e)}),EV.Event.on(EV.Event.PM_DO_PAYPAL_CHECKOUT,function(e){i.autoCheckout||(console.log("[ev-widgets] EV.Event.PM_CHECKOUT_SUBMIT_PAYMENT"),i.createPayPalSubscription(e.successCb,e.errorCb))}),EV.Event.on("ev.purchases.list.upgradePlan",function(e){e&&e.currentPurchaseId&&(i.oldUpgradedPurchase=e.currentPurchaseId)}),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"PAYPAL",selector:"ev-paypal-subscription"}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&"PAYPAL"===r.paymentType&&i.autoCheckout&&i.createPayPalSubscription(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)}),i.createPayPalSubscription=function(n,r){if(t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.order){var o=EV.util.error("order_not_created","An order hasn't been created.",400);return EV.Event.publish(EV.Event.PM_ERROR,o),void(r&&r("checkout"))}i.processingPayPalCheckout=!0;var s={redirectUrl:a};i.oldUpgradedPurchase&&(s.oldUpgradedPurchase=i.oldUpgradedPurchase),e.createSubscription(i.order.id,s).then(function(e){if(n&&n(),e&&e.data.links[0].href)window.location.replace(e.data.links[0].href);else{var t=EV.util.error("redirect_url_invalid","Redirect URL invali
51d.",400);EV.Event.publish(EV.Event.PM_ERROR,t),r&&r("checkout")}})["catch"](function(e){i.processingPayPalCheckout=!1,console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),r&&r("checkout")})["finally"](function(){})}}}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.paystack",[]);e.directive("evPaystack",["pm2Util","EVExceptionHandler","EVENTS",function(e,t,n){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-paystack.tpl.html",link:function(t,n,i,r){function a(){var e=document.createElement("script");e.src="https://js.paystack.co/v1/inline.js",document.body.appendChild(e)}function o(){return"ev-widget.pm.paystack-"+EV.util.random_guid()}t.widgetGuid=i.id||o(),t.errorWidgetGuid="error-"+t.widgetGuid,t.showErrorMsgs="false"!==i.showErrorMsgs,t.widgetTitle=i.title||"Paystack",n.attr("title",""),t.showHeader="true"===i.showHeader,t.usingCheckoutButton=e.isCheckoutButtonLoaded(),a()},controller:["$scope",function(i){function r(e){var t={key:EV.PM.paystackPublicKey,callback:a,onClose:function(){console.log("Modal closed"),i.errorCb&&i.errorCb("payment")},label:"\t"};t=Object.assign(t,e.data);var n=PaystackPop.setup(t);n.openIframe()}function a(n){var r={paystack_reference:n.reference};e.completeSubscription(i.order.id,r).then(function(e){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,e),i.success=!0,i.successCb&&i.successCb()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.errorCb&&i.errorCb("payment")})["finally"](function(){return i.processingPaystackCheckout=!1})}i.order=null,EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){i.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"PAYSTACK"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_PAYSTACK_PAYMENT,e)}),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"CARD",selector:"ev-paystack"}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&"CARD"===r.paymentType&&i.createPaystackPurchase(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)}),i.createPaystackPurchase=function(n,a){if(t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.order){var o=EV.util.error("order_not_created","An order hasn't been created.",400);return EV.Event.publish(EV.Event.PM_ERROR,o),void(a&&a("checkout"))}i.successCb=n,i.errorCb=a,i.processingPaystackCheckout=!0,e.createSubscription(i.order.id,{}).then(r)["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.processingPaystackCheckout=!1,a&&a("checkout")})["finally"](function(){i.processingPaystackCheckout=!1})}}}]}}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},J=function(){function e(e,t){var n=[],i=!0,r=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(i=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);i=!0);}catch(l){r=!0,a=l}finally{try{!i&&s["return"]&&s["return"]()}finally{if(r)throw a}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";var e=angular.module("ev-widget.pm.razorpay",[]);e.directive("evRazorpay",["pm2Util","EVExceptionHandler","EVENTS","$timeout",function(e,t,n,i){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-razorpay.tpl.html",link:function(t,n,i,r){function a(){var e=document.createElement("script");e.src="https://checkout.razorpay.com/v1/checkout.js",document.body.appendChild(e); 52}function o(){return"ev-widget.pm.razorpay-"+EV.util.random_guid()}t.widgetGuid=i.id||o(),t.errorWidgetGuid="error-"+t.widgetGuid,t.showErrorMsgs="false"!==i.showErrorMsgs,t.widgetTitle=i.title||"Razorpay",n.attr("title",""),t.showHeader="true"===i.showHeader,t.paymentMethods=i.paymentMethods?i.paymentMethods.split(","):["card","upi","emandate"],t.selectedPaymentMethod="card",t.preferredRecurringMethodInr=i.preferredRecurringMethodInr||"card",t.showPaymentMethods=!0,t.hideUpiQr="true"===i.hideUpiQr,t.usingCheckoutButton=e.isCheckoutButtonLoaded(),t.$watch("selectedPaymentMethod",function(e){EV.Event.publish(EV.Event.PM_RAZORPAY_PAYMENT_METHOD_SELECTED,{paymentMethod:e})}),t.togglePaymentMethod=function(e){console.log("payment method updated: ",e),t.selectedPaymentMethod=e},a()},controller:["$scope",function(i){function r(e){var n={key:EV.PM.razorpayKey,name:EV.PM.razorpayMerchantDisplayName,handler:a,theme:{color:"#3399cc"},modal:{ondismiss:function(){console.log("Modal closed"),i.errorCb&&i.errorCb("payment")}}};i.hideUpiQr&&(n.config={display:{hide:[{method:"upi",flows:["main_qr"]}]}}),n=Object.assign(n,e.data);var r=new Razorpay(n);r.on("payment.failed",function(e){console.error(e.error),EV.Event.publish(EV.Event.PM_ERROR,e.error),t.handleError(i.errorWidgetGuid,e.error),i.processingRazorpayCheckout=!1,i.errorCb&&i.errorCb("payment")}),r.open()}function a(n){var r={razorpay_payment_id:n.razorpay_payment_id,razorpay_order_id:n.razorpay_order_id,razorpay_signature:n.razorpay_signature};e.completeSubscription(i.order.id,r).then(function(e){EV.Event.publish(EV.Event.PM_PAYMENT_SUCCESS,e),i.success=!0,i.successCb&&i.successCb()})["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.errorCb&&i.errorCb("payment")})["finally"](function(){return i.processingRazorpayCheckout=!1})}i.order=null,EV.Event.on("pm.adapterTogglePaymentMethods",function(e){var t=e[0].paymentPlan;null!=t&&(0===t.frequency.numberOfDays||"INR"!==t.currency.id?(i.showPaymentMethods=!1,i.selectedPaymentMethod="card"):(i.showPaymentMethods=!0,i.selectedPaymentMethod=i.preferredRecurringMethodInr))}),EV.Event.on(EV.Event.PM_CREATE_ORDER_SUCCESS,function(e){i.order=e}),EV.Event.on(EV.Event.PM_CREATED_ORDER,function(e){i.order=e}),EV.Event.on(EV.Event.PM_REDIRECT_TO_PAYMENT,function(e){e&&"RAZORPAY"===e.providerName&&EV.Event.publish(EV.Event.PM_REDIRECT_TO_RAZORPAY_PAYMENT,e)}
52),EV.Event.publish(EV.Event.PM_REGISTER_PROVIDER_WIDGET,{paymentType:"PAYMENT_GATEWAY",selector:"ev-razorpay"}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PAYMENT,function(t,n){var r=e.getBasket();r&&r.paymentType&&"PAYMENT_GATEWAY"===r.paymentType&&i.createRazorpayPurchase(n.successCb,n.errorCb)}),i.$on(n.INTERNAL.PM_CHECKOUT.SUBMIT_PROFILE,function(e,n){t.removeError(i.errorWidgetGuid)}),i.createRazorpayPurchase=function(n,a){if(t.removeError(i.errorWidgetGuid),!e.isCheckoutButtonLoaded()||n){if(!i.order){var o=EV.util.error("order_not_created","An order hasn't been created.",400);return EV.Event.publish(EV.Event.PM_ERROR,o),void(a&&a("checkout"))}i.successCb=n,i.errorCb=a,i.processingRazorpayCheckout=!0;var s={};"card"!==i.selectedPaymentMethod&&(s.paymentMethod=i.selectedPaymentMethod),e.createSubscription(i.order.id,s).then(r)["catch"](function(e){console.error(e),EV.Event.publish(EV.Event.PM_ERROR,e),t.handleError(i.errorWidgetGuid,e),i.processingRazorpayCheckout=!1,a&&a("checkout")})["finally"](function(){i.processingRazorpayCheckout=!1})}}}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.pm.togglePlan",[]);e.directive("evTogglePlan",["$timeout","pm2Util","EVExceptionHandler",function(e,t,n){return{restrict:"E",scope:{},templateUrl:"pm-v2/ev-toggle-plan.tpl.html",link:function(n,i,r,a){function o(){for(var e=0;e<n.selectedProduct.linkedPlanMapping.length;e++)if(n.selectedProduct.linkedPlanMapping[e].paymentPlanName===n.selectedPlan.name||n.selectedProduct.linkedPlanMapping[e].linkedPlanName===n.selectedPlan.name){n.plan={id:n.selectedProduct.linkedPlanMapping[e].paymentPlanId,title:n.selectedProduct.linkedPlanMapping[e].paymentPlanName},n.linkedPlan={id:n.selectedProduct.linkedPlanMapping[e].linkedPlanId,title:n.selectedProduct.linkedPlanMapping[e].linkedPlanName};break}for(var t=0;t<n.selectedProduct.paymentPlans.length;t++)n.plan.id===n.selectedProduct.paymentPlans[t].id&&(n.plan.description=n.selectedProduct.paymentPlans[t].description),n.linkedPlan.id===n.selectedProduct.paymentPlans[t].id&&(n.linkedPlan.description=n.selectedProduct.paymentPlans[t].description)}function s(){for(var e=0;e<n.selectedProduct.linkedPlanMapping.length;e++){if(n.selectedProduct.linkedPlanMapping[e].paymentPlanName===n.selectedPlan.name){l("togglePlanRadioFirst"),n.selectedPlanNumber=0;break}if(n.selectedProduct.linkedPlanMapping[e].linkedPlanName===n.selectedPlan.name){l("togglePlanRadioSecond"),n.selectedPlanNumber=1;break}}}function l(e){document.getElementById(e).checked=!0}function c(){return"ev-widget.pm.togglePlan-"+EV.util.random_guid()}n.widgetGuid=r.id||c(),n.errorWidgetGuid="error-"+n.widgetGuid,n.widgetTitle=r.title||"Switch Plan",i.attr("title",""),n.showHeader="false"!==r.showHeader,n.showErrorMsgs="false"!==r.showErrorMsgs,n.loggedIn=EV.util.Storage.cookie.get("ev_ss"),n.titlePlanOne=r.plansInfo?JSON.parse(r.plansInfo.replace(/'/g,'"')):null,n.template=r.template?r.template:"horizontal",n.hideRadioBtn="true"===r.hideRadioBtn,n.showConfirmBtn="true"===r.showConfirmBtn,n.selectionType=r.selectionType||"radio",n.selectedProduct=null,n.selectedPlan=null,n.plan={},n.linkedPlan={},n.toggleSelectedProductsAndPlans=null,EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(e){console.log("[togglePlan] loaded productList",e)}),EV.Event.on(EV.Event.PM_PRODUCTS_SELECTED,function(e){e&&e.length>0?(n.selectedProduct=e[0],n.selectedPlan=n.selectedProduct.paymentPlan,s(),o()):n.selectedProduct=null}),EV.Event.on(EV.Event.PM_TOGGLE_PLAN_PRODUCT_SELECTED,function(e){n.toggleSelectedProductsAndPlans=e,e&&e.length>0?(n.selectedProduct=e[0],n.selectedPlan=n.selectedProduct.paymentPlan,s(),o()):n.selectedProduct=null}),EV.Event.on(EV.Event.PM_PRODUCTS_LOADED,function(e){var n=0,i=10,r=function(){var e=t.getBasket();if(e&&e.products){var r="#payment-plan-"+e.products[0].name+"-"+e.products[0].paymentPlan.name,o=document.querySelector(r);o?(o.click(),clearInterval(a)):n>=i&&clearInterval(a)}n++},a=setInterval(r,100)}),EV.Event.on(EV.Event.PM_TOGGLE_PLAN_CHANGE,function(e){var n=t.getBasket();if(n&&n.products){var i=n.products[0].name,r=n.products[0].paymentPlan.name,a=n.products[0].linkedPlanMapping,o=null;if(!a)return;a.forEach(function(e){r===e.linkedPlanName?o=e.paymentPlanName:r===e.paymentPlanName&&(o=e.linkedPlanName)}),window.EV.PM.linkedPlanName=o,EV.Event.publish(EV.Event.PM_SELECT_PAYMENT_PLAN,{linkedPlanName:o,productName:i})}}),EV.Event.on(EV.Event.PM_ERROR,function(e){e&&e.code&&"NO_PRODUCT_SELECTED"===e.code&&(n.selectedProduct=null)}),EV.Event.on(EV.Event.PM_PRODUCT_ACTION,function(e){e&&!e.selected&&(n.selectedProduct=null)}),n.disableSwitchPlan=function(e){var t=document.getElementById("evSwitchPlan");t.disabled=e},e(function(){EV.Event.publish("ev-toggle-plan_widget_loaded")},0)},controller:["$scope","$timeout",function(e,t){e.switchPlan=function(t,n){if(e.selectedPlanNumber!==t&&e.selectedProduct)for(var i=0;i<e.selectedProduct.linkedPlanMapping.length;i++)if(e.selectedProduct.linkedPlanMapping[i].paymentPlanName===e.selectedPlan.name||e.selectedProduct.linkedPlanMapping[i].linkedPlanName===e.selectedPlan.name){if(1===t){EV.Event.publish(EV.Event.PM_SELECT_PAYMENT_PLAN,{paymentPlanName:e.selectedProduct.linkedPlanMapping[i].linkedPlanName,productName:e.selectedProduct.name}),console.log("ivan switchplan",e.selectedProduct.linkedPlanMapping[i].linkedPlanName,e.selectedProduct.name);break}if(0===t){EV.Event.publish(EV.Event.PM_SELECT_PAYMENT_PLAN,{paymentPlanName:e.selectedProduct.linkedPlanMapping[i].paymentPlanName,productName:e.selectedProduct.name}),console.log("ivan switchplan",e.selectedProduct.linkedPlanMapping[i].linkedPlanName,e.selectedProduct.name);break}}},e.confirmSelection=function(){EV.Event.publish(EV.Event.PM_PRODUCTS_SELECTED,e.toggleSelectedProductsAndPlans)}}]}}])}(),function(){"use strict";var e=angular.module("ev-widget.editSocialProfile",[]);e.directive("evEditSocialProfile",["EVENTS","$templateCache","$log","EVExceptionHandler","$translate",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@"},controller:"evEditSocialProfileCtrl",templateUrl:"account/social/ev-edit-social-profile.tpl.html",link:function(t,n,a,o){function s(e){e&&e.stopPropagation&&e.stopPropagation()}function l(){return"ev-widget.editSocialProfile-"+EV.util.random_guid()}t.widgetGuid=a.id||l(),t.isLoading=!1;var c="ev.widgets.social.editprofile.title";r(c).then(function(e){t.widgetTitle=e},function(e){t.widgetTitle=a.title||"Edit Profile"}),n.attr("title",""),t.showExistingAttrs=!(!EV.util.isEmpty(a.showExistingAttrs)&&"true"!==a.showExistingAttrs),t.showLabels="false"!==a.showLabels,t.showHeader="false"!==a.showHeader,t.showErrorMsgs="false"!==a.showErrorMsgs,t.showContainer="false"===a.showContainer?"":"widget-container",t.translationPrefix=a.overrideTranslationKey||"",t.showCancel="true"===a.showCancel;var d="ev.widgets.social.editprofile.buttons.submit";r(d).then(function(e){t.submitbtnCaption=e},function(e){t.submitbtnCaption=a.submitbtnCaption||"Update"});var u="ev.widgets.social.editprofile.buttons.cancel";r(u).then(function(e){t.cancelbtnCaption=e},function(e){t.cancelbtnCaption=a.cancelbtnCaption||"Cancel"});var p=EV.settings.getEVService();if(EV.util.isEmpty(p)){var g=EV.util.error("EVWidgetException","Default service name is not defined in ev-core library init setup.");return void i.handleError(t.widgetGuid,g,!1)}var f=EV.util.getEVSession();return EV.util.isEmpty(f)?(g=EV.util.error("EVWidgetException","User is not LoggedIn"),void i.handleError(t.widgetGuid,g,!1)):(t.loadTemplate=function(){if(EV.util.isEmpty(t.authSchemeName)){var e=EV.util.error("EVWidgetException","Authentication Scheme should not be empty!");return void i.handleError(t.widgetGuid,e,!1)}var n="/ui/template/social/link/"+t.authSchemeName;EV.Core.get(n).then(function(e){EV.Core.getUserProfile(f.guid,p).then(function(n){t.profileLoaded(n.response.userProfile);var i=angular.copy(e.response);angular.forEach(t.profile.attributes,function(n){angular.forEach(e.response.identifiers,function(e,r){t.showExistingAttrs?e.name===n.name&&(i.identifiers[r].value=n.value):i.identifiers[r].value={}}),angular.forEach(e.response.validators,function(e,t){e.name===n.name&&(angular.isUndefined(n.value)?i.validators[t].value={}
52:i.validators.splice(t,1))}),t.isLoading=!1}),t.$apply(function(){t.editSocialProfileTemplate=i,t.isLoading=!1})})},function(e){t.$apply(function(){t.isLoading=!1,i.handleError(t.widgetGuid,e)})})},t.loadTemplate(),EV.Event.on(EV.Event.SESSION_REFRESH,function(e){var n=EV.util.getEVSession();EV.util.isEmpty(n)||t.$apply(function(){t.authSchemeName&&(t.isLoading=!1,i.removeError(t.widgetGuid),t.loadTemplate())})}),void t.$on(e.INTERNAL.SOCIAL_ACCOUNT_UNLINK.AUTH_SCHEME_FAILED,function(e,n){i.removeError(t.widgetGuid);var r=angular.isDefined(n)&&n.error.hasOwnProperty("authenticationScheme")?n.error.authenticationScheme.name:null;r&&(t.authSchemeName=r,t.loadTemplate()),s(e)}))}}}]),e.controller("evEditSocialProfileCtrl",["EVENTS","WidgetUtil","$scope","$log","EVExceptionHandler",function(e,t,n,i,r){n.profile=EV.util.getUserProfile()||null,n.profileLoaded=function(e){e&&(n.profile=e)},n.submitBtnAction=function(e){if(i.info("Edit Social Profile (Submit Action)"),!n.evEditSocialProfileForm.attributes)return void i.error("Form Identifiers and Validators values should not be empty!");var a=EV.util.getEVSession();if(EV.util.isEmpty(a))return EV.util.assert(a,"User session should not be empty!"),void r.handleError(n.widgetGuid,"User session should not be empty!");var o=[];angular.forEach(n.evEditSocialProfileForm.attributes,function(e,t){var n="",i={name:t};if(EV.Widgets&&EV.Widgets.Display[t]&&e instanceof Object){var r=EV.Widgets.Display[t].values;angular.forEach(r,function(t){e[t.value]&&(n+=n.length>0?","+t.value:t.value)}),i.value=n}else i.value=e;o.push(i)});var s=EV.settings.getEVService();a&&s&&EV.Core.updateUserProfile(a.guid,s,o).then(function(e){var t={widget_guid:n.widgetGuid,statusCode:e.statusCode,message:"userProfileUpdateSuccess",response:e.response};r.handleErrorWithCancelBtn(n.widgetGuid,t),EV.Event.publish(EV.Event.SOCIAL_UNLINK_ACCOUNT_SUCCESS,t),n.$apply()},function(e){t.showErrorMessageAndPublishEvent(n,EV.Event.SOCIAL_UNLINK_ACCOUNT_FAILED,e,!0)})},n.cancelBtnAction=function(t){n.$broadcast(e.INTERNAL.FORM.RESET,n.evEditSocialProfileForm),r.removeError(n.widgetGuid),EV.Event.publish(EV.Event.SOCIAL_UNLINK_ACCOUNT_CANCELLED,n.evEditSocialProfileForm)}}])}(),function(){"use strict";var e=angular.module("ev-widget.social.buttons",[]);e.directive("evSocialBtns",["$templateCache","$log","WidgetUtil","$translate","$window","$timeout",function(e,t,n,i,r,a){return{restrict:"E",scope:{networks:"=",serviceName:"@",autoRegister:"@",autoPopulate:"@",networkAction:"@",extendPermissions:"@",networkBtnStyle:"@",networkDesc:"@"},controller:"EVSocialBtnsCtrl",controllerAs:"ctrl",templateUrl:"account/social/ev-social-btns.tpl.html",link:function(e,t,o,s){function l(){a(function(){Array.isArray(e._renderedNetworks)&&e._renderedNetworks.length>0?(e.networks=e._renderedNetworks,a(function(){e.$emit("ev-social-btns-"+e.networkAction+":ready")},0),EV.Event.publish("ev.user.identifier.reset.socials")):e.networks=[]},0)}function c(){var e=sessionStorage.getItem("evolok:hide_ic_login"),t=sessionStorage.getItem("evolok:hide_social");(e||t)&&(sessionStorage.removeItem("evolok:hide_ic_login"),sessionStorage.removeItem("evolok:hide_social"),sessionStorage.removeItem("evolok:social_to_link"))}function d(){return null!=e.networks&&e.networks.includes("google")}function u(){for(var e=document.getElementsByTagName("script"),t=0;t<e.length;t++)if("https://accounts.google.com/gsi/client"===e[t].src)return!0;return!1}function p(){var t=document.createElement("script");t.src="https://accounts.google.com/gsi/client",t.onload=function(){EV.Event.publish("google.sign.in.loaded",e.networkAction)},t.defer=!0,document.body.appendChild(t)}function g(){if(window.google){if(window.evData&&!window.evData.googleSignInLibLoading){var t={client_id:EV.Social.getSocialKey("google"),callback:m};if(null!==e.googleGenericConf)for(var n in e.googleGenericConf)t[n]=e.googleGenericConf[n];google.accounts.id.initialize(t),e.showGoogleOneTap&&google.accounts.id.prompt()}var i="googleSignIn-btn-"+e.networkAction,r={type:"standard",size:"large",theme:"outline",text:"login"===e.networkAction?"sign_in_with":"sign_up_with",shape:"rectangular",logo_alignment:"left",click_listener:f};if(null!==e.googleBtnConf){for(var a in e.googleBtnConf)r[a]=e.googleBtnConf[a];r.click_listener=f}google.accounts.id.renderButton(document.getElementById(i),r)}}function f(t){window.evData.googleSignInAction=e.networkAction}function m(e){console.log("Google Sign In Response",e),e.network="google","user"===e.select_by&&(window.evData.googleSignInAction="login"),h(window.evData.googleSignInAction,e)}function h(t,n){var i=EV.settings.socialServiceName||e.serviceName||EV.settings.serviceName;n.client_id||(n.client_id=EV.Social.getSocialKey("google")),n.clientId||(n.clientId=EV.Social.getSocialKey("google")),EV.Social.login("google",{scope:e.extendPermissions||""},EV.settings.getEVRealm(),i,e.autoRegister,e.autoPopulate,n).then(function(e){var n="login"===t.toLocaleLowerCase()?"Social login success":"Social registration success";console.info(n,e),v(t,e)},function(e){e&&e.error&&e.error.code&&"SOCIAL_EMAIL_ADDRESS_IN_USE"===e.error.code&&(t="register");var i="login"===t.toLocaleLowerCase()?"Social login error":"Social registration error";console.error(i,e),e.error.googleResponseData=n,b(t,e)})}function v(t,i){var r=void 0,a=void 0,o=i.network;if(i.hasOwnProperty("error")||i.hasOwnProperty("code"))return r="login"===t.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED,n.showErrorMessageAndPublishEvent(e,r,i),a=EV.util.getSocialSessionForNetwork(o),void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a);var s=i,l={widget_guid:e.widgetGuid,ev_session:s,social_session:EV.util.getSocialSessionForNetwork(o)};sessionStorage.getItem("evolok:social_to_link")?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,angular.fromJson(sessionStorage.getItem("evolok:social_to_link"))):e.socialLoginAttempted&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{}),i.response.hasOwnProperty("socialAccountCreated")&&1==i.response.socialAccountCreated?(EV.Event.publish(EV.Event.SOCIAL_REGISTER_SUCCESS,l),e.isSsoFlow?EV.util.getAuthCode({client_id:e.clientId,return_url:e.returnUrl,scope:e.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,l)):e.isSsoFlow?EV.util.getAuthCode({client_id:e.clientId,return_url:e.returnUrl,scope:e.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,l),EV.util.Storage.session.get("social_to_link")&&EV.util.Storage.session.remove("social_to_link"),EV.Event.publish(EV.Event.SESSION_REFRESH,s.response),a=EV.util.getSocialSessionForNetwork(o),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a),swg_allow_redirection&&window.location.replace(swg_redirect_uri+"#access_token="+i.response.mainSession.sessionId+"&token_type=bearer&state="+swg_state)}function E(e){(e.error.code&&"ATTRIBUTE_REQUIRED"===e.error.code||"REQUIRED_ATTRIBUTE_MISSING"===e.error.code||"USER_NOT_REGISTERED"===e.error.code||"USER_PROFILE_NOT_FOUND"===e.error.code)&&(window.evData.googleSocialData=e.error.googleResponseData,EV.Event.publish("ev.open.modal.socialRegistration",e.error))}function b(t,i){if(EV.Event.on(EV.Event.SOCIAL_REGISTER_FAILED,E),EV.Event.on(EV.Event.SOCIAL_LOGIN_FAILED,E),i.error.code&&"SOCIAL_EMAIL_ADDRESS_IN_USE"===i.error.code){var r=[{name:i.error.args[0],value:i.error.args[1]}];if(i.error.args){var a=i.error.args[2].split(",");if(1===a.length&&""===a[0])a=[],EV.Event.publish("hide.social",{networks:a}),EV.util.Storage.session.set("hide_social",a),EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish(EV.Event.USER_IDENTIFIED,r);else{var o="true"===i.error.args[3];a=a.map(function(e){return e.toLowerCase()}),o?(EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish("user.identified.with.socials",{networks:a}),EV.Event.publish("hide.social",{networks:a,hideAllSocial:"false"}),EV.util.Storage.session.set("hide_social",{networks:a,hideAllSocial:"false"}),EV.Event.publish(EV.Event.USER_IDENTIFIED,r)):(a.length>1?EV.Event.publish(EV.Event.SOCIALS_LINK_AUTHENTICATION,a):EV.Event.publish(a[0]+".link.authentication"),EV.Event.publish("hide.ic.login",{networks:a}),EV.Event.publish("hide.social",{networks:a,hideAllSocial:"false"}),EV.util.Storage.session.set("hide_ic_login",{networks:a}),EV.util.Storage.session.set("hide_social",{networks:a,hideAllSocial:"false"}))}}EV.Event.publish("social.login.existing.email.attempted",{socialNetwork:i.network})}var s=EV.util.getSocialSessionForNetwork(i.network);EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,s);var l="login"===t.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED;
52i.error.network=i.network,n.showErrorMessageAndPublishEvent(e,l,i)}function y(e){var t=new URLSearchParams(r.location.search);return t.has(e)?t.get(e):null}e.widgetGuid=o.id||e.getWidgetId(),e.widgetTitle=o.title,t.attr("title",""),e.formStyle=o.formStyle||"form-horizontal",e.autoRegister=e.autoRegister||!0,e.autoPopulate="true"===e.autoPopulate,e.networkBtnStyle=e.networkBtnStyle||"text",e.showErrorMsgs="false"!==o.showErrorMsgs,e.showGoogleOneTap="true"===o.showGoogleOneTap,e.googleBtnConf=o.googleBtnConf?JSON.parse(o.googleBtnConf.replace(/'/g,'"')):null,e.googleGenericConf=o.googleGenericConf?JSON.parse(o.googleGenericConf.replace(/'/g,'"')):null,e.clientId=y("client_id"),e.returnUrl=y("return_url"),e.ssoScope=y("scope"),e.isSsoFlow=e.clientId&&e.returnUrl&&e.ssoScope,e.isSWGAutolikingDifPage="true"===y("evAutoLiking"),e.initialNetworks=o.networks,e._renderedNetworks=e.networks,e.isSWGAutolikingDifPage&&r.localStorage.getItem("evolok:swg-purchase-login-error")&&b("login",JSON.parse(r.localStorage.getItem("evolok:swg-purchase-login-error"))),c(),EV.Event.on(EV.Event.LOGIN_CANCELLED,function(){c(),l()});var w="ev.widgets.social.buttons."+("login"===e.networkAction?"login":"register")+".label";i(w).then(function(t){e.socialNetworkLabel=t},function(t){e.socialNetworkLabel="Sign "+("login"===e.networkAction?"in":"up")+" with "});var S="ev.widgets.social.buttons."+("login"===e.networkAction?"login":"register")+".description";if(i(S).then(function(t){e.networkDesc=t},function(t){e.networkDesc="Sign "+("login"===e.networkAction?"in":"up")+" with"}),!e.networkAction)throw e.isLoading=!1,new Error("Action should not be empty! Available options [Login or Register]");if(e.$on("ev-social-btns-"+e.networkAction+":ready",function(){e.networkAction&&window.evData&&(window.evData["SocialBtnsReady"+e.networkAction]=!0,window.evData.googleSignInLibLoading||g())}),EV.Event.on("google.sign.in.loaded",function(e){e&&window.evData&&(window.evData.googleSignInLibLoading=!1,window.evData["SocialBtnsReady"+e]&&g())}),t.ready(function(){e.$emit("ev-social-btns-"+e.networkAction+":ready"),d()&&(window.evData=window.evData||{},window.evData["SocialBtnsReady"+e.networkAction]=!0)}),d()){var C=u();if(C)return window.evData=window.evData||{},window.evData.googleSignInLibLoading=!1,void setTimeout(function(){g()},0);p(),window.evData=window.evData||{},window.evData.googleSignInLibLoading=!0}}}}]),e.controller("EVSocialBtnsCtrl",["SOCIAL_NETWORKS","$scope","$log","WidgetUtil","$location","$timeout","$window",function(e,t,n,i,r,a,o){function s(e){(e.error.code&&"ATTRIBUTE_REQUIRED"===e.error.code||"REQUIRED_ATTRIBUTE_MISSING"===e.error.code||"USER_NOT_REGISTERED"===e.error.code||"USER_PROFILE_NOT_FOUND"===e.error.code)&&(window.evData.googleSocialData=e.error.googleResponseData,EV.Event.publish("ev.open.modal.socialRegistration",e.error))}function l(e){return e.charAt(0).toUpperCase()+e.slice(1)}function c(e){if(EV.util.Storage.session.get("auto_link_apple_to_guid")){var t=EV.util.getEVSession();if(t&&window.EV.Social&&!e.error&&e.session){var n=JSON.parse(e.session);EV.Social.autoLinkAccount(t.guid,"apple",{apple_id:n.socialId,apple_email:n.socialEmail}).then(function(e){d(),EV.Event.publish(EV.Event.SOCIAL_LINKED_ACCOUNT_SUCCESS,e)},function(e){d(),EV.Event.publish(EV.Event.SOCIAL_LINKED_ACCOUNT_FAILED,e),console.error(e)})}EV.util.Storage.session.remove("auto_link_apple_to_guid"),d()}}function d(){EV.util.Storage.session.get("social_to_link")&&EV.util.Storage.session.remove("social_to_link"),EV.util.Storage.local.get("googleOneTapAttemptedFromURL")&&EV.util.Storage.local.remove("googleOneTapAttemptedFromURL"),EV.util.Storage.session.get("hide_social")&&EV.util.Storage.session.remove("hide_social"),EV.util.Storage.session.get("hide_ic_login")&&EV.util.Storage.session.remove("hide_ic_login"),EV.util.Storage.session.get("apple_login_attempted")&&EV.util.Storage.session.remove("apple_login_attempted"),EV.util.Storage.session.get("apple_logged_in")&&EV.util.Storage.session.remove("apple_logged_in")}function u(e){var t=e.split(".")[1],n=t.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(n).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}function p(e){if(e.args=e.args.replace(/[\[\]]/g,""),e.args=e.args.split(","),e.code&&"SOCIAL_EMAIL_ADDRESS_IN_USE"==e.code){var n=[{name:e.args[0],value:e.args[1].trim()}];if(e.args){for(var r=[],a=2;a<e.args.length-1;a++)r.push(e.args[a]);if(1===r.length&&""==r[0].trim())r=[],EV.Event.publish("hide.social",{networks:r}),EV.util.Storage.session.set("hide_social",{networks:r}),EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish(EV.Event.USER_IDENTIFIED,n);else{var o="true"===e.args[e.args.length-1].trim();r=r.map(function(e){return e.toLowerCase().trim()}),o?(EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish("user.identified.with.socials",{networks:r}),EV.Event.publish("hide.social",{networks:r,hideAllSocial:"false"}),EV.util.Storage.session.set("hide_social",{networks:r,hideAllSocial:"false"}),EV.Event.publish(EV.Event.USER_IDENTIFIED,n)):(r.length>1?EV.Event.publish(EV.Event.SOCIALS_LINK_AUTHENTICATION,r):EV.Event.publish(r[0]+".link.authentication"),EV.Event.publish("hide.ic.login",{networks:r}),EV.Event.publish("hide.social",{networks:r,hideAllSocial:"false"}),EV.util.Storage.session.set("hide_ic_login",{networks:r}),EV.util.Storage.session.set("hide_social",{networks:r,hideAllSocial:"false"}))}}EV.Event.publish("social.login.existing.email.attempted",{socialNetwork:"apple",socialId:e.socialId,accessToken:e.accessToken,email:n[0].value})}var s=EV.util.getSocialSessionForNetwork("apple");EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,s);var l="login"===t.networkAction.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED;e.network="apple",i.showErrorMessageAndPublishEvent(t,l,e)}function g(e){if(e.code&&"SOCIAL_EMAIL_ADDRESS_IN_USE"==e.code){e.args=e.args.replace(/[\[\]]/g,""),e.args=e.args.split(",");var n=[{name:e.args[0],value:e.args[1].trim()}],i=EV.util.getEVSession();if(i)EV.Social.autoLinkAccount(i.guid,"apple",{apple_id:e.socialId,apple_email:n[0].value}).then(function(e){var n=e,i=EV.util.getSocialSessionForNetwork("apple"),r={widget_guid:t.widgetGuid,ev_session:n,social_session:i};EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,i),EV.Event.publish(EV.Event.SOCIAL_LINKED_ACCOUNT_SUCCESS,r)},function(e){EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,e),console.error(e)});else{var r=!1;EV.Event.on(EV.Event.SESSION_REFRESH,function(i){r||(r=!0,EV.Social.autoLinkAccount(i.guid,"apple",{apple_id:e.socialId,apple_email:n[0].value}).then(function(e){var n=e,i=EV.util.getSocialSessionForNetwork("apple"),r={widget_guid:t.widgetGuid,ev_session:n,social_session:i};EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,i),EV.Event.publish(EV.Event.SOCIAL_LINKED_ACCOUNT_SUCCESS,r)},function(e){EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,e),console.error(e)}))})}}}function f(e){console.log("socialData",e),EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,e)}if(t.socialLoginAttempted=EV.util.Storage.session.get("apple_login_attempted")||!1,t.performAction=function(e){var a=r.search(),o=a.state,s=a.scope,l=a.client_id,c=a.redirect_uri,d=!1;if(o&&s&&l&&c&&(d=!0),angular.isUndefined(e))throw new Error("Social Network should not be empty!");var u=i.getSocialNetwork(e);if(angular.isUndefined(u))throw new Error("Social Network '"+e+"' is not supported!");if(window.EV.Social){var p=EV.settings.getEVRealm(),g=EV.settings.socialServiceName||t.serviceName||EV.settings.serviceName;EV.Social.login(u.value,{scope:t.extendPermissions||""},p,g,t.autoRegister,t.autoPopulate).then(function(e){t.successLoginHandler(t.networkAction,e)},function(e){t.failLoginHandler(t.networkAction,e)})}else n.warn("Social SDK settings are invalid!")},t.successLoginHandler=function(e,n){var r=void 0,a=void 0,o=n.network;if(n.hasOwnProperty("error")||n.hasOwnProperty("code"))return r="login"===e.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED,i.showErrorMessageAndPublishEvent(scope,r,n),a=EV.util.getSocialSessionForNetwork(o),void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a);var s=n,l={widget_guid:t.widgetGuid,ev_session:s,social_session:EV.util.getSocialSessionForNetwork(o)};t.$parent.$parent.googleOneTapAttempted&&""!==t.$parent.$parent.googleOneTapAttempted?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,angular.fromJson(t.$parent.$parent.googleOneTapAttempted).googleOneTap):t.$parent.$parent.googleOneTapAttemptedFromURL&&null!==t.$parent.$parent.googleOneTapAttemptedFromURL?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,t.$parent.$parent.googleOneTapAttemptedFromURL):sessionStorage.getItem("evolok:social_to_link")?EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,angular.fromJson(sessionStorage.getItem("evolok:social_to_link"))):t.socialLoginAttempted&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{}),n.response.hasOwnProperty("socialAccountCreated")&&1==n.response.socialAccountCreated?(EV.Event.publish(EV.Event.SOCIAL_REGISTER_SUCCESS,l),t.isSsoFlow?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,l)):t.isSsoFlow?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,l),EV.util.Storage.session.get("social_to_link")&&EV.util.Storage.session.remove("social_to_link"),EV.Event.publish(EV.Event.SESSION_REFRESH,s.response),a=EV.util.getSocialSessionForNetwork(o),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a),swg_allow_redirection&&window.location.replace(swg_redirect_uri+"#access_token="+n.response.mainSession.sessionId+"&token_type=bearer&state="+swg_state)},t.failLoginHandler=function(e,t){if(EV.Event.on(EV.Event.SOCIAL_REGISTER_FAILED,s),EV.Event.on(EV.Event.SOCIAL_LOGIN_FAILED,s),t.error.code&&"SOCIAL_EMAIL_ADDRESS_IN_USE"===t.error.code){var n=[{name:t.error.args[0],value:t.error.args[1]}];if(t.error.args){var r=t.error.args[2].split(",");if(1===r.length&&""===r[0])r=[],EV.Event.publish("hide.social",{networks:r}),EV.util.Storage.session.set("hide_social",{networks:r}),EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish(EV.Event.USER_IDENTIFIED,n);else{var a="true"===t.error.args[3];r=r.map(function(e){return e.toLowerCase()}),a?(EV.Event.publish(EV.Event.IDENTITY_LINK_AUTHENTICATION),EV.Event.publish("user.identified.with.socials",{networks:r}),EV.Event.publish("hide.social",{networks:r,hideAllSocial:"false"}),EV.util.Storage.session.set("hide_social",{networks:r,hideAllSocial:"false"}),EV.Event.publish(EV.Event.USER_IDENTIFIED,n)):(r.length>1?EV.Event.publish(EV.Event.SOCIALS_LINK_AUTHENTICATION,r):EV.Event.publish(r[0]+".link.authentication"),EV.Event.publish("hide.ic.login",{networks:r}),EV.Event.publish("hide.social",{networks:r,hideAllSocial:"false"}),EV.util.Storage.session.set("hide_ic_login",{networks:r}),EV.util.Storage.session.set("hide_social",{networks:r,hideAllSocial:"false"}))}}EV.Event.publish("social.login.existing.email.attempted",{socialNetwork:t.network})}var o=EV.util.getSocialSessionForNetwork(t.network);EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,o);var l="login"===e.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED;t.error.network=t.network,i.showErrorMessageAndPublishEvent(scope,l,t)},t.isSocialNetworkSupported=function(e){if(!e)return!1;var t=EV.settings.isSocialServicesValid(e);return t},t.socialNetworkLabel="",t.getSocialNetworkDisplayName=function(e){if(!e)return"";var n="Unsupported social network: ["+e+"]",r=("login"===t.networkAction.toLowerCase()?"in":"up",i.getSocialNetwork(e));return r&&(n=l(r.caption)),n},EV.Event.on("hide.ic.login",function(e){a(function(){t.networks=e.networks})}),EV.Event.on("hide.social",function(e){a(function(){e&&e.googleOneTap||(t.networks=e.networks)})}),EV.Event.on("social.login.existing.email.attempted",function(e){t.socialLoginAttempted=!0,e&&e.socialNetwork&&"apple"===e.socialNetwork&&EV.util.Storage.session.set("apple_login_attempted",!0)}),t.getSocialIconName=function(e){return i.getSocialIconName(e)},t.getWidgetId=function(){return"ev-widget.social-btns-"+EV.util.random_guid()},o.localStorage.getItem("evolok:swg-purchase-login-error")){if(o.appleSessionResponseWidget&&o.appleSessionResponseWidget.ev_session){var m=o.appleSessionResponseWidget.ev_session,h=m,v={widget_guid:t.widgetGuid,ev_session:h,social_session:EV.util.getSocialSessionForNetwork("apple") 53};return EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,v),void(EV.util.Storage.cookie.get("ev_ss")&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{network:"googleSWG"}))}return void(EV.util.Storage.cookie.get("ev_ss")&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{network:"googleSWG"}))}if(EV.util.Storage.local.get("evAppleUserJWTSocialBtns")&&(o.evAppleUserJWTSocialBtns=EV.util.Storage.local.get("evAppleUserJWTSocialBtns"),EV.util.Storage.local.remove("evAppleUserJWTSocialBtns")),o.evAppleUserJWTSocialBtns){var E=o.evAppleUserJWTSocialBtns;if(!E)return;var b,y=u(E);if(y.error&&!EV.util.Storage.cookie.get("ev_ss")){if(y.error=JSON.parse(y.error),"SOCIAL_EMAIL_ADDRESS_IN_USE"!==y.error.code)return void t.$on("ev-social-btns:ready",function(){d(),b="login"===t.networkAction.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED,y.error.args=["apple"],i.showErrorMessageAndPublishEvent(t,b,y)});p(y.error)}else if(y.error&&EV.util.Storage.cookie.get("ev_ss")){if(y.error=JSON.parse(y.error),"SOCIAL_EMAIL_ADDRESS_IN_USE"!==y.error.code)return void t.$on("ev-social-btns:ready",function(){d(),y.error.args=["apple"],EV.Event.publish(EV.Event.AUTO_SOCIAL_LINK_FAILED,y.error)});g(y.error)}else if(!y.error&&EV.util.Storage.session.get("apple_logged_in")&&o.appleSessionResponseWidget){var w,m=o.appleSessionResponseWidget.ev_session;if(m.hasOwnProperty("error")||m.hasOwnProperty("code"))return b="login"===t.networkAction.toLocaleLowerCase()?EV.Event.SOCIAL_LOGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED,i.showErrorMessageAndPublishEvent(t,b,m),w=EV.util.getSocialSessionForNetwork("apple"),void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,w);EV.util.Storage.session.get("social_to_link")?f(EV.util.Storage.session.get("social_to_link")):EV.util.Storage.local.get("googleOneTapAttemptedFromURL")?f(EV.util.Storage.local.get("googleOneTapAttemptedFromURL")):(EV.util.Storage.session.get("google_one_tap_attempted")||sessionStorage.getItem("google_one_tap_attempted"))&&f(EV.util.Storage.session.get("google_one_tap_attempted")||JSON.parse(sessionStorage.getItem("google_one_tap_attempted")).googleOneTap);var h=m,v={widget_guid:t.widgetGuid,ev_session:h,social_session:EV.util.getSocialSessionForNetwork("apple")};!EV.util.Storage.session.get("social_to_link")&&t.socialLoginAttempted&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{}),m.hasOwnProperty("socialAccountCreated")&&m.socialAccountCreated===!0?(EV.Event.publish(EV.Event.SOCIAL_REGISTER_SUCCESS,v),t.isSsoFlow?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,v)):(b=m.hasOwnProperty("socialAccountCreated")&&m.socialAccountCreated===!0?EV.Event.SOCIAL_REGISTER_SUCCESS:EV.Event.SOCIAL_LOGIN_SUCCESS,t.isSsoFlow&&b===EV.Event.SOCIAL_LOGIN_SUCCESS?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):EV.Event.publish(b,v)),EV.Event.publish(EV.Event.SESSION_REFRESH,h),w=EV.util.getSocialSessionForNetwork("apple"),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,w),o.appleSessionResponseWidget=null}else y.error||(EV.util.getEVSession()?c(y):EV.Event.on("ev_session_retrieved",function(){c(y)}));setTimeout(function(){o.evAppleUserJWTSocialBtns=null},0)}EV.Event.on("apple.logged.in",function(){if(EV.util.Storage.session.get("apple_logged_in")){var e=o.evAppleUserJWTSocialBtns;if(o.evAppleUserJWTSocialBtns=null,!e)return;var n,r=u(e);if(!r.error&&EV.util.Storage.session.get("apple_logged_in")&&o.appleSessionResponseWidget){var a,s=o.appleSessionResponseWidget.ev_session;if(s.hasOwnProperty("error")||s.hasOwnProperty("code"))return n="login"===t.networkAction.toLocaleLowerCase()?EV.Event.SOCIAL_L
53OGIN_FAILED:EV.Event.SOCIAL_REGISTER_FAILED,i.showErrorMessageAndPublishEvent(t,n,s),a=EV.util.getSocialSessionForNetwork("apple"),void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a);EV.util.Storage.session.get("social_to_link")?f(EV.util.Storage.session.get("social_to_link")):EV.util.Storage.local.get("googleOneTapAttemptedFromURL")?f(EV.util.Storage.local.get("googleOneTapAttemptedFromURL")):(EV.util.Storage.session.get("google_one_tap_attempted")||sessionStorage.getItem("google_one_tap_attempted"))&&f(EV.util.Storage.session.get("google_one_tap_attempted")||JSON.parse(sessionStorage.getItem("google_one_tap_attempted")).googleOneTap);var l=s,c={widget_guid:t.widgetGuid,ev_session:l,social_session:EV.util.getSocialSessionForNetwork("apple")};!EV.util.Storage.session.get("social_to_link")&&t.socialLoginAttempted&&EV.Event.publish(EV.Event.AUTO_LINK_SOCIAL_ACCOUNT,{}),s.hasOwnProperty("socialAccountCreated")&&s.socialAccountCreated===!0?(EV.Event.publish(EV.Event.SOCIAL_REGISTER_SUCCESS,c),t.isSsoFlow?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):EV.Event.publish(EV.Event.SOCIAL_LOGIN_SUCCESS,c)):(n=s.hasOwnProperty("socialAccountCreated")&&s.socialAccountCreated===!0?EV.Event.SOCIAL_REGISTER_SUCCESS:EV.Event.SOCIAL_LOGIN_SUCCESS,t.isSsoFlow&&n===EV.Event.SOCIAL_LOGIN_SUCCESS?EV.util.getAuthCode({client_id:t.clientId,return_url:t.returnUrl,scope:t.ssoScope}):EV.Event.publish(n,c)),EV.Event.publish(EV.Event.SESSION_REFRESH,l),a=EV.util.getSocialSessionForNetwork("apple"),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,a),o.appleSessionResponseWidget=null}}}),setTimeout(function(){o.evAppleUserJWTSocialBtns&&(o.evAppleUserJWTSocialBtns=null)},5e3),angular.element(o).on("beforeunload",function(){EV.util.Storage.session.get("apple_login_attempted")&&EV.util.Storage.session.remove("apple_login_attempted")})}])}(),function(){"use strict";var e=angular.module("ev-widget.social.linkAccounts",[]);e.directive("evSocialLinkAccounts",["SOCIAL_NETWORKS","$templateCache","$log","WidgetUtil","EVExceptionHandler","$translate",function(e,t,n,i,r,a){return{restrict:"E",scope:{serviceName:"@",extendPermissions:"@",selectedNetworks:"@"},controller:"EVSocialLinkAccountsCtrl",templateUrl:"account/social/ev-social-link-accounts.tpl.html",link:function(e,t,n,i){function o(){return"ev-widget.social-link-accounts-"+e.widgetId}e.widgetId=EV.util.random_guid(),e.widgetGuid=n.id||o(),e.showNetworkNameBtn="true"===n.showNetworkNameBtn;var s="ev.widgets.social.linkaccounts.title";a(s).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=n.title||"Social Networks (Link Account)"}),t.attr("title",""),e.getSocialNetworkDisplayName=function(t){if(e.showNetworkNameBtn)return t.charAt(0).toUpperCase()+t.slice(1)},e.showLabels="false"!==n.showLabels,e.showHeader="false"!==n.showHeader,e.showErrorMsgs="false"!==n.showErrorMsgs,e.showContainer="false"===n.showContainer?"":"widget-container",e.showCancel="true"===n.showCancel;var l=EV.util.getEVSession();if(EV.util.isEmpty(l)){e.isLoading=!1;var c=EV.util.error("EVWidgetException","Not logged-in!");return void r.handleError(e.widgetGuid,c,!1)}e.loadTemplate(l),t.ready(function(){e.$emit("ev-social-link-accounts:ready")})}}}]),e.controller("EVSocialLinkAccountsCtrl",["EVENTS","SOCIAL_NETWORKS","WidgetUtil","$scope","EVExceptionHandler","$window",function(e,t,n,i,r,a){i.filteredSocialNetworks=[];var o=i.selectedNetworks;if(EV.Event.on(EV.Event.SESSION_REFRESH,function(e){var t=EV.util.getEVSession();EV.util.isEmpty(t)||(i.isLoading=!1,r.removeError(i.widgetGuid),i.loadTemplate(t))}),i.loadTemplate=function(e){e&&EV.Social.getLinkedSocialProfiles(e.guid
53).then(function(e){i.isLoading=!1,console.log("Linked social profiles = ",e),i.linkedSocialNetworks=e.response,i.filteredSocialNetworks=[];var n=o.toUpperCase();if(o=n,angular.forEach(t,function(e,t){var n=t.toUpperCase();i.linkedSocialNetworks.hasOwnProperty(n)||o.indexOf(n)>-1&&i.filteredSocialNetworks.push(e)}),EV.util.isEmpty(i.filteredSocialNetworks)){i.isLoading=!1;var a=EV.util.error("all_social_networks_linked","All social networks are connected!");return void r.handleError(i.widgetGuid,a,!1)}i.$apply()},function(e){i.$apply(function(){i.isLoading=!1,n.showErrorMessageAndPublishEvent(i,EV.Event.SOCIAL_LINKED_ACCOUNT_FAILED,e)})})},i.linkAccountAction=function(e){if(angular.isUndefined(e))throw new Error("Select Social Network should not be empty!");e="googleplus"===e?"google":e;var t=EV.util.getEVSession();if(t&&window.EV.Social){if("apple"===e)return EV.util.Storage.session.set("auto_link_apple_to_guid",!0),void EV.Social.linkAccountWithGuid(t.guid,e,i.extendPermissions);EV.Social.linkAccountWithGuid(t.guid,e,i.extendPermissions).then(function(t){var r;if(t.hasOwnProperty("error")||t.hasOwnProperty("code"))return n.showErrorMessageAndPublishEvent(i,EV.Event.SOCIAL_LINKED_ACCOUNT_FAILED,t),r=EV.util.getSocialSessionForNetwork(e),void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,r);r=EV.util.getSocialSessionForNetwork(e);var a=t,o={widget_guid:i.widgetGuid,ev_session:a,social_session:r};EV.Event.publish(EV.Event.SESSION_REFRESH,a),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,r),EV.Event.publish(EV.Event.SOCIAL_LINKED_ACCOUNT_SUCCESS,o)},function(e){n.showErrorMessageAndPublishEvent(i,EV.Event.SOCIAL_LINKED_ACCOUNT_FAILED,e,!0)})}},i.getSocialIconName=function(e){return n.getSocialIconName(e)},a.evAppleUserJWTSocialLink){var s=a.evAppleUserJWTSocialLink;if(a.evAppleUserJWTSocialLink=null,!s)return}}])}(),function(){"use strict";var e=angular.module("ev-widget.social.link",[]);e.directive("evSocialLink",["$templateCache","$log","WidgetUtil","$translate","$timeout",function(e,t,n,i,r){return{restrict:"E",scope:{authSchemeName:"@",serviceName:"@",onForgotPassword:"@"},controller:"EVSocialLinkCtrl",templateUrl:"account/social/ev-social-link.tpl.html",link:function(e,t,n,a){function o(){return"ev-widget.social-link-"+e.widgetId}e.widgetId=EV.util.random_guid(),e.widgetGuid=n.id||o(),e.showForgotPassword="true"===n.showForgotPassword;var s="ev.widgets.social.link.title";i(s).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=n.title||"Link an Account"}),t.attr("title","");var l="ev.widgets.social.link.description";i(l).then(function(t){e.widgetDescription=t},function(t){e.widgetDescription=n.description||"Already have an account? Login and link the existing account with your social account."}),e.showLabels="false"!==n.showLabels,e.showHeader="false"!==n.showHeader,e.showErrorMsgs="false"!==n.showErrorMsgs,e.showContainer="false"===n.showContainer?"":"widget-container",e.translationPrefix=n.translationKey?n.translationKey:"",e.showCancel="true"===n.showCancel,e.nonEditable=n.nonEditable,e.registerEmbedded="true"===n.registerEmbedded;var c="ev.widgets.social.link.buttons.submit";i(c).then(function(t){e.submitBtnCaption=t},function(t){e.submitBtnCaption=n.submitbtnCaption||"Link Account"});var d="ev.widgets.social.link.anchors.submit";i(d).then(function(t){e.submitAnchorCaption=t},function(t){e.submitAnchorCaption=n.submitAnchorCaption});var u="ev.widgets.social.link.buttons.cancel";i(u).then(function(t){e.cancelBtnCaption=t},function(t){e.cancelBtnCaption=n.cancelBtnCaption||"Cancel"});var p="ev.widgets.social.registration.anchors.cancel";i(p).then(function(t){e.cancelAnchorCaption=t},function(t){e.cancelAnchorCaption=n.cancelAnchorCaption||"I already have a account"});var g="ev.widgets.social.link.forgotpassword.title";i(g).then(function(t){e.showForgotPasswordTitle=t},function(t){e.showForgotPasswordTitle=n.showForgotPasswordTitle||"Forgot Password"}),e.forgotPasswordAlignment=n.alignForgotPasswordHref||"left";var f="ev.widgets.social.link.forgotpassword.submit";i(f).then(function(t){e.forgotPasswordSubmitBtnCaption=t},function(t){e.forgotPasswordSubmitBtnCaption=n.forgotPasswordSubmitBtnCaption||"Reset Password"});var m="ev.widgets.social.link.forgotpassword.cancel";if(i(m).then(function(t){e.forgotPasswordCancelBtnCaption=t},function(t){e.forgotPasswordCancelBtnCaption=n.forgotPasswordCancelBtnCaption||"Cancel"}),e.flippedFrontStyle="flip flip-front",e.flippedBackStyle="flip flip-back",!e.authSchemeName)throw e.isLoading=!1,new Error("Auth Scheme name should not be empty!");EV.Event.on("ev.widget.socialLink.loaded",function(){r(function(){EV.Event.publish("socialLink.widgetLoaded")},0)})}}}]),e.controller("EVSocialLinkCtrl",["EVENTS","$scope","$log","$timeout",function(e,t,n,i){function r(e){e&&e.stopPropagation&&e.stopPropagation()}t.$on(e.INTERNAL.FORGOT_PASSWORD.FLIP_CANCEL,function(e,n){e&&t.showForgotPassword&&(t.flippedFrontStyle="flip flip-front",t.flippedBackStyle="flip flip-back",r(e))}),t.submitBtnAction=function(i){n.info("Social Link (Submit Action)"),t.$broadcast(e.INTERNAL.SUBMIT)},t.cancelBtnAction=function(i){n.info("Social Link (Cancel Action)"),t.registerEmbedded?t.$emit(e.INTERNAL.SOCIAL_ACCOUNT_LINK.FLIP_CANCEL):t.$broadcast(e.INTERNAL.CANCEL)},t.navBarCloseAction=function(n){t.$broadcast(e.INTERNAL.CANCEL)},t.forgotPasswordAction=function(e){if(EV.util.isEmpty(t.onForgotPassword))n.info("Perform the default action !!"),t.flippedFrontStyle="flip-flipped flip-front",t.flippedBackStyle="flip-flipped flip-back";else{t.onForgotPassword=t.onForgotPassword.replace("()","");var i={widget_guid:t.widgetGuid,data:null};t.handleJSEvents(e,t.onForgotPassword,i)}r(event)}}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";var e=angular.module("ev-widget.social.registration",[]);e.directive("evSocialRegistration",["$templateCache","$log","WidgetUtil","$translate","$timeout",function(e,t,n,i,r){return{restrict:"E",scope:{serviceName:"@",authSchemeName:"@"},controller:"EVSocialRegistrationCtrl",templateUrl:"account/social/ev-social-registration.tpl.html",link:function(e,t,n,r){function a(){return"ev-widget.social-registration-"+e.widgetId}e.widgetId=EV.util.random_guid(),e.widgetGuid=n.id||a(),e.showSocialLink="true"===n.showSocialLink;var o="ev.widgets.social.registration.title";i(o).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=n.title||"Create an Account"}),t.attr("title","");var s="ev.widgets.social.registration.description";i(s).then(function(t){e.widgetDescription=t},function(t){e.widgetDescription=n.description||"We haven't found your account connected with social network. Why not create one?"}),e.showLabels="false"!==n.showLabels,e.showHeader="false"!==n.showHeader,e.showErrorMsgs="false"!==n.showErrorMsgs,e.showContainer="false"===n.showContainer?"":"widget-container",e.translationPrefix=n.translationKey?n.translationKey:"",e.showCancel="true"===n.showCancel,e.hiddenAttributes=n.hiddenAttributes,e.nonEditable=n.nonEditable,e.uncheckedCheckboxReturnFalse="true"===n.uncheckedCheckboxReturnFalse;var l="ev.widgets.social.registration.buttons.submit";i(l).then(function(t){e.submitBtnCaption=t},function(t){e.submitBtnCaption=n.submitbtnCaption||"Create Account"});var c="ev.widgets.social.registration.anchors.submit";i(c).then(function(t){e.submitAnchorCaption=t},function(t){e.submitAnchorCaption=n.submitAnchorCaption});var d="ev.widgets.social.registration.buttons.cancel";i(d).then(function(t){e.cancelBtnCaption=t},function(t){e.cancelBtnCaption=n.cancelBtnCaption||"Cancel"});var u="ev.widgets.social.registration.anchors.cancel";if(i(u).then(function(t){e.cancelAnchorCaption=t},function(t){e.cancelAnchorCaption=n.cancelAnchorCaption||"I already have a account"}),e.showSocialLink&&(e.socialLinkTitle=n.socialLinkTitle,e.socialLinkSubmitBtnCaption=n.socialLinkSubmitBtnCaption||"Link Account",e.socialLinkSubmitAnchorCaption=n.socialLinkSubmitAnchorCaption,e.socialLinkCancelBtnCaption=n.socialLinkCancelBtnCaption,e.socialLinkCancelAnchorCaption=n.socialLinkCancelAnchorCaption||"Create New account"),e.flippedFrontStyle="flip flip-front",e.flippedBackStyle="flip flip-back hide",!e.serviceName)throw e.isLoading=!1,new Error("Service name should not be empty!")}}}]),e.controller("EVSocialRegistrationCtrl",["EVENTS","$scope","$log","$q","$translate","EVExceptionHandler",function(e,t,n,i,r,a){function o(e){e&&e.stopPropagation&&e.stopPropagation()}t.$on(e.INTERNAL.SOCIAL_ACCOUNT_LINK.FLIP_CANCEL,function(e,n){e&&t.showSocialLink&&(t.flippedFrontStyle="flip flip-front",t.flippedBackStyle="flip flip-back",o(e))}),t.$on("socialRegistrationTemplate",function(e,n){t.registrationTemplate=n}),t.submitBtnAction=function(s,l){n.info("Social Registration (Submit Action)");var c=[];if(angular.forEach(t.registrationTemplate.attributes,function(e,t){var n={name:e.name,label:e.label};c.push(n)}),!l.$valid){for(var d=Object.keys(l),u=[],p=0;p<d.length;++p)l[d[p]]&&"object"===K(l[d[p]])&&l[d[p]].hasOwnProperty("$viewValue")&&(l[d[p]].$valid||angular.forEach(c,function(e,t){d[p]===e.name&&u.push(e.label)}));u.forEach(function(e,n){if(EV.WM.useWmTranslations&&EV.WM.loadedTable){var i=Object.getOwnPropertyNames(EV.WM.loadedTable),r=e.replace(/_+(.)/g,function(e,t){return t.toUpperCase()}
53),a=i.find(function(t){return"ev.widgets.attr."+r+".label"===t||"ev.widgets.attr."+e+".label"===t});a&&(u[n]=EV.WM.loadedTable[a])}else{var o=t.evEditProfileForm.$template.attributes.find(function(t){return e===t.name});o&&(u[n]=o.label)}}),EV.Event.publish(e.INTERNAL.FORM.INVALID,u);var g="",f=[],m=[];return angular.forEach(u,function(e,t){var n=i.defer();f.push(n.promise);var a="ev.widgets.errors."+e.toLowerCase().replace(" ","_");r(a).then(function(e){""!==e&&m.push({withTranslate:e}),n.resolve()},function(t){n.resolve(),m.push({withoutTranslate:e})})}),void i.all(f).then(function(){var e=[];if(angular.forEach(m,function(t,n){t.hasOwnProperty("withTranslate")?g+=t.withTranslate+"<br>":e.push(t.withoutTranslate)}),e.length>1)var n="ev.widgets.errors.general_attributes",i=e.join(", ");else 1==e.length&&(n="ev.widgets.errors.general_attribute",i=e);var o=EV.util.promise();if(e.length>0)r(n).then(function(e){var t=new RegExp("\\{0\\}","gi");return o.fulfill(e.replace(t,i)),o});else{var s="";o.fulfill(s)}o.then(function(e){""!==g&&""!==e&&(g+="<br>"),g+=e,a.handleError(t.widgetGuid,EV.util.error("EvolokException",g))})})}t.$broadcast(e.INTERNAL.SUBMIT),o(s)},t.cancelBtnAction=function(i,r){n.info("Social Registration (Cancel Action)");var a="hello";EV.util.Storage.local.remove(a,{namespace:""}),t.showSocialLink?(t.flippedFrontStyle="flip-flipped flip-front",t.flippedBackStyle="flip-flipped flip-back",EV.Event.publish(EV.Event.SOCIAL_REGISTER_CANCELLED)):t.$broadcast(e.INTERNAL.CANCEL),o(i)},t.cancelAnchorAction=function(e,i){n.info("Social Registration (I have an account)"),t.flippedFrontStyle="flip-flipped flip-front",t.flippedBackStyle="flip-flipped flip-back",EV.Event.publish(EV.Event.SOCIAL_REGISTER_CANCELLED),o(e)},t.navBarCloseAction=function(n){t.$broadcast(e.INTERNAL.CANCEL)}}])}(),function(){"use strict";var e=angular.module("ev-widget.social.unlinkAccounts",[]);e.directive("evSocialUnlinkAccounts",["$templateCache","$log","WidgetUtil","EVExceptionHandler","$translate",function(e,t,n,i,r){return{restrict:"E",scope:{serviceName:"@",onSocialUnlinkFailed:"@"},controller:"EVSocialUnlinkAccountsCtrl",templateUrl:"account/social/ev-social-unlink-accounts.tpl.html",link:function(e,t,a,o){function s(){return"ev-widget.social-unlink-accounts-"+e.widgetId}e.widgetId=EV.util.random_guid(),e.widgetGuid=a.id||s(),e.showNetworkNameBtn="true"===a.showNetworkNameBtn;var l="ev.widgets.social.unlinkaccounts.title";r(l).then(function(t){e.widgetTitle=t},function(t){e.widgetTitle=a.title||"Social Networks (Unlink Account)"}),t.attr("title",""),e.showLabels="false"!==a.showLabels,e.showHeader="false"!==a.showHeader,e.showErrorMsgs="false"!==a.showErrorMsgs,e.showContainer="false"===a.showContainer?"":"widget-container",e.translationPrefix=a.translationKey?a.translationKey:"",e.showCancel="true"===a.showCancel,e.selectedNetworkState="none",e.loadTemplate=function(){var t=EV.util.getEVSession();if(EV.util.isEmpty(t)){e.isLoading=!1;var r=EV.util.error("EVWidgetException","Not logged-in!");return void i.handleError(e.widgetGuid,r,!1)}EV.Social.getLinkedSocialProfiles(t.guid).then(function(t){if(e.isLoading=!1,console.log("Linked social profiles = "+t),e.linkedSocialNetworks=t.response,EV.util.isEmpty(e.linkedSocialNetworks)){e.isLoading=!1;var n=EV.util.error("no_social_network_linked","No social network is linked!");return void i.handleError(e.widgetGuid,n,!1)}e.$apply()},function(t){e.$apply(function(){e.isLoading=!1,n.showErrorMessageAndPublishEvent(e,EV.Event.SOCIAL_LINK_ACCOUNTS_FAILED,t,!1)})})},e.loadTemplate()}}}]),e.controller("EVSocialUnlinkAccountsCtrl",["EVENTS","WidgetUtil","EVExceptionHandler","$scope","$log","$timeout",function(e,t,n,i,r,a){function o(e){e&&e.stopPropagation&&e.stopPropagation()}i.linkedSocialNetworks=[],EV.Event.on(EV.Event.SESSION_REFRESH,function(e,t){var r=EV.util.getEVSession();EV.util.isEmpty(r)||(i.isLoading=!1,n.removeError(i.widgetGuid),i.loadTemplate(r)),o(e)})}]),e.directive("evSocialUnlinkCardView",["EVENTS","$rootScope","$templateCache","$log","WidgetUtil","EVExceptionHandler","$translate",function(e,t,n,i,r,a,o){return{restrict:"E",scope:{network:"@",serviceName:"@",onSocialUnlinkFailed:"@"},templateUrl:"account/social/ev-social-cardView.tpl.html",link:function(n,i,o,s){function l(i,r){var o=r;o.widget_guid=n.widgetGuid,403===r.statusCode&&r.error.hasOwnProperty("authenticationScheme")&&r.error.hasOwnProperty("authenticationScheme")&&(r.error.code="unlink_user_social_network",n.failedResponse=o,t.$broadcast(e.INTERNAL.SOCIAL_ACCOUNT_UNLINK.AUTH_SCHEME_FAILED,o)),a.handleErrorWithCancelBtn(n.widgetGuid,o),EV.Event.publish(EV.Event.SOCIAL_UNLINK_ACCOUNT_FAILED,o)}function c(){return"ev-widget.social-card-view-"+n.network}if(angular.isUndefined(n.network))throw new Error("Social Network should not be empty!");n.widgetGuid=c(),n.showNetworkNameBtn="true"===o.showNetworkNameBtn,n.getSocialNetworkDisplayName=function(e){if(n.showNetworkNameBtn)return e.charAt(0).toUpperCase()+e.slice(1)},n.showLabels="false"!==o.showLabels,n.showHeader="false"!==o.showHeader,n.showErrorMsgs="false"!==o.showErrorMsgs,n.showContainer="false"===o.showContainer?"":"widget-container",n.translationPrefix=o.translationKey?o.translationKey:"",n.flippedFrontStyle="flip flip-front",n.flippedBackStyle="flip flip-back",n.failedResponse={};var d=EV.util.getEVSession();if(EV.util.isEmpty(d)){n.isLoading=!1;var u=EV.util.error("EVWidgetException","Not logged-in!");return void a.handleError(n.widgetGuid,u,!1)}n.onSocialUnlinkFailedAction=function(e){EV.util.isEmpty(n.onSocialUnlinkFailed)||EV.Event.handleJSEvents(n.onSocialUnlinkFailed,n.failedResponse,e)},n.unlinkAccountAction=function(){if(angular.isUndefined(n.network))throw new Error("Select Social Network should not be empty!");var e=EV.util.getEVSession();e&&window.EV.Social&&EV.Social.unlinkAccountWithGuid(e.guid,n.network,n.serviceName).then(function(e){if(e.hasOwnProperty("error")||e.hasOwnProperty("code")){l(n.network,e);var t=EV.util.getSocialSessionForNetwork(n.network);return void EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,t)}var i=e,r={widget_guid:n.widgetGuid,ev_session:i,social_session:EV.util.getSocialSessionForNetwork(n.network)};EV.Event.publish(EV.Event.SESSION_REFRESH,i),t=EV.util.getSocialSessionForNetwork(network),EV.Event.publish(EV.Event.SOCIAL_SESSION_REFRESH,t),EV.Event.publish(EV.Event.SOCIAL_UNLINK_ACCOUNT_SUCCESS,r)},function(e){n.isLoading=!1,l(n.network,e)})},n.getSocialIconName=function(){return r.getSocialIconName(n.network)}}}}])}();var K="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){"use strict";function e(e){window.EV.WM.referenceDataMap={},e.forEach(function(e){window.EV.WM.referenceDataMap[e.dataName]=e})}function t(e){window.EV.WM.referenceDataAttributeMap={}
53,e.forEach(function(e){e.attributes.forEach(function(e){window.EV.WM.referenceDataAttributeMap[e]=[]})}),e.forEach(function(e){e.attributes.forEach(function(t){window.EV.WM.referenceDataAttributeMap[t].push(e)})})}window.EV=window.EV||{},window.EV.Widgets=window.EV.Widgets||{},EV.Widgets.asyncInit=function(){return new Promise(function(e,t){return void 0!==EV.Widgets.asyncMode&&EV.Widgets.asyncMode===!0?n().then(function(){return e()}):t("Async mode has not been activated.")})};var n=function(){return new Promise(function(n){if(window.EV){if(EV.WM.useWmTranslations){var i=EV.WM.brand,r=EV.WM.language,a=EV.WM.wmDomain,o=a+"?brand="+i+"&language="+r;fetch(o,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/xml"}}).then(function(e){return e.json()}).then(function(e){window.EV.WM.loadedTable=e,window.EV.initializeIcUtils.init(),angular.bootstrap(document,[EV.settings.icAppName]),window.EV.Widgets.initedWidgets=null,n()})["catch"](function(e){console.log(e),window.EV.initializeIcUtils.init(),angular.bootstrap(document,[EV.settings.icAppName]),n()})}else window.EV.initializeIcUtils.init(),angular.bootstrap(document,[EV.settings.icAppName]),n();if(EV.WM.useWmReferenceData){console.log("Fetch ReferenceData starts:::");var s=EV.WM.brand,l=EV.WM.language,c=EV.WM.wmDomain,d=c+"/referenceData?brand="+s+"&language="+l;fetch(d,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/xml"}}).then(function(e){return e.json()}).then(function(i){console.log("initing reference Data",i),window.EV.WM.referenceData=i,e(i),t(i),console.log("Finished initing reference Data...:::"),setTimeout(function(){console.log("publishing ev.finished.initing.reference.data:::"),EV.Event.publish("ev.finished.initing.reference.data",i)},0),window.EV.ReferenceDataBuffer=i,n()})["catch"](function(e){console.log(e),n()})}}})};angular.element(document).ready(function(){void 0!==EV.Widgets.asyncMode&&EV.Widgets.asyncMode!==!1||(delete EV.Widgets.asyncInit,n())})}()}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.