"use strict";const smPushApplicationServerPublicKey="BLXch0tcjz6EBhMqfJM8aMCUm7EKpx9e2vh5HOh3oiQxDx5cZ0pjkDxydV1f_s4qT8vdHbmnSWvWTRDfrp3jEcQ=",smPushSiteId="v9e1jyvez8",smClientId="4og36z8g3w",serviceWorker="/service-worker.js";let smPushDomain="push.secureanalytic.com",pushLogging=!0;const version=820;let smPushSubscriptionId,subscriptionDomain="subscription.secureanalytic.com",eventDomain="event.secureanalytic.com",sessionId="";const utmObj={mt:"",utm_source:"",utm_medium:"",utm_campaign:"",source_one:"",source_two:"",source_three:"",source_four:"",source_five:"",first_name:"",last_name:"",email:"",email_md5:"",zip_code:"",gender:"",age:"",phone:""},taboolaUrl="https://api.taboola.com/2.0/json/smpush-general/user.sync?app.type=web&app.apikey=dd83e155339c3c4626a1a3e8465b50db3024b412";function urlBase64ToUint8Array(e){e=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/");const r=window.atob(e),t=new Uint8Array(r.length);for(let e=0;e<r.length;++e)t[e]=r.charCodeAt(e);return t}function pullUrlParams(e){var r=getUrlVars();e.timezone=(new Intl.DateTimeFormat).resolvedOptions().timeZone,e.mediaId=setIfNull(utmObj.mt,r.mt),e.utmSource=setIfNull(utmObj.utm_source,r.utm_source),e.utmMedium=setIfNull(utmObj.utm_medium,r.utm_medium),e.utmMedium=setIfNull(e.utmMedium,r.source_one),e.utmCampaign=setIfNull(utmObj.utm_campaign,r.utm_campaign),e.sourceOne=setIfNull(utmObj.source_one,r.source_one),e.sourceTwo=setIfNull(utmObj.source_two,r.source_two),e.sourceThree=setIfNull(utmObj.source_three,r.source_three),e.sourceFour=setIfNull(utmObj.source_four,r.source_four),e.sourceFive=setIfNull(utmObj.source_five,r.source_five),e.sourceOne=setIfNull(e.sourceOne,r.s1),e.sourceTwo=setIfNull(e.sourceTwo,r.s2),e.sourceThree=setIfNull(e.sourceThree,r.s3),e.sourceFour=setIfNull(e.sourceFour,r.s4),e.sourceFour=setIfNull(e.sourceFour,r.keywords),e.sourceFour=setIfNull(e.sourceFour,r.keyword),e.sourceFour=setIfNull(e.sourceFour,r.ky),e.sourceFive=setIfNull(e.sourceFive,r.s5),e.email=setIfNull(utmObj.email,r.email),e.firstName=setIfNull(utmObj.first_name,r.first_name),e.firstName=setIfNull(e.firstName,r.fname),e.lastName=setIfNull(utmObj.last_name,r.last_name),e.lastName=setIfNull(e.lastName,r.lname),e.gender=setIfNull(utmObj.gender,r.gender),e.age=setIfNull(utmObj.age,r.age),e.zip=setIfNull(utmObj.zip_code,r.zip_code),e.offerId=r.offer_id,e.sessionId=setIfNull(setIfNull(getSessionId(),r.session_id),""),e.version=version,e.psid=r.psid,e.oai=r.oai,e.fullUrl=encodeURI(window.location.href),e.phone=setIfNull(utmObj.phone,r.phone),e.phone=setIfNull(e.phone,r.phone_number)}function push_subscribe(){navigator.serviceWorker.ready.then(function(r){return r.pushManager.getSubscription().then(async function(e){if(!e&&"denied"!==Notification.permission){e=urlBase64ToUint8Array(smPushApplicationServerPublicKey);return logPushEvent("subscribe_prompt","subscribe_prompt",version),r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:e})}"denied"===Notification.permission&&logPushEvent("denied_impression","denied_impression",version)}).catch(function(e){console.error("Service Worker Error",e),"Registration failed - permission denied"===e.message?"default"===Notification.permission?logPushEvent("closed_prompt",e.toString(),version):logPushEvent("blocked",e.toString(),version):logPushEvent("other_error",e.toString(),version)})}).then(function(e){if(e){var r=e.toJSON(),e="https://"+subscriptionDomain+"/register/push/"+smPushSiteId;pullUrlParams(r);let t={name:"pushUtm"};t.value={utmSource:r.utmSource,utmMedium:r.utmMedium,utmCampaign:r.utmCampaign,email:r.email,firstName:r.firstName,lastName:r.lastName,zip:r.zipCode,age:r.age,gender:r.gender},fetch(e,{method:"post",headers:{"Content-type":"application/json"},body:JSON.stringify(r)}).then(function(e){if(e.ok)return e.json()}).then(function(e){console.log("subscribed!"),smPushSubscriptionId=e.id,getStore(function(e){let r={name:"pushSubscriptionId"};r.value=smPushSubscriptionId,smPushSubscriptionId&&e.put(r),t&&e.put(t),fetch(taboolaUrl).then(e=>e.json()).then(r=>{r.user&&r.user.id?getStore(e=>e.put({name:"userId",value:{taboola:r.user.id}})):logPushEvent("taboola_request_error","No user id",version)}).catch(e=>{console.log("taboolaUrl fetch error",e),logPushEvent("taboola_request_error",e,version)})})}).catch(function(e){console.error("Service Worker Error",e),pushLogging&&logPushEvent("error_subscribing",e,version)})}})}function push_subscribe_promise(){return navigator.serviceWorker.ready.then(function(r){return r.pushManager.getSubscription().then(function(e){if(!e){e=urlBase64ToUint8Array(smPushApplicationServerPublicKey);return r.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:e})}}).catch(function(e){console.error("Service Worker Error",e),pushLogging&&"Registration failed - permission denied"===e.message?logPushEvent("blocked",e.toString(),version):logPushEvent("other_error",e.toString(),version)})}).then(function(e){if(e){e=e.toJSON();return pullUrlParams(e),e}}).then(e=>{var r="https://"+subscriptionDomain+"/register/push/"+smPushSiteId;return fetch(r,{method:"post",headers:{"Content-type":"application/json"},body:JSON.stringify(e)})}).then(function(e){if(e.ok)return e.json()}).then(function(e){console.log("subscribed!"),smPushSubscriptionId=e.id;let t={name:"pushUtm"};t.value={utmSource:e.utmSource,utmMedium:e.utmMedium,utmCampaign:e.utmCampaign},getStore(function(e){let r={name:"pushSubscriptionId"};r.value=smPushSubscriptionId,smPushSubscriptionId&&e.put(r),t&&e.put(t)})}).catch(function(e){console.error("Service Worker Error",e),pushLogging&&logPushEvent("error_subscribing",e,version)})}function setIfNull(e,r){return null==e||""===e?r:e}function logPushEvent(e,r,t){var o=JSON.stringify(r);"{}"!==o&&(r=o);let s={};pullUrlParams(s),s.message=r,s.version=t,s.event="p_"+e;e="https://"+eventDomain+"/register/event_log/"+smPushSiteId;fetch(e,{method:"post",headers:{"Content-type":"application/json"},body:JSON.stringify(s)}).catch(function(e){console.error("Log Error, error ",e)})}function push_unsubscribe(){navigator.serviceWorker.ready.then(function(e){return e.pushManager.getSubscription()}).then(function(e){console.log("Unsubscribed",e.endpoint);var r="https://"+subscriptionDomain+"/register/unsubscribe/"+smPushSiteId;return fetch(r,{method:"post",headers:{"Content-type":"application/json"},body:JSON.stringify(e)})})}function push_init(){"serviceWorker"in navigator&&"PushManager"in window?(pushLogging&&console.log("Service Worker and Push is supported"),navigator.serviceWorker.register(serviceWorker).then(function(e){pushLogging&&console.log("Service Worker is registered",e)}).catch(function(e){console.error("Service Worker Error",e),pushLogging&&"https:"===location.protocol&&logPushEvent("sw_register_error",location.href+" error:"+e,version)})):(console.warn("Push messaging is not supported"),logPushEvent("not_supported","not_supported",version))}function setSessionId(e){"serviceWorker"in navigator&&"PushManager"in window&&(sessionId=e)}function setUtm(e){"serviceWorker"in navigator&&"PushManager"in window&&null!=e&&Object.assign(utmObj,e)}function getSessionId(){return sessionId}function getUrlVars(){let o={};window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(e,r,t){o[r]=t});return o}function getDomainName(e){return e.substring(e.lastIndexOf(".",e.lastIndexOf(".")-1)+1)}function getStore(n){if(self.indexedDB){let s=self.indexedDB.open("pushPlatFormDb",2);s.onerror=function(e){console.log("error db"+s.error),n(null)},s.onsuccess=function(e){let r=s.result,t=r.transaction(["store"],"readwrite");var o=t.objectStore("store");n(o)},s.onupgradeneeded=function(e){console.log("upgrading db from version "+e.oldVersion+" to 2");let r=s.result;e.oldVersion<2&&r.createObjectStore("store",{keyPath:"name"})}}else n(null)}function setAttributes(o){"serviceWorker"in navigator&&"PushManager"in window&&"object"==typeof o&&null!==o&&getStore(function(e){var t;null!=e&&(e.get("pushSubscriptionId").onsuccess=function(e){if(e.target.result)try{t=e.target.result.value,o.push_subscription_id=t;var r="https://"+subscriptionDomain+"/ads-api/attributes";fetch(r,{method:"POST",body:JSON.stringify({data:o}),headers:{"Content-type":"application/json"}})}catch(e){}})})}