@sesamy/sesamy-js 1.32.2 → 1.32.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sesamy-js.cjs
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var __webpack_require__={d:($e,De)=>{for(var Be in De)__webpack_require__.o(De,Be)&&!__webpack_require__.o($e,Be)&&Object.defineProperty($e,Be,{enumerable:!0,get:De[Be]})},o:($e,De)=>Object.prototype.hasOwnProperty.call($e,De)},__webpack_exports__={};__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__,k:()=>detectIncognito});var __awaiter=function($e,De,Be,Fe){return new(Be||(Be=Promise))(function(He,Ke){function Ge(Xe){try{Ze(Fe.next(Xe))}catch(Je){Ke(Je)}}function We(Xe){try{Ze(Fe.throw(Xe))}catch(Je){Ke(Je)}}function Ze(Xe){var Je;Xe.done?He(Xe.value):(Je=Xe.value,Je instanceof Be?Je:new Be(function(Ye){Ye(Je)})).then(Ge,We)}Ze((Fe=Fe.apply($e,[])).next())})},__generator=function($e,De){var Be,Fe,He,Ke,Ge={label:0,sent:function(){if(1&He[0])throw He[1];return He[1]},trys:[],ops:[]};return Ke={next:We(0),throw:We(1),return:We(2)},typeof Symbol=="function"&&(Ke[Symbol.iterator]=function(){return this}),Ke;function We(Ze){return function(Xe){return function(Je){if(Be)throw new TypeError("Generator is already executing.");for(;Ke&&(Ke=0,Je[0]&&(Ge=0)),Ge;)try{if(Be=1,Fe&&(He=2&Je[0]?Fe.return:Je[0]?Fe.throw||((He=Fe.return)&&He.call(Fe),0):Fe.next)&&!(He=He.call(Fe,Je[1])).done)return He;switch(Fe=0,He&&(Je=[2&Je[0],He.value]),Je[0]){case 0:case 1:He=Je;break;case 4:return Ge.label++,{value:Je[1],done:!1};case 5:Ge.label++,Fe=Je[1],Je=[0];continue;case 7:Je=Ge.ops.pop(),Ge.trys.pop();continue;default:if(He=Ge.trys,!((He=He.length>0&&He[He.length-1])||Je[0]!==6&&Je[0]!==2)){Ge=0;continue}if(Je[0]===3&&(!He||Je[1]>He[0]&&Je[1]<He[3])){Ge.label=Je[1];break}if(Je[0]===6&&Ge.label<He[1]){Ge.label=He[1],He=Je;break}if(He&&Ge.label<He[2]){Ge.label=He[2],Ge.ops.push(Je);break}He[2]&&Ge.ops.pop(),Ge.trys.pop();continue}Je=De.call($e,Ge)}catch(Ye){Je=[6,Ye],Fe=0}finally{Be=He=0}if(5&Je[0])throw Je[1];return{value:Je[0]?Je[1]:void 0,done:!0}}([Ze,Xe])}}};function detectIncognito(){return __awaiter(this,void 0,Promise,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,new Promise(function(resolve,reject){var browserName="Unknown";function __callback($e){resolve({isPrivate:$e,browserName})}function identifyChromium(){var $e=navigator.userAgent;return $e.match(/Chrome/)?navigator.brave!==void 0?"Brave":$e.match(/Edg/)?"Edge":$e.match(/OPR/)?"Opera":"Chrome":"Chromium"}function assertEvalToString($e){return $e===eval.toString().length}function feid(){var toFixedEngineID=0;try{eval("(-1).toFixed(-1);")}catch($e){toFixedEngineID=$e.message.length}return toFixedEngineID}function isSafari(){return feid()===44}function isChrome(){return feid()===51}function isFirefox(){return feid()===25}function isMSIE(){return navigator.msSaveBlob!==void 0&&assertEvalToString(39)}function newSafariTest(){var $e=String(Math.random());try{window.indexedDB.open($e,1).onupgradeneeded=function(De){var Be,Fe,He=(Be=De.target)===null||Be===void 0?void 0:Be.result;try{He.createObjectStore("test",{autoIncrement:!0}).put(new Blob),__callback(!1)}catch(Ge){var Ke=Ge;return Ge instanceof Error&&(Ke=(Fe=Ge.message)!==null&&Fe!==void 0?Fe:Ge),typeof Ke!="string"?void __callback(!1):void __callback(Ke.includes("BlobURLs are not yet supported"))}finally{He.close(),window.indexedDB.deleteDatabase($e)}}}catch{__callback(!1)}}function oldSafariTest(){var $e=window.openDatabase,De=window.localStorage;try{$e(null,null,null,null)}catch{return void __callback(!0)}try{De.setItem("test","1"),De.removeItem("test")}catch{return void __callback(!0)}__callback(!1)}function safariPrivateTest(){navigator.maxTouchPoints!==void 0?newSafariTest():oldSafariTest()}function getQuotaLimit(){var $e=window;return $e.performance!==void 0&&$e.performance.memory!==void 0&&$e.performance.memory.jsHeapSizeLimit!==void 0?performance.memory.jsHeapSizeLimit:1073741824}function storageQuotaChromePrivateTest(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function($e,De){__callback(Math.round(De/1048576)<2*Math.round(getQuotaLimit()/1048576))},function($e){reject(new Error("detectIncognito somehow failed to query storage quota: "+$e.message))})}function oldChromePrivateTest(){(0,window.webkitRequestFileSystem)(0,1,function(){__callback(!1)},function(){__callback(!0)})}function chromePrivateTest(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?storageQuotaChromePrivateTest():oldChromePrivateTest()}function firefoxPrivateTest(){__callback(navigator.serviceWorker===void 0)}function msiePrivateTest(){__callback(window.indexedDB===void 0)}function main(){isSafari()?(browserName="Safari",safariPrivateTest()):isChrome()?(browserName=identifyChromium(),chromePrivateTest()):isFirefox()?(browserName="Firefox",firefoxPrivateTest()):isMSIE()?(browserName="Internet Explorer",msiePrivateTest()):reject(new Error("detectIncognito cannot determine the browser"))}main()})];case 1:return[2,_a.sent()]}})})}typeof window<"u"&&(window.detectIncognito=detectIncognito);const __WEBPACK_DEFAULT_EXPORT__=detectIncognito;__webpack_exports__.A;var __webpack_exports__detectIncognito=__webpack_exports__.k;async function isIncognito(){try{const{isPrivate:$e}=await __webpack_exports__detectIncognito();return $e}catch{return!1}}function isBrowser(){return typeof window<"u"}let auth0Client,organization,initialized=!1,loginInProgress=!1;isBrowser()&&window.addEventListener("pageshow",()=>{loginInProgress=!1});const ACCESS_TOKEN_KEY="sesamyAccessToken",REFRESH_TOKEN_KEY="sesamyRefreshToken";async function waitForInit(){return initialized?!0:new Promise(($e,De)=>{const Be=setTimeout(()=>{initialized?$e(!0):De(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Events.AUTH_INITIALIZED,()=>{clearTimeout(Be),$e(!0)})})}async function refreshLocalAccessToken($e){if(!$e)return null;const De=localStorage.getItem(REFRESH_TOKEN_KEY);if(!De)return log("No refresh token found in localstorage"),null;const Be=new URLSearchParams;Be.set("client_id",$e.iss),Be.set("refresh_token",De),Be.set("grant_type","refresh_token");const Fe=new URL($e.iss);Fe.pathname="/oauth/token",Fe.searchParams.set("user_id",$e.sub);try{const He=await fetch(Fe.href,{body:Be.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!He.ok)throw localStorage.removeItem(REFRESH_TOKEN_KEY),new Error("Renew token failed");const Ke=await He.json();return localStorage.setItem(REFRESH_TOKEN_KEY,Ke.refresh_token),localStorage.setItem(ACCESS_TOKEN_KEY,Ke.access_token),Ke.access_token}catch{logout()}}async function getLocalStorageAccessToken(){const $e=localStorage.getItem(ACCESS_TOKEN_KEY);if(!$e)return null;const De=getPayloadFromJwt($e);if(!De||!De.exp||De.exp<new Date().getTime()/1e3){const Be=await refreshLocalAccessToken(De);if(Be)return Be;localStorage.removeItem(ACCESS_TOKEN_KEY)}return $e}function getTopLevelDomain($e){try{const De=new URL($e).hostname,Be=De.split(".");return Be.length>1?Be.slice(-2).join("."):De}catch{return null}}async function init$3($e){if($e.enabled===!1)return;organization=$e.organization;const De={domain:getBaseUrl("token",$e.environment),clientId:$e.clientId,useCookiesForTransactions:!0};if(getTopLevelDomain(window.location.href)!==getTopLevelDomain(getBaseUrl("auth",$e.environment))&&(De.cacheLocation="localstorage",De.useRefreshTokens=!0),auth0Client=await oe$1(De),window.location.search.includes("code=")){log("Code found in URL, handling redirect");try{const Be=await auth0Client.handleRedirectCallback();log(`Login result: ${JSON.stringify(Be)}`);const Fe=await auth0Client.getUser();if(!Fe)throw log("No user found"),new Error("No user found");log(`User found ${JSON.stringify(Fe)}`),triggerEvent(Events.AUTHENTICATED,Fe);const He=new URL(location.href),Ke=He.searchParams;Ke.delete("code"),Ke.delete("state"),He.search=Ke.toString(),window.history.replaceState({},document.title,He.toString()),log("Rewrite url")}catch(Be){alert("There was an error logging in"),console.error(Be)}}initialized=!0,triggerEvent(Events.AUTH_INITIALIZED,{})}async function isAuthenticated(){return await waitForInit(),await getLocalStorageAccessToken()?!0:auth0Client?auth0Client.isAuthenticated():!1}async function getUser(){return await waitForInit(),await getLocalStorageAccessToken()?(log("Using local user"),{sub:"local",name:"Local User"}):auth0Client?auth0Client.getUser():null}async function loginWithRedirect($e){if(loginInProgress){log("Login already in progress");return}if(loginInProgress=!0,await waitForInit(),localStorage.removeItem(ACCESS_TOKEN_KEY),!auth0Client)throw new Error("Auth0 client not initialized");const De=($e==null?void 0:$e.authorizationParams)||{};return await isIncognito()&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("iPhone")&&sessionStorage.setItem(SESMAY_CONTENT_RELOAD_KEY,"true"),auth0Client.loginWithRedirect({...$e,authorizationParams:{organization,redirect_uri:window.location.href,ui_locales:getLanguage(),...De}})}async function getTokenSilently($e=!0,De=!1){if(await waitForInit(),!De){const Be=await getLocalStorageAccessToken();if(Be)return Be}try{return auth0Client?await auth0Client.getTokenSilently({cacheMode:De?"off":"on"}):null}catch(Be){if($e)throw Be;return null}}async function logout($e={}){if(await waitForInit(),localStorage.removeItem(ACCESS_TOKEN_KEY),triggerEvent(Events.LOGOUT,{}),!!auth0Client)return auth0Client.logout({...$e,logoutParams:{returnTo:window.location.href,...$e.logoutParams}})}function getPayloadFromJwt($e){const De=$e.split(".");if(De.length!==3)return null;const Fe=De[1].replace(/-/g,"+").replace(/_/g,"/"),He=decodeURIComponent(atob(Fe).split("").map(function(Ke){return"%"+("00"+Ke.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(He)}async function setToken($e){const De=getPayloadFromJwt($e);if(!De||!De.exp||De.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(ACCESS_TOKEN_KEY,$e),triggerEvent(Events.AUTHENTICATED,De)}const defaultSkip=($e,De)=>De.skipDedupe||De.method!=="GET",defaultKey=($e,De)=>De.method+"@"+$e,defaultResolver=$e=>$e.clone(),dedupe=({skip:$e=defaultSkip,key:De=defaultKey,resolver:Be=defaultResolver}={})=>{const Fe=new Map;return He=>(Ke,Ge)=>{if($e(Ke,Ge))return He(Ke,Ge);const We=De(Ke,Ge);if(!Fe.has(We))Fe.set(We,[]);else return new Promise((Ze,Xe)=>{Fe.get(We).push([Ze,Xe])});try{return He(Ke,Ge).then(Ze=>(Fe.get(We).forEach(([Xe])=>Xe(Be(Ze))),Fe.delete(We),Ze)).catch(Ze=>{throw Fe.get(We).forEach(([,Xe])=>Xe(Ze)),Fe.delete(We),Ze})}catch(Ze){return Fe.delete(We),Promise.reject(Ze)}}},defaultDelayRamp=($e,De)=>$e*De,defaultUntil=$e=>$e&&$e.ok,retry=({delayTimer:$e=500,delayRamp:De=defaultDelayRamp,maxAttempts:Be=10,until:Fe=defaultUntil,onRetry:He=null,retryOnNetworkError:Ke=!1,resolveWithLatestResponse:Ge=!1,skip:We}={})=>Ze=>(Xe,Je)=>{let Ye=0;if(We&&We(Xe,Je))return Ze(Xe,Je);const Qe=(et,tt)=>Promise.resolve(Fe(et,tt)).then(st=>st?et&&Ge?et:tt?Promise.reject(tt):et:(Ye++,!Be||Ye<=Be?new Promise(at=>{const ft=De($e,Ye);setTimeout(()=>{typeof He=="function"?Promise.resolve(He({response:et,error:tt,url:Xe,options:Je})).then((ut={})=>{var ot,rt;at(Ze((ot=ut&&ut.url)!==null&&ot!==void 0?ot:Xe,(rt=ut&&ut.options)!==null&&rt!==void 0?rt:Je))}):at(Ze(Xe,Je))},ft)}).then(Qe).catch(at=>{if(!Ke)throw at;return Qe(null,at)}):et&&Ge?et:Promise.reject(tt||new Error("Number of attempts exceeded."))));return Ze(Xe,Je).then(Qe).catch(et=>{if(!Ke)throw et;return Qe(null,et)})},JSON_MIME="application/json",CONTENT_TYPE_HEADER="Content-Type",FETCH_ERROR=Symbol(),CATCHER_FALLBACK=Symbol();function extractContentType($e={}){var De;return(De=Object.entries($e).find(([Be])=>Be.toLowerCase()===CONTENT_TYPE_HEADER.toLowerCase()))===null||De===void 0?void 0:De[1]}function isLikelyJsonMime($e){return/^application\/.*json.*/.test($e)}const mix=function($e,De,Be=!1){return Object.entries(De).reduce((Fe,[He,Ke])=>{const Ge=$e[He];return Array.isArray(Ge)&&Array.isArray(Ke)?Fe[He]=Be?[...Ge,...Ke]:Ke:typeof Ge=="object"&&typeof Ke=="object"?Fe[He]=mix(Ge,Ke,Be):Fe[He]=Ke,Fe},{...$e})},config={options:{},errorType:"text",polyfills:{},polyfill($e,De=!0,Be=!1,...Fe){const He=this.polyfills[$e]||(typeof self<"u"?self[$e]:null)||(typeof global<"u"?global[$e]:null);if(De&&!He)throw new Error($e+" is not defined");return Be&&He?new He(...Fe):He}};function setOptions($e,De=!1){config.options=De?$e:mix(config.options,$e)}function setPolyfills($e,De=!1){config.polyfills=De?$e:mix(config.polyfills,$e)}function setErrorType($e){config.errorType=$e}const middlewareHelper=$e=>De=>$e.reduceRight((Be,Fe)=>Fe(Be),De)||De;class WretchError extends Error{}const resolver=$e=>{const De=Object.create(null);$e=$e._addons.reduce((ot,rt)=>rt.beforeRequest&&rt.beforeRequest(ot,$e._options,De)||ot,$e);const{_url:Be,_options:Fe,_config:He,_catchers:Ke,_resolvers:Ge,_middlewares:We,_addons:Ze}=$e,Xe=new Map(Ke),Je=mix(He.options,Fe);let Ye=Be;const Qe=middlewareHelper(We)((ot,rt)=>(Ye=ot,He.polyfill("fetch")(ot,rt)))(Be,Je),et=new Error,tt=Qe.catch(ot=>{throw{[FETCH_ERROR]:ot}}).then(ot=>{var rt;if(!ot.ok){const lt=new WretchError;if(lt.cause=et,lt.stack=lt.stack+`
|
|
35
|
-
CAUSE: `+et.stack,lt.response=ot,lt.status=ot.status,lt.url=Ye,ot.type==="opaque")throw lt;const pt=He.errorType==="json"||((rt=ot.headers.get("Content-Type"))===null||rt===void 0?void 0:rt.split(";")[0])==="application/json";return(He.errorType?pt?ot.text():ot[He.errorType]():Promise.resolve(ot.body)).then(vt=>{throw lt.message=typeof vt=="string"?vt:ot.statusText,vt&&(pt&&typeof vt=="string"?(lt.text=vt,lt.json=JSON.parse(vt)):lt[He.errorType]=vt),lt})}return ot}),st=ot=>ot.catch(rt=>{const lt=Object.prototype.hasOwnProperty.call(rt,FETCH_ERROR),pt=lt?rt[FETCH_ERROR]:rt,$t=(pt==null?void 0:pt.status)&&Xe.get(pt.status)||Xe.get(pt==null?void 0:pt.name)||lt&&Xe.has(FETCH_ERROR)&&Xe.get(FETCH_ERROR);if($t)return $t(pt,$e);const vt=Xe.get(CATCHER_FALLBACK);if(vt)return vt(pt,$e);throw pt}),at=ot=>rt=>st(ot?tt.then(lt=>lt&<[ot]()).then(lt=>rt?rt(lt):lt):tt.then(lt=>rt?rt(lt):lt)),ft={_wretchReq:$e,_fetchReq:Qe,_sharedState:De,res:at(null),json:at("json"),blob:at("blob"),formData:at("formData"),arrayBuffer:at("arrayBuffer"),text:at("text"),error(ot,rt){return Xe.set(ot,rt),this},badRequest(ot){return this.error(400,ot)},unauthorized(ot){return this.error(401,ot)},forbidden(ot){return this.error(403,ot)},notFound(ot){return this.error(404,ot)},timeout(ot){return this.error(408,ot)},internalError(ot){return this.error(500,ot)},fetchError(ot){return this.error(FETCH_ERROR,ot)}},ut=Ze.reduce((ot,rt)=>({...ot,...typeof rt.resolver=="function"?rt.resolver(ot):rt.resolver}),ft);return Ge.reduce((ot,rt)=>rt(ot,$e),ut)},core={_url:"",_options:{},_config:config,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon($e){return{...this,_addons:[...this._addons,$e],...$e.wretch}},errorType($e){return{...this,_config:{...this._config,errorType:$e}}},polyfills($e,De=!1){return{...this,_config:{...this._config,polyfills:De?$e:mix(this._config.polyfills,$e)}}},url($e,De=!1){if(De)return{...this,_url:$e};const Be=this._url.split("?");return{...this,_url:Be.length>1?Be[0]+$e+"?"+Be[1]:this._url+$e}},options($e,De=!1){return{...this,_options:De?$e:mix(this._options,$e)}},headers($e){const De=$e?Array.isArray($e)?Object.fromEntries($e):"entries"in $e?Object.fromEntries($e.entries()):$e:{};return{...this,_options:mix(this._options,{headers:De})}},accept($e){return this.headers({Accept:$e})},content($e){return this.headers({[CONTENT_TYPE_HEADER]:$e})},auth($e){return this.headers({Authorization:$e})},catcher($e,De){const Be=new Map(this._catchers);return Be.set($e,De),{...this,_catchers:Be}},catcherFallback($e){return this.catcher(CATCHER_FALLBACK,$e)},resolve($e,De=!1){return{...this,_resolvers:De?[$e]:[...this._resolvers,$e]}},defer($e,De=!1){return{...this,_deferred:De?[$e]:[...this._deferred,$e]}},middlewares($e,De=!1){return{...this,_middlewares:De?$e:[...this._middlewares,...$e]}},fetch($e=this._options.method,De="",Be=null){let Fe=this.url(De).options({method:$e});const He=extractContentType(Fe._options.headers),Ke=this._config.polyfill("FormData",!1),Ge=typeof Be=="object"&&!(Ke&&Be instanceof Ke)&&(!Fe._options.headers||!He||isLikelyJsonMime(He));return Fe=Be?Ge?Fe.json(Be,He):Fe.body(Be):Fe,resolver(Fe._deferred.reduce((We,Ze)=>Ze(We,We._url,We._options),Fe))},get($e=""){return this.fetch("GET",$e)},delete($e=""){return this.fetch("DELETE",$e)},put($e,De=""){return this.fetch("PUT",De,$e)},post($e,De=""){return this.fetch("POST",De,$e)},patch($e,De=""){return this.fetch("PATCH",De,$e)},head($e=""){return this.fetch("HEAD",$e)},opts($e=""){return this.fetch("OPTIONS",$e)},body($e){return{...this,_options:{...this._options,body:$e}}},json($e,De){const Be=extractContentType(this._options.headers);return this.content(De||isLikelyJsonMime(Be)&&Be||JSON_MIME).body(JSON.stringify($e))}};function factory($e="",De={}){return{...core,_url:$e,_options:De}}factory.default=factory;factory.options=setOptions;factory.errorType=setErrorType;factory.polyfills=setPolyfills;factory.WretchError=WretchError;function clearCache(){return sessionStorage.removeItem(CACHE_TIMESTAMP_KEY),log("Cache cleared"),triggerEvent(Events.CLEAR_CACHE,{}),"Cache cleared"}function isValidHttpUrl($e){let De;try{De=new URL($e)}catch{return!1}return De.protocol==="http:"||De.protocol==="https:"}function decodeItemSrc($e,De){if(isValidHttpUrl($e))return{itemSrc:$e};const[Be,Fe,He]=$e.split(":");return{sku:`${Be}:${Fe}`,purchaseOption:De||He}}function removeTrailingSlash($e){return $e.endsWith("/")?$e.slice(0,-1):$e}function compareUrlWithoutHash($e,De){if(!isValidHttpUrl($e)||!isValidHttpUrl(De))return!1;const Be=new URL($e),Fe=new URL(De);return Be.origin===Fe.origin&&removeTrailingSlash(Be.pathname)===removeTrailingSlash(Fe.pathname)}function generateCheckoutLink($e,De,Be){const Fe=new URL(`${getBaseUrl("checkout3",$e.environment)}`);if(De.language&&Fe.searchParams.set("lang",De.language),De.sku)Fe.searchParams.set("sku",De.sku),De.purchaseOptionId&&Fe.searchParams.set("po-id",De.purchaseOptionId);else if(De.itemSrc){const{sku:We,purchaseOption:Ze,itemSrc:Xe}=decodeItemSrc(De.itemSrc,De.purchaseOptionId);Xe&&Fe.searchParams.set("url",Xe),We&&Fe.searchParams.set("sku",We),Ze&&Fe.searchParams.set("po-id",Ze)}De.email&&Fe.searchParams.set("email",De.email),De.business&&Fe.searchParams.set("business","true"),De.currency&&Fe.searchParams.set("currency",De.currency),De.price&&Fe.searchParams.set("price",De.price.toString()),De.discountCode&&Fe.searchParams.set("discount-code",De.discountCode),De.attributionItemSrc?Fe.searchParams.set("itemSrc",De.attributionItemSrc):Be.itemSrc&&Fe.searchParams.set("itemSrc",Be.itemSrc),De.attributionPublisherContentId?Fe.searchParams.set("publisherContentId",De.attributionPublisherContentId):Be.publisherContentId&&Fe.searchParams.set("publisherContentId",Be.publisherContentId),De.utmSource?Fe.searchParams.set("utm_source",De.utmSource):Be.utmSource&&Fe.searchParams.set("utm_source",Be.utmSource),De.utmMedium?Fe.searchParams.set("utm_medium",De.utmMedium):Be.utmMedium&&Fe.searchParams.set("utm_medium",Be.utmMedium),De.utmCampaign?Fe.searchParams.set("utm_campaign",De.utmCampaign):Be.utmCampaign&&Fe.searchParams.set("utm_campaign",Be.utmCampaign),De.utmTerm?Fe.searchParams.set("utm_term",De.utmTerm):Be.utmTerm&&Fe.searchParams.set("utm_term",Be.utmTerm),De.utmContent?Fe.searchParams.set("utm_content",De.utmContent):Be.utmContent&&Fe.searchParams.set("utm_content",Be.utmContent);const He=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(We=>{const[Ze,Xe]=We.trim().split("=");return{key:Ze,value:Xe}}).filter(We=>He.some(Ze=>Ze===We.key)).forEach(We=>{Fe.searchParams.append(We.key,We.value)});const Ge=new URL(De.redirectUrl||window.location.href);return Ge.searchParams.set("force-refetch-entitlements","true"),De.itemSrc&&Ge.searchParams.set("sesamy-purchase",De.itemSrc),Fe.searchParams.set("redirect-url",Ge.toString()),De.paymentMethodsFilter&&Fe.searchParams.set("paymentmethods-filter",De.paymentMethodsFilter.flatMap(({provider:We,methods:Ze})=>Ze?Ze.map(Xe=>`${We}|${Xe}`):We).join(",")),Fe}const SIGNED_URL_KEY="sesamySignedURLs";function getSignedLinks(){const $e=sessionStorage.getItem(SIGNED_URL_KEY);return $e?JSON.parse($e):[]}function addSignedLink($e){const De=getSignedLinks();De.push($e),log(`Adding signed URL: ${$e}`),sessionStorage.setItem(SIGNED_URL_KEY,JSON.stringify(De))}function removeUndefinedValues($e){const De={};return Object.keys($e).forEach(Be=>{const Fe=$e[Be];Fe!=null&&(De[Be]=Fe.toString())}),De}const ATTRIBUTION_KEY="sesamyAttribution";function parseFromSessionStorage($e){const De=sessionStorage.getItem($e);if(!De)return null;try{return JSON.parse(De).value}catch{return console.error(`Failed to parse ${$e}`),null}}function resetUtmTags($e){return Object.keys($e).find(De=>De.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...$e}:$e}function getAttribution(){return parseFromSessionStorage(ATTRIBUTION_KEY)||{}}function setAttribution($e){if($e===null)sessionStorage.removeItem(ATTRIBUTION_KEY);else{log(`Setting attribution ${JSON.stringify($e)}`);const De=getAttribution()??{},Be=removeUndefinedValues({...De,...resetUtmTags($e)});sessionStorage.setItem(ATTRIBUTION_KEY,JSON.stringify({value:Be}))}}function createApi($e){const De=getBaseUrl("api2",$e.environment),Be=ct=>async(dt,mt)=>{let _t=sessionStorage.getItem(CACHE_TIMESTAMP_KEY);_t||(_t=Date.now().toString(),sessionStorage.setItem(CACHE_TIMESTAMP_KEY,_t));const Ct={...mt,headers:{...mt.headers,"Cache-Timestamp":_t}};return ct(dt,Ct)},Fe=(ct=!0)=>dt=>async(mt,_t)=>{let Ct=null;if(Ct=await getTokenSilently(ct),!Ct){if(ct)throw new Error("No access token available");return dt(mt,_t)}const Mt={..._t,headers:{..._t.headers,...Ct?{Authorization:`Bearer ${Ct}`}:{}}};return dt(mt,Mt)},He=ct=>(dt,mt)=>{if(mt.headers.Authorization)return ct(dt,mt);const _t=localStorage.getItem("__anon_id"),Ct=btoa(`${$e.clientId}|${_t}:`),Mt={...mt,headers:{...mt.headers,Authorization:`Basic ${Ct}`}};return ct(dt,Mt)},Ke=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(),dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]),Ge=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(!1),He,dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]);async function We(ct={}){const{waitForEntitlementAfter:dt,includeSignedLinks:mt=!0}=ct,_t=dt?`?wait-for-entitlement-after=${dt.toISOString()}`:"",Ct=await isAuthenticated()?await Ke.get(`/entitlements${_t}`).json():[];return mt&&Ct.push(...getSignedLinks()),Ct}async function Ze(ct,dt=[]){const mt=await We();return mt==null?void 0:mt.find(Ct=>{const{sku:Mt,purchaseOption:Ht}=decodeItemSrc(ct);let Kt="sku"in Ct&&Mt===Ct.sku;Kt&&Ht&&"purchaseOptionId"in Ct&&(Kt=Ht===Ct.purchaseOptionId);const Qt=compareUrlWithoutHash(ct,Ct.url),er=dt.some(tr=>compareUrlWithoutHash(tr,Ct.url));return Kt||Qt||er})}async function Xe(ct){const dt=await Ke.get("/entitlements").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function Je(ct){return Ke.get(`/entitlements/${encodeURIComponent(ct)}/access`).json()}async function Ye(ct,dt,mt){const _t=new URL(getBaseUrl("api2",$e.environment));return _t.pathname="/proxy",_t.searchParams.set("url",dt),mt&&_t.searchParams.set("selector",mt),factory(_t.toString()).headers({Authorization:`Bearer ${ct}`}).get().text()}async function Qe(ct){return await isAuthenticated()?await Ke.get(`/fulfillments?sku=${encodeURIComponent(ct)}`).json():[]}async function et(){return Ke.get("/contracts").json()}async function tt(ct){const dt=await Ke.get("/contracts").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function st(ct){return(await Ke.post({},`/contracts/${encodeURIComponent(ct)}/cancel`).res()).ok}async function at(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),Ke.get("/subscriptions").json()}async function ft(){return Ke.get("/bills").json()}async function ut(ct){const dt=await Ke.get("/bills").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function ot(){return Ke.get("/transactions").json()}async function rt(ct){const dt=await Ke.get("/transactions").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function lt(ct,dt){const mt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).put(dt).json();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),mt}async function pt(ct){const dt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function $t(ct){return(await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).get().json())[ct]}async function vt(){return await Ke.url("/user-metadata").get().json()}async function Et(){return await Ke.url("/tags").get().json()}async function Pt(ct){const dt=await Ke.url(`/tags/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function Nt(ct){const dt=await Ke.url("/tags").post(encodeURIComponent(ct)).res();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),dt.ok}async function yt(ct){return(await Ge.url("/tallies").get().json())[ct]}async function It(){return await Ge.url("/tallies").get().json()}async function Rt(ct){const dt=await Ge.url(`/tallies/${ct}`).delete().res();return clearCache(),dt.ok}async function gt(ct,dt){return await Ge.url(`/tallies/${encodeURIComponent(ct)}/push`).post(dt).json()}async function At(ct){return await Ke.url(`/products/${encodeURIComponent(ct)}`).get().json()}async function Ut(){return await getTokenSilently(!1)?await Ke.url("/profile").get().json():null}async function xt(ct){const dt=await Ke.url("/profile").patch(ct).res();return clearCache(),dt.ok}async function nt(){return await Ke.url("/payment-issues").get().json()}async function it(){return(await Ke.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function ht(){return(await Ke.url("/profile/unlink-spotify").post().res()).ok}async function St(ct){const dt=await getTokenSilently(!1);if(!dt)throw new Error("No access token available");const mt=new URL(`${getBaseUrl("spotify-oas",$e.environment)}/sesamy-callback`);mt.searchParams.set("access_token",dt),mt.searchParams.set("state",ct),window.location.href=mt.toString()}async function bt(ct){const dt=await Ke.url(`/products/${encodeURIComponent(ct)}/auto-onboard`).post().json();return dt.length&&clearCache(),dt}async function Tt(ct,dt=3600){const{shortlink:mt}=await factory(SHORTLINK_URL).post({url:ct,ttl:dt}).json();return mt}async function kt(ct){const dt=await getTokenSilently(!1,!0);let mt;const _t=ct.language||getLanguage(),Ct=getAttribution();switch(ct.target){case"account":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"change-payment":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.contractId)}/change-payment-method`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"consume":mt=new URL(`${getBaseUrl("consume",$e.environment)}/${encodeURIComponent(ct.language||_t)}/@${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.sku)}`),ct.episodeId?mt.href+=`/${ct.episodeId}`:mt.href+="/listen",mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"checkout":mt=generateCheckoutLink($e,{language:_t,...ct},Ct);break;default:throw new Error("Invalid target")}return dt&&(mt.hash=`#access_token=${dt}`),ct.shorten?Tt(mt.href,ct.ttl):mt.href}async function wt(ct){const dt=getAttribution(),mt=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(Ct=>{const Mt=dt,[Ht,Kt]=Ct.trim().split("=");mt.includes(Ht)&&!Mt[Ht]&&(Mt[Ht]=Kt)}),(await Ge.url("/checkouts").post({language:getLanguage(),attribution:{...dt,...ct.attribution},...ct,vendorId:$e.clientId})).json()}async function Lt(ct,dt){return(await Ge.url(`/checkouts/${ct}`).patch(dt)).json()}async function Ot(ct){return(await Ge.url(`/checkouts/${ct}`).get()).json()}async function jt(ct){return(await Ge.url(`/paywalls/${ct}`).get()).json()}async function Bt(){return(await Ge.url("/vendor").get()).json()}async function Ft(){return(await Ke.url("/vendors").get()).json()}async function Gt(){const ct=await getTokenSilently(!1),dt=new URL(`${getBaseUrl("account",$e.environment)}/subscriptions/${$e.clientId}`);ct&&(dt.hash=`#access_token=${ct}`),window.location.href=dt.toString()}return{autoOnboardProduct:bt,cancelContract:st,createCheckout:wt,deleteTag:Pt,deleteTally:Rt,deleteUserMetadata:pt,generateLink:kt,getBill:ut,getBills:ft,getCheckout:Ot,getProxyContent:Ye,getContract:tt,getContracts:et,getEntitlement:Xe,getEntitlementAccess:Je,getEntitlements:We,getFulfillments:Qe,getPaywall:jt,getPaymentIssues:nt,getProfile:Ut,getProduct:At,getSubscriptions:at,getTally:yt,getTallies:It,getTags:Et,getTransaction:rt,getTransactions:ot,getUserMetadata:$t,hasAccess:Ze,isSpotifyLinked:it,linkSpotify:St,listUserMetadata:vt,openHostedAccountPage:Gt,pushTally:gt,setTag:Nt,setUserMetadata:lt,unlinkSpotify:ht,updateCheckout:Lt,updateProfile:xt,getVendorSettings:Bt,listVendors:Ft}}const name="@sesamy/sesamy-js",version="1.32.1";function i$5($e,De,Be,Fe,He){for(De=De.split?De.split("."):De,Fe=0;Fe<De.length;Fe++)$e=$e?$e[De[Fe]]:He;return $e===He?Be:$e}var e="undefined",o$4="object",g$1=function(){},b$4="any",m$1="*",j="__",F$2=typeof process<"u"?process:{};F$2.env&&F$2.env.NODE_ENV;var $$1=typeof document<"u";F$2.versions!=null&&F$2.versions.node!=null;typeof Deno<"u"&&Deno.core;$$1&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function M$1($e,De){return De.charAt(0)[$e]()+De.slice(1)}var U$1=M$1.bind(null,"toUpperCase"),H$1=M$1.bind(null,"toLowerCase");function J$2($e){return Y$1($e)?U$1("null"):typeof $e=="object"?yn($e):Object.prototype.toString.call($e).slice(8,-1)}function R$1($e,De){De===void 0&&(De=!0);var Be=J$2($e);return De?H$1(Be):Be}function V$1($e,De){return typeof De===$e}var W$1=V$1.bind(null,"function"),q$1=V$1.bind(null,"string"),I$2=V$1.bind(null,"undefined"),Q$1=V$1.bind(null,"boolean");V$1.bind(null,"symbol");function Y$1($e){return $e===null}function nn($e){return R$1($e)==="number"&&!isNaN($e)}function rn($e){return R$1($e)==="array"}function on($e){if(!un($e))return!1;for(var De=$e;Object.getPrototypeOf(De)!==null;)De=Object.getPrototypeOf(De);return Object.getPrototypeOf($e)===De}function un($e){return $e&&(typeof $e=="object"||$e!==null)}function yn($e){return W$1($e.constructor)?$e.constructor.name:null}function hn($e){return $e instanceof Error||q$1($e.message)&&$e.constructor&&nn($e.constructor.stackTraceLimit)}function On($e,De){if(typeof De!="object"||Y$1(De))return!1;if(De instanceof $e)return!0;var Be=R$1(new $e(""));if(hn(De))for(;De;){if(R$1(De)===Be)return!0;De=Object.getPrototypeOf(De)}return!1}On.bind(null,TypeError);On.bind(null,SyntaxError);function $n($e,De){var Be=$e instanceof Element||$e instanceof HTMLDocument;return Be&&De?Tn($e,De):Be}function Tn($e,De){return De===void 0&&(De=""),$e&&$e.nodeName===De.toUpperCase()}function _n($e){var De=[].slice.call(arguments,1);return function(){return $e.apply(void 0,[].slice.call(arguments).concat(De))}}_n($n,"form");_n($n,"button");_n($n,"input");_n($n,"select");function Hn($e){return $e?rn($e)?$e:[$e]:[]}function n$1($e){try{return decodeURIComponent($e.replace(/\+/g," "))}catch{return null}}function o$3(){if($$1){var $e=navigator,De=$e.languages;return $e.userLanguage||(De&&De.length?De[0]:$e.language)}}function a$5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function s$1($e){return function(De){for(var Be,Fe=Object.create(null),He=/([^&=]+)=?([^&]*)/g;Be=He.exec(De);){var Ke=n$1(Be[1]),Ge=n$1(Be[2]);Ke.substring(Ke.length-2)==="[]"?(Fe[Ke=Ke.substring(0,Ke.length-2)]||(Fe[Ke]=[])).push(Ge):Fe[Ke]=Ge===""||Ge}for(var We in Fe){var Ze=We.split("[");Ze.length>1&&(m(Fe,Ze.map(function(Xe){return Xe.replace(/[?[\]\\ ]/g,"")}),Fe[We]),delete Fe[We])}return Fe}(function(De){return $$1&&window.location.search.substring(1)}())}function m($e,De,Be){for(var Fe=De.length-1,He=0;He<Fe;++He){var Ke=De[He];if(Ke==="__proto__"||Ke==="constructor")break;Ke in $e||($e[Ke]={}),$e=$e[Ke]}$e[De[Fe]]=Be}function y$1(){for(var $e="",De=0,Be=4294967295*Math.random()|0;De++<36;){var Fe="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[De-1],He=15&Be;$e+=Fe=="-"||Fe=="4"?Fe:(Fe=="x"?He:3&He|8).toString(16),Be=De%8==0?4294967295*Math.random()|0:Be>>4}return $e}function b$3($e,De){var Be,Fe,He,Ke=null,Ge=0,We=function(){Ge=new Date,Ke=null,He=$e.apply(Be,Fe)};return function(){var Ze=new Date;Ge||(Ge=Ze);var Xe=De-(Ze-Ge);return Be=this,Fe=arguments,Xe<=0?(clearTimeout(Ke),Ke=null,Ge=Ze,He=$e.apply(Be,Fe)):Ke||(Ke=setTimeout(We,Xe)),He}}var l$2="global",o$2=j+"global"+j,n=typeof self===o$4&&self.self===self&&self||typeof global===o$4&&global.global===global&&global||void 0;function a$4($e){return n[o$2][$e]}function f$1($e,De){return n[o$2][$e]=De}function i$4($e){delete n[o$2][$e]}function u$3($e,De,Be){var Fe;try{if(b$2($e)){var He=window[$e];Fe=He[De].bind(He)}}catch{}return Fe||Be}n[o$2]||(n[o$2]={});var c$3={};function b$2($e){if(typeof c$3[$e]!==e)return c$3[$e];try{var De=window[$e];De.setItem(e,e),De.removeItem(e)}catch{return c$3[$e]=!1}return c$3[$e]=!0}function v(){return v=Object.assign||function($e){for(var De=1;De<arguments.length;De++){var Be=arguments[De];for(var Fe in Be)Object.prototype.hasOwnProperty.call(Be,Fe)&&($e[Fe]=Be[Fe])}return $e},v.apply(this,arguments)}var y="function",b$1="undefined",I$1="@@redux/"+Math.random().toString(36),w=function(){return typeof Symbol===y&&Symbol.observable||"@@observable"}(),E$1=" != "+y;function P($e,De,Be){var Fe;if(typeof De===y&&typeof Be===b$1&&(Be=De,De=void 0),typeof Be!==b$1){if(typeof Be!==y)throw new Error("enhancer"+E$1);return Be(P)($e,De)}if(typeof $e!==y)throw new Error("reducer"+E$1);var He=$e,Ke=De,Ge=[],We=Ge,Ze=!1;function Xe(){We===Ge&&(We=Ge.slice())}function Je(){return Ke}function Ye(et){if(typeof et!==y)throw new Error("Listener"+E$1);var tt=!0;return Xe(),We.push(et),function(){if(tt){tt=!1,Xe();var st=We.indexOf(et);We.splice(st,1)}}}function Qe(et){if(!on(et))throw new Error("Act != obj");if(typeof et.type===b$1)throw new Error("ActType "+b$1);if(Ze)throw new Error("Dispatch in reducer");try{Ze=!0,Ke=He(Ke,et)}finally{Ze=!1}for(var tt=Ge=We,st=0;st<tt.length;st++)(0,tt[st])();return et}return Qe({type:"@@redux/INIT"}),(Fe={dispatch:Qe,subscribe:Ye,getState:Je,replaceReducer:function(et){if(typeof et!==y)throw new Error("next reducer"+E$1);He=et,Qe({type:"@@redux/INIT"})}})[w]=function(){var et,tt=Ye;return(et={subscribe:function(st){if(typeof st!="object")throw new TypeError("Observer != obj");function at(){st.next&&st.next(Je())}return at(),{unsubscribe:tt(at)}}})[w]=function(){return this},et},Fe}function S($e,De){var Be=De&&De.type;return"action "+(Be&&Be.toString()||"?")+"reducer "+$e+" returns "+b$1}function N$1(){var $e=[].slice.call(arguments);return $e.length===0?function(De){return De}:$e.length===1?$e[0]:$e.reduce(function(De,Be){return function(){return De(Be.apply(void 0,[].slice.call(arguments)))}})}function O$1(){var $e=arguments;return function(De){return function(Be,Fe,He){var Ke,Ge=De(Be,Fe,He),We=Ge.dispatch,Ze={getState:Ge.getState,dispatch:function(Xe){return We(Xe)}};return Ke=[].slice.call($e).map(function(Xe){return Xe(Ze)}),v({},Ge,{dispatch:We=N$1.apply(void 0,Ke)(Ge.dispatch)})}}}var A$1=j+"anon_id",_=j+"user_id",x$1=j+"user_traits",k$1="userId",T="anonymousId",z=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],M=["name","EVENTS","config","loaded"],q=z.reduce(function($e,De){return $e[De]=De,$e},{registerPluginType:function($e){return"registerPlugin:"+$e},pluginReadyType:function($e){return"ready:"+$e}}),U=/^utm_/,V=/^an_prop_/,L$1=/^an_trait_/;function C$1($e){var De=$e.storage.setItem;return function(Be){return function(Fe){return function(He){if(He.type===q.bootstrap){var Ke=He.params,Ge=He.user,We=He.persistedUser,Ze=He.initialUser,Xe=We.userId===Ge.userId;We.anonymousId!==Ge.anonymousId&&De(A$1,Ge.anonymousId),Xe||De(_,Ge.userId),Ze.traits&&De(x$1,v({},Xe&&We.traits?We.traits:{},Ze.traits));var Je=Object.keys(He.params);if(Je.length){var Ye=Ke.an_uid,Qe=Ke.an_event,et=Je.reduce(function(tt,st){if(st.match(U)||st.match(/^(d|g)clid/)){var at=st.replace(U,"");tt.campaign[at==="campaign"?"name":at]=Ke[st]}return st.match(V)&&(tt.props[st.replace(V,"")]=Ke[st]),st.match(L$1)&&(tt.traits[st.replace(L$1,"")]=Ke[st]),tt},{campaign:{},props:{},traits:{}});Be.dispatch(v({type:q.params,raw:Ke},et,Ye?{userId:Ye}:{})),Ye&&setTimeout(function(){return $e.identify(Ye,et.traits)},0),Qe&&setTimeout(function(){return $e.track(Qe,et.props)},0),Object.keys(et.campaign).length&&Be.dispatch({type:q.campaign,campaign:et.campaign})}}return Fe(He)}}}}function R($e){return function(De,Be){if(De===void 0&&(De={}),Be===void 0&&(Be={}),Be.type===q.setItemEnd){if(Be.key===A$1)return v({},De,{anonymousId:Be.value});if(Be.key===_)return v({},De,{userId:Be.value})}switch(Be.type){case q.identify:return Object.assign({},De,{userId:Be.userId,traits:v({},De.traits,Be.traits)});case q.reset:return[_,A$1,x$1].forEach(function(Fe){$e.removeItem(Fe)}),Object.assign({},De,{userId:null,anonymousId:null,traits:{}});default:return De}}}function $($e){return{userId:$e.getItem(_),anonymousId:$e.getItem(A$1),traits:$e.getItem(x$1)}}var D=function($e){return j+"TEMP"+j+$e};function B($e){var De=$e.storage,Be=De.setItem,Fe=De.removeItem,He=De.getItem;return function(Ke){return function(Ge){return function(We){var Ze=We.userId,Xe=We.traits,Je=We.options;if(We.type===q.reset&&([_,x$1,A$1].forEach(function(et){Fe(et)}),[k$1,T,"traits"].forEach(function(et){i$4(D(et))})),We.type===q.identify){He(A$1)||Be(A$1,y$1());var Ye=He(_),Qe=He(x$1)||{};Ye&&Ye!==Ze&&Ke.dispatch({type:q.userIdChanged,old:{userId:Ye,traits:Qe},new:{userId:Ze,traits:Xe},options:Je}),Ze&&Be(_,Ze),Xe&&Be(x$1,v({},Qe,Xe))}return Ge(We)}}}}var X={};function J$1($e,De){X[$e]&&W$1(X[$e])&&(X[$e](De),delete X[$e])}function W($e,De,Be){return new Promise(function(Fe,He){return De()?Fe($e):Be<1?He(v({},$e,{queue:!0})):new Promise(function(Ke){return setTimeout(Ke,10)}).then(function(Ke){return W($e,De,Be-10).then(Fe,He)})})}function H($e){return{abort:$e}}function F$1($e,De,Be){var Fe={},He=De(),Ke=$e.getState(),Ge=Ke.plugins,We=Ke.queue,Ze=Ke.user;if(!Ke.context.offline&&We&&We.actions&&We.actions.length){var Xe=We.actions.reduce(function(Ye,Qe,et){return Ge[Qe.plugin].loaded?(Ye.process.push(Qe),Ye.processIndex.push(et)):(Ye.requeue.push(Qe),Ye.requeueIndex.push(et)),Ye},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(Xe.processIndex&&Xe.processIndex.length){Xe.processIndex.forEach(function(Ye){var Qe=We.actions[Ye],et=Qe.plugin,tt=Qe.payload.type,st=He[et][tt];if(st&&W$1(st)){var at,ft=function(rt,lt){return rt===void 0&&(rt={}),lt===void 0&&(lt={}),[k$1,T].reduce(function(pt,$t){return rt.hasOwnProperty($t)&<[$t]&<[$t]!==rt[$t]&&(pt[$t]=lt[$t]),pt},rt)}(Qe.payload,Ze),ut=Fe[ft.meta.rid];if(!ut&&(at=st({payload:ft,config:Ge[et].config,instance:Be,abort:H}))&&on(at)&&at.abort)return void(Fe[ft.meta.rid]=!0);if(!ut){var ot=tt+":"+et;$e.dispatch(v({},ft,{type:ot,_:{called:ot,from:"queueDrain"}}))}}});var Je=We.actions.filter(function(Ye,Qe){return!~Xe.processIndex.indexOf(Qe)});We.actions=Je}}}var G$1=function($e){var De=$e.data,Be=$e.action,Fe=$e.instance,He=$e.state,Ke=$e.allPlugins,Ge=$e.allMatches,We=$e.store,Ze=$e.EVENTS;try{var Xe=He.plugins,Je=He.context,Ye=Be.type,Qe=Ye.match(K),et=De.exact.map(function(at){return at.pluginName});Qe&&(et=Ge.during.map(function(at){return at.pluginName}));var tt=function(at,ft){return function(ut,ot,rt){var lt=ot.config,pt=ot.name,$t=pt+"."+ut.type;rt&&($t=rt.event);var vt=ut.type.match(K)?function(Et,Pt,Nt,yt,It){return function(Rt,gt){var At=yt?yt.name:Et,Ut=gt&&ae(gt)?gt:Nt;if(yt&&(!(Ut=gt&&ae(gt)?gt:[Et]).includes(Et)||Ut.length!==1))throw new Error("Method "+Pt+" can only abort "+Et+" plugin. "+JSON.stringify(Ut)+" input valid");return v({},It,{abort:{reason:Rt,plugins:Ut,caller:Pt,_:At}})}}(pt,$t,ft,rt,ut):function(Et,Pt){return function(){throw new Error(Et.type+" action not cancellable. Remove abort in "+Pt)}}(ut,$t);return{payload:ce(ut),instance:at,config:lt||{},abort:vt}}}(Fe,et),st=De.exact.reduce(function(at,ft){var ut=ft.pluginName,ot=ft.methodName,rt=!1;return ot.match(/^initialize/)||ot.match(/^reset/)||(rt=!Xe[ut].loaded),Je.offline&&ot.match(/^(page|track|identify)/)&&(rt=!0),at[""+ut]=rt,at},{});return Promise.resolve(De.exact.reduce(function(at,ft,ut){try{var ot=ft.pluginName;return Promise.resolve(at).then(function(rt){function lt(){return Promise.resolve(rt)}var pt=function(){if(De.namespaced&&De.namespaced[ot])return Promise.resolve(De.namespaced[ot].reduce(function($t,vt,Et){try{return Promise.resolve($t).then(function(Pt){return vt.method&&W$1(vt.method)?(function(Rt,gt){var At=ue(Rt);if(At&&At.name===gt){var Ut=ue(At.method);throw new Error([gt+" plugin is calling method "+Rt,"Plugins cant call self","Use "+At.method+" "+(Ut?"or "+Ut.method:"")+" in "+gt+" plugin insteadof "+Rt].join(`
|
|
35
|
+
CAUSE: `+et.stack,lt.response=ot,lt.status=ot.status,lt.url=Ye,ot.type==="opaque")throw lt;const pt=He.errorType==="json"||((rt=ot.headers.get("Content-Type"))===null||rt===void 0?void 0:rt.split(";")[0])==="application/json";return(He.errorType?pt?ot.text():ot[He.errorType]():Promise.resolve(ot.body)).then(vt=>{throw lt.message=typeof vt=="string"?vt:ot.statusText,vt&&(pt&&typeof vt=="string"?(lt.text=vt,lt.json=JSON.parse(vt)):lt[He.errorType]=vt),lt})}return ot}),st=ot=>ot.catch(rt=>{const lt=Object.prototype.hasOwnProperty.call(rt,FETCH_ERROR),pt=lt?rt[FETCH_ERROR]:rt,$t=(pt==null?void 0:pt.status)&&Xe.get(pt.status)||Xe.get(pt==null?void 0:pt.name)||lt&&Xe.has(FETCH_ERROR)&&Xe.get(FETCH_ERROR);if($t)return $t(pt,$e);const vt=Xe.get(CATCHER_FALLBACK);if(vt)return vt(pt,$e);throw pt}),at=ot=>rt=>st(ot?tt.then(lt=>lt&<[ot]()).then(lt=>rt?rt(lt):lt):tt.then(lt=>rt?rt(lt):lt)),ft={_wretchReq:$e,_fetchReq:Qe,_sharedState:De,res:at(null),json:at("json"),blob:at("blob"),formData:at("formData"),arrayBuffer:at("arrayBuffer"),text:at("text"),error(ot,rt){return Xe.set(ot,rt),this},badRequest(ot){return this.error(400,ot)},unauthorized(ot){return this.error(401,ot)},forbidden(ot){return this.error(403,ot)},notFound(ot){return this.error(404,ot)},timeout(ot){return this.error(408,ot)},internalError(ot){return this.error(500,ot)},fetchError(ot){return this.error(FETCH_ERROR,ot)}},ut=Ze.reduce((ot,rt)=>({...ot,...typeof rt.resolver=="function"?rt.resolver(ot):rt.resolver}),ft);return Ge.reduce((ot,rt)=>rt(ot,$e),ut)},core={_url:"",_options:{},_config:config,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon($e){return{...this,_addons:[...this._addons,$e],...$e.wretch}},errorType($e){return{...this,_config:{...this._config,errorType:$e}}},polyfills($e,De=!1){return{...this,_config:{...this._config,polyfills:De?$e:mix(this._config.polyfills,$e)}}},url($e,De=!1){if(De)return{...this,_url:$e};const Be=this._url.split("?");return{...this,_url:Be.length>1?Be[0]+$e+"?"+Be[1]:this._url+$e}},options($e,De=!1){return{...this,_options:De?$e:mix(this._options,$e)}},headers($e){const De=$e?Array.isArray($e)?Object.fromEntries($e):"entries"in $e?Object.fromEntries($e.entries()):$e:{};return{...this,_options:mix(this._options,{headers:De})}},accept($e){return this.headers({Accept:$e})},content($e){return this.headers({[CONTENT_TYPE_HEADER]:$e})},auth($e){return this.headers({Authorization:$e})},catcher($e,De){const Be=new Map(this._catchers);return Be.set($e,De),{...this,_catchers:Be}},catcherFallback($e){return this.catcher(CATCHER_FALLBACK,$e)},resolve($e,De=!1){return{...this,_resolvers:De?[$e]:[...this._resolvers,$e]}},defer($e,De=!1){return{...this,_deferred:De?[$e]:[...this._deferred,$e]}},middlewares($e,De=!1){return{...this,_middlewares:De?$e:[...this._middlewares,...$e]}},fetch($e=this._options.method,De="",Be=null){let Fe=this.url(De).options({method:$e});const He=extractContentType(Fe._options.headers),Ke=this._config.polyfill("FormData",!1),Ge=typeof Be=="object"&&!(Ke&&Be instanceof Ke)&&(!Fe._options.headers||!He||isLikelyJsonMime(He));return Fe=Be?Ge?Fe.json(Be,He):Fe.body(Be):Fe,resolver(Fe._deferred.reduce((We,Ze)=>Ze(We,We._url,We._options),Fe))},get($e=""){return this.fetch("GET",$e)},delete($e=""){return this.fetch("DELETE",$e)},put($e,De=""){return this.fetch("PUT",De,$e)},post($e,De=""){return this.fetch("POST",De,$e)},patch($e,De=""){return this.fetch("PATCH",De,$e)},head($e=""){return this.fetch("HEAD",$e)},opts($e=""){return this.fetch("OPTIONS",$e)},body($e){return{...this,_options:{...this._options,body:$e}}},json($e,De){const Be=extractContentType(this._options.headers);return this.content(De||isLikelyJsonMime(Be)&&Be||JSON_MIME).body(JSON.stringify($e))}};function factory($e="",De={}){return{...core,_url:$e,_options:De}}factory.default=factory;factory.options=setOptions;factory.errorType=setErrorType;factory.polyfills=setPolyfills;factory.WretchError=WretchError;function clearCache(){return sessionStorage.removeItem(CACHE_TIMESTAMP_KEY),log("Cache cleared"),triggerEvent(Events.CLEAR_CACHE,{}),"Cache cleared"}function isValidHttpUrl($e){let De;try{De=new URL($e)}catch{return!1}return De.protocol==="http:"||De.protocol==="https:"}function decodeItemSrc($e,De){if(isValidHttpUrl($e))return{itemSrc:$e};const[Be,Fe,He]=$e.split(":");return{sku:`${Be}:${Fe}`,purchaseOption:De||He}}function removeTrailingSlash($e){return $e.endsWith("/")?$e.slice(0,-1):$e}function compareUrlWithoutHash($e,De){if(!isValidHttpUrl($e)||!isValidHttpUrl(De))return!1;const Be=new URL($e),Fe=new URL(De);return Be.origin===Fe.origin&&removeTrailingSlash(Be.pathname)===removeTrailingSlash(Fe.pathname)}function generateCheckoutLink($e,De,Be){const Fe=new URL(`${getBaseUrl("checkout3",$e.environment)}`);if(De.language&&Fe.searchParams.set("lang",De.language),De.sku)Fe.searchParams.set("sku",De.sku),De.purchaseOptionId&&Fe.searchParams.set("po-id",De.purchaseOptionId);else if(De.itemSrc){const{sku:We,purchaseOption:Ze,itemSrc:Xe}=decodeItemSrc(De.itemSrc,De.purchaseOptionId);Xe&&Fe.searchParams.set("url",Xe),We&&Fe.searchParams.set("sku",We),Ze&&Fe.searchParams.set("po-id",Ze)}De.email&&Fe.searchParams.set("email",De.email),De.business&&Fe.searchParams.set("business","true"),De.currency&&Fe.searchParams.set("currency",De.currency),De.price&&Fe.searchParams.set("price",De.price.toString()),De.discountCode&&Fe.searchParams.set("discount-code",De.discountCode),De.attributionItemSrc?Fe.searchParams.set("itemSrc",De.attributionItemSrc):Be.itemSrc&&Fe.searchParams.set("itemSrc",Be.itemSrc),De.attributionPublisherContentId?Fe.searchParams.set("publisherContentId",De.attributionPublisherContentId):Be.publisherContentId&&Fe.searchParams.set("publisherContentId",Be.publisherContentId),De.utmSource?Fe.searchParams.set("utm_source",De.utmSource):Be.utmSource&&Fe.searchParams.set("utm_source",Be.utmSource),De.utmMedium?Fe.searchParams.set("utm_medium",De.utmMedium):Be.utmMedium&&Fe.searchParams.set("utm_medium",Be.utmMedium),De.utmCampaign?Fe.searchParams.set("utm_campaign",De.utmCampaign):Be.utmCampaign&&Fe.searchParams.set("utm_campaign",Be.utmCampaign),De.utmTerm?Fe.searchParams.set("utm_term",De.utmTerm):Be.utmTerm&&Fe.searchParams.set("utm_term",Be.utmTerm),De.utmContent?Fe.searchParams.set("utm_content",De.utmContent):Be.utmContent&&Fe.searchParams.set("utm_content",Be.utmContent);const He=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(We=>{const[Ze,Xe]=We.trim().split("=");return{key:Ze,value:Xe}}).filter(We=>He.some(Ze=>Ze===We.key)).forEach(We=>{Fe.searchParams.append(We.key,We.value)});const Ge=new URL(De.redirectUrl||window.location.href);return Ge.searchParams.set("force-refetch-entitlements","true"),De.itemSrc&&Ge.searchParams.set("sesamy-purchase",De.itemSrc),Fe.searchParams.set("redirect-url",Ge.toString()),De.paymentMethodsFilter&&Fe.searchParams.set("paymentmethods-filter",De.paymentMethodsFilter.flatMap(({provider:We,methods:Ze})=>Ze?Ze.map(Xe=>`${We}|${Xe}`):We).join(",")),Fe}const SIGNED_URL_KEY="sesamySignedURLs";function getSignedLinks(){const $e=sessionStorage.getItem(SIGNED_URL_KEY);return $e?JSON.parse($e):[]}function addSignedLink($e){const De=getSignedLinks();De.push($e),log(`Adding signed URL: ${$e}`),sessionStorage.setItem(SIGNED_URL_KEY,JSON.stringify(De))}function removeUndefinedValues($e){const De={};return Object.keys($e).forEach(Be=>{const Fe=$e[Be];Fe!=null&&(De[Be]=Fe.toString())}),De}const ATTRIBUTION_KEY="sesamyAttribution";function parseFromSessionStorage($e){const De=sessionStorage.getItem($e);if(!De)return null;try{return JSON.parse(De).value}catch{return console.error(`Failed to parse ${$e}`),null}}function resetUtmTags($e){return Object.keys($e).find(De=>De.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...$e}:$e}function getAttribution(){return parseFromSessionStorage(ATTRIBUTION_KEY)||{}}function setAttribution($e){if($e===null)sessionStorage.removeItem(ATTRIBUTION_KEY);else{log(`Setting attribution ${JSON.stringify($e)}`);const De=getAttribution()??{},Be=removeUndefinedValues({...De,...resetUtmTags($e)});sessionStorage.setItem(ATTRIBUTION_KEY,JSON.stringify({value:Be}))}}function createApi($e){const De=getBaseUrl("api2",$e.environment),Be=ct=>async(dt,mt)=>{let _t=sessionStorage.getItem(CACHE_TIMESTAMP_KEY);_t||(_t=Date.now().toString(),sessionStorage.setItem(CACHE_TIMESTAMP_KEY,_t));const Ct={...mt,headers:{...mt.headers,"Cache-Timestamp":_t}};return ct(dt,Ct)},Fe=(ct=!0)=>dt=>async(mt,_t)=>{let Ct=null;if(Ct=await getTokenSilently(ct),!Ct){if(ct)throw new Error("No access token available");return dt(mt,_t)}const Mt={..._t,headers:{..._t.headers,...Ct?{Authorization:`Bearer ${Ct}`}:{}}};return dt(mt,Mt)},He=ct=>(dt,mt)=>{if(mt.headers.Authorization)return ct(dt,mt);const _t=localStorage.getItem("__anon_id"),Ct=btoa(`${$e.clientId}|${_t}:`),Mt={...mt,headers:{...mt.headers,Authorization:`Basic ${Ct}`}};return ct(dt,Mt)},Ke=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(),dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]),Ge=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(!1),He,dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]);async function We(ct={}){const{waitForEntitlementAfter:dt,includeSignedLinks:mt=!0}=ct,_t=dt?`?wait-for-entitlement-after=${dt.toISOString()}`:"",Ct=await isAuthenticated()?await Ke.get(`/entitlements${_t}`).json():[];return mt&&Ct.push(...getSignedLinks()),Ct}async function Ze(ct,dt=[]){const mt=await We();return mt==null?void 0:mt.find(Ct=>{const{sku:Mt,purchaseOption:Ht}=decodeItemSrc(ct);let Kt="sku"in Ct&&Mt===Ct.sku;Kt&&Ht&&"purchaseOptionId"in Ct&&(Kt=Ht===Ct.purchaseOptionId);const Qt=compareUrlWithoutHash(ct,Ct.url),er=dt.some(tr=>compareUrlWithoutHash(tr,Ct.url));return Kt||Qt||er})}async function Xe(ct){const dt=await Ke.get("/entitlements").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function Je(ct){return Ke.get(`/entitlements/${encodeURIComponent(ct)}/access`).json()}async function Ye(ct,dt,mt){const _t=new URL(getBaseUrl("api2",$e.environment));return _t.pathname="/proxy",_t.searchParams.set("url",dt),mt&&_t.searchParams.set("selector",mt),factory(_t.toString()).headers({Authorization:`Bearer ${ct}`}).get().text()}async function Qe(ct){return await isAuthenticated()?await Ke.get(`/fulfillments?sku=${encodeURIComponent(ct)}`).json():[]}async function et(){return Ke.get("/contracts").json()}async function tt(ct){const dt=await Ke.get("/contracts").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function st(ct){return(await Ke.post({},`/contracts/${encodeURIComponent(ct)}/cancel`).res()).ok}async function at(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),Ke.get("/subscriptions").json()}async function ft(){return Ke.get("/bills").json()}async function ut(ct){const dt=await Ke.get("/bills").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function ot(){return Ke.get("/transactions").json()}async function rt(ct){const dt=await Ke.get("/transactions").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function lt(ct,dt){const mt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).put(dt).json();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),mt}async function pt(ct){const dt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function $t(ct){return(await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).get().json())[ct]}async function vt(){return await Ke.url("/user-metadata").get().json()}async function Et(){return await Ke.url("/tags").get().json()}async function Pt(ct){const dt=await Ke.url(`/tags/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function Nt(ct){const dt=await Ke.url("/tags").post(encodeURIComponent(ct)).res();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),dt.ok}async function yt(ct){return(await Ge.url("/tallies").get().json())[ct]}async function It(){return await Ge.url("/tallies").get().json()}async function Rt(ct){const dt=await Ge.url(`/tallies/${ct}`).delete().res();return clearCache(),dt.ok}async function gt(ct,dt){return await Ge.url(`/tallies/${encodeURIComponent(ct)}/push`).post(dt).json()}async function At(ct){return await Ke.url(`/products/${encodeURIComponent(ct)}`).get().json()}async function Ut(){return await getTokenSilently(!1)?await Ke.url("/profile").get().json():null}async function xt(ct){const dt=await Ke.url("/profile").patch(ct).res();return clearCache(),dt.ok}async function nt(){return await Ke.url("/payment-issues").get().json()}async function it(){return(await Ke.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function ht(){return(await Ke.url("/profile/unlink-spotify").post().res()).ok}async function St(ct){const dt=await getTokenSilently(!1);if(!dt)throw new Error("No access token available");const mt=new URL(`${getBaseUrl("spotify-oas",$e.environment)}/sesamy-callback`);mt.searchParams.set("access_token",dt),mt.searchParams.set("state",ct),window.location.href=mt.toString()}async function bt(ct){const dt=await Ke.url(`/products/${encodeURIComponent(ct)}/auto-onboard`).post().json();return dt.length&&clearCache(),dt}async function Tt(ct,dt=3600){const{shortlink:mt}=await factory(SHORTLINK_URL).post({url:ct,ttl:dt}).json();return mt}async function kt(ct){const dt=await getTokenSilently(!1,!0);let mt;const _t=ct.language||getLanguage(),Ct=getAttribution();switch(ct.target){case"account":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"change-payment":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.contractId)}/change-payment-method`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"consume":mt=new URL(`${getBaseUrl("consume",$e.environment)}/${encodeURIComponent(ct.language||_t)}/@${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.sku)}`),ct.episodeId?mt.href+=`/${ct.episodeId}`:mt.href+="/listen",mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"checkout":mt=generateCheckoutLink($e,{language:_t,...ct},Ct);break;default:throw new Error("Invalid target")}return dt&&(mt.hash=`#access_token=${dt}`),ct.shorten?Tt(mt.href,ct.ttl):mt.href}async function wt(ct){const dt=getAttribution(),mt=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(Ct=>{const Mt=dt,[Ht,Kt]=Ct.trim().split("=");mt.includes(Ht)&&!Mt[Ht]&&(Mt[Ht]=Kt)}),(await Ge.url("/checkouts").post({language:getLanguage(),attribution:{...dt,...ct.attribution},...ct,vendorId:$e.clientId})).json()}async function Lt(ct,dt){return(await Ge.url(`/checkouts/${ct}`).patch(dt)).json()}async function Ot(ct){return(await Ge.url(`/checkouts/${ct}`).get()).json()}async function jt(ct){return(await Ge.url(`/paywalls/${ct}`).get()).json()}async function Bt(){return(await Ge.url("/vendor").get()).json()}async function Ft(){return(await Ke.url("/vendors").get()).json()}async function Gt(){const ct=await getTokenSilently(!1),dt=new URL(`${getBaseUrl("account",$e.environment)}/subscriptions/${$e.clientId}`);ct&&(dt.hash=`#access_token=${ct}`),window.location.href=dt.toString()}return{autoOnboardProduct:bt,cancelContract:st,createCheckout:wt,deleteTag:Pt,deleteTally:Rt,deleteUserMetadata:pt,generateLink:kt,getBill:ut,getBills:ft,getCheckout:Ot,getProxyContent:Ye,getContract:tt,getContracts:et,getEntitlement:Xe,getEntitlementAccess:Je,getEntitlements:We,getFulfillments:Qe,getPaywall:jt,getPaymentIssues:nt,getProfile:Ut,getProduct:At,getSubscriptions:at,getTally:yt,getTallies:It,getTags:Et,getTransaction:rt,getTransactions:ot,getUserMetadata:$t,hasAccess:Ze,isSpotifyLinked:it,linkSpotify:St,listUserMetadata:vt,openHostedAccountPage:Gt,pushTally:gt,setTag:Nt,setUserMetadata:lt,unlinkSpotify:ht,updateCheckout:Lt,updateProfile:xt,getVendorSettings:Bt,listVendors:Ft}}const name="@sesamy/sesamy-js",version="1.32.3";function i$5($e,De,Be,Fe,He){for(De=De.split?De.split("."):De,Fe=0;Fe<De.length;Fe++)$e=$e?$e[De[Fe]]:He;return $e===He?Be:$e}var e="undefined",o$4="object",g$1=function(){},b$4="any",m$1="*",j="__",F$2=typeof process<"u"?process:{};F$2.env&&F$2.env.NODE_ENV;var $$1=typeof document<"u";F$2.versions!=null&&F$2.versions.node!=null;typeof Deno<"u"&&Deno.core;$$1&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function M$1($e,De){return De.charAt(0)[$e]()+De.slice(1)}var U$1=M$1.bind(null,"toUpperCase"),H$1=M$1.bind(null,"toLowerCase");function J$2($e){return Y$1($e)?U$1("null"):typeof $e=="object"?yn($e):Object.prototype.toString.call($e).slice(8,-1)}function R$1($e,De){De===void 0&&(De=!0);var Be=J$2($e);return De?H$1(Be):Be}function V$1($e,De){return typeof De===$e}var W$1=V$1.bind(null,"function"),q$1=V$1.bind(null,"string"),I$2=V$1.bind(null,"undefined"),Q$1=V$1.bind(null,"boolean");V$1.bind(null,"symbol");function Y$1($e){return $e===null}function nn($e){return R$1($e)==="number"&&!isNaN($e)}function rn($e){return R$1($e)==="array"}function on($e){if(!un($e))return!1;for(var De=$e;Object.getPrototypeOf(De)!==null;)De=Object.getPrototypeOf(De);return Object.getPrototypeOf($e)===De}function un($e){return $e&&(typeof $e=="object"||$e!==null)}function yn($e){return W$1($e.constructor)?$e.constructor.name:null}function hn($e){return $e instanceof Error||q$1($e.message)&&$e.constructor&&nn($e.constructor.stackTraceLimit)}function On($e,De){if(typeof De!="object"||Y$1(De))return!1;if(De instanceof $e)return!0;var Be=R$1(new $e(""));if(hn(De))for(;De;){if(R$1(De)===Be)return!0;De=Object.getPrototypeOf(De)}return!1}On.bind(null,TypeError);On.bind(null,SyntaxError);function $n($e,De){var Be=$e instanceof Element||$e instanceof HTMLDocument;return Be&&De?Tn($e,De):Be}function Tn($e,De){return De===void 0&&(De=""),$e&&$e.nodeName===De.toUpperCase()}function _n($e){var De=[].slice.call(arguments,1);return function(){return $e.apply(void 0,[].slice.call(arguments).concat(De))}}_n($n,"form");_n($n,"button");_n($n,"input");_n($n,"select");function Hn($e){return $e?rn($e)?$e:[$e]:[]}function n$1($e){try{return decodeURIComponent($e.replace(/\+/g," "))}catch{return null}}function o$3(){if($$1){var $e=navigator,De=$e.languages;return $e.userLanguage||(De&&De.length?De[0]:$e.language)}}function a$5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function s$1($e){return function(De){for(var Be,Fe=Object.create(null),He=/([^&=]+)=?([^&]*)/g;Be=He.exec(De);){var Ke=n$1(Be[1]),Ge=n$1(Be[2]);Ke.substring(Ke.length-2)==="[]"?(Fe[Ke=Ke.substring(0,Ke.length-2)]||(Fe[Ke]=[])).push(Ge):Fe[Ke]=Ge===""||Ge}for(var We in Fe){var Ze=We.split("[");Ze.length>1&&(m(Fe,Ze.map(function(Xe){return Xe.replace(/[?[\]\\ ]/g,"")}),Fe[We]),delete Fe[We])}return Fe}(function(De){return $$1&&window.location.search.substring(1)}())}function m($e,De,Be){for(var Fe=De.length-1,He=0;He<Fe;++He){var Ke=De[He];if(Ke==="__proto__"||Ke==="constructor")break;Ke in $e||($e[Ke]={}),$e=$e[Ke]}$e[De[Fe]]=Be}function y$1(){for(var $e="",De=0,Be=4294967295*Math.random()|0;De++<36;){var Fe="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[De-1],He=15&Be;$e+=Fe=="-"||Fe=="4"?Fe:(Fe=="x"?He:3&He|8).toString(16),Be=De%8==0?4294967295*Math.random()|0:Be>>4}return $e}function b$3($e,De){var Be,Fe,He,Ke=null,Ge=0,We=function(){Ge=new Date,Ke=null,He=$e.apply(Be,Fe)};return function(){var Ze=new Date;Ge||(Ge=Ze);var Xe=De-(Ze-Ge);return Be=this,Fe=arguments,Xe<=0?(clearTimeout(Ke),Ke=null,Ge=Ze,He=$e.apply(Be,Fe)):Ke||(Ke=setTimeout(We,Xe)),He}}var l$2="global",o$2=j+"global"+j,n=typeof self===o$4&&self.self===self&&self||typeof global===o$4&&global.global===global&&global||void 0;function a$4($e){return n[o$2][$e]}function f$1($e,De){return n[o$2][$e]=De}function i$4($e){delete n[o$2][$e]}function u$3($e,De,Be){var Fe;try{if(b$2($e)){var He=window[$e];Fe=He[De].bind(He)}}catch{}return Fe||Be}n[o$2]||(n[o$2]={});var c$3={};function b$2($e){if(typeof c$3[$e]!==e)return c$3[$e];try{var De=window[$e];De.setItem(e,e),De.removeItem(e)}catch{return c$3[$e]=!1}return c$3[$e]=!0}function v(){return v=Object.assign||function($e){for(var De=1;De<arguments.length;De++){var Be=arguments[De];for(var Fe in Be)Object.prototype.hasOwnProperty.call(Be,Fe)&&($e[Fe]=Be[Fe])}return $e},v.apply(this,arguments)}var y="function",b$1="undefined",I$1="@@redux/"+Math.random().toString(36),w=function(){return typeof Symbol===y&&Symbol.observable||"@@observable"}(),E$1=" != "+y;function P($e,De,Be){var Fe;if(typeof De===y&&typeof Be===b$1&&(Be=De,De=void 0),typeof Be!==b$1){if(typeof Be!==y)throw new Error("enhancer"+E$1);return Be(P)($e,De)}if(typeof $e!==y)throw new Error("reducer"+E$1);var He=$e,Ke=De,Ge=[],We=Ge,Ze=!1;function Xe(){We===Ge&&(We=Ge.slice())}function Je(){return Ke}function Ye(et){if(typeof et!==y)throw new Error("Listener"+E$1);var tt=!0;return Xe(),We.push(et),function(){if(tt){tt=!1,Xe();var st=We.indexOf(et);We.splice(st,1)}}}function Qe(et){if(!on(et))throw new Error("Act != obj");if(typeof et.type===b$1)throw new Error("ActType "+b$1);if(Ze)throw new Error("Dispatch in reducer");try{Ze=!0,Ke=He(Ke,et)}finally{Ze=!1}for(var tt=Ge=We,st=0;st<tt.length;st++)(0,tt[st])();return et}return Qe({type:"@@redux/INIT"}),(Fe={dispatch:Qe,subscribe:Ye,getState:Je,replaceReducer:function(et){if(typeof et!==y)throw new Error("next reducer"+E$1);He=et,Qe({type:"@@redux/INIT"})}})[w]=function(){var et,tt=Ye;return(et={subscribe:function(st){if(typeof st!="object")throw new TypeError("Observer != obj");function at(){st.next&&st.next(Je())}return at(),{unsubscribe:tt(at)}}})[w]=function(){return this},et},Fe}function S($e,De){var Be=De&&De.type;return"action "+(Be&&Be.toString()||"?")+"reducer "+$e+" returns "+b$1}function N$1(){var $e=[].slice.call(arguments);return $e.length===0?function(De){return De}:$e.length===1?$e[0]:$e.reduce(function(De,Be){return function(){return De(Be.apply(void 0,[].slice.call(arguments)))}})}function O$1(){var $e=arguments;return function(De){return function(Be,Fe,He){var Ke,Ge=De(Be,Fe,He),We=Ge.dispatch,Ze={getState:Ge.getState,dispatch:function(Xe){return We(Xe)}};return Ke=[].slice.call($e).map(function(Xe){return Xe(Ze)}),v({},Ge,{dispatch:We=N$1.apply(void 0,Ke)(Ge.dispatch)})}}}var A$1=j+"anon_id",_=j+"user_id",x$1=j+"user_traits",k$1="userId",T="anonymousId",z=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],M=["name","EVENTS","config","loaded"],q=z.reduce(function($e,De){return $e[De]=De,$e},{registerPluginType:function($e){return"registerPlugin:"+$e},pluginReadyType:function($e){return"ready:"+$e}}),U=/^utm_/,V=/^an_prop_/,L$1=/^an_trait_/;function C$1($e){var De=$e.storage.setItem;return function(Be){return function(Fe){return function(He){if(He.type===q.bootstrap){var Ke=He.params,Ge=He.user,We=He.persistedUser,Ze=He.initialUser,Xe=We.userId===Ge.userId;We.anonymousId!==Ge.anonymousId&&De(A$1,Ge.anonymousId),Xe||De(_,Ge.userId),Ze.traits&&De(x$1,v({},Xe&&We.traits?We.traits:{},Ze.traits));var Je=Object.keys(He.params);if(Je.length){var Ye=Ke.an_uid,Qe=Ke.an_event,et=Je.reduce(function(tt,st){if(st.match(U)||st.match(/^(d|g)clid/)){var at=st.replace(U,"");tt.campaign[at==="campaign"?"name":at]=Ke[st]}return st.match(V)&&(tt.props[st.replace(V,"")]=Ke[st]),st.match(L$1)&&(tt.traits[st.replace(L$1,"")]=Ke[st]),tt},{campaign:{},props:{},traits:{}});Be.dispatch(v({type:q.params,raw:Ke},et,Ye?{userId:Ye}:{})),Ye&&setTimeout(function(){return $e.identify(Ye,et.traits)},0),Qe&&setTimeout(function(){return $e.track(Qe,et.props)},0),Object.keys(et.campaign).length&&Be.dispatch({type:q.campaign,campaign:et.campaign})}}return Fe(He)}}}}function R($e){return function(De,Be){if(De===void 0&&(De={}),Be===void 0&&(Be={}),Be.type===q.setItemEnd){if(Be.key===A$1)return v({},De,{anonymousId:Be.value});if(Be.key===_)return v({},De,{userId:Be.value})}switch(Be.type){case q.identify:return Object.assign({},De,{userId:Be.userId,traits:v({},De.traits,Be.traits)});case q.reset:return[_,A$1,x$1].forEach(function(Fe){$e.removeItem(Fe)}),Object.assign({},De,{userId:null,anonymousId:null,traits:{}});default:return De}}}function $($e){return{userId:$e.getItem(_),anonymousId:$e.getItem(A$1),traits:$e.getItem(x$1)}}var D=function($e){return j+"TEMP"+j+$e};function B($e){var De=$e.storage,Be=De.setItem,Fe=De.removeItem,He=De.getItem;return function(Ke){return function(Ge){return function(We){var Ze=We.userId,Xe=We.traits,Je=We.options;if(We.type===q.reset&&([_,x$1,A$1].forEach(function(et){Fe(et)}),[k$1,T,"traits"].forEach(function(et){i$4(D(et))})),We.type===q.identify){He(A$1)||Be(A$1,y$1());var Ye=He(_),Qe=He(x$1)||{};Ye&&Ye!==Ze&&Ke.dispatch({type:q.userIdChanged,old:{userId:Ye,traits:Qe},new:{userId:Ze,traits:Xe},options:Je}),Ze&&Be(_,Ze),Xe&&Be(x$1,v({},Qe,Xe))}return Ge(We)}}}}var X={};function J$1($e,De){X[$e]&&W$1(X[$e])&&(X[$e](De),delete X[$e])}function W($e,De,Be){return new Promise(function(Fe,He){return De()?Fe($e):Be<1?He(v({},$e,{queue:!0})):new Promise(function(Ke){return setTimeout(Ke,10)}).then(function(Ke){return W($e,De,Be-10).then(Fe,He)})})}function H($e){return{abort:$e}}function F$1($e,De,Be){var Fe={},He=De(),Ke=$e.getState(),Ge=Ke.plugins,We=Ke.queue,Ze=Ke.user;if(!Ke.context.offline&&We&&We.actions&&We.actions.length){var Xe=We.actions.reduce(function(Ye,Qe,et){return Ge[Qe.plugin].loaded?(Ye.process.push(Qe),Ye.processIndex.push(et)):(Ye.requeue.push(Qe),Ye.requeueIndex.push(et)),Ye},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(Xe.processIndex&&Xe.processIndex.length){Xe.processIndex.forEach(function(Ye){var Qe=We.actions[Ye],et=Qe.plugin,tt=Qe.payload.type,st=He[et][tt];if(st&&W$1(st)){var at,ft=function(rt,lt){return rt===void 0&&(rt={}),lt===void 0&&(lt={}),[k$1,T].reduce(function(pt,$t){return rt.hasOwnProperty($t)&<[$t]&<[$t]!==rt[$t]&&(pt[$t]=lt[$t]),pt},rt)}(Qe.payload,Ze),ut=Fe[ft.meta.rid];if(!ut&&(at=st({payload:ft,config:Ge[et].config,instance:Be,abort:H}))&&on(at)&&at.abort)return void(Fe[ft.meta.rid]=!0);if(!ut){var ot=tt+":"+et;$e.dispatch(v({},ft,{type:ot,_:{called:ot,from:"queueDrain"}}))}}});var Je=We.actions.filter(function(Ye,Qe){return!~Xe.processIndex.indexOf(Qe)});We.actions=Je}}}var G$1=function($e){var De=$e.data,Be=$e.action,Fe=$e.instance,He=$e.state,Ke=$e.allPlugins,Ge=$e.allMatches,We=$e.store,Ze=$e.EVENTS;try{var Xe=He.plugins,Je=He.context,Ye=Be.type,Qe=Ye.match(K),et=De.exact.map(function(at){return at.pluginName});Qe&&(et=Ge.during.map(function(at){return at.pluginName}));var tt=function(at,ft){return function(ut,ot,rt){var lt=ot.config,pt=ot.name,$t=pt+"."+ut.type;rt&&($t=rt.event);var vt=ut.type.match(K)?function(Et,Pt,Nt,yt,It){return function(Rt,gt){var At=yt?yt.name:Et,Ut=gt&&ae(gt)?gt:Nt;if(yt&&(!(Ut=gt&&ae(gt)?gt:[Et]).includes(Et)||Ut.length!==1))throw new Error("Method "+Pt+" can only abort "+Et+" plugin. "+JSON.stringify(Ut)+" input valid");return v({},It,{abort:{reason:Rt,plugins:Ut,caller:Pt,_:At}})}}(pt,$t,ft,rt,ut):function(Et,Pt){return function(){throw new Error(Et.type+" action not cancellable. Remove abort in "+Pt)}}(ut,$t);return{payload:ce(ut),instance:at,config:lt||{},abort:vt}}}(Fe,et),st=De.exact.reduce(function(at,ft){var ut=ft.pluginName,ot=ft.methodName,rt=!1;return ot.match(/^initialize/)||ot.match(/^reset/)||(rt=!Xe[ut].loaded),Je.offline&&ot.match(/^(page|track|identify)/)&&(rt=!0),at[""+ut]=rt,at},{});return Promise.resolve(De.exact.reduce(function(at,ft,ut){try{var ot=ft.pluginName;return Promise.resolve(at).then(function(rt){function lt(){return Promise.resolve(rt)}var pt=function(){if(De.namespaced&&De.namespaced[ot])return Promise.resolve(De.namespaced[ot].reduce(function($t,vt,Et){try{return Promise.resolve($t).then(function(Pt){return vt.method&&W$1(vt.method)?(function(Rt,gt){var At=ue(Rt);if(At&&At.name===gt){var Ut=ue(At.method);throw new Error([gt+" plugin is calling method "+Rt,"Plugins cant call self","Use "+At.method+" "+(Ut?"or "+Ut.method:"")+" in "+gt+" plugin insteadof "+Rt].join(`
|
|
36
36
|
`))}}(vt.methodName,vt.pluginName),Promise.resolve(vt.method({payload:Pt,instance:Fe,abort:(Nt=Pt,yt=ot,It=vt.pluginName,function(Rt,gt){return v({},Nt,{abort:{reason:Rt,plugins:gt||[yt],caller:Ye,from:It||yt}})}),config:ee(vt.pluginName,Xe,Ke),plugins:Xe})).then(function(Rt){var gt=on(Rt)?Rt:{};return Promise.resolve(v({},Pt,gt))})):Pt;var Nt,yt,It})}catch(Pt){return Promise.reject(Pt)}},Promise.resolve(Be))).then(function($t){rt[ot]=$t});rt[ot]=Be}();return pt&&pt.then?pt.then(lt):lt()})}catch(rt){return Promise.reject(rt)}},Promise.resolve({}))).then(function(at){return Promise.resolve(De.exact.reduce(function(ft,ut,ot){try{var rt=De.exact.length===ot+1,lt=ut.pluginName,pt=Ke[lt];return Promise.resolve(ft).then(function($t){var vt=at[lt]?at[lt]:{};if(Qe&&(vt=$t),re(vt,lt))return Z({data:vt,method:Ye,instance:Fe,pluginName:lt,store:We}),Promise.resolve($t);if(re($t,lt))return rt&&Z({data:$t,method:Ye,instance:Fe,store:We}),Promise.resolve($t);if(st.hasOwnProperty(lt)&&st[lt]===!0)return We.dispatch({type:"queue",plugin:lt,payload:vt,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve($t);var Et=tt(at[lt],Ke[lt]);return Promise.resolve(pt[Ye]({abort:Et.abort,payload:vt,instance:Fe,config:ee(lt,Xe,Ke),plugins:Xe})).then(function(Pt){var Nt=on(Pt)?Pt:{},yt=v({},$t,Nt),It=at[lt];if(re(It,lt))Z({data:It,method:Ye,instance:Fe,pluginName:lt,store:We});else{var Rt=Ye+":"+lt;(Rt.match(/:/g)||[]).length<2&&!Ye.match(Q)&&!Ye.match(Y)&&Fe.dispatch(v({},Qe?yt:vt,{type:Rt,_:{called:Rt,from:"submethod"}}))}return Promise.resolve(yt)})})}catch($t){return Promise.reject($t)}},Promise.resolve(Be))).then(function(ft){if(!(Ye.match(K)||Ye.match(/^registerPlugin/)||Ye.match(Y)||Ye.match(Q)||Ye.match(/^params/)||Ye.match(/^userIdChanged/))){if(Ze.plugins.includes(Ye),ft._&&ft._.originalAction===Ye)return ft;var ut=v({},ft,{_:{originalAction:ft.type,called:ft.type,from:"engineEnd"}});ie(ft,De.exact.length)&&!Ye.match(/End$/)&&(ut=v({},ut,{type:ft.type+"Aborted"})),We.dispatch(ut)}return ft})})}catch(at){return Promise.reject(at)}},K=/Start$/,Q=/^bootstrap/,Y=/^ready/;function Z($e){var De=$e.pluginName,Be=$e.method+"Aborted"+(De?":"+De:"");$e.store.dispatch(v({},$e.data,{type:Be,_:{called:Be,from:"abort"}}))}function ee($e,De,Be){var Fe=De[$e]||Be[$e];return Fe&&Fe.config?Fe.config:{}}function ne($e,De){return De.reduce(function(Be,Fe){return Fe[$e]?Be.concat({methodName:$e,pluginName:Fe.name,method:Fe[$e]}):Be},[])}function te($e,De){var Be=$e.replace(K,""),Fe=De?":"+De:"";return[""+$e+Fe,""+Be+Fe,Be+"End"+Fe]}function re($e,De){var Be=$e.abort;return!!Be&&(Be===!0||oe(Be,De)||Be&&oe(Be.plugins,De))}function ie($e,De){var Be=$e.abort;if(!Be)return!1;if(Be===!0||q$1(Be))return!0;var Fe=Be.plugins;return ae(Be)&&Be.length===De||ae(Fe)&&Fe.length===De}function ae($e){return Array.isArray($e)}function oe($e,De){return!(!$e||!ae($e))&&$e.includes(De)}function ue($e){var De=$e.match(/(.*):(.*)/);return!!De&&{method:De[1],name:De[2]}}function ce($e){return Object.keys($e).reduce(function(De,Be){return Be==="type"||(De[Be]=on($e[Be])?Object.assign({},$e[Be]):$e[Be]),De},{})}function se($e,De,Be){var Fe={};return function(He){return function(Ke){return function(Ge){try{var We,Ze=function(rt){return We?rt:Ke(Ye)},Xe=Ge.type,Je=Ge.plugins,Ye=Ge;if(Ge.abort)return Promise.resolve(Ke(Ge));if(Xe===q.enablePlugin&&He.dispatch({type:q.initializeStart,plugins:Je,disabled:[],fromEnable:!0,meta:Ge.meta}),Xe===q.disablePlugin&&setTimeout(function(){return J$1(Ge.meta.rid,{payload:Ge})},0),Xe===q.initializeEnd){var Qe=De(),et=Object.keys(Qe),tt=et.filter(function(rt){return Je.includes(rt)}).map(function(rt){return Qe[rt]}),st=[],at=[],ft=Ge.disabled,ut=tt.map(function(rt){var lt=rt.loaded,pt=rt.name,$t=rt.config;return W(rt,function(){return lt({config:$t})},1e4).then(function(vt){return Fe[pt]||(He.dispatch({type:q.pluginReadyType(pt),name:pt,events:Object.keys(rt).filter(function(Et){return!M.includes(Et)})}),Fe[pt]=!0),st=st.concat(pt),rt}).catch(function(vt){if(vt instanceof Error)throw new Error(vt);return at=at.concat(vt.name),vt})});Promise.all(ut).then(function(rt){var lt={plugins:st,failed:at,disabled:ft};setTimeout(function(){et.length===ut.length+ft.length&&He.dispatch(v({},{type:q.ready},lt))},0)})}var ot=function(){if(Xe!==q.bootstrap)return/^ready:([^:]*)$/.test(Xe)&&setTimeout(function(){return F$1(He,De,$e)},0),Promise.resolve(function(rt,lt,pt,$t,vt){try{var Et=W$1(lt)?lt():lt,Pt=rt.type,Nt=Pt.replace(K,"");if(rt._&&rt._.called)return Promise.resolve(rt);var yt=pt.getState(),It=(At=Et,(Ut=yt.plugins)===void 0&&(Ut={}),(xt=rt.options)===void 0&&(xt={}),Object.keys(At).filter(function(nt){var it=xt.plugins||{};return Q$1(it[nt])?it[nt]:it.all!==!1&&(!Ut[nt]||Ut[nt].enabled!==!1)}).map(function(nt){return At[nt]}));Pt===q.initializeStart&&rt.fromEnable&&(It=Object.keys(yt.plugins).filter(function(nt){var it=yt.plugins[nt];return rt.plugins.includes(nt)&&!it.initialized}).map(function(nt){return Et[nt]}));var Rt=It.map(function(nt){return nt.name}),gt=function(nt,it,ht){var St=te(nt).map(function(bt){return ne(bt,it)});return it.reduce(function(bt,Tt){var kt=Tt.name,wt=te(nt,kt).map(function(Bt){return ne(Bt,it)}),Lt=wt[0],Ot=wt[1],jt=wt[2];return Lt.length&&(bt.beforeNS[kt]=Lt),Ot.length&&(bt.duringNS[kt]=Ot),jt.length&&(bt.afterNS[kt]=jt),bt},{before:St[0],beforeNS:{},during:St[1],duringNS:{},after:St[2],afterNS:{}})}(Pt,It);return Promise.resolve(G$1({action:rt,data:{exact:gt.before,namespaced:gt.beforeNS},state:yt,allPlugins:Et,allMatches:gt,instance:pt,store:$t,EVENTS:vt})).then(function(nt){function it(){var bt=function(){if(Pt.match(K))return Promise.resolve(G$1({action:v({},ht,{type:Nt+"End"}),data:{exact:gt.after,namespaced:gt.afterNS},state:yt,allPlugins:Et,allMatches:gt,instance:pt,store:$t,EVENTS:vt})).then(function(Tt){Tt.meta&&Tt.meta.hasCallback&&J$1(Tt.meta.rid,{payload:Tt})})}();return bt&&bt.then?bt.then(function(){return nt}):nt}if(ie(nt,Rt.length))return nt;var ht,St=function(){if(Pt!==Nt)return Promise.resolve(G$1({action:v({},nt,{type:Nt}),data:{exact:gt.during,namespaced:gt.duringNS},state:yt,allPlugins:Et,allMatches:gt,instance:pt,store:$t,EVENTS:vt})).then(function(bt){ht=bt});ht=nt}();return St&&St.then?St.then(it):it()})}catch(nt){return Promise.reject(nt)}var At,Ut,xt}(Ge,De,$e,He,Be)).then(function(rt){return We=1,Ke(rt)})}();return Promise.resolve(ot&&ot.then?ot.then(Ze):Ze(ot))}catch(rt){return Promise.reject(rt)}}}}}function le($e){return function(De){return function(Be){return function(Fe){var He=Fe.type,Ke=Fe.key,Ge=Fe.value,We=Fe.options;if(He===q.setItem||He===q.removeItem){if(Fe.abort)return Be(Fe);He===q.setItem?$e.setItem(Ke,Ge,We):$e.removeItem(Ke,We)}return Be(Fe)}}}}var fe=function(){var $e=this;this.before=[],this.after=[],this.addMiddleware=function(De,Be){$e[Be]=$e[Be].concat(De)},this.removeMiddleware=function(De,Be){var Fe=$e[Be].findIndex(function(He){return He===De});Fe!==-1&&($e[Be]=[].concat($e[Be].slice(0,Fe),$e[Be].slice(Fe+1)))},this.dynamicMiddlewares=function(De){return function(Be){return function(Fe){return function(He){var Ke={getState:Be.getState,dispatch:function(We){return Be.dispatch(We)}},Ge=$e[De].map(function(We){return We(Ke)});return N$1.apply(void 0,Ge)(Fe)(He)}}}}};function de($e){return function(De,Be){De===void 0&&(De={});var Fe={};if(Be.type==="initialize:aborted")return De;if(/^registerPlugin:([^:]*)$/.test(Be.type)){var He=pe(Be.type,"registerPlugin"),Ke=$e()[He];if(!Ke||!He)return De;var Ge=Be.enabled,We=Ke.config;return Fe[He]={enabled:Ge,initialized:!!Ge&&!Ke.initialize,loaded:!!Ge&&!!Ke.loaded({config:We}),config:We},v({},De,Fe)}if(/^initialize:([^:]*)$/.test(Be.type)){var Ze=pe(Be.type,q.initialize),Xe=$e()[Ze];return Xe&&Ze?(Fe[Ze]=v({},De[Ze],{initialized:!0,loaded:!!Xe.loaded({config:Xe.config})}),v({},De,Fe)):De}if(/^ready:([^:]*)$/.test(Be.type))return Fe[Be.name]=v({},De[Be.name],{loaded:!0}),v({},De,Fe);switch(Be.type){case q.disablePlugin:return v({},De,me(Be.plugins,!1,De));case q.enablePlugin:return v({},De,me(Be.plugins,!0,De));default:return De}}}function pe($e,De){return $e.substring(De.length+1,$e.length)}function me($e,De,Be){return $e.reduce(function(Fe,He){return Fe[He]=v({},Be[He],{enabled:De}),Fe},Be)}function ge($e){try{return JSON.parse(JSON.stringify($e))}catch{}return $e}var he={last:{},history:[]};function ve($e,De){$e===void 0&&($e=he);var Be=De.options,Fe=De.meta;if(De.type===q.track){var He=ge(v({event:De.event,properties:De.properties},Object.keys(Be).length&&{options:Be},{meta:Fe}));return v({},$e,{last:He,history:$e.history.concat(He)})}return $e}var ye={actions:[]};function be($e,De){$e===void 0&&($e=ye);var Be=De.payload;switch(De.type){case"queue":var Fe;return Fe=Be&&Be.type&&Be.type===q.identify?[De].concat($e.actions):$e.actions.concat(De),v({},$e,{actions:Fe});case"dequeue":return[];default:return $e}}var Ie=/#.*$/;function we($e){var De=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec($e);return"/"+(De&&De[3]?De[3].split("?")[0].replace(Ie,""):"")}var Ee,Pe,Se,Ne,Oe=function($e){if($e===void 0&&($e={}),!$$1)return $e;var De=document,Be=De.title,Fe=De.referrer,He=window,Ke=He.location,Ge=He.innerWidth,We=He.innerHeight,Ze=Ke.hash,Xe=Ke.search,Je=function(Qe){var et=function(){if($$1){for(var tt,st=document.getElementsByTagName("link"),at=0;tt=st[at];at++)if(tt.getAttribute("rel")==="canonical")return tt.getAttribute("href")}}();return et?et.match(/\?/)?et:et+Qe:window.location.href.replace(Ie,"")}(Xe),Ye={title:Be,url:Je,path:we(Je),hash:Ze,search:Xe,width:Ge,height:We};return Fe&&Fe!==""&&(Ye.referrer=Fe),v({},Ye,$e)},Ae={last:{},history:[]};function _e($e,De){$e===void 0&&($e=Ae);var Be=De.options;if(De.type===q.page){var Fe=ge(v({properties:De.properties,meta:De.meta},Object.keys(Be).length&&{options:Be}));return v({},$e,{last:Fe,history:$e.history.concat(Fe)})}return $e}Ee=function(){if(!$$1)return!1;var $e=navigator.appVersion;return~$e.indexOf("Win")?"Windows":~$e.indexOf("Mac")?"MacOS":~$e.indexOf("X11")?"UNIX":~$e.indexOf("Linux")?"Linux":"Unknown OS"}(),Pe=$$1?document.referrer:null,Se=o$3(),Ne=a$5();var xe={initialized:!1,sessionId:y$1(),app:null,version:null,debug:!1,offline:!!$$1&&!navigator.onLine,os:{name:Ee},userAgent:$$1?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.13"},timezone:Ne,locale:Se,campaign:{},referrer:Pe};function je($e,De){$e===void 0&&($e=xe);var Be=$e.initialized,Fe=De.campaign;switch(De.type){case q.campaign:return v({},$e,{campaign:Fe});case q.offline:return v({},$e,{offline:!0});case q.online:return v({},$e,{offline:!1});default:return Be?$e:v({},xe,$e,{initialized:!0})}}var ke=["plugins","reducers","storage"];function Te($e,De,Be){if($$1){var Fe=window[(Be?"add":"remove")+"EventListener"];$e.split(" ").forEach(function(He){Fe(He,De)})}}function ze($e){var De=Te.bind(null,"online offline",function(Be){return Promise.resolve(!navigator.onLine).then($e)});return De(!0),function(Be){return De(!1)}}function Me(){return f$1("analytics",[]),function($e){return function(De,Be,Fe){var He=$e(De,Be,Fe),Ke=He.dispatch;return Object.assign(He,{dispatch:function(Ge){return n[o$2].analytics.push(Ge.action||Ge),Ke(Ge)}})}}}function qe($e){return function(){return N$1(N$1.apply(null,arguments),Me())}}function Ue($e){return $e?rn($e)?$e:[$e]:[]}function Ve($e,De,Be){$e===void 0&&($e={});var Fe,He,Ke=y$1();return De&&(X[Ke]=(Fe=De,He=function(Ge){for(var We,Ze=Ge||Array.prototype.slice.call(arguments),Xe=0;Xe<Ze.length;Xe++)if(W$1(Ze[Xe])){We=Ze[Xe];break}return We}(Be),function(Ge){He&&He(Ge),Fe(Ge)})),v({},$e,{rid:Ke,ts:new Date().getTime()},De?{hasCallback:!0}:{})}function Le($e){$e===void 0&&($e={});var De=$e.reducers||{},Be=$e.initialUser||{},Fe=($e.plugins||[]).reduce(function(nt,it){if(W$1(it))return nt.middlewares=nt.middlewares.concat(it),nt;if(it.NAMESPACE&&(it.name=it.NAMESPACE),!it.name)throw new Error("https://lytics.dev/errors/1");it.config||(it.config={});var ht=it.EVENTS?Object.keys(it.EVENTS).map(function(Tt){return it.EVENTS[Tt]}):[];nt.pluginEnabled[it.name]=!(it.enabled===!1||it.config.enabled===!1),delete it.enabled,it.methods&&(nt.methods[it.name]=Object.keys(it.methods).reduce(function(Tt,kt){var wt;return Tt[kt]=(wt=it.methods[kt],function(){for(var Lt=Array.prototype.slice.call(arguments),Ot=new Array(wt.length),jt=0;jt<Lt.length;jt++)Ot[jt]=Lt[jt];return Ot[Ot.length]=lt,wt.apply({instance:lt},Ot)}),Tt},{}),delete it.methods);var St=Object.keys(it).concat(ht),bt=new Set(nt.events.concat(St));if(nt.events=Array.from(bt),nt.pluginsArray=nt.pluginsArray.concat(it),nt.plugins[it.name])throw new Error(it.name+"AlreadyLoaded");return nt.plugins[it.name]=it,nt.plugins[it.name].loaded||(nt.plugins[it.name].loaded=function(){return!0}),nt},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),He=$e.storage?$e.storage:{getItem:a$4,setItem:f$1,removeItem:i$4},Ke=function(nt){return function(it,ht,St){return ht.getState("user")[it]||(St&&on(St)&&St[it]?St[it]:$(nt)[it]||a$4(D(it))||null)}}(He),Ge=Fe.plugins,We=Fe.events.filter(function(nt){return!M.includes(nt)}).sort(),Ze=new Set(We.concat(z).filter(function(nt){return!M.includes(nt)})),Xe=Array.from(Ze).sort(),Je=function(){return Ge},Ye=new fe,Qe=Ye.addMiddleware,et=Ye.removeMiddleware,tt=Ye.dynamicMiddlewares,st=function(){throw new Error("Abort disabled inListener")},at=s$1(),ft=$(He),ut=v({},ft,Be,at.an_uid?{userId:at.an_uid}:{},at.an_aid?{anonymousId:at.an_aid}:{});ut.anonymousId||(ut.anonymousId=y$1());var ot=v({enable:function(nt,it){return new Promise(function(ht){gt.dispatch({type:q.enablePlugin,plugins:Ue(nt),_:{originalAction:q.enablePlugin}},ht,[it])})},disable:function(nt,it){return new Promise(function(ht){gt.dispatch({type:q.disablePlugin,plugins:Ue(nt),_:{originalAction:q.disablePlugin}},ht,[it])})}},Fe.methods),rt=!1,lt={identify:function(nt,it,ht,St){try{var bt=q$1(nt)?nt:null,Tt=on(nt)?nt:it,kt=ht||{},wt=lt.user();f$1(D(k$1),bt);var Lt=bt||Tt.userId||Ke(k$1,lt,Tt);return Promise.resolve(new Promise(function(Ot){gt.dispatch(v({type:q.identifyStart,userId:Lt,traits:Tt||{},options:kt,anonymousId:wt.anonymousId},wt.id&&wt.id!==bt&&{previousId:wt.id}),Ot,[it,ht,St])}))}catch(Ot){return Promise.reject(Ot)}},track:function(nt,it,ht,St){try{var bt=on(nt)?nt.event:nt;if(!bt||!q$1(bt))throw new Error("EventMissing");var Tt=on(nt)?nt:it||{},kt=on(ht)?ht:{};return Promise.resolve(new Promise(function(wt){gt.dispatch({type:q.trackStart,event:bt,properties:Tt,options:kt,userId:Ke(k$1,lt,it),anonymousId:Ke(T,lt,it)},wt,[it,ht,St])}))}catch(wt){return Promise.reject(wt)}},page:function(nt,it,ht){try{var St=on(nt)?nt:{},bt=on(it)?it:{};return Promise.resolve(new Promise(function(Tt){gt.dispatch({type:q.pageStart,properties:Oe(St),options:bt,userId:Ke(k$1,lt,St),anonymousId:Ke(T,lt,St)},Tt,[nt,it,ht])}))}catch(Tt){return Promise.reject(Tt)}},user:function(nt){if(nt===k$1||nt==="id")return Ke(k$1,lt);if(nt===T||nt==="anonId")return Ke(T,lt);var it=lt.getState("user");return nt?i$5(it,nt):it},reset:function(nt){return new Promise(function(it){gt.dispatch({type:q.resetStart},it,nt)})},ready:function(nt){return rt&&nt({plugins:ot,instance:lt}),lt.on(q.ready,function(it){nt(it),rt=!0})},on:function(nt,it){if(!nt||!W$1(it))return!1;if(nt===q.bootstrap)throw new Error(".on disabled for "+nt);var ht=/Start$|Start:/;if(nt==="*"){var St=function(wt){return function(Lt){return function(Ot){return Ot.type.match(ht)&&it({payload:Ot,instance:lt,plugins:Ge}),Lt(Ot)}}},bt=function(wt){return function(Lt){return function(Ot){return Ot.type.match(ht)||it({payload:Ot,instance:lt,plugins:Ge}),Lt(Ot)}}};return Qe(St,Ce),Qe(bt,Re),function(){et(St,Ce),et(bt,Re)}}var Tt=nt.match(ht)?Ce:Re,kt=function(wt){return function(Lt){return function(Ot){return Ot.type===nt&&it({payload:Ot,instance:lt,plugins:Ge,abort:st}),Lt(Ot)}}};return Qe(kt,Tt),function(){return et(kt,Tt)}},once:function(nt,it){if(!nt||!W$1(it))return!1;if(nt===q.bootstrap)throw new Error(".once disabled for "+nt);var ht=lt.on(nt,function(St){it({payload:St.payload,instance:lt,plugins:Ge,abort:st}),ht()});return ht},getState:function(nt){var it=gt.getState();return nt?i$5(it,nt):Object.assign({},it)},dispatch:function(nt){var it=q$1(nt)?{type:nt}:nt;if(z.includes(it.type))throw new Error("reserved action "+it.type);var ht=v({},it,{_:v({originalAction:it.type},nt._||{})});gt.dispatch(ht)},enablePlugin:ot.enable,disablePlugin:ot.disable,plugins:ot,storage:{getItem:He.getItem,setItem:function(nt,it,ht){gt.dispatch({type:q.setItemStart,key:nt,value:it,options:ht})},removeItem:function(nt,it){gt.dispatch({type:q.removeItemStart,key:nt,options:it})}},setAnonymousId:function(nt,it){lt.storage.setItem(A$1,nt,it)},events:{core:z,plugins:We}},pt=Fe.middlewares.concat([function(nt){return function(it){return function(ht){return ht.meta||(ht.meta=Ve()),it(ht)}}},tt(Ce),se(lt,Je,{all:Xe,plugins:We}),le(He),C$1(lt),B(lt),tt(Re)]),$t={context:je,user:R(He),page:_e,track:ve,plugins:de(Je),queue:be},vt=N$1,Et=N$1;if($$1&&$e.debug){var Pt=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;Pt&&(vt=Pt({trace:!0,traceLimit:25})),Et=function(){return arguments.length===0?Me():on(typeof arguments[0])?qe():qe().apply(null,arguments)}}var Nt,yt=function(nt){return Object.keys(nt).reduce(function(it,ht){return ke.includes(ht)||(it[ht]=nt[ht]),it},{})}($e),It=Fe.pluginsArray.reduce(function(nt,it){var ht=it.name,St=it.config,bt=it.loaded,Tt=Fe.pluginEnabled[ht];return nt[ht]={enabled:Tt,initialized:!!Tt&&!it.initialize,loaded:!!bt({config:St}),config:St},nt},{}),Rt={context:yt,user:ut,plugins:It},gt=P(function(nt){for(var it=Object.keys(nt),ht={},St=0;St<it.length;St++){var bt=it[St];typeof nt[bt]===y&&(ht[bt]=nt[bt])}var Tt,kt=Object.keys(ht);try{(function(wt){Object.keys(wt).forEach(function(Lt){var Ot=wt[Lt];if(typeof Ot(void 0,{type:"@@redux/INIT"})===b$1||typeof Ot(void 0,{type:I$1})===b$1)throw new Error("reducer "+Lt+" "+b$1)})})(ht)}catch(wt){Tt=wt}return function(wt,Lt){if(wt===void 0&&(wt={}),Tt)throw Tt;for(var Ot=!1,jt={},Bt=0;Bt<kt.length;Bt++){var Ft=kt[Bt],Gt=wt[Ft],ct=(0,ht[Ft])(Gt,Lt);if(typeof ct===b$1){var dt=S(Ft,Lt);throw new Error(dt)}jt[Ft]=ct,Ot=Ot||ct!==Gt}return Ot?jt:wt}}(v({},$t,De)),Rt,Et(vt(O$1.apply(void 0,pt))));gt.dispatch=(Nt=gt.dispatch,function(nt,it,ht){var St=v({},nt,{meta:Ve(nt.meta,it,Ue(ht))});return Nt.apply(null,[St])});var At=Object.keys(Ge);gt.dispatch({type:q.bootstrap,plugins:At,config:yt,params:at,user:ut,initialUser:Be,persistedUser:ft});var Ut=At.filter(function(nt){return Fe.pluginEnabled[nt]}),xt=At.filter(function(nt){return!Fe.pluginEnabled[nt]});return gt.dispatch({type:q.registerPlugins,plugins:At,enabled:Fe.pluginEnabled}),Fe.pluginsArray.map(function(nt,it){var ht=nt.bootstrap,St=nt.config,bt=nt.name;ht&&W$1(ht)&&ht({instance:lt,config:St,payload:nt}),gt.dispatch({type:q.registerPluginType(bt),name:bt,enabled:Fe.pluginEnabled[bt],plugin:nt}),Fe.pluginsArray.length===it+1&>.dispatch({type:q.initializeStart,plugins:Ut,disabled:xt})}),ze(function(nt){gt.dispatch({type:nt?q.offline:q.online})}),function(nt,it,ht){setInterval(function(){return F$1(nt,it,ht)},3e3)}(gt,Je,lt),lt}var Ce="before",Re="after",t="cookie",i$3=a$3(),r$2=d$1,c$2=d$1;function u$2($e){return i$3?d$1($e,"",-1):i$4($e)}function a$3(){if(i$3!==void 0)return i$3;var $e="cookiecookie";try{d$1($e,$e),i$3=document.cookie.indexOf($e)!==-1,u$2($e)}catch{i$3=!1}return i$3}function d$1($e,De,Be,Fe,He,Ke){if(typeof window<"u"){var Ge=arguments.length>1;return i$3===!1&&(Ge?f$1($e,De):a$4($e)),Ge?document.cookie=$e+"="+encodeURIComponent(De)+(Be?"; expires="+new Date(+new Date+1e3*Be).toUTCString()+(Fe?"; path="+Fe:"")+(He?"; domain="+He:"")+(Ke?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+$e+"=")[1]||"").split(";")[0])}}var r$1="localStorage",g=b$2.bind(null,"localStorage");u$3("localStorage","getItem",a$4);u$3("localStorage","setItem",f$1);u$3("localStorage","removeItem",i$4);var a$2="sessionStorage",i$2=b$2.bind(null,"sessionStorage");u$3("sessionStorage","getItem",a$4);u$3("sessionStorage","setItem",f$1);u$3("sessionStorage","removeItem",i$4);function I($e){var De=$e;try{if((De=JSON.parse($e))==="true")return!0;if(De==="false")return!1;if(on(De))return De;parseFloat(De)===De&&(De=parseFloat(De))}catch{}if(De!==null&&De!=="")return De}var k=g(),O=i$2(),x=a$3();function C($e,De){if($e){var Be=A(De),Fe=!N(Be),He=d(Be)?I(localStorage.getItem($e)):void 0;if(Fe&&!I$2(He))return He;var Ke=h(Be)?I(r$2($e)):void 0;if(Fe&&Ke)return Ke;var Ge=E(Be)?I(sessionStorage.getItem($e)):void 0;if(Fe&&Ge)return Ge;var We=a$4($e);return Fe?We:{localStorage:He,sessionStorage:Ge,cookie:Ke,global:We}}}function L($e,De,Be){if($e&&!I$2(De)){var Fe={},He=A(Be),Ke=JSON.stringify(De),Ge=!N(He);return d(He)&&(Fe[r$1]=F(r$1,De,I(localStorage.getItem($e))),localStorage.setItem($e,Ke),Ge)?Fe[r$1]:h(He)&&(Fe[t]=F(t,De,I(r$2($e))),c$2($e,Ke),Ge)?Fe[t]:E(He)&&(Fe[a$2]=F(a$2,De,I(sessionStorage.getItem($e))),sessionStorage.setItem($e,Ke),Ge)?Fe[a$2]:(Fe[l$2]=F(l$2,De,a$4($e)),f$1($e,De),Ge?Fe[l$2]:Fe)}}function b($e,De){if($e){var Be=A(De),Fe=C($e,m$1),He={};return!I$2(Fe.localStorage)&&d(Be)&&(localStorage.removeItem($e),He[r$1]=Fe.localStorage),!I$2(Fe.cookie)&&h(Be)&&(u$2($e),He[t]=Fe.cookie),!I$2(Fe.sessionStorage)&&E(Be)&&(sessionStorage.removeItem($e),He[a$2]=Fe.sessionStorage),!I$2(Fe.global)&&G(Be,l$2)&&(i$4($e),He[l$2]=Fe.global),He}}function A($e){return $e?q$1($e)?$e:$e.storage:b$4}function d($e){return k&&G($e,r$1)}function h($e){return x&&G($e,t)}function E($e){return O&&G($e,a$2)}function N($e){return $e===m$1||$e==="all"}function G($e,De){return $e===b$4||$e===De||N($e)}function F($e,De,Be){return{location:$e,current:De,previous:Be}}var J={setItem:L,getItem:C,removeItem:b};function _defineProperty($e,De,Be){return De in $e?Object.defineProperty($e,De,{value:Be,enumerable:!0,configurable:!0,writable:!0}):$e[De]=Be,$e}function ownKeys($e,De){var Be=Object.keys($e);if(Object.getOwnPropertySymbols){var Fe=Object.getOwnPropertySymbols($e);De&&(Fe=Fe.filter(function(He){return Object.getOwnPropertyDescriptor($e,He).enumerable})),Be.push.apply(Be,Fe)}return Be}function _objectSpread2($e){for(var De=1;De<arguments.length;De++){var Be=arguments[De]!=null?arguments[De]:{};De%2?ownKeys(Object(Be),!0).forEach(function(Fe){_defineProperty($e,Fe,Be[Fe])}):Object.getOwnPropertyDescriptors?Object.defineProperties($e,Object.getOwnPropertyDescriptors(Be)):ownKeys(Object(Be)).forEach(function(Fe){Object.defineProperty($e,Fe,Object.getOwnPropertyDescriptor(Be,Fe))})}return $e}function analyticsLib(){var $e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},De={storage:J};return Le(_objectSpread2(_objectSpread2({},De),$e))}function saturated($e,De){De=De||{};var Be,Fe,He=[],Ke=De.max||1/0;function Ge(){clearInterval(Be),$e(He.splice(0,Ke)),We()}function We(){Be=setInterval(Ge,De.interval||1e4)}return We(),{flush:Ge,push:function(Ze){return Fe=He.push(Ze),Fe>=Ke&&Ge(),Fe},size:function(){return He.length},end:function(Ze){Ze&&Ge(),clearInterval(Be)}}}function onRouteChange($e){if(typeof window>"u")return;const{addEventListener:De,history:Be,location:Fe}=window;let He=Fe.pathname;De("popstate",()=>$e(Fe.pathname)),["push","replace"].map(Ke=>{const Ge=`${Ke}State`;if(Ge!=="pushState"&&Ge!=="replaceState")return;const We=Be[Ge];Be[Ge]=function(...Ze){var Ye;const Xe=((Ye=Ze[2])==null?void 0:Ye.toString())||"",Je=trimPath(Xe);return He!==Je&&(He=Je,setTimeout(()=>$e(Xe),0)),We.apply(Be,Ze)}})}function remove($e,De){const Be=$e.indexOf(De);return Be>-1?$e.slice(0,Be):$e}function trimPath($e){return["#","?"].forEach(De=>$e=remove($e,De)),$e}function routeChangeListener(){onRouteChange(()=>{analytics.page()})}function i$1($e){if($e===void 0&&($e={}),!$$1)return g$1;var De=l$1(),Be=c$1(),Fe=o$1(),He=s(Fe,De),Ke=s(Be,De),Ge=[],We=[],Ze=[],Xe=Fe,Je=He,Ye=Ke,Qe=Object.keys($e);if(!Qe.length)return g$1;var et=Qe.map(function(st){return Number(st)}),tt=b$3(function(){var st=l$1(),at=function(yt,It){return It.map(function(Rt){return Rt===100?yt-5:yt*(Rt/100)})}(st,et),ft=c$1(),ut=o$1(),ot=s(ut,st),rt=s(ft,st);if(Je=ot>Je?ot:Je,Ye=rt<Ye?rt:Ye,!(Ge.length>=et.length)){var lt=Xe===ut,pt="up";lt?pt="initial":Xe<=ut&&(pt="down");var $t=at,vt=et;(pt==="up"||lt)&&($t=at.slice().reverse(),vt=et.slice().reverse());var Et=vt.reduce(function(yt,It,Rt){var gt=$t[Rt];return Ze.includes(It)&&ut<=gt&&(Ze=Ze.filter(function(At){return At!==It}),yt.singleFunction=It),pt==="down"&&!Ge.includes(It)&&ut>=gt&&It>Ke?(We.push(It),yt.callbacks=yt.callbacks.concat(It),yt):pt==="up"&&!Ge.includes(It)&&ut<=gt&&It<=ot?(yt.foundFunc=[It],yt):(lt&&ut>=gt&&yt.foundFunc.length===0&&(yt.foundFunc=[It]),!We.includes(It)&&ut>=gt&&(We.push(It),yt.singleFunction?Ze.push(It):yt.singleFunction=It),yt)},{foundFunc:[],singleFunction:null,callbacks:[],direction:pt});if(Xe=ut,pt==="down"&&Et.callbacks&&Et.callbacks.forEach(function(yt){W$1($e[yt])&&($e[yt]({trigger:yt,direction:pt,scrollMin:Ye,scrollMax:Je,range:[Ye,Je]}),Ge.push(yt))}),Et.singleFunction){var Pt=Et.singleFunction,Nt=Et.direction;W$1($e[Pt])&&$e[Pt]({trigger:Pt,direction:Nt,scrollMin:Ye,scrollMax:Je,range:[Ye,Je]}),Ge.push(Pt)}}},500);return window.addEventListener("scroll",tt),function(){return window.removeEventListener("scroll",tt)}}function c$1(){return $$1?document.body.scrollTop||document.documentElement.scrollTop:0}function u$1(){return $$1?window.innerHeight||document.documentElement.clientHeight:0}function o$1(){return Math.round(c$1()+u$1())}function l$1(){if(!$$1)return 0;var $e=document.body,De=document.documentElement;return Math.max($e.scrollHeight,$e.offsetHeight,De.clientHeight,De.scrollHeight,De.offsetHeight)}function s($e,De){return Math.round($e/De*100)}var i="EventListener";function u($e){return function(De,Be,Fe,He){var Ke=Fe||g$1,Ge=He||!1;if(!$$1)return Ke;var We=l(Be),Ze=l(De,!0);if(!Ze.length)throw new Error("noElements");if(!We.length)throw new Error("noEvent");var Xe=[];return function Je(Ye){Ye&&(Xe=[]);for(var Qe=Ye?"add"+i:"remove"+i,et=0;et<Ze.length;et++){var tt=Ze[et];Xe[et]=Ye?Ge&&Ge.once?a$1(Ke):Ke:Xe[et]||Ke;for(var st=0;st<We.length;st++)tt[Qe]?tt["on"+We[st]]=Ye?Xe[et]:null:tt[Qe](We[st],Xe[et],Ge)}return Je.bind(null,!Ye)}($e)}}function l($e,De){if(q$1($e))return De?l(document.querySelectorAll($e)):(Be=$e).split(Be.indexOf(",")>-1?",":" ").map(function(Ge){return Ge.trim()});var Be;if(NodeList.prototype.isPrototypeOf($e)){for(var Fe=[],He=$e.length>>>0;He--;)Fe[He]=$e[He];return Fe}var Ke=Hn($e);return De?Ke.map(function(Ge){return q$1(Ge)?l(Ge,!0):Ge}).flat():Ke}function a$1($e,De){var Be;return function(){return $e&&(Be=$e.apply(this,arguments),$e=null),Be}}var f=u("Event");function p($e,De){return $$1&&W$1(window[$e])?(Be=window[$e],Fe=De,(He=window)===void 0&&(He=null),W$1(Be)?function(){Be.apply(He,arguments),Fe.apply(He,arguments)}:Fe):window[$e]=De;var Be,Fe,He}p.bind(null,"onerror");p.bind(null,"onload");var isServer=typeof window>"u",HIDDEN="hidden";function onTabChange($e){if(isServer)return!1;var De=getHiddenProp(),Be="".concat(De.replace(/[H|h]idden/,""),"visibilitychange"),Fe=function(){return $e(!!document[De])},He=function(){return document.addEventListener(Be,Fe)};return He(),function(){return document.removeEventListener(Be,Fe),He}}function getHiddenProp(){var $e=["webkit","moz","ms","o"];return isServer||HIDDEN in document?HIDDEN:$e.reduce(function(De,Be){var Fe=Be+"Hidden";return!De&&Fe in document?Fe:De},null)}var o=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function r($e,De){De===void 0&&(De={});var Be=function(Ge,We){var Ze=this,Xe=!1;return function(Je){Xe||(Ge.call(Ze,Je),Xe=!0,setTimeout(function(){return Xe=!1},We))}}($e,De.throttle||1e4),Fe=[];function He(){var Ge=onTabChange(function(We){We||Be({type:"tabVisible"})});return Fe=[Ge].concat(o.map(function(We){return f(document,We,Be)})).concat(f(window,"load",Be)).concat(f(window,"scroll",Be,{capture:!0,passive:!0})),Ke}function Ke(){Fe.map(function(Ge){return Ge()})}return He(),function(){return Ke(),He}}function a($e){var De,Be,Fe=$e.onIdle,He=$e.onWakeUp,Ke=$e.onHeartbeat,Ge=$e.timeout,We=Ge===void 0?1e4:Ge,Ze=$e.throttle,Xe=Ze===void 0?2e3:Ze,Je=!1,Ye=!1,Qe=new Date,et=function(){return clearTimeout(De)};function tt(at){et(),Ke&&!Je&&Ke(c(Qe),at),He&&Je&&(Je=!1,He(c(Be),at),Qe=new Date),De=setTimeout(function(){Je=!0,Fe&&(Be=new Date,Fe(c(Qe),at))},We)}var st=r(tt,{throttle:Xe});return{disable:function(){Ye=!0,Je=!1,et();var at=st();return function(){return Ye=!1,Qe=new Date,tt({type:"load"}),at()}},getStatus:function(){return{isIdle:Je,isDisabled:Ye,active:Je?0:c(Qe,Ye),idle:Je?c(Be,Ye):0}}}}function c($e,De){return De?0:Math.round((new Date-$e)/1e3)}const timeout=5e3;class ElementTracker{constructor(De){Dt(this,"element");Dt(this,"isInViewport",!1);Dt(this,"isAwake",!1);Dt(this,"isFlushing");Dt(this,"observer");Dt(this,"lastEventAt",Date.now());Dt(this,"registeredView",!1);Dt(this,"viewCallback");Dt(this,"activeDurationCallback");Dt(this,"idleDurationCallback");Dt(this,"scrollCallback");this.element=De.element,this.viewCallback=De.viewCallback,this.activeDurationCallback=De.activeDurationCallback,this.idleDurationCallback=De.idleDurationCallback,this.scrollCallback=De.scrollCallback,this.observer=new IntersectionObserver(Be=>{Be.forEach(Fe=>{this.handleInViewPort(Fe.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),a({onIdle:Be=>this.handleAwake(!1,Be),onWakeUp:Be=>this.handleAwake(!0,Be),timeout}),i$1({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(De){De?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=De}handleAwake(De,Be=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=De,this.lastEventAt=De?Date.now()-Be*timeout:Date.now(),this.isInViewport&&this.trackAwake(De,Be)}handleScroll(De){this.scrollCallback&&this.scrollCallback(De)}handleVisibilityChange(){this.isAwake=!1;const De=Math.round((Date.now()-this.lastEventAt)/1e3);De>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,De))}trackAwake(De,Be){!De&&this.activeDurationCallback&&this.activeDurationCallback(Be,this.isFlushing,this.lastEventAt),De&&this.idleDurationCallback&&this.idleDurationCallback(Be,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const SESSION_ID_KEY="sesamy_session_id";function getSessionId(){let $e=sessionStorage.getItem(SESSION_ID_KEY);return $e||($e=Math.random().toString(36).slice(2,9),sessionStorage.setItem(SESSION_ID_KEY,$e)),$e}function generateCSSSelector($e){function De(Fe){return Fe.id?`#${Fe.id}`:Fe.classList.length>0?Array.from(Fe.classList).map(Ke=>`.${Ke}`).join(""):null}function Be(Fe){const He=[];let Ke=Fe;for(;Ke&&Ke!==document.body&&Ke!==document.documentElement;){const Ge=De(Ke);if(Ge){He.unshift(Ge);break}if(Ke.parentElement){const We=Array.from(Ke.parentElement.children),Ze=We.indexOf(Ke)+1,Xe=Ke.tagName.toLowerCase();We.filter(Ye=>Ye.tagName.toLowerCase()===Xe).length>1?He.unshift(`${Xe}:nth-child(${Ze})`):He.unshift(Xe)}Ke=Ke.parentElement}return He.join(" > ")}return Be($e)}let contentSelectors={article:{selector:"article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"article",attribute:"data-price"},currency:{selector:"article",attribute:"data-currency"},url:{selector:"link",attribute:"href"},id:{selector:"article",attribute:"data-id"},pass:{selector:"article",attribute:"data-pass"}},api;function init$2($e,De){var Be;contentSelectors={...contentSelectors,...(Be=$e.content)==null?void 0:Be.article},api=De}function getElementFromSelector($e,De){const{selector:Be}=De;return Be===contentSelectors.article.selector?$e:$e.querySelector(Be)}function getElementValue($e,De){if($e)return De.attribute?De.attribute==="textContent"?$e.textContent??void 0:$e.getAttribute(De.attribute)??getElementValue($e.parentElement,De):$e.textContent??void 0}function getMetaTag($e){var De,Be;return((De=document.head.querySelector(`[property~='${$e}'][content]`))==null?void 0:De.content)??((Be=document.head.querySelector(`[name~='${$e}'][content]`))==null?void 0:Be.content)}function getPropertyFromHTML({publisherContentId:$e,key:De,defaultValue:Be=""}){const Fe=$e?document.body.querySelector(`sesamy-content-data[id='${$e}']`):null;return(Fe==null?void 0:Fe.getAttribute(De))||getMetaTag(`sesamy:${De}`)||getMetaTag(`og:${De}`)||getMetaTag(De)||Be}function listContent(){const $e=document.querySelectorAll(contentSelectors.article.selector);return Array.from($e).map(getContent).filter(De=>De!==null)}function getContent($e){const De=typeof $e=="string"?document.querySelector($e):$e;if(!De)return null;const Be={element:De,selector:typeof $e=="string"?$e:generateCSSSelector(De)},Fe=(He,Ke,Ge,We)=>{const Ze=getElementFromSelector(De,Ke);if(Ze){const Xe=getElementValue(Ze,Ke)||getPropertyFromHTML({publisherContentId:Ge,key:He});Xe!==void 0&&(Be[He]=We?We(Xe):Xe)}};return Fe("id",contentSelectors.id),Fe("title",contentSelectors.title,Be.id),Fe("excerpt",contentSelectors.excerpt,Be.id),Fe("image",contentSelectors.image,Be.id),Fe("price",contentSelectors.price,Be.id,He=>parseFloat(He)),Fe("currency",contentSelectors.currency,Be.id),Fe("url",contentSelectors.url,Be.id),Fe("pass",contentSelectors.pass,Be.id),Be}async function unlockContent($e){var Ge;const De=typeof $e=="string"?document.querySelector($e):$e;if(!De)throw new Error("Could not find element");const Be=getContent(De);if(!(Be!=null&&Be.url))throw new Error("Could not find content for element");const Fe=await api.entitlements.hasAccess(Be.id||"",((Ge=Be.pass)==null?void 0:Ge.split(","))||[]);if(!Fe)throw new Error("User does not have access to the content");const He=await api.entitlements.access(Fe.id);if(!He.token)throw new Error("Could not get access token");const Ke=typeof $e=="string"?$e:generateCSSSelector(De);return api.proxy.getContent(He.token,Be.url,Ke)}let flushing=!1,_clientId,_enabled,_endpoint;const visibilityListeners=new Map;function initAnalytics({clientId:$e,enabled:De=!0,environment:Be}){if(_clientId=$e,_enabled=De,_endpoint=`${getBaseUrl("logs",Be)}/events`,!_enabled)return;window.addEventListener("beforeunload",()=>{unloadPageListeners.forEach((He,Ke)=>{He.bind(Ke)()}),flushQueue()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&visibilityListeners.forEach((He,Ke)=>{He.bind(Ke)()})}),routeChangeListener();const Fe=new ElementTracker({element:document.body,viewCallback:()=>{analytics.page()},activeDurationCallback:(He,Ke,Ge)=>{analytics.track("activeDuration",{duration:He,durationStart:Ge,flushing:Ke})},idleDurationCallback:(He,Ke,Ge)=>{analytics.track("idleDuration",{duration:He,durationStart:Ge,flushing:Ke})},scrollCallback:He=>{analytics.track("scroll",{scroll:He.scrollMax})}});addUnloadPageListener(document.body,()=>{Fe.flush()}),addVisibilityListener(document.body,()=>{Fe.handleVisibilityChange()}),window.addEventListener(Events.AUTHENTICATED,async He=>{const Ke=He;await analytics.identify(Ke.detail.sub)}),window.addEventListener(Events.LOGOUT,async()=>{await analytics.track("logout",{}),queue.flush(),await analytics.reset()})}function createMessage($e){return JSON.stringify($e.map(De=>({...De,clientId:_clientId,requestId:Math.random().toString(36).slice(2,9),sessionId:getSessionId(),timestamp:new Date().toISOString(),version,event:De.event,context:{page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:getMetaTag("sesamy:item-src"),publisherContentId:getMetaTag("sesamy:publisher-content-id")},locale:navigator.language,library:name,userAgent:navigator.userAgent,clientId:_clientId}})))}const queue=saturated(async $e=>{if($e.length>0){const De=createMessage($e);flushing?navigator.sendBeacon(_endpoint,De):(await fetch(_endpoint,{method:"POST",body:De,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function send($e){var De;if($e.anonymousId)if((De=$e.properties)!=null&&De.flushing){const Be={...$e};delete Be.properties.flushing,navigator.sendBeacon(_endpoint,createMessage([Be]))}else queue.push($e)}const analytics=analyticsLib({app:name,version,plugins:[{name:"custom-analytics-plugin",page:({payload:$e})=>{const{properties:De,anonymousId:Be,userId:Fe,event:He}=$e;send({anonymousId:Be,userId:Fe,properties:De,event:He,type:"page"})},track:({payload:$e})=>{const{properties:De,anonymousId:Be,userId:Fe,event:He}=$e;send({anonymousId:Be,userId:Fe,properties:De,event:He,type:"track"})},identify:({payload:$e})=>{const{properties:De,anonymousId:Be,userId:Fe}=$e;send({anonymousId:Be,userId:Fe,properties:De,type:"identify"})}}]});function track($e,De){analytics.track($e,De)}function flushQueue(){return flushing=!0,queue.flush()}const unloadPageListeners=new Map;function addUnloadPageListener($e,De){unloadPageListeners.set($e,De)}function addVisibilityListener($e,De){visibilityListeners.set($e,De)}const bannerIds=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function detectAdblock(){return new Promise($e=>{const De=bannerIds.map(Be=>{const Fe=document.createElement("div");return Fe.innerHTML=" ",Fe.id=Be,Fe.style.position="absolute",document.body.appendChild(Fe),Fe});window.setTimeout(()=>{const Be=!De.every(Fe=>{const He=document.querySelector(`#${Fe.id}`);return He==null?void 0:He.offsetParent});De.forEach(Fe=>Fe.remove()),$e(Be)},100)})}function isInAppBrowser(){const $e=navigator.userAgent.toLowerCase(),De=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const Be of De)if(Be.regex.test($e))return{isInAppBrowser:!0,browserName:Be.name};return/; wv\)/.test($e)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function registerAPI($e){const{autoOnboardProduct:De,cancelContract:Be,createCheckout:Fe,deleteTag:He,deleteTally:Ke,deleteUserMetadata:Ge,generateLink:We,getBill:Ze,getBills:Xe,getCheckout:Je,getContract:Ye,getContracts:Qe,getEntitlement:et,getEntitlementAccess:tt,getEntitlements:st,getFulfillments:at,getPaywall:ft,getPaymentIssues:ut,getProfile:ot,getProduct:rt,getProxyContent:lt,getSubscriptions:pt,getTags:$t,getTally:vt,getTallies:Et,getTransaction:Pt,getTransactions:Nt,getUserMetadata:yt,getVendorSettings:It,listVendors:Rt,hasAccess:gt,isSpotifyLinked:At,linkSpotify:Ut,listUserMetadata:xt,openHostedAccountPage:nt,pushTally:it,setTag:ht,setUserMetadata:St,unlinkSpotify:bt,updateCheckout:Tt,updateProfile:kt}=createApi($e),wt={analytics:{track},attribution:{get:getAttribution,set:setAttribution},auth:{getUser:ot,isAuthenticated,loginWithRedirect,logout,setToken},bills:{get:Ze,list:Xe},browser:{detectAdblock,isInAppBrowser,isIncognito},checkouts:{create:Fe,get:Je,update:Tt},clearCache,content:{list:listContent,get:getContent,getLanguage,unlock:unlockContent},contracts:{cancel:Be,get:Ye,list:Qe},entitlements:{access:tt,get:et,hasAccess:gt,list:st,signedLinks:getSignedLinks},fulfillments:{list:at},generateLink:We,getPaymentIssues:ut,getVersion,log,paywalls:{get:ft},products:{autoOnboard:De,get:rt,linkSpotify:Ut},profile:{get:ot,isSpotifyLinked:At,openHostedAccountPage:nt,unlinkSpotify:bt,update:kt},proxy:{getContent:lt},subscriptions:{list:pt},tags:{delete:He,list:$t,set:ht},tallies:{delete:Ke,get:vt,list:Et,push:it},transactions:{get:Pt,list:Nt},userMetadata:{delete:Ge,get:yt,list:xt,set:St},vendors:{get:It,list:Rt}};return $e.namespace&&(window[$e.namespace]=wt),wt}function getVersion(){return version}function gradient($e,De){$e.style.position="relative",$e.style.height="200px",$e.style.overflow="hidden";let Fe=0;const He=Array.from($e.children);for(const Ge of He){const We=Ge.offsetHeight;Fe+We>200?Ge.remove():Fe+=We}const Ke=document.createElement("style");Ke.innerHTML=`
|
|
37
37
|
${De.selector}::before {
|
|
38
38
|
content: '';
|
package/dist/sesamy-js.iife.js
CHANGED
|
@@ -32,7 +32,7 @@ var sesamyJs=function(exports){"use strict";var rr=Object.defineProperty;var nr=
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var __webpack_require__={d:($e,De)=>{for(var Be in De)__webpack_require__.o(De,Be)&&!__webpack_require__.o($e,Be)&&Object.defineProperty($e,Be,{enumerable:!0,get:De[Be]})},o:($e,De)=>Object.prototype.hasOwnProperty.call($e,De)},__webpack_exports__={};__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__,k:()=>detectIncognito});var __awaiter=function($e,De,Be,Fe){return new(Be||(Be=Promise))(function(He,Ke){function Ge(Xe){try{Ze(Fe.next(Xe))}catch(Je){Ke(Je)}}function We(Xe){try{Ze(Fe.throw(Xe))}catch(Je){Ke(Je)}}function Ze(Xe){var Je;Xe.done?He(Xe.value):(Je=Xe.value,Je instanceof Be?Je:new Be(function(Ye){Ye(Je)})).then(Ge,We)}Ze((Fe=Fe.apply($e,[])).next())})},__generator=function($e,De){var Be,Fe,He,Ke,Ge={label:0,sent:function(){if(1&He[0])throw He[1];return He[1]},trys:[],ops:[]};return Ke={next:We(0),throw:We(1),return:We(2)},typeof Symbol=="function"&&(Ke[Symbol.iterator]=function(){return this}),Ke;function We(Ze){return function(Xe){return function(Je){if(Be)throw new TypeError("Generator is already executing.");for(;Ke&&(Ke=0,Je[0]&&(Ge=0)),Ge;)try{if(Be=1,Fe&&(He=2&Je[0]?Fe.return:Je[0]?Fe.throw||((He=Fe.return)&&He.call(Fe),0):Fe.next)&&!(He=He.call(Fe,Je[1])).done)return He;switch(Fe=0,He&&(Je=[2&Je[0],He.value]),Je[0]){case 0:case 1:He=Je;break;case 4:return Ge.label++,{value:Je[1],done:!1};case 5:Ge.label++,Fe=Je[1],Je=[0];continue;case 7:Je=Ge.ops.pop(),Ge.trys.pop();continue;default:if(He=Ge.trys,!((He=He.length>0&&He[He.length-1])||Je[0]!==6&&Je[0]!==2)){Ge=0;continue}if(Je[0]===3&&(!He||Je[1]>He[0]&&Je[1]<He[3])){Ge.label=Je[1];break}if(Je[0]===6&&Ge.label<He[1]){Ge.label=He[1],He=Je;break}if(He&&Ge.label<He[2]){Ge.label=He[2],Ge.ops.push(Je);break}He[2]&&Ge.ops.pop(),Ge.trys.pop();continue}Je=De.call($e,Ge)}catch(Ye){Je=[6,Ye],Fe=0}finally{Be=He=0}if(5&Je[0])throw Je[1];return{value:Je[0]?Je[1]:void 0,done:!0}}([Ze,Xe])}}};function detectIncognito(){return __awaiter(this,void 0,Promise,function(){return __generator(this,function(_a){switch(_a.label){case 0:return[4,new Promise(function(resolve,reject){var browserName="Unknown";function __callback($e){resolve({isPrivate:$e,browserName})}function identifyChromium(){var $e=navigator.userAgent;return $e.match(/Chrome/)?navigator.brave!==void 0?"Brave":$e.match(/Edg/)?"Edge":$e.match(/OPR/)?"Opera":"Chrome":"Chromium"}function assertEvalToString($e){return $e===eval.toString().length}function feid(){var toFixedEngineID=0;try{eval("(-1).toFixed(-1);")}catch($e){toFixedEngineID=$e.message.length}return toFixedEngineID}function isSafari(){return feid()===44}function isChrome(){return feid()===51}function isFirefox(){return feid()===25}function isMSIE(){return navigator.msSaveBlob!==void 0&&assertEvalToString(39)}function newSafariTest(){var $e=String(Math.random());try{window.indexedDB.open($e,1).onupgradeneeded=function(De){var Be,Fe,He=(Be=De.target)===null||Be===void 0?void 0:Be.result;try{He.createObjectStore("test",{autoIncrement:!0}).put(new Blob),__callback(!1)}catch(Ge){var Ke=Ge;return Ge instanceof Error&&(Ke=(Fe=Ge.message)!==null&&Fe!==void 0?Fe:Ge),typeof Ke!="string"?void __callback(!1):void __callback(Ke.includes("BlobURLs are not yet supported"))}finally{He.close(),window.indexedDB.deleteDatabase($e)}}}catch{__callback(!1)}}function oldSafariTest(){var $e=window.openDatabase,De=window.localStorage;try{$e(null,null,null,null)}catch{return void __callback(!0)}try{De.setItem("test","1"),De.removeItem("test")}catch{return void __callback(!0)}__callback(!1)}function safariPrivateTest(){navigator.maxTouchPoints!==void 0?newSafariTest():oldSafariTest()}function getQuotaLimit(){var $e=window;return $e.performance!==void 0&&$e.performance.memory!==void 0&&$e.performance.memory.jsHeapSizeLimit!==void 0?performance.memory.jsHeapSizeLimit:1073741824}function storageQuotaChromePrivateTest(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function($e,De){__callback(Math.round(De/1048576)<2*Math.round(getQuotaLimit()/1048576))},function($e){reject(new Error("detectIncognito somehow failed to query storage quota: "+$e.message))})}function oldChromePrivateTest(){(0,window.webkitRequestFileSystem)(0,1,function(){__callback(!1)},function(){__callback(!0)})}function chromePrivateTest(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?storageQuotaChromePrivateTest():oldChromePrivateTest()}function firefoxPrivateTest(){__callback(navigator.serviceWorker===void 0)}function msiePrivateTest(){__callback(window.indexedDB===void 0)}function main(){isSafari()?(browserName="Safari",safariPrivateTest()):isChrome()?(browserName=identifyChromium(),chromePrivateTest()):isFirefox()?(browserName="Firefox",firefoxPrivateTest()):isMSIE()?(browserName="Internet Explorer",msiePrivateTest()):reject(new Error("detectIncognito cannot determine the browser"))}main()})];case 1:return[2,_a.sent()]}})})}typeof window<"u"&&(window.detectIncognito=detectIncognito);const __WEBPACK_DEFAULT_EXPORT__=detectIncognito;__webpack_exports__.A;var __webpack_exports__detectIncognito=__webpack_exports__.k;async function isIncognito(){try{const{isPrivate:$e}=await __webpack_exports__detectIncognito();return $e}catch{return!1}}function isBrowser(){return typeof window<"u"}let auth0Client,organization,initialized=!1,loginInProgress=!1;isBrowser()&&window.addEventListener("pageshow",()=>{loginInProgress=!1});const ACCESS_TOKEN_KEY="sesamyAccessToken",REFRESH_TOKEN_KEY="sesamyRefreshToken";async function waitForInit(){return initialized?!0:new Promise(($e,De)=>{const Be=setTimeout(()=>{initialized?$e(!0):De(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Events.AUTH_INITIALIZED,()=>{clearTimeout(Be),$e(!0)})})}async function refreshLocalAccessToken($e){if(!$e)return null;const De=localStorage.getItem(REFRESH_TOKEN_KEY);if(!De)return log("No refresh token found in localstorage"),null;const Be=new URLSearchParams;Be.set("client_id",$e.iss),Be.set("refresh_token",De),Be.set("grant_type","refresh_token");const Fe=new URL($e.iss);Fe.pathname="/oauth/token",Fe.searchParams.set("user_id",$e.sub);try{const He=await fetch(Fe.href,{body:Be.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!He.ok)throw localStorage.removeItem(REFRESH_TOKEN_KEY),new Error("Renew token failed");const Ke=await He.json();return localStorage.setItem(REFRESH_TOKEN_KEY,Ke.refresh_token),localStorage.setItem(ACCESS_TOKEN_KEY,Ke.access_token),Ke.access_token}catch{logout()}}async function getLocalStorageAccessToken(){const $e=localStorage.getItem(ACCESS_TOKEN_KEY);if(!$e)return null;const De=getPayloadFromJwt($e);if(!De||!De.exp||De.exp<new Date().getTime()/1e3){const Be=await refreshLocalAccessToken(De);if(Be)return Be;localStorage.removeItem(ACCESS_TOKEN_KEY)}return $e}function getTopLevelDomain($e){try{const De=new URL($e).hostname,Be=De.split(".");return Be.length>1?Be.slice(-2).join("."):De}catch{return null}}async function init$3($e){if($e.enabled===!1)return;organization=$e.organization;const De={domain:getBaseUrl("token",$e.environment),clientId:$e.clientId,useCookiesForTransactions:!0};if(getTopLevelDomain(window.location.href)!==getTopLevelDomain(getBaseUrl("auth",$e.environment))&&(De.cacheLocation="localstorage",De.useRefreshTokens=!0),auth0Client=await oe$1(De),window.location.search.includes("code=")){log("Code found in URL, handling redirect");try{const Be=await auth0Client.handleRedirectCallback();log(`Login result: ${JSON.stringify(Be)}`);const Fe=await auth0Client.getUser();if(!Fe)throw log("No user found"),new Error("No user found");log(`User found ${JSON.stringify(Fe)}`),triggerEvent(Events.AUTHENTICATED,Fe);const He=new URL(location.href),Ke=He.searchParams;Ke.delete("code"),Ke.delete("state"),He.search=Ke.toString(),window.history.replaceState({},document.title,He.toString()),log("Rewrite url")}catch(Be){alert("There was an error logging in"),console.error(Be)}}initialized=!0,triggerEvent(Events.AUTH_INITIALIZED,{})}async function isAuthenticated(){return await waitForInit(),await getLocalStorageAccessToken()?!0:auth0Client?auth0Client.isAuthenticated():!1}async function getUser(){return await waitForInit(),await getLocalStorageAccessToken()?(log("Using local user"),{sub:"local",name:"Local User"}):auth0Client?auth0Client.getUser():null}async function loginWithRedirect($e){if(loginInProgress){log("Login already in progress");return}if(loginInProgress=!0,await waitForInit(),localStorage.removeItem(ACCESS_TOKEN_KEY),!auth0Client)throw new Error("Auth0 client not initialized");const De=($e==null?void 0:$e.authorizationParams)||{};return await isIncognito()&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("iPhone")&&sessionStorage.setItem(SESMAY_CONTENT_RELOAD_KEY,"true"),auth0Client.loginWithRedirect({...$e,authorizationParams:{organization,redirect_uri:window.location.href,ui_locales:getLanguage(),...De}})}async function getTokenSilently($e=!0,De=!1){if(await waitForInit(),!De){const Be=await getLocalStorageAccessToken();if(Be)return Be}try{return auth0Client?await auth0Client.getTokenSilently({cacheMode:De?"off":"on"}):null}catch(Be){if($e)throw Be;return null}}async function logout($e={}){if(await waitForInit(),localStorage.removeItem(ACCESS_TOKEN_KEY),triggerEvent(Events.LOGOUT,{}),!!auth0Client)return auth0Client.logout({...$e,logoutParams:{returnTo:window.location.href,...$e.logoutParams}})}function getPayloadFromJwt($e){const De=$e.split(".");if(De.length!==3)return null;const Fe=De[1].replace(/-/g,"+").replace(/_/g,"/"),He=decodeURIComponent(atob(Fe).split("").map(function(Ke){return"%"+("00"+Ke.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(He)}async function setToken($e){const De=getPayloadFromJwt($e);if(!De||!De.exp||De.exp<new Date().getTime()/1e3)throw new Error("Invalid token");localStorage.setItem(ACCESS_TOKEN_KEY,$e),triggerEvent(Events.AUTHENTICATED,De)}const defaultSkip=($e,De)=>De.skipDedupe||De.method!=="GET",defaultKey=($e,De)=>De.method+"@"+$e,defaultResolver=$e=>$e.clone(),dedupe=({skip:$e=defaultSkip,key:De=defaultKey,resolver:Be=defaultResolver}={})=>{const Fe=new Map;return He=>(Ke,Ge)=>{if($e(Ke,Ge))return He(Ke,Ge);const We=De(Ke,Ge);if(!Fe.has(We))Fe.set(We,[]);else return new Promise((Ze,Xe)=>{Fe.get(We).push([Ze,Xe])});try{return He(Ke,Ge).then(Ze=>(Fe.get(We).forEach(([Xe])=>Xe(Be(Ze))),Fe.delete(We),Ze)).catch(Ze=>{throw Fe.get(We).forEach(([,Xe])=>Xe(Ze)),Fe.delete(We),Ze})}catch(Ze){return Fe.delete(We),Promise.reject(Ze)}}},defaultDelayRamp=($e,De)=>$e*De,defaultUntil=$e=>$e&&$e.ok,retry=({delayTimer:$e=500,delayRamp:De=defaultDelayRamp,maxAttempts:Be=10,until:Fe=defaultUntil,onRetry:He=null,retryOnNetworkError:Ke=!1,resolveWithLatestResponse:Ge=!1,skip:We}={})=>Ze=>(Xe,Je)=>{let Ye=0;if(We&&We(Xe,Je))return Ze(Xe,Je);const Qe=(et,tt)=>Promise.resolve(Fe(et,tt)).then(st=>st?et&&Ge?et:tt?Promise.reject(tt):et:(Ye++,!Be||Ye<=Be?new Promise(at=>{const ft=De($e,Ye);setTimeout(()=>{typeof He=="function"?Promise.resolve(He({response:et,error:tt,url:Xe,options:Je})).then((ut={})=>{var ot,rt;at(Ze((ot=ut&&ut.url)!==null&&ot!==void 0?ot:Xe,(rt=ut&&ut.options)!==null&&rt!==void 0?rt:Je))}):at(Ze(Xe,Je))},ft)}).then(Qe).catch(at=>{if(!Ke)throw at;return Qe(null,at)}):et&&Ge?et:Promise.reject(tt||new Error("Number of attempts exceeded."))));return Ze(Xe,Je).then(Qe).catch(et=>{if(!Ke)throw et;return Qe(null,et)})},JSON_MIME="application/json",CONTENT_TYPE_HEADER="Content-Type",FETCH_ERROR=Symbol(),CATCHER_FALLBACK=Symbol();function extractContentType($e={}){var De;return(De=Object.entries($e).find(([Be])=>Be.toLowerCase()===CONTENT_TYPE_HEADER.toLowerCase()))===null||De===void 0?void 0:De[1]}function isLikelyJsonMime($e){return/^application\/.*json.*/.test($e)}const mix=function($e,De,Be=!1){return Object.entries(De).reduce((Fe,[He,Ke])=>{const Ge=$e[He];return Array.isArray(Ge)&&Array.isArray(Ke)?Fe[He]=Be?[...Ge,...Ke]:Ke:typeof Ge=="object"&&typeof Ke=="object"?Fe[He]=mix(Ge,Ke,Be):Fe[He]=Ke,Fe},{...$e})},config={options:{},errorType:"text",polyfills:{},polyfill($e,De=!0,Be=!1,...Fe){const He=this.polyfills[$e]||(typeof self<"u"?self[$e]:null)||(typeof global<"u"?global[$e]:null);if(De&&!He)throw new Error($e+" is not defined");return Be&&He?new He(...Fe):He}};function setOptions($e,De=!1){config.options=De?$e:mix(config.options,$e)}function setPolyfills($e,De=!1){config.polyfills=De?$e:mix(config.polyfills,$e)}function setErrorType($e){config.errorType=$e}const middlewareHelper=$e=>De=>$e.reduceRight((Be,Fe)=>Fe(Be),De)||De;class WretchError extends Error{}const resolver=$e=>{const De=Object.create(null);$e=$e._addons.reduce((ot,rt)=>rt.beforeRequest&&rt.beforeRequest(ot,$e._options,De)||ot,$e);const{_url:Be,_options:Fe,_config:He,_catchers:Ke,_resolvers:Ge,_middlewares:We,_addons:Ze}=$e,Xe=new Map(Ke),Je=mix(He.options,Fe);let Ye=Be;const Qe=middlewareHelper(We)((ot,rt)=>(Ye=ot,He.polyfill("fetch")(ot,rt)))(Be,Je),et=new Error,tt=Qe.catch(ot=>{throw{[FETCH_ERROR]:ot}}).then(ot=>{var rt;if(!ot.ok){const lt=new WretchError;if(lt.cause=et,lt.stack=lt.stack+`
|
|
35
|
-
CAUSE: `+et.stack,lt.response=ot,lt.status=ot.status,lt.url=Ye,ot.type==="opaque")throw lt;const pt=He.errorType==="json"||((rt=ot.headers.get("Content-Type"))===null||rt===void 0?void 0:rt.split(";")[0])==="application/json";return(He.errorType?pt?ot.text():ot[He.errorType]():Promise.resolve(ot.body)).then(vt=>{throw lt.message=typeof vt=="string"?vt:ot.statusText,vt&&(pt&&typeof vt=="string"?(lt.text=vt,lt.json=JSON.parse(vt)):lt[He.errorType]=vt),lt})}return ot}),st=ot=>ot.catch(rt=>{const lt=Object.prototype.hasOwnProperty.call(rt,FETCH_ERROR),pt=lt?rt[FETCH_ERROR]:rt,$t=(pt==null?void 0:pt.status)&&Xe.get(pt.status)||Xe.get(pt==null?void 0:pt.name)||lt&&Xe.has(FETCH_ERROR)&&Xe.get(FETCH_ERROR);if($t)return $t(pt,$e);const vt=Xe.get(CATCHER_FALLBACK);if(vt)return vt(pt,$e);throw pt}),at=ot=>rt=>st(ot?tt.then(lt=>lt&<[ot]()).then(lt=>rt?rt(lt):lt):tt.then(lt=>rt?rt(lt):lt)),ft={_wretchReq:$e,_fetchReq:Qe,_sharedState:De,res:at(null),json:at("json"),blob:at("blob"),formData:at("formData"),arrayBuffer:at("arrayBuffer"),text:at("text"),error(ot,rt){return Xe.set(ot,rt),this},badRequest(ot){return this.error(400,ot)},unauthorized(ot){return this.error(401,ot)},forbidden(ot){return this.error(403,ot)},notFound(ot){return this.error(404,ot)},timeout(ot){return this.error(408,ot)},internalError(ot){return this.error(500,ot)},fetchError(ot){return this.error(FETCH_ERROR,ot)}},ut=Ze.reduce((ot,rt)=>({...ot,...typeof rt.resolver=="function"?rt.resolver(ot):rt.resolver}),ft);return Ge.reduce((ot,rt)=>rt(ot,$e),ut)},core={_url:"",_options:{},_config:config,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon($e){return{...this,_addons:[...this._addons,$e],...$e.wretch}},errorType($e){return{...this,_config:{...this._config,errorType:$e}}},polyfills($e,De=!1){return{...this,_config:{...this._config,polyfills:De?$e:mix(this._config.polyfills,$e)}}},url($e,De=!1){if(De)return{...this,_url:$e};const Be=this._url.split("?");return{...this,_url:Be.length>1?Be[0]+$e+"?"+Be[1]:this._url+$e}},options($e,De=!1){return{...this,_options:De?$e:mix(this._options,$e)}},headers($e){const De=$e?Array.isArray($e)?Object.fromEntries($e):"entries"in $e?Object.fromEntries($e.entries()):$e:{};return{...this,_options:mix(this._options,{headers:De})}},accept($e){return this.headers({Accept:$e})},content($e){return this.headers({[CONTENT_TYPE_HEADER]:$e})},auth($e){return this.headers({Authorization:$e})},catcher($e,De){const Be=new Map(this._catchers);return Be.set($e,De),{...this,_catchers:Be}},catcherFallback($e){return this.catcher(CATCHER_FALLBACK,$e)},resolve($e,De=!1){return{...this,_resolvers:De?[$e]:[...this._resolvers,$e]}},defer($e,De=!1){return{...this,_deferred:De?[$e]:[...this._deferred,$e]}},middlewares($e,De=!1){return{...this,_middlewares:De?$e:[...this._middlewares,...$e]}},fetch($e=this._options.method,De="",Be=null){let Fe=this.url(De).options({method:$e});const He=extractContentType(Fe._options.headers),Ke=this._config.polyfill("FormData",!1),Ge=typeof Be=="object"&&!(Ke&&Be instanceof Ke)&&(!Fe._options.headers||!He||isLikelyJsonMime(He));return Fe=Be?Ge?Fe.json(Be,He):Fe.body(Be):Fe,resolver(Fe._deferred.reduce((We,Ze)=>Ze(We,We._url,We._options),Fe))},get($e=""){return this.fetch("GET",$e)},delete($e=""){return this.fetch("DELETE",$e)},put($e,De=""){return this.fetch("PUT",De,$e)},post($e,De=""){return this.fetch("POST",De,$e)},patch($e,De=""){return this.fetch("PATCH",De,$e)},head($e=""){return this.fetch("HEAD",$e)},opts($e=""){return this.fetch("OPTIONS",$e)},body($e){return{...this,_options:{...this._options,body:$e}}},json($e,De){const Be=extractContentType(this._options.headers);return this.content(De||isLikelyJsonMime(Be)&&Be||JSON_MIME).body(JSON.stringify($e))}};function factory($e="",De={}){return{...core,_url:$e,_options:De}}factory.default=factory,factory.options=setOptions,factory.errorType=setErrorType,factory.polyfills=setPolyfills,factory.WretchError=WretchError;function clearCache(){return sessionStorage.removeItem(CACHE_TIMESTAMP_KEY),log("Cache cleared"),triggerEvent(Events.CLEAR_CACHE,{}),"Cache cleared"}function isValidHttpUrl($e){let De;try{De=new URL($e)}catch{return!1}return De.protocol==="http:"||De.protocol==="https:"}function decodeItemSrc($e,De){if(isValidHttpUrl($e))return{itemSrc:$e};const[Be,Fe,He]=$e.split(":");return{sku:`${Be}:${Fe}`,purchaseOption:De||He}}function removeTrailingSlash($e){return $e.endsWith("/")?$e.slice(0,-1):$e}function compareUrlWithoutHash($e,De){if(!isValidHttpUrl($e)||!isValidHttpUrl(De))return!1;const Be=new URL($e),Fe=new URL(De);return Be.origin===Fe.origin&&removeTrailingSlash(Be.pathname)===removeTrailingSlash(Fe.pathname)}function generateCheckoutLink($e,De,Be){const Fe=new URL(`${getBaseUrl("checkout3",$e.environment)}`);if(De.language&&Fe.searchParams.set("lang",De.language),De.sku)Fe.searchParams.set("sku",De.sku),De.purchaseOptionId&&Fe.searchParams.set("po-id",De.purchaseOptionId);else if(De.itemSrc){const{sku:We,purchaseOption:Ze,itemSrc:Xe}=decodeItemSrc(De.itemSrc,De.purchaseOptionId);Xe&&Fe.searchParams.set("url",Xe),We&&Fe.searchParams.set("sku",We),Ze&&Fe.searchParams.set("po-id",Ze)}De.email&&Fe.searchParams.set("email",De.email),De.business&&Fe.searchParams.set("business","true"),De.currency&&Fe.searchParams.set("currency",De.currency),De.price&&Fe.searchParams.set("price",De.price.toString()),De.discountCode&&Fe.searchParams.set("discount-code",De.discountCode),De.attributionItemSrc?Fe.searchParams.set("itemSrc",De.attributionItemSrc):Be.itemSrc&&Fe.searchParams.set("itemSrc",Be.itemSrc),De.attributionPublisherContentId?Fe.searchParams.set("publisherContentId",De.attributionPublisherContentId):Be.publisherContentId&&Fe.searchParams.set("publisherContentId",Be.publisherContentId),De.utmSource?Fe.searchParams.set("utm_source",De.utmSource):Be.utmSource&&Fe.searchParams.set("utm_source",Be.utmSource),De.utmMedium?Fe.searchParams.set("utm_medium",De.utmMedium):Be.utmMedium&&Fe.searchParams.set("utm_medium",Be.utmMedium),De.utmCampaign?Fe.searchParams.set("utm_campaign",De.utmCampaign):Be.utmCampaign&&Fe.searchParams.set("utm_campaign",Be.utmCampaign),De.utmTerm?Fe.searchParams.set("utm_term",De.utmTerm):Be.utmTerm&&Fe.searchParams.set("utm_term",Be.utmTerm),De.utmContent?Fe.searchParams.set("utm_content",De.utmContent):Be.utmContent&&Fe.searchParams.set("utm_content",Be.utmContent);const He=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(We=>{const[Ze,Xe]=We.trim().split("=");return{key:Ze,value:Xe}}).filter(We=>He.some(Ze=>Ze===We.key)).forEach(We=>{Fe.searchParams.append(We.key,We.value)});const Ge=new URL(De.redirectUrl||window.location.href);return Ge.searchParams.set("force-refetch-entitlements","true"),De.itemSrc&&Ge.searchParams.set("sesamy-purchase",De.itemSrc),Fe.searchParams.set("redirect-url",Ge.toString()),De.paymentMethodsFilter&&Fe.searchParams.set("paymentmethods-filter",De.paymentMethodsFilter.flatMap(({provider:We,methods:Ze})=>Ze?Ze.map(Xe=>`${We}|${Xe}`):We).join(",")),Fe}const SIGNED_URL_KEY="sesamySignedURLs";function getSignedLinks(){const $e=sessionStorage.getItem(SIGNED_URL_KEY);return $e?JSON.parse($e):[]}function addSignedLink($e){const De=getSignedLinks();De.push($e),log(`Adding signed URL: ${$e}`),sessionStorage.setItem(SIGNED_URL_KEY,JSON.stringify(De))}function removeUndefinedValues($e){const De={};return Object.keys($e).forEach(Be=>{const Fe=$e[Be];Fe!=null&&(De[Be]=Fe.toString())}),De}const ATTRIBUTION_KEY="sesamyAttribution";function parseFromSessionStorage($e){const De=sessionStorage.getItem($e);if(!De)return null;try{return JSON.parse(De).value}catch{return console.error(`Failed to parse ${$e}`),null}}function resetUtmTags($e){return Object.keys($e).find(De=>De.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...$e}:$e}function getAttribution(){return parseFromSessionStorage(ATTRIBUTION_KEY)||{}}function setAttribution($e){if($e===null)sessionStorage.removeItem(ATTRIBUTION_KEY);else{log(`Setting attribution ${JSON.stringify($e)}`);const De=getAttribution()??{},Be=removeUndefinedValues({...De,...resetUtmTags($e)});sessionStorage.setItem(ATTRIBUTION_KEY,JSON.stringify({value:Be}))}}function createApi($e){const De=getBaseUrl("api2",$e.environment),Be=ct=>async(dt,mt)=>{let _t=sessionStorage.getItem(CACHE_TIMESTAMP_KEY);_t||(_t=Date.now().toString(),sessionStorage.setItem(CACHE_TIMESTAMP_KEY,_t));const Ct={...mt,headers:{...mt.headers,"Cache-Timestamp":_t}};return ct(dt,Ct)},Fe=(ct=!0)=>dt=>async(mt,_t)=>{let Ct=null;if(Ct=await getTokenSilently(ct),!Ct){if(ct)throw new Error("No access token available");return dt(mt,_t)}const Mt={..._t,headers:{..._t.headers,...Ct?{Authorization:`Bearer ${Ct}`}:{}}};return dt(mt,Mt)},He=ct=>(dt,mt)=>{if(mt.headers.Authorization)return ct(dt,mt);const _t=localStorage.getItem("__anon_id"),Ct=btoa(`${$e.clientId}|${_t}:`),Mt={...mt,headers:{...mt.headers,Authorization:`Basic ${Ct}`}};return ct(dt,Mt)},Ke=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(),dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]),Ge=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(!1),He,dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]);async function We(ct={}){const{waitForEntitlementAfter:dt,includeSignedLinks:mt=!0}=ct,_t=dt?`?wait-for-entitlement-after=${dt.toISOString()}`:"",Ct=await isAuthenticated()?await Ke.get(`/entitlements${_t}`).json():[];return mt&&Ct.push(...getSignedLinks()),Ct}async function Ze(ct,dt=[]){const mt=await We();return mt==null?void 0:mt.find(Ct=>{const{sku:Mt,purchaseOption:Ht}=decodeItemSrc(ct);let Kt="sku"in Ct&&Mt===Ct.sku;Kt&&Ht&&"purchaseOptionId"in Ct&&(Kt=Ht===Ct.purchaseOptionId);const Qt=compareUrlWithoutHash(ct,Ct.url),er=dt.some(tr=>compareUrlWithoutHash(tr,Ct.url));return Kt||Qt||er})}async function Xe(ct){const dt=await Ke.get("/entitlements").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function Je(ct){return Ke.get(`/entitlements/${encodeURIComponent(ct)}/access`).json()}async function Ye(ct,dt,mt){const _t=new URL(getBaseUrl("api2",$e.environment));return _t.pathname="/proxy",_t.searchParams.set("url",dt),mt&&_t.searchParams.set("selector",mt),factory(_t.toString()).headers({Authorization:`Bearer ${ct}`}).get().text()}async function Qe(ct){return await isAuthenticated()?await Ke.get(`/fulfillments?sku=${encodeURIComponent(ct)}`).json():[]}async function et(){return Ke.get("/contracts").json()}async function tt(ct){const dt=await Ke.get("/contracts").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function st(ct){return(await Ke.post({},`/contracts/${encodeURIComponent(ct)}/cancel`).res()).ok}async function at(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),Ke.get("/subscriptions").json()}async function ft(){return Ke.get("/bills").json()}async function ut(ct){const dt=await Ke.get("/bills").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function ot(){return Ke.get("/transactions").json()}async function rt(ct){const dt=await Ke.get("/transactions").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function lt(ct,dt){const mt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).put(dt).json();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),mt}async function pt(ct){const dt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function $t(ct){return(await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).get().json())[ct]}async function vt(){return await Ke.url("/user-metadata").get().json()}async function Et(){return await Ke.url("/tags").get().json()}async function Pt(ct){const dt=await Ke.url(`/tags/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function Nt(ct){const dt=await Ke.url("/tags").post(encodeURIComponent(ct)).res();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),dt.ok}async function yt(ct){return(await Ge.url("/tallies").get().json())[ct]}async function It(){return await Ge.url("/tallies").get().json()}async function Rt(ct){const dt=await Ge.url(`/tallies/${ct}`).delete().res();return clearCache(),dt.ok}async function gt(ct,dt){return await Ge.url(`/tallies/${encodeURIComponent(ct)}/push`).post(dt).json()}async function At(ct){return await Ke.url(`/products/${encodeURIComponent(ct)}`).get().json()}async function Ut(){return await getTokenSilently(!1)?await Ke.url("/profile").get().json():null}async function xt(ct){const dt=await Ke.url("/profile").patch(ct).res();return clearCache(),dt.ok}async function nt(){return await Ke.url("/payment-issues").get().json()}async function it(){return(await Ke.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function ht(){return(await Ke.url("/profile/unlink-spotify").post().res()).ok}async function St(ct){const dt=await getTokenSilently(!1);if(!dt)throw new Error("No access token available");const mt=new URL(`${getBaseUrl("spotify-oas",$e.environment)}/sesamy-callback`);mt.searchParams.set("access_token",dt),mt.searchParams.set("state",ct),window.location.href=mt.toString()}async function bt(ct){const dt=await Ke.url(`/products/${encodeURIComponent(ct)}/auto-onboard`).post().json();return dt.length&&clearCache(),dt}async function Tt(ct,dt=3600){const{shortlink:mt}=await factory(SHORTLINK_URL).post({url:ct,ttl:dt}).json();return mt}async function kt(ct){const dt=await getTokenSilently(!1,!0);let mt;const _t=ct.language||getLanguage(),Ct=getAttribution();switch(ct.target){case"account":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"change-payment":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.contractId)}/change-payment-method`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"consume":mt=new URL(`${getBaseUrl("consume",$e.environment)}/${encodeURIComponent(ct.language||_t)}/@${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.sku)}`),ct.episodeId?mt.href+=`/${ct.episodeId}`:mt.href+="/listen",mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"checkout":mt=generateCheckoutLink($e,{language:_t,...ct},Ct);break;default:throw new Error("Invalid target")}return dt&&(mt.hash=`#access_token=${dt}`),ct.shorten?Tt(mt.href,ct.ttl):mt.href}async function wt(ct){const dt=getAttribution(),mt=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(Ct=>{const Mt=dt,[Ht,Kt]=Ct.trim().split("=");mt.includes(Ht)&&!Mt[Ht]&&(Mt[Ht]=Kt)}),(await Ge.url("/checkouts").post({language:getLanguage(),attribution:{...dt,...ct.attribution},...ct,vendorId:$e.clientId})).json()}async function Lt(ct,dt){return(await Ge.url(`/checkouts/${ct}`).patch(dt)).json()}async function Ot(ct){return(await Ge.url(`/checkouts/${ct}`).get()).json()}async function jt(ct){return(await Ge.url(`/paywalls/${ct}`).get()).json()}async function Bt(){return(await Ge.url("/vendor").get()).json()}async function Ft(){return(await Ke.url("/vendors").get()).json()}async function Gt(){const ct=await getTokenSilently(!1),dt=new URL(`${getBaseUrl("account",$e.environment)}/subscriptions/${$e.clientId}`);ct&&(dt.hash=`#access_token=${ct}`),window.location.href=dt.toString()}return{autoOnboardProduct:bt,cancelContract:st,createCheckout:wt,deleteTag:Pt,deleteTally:Rt,deleteUserMetadata:pt,generateLink:kt,getBill:ut,getBills:ft,getCheckout:Ot,getProxyContent:Ye,getContract:tt,getContracts:et,getEntitlement:Xe,getEntitlementAccess:Je,getEntitlements:We,getFulfillments:Qe,getPaywall:jt,getPaymentIssues:nt,getProfile:Ut,getProduct:At,getSubscriptions:at,getTally:yt,getTallies:It,getTags:Et,getTransaction:rt,getTransactions:ot,getUserMetadata:$t,hasAccess:Ze,isSpotifyLinked:it,linkSpotify:St,listUserMetadata:vt,openHostedAccountPage:Gt,pushTally:gt,setTag:Nt,setUserMetadata:lt,unlinkSpotify:ht,updateCheckout:Lt,updateProfile:xt,getVendorSettings:Bt,listVendors:Ft}}const name="@sesamy/sesamy-js",version="1.32.1";function i$5($e,De,Be,Fe,He){for(De=De.split?De.split("."):De,Fe=0;Fe<De.length;Fe++)$e=$e?$e[De[Fe]]:He;return $e===He?Be:$e}var e="undefined",o$4="object",g$1=function(){},b$4="any",m$1="*",j="__",F$2=typeof process<"u"?process:{};F$2.env&&F$2.env.NODE_ENV;var $$1=typeof document<"u";F$2.versions!=null&&F$2.versions.node!=null,typeof Deno<"u"&&Deno.core,$$1&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function M$1($e,De){return De.charAt(0)[$e]()+De.slice(1)}var U$1=M$1.bind(null,"toUpperCase"),H$1=M$1.bind(null,"toLowerCase");function J$2($e){return Y$1($e)?U$1("null"):typeof $e=="object"?yn($e):Object.prototype.toString.call($e).slice(8,-1)}function R$1($e,De){De===void 0&&(De=!0);var Be=J$2($e);return De?H$1(Be):Be}function V$1($e,De){return typeof De===$e}var W$1=V$1.bind(null,"function"),q$1=V$1.bind(null,"string"),I$2=V$1.bind(null,"undefined"),Q$1=V$1.bind(null,"boolean");V$1.bind(null,"symbol");function Y$1($e){return $e===null}function nn($e){return R$1($e)==="number"&&!isNaN($e)}function rn($e){return R$1($e)==="array"}function on($e){if(!un($e))return!1;for(var De=$e;Object.getPrototypeOf(De)!==null;)De=Object.getPrototypeOf(De);return Object.getPrototypeOf($e)===De}function un($e){return $e&&(typeof $e=="object"||$e!==null)}function yn($e){return W$1($e.constructor)?$e.constructor.name:null}function hn($e){return $e instanceof Error||q$1($e.message)&&$e.constructor&&nn($e.constructor.stackTraceLimit)}function On($e,De){if(typeof De!="object"||Y$1(De))return!1;if(De instanceof $e)return!0;var Be=R$1(new $e(""));if(hn(De))for(;De;){if(R$1(De)===Be)return!0;De=Object.getPrototypeOf(De)}return!1}On.bind(null,TypeError),On.bind(null,SyntaxError);function $n($e,De){var Be=$e instanceof Element||$e instanceof HTMLDocument;return Be&&De?Tn($e,De):Be}function Tn($e,De){return De===void 0&&(De=""),$e&&$e.nodeName===De.toUpperCase()}function _n($e){var De=[].slice.call(arguments,1);return function(){return $e.apply(void 0,[].slice.call(arguments).concat(De))}}_n($n,"form"),_n($n,"button"),_n($n,"input"),_n($n,"select");function Hn($e){return $e?rn($e)?$e:[$e]:[]}function n$1($e){try{return decodeURIComponent($e.replace(/\+/g," "))}catch{return null}}function o$3(){if($$1){var $e=navigator,De=$e.languages;return $e.userLanguage||(De&&De.length?De[0]:$e.language)}}function a$5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function s$1($e){return function(De){for(var Be,Fe=Object.create(null),He=/([^&=]+)=?([^&]*)/g;Be=He.exec(De);){var Ke=n$1(Be[1]),Ge=n$1(Be[2]);Ke.substring(Ke.length-2)==="[]"?(Fe[Ke=Ke.substring(0,Ke.length-2)]||(Fe[Ke]=[])).push(Ge):Fe[Ke]=Ge===""||Ge}for(var We in Fe){var Ze=We.split("[");Ze.length>1&&(m(Fe,Ze.map(function(Xe){return Xe.replace(/[?[\]\\ ]/g,"")}),Fe[We]),delete Fe[We])}return Fe}(function(De){return $$1&&window.location.search.substring(1)}())}function m($e,De,Be){for(var Fe=De.length-1,He=0;He<Fe;++He){var Ke=De[He];if(Ke==="__proto__"||Ke==="constructor")break;Ke in $e||($e[Ke]={}),$e=$e[Ke]}$e[De[Fe]]=Be}function y$1(){for(var $e="",De=0,Be=4294967295*Math.random()|0;De++<36;){var Fe="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[De-1],He=15&Be;$e+=Fe=="-"||Fe=="4"?Fe:(Fe=="x"?He:3&He|8).toString(16),Be=De%8==0?4294967295*Math.random()|0:Be>>4}return $e}function b$3($e,De){var Be,Fe,He,Ke=null,Ge=0,We=function(){Ge=new Date,Ke=null,He=$e.apply(Be,Fe)};return function(){var Ze=new Date;Ge||(Ge=Ze);var Xe=De-(Ze-Ge);return Be=this,Fe=arguments,Xe<=0?(clearTimeout(Ke),Ke=null,Ge=Ze,He=$e.apply(Be,Fe)):Ke||(Ke=setTimeout(We,Xe)),He}}var l$2="global",o$2=j+"global"+j,n=typeof self===o$4&&self.self===self&&self||typeof global===o$4&&global.global===global&&global||void 0;function a$4($e){return n[o$2][$e]}function f$1($e,De){return n[o$2][$e]=De}function i$4($e){delete n[o$2][$e]}function u$3($e,De,Be){var Fe;try{if(b$2($e)){var He=window[$e];Fe=He[De].bind(He)}}catch{}return Fe||Be}n[o$2]||(n[o$2]={});var c$3={};function b$2($e){if(typeof c$3[$e]!==e)return c$3[$e];try{var De=window[$e];De.setItem(e,e),De.removeItem(e)}catch{return c$3[$e]=!1}return c$3[$e]=!0}function v(){return v=Object.assign||function($e){for(var De=1;De<arguments.length;De++){var Be=arguments[De];for(var Fe in Be)Object.prototype.hasOwnProperty.call(Be,Fe)&&($e[Fe]=Be[Fe])}return $e},v.apply(this,arguments)}var y="function",b$1="undefined",I$1="@@redux/"+Math.random().toString(36),w=function(){return typeof Symbol===y&&Symbol.observable||"@@observable"}(),E$1=" != "+y;function P($e,De,Be){var Fe;if(typeof De===y&&typeof Be===b$1&&(Be=De,De=void 0),typeof Be!==b$1){if(typeof Be!==y)throw new Error("enhancer"+E$1);return Be(P)($e,De)}if(typeof $e!==y)throw new Error("reducer"+E$1);var He=$e,Ke=De,Ge=[],We=Ge,Ze=!1;function Xe(){We===Ge&&(We=Ge.slice())}function Je(){return Ke}function Ye(et){if(typeof et!==y)throw new Error("Listener"+E$1);var tt=!0;return Xe(),We.push(et),function(){if(tt){tt=!1,Xe();var st=We.indexOf(et);We.splice(st,1)}}}function Qe(et){if(!on(et))throw new Error("Act != obj");if(typeof et.type===b$1)throw new Error("ActType "+b$1);if(Ze)throw new Error("Dispatch in reducer");try{Ze=!0,Ke=He(Ke,et)}finally{Ze=!1}for(var tt=Ge=We,st=0;st<tt.length;st++)(0,tt[st])();return et}return Qe({type:"@@redux/INIT"}),(Fe={dispatch:Qe,subscribe:Ye,getState:Je,replaceReducer:function(et){if(typeof et!==y)throw new Error("next reducer"+E$1);He=et,Qe({type:"@@redux/INIT"})}})[w]=function(){var et,tt=Ye;return(et={subscribe:function(st){if(typeof st!="object")throw new TypeError("Observer != obj");function at(){st.next&&st.next(Je())}return at(),{unsubscribe:tt(at)}}})[w]=function(){return this},et},Fe}function S($e,De){var Be=De&&De.type;return"action "+(Be&&Be.toString()||"?")+"reducer "+$e+" returns "+b$1}function N$1(){var $e=[].slice.call(arguments);return $e.length===0?function(De){return De}:$e.length===1?$e[0]:$e.reduce(function(De,Be){return function(){return De(Be.apply(void 0,[].slice.call(arguments)))}})}function O$1(){var $e=arguments;return function(De){return function(Be,Fe,He){var Ke,Ge=De(Be,Fe,He),We=Ge.dispatch,Ze={getState:Ge.getState,dispatch:function(Xe){return We(Xe)}};return Ke=[].slice.call($e).map(function(Xe){return Xe(Ze)}),v({},Ge,{dispatch:We=N$1.apply(void 0,Ke)(Ge.dispatch)})}}}var A$1=j+"anon_id",_=j+"user_id",x$1=j+"user_traits",k$1="userId",T="anonymousId",z=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],M=["name","EVENTS","config","loaded"],q=z.reduce(function($e,De){return $e[De]=De,$e},{registerPluginType:function($e){return"registerPlugin:"+$e},pluginReadyType:function($e){return"ready:"+$e}}),U=/^utm_/,V=/^an_prop_/,L$1=/^an_trait_/;function C$1($e){var De=$e.storage.setItem;return function(Be){return function(Fe){return function(He){if(He.type===q.bootstrap){var Ke=He.params,Ge=He.user,We=He.persistedUser,Ze=He.initialUser,Xe=We.userId===Ge.userId;We.anonymousId!==Ge.anonymousId&&De(A$1,Ge.anonymousId),Xe||De(_,Ge.userId),Ze.traits&&De(x$1,v({},Xe&&We.traits?We.traits:{},Ze.traits));var Je=Object.keys(He.params);if(Je.length){var Ye=Ke.an_uid,Qe=Ke.an_event,et=Je.reduce(function(tt,st){if(st.match(U)||st.match(/^(d|g)clid/)){var at=st.replace(U,"");tt.campaign[at==="campaign"?"name":at]=Ke[st]}return st.match(V)&&(tt.props[st.replace(V,"")]=Ke[st]),st.match(L$1)&&(tt.traits[st.replace(L$1,"")]=Ke[st]),tt},{campaign:{},props:{},traits:{}});Be.dispatch(v({type:q.params,raw:Ke},et,Ye?{userId:Ye}:{})),Ye&&setTimeout(function(){return $e.identify(Ye,et.traits)},0),Qe&&setTimeout(function(){return $e.track(Qe,et.props)},0),Object.keys(et.campaign).length&&Be.dispatch({type:q.campaign,campaign:et.campaign})}}return Fe(He)}}}}function R($e){return function(De,Be){if(De===void 0&&(De={}),Be===void 0&&(Be={}),Be.type===q.setItemEnd){if(Be.key===A$1)return v({},De,{anonymousId:Be.value});if(Be.key===_)return v({},De,{userId:Be.value})}switch(Be.type){case q.identify:return Object.assign({},De,{userId:Be.userId,traits:v({},De.traits,Be.traits)});case q.reset:return[_,A$1,x$1].forEach(function(Fe){$e.removeItem(Fe)}),Object.assign({},De,{userId:null,anonymousId:null,traits:{}});default:return De}}}function $($e){return{userId:$e.getItem(_),anonymousId:$e.getItem(A$1),traits:$e.getItem(x$1)}}var D=function($e){return j+"TEMP"+j+$e};function B($e){var De=$e.storage,Be=De.setItem,Fe=De.removeItem,He=De.getItem;return function(Ke){return function(Ge){return function(We){var Ze=We.userId,Xe=We.traits,Je=We.options;if(We.type===q.reset&&([_,x$1,A$1].forEach(function(et){Fe(et)}),[k$1,T,"traits"].forEach(function(et){i$4(D(et))})),We.type===q.identify){He(A$1)||Be(A$1,y$1());var Ye=He(_),Qe=He(x$1)||{};Ye&&Ye!==Ze&&Ke.dispatch({type:q.userIdChanged,old:{userId:Ye,traits:Qe},new:{userId:Ze,traits:Xe},options:Je}),Ze&&Be(_,Ze),Xe&&Be(x$1,v({},Qe,Xe))}return Ge(We)}}}}var X={};function J$1($e,De){X[$e]&&W$1(X[$e])&&(X[$e](De),delete X[$e])}function W($e,De,Be){return new Promise(function(Fe,He){return De()?Fe($e):Be<1?He(v({},$e,{queue:!0})):new Promise(function(Ke){return setTimeout(Ke,10)}).then(function(Ke){return W($e,De,Be-10).then(Fe,He)})})}function H($e){return{abort:$e}}function F$1($e,De,Be){var Fe={},He=De(),Ke=$e.getState(),Ge=Ke.plugins,We=Ke.queue,Ze=Ke.user;if(!Ke.context.offline&&We&&We.actions&&We.actions.length){var Xe=We.actions.reduce(function(Ye,Qe,et){return Ge[Qe.plugin].loaded?(Ye.process.push(Qe),Ye.processIndex.push(et)):(Ye.requeue.push(Qe),Ye.requeueIndex.push(et)),Ye},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(Xe.processIndex&&Xe.processIndex.length){Xe.processIndex.forEach(function(Ye){var Qe=We.actions[Ye],et=Qe.plugin,tt=Qe.payload.type,st=He[et][tt];if(st&&W$1(st)){var at,ft=function(rt,lt){return rt===void 0&&(rt={}),lt===void 0&&(lt={}),[k$1,T].reduce(function(pt,$t){return rt.hasOwnProperty($t)&<[$t]&<[$t]!==rt[$t]&&(pt[$t]=lt[$t]),pt},rt)}(Qe.payload,Ze),ut=Fe[ft.meta.rid];if(!ut&&(at=st({payload:ft,config:Ge[et].config,instance:Be,abort:H}))&&on(at)&&at.abort)return void(Fe[ft.meta.rid]=!0);if(!ut){var ot=tt+":"+et;$e.dispatch(v({},ft,{type:ot,_:{called:ot,from:"queueDrain"}}))}}});var Je=We.actions.filter(function(Ye,Qe){return!~Xe.processIndex.indexOf(Qe)});We.actions=Je}}}var G$1=function($e){var De=$e.data,Be=$e.action,Fe=$e.instance,He=$e.state,Ke=$e.allPlugins,Ge=$e.allMatches,We=$e.store,Ze=$e.EVENTS;try{var Xe=He.plugins,Je=He.context,Ye=Be.type,Qe=Ye.match(K),et=De.exact.map(function(at){return at.pluginName});Qe&&(et=Ge.during.map(function(at){return at.pluginName}));var tt=function(at,ft){return function(ut,ot,rt){var lt=ot.config,pt=ot.name,$t=pt+"."+ut.type;rt&&($t=rt.event);var vt=ut.type.match(K)?function(Et,Pt,Nt,yt,It){return function(Rt,gt){var At=yt?yt.name:Et,Ut=gt&&ae(gt)?gt:Nt;if(yt&&(!(Ut=gt&&ae(gt)?gt:[Et]).includes(Et)||Ut.length!==1))throw new Error("Method "+Pt+" can only abort "+Et+" plugin. "+JSON.stringify(Ut)+" input valid");return v({},It,{abort:{reason:Rt,plugins:Ut,caller:Pt,_:At}})}}(pt,$t,ft,rt,ut):function(Et,Pt){return function(){throw new Error(Et.type+" action not cancellable. Remove abort in "+Pt)}}(ut,$t);return{payload:ce(ut),instance:at,config:lt||{},abort:vt}}}(Fe,et),st=De.exact.reduce(function(at,ft){var ut=ft.pluginName,ot=ft.methodName,rt=!1;return ot.match(/^initialize/)||ot.match(/^reset/)||(rt=!Xe[ut].loaded),Je.offline&&ot.match(/^(page|track|identify)/)&&(rt=!0),at[""+ut]=rt,at},{});return Promise.resolve(De.exact.reduce(function(at,ft,ut){try{var ot=ft.pluginName;return Promise.resolve(at).then(function(rt){function lt(){return Promise.resolve(rt)}var pt=function(){if(De.namespaced&&De.namespaced[ot])return Promise.resolve(De.namespaced[ot].reduce(function($t,vt,Et){try{return Promise.resolve($t).then(function(Pt){return vt.method&&W$1(vt.method)?(function(Rt,gt){var At=ue(Rt);if(At&&At.name===gt){var Ut=ue(At.method);throw new Error([gt+" plugin is calling method "+Rt,"Plugins cant call self","Use "+At.method+" "+(Ut?"or "+Ut.method:"")+" in "+gt+" plugin insteadof "+Rt].join(`
|
|
35
|
+
CAUSE: `+et.stack,lt.response=ot,lt.status=ot.status,lt.url=Ye,ot.type==="opaque")throw lt;const pt=He.errorType==="json"||((rt=ot.headers.get("Content-Type"))===null||rt===void 0?void 0:rt.split(";")[0])==="application/json";return(He.errorType?pt?ot.text():ot[He.errorType]():Promise.resolve(ot.body)).then(vt=>{throw lt.message=typeof vt=="string"?vt:ot.statusText,vt&&(pt&&typeof vt=="string"?(lt.text=vt,lt.json=JSON.parse(vt)):lt[He.errorType]=vt),lt})}return ot}),st=ot=>ot.catch(rt=>{const lt=Object.prototype.hasOwnProperty.call(rt,FETCH_ERROR),pt=lt?rt[FETCH_ERROR]:rt,$t=(pt==null?void 0:pt.status)&&Xe.get(pt.status)||Xe.get(pt==null?void 0:pt.name)||lt&&Xe.has(FETCH_ERROR)&&Xe.get(FETCH_ERROR);if($t)return $t(pt,$e);const vt=Xe.get(CATCHER_FALLBACK);if(vt)return vt(pt,$e);throw pt}),at=ot=>rt=>st(ot?tt.then(lt=>lt&<[ot]()).then(lt=>rt?rt(lt):lt):tt.then(lt=>rt?rt(lt):lt)),ft={_wretchReq:$e,_fetchReq:Qe,_sharedState:De,res:at(null),json:at("json"),blob:at("blob"),formData:at("formData"),arrayBuffer:at("arrayBuffer"),text:at("text"),error(ot,rt){return Xe.set(ot,rt),this},badRequest(ot){return this.error(400,ot)},unauthorized(ot){return this.error(401,ot)},forbidden(ot){return this.error(403,ot)},notFound(ot){return this.error(404,ot)},timeout(ot){return this.error(408,ot)},internalError(ot){return this.error(500,ot)},fetchError(ot){return this.error(FETCH_ERROR,ot)}},ut=Ze.reduce((ot,rt)=>({...ot,...typeof rt.resolver=="function"?rt.resolver(ot):rt.resolver}),ft);return Ge.reduce((ot,rt)=>rt(ot,$e),ut)},core={_url:"",_options:{},_config:config,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon($e){return{...this,_addons:[...this._addons,$e],...$e.wretch}},errorType($e){return{...this,_config:{...this._config,errorType:$e}}},polyfills($e,De=!1){return{...this,_config:{...this._config,polyfills:De?$e:mix(this._config.polyfills,$e)}}},url($e,De=!1){if(De)return{...this,_url:$e};const Be=this._url.split("?");return{...this,_url:Be.length>1?Be[0]+$e+"?"+Be[1]:this._url+$e}},options($e,De=!1){return{...this,_options:De?$e:mix(this._options,$e)}},headers($e){const De=$e?Array.isArray($e)?Object.fromEntries($e):"entries"in $e?Object.fromEntries($e.entries()):$e:{};return{...this,_options:mix(this._options,{headers:De})}},accept($e){return this.headers({Accept:$e})},content($e){return this.headers({[CONTENT_TYPE_HEADER]:$e})},auth($e){return this.headers({Authorization:$e})},catcher($e,De){const Be=new Map(this._catchers);return Be.set($e,De),{...this,_catchers:Be}},catcherFallback($e){return this.catcher(CATCHER_FALLBACK,$e)},resolve($e,De=!1){return{...this,_resolvers:De?[$e]:[...this._resolvers,$e]}},defer($e,De=!1){return{...this,_deferred:De?[$e]:[...this._deferred,$e]}},middlewares($e,De=!1){return{...this,_middlewares:De?$e:[...this._middlewares,...$e]}},fetch($e=this._options.method,De="",Be=null){let Fe=this.url(De).options({method:$e});const He=extractContentType(Fe._options.headers),Ke=this._config.polyfill("FormData",!1),Ge=typeof Be=="object"&&!(Ke&&Be instanceof Ke)&&(!Fe._options.headers||!He||isLikelyJsonMime(He));return Fe=Be?Ge?Fe.json(Be,He):Fe.body(Be):Fe,resolver(Fe._deferred.reduce((We,Ze)=>Ze(We,We._url,We._options),Fe))},get($e=""){return this.fetch("GET",$e)},delete($e=""){return this.fetch("DELETE",$e)},put($e,De=""){return this.fetch("PUT",De,$e)},post($e,De=""){return this.fetch("POST",De,$e)},patch($e,De=""){return this.fetch("PATCH",De,$e)},head($e=""){return this.fetch("HEAD",$e)},opts($e=""){return this.fetch("OPTIONS",$e)},body($e){return{...this,_options:{...this._options,body:$e}}},json($e,De){const Be=extractContentType(this._options.headers);return this.content(De||isLikelyJsonMime(Be)&&Be||JSON_MIME).body(JSON.stringify($e))}};function factory($e="",De={}){return{...core,_url:$e,_options:De}}factory.default=factory,factory.options=setOptions,factory.errorType=setErrorType,factory.polyfills=setPolyfills,factory.WretchError=WretchError;function clearCache(){return sessionStorage.removeItem(CACHE_TIMESTAMP_KEY),log("Cache cleared"),triggerEvent(Events.CLEAR_CACHE,{}),"Cache cleared"}function isValidHttpUrl($e){let De;try{De=new URL($e)}catch{return!1}return De.protocol==="http:"||De.protocol==="https:"}function decodeItemSrc($e,De){if(isValidHttpUrl($e))return{itemSrc:$e};const[Be,Fe,He]=$e.split(":");return{sku:`${Be}:${Fe}`,purchaseOption:De||He}}function removeTrailingSlash($e){return $e.endsWith("/")?$e.slice(0,-1):$e}function compareUrlWithoutHash($e,De){if(!isValidHttpUrl($e)||!isValidHttpUrl(De))return!1;const Be=new URL($e),Fe=new URL(De);return Be.origin===Fe.origin&&removeTrailingSlash(Be.pathname)===removeTrailingSlash(Fe.pathname)}function generateCheckoutLink($e,De,Be){const Fe=new URL(`${getBaseUrl("checkout3",$e.environment)}`);if(De.language&&Fe.searchParams.set("lang",De.language),De.sku)Fe.searchParams.set("sku",De.sku),De.purchaseOptionId&&Fe.searchParams.set("po-id",De.purchaseOptionId);else if(De.itemSrc){const{sku:We,purchaseOption:Ze,itemSrc:Xe}=decodeItemSrc(De.itemSrc,De.purchaseOptionId);Xe&&Fe.searchParams.set("url",Xe),We&&Fe.searchParams.set("sku",We),Ze&&Fe.searchParams.set("po-id",Ze)}De.email&&Fe.searchParams.set("email",De.email),De.business&&Fe.searchParams.set("business","true"),De.currency&&Fe.searchParams.set("currency",De.currency),De.price&&Fe.searchParams.set("price",De.price.toString()),De.discountCode&&Fe.searchParams.set("discount-code",De.discountCode),De.attributionItemSrc?Fe.searchParams.set("itemSrc",De.attributionItemSrc):Be.itemSrc&&Fe.searchParams.set("itemSrc",Be.itemSrc),De.attributionPublisherContentId?Fe.searchParams.set("publisherContentId",De.attributionPublisherContentId):Be.publisherContentId&&Fe.searchParams.set("publisherContentId",Be.publisherContentId),De.utmSource?Fe.searchParams.set("utm_source",De.utmSource):Be.utmSource&&Fe.searchParams.set("utm_source",Be.utmSource),De.utmMedium?Fe.searchParams.set("utm_medium",De.utmMedium):Be.utmMedium&&Fe.searchParams.set("utm_medium",Be.utmMedium),De.utmCampaign?Fe.searchParams.set("utm_campaign",De.utmCampaign):Be.utmCampaign&&Fe.searchParams.set("utm_campaign",Be.utmCampaign),De.utmTerm?Fe.searchParams.set("utm_term",De.utmTerm):Be.utmTerm&&Fe.searchParams.set("utm_term",Be.utmTerm),De.utmContent?Fe.searchParams.set("utm_content",De.utmContent):Be.utmContent&&Fe.searchParams.set("utm_content",Be.utmContent);const He=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(We=>{const[Ze,Xe]=We.trim().split("=");return{key:Ze,value:Xe}}).filter(We=>He.some(Ze=>Ze===We.key)).forEach(We=>{Fe.searchParams.append(We.key,We.value)});const Ge=new URL(De.redirectUrl||window.location.href);return Ge.searchParams.set("force-refetch-entitlements","true"),De.itemSrc&&Ge.searchParams.set("sesamy-purchase",De.itemSrc),Fe.searchParams.set("redirect-url",Ge.toString()),De.paymentMethodsFilter&&Fe.searchParams.set("paymentmethods-filter",De.paymentMethodsFilter.flatMap(({provider:We,methods:Ze})=>Ze?Ze.map(Xe=>`${We}|${Xe}`):We).join(",")),Fe}const SIGNED_URL_KEY="sesamySignedURLs";function getSignedLinks(){const $e=sessionStorage.getItem(SIGNED_URL_KEY);return $e?JSON.parse($e):[]}function addSignedLink($e){const De=getSignedLinks();De.push($e),log(`Adding signed URL: ${$e}`),sessionStorage.setItem(SIGNED_URL_KEY,JSON.stringify(De))}function removeUndefinedValues($e){const De={};return Object.keys($e).forEach(Be=>{const Fe=$e[Be];Fe!=null&&(De[Be]=Fe.toString())}),De}const ATTRIBUTION_KEY="sesamyAttribution";function parseFromSessionStorage($e){const De=sessionStorage.getItem($e);if(!De)return null;try{return JSON.parse(De).value}catch{return console.error(`Failed to parse ${$e}`),null}}function resetUtmTags($e){return Object.keys($e).find(De=>De.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...$e}:$e}function getAttribution(){return parseFromSessionStorage(ATTRIBUTION_KEY)||{}}function setAttribution($e){if($e===null)sessionStorage.removeItem(ATTRIBUTION_KEY);else{log(`Setting attribution ${JSON.stringify($e)}`);const De=getAttribution()??{},Be=removeUndefinedValues({...De,...resetUtmTags($e)});sessionStorage.setItem(ATTRIBUTION_KEY,JSON.stringify({value:Be}))}}function createApi($e){const De=getBaseUrl("api2",$e.environment),Be=ct=>async(dt,mt)=>{let _t=sessionStorage.getItem(CACHE_TIMESTAMP_KEY);_t||(_t=Date.now().toString(),sessionStorage.setItem(CACHE_TIMESTAMP_KEY,_t));const Ct={...mt,headers:{...mt.headers,"Cache-Timestamp":_t}};return ct(dt,Ct)},Fe=(ct=!0)=>dt=>async(mt,_t)=>{let Ct=null;if(Ct=await getTokenSilently(ct),!Ct){if(ct)throw new Error("No access token available");return dt(mt,_t)}const Mt={..._t,headers:{..._t.headers,...Ct?{Authorization:`Bearer ${Ct}`}:{}}};return dt(mt,Mt)},He=ct=>(dt,mt)=>{if(mt.headers.Authorization)return ct(dt,mt);const _t=localStorage.getItem("__anon_id"),Ct=btoa(`${$e.clientId}|${_t}:`),Mt={...mt,headers:{...mt.headers,Authorization:`Basic ${Ct}`}};return ct(dt,Mt)},Ke=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(),dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]),Ge=factory(De).headers({"Content-Type":"application/json"}).middlewares([Be,Fe(!1),He,dedupe(),retry({delayTimer:1e3,delayRamp:(ct,dt)=>ct*dt,maxAttempts:3,until:ct=>!!(ct&&(ct.ok||ct.status>=400&&ct.status<500)),retryOnNetworkError:!1})]);async function We(ct={}){const{waitForEntitlementAfter:dt,includeSignedLinks:mt=!0}=ct,_t=dt?`?wait-for-entitlement-after=${dt.toISOString()}`:"",Ct=await isAuthenticated()?await Ke.get(`/entitlements${_t}`).json():[];return mt&&Ct.push(...getSignedLinks()),Ct}async function Ze(ct,dt=[]){const mt=await We();return mt==null?void 0:mt.find(Ct=>{const{sku:Mt,purchaseOption:Ht}=decodeItemSrc(ct);let Kt="sku"in Ct&&Mt===Ct.sku;Kt&&Ht&&"purchaseOptionId"in Ct&&(Kt=Ht===Ct.purchaseOptionId);const Qt=compareUrlWithoutHash(ct,Ct.url),er=dt.some(tr=>compareUrlWithoutHash(tr,Ct.url));return Kt||Qt||er})}async function Xe(ct){const dt=await Ke.get("/entitlements").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function Je(ct){return Ke.get(`/entitlements/${encodeURIComponent(ct)}/access`).json()}async function Ye(ct,dt,mt){const _t=new URL(getBaseUrl("api2",$e.environment));return _t.pathname="/proxy",_t.searchParams.set("url",dt),mt&&_t.searchParams.set("selector",mt),factory(_t.toString()).headers({Authorization:`Bearer ${ct}`}).get().text()}async function Qe(ct){return await isAuthenticated()?await Ke.get(`/fulfillments?sku=${encodeURIComponent(ct)}`).json():[]}async function et(){return Ke.get("/contracts").json()}async function tt(ct){const dt=await Ke.get("/contracts").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function st(ct){return(await Ke.post({},`/contracts/${encodeURIComponent(ct)}/cancel`).res()).ok}async function at(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),Ke.get("/subscriptions").json()}async function ft(){return Ke.get("/bills").json()}async function ut(ct){const dt=await Ke.get("/bills").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function ot(){return Ke.get("/transactions").json()}async function rt(ct){const dt=await Ke.get("/transactions").json();return dt==null?void 0:dt.find(mt=>mt.id===ct)}async function lt(ct,dt){const mt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).put(dt).json();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),mt}async function pt(ct){const dt=await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function $t(ct){return(await Ke.url(`/user-metadata/${encodeURIComponent(ct)}`).get().json())[ct]}async function vt(){return await Ke.url("/user-metadata").get().json()}async function Et(){return await Ke.url("/tags").get().json()}async function Pt(ct){const dt=await Ke.url(`/tags/${encodeURIComponent(ct)}`).delete().res();return clearCache(),dt.ok}async function Nt(ct){const dt=await Ke.url("/tags").post(encodeURIComponent(ct)).res();return triggerEvent(Events.USER_ATTRIBUTE_CHANGED,{}),clearCache(),dt.ok}async function yt(ct){return(await Ge.url("/tallies").get().json())[ct]}async function It(){return await Ge.url("/tallies").get().json()}async function Rt(ct){const dt=await Ge.url(`/tallies/${ct}`).delete().res();return clearCache(),dt.ok}async function gt(ct,dt){return await Ge.url(`/tallies/${encodeURIComponent(ct)}/push`).post(dt).json()}async function At(ct){return await Ke.url(`/products/${encodeURIComponent(ct)}`).get().json()}async function Ut(){return await getTokenSilently(!1)?await Ke.url("/profile").get().json():null}async function xt(ct){const dt=await Ke.url("/profile").patch(ct).res();return clearCache(),dt.ok}async function nt(){return await Ke.url("/payment-issues").get().json()}async function it(){return(await Ke.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function ht(){return(await Ke.url("/profile/unlink-spotify").post().res()).ok}async function St(ct){const dt=await getTokenSilently(!1);if(!dt)throw new Error("No access token available");const mt=new URL(`${getBaseUrl("spotify-oas",$e.environment)}/sesamy-callback`);mt.searchParams.set("access_token",dt),mt.searchParams.set("state",ct),window.location.href=mt.toString()}async function bt(ct){const dt=await Ke.url(`/products/${encodeURIComponent(ct)}/auto-onboard`).post().json();return dt.length&&clearCache(),dt}async function Tt(ct,dt=3600){const{shortlink:mt}=await factory(SHORTLINK_URL).post({url:ct,ttl:dt}).json();return mt}async function kt(ct){const dt=await getTokenSilently(!1,!0);let mt;const _t=ct.language||getLanguage(),Ct=getAttribution();switch(ct.target){case"account":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"change-payment":mt=new URL(`${getBaseUrl("account",$e.environment)}/${encodeURIComponent(ct.language||_t)}/subscriptions/${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.contractId)}/change-payment-method`),mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"consume":mt=new URL(`${getBaseUrl("consume",$e.environment)}/${encodeURIComponent(ct.language||_t)}/@${encodeURIComponent($e.clientId)}/${encodeURIComponent(ct.sku)}`),ct.episodeId?mt.href+=`/${ct.episodeId}`:mt.href+="/listen",mt.searchParams.set("sesamy-redirect-url",ct.redirectUrl||window.location.href);break;case"checkout":mt=generateCheckoutLink($e,{language:_t,...ct},Ct);break;default:throw new Error("Invalid target")}return dt&&(mt.hash=`#access_token=${dt}`),ct.shorten?Tt(mt.href,ct.ttl):mt.href}async function wt(ct){const dt=getAttribution(),mt=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(Ct=>{const Mt=dt,[Ht,Kt]=Ct.trim().split("=");mt.includes(Ht)&&!Mt[Ht]&&(Mt[Ht]=Kt)}),(await Ge.url("/checkouts").post({language:getLanguage(),attribution:{...dt,...ct.attribution},...ct,vendorId:$e.clientId})).json()}async function Lt(ct,dt){return(await Ge.url(`/checkouts/${ct}`).patch(dt)).json()}async function Ot(ct){return(await Ge.url(`/checkouts/${ct}`).get()).json()}async function jt(ct){return(await Ge.url(`/paywalls/${ct}`).get()).json()}async function Bt(){return(await Ge.url("/vendor").get()).json()}async function Ft(){return(await Ke.url("/vendors").get()).json()}async function Gt(){const ct=await getTokenSilently(!1),dt=new URL(`${getBaseUrl("account",$e.environment)}/subscriptions/${$e.clientId}`);ct&&(dt.hash=`#access_token=${ct}`),window.location.href=dt.toString()}return{autoOnboardProduct:bt,cancelContract:st,createCheckout:wt,deleteTag:Pt,deleteTally:Rt,deleteUserMetadata:pt,generateLink:kt,getBill:ut,getBills:ft,getCheckout:Ot,getProxyContent:Ye,getContract:tt,getContracts:et,getEntitlement:Xe,getEntitlementAccess:Je,getEntitlements:We,getFulfillments:Qe,getPaywall:jt,getPaymentIssues:nt,getProfile:Ut,getProduct:At,getSubscriptions:at,getTally:yt,getTallies:It,getTags:Et,getTransaction:rt,getTransactions:ot,getUserMetadata:$t,hasAccess:Ze,isSpotifyLinked:it,linkSpotify:St,listUserMetadata:vt,openHostedAccountPage:Gt,pushTally:gt,setTag:Nt,setUserMetadata:lt,unlinkSpotify:ht,updateCheckout:Lt,updateProfile:xt,getVendorSettings:Bt,listVendors:Ft}}const name="@sesamy/sesamy-js",version="1.32.3";function i$5($e,De,Be,Fe,He){for(De=De.split?De.split("."):De,Fe=0;Fe<De.length;Fe++)$e=$e?$e[De[Fe]]:He;return $e===He?Be:$e}var e="undefined",o$4="object",g$1=function(){},b$4="any",m$1="*",j="__",F$2=typeof process<"u"?process:{};F$2.env&&F$2.env.NODE_ENV;var $$1=typeof document<"u";F$2.versions!=null&&F$2.versions.node!=null,typeof Deno<"u"&&Deno.core,$$1&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function M$1($e,De){return De.charAt(0)[$e]()+De.slice(1)}var U$1=M$1.bind(null,"toUpperCase"),H$1=M$1.bind(null,"toLowerCase");function J$2($e){return Y$1($e)?U$1("null"):typeof $e=="object"?yn($e):Object.prototype.toString.call($e).slice(8,-1)}function R$1($e,De){De===void 0&&(De=!0);var Be=J$2($e);return De?H$1(Be):Be}function V$1($e,De){return typeof De===$e}var W$1=V$1.bind(null,"function"),q$1=V$1.bind(null,"string"),I$2=V$1.bind(null,"undefined"),Q$1=V$1.bind(null,"boolean");V$1.bind(null,"symbol");function Y$1($e){return $e===null}function nn($e){return R$1($e)==="number"&&!isNaN($e)}function rn($e){return R$1($e)==="array"}function on($e){if(!un($e))return!1;for(var De=$e;Object.getPrototypeOf(De)!==null;)De=Object.getPrototypeOf(De);return Object.getPrototypeOf($e)===De}function un($e){return $e&&(typeof $e=="object"||$e!==null)}function yn($e){return W$1($e.constructor)?$e.constructor.name:null}function hn($e){return $e instanceof Error||q$1($e.message)&&$e.constructor&&nn($e.constructor.stackTraceLimit)}function On($e,De){if(typeof De!="object"||Y$1(De))return!1;if(De instanceof $e)return!0;var Be=R$1(new $e(""));if(hn(De))for(;De;){if(R$1(De)===Be)return!0;De=Object.getPrototypeOf(De)}return!1}On.bind(null,TypeError),On.bind(null,SyntaxError);function $n($e,De){var Be=$e instanceof Element||$e instanceof HTMLDocument;return Be&&De?Tn($e,De):Be}function Tn($e,De){return De===void 0&&(De=""),$e&&$e.nodeName===De.toUpperCase()}function _n($e){var De=[].slice.call(arguments,1);return function(){return $e.apply(void 0,[].slice.call(arguments).concat(De))}}_n($n,"form"),_n($n,"button"),_n($n,"input"),_n($n,"select");function Hn($e){return $e?rn($e)?$e:[$e]:[]}function n$1($e){try{return decodeURIComponent($e.replace(/\+/g," "))}catch{return null}}function o$3(){if($$1){var $e=navigator,De=$e.languages;return $e.userLanguage||(De&&De.length?De[0]:$e.language)}}function a$5(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function s$1($e){return function(De){for(var Be,Fe=Object.create(null),He=/([^&=]+)=?([^&]*)/g;Be=He.exec(De);){var Ke=n$1(Be[1]),Ge=n$1(Be[2]);Ke.substring(Ke.length-2)==="[]"?(Fe[Ke=Ke.substring(0,Ke.length-2)]||(Fe[Ke]=[])).push(Ge):Fe[Ke]=Ge===""||Ge}for(var We in Fe){var Ze=We.split("[");Ze.length>1&&(m(Fe,Ze.map(function(Xe){return Xe.replace(/[?[\]\\ ]/g,"")}),Fe[We]),delete Fe[We])}return Fe}(function(De){return $$1&&window.location.search.substring(1)}())}function m($e,De,Be){for(var Fe=De.length-1,He=0;He<Fe;++He){var Ke=De[He];if(Ke==="__proto__"||Ke==="constructor")break;Ke in $e||($e[Ke]={}),$e=$e[Ke]}$e[De[Fe]]=Be}function y$1(){for(var $e="",De=0,Be=4294967295*Math.random()|0;De++<36;){var Fe="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[De-1],He=15&Be;$e+=Fe=="-"||Fe=="4"?Fe:(Fe=="x"?He:3&He|8).toString(16),Be=De%8==0?4294967295*Math.random()|0:Be>>4}return $e}function b$3($e,De){var Be,Fe,He,Ke=null,Ge=0,We=function(){Ge=new Date,Ke=null,He=$e.apply(Be,Fe)};return function(){var Ze=new Date;Ge||(Ge=Ze);var Xe=De-(Ze-Ge);return Be=this,Fe=arguments,Xe<=0?(clearTimeout(Ke),Ke=null,Ge=Ze,He=$e.apply(Be,Fe)):Ke||(Ke=setTimeout(We,Xe)),He}}var l$2="global",o$2=j+"global"+j,n=typeof self===o$4&&self.self===self&&self||typeof global===o$4&&global.global===global&&global||void 0;function a$4($e){return n[o$2][$e]}function f$1($e,De){return n[o$2][$e]=De}function i$4($e){delete n[o$2][$e]}function u$3($e,De,Be){var Fe;try{if(b$2($e)){var He=window[$e];Fe=He[De].bind(He)}}catch{}return Fe||Be}n[o$2]||(n[o$2]={});var c$3={};function b$2($e){if(typeof c$3[$e]!==e)return c$3[$e];try{var De=window[$e];De.setItem(e,e),De.removeItem(e)}catch{return c$3[$e]=!1}return c$3[$e]=!0}function v(){return v=Object.assign||function($e){for(var De=1;De<arguments.length;De++){var Be=arguments[De];for(var Fe in Be)Object.prototype.hasOwnProperty.call(Be,Fe)&&($e[Fe]=Be[Fe])}return $e},v.apply(this,arguments)}var y="function",b$1="undefined",I$1="@@redux/"+Math.random().toString(36),w=function(){return typeof Symbol===y&&Symbol.observable||"@@observable"}(),E$1=" != "+y;function P($e,De,Be){var Fe;if(typeof De===y&&typeof Be===b$1&&(Be=De,De=void 0),typeof Be!==b$1){if(typeof Be!==y)throw new Error("enhancer"+E$1);return Be(P)($e,De)}if(typeof $e!==y)throw new Error("reducer"+E$1);var He=$e,Ke=De,Ge=[],We=Ge,Ze=!1;function Xe(){We===Ge&&(We=Ge.slice())}function Je(){return Ke}function Ye(et){if(typeof et!==y)throw new Error("Listener"+E$1);var tt=!0;return Xe(),We.push(et),function(){if(tt){tt=!1,Xe();var st=We.indexOf(et);We.splice(st,1)}}}function Qe(et){if(!on(et))throw new Error("Act != obj");if(typeof et.type===b$1)throw new Error("ActType "+b$1);if(Ze)throw new Error("Dispatch in reducer");try{Ze=!0,Ke=He(Ke,et)}finally{Ze=!1}for(var tt=Ge=We,st=0;st<tt.length;st++)(0,tt[st])();return et}return Qe({type:"@@redux/INIT"}),(Fe={dispatch:Qe,subscribe:Ye,getState:Je,replaceReducer:function(et){if(typeof et!==y)throw new Error("next reducer"+E$1);He=et,Qe({type:"@@redux/INIT"})}})[w]=function(){var et,tt=Ye;return(et={subscribe:function(st){if(typeof st!="object")throw new TypeError("Observer != obj");function at(){st.next&&st.next(Je())}return at(),{unsubscribe:tt(at)}}})[w]=function(){return this},et},Fe}function S($e,De){var Be=De&&De.type;return"action "+(Be&&Be.toString()||"?")+"reducer "+$e+" returns "+b$1}function N$1(){var $e=[].slice.call(arguments);return $e.length===0?function(De){return De}:$e.length===1?$e[0]:$e.reduce(function(De,Be){return function(){return De(Be.apply(void 0,[].slice.call(arguments)))}})}function O$1(){var $e=arguments;return function(De){return function(Be,Fe,He){var Ke,Ge=De(Be,Fe,He),We=Ge.dispatch,Ze={getState:Ge.getState,dispatch:function(Xe){return We(Xe)}};return Ke=[].slice.call($e).map(function(Xe){return Xe(Ze)}),v({},Ge,{dispatch:We=N$1.apply(void 0,Ke)(Ge.dispatch)})}}}var A$1=j+"anon_id",_=j+"user_id",x$1=j+"user_traits",k$1="userId",T="anonymousId",z=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],M=["name","EVENTS","config","loaded"],q=z.reduce(function($e,De){return $e[De]=De,$e},{registerPluginType:function($e){return"registerPlugin:"+$e},pluginReadyType:function($e){return"ready:"+$e}}),U=/^utm_/,V=/^an_prop_/,L$1=/^an_trait_/;function C$1($e){var De=$e.storage.setItem;return function(Be){return function(Fe){return function(He){if(He.type===q.bootstrap){var Ke=He.params,Ge=He.user,We=He.persistedUser,Ze=He.initialUser,Xe=We.userId===Ge.userId;We.anonymousId!==Ge.anonymousId&&De(A$1,Ge.anonymousId),Xe||De(_,Ge.userId),Ze.traits&&De(x$1,v({},Xe&&We.traits?We.traits:{},Ze.traits));var Je=Object.keys(He.params);if(Je.length){var Ye=Ke.an_uid,Qe=Ke.an_event,et=Je.reduce(function(tt,st){if(st.match(U)||st.match(/^(d|g)clid/)){var at=st.replace(U,"");tt.campaign[at==="campaign"?"name":at]=Ke[st]}return st.match(V)&&(tt.props[st.replace(V,"")]=Ke[st]),st.match(L$1)&&(tt.traits[st.replace(L$1,"")]=Ke[st]),tt},{campaign:{},props:{},traits:{}});Be.dispatch(v({type:q.params,raw:Ke},et,Ye?{userId:Ye}:{})),Ye&&setTimeout(function(){return $e.identify(Ye,et.traits)},0),Qe&&setTimeout(function(){return $e.track(Qe,et.props)},0),Object.keys(et.campaign).length&&Be.dispatch({type:q.campaign,campaign:et.campaign})}}return Fe(He)}}}}function R($e){return function(De,Be){if(De===void 0&&(De={}),Be===void 0&&(Be={}),Be.type===q.setItemEnd){if(Be.key===A$1)return v({},De,{anonymousId:Be.value});if(Be.key===_)return v({},De,{userId:Be.value})}switch(Be.type){case q.identify:return Object.assign({},De,{userId:Be.userId,traits:v({},De.traits,Be.traits)});case q.reset:return[_,A$1,x$1].forEach(function(Fe){$e.removeItem(Fe)}),Object.assign({},De,{userId:null,anonymousId:null,traits:{}});default:return De}}}function $($e){return{userId:$e.getItem(_),anonymousId:$e.getItem(A$1),traits:$e.getItem(x$1)}}var D=function($e){return j+"TEMP"+j+$e};function B($e){var De=$e.storage,Be=De.setItem,Fe=De.removeItem,He=De.getItem;return function(Ke){return function(Ge){return function(We){var Ze=We.userId,Xe=We.traits,Je=We.options;if(We.type===q.reset&&([_,x$1,A$1].forEach(function(et){Fe(et)}),[k$1,T,"traits"].forEach(function(et){i$4(D(et))})),We.type===q.identify){He(A$1)||Be(A$1,y$1());var Ye=He(_),Qe=He(x$1)||{};Ye&&Ye!==Ze&&Ke.dispatch({type:q.userIdChanged,old:{userId:Ye,traits:Qe},new:{userId:Ze,traits:Xe},options:Je}),Ze&&Be(_,Ze),Xe&&Be(x$1,v({},Qe,Xe))}return Ge(We)}}}}var X={};function J$1($e,De){X[$e]&&W$1(X[$e])&&(X[$e](De),delete X[$e])}function W($e,De,Be){return new Promise(function(Fe,He){return De()?Fe($e):Be<1?He(v({},$e,{queue:!0})):new Promise(function(Ke){return setTimeout(Ke,10)}).then(function(Ke){return W($e,De,Be-10).then(Fe,He)})})}function H($e){return{abort:$e}}function F$1($e,De,Be){var Fe={},He=De(),Ke=$e.getState(),Ge=Ke.plugins,We=Ke.queue,Ze=Ke.user;if(!Ke.context.offline&&We&&We.actions&&We.actions.length){var Xe=We.actions.reduce(function(Ye,Qe,et){return Ge[Qe.plugin].loaded?(Ye.process.push(Qe),Ye.processIndex.push(et)):(Ye.requeue.push(Qe),Ye.requeueIndex.push(et)),Ye},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(Xe.processIndex&&Xe.processIndex.length){Xe.processIndex.forEach(function(Ye){var Qe=We.actions[Ye],et=Qe.plugin,tt=Qe.payload.type,st=He[et][tt];if(st&&W$1(st)){var at,ft=function(rt,lt){return rt===void 0&&(rt={}),lt===void 0&&(lt={}),[k$1,T].reduce(function(pt,$t){return rt.hasOwnProperty($t)&<[$t]&<[$t]!==rt[$t]&&(pt[$t]=lt[$t]),pt},rt)}(Qe.payload,Ze),ut=Fe[ft.meta.rid];if(!ut&&(at=st({payload:ft,config:Ge[et].config,instance:Be,abort:H}))&&on(at)&&at.abort)return void(Fe[ft.meta.rid]=!0);if(!ut){var ot=tt+":"+et;$e.dispatch(v({},ft,{type:ot,_:{called:ot,from:"queueDrain"}}))}}});var Je=We.actions.filter(function(Ye,Qe){return!~Xe.processIndex.indexOf(Qe)});We.actions=Je}}}var G$1=function($e){var De=$e.data,Be=$e.action,Fe=$e.instance,He=$e.state,Ke=$e.allPlugins,Ge=$e.allMatches,We=$e.store,Ze=$e.EVENTS;try{var Xe=He.plugins,Je=He.context,Ye=Be.type,Qe=Ye.match(K),et=De.exact.map(function(at){return at.pluginName});Qe&&(et=Ge.during.map(function(at){return at.pluginName}));var tt=function(at,ft){return function(ut,ot,rt){var lt=ot.config,pt=ot.name,$t=pt+"."+ut.type;rt&&($t=rt.event);var vt=ut.type.match(K)?function(Et,Pt,Nt,yt,It){return function(Rt,gt){var At=yt?yt.name:Et,Ut=gt&&ae(gt)?gt:Nt;if(yt&&(!(Ut=gt&&ae(gt)?gt:[Et]).includes(Et)||Ut.length!==1))throw new Error("Method "+Pt+" can only abort "+Et+" plugin. "+JSON.stringify(Ut)+" input valid");return v({},It,{abort:{reason:Rt,plugins:Ut,caller:Pt,_:At}})}}(pt,$t,ft,rt,ut):function(Et,Pt){return function(){throw new Error(Et.type+" action not cancellable. Remove abort in "+Pt)}}(ut,$t);return{payload:ce(ut),instance:at,config:lt||{},abort:vt}}}(Fe,et),st=De.exact.reduce(function(at,ft){var ut=ft.pluginName,ot=ft.methodName,rt=!1;return ot.match(/^initialize/)||ot.match(/^reset/)||(rt=!Xe[ut].loaded),Je.offline&&ot.match(/^(page|track|identify)/)&&(rt=!0),at[""+ut]=rt,at},{});return Promise.resolve(De.exact.reduce(function(at,ft,ut){try{var ot=ft.pluginName;return Promise.resolve(at).then(function(rt){function lt(){return Promise.resolve(rt)}var pt=function(){if(De.namespaced&&De.namespaced[ot])return Promise.resolve(De.namespaced[ot].reduce(function($t,vt,Et){try{return Promise.resolve($t).then(function(Pt){return vt.method&&W$1(vt.method)?(function(Rt,gt){var At=ue(Rt);if(At&&At.name===gt){var Ut=ue(At.method);throw new Error([gt+" plugin is calling method "+Rt,"Plugins cant call self","Use "+At.method+" "+(Ut?"or "+Ut.method:"")+" in "+gt+" plugin insteadof "+Rt].join(`
|
|
36
36
|
`))}}(vt.methodName,vt.pluginName),Promise.resolve(vt.method({payload:Pt,instance:Fe,abort:(Nt=Pt,yt=ot,It=vt.pluginName,function(Rt,gt){return v({},Nt,{abort:{reason:Rt,plugins:gt||[yt],caller:Ye,from:It||yt}})}),config:ee(vt.pluginName,Xe,Ke),plugins:Xe})).then(function(Rt){var gt=on(Rt)?Rt:{};return Promise.resolve(v({},Pt,gt))})):Pt;var Nt,yt,It})}catch(Pt){return Promise.reject(Pt)}},Promise.resolve(Be))).then(function($t){rt[ot]=$t});rt[ot]=Be}();return pt&&pt.then?pt.then(lt):lt()})}catch(rt){return Promise.reject(rt)}},Promise.resolve({}))).then(function(at){return Promise.resolve(De.exact.reduce(function(ft,ut,ot){try{var rt=De.exact.length===ot+1,lt=ut.pluginName,pt=Ke[lt];return Promise.resolve(ft).then(function($t){var vt=at[lt]?at[lt]:{};if(Qe&&(vt=$t),re(vt,lt))return Z({data:vt,method:Ye,instance:Fe,pluginName:lt,store:We}),Promise.resolve($t);if(re($t,lt))return rt&&Z({data:$t,method:Ye,instance:Fe,store:We}),Promise.resolve($t);if(st.hasOwnProperty(lt)&&st[lt]===!0)return We.dispatch({type:"queue",plugin:lt,payload:vt,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve($t);var Et=tt(at[lt],Ke[lt]);return Promise.resolve(pt[Ye]({abort:Et.abort,payload:vt,instance:Fe,config:ee(lt,Xe,Ke),plugins:Xe})).then(function(Pt){var Nt=on(Pt)?Pt:{},yt=v({},$t,Nt),It=at[lt];if(re(It,lt))Z({data:It,method:Ye,instance:Fe,pluginName:lt,store:We});else{var Rt=Ye+":"+lt;(Rt.match(/:/g)||[]).length<2&&!Ye.match(Q)&&!Ye.match(Y)&&Fe.dispatch(v({},Qe?yt:vt,{type:Rt,_:{called:Rt,from:"submethod"}}))}return Promise.resolve(yt)})})}catch($t){return Promise.reject($t)}},Promise.resolve(Be))).then(function(ft){if(!(Ye.match(K)||Ye.match(/^registerPlugin/)||Ye.match(Y)||Ye.match(Q)||Ye.match(/^params/)||Ye.match(/^userIdChanged/))){if(Ze.plugins.includes(Ye),ft._&&ft._.originalAction===Ye)return ft;var ut=v({},ft,{_:{originalAction:ft.type,called:ft.type,from:"engineEnd"}});ie(ft,De.exact.length)&&!Ye.match(/End$/)&&(ut=v({},ut,{type:ft.type+"Aborted"})),We.dispatch(ut)}return ft})})}catch(at){return Promise.reject(at)}},K=/Start$/,Q=/^bootstrap/,Y=/^ready/;function Z($e){var De=$e.pluginName,Be=$e.method+"Aborted"+(De?":"+De:"");$e.store.dispatch(v({},$e.data,{type:Be,_:{called:Be,from:"abort"}}))}function ee($e,De,Be){var Fe=De[$e]||Be[$e];return Fe&&Fe.config?Fe.config:{}}function ne($e,De){return De.reduce(function(Be,Fe){return Fe[$e]?Be.concat({methodName:$e,pluginName:Fe.name,method:Fe[$e]}):Be},[])}function te($e,De){var Be=$e.replace(K,""),Fe=De?":"+De:"";return[""+$e+Fe,""+Be+Fe,Be+"End"+Fe]}function re($e,De){var Be=$e.abort;return!!Be&&(Be===!0||oe(Be,De)||Be&&oe(Be.plugins,De))}function ie($e,De){var Be=$e.abort;if(!Be)return!1;if(Be===!0||q$1(Be))return!0;var Fe=Be.plugins;return ae(Be)&&Be.length===De||ae(Fe)&&Fe.length===De}function ae($e){return Array.isArray($e)}function oe($e,De){return!(!$e||!ae($e))&&$e.includes(De)}function ue($e){var De=$e.match(/(.*):(.*)/);return!!De&&{method:De[1],name:De[2]}}function ce($e){return Object.keys($e).reduce(function(De,Be){return Be==="type"||(De[Be]=on($e[Be])?Object.assign({},$e[Be]):$e[Be]),De},{})}function se($e,De,Be){var Fe={};return function(He){return function(Ke){return function(Ge){try{var We,Ze=function(rt){return We?rt:Ke(Ye)},Xe=Ge.type,Je=Ge.plugins,Ye=Ge;if(Ge.abort)return Promise.resolve(Ke(Ge));if(Xe===q.enablePlugin&&He.dispatch({type:q.initializeStart,plugins:Je,disabled:[],fromEnable:!0,meta:Ge.meta}),Xe===q.disablePlugin&&setTimeout(function(){return J$1(Ge.meta.rid,{payload:Ge})},0),Xe===q.initializeEnd){var Qe=De(),et=Object.keys(Qe),tt=et.filter(function(rt){return Je.includes(rt)}).map(function(rt){return Qe[rt]}),st=[],at=[],ft=Ge.disabled,ut=tt.map(function(rt){var lt=rt.loaded,pt=rt.name,$t=rt.config;return W(rt,function(){return lt({config:$t})},1e4).then(function(vt){return Fe[pt]||(He.dispatch({type:q.pluginReadyType(pt),name:pt,events:Object.keys(rt).filter(function(Et){return!M.includes(Et)})}),Fe[pt]=!0),st=st.concat(pt),rt}).catch(function(vt){if(vt instanceof Error)throw new Error(vt);return at=at.concat(vt.name),vt})});Promise.all(ut).then(function(rt){var lt={plugins:st,failed:at,disabled:ft};setTimeout(function(){et.length===ut.length+ft.length&&He.dispatch(v({},{type:q.ready},lt))},0)})}var ot=function(){if(Xe!==q.bootstrap)return/^ready:([^:]*)$/.test(Xe)&&setTimeout(function(){return F$1(He,De,$e)},0),Promise.resolve(function(rt,lt,pt,$t,vt){try{var Et=W$1(lt)?lt():lt,Pt=rt.type,Nt=Pt.replace(K,"");if(rt._&&rt._.called)return Promise.resolve(rt);var yt=pt.getState(),It=(At=Et,(Ut=yt.plugins)===void 0&&(Ut={}),(xt=rt.options)===void 0&&(xt={}),Object.keys(At).filter(function(nt){var it=xt.plugins||{};return Q$1(it[nt])?it[nt]:it.all!==!1&&(!Ut[nt]||Ut[nt].enabled!==!1)}).map(function(nt){return At[nt]}));Pt===q.initializeStart&&rt.fromEnable&&(It=Object.keys(yt.plugins).filter(function(nt){var it=yt.plugins[nt];return rt.plugins.includes(nt)&&!it.initialized}).map(function(nt){return Et[nt]}));var Rt=It.map(function(nt){return nt.name}),gt=function(nt,it,ht){var St=te(nt).map(function(bt){return ne(bt,it)});return it.reduce(function(bt,Tt){var kt=Tt.name,wt=te(nt,kt).map(function(Bt){return ne(Bt,it)}),Lt=wt[0],Ot=wt[1],jt=wt[2];return Lt.length&&(bt.beforeNS[kt]=Lt),Ot.length&&(bt.duringNS[kt]=Ot),jt.length&&(bt.afterNS[kt]=jt),bt},{before:St[0],beforeNS:{},during:St[1],duringNS:{},after:St[2],afterNS:{}})}(Pt,It);return Promise.resolve(G$1({action:rt,data:{exact:gt.before,namespaced:gt.beforeNS},state:yt,allPlugins:Et,allMatches:gt,instance:pt,store:$t,EVENTS:vt})).then(function(nt){function it(){var bt=function(){if(Pt.match(K))return Promise.resolve(G$1({action:v({},ht,{type:Nt+"End"}),data:{exact:gt.after,namespaced:gt.afterNS},state:yt,allPlugins:Et,allMatches:gt,instance:pt,store:$t,EVENTS:vt})).then(function(Tt){Tt.meta&&Tt.meta.hasCallback&&J$1(Tt.meta.rid,{payload:Tt})})}();return bt&&bt.then?bt.then(function(){return nt}):nt}if(ie(nt,Rt.length))return nt;var ht,St=function(){if(Pt!==Nt)return Promise.resolve(G$1({action:v({},nt,{type:Nt}),data:{exact:gt.during,namespaced:gt.duringNS},state:yt,allPlugins:Et,allMatches:gt,instance:pt,store:$t,EVENTS:vt})).then(function(bt){ht=bt});ht=nt}();return St&&St.then?St.then(it):it()})}catch(nt){return Promise.reject(nt)}var At,Ut,xt}(Ge,De,$e,He,Be)).then(function(rt){return We=1,Ke(rt)})}();return Promise.resolve(ot&&ot.then?ot.then(Ze):Ze(ot))}catch(rt){return Promise.reject(rt)}}}}}function le($e){return function(De){return function(Be){return function(Fe){var He=Fe.type,Ke=Fe.key,Ge=Fe.value,We=Fe.options;if(He===q.setItem||He===q.removeItem){if(Fe.abort)return Be(Fe);He===q.setItem?$e.setItem(Ke,Ge,We):$e.removeItem(Ke,We)}return Be(Fe)}}}}var fe=function(){var $e=this;this.before=[],this.after=[],this.addMiddleware=function(De,Be){$e[Be]=$e[Be].concat(De)},this.removeMiddleware=function(De,Be){var Fe=$e[Be].findIndex(function(He){return He===De});Fe!==-1&&($e[Be]=[].concat($e[Be].slice(0,Fe),$e[Be].slice(Fe+1)))},this.dynamicMiddlewares=function(De){return function(Be){return function(Fe){return function(He){var Ke={getState:Be.getState,dispatch:function(We){return Be.dispatch(We)}},Ge=$e[De].map(function(We){return We(Ke)});return N$1.apply(void 0,Ge)(Fe)(He)}}}}};function de($e){return function(De,Be){De===void 0&&(De={});var Fe={};if(Be.type==="initialize:aborted")return De;if(/^registerPlugin:([^:]*)$/.test(Be.type)){var He=pe(Be.type,"registerPlugin"),Ke=$e()[He];if(!Ke||!He)return De;var Ge=Be.enabled,We=Ke.config;return Fe[He]={enabled:Ge,initialized:!!Ge&&!Ke.initialize,loaded:!!Ge&&!!Ke.loaded({config:We}),config:We},v({},De,Fe)}if(/^initialize:([^:]*)$/.test(Be.type)){var Ze=pe(Be.type,q.initialize),Xe=$e()[Ze];return Xe&&Ze?(Fe[Ze]=v({},De[Ze],{initialized:!0,loaded:!!Xe.loaded({config:Xe.config})}),v({},De,Fe)):De}if(/^ready:([^:]*)$/.test(Be.type))return Fe[Be.name]=v({},De[Be.name],{loaded:!0}),v({},De,Fe);switch(Be.type){case q.disablePlugin:return v({},De,me(Be.plugins,!1,De));case q.enablePlugin:return v({},De,me(Be.plugins,!0,De));default:return De}}}function pe($e,De){return $e.substring(De.length+1,$e.length)}function me($e,De,Be){return $e.reduce(function(Fe,He){return Fe[He]=v({},Be[He],{enabled:De}),Fe},Be)}function ge($e){try{return JSON.parse(JSON.stringify($e))}catch{}return $e}var he={last:{},history:[]};function ve($e,De){$e===void 0&&($e=he);var Be=De.options,Fe=De.meta;if(De.type===q.track){var He=ge(v({event:De.event,properties:De.properties},Object.keys(Be).length&&{options:Be},{meta:Fe}));return v({},$e,{last:He,history:$e.history.concat(He)})}return $e}var ye={actions:[]};function be($e,De){$e===void 0&&($e=ye);var Be=De.payload;switch(De.type){case"queue":var Fe;return Fe=Be&&Be.type&&Be.type===q.identify?[De].concat($e.actions):$e.actions.concat(De),v({},$e,{actions:Fe});case"dequeue":return[];default:return $e}}var Ie=/#.*$/;function we($e){var De=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec($e);return"/"+(De&&De[3]?De[3].split("?")[0].replace(Ie,""):"")}var Ee,Pe,Se,Ne,Oe=function($e){if($e===void 0&&($e={}),!$$1)return $e;var De=document,Be=De.title,Fe=De.referrer,He=window,Ke=He.location,Ge=He.innerWidth,We=He.innerHeight,Ze=Ke.hash,Xe=Ke.search,Je=function(Qe){var et=function(){if($$1){for(var tt,st=document.getElementsByTagName("link"),at=0;tt=st[at];at++)if(tt.getAttribute("rel")==="canonical")return tt.getAttribute("href")}}();return et?et.match(/\?/)?et:et+Qe:window.location.href.replace(Ie,"")}(Xe),Ye={title:Be,url:Je,path:we(Je),hash:Ze,search:Xe,width:Ge,height:We};return Fe&&Fe!==""&&(Ye.referrer=Fe),v({},Ye,$e)},Ae={last:{},history:[]};function _e($e,De){$e===void 0&&($e=Ae);var Be=De.options;if(De.type===q.page){var Fe=ge(v({properties:De.properties,meta:De.meta},Object.keys(Be).length&&{options:Be}));return v({},$e,{last:Fe,history:$e.history.concat(Fe)})}return $e}Ee=function(){if(!$$1)return!1;var $e=navigator.appVersion;return~$e.indexOf("Win")?"Windows":~$e.indexOf("Mac")?"MacOS":~$e.indexOf("X11")?"UNIX":~$e.indexOf("Linux")?"Linux":"Unknown OS"}(),Pe=$$1?document.referrer:null,Se=o$3(),Ne=a$5();var xe={initialized:!1,sessionId:y$1(),app:null,version:null,debug:!1,offline:!!$$1&&!navigator.onLine,os:{name:Ee},userAgent:$$1?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.13"},timezone:Ne,locale:Se,campaign:{},referrer:Pe};function je($e,De){$e===void 0&&($e=xe);var Be=$e.initialized,Fe=De.campaign;switch(De.type){case q.campaign:return v({},$e,{campaign:Fe});case q.offline:return v({},$e,{offline:!0});case q.online:return v({},$e,{offline:!1});default:return Be?$e:v({},xe,$e,{initialized:!0})}}var ke=["plugins","reducers","storage"];function Te($e,De,Be){if($$1){var Fe=window[(Be?"add":"remove")+"EventListener"];$e.split(" ").forEach(function(He){Fe(He,De)})}}function ze($e){var De=Te.bind(null,"online offline",function(Be){return Promise.resolve(!navigator.onLine).then($e)});return De(!0),function(Be){return De(!1)}}function Me(){return f$1("analytics",[]),function($e){return function(De,Be,Fe){var He=$e(De,Be,Fe),Ke=He.dispatch;return Object.assign(He,{dispatch:function(Ge){return n[o$2].analytics.push(Ge.action||Ge),Ke(Ge)}})}}}function qe($e){return function(){return N$1(N$1.apply(null,arguments),Me())}}function Ue($e){return $e?rn($e)?$e:[$e]:[]}function Ve($e,De,Be){$e===void 0&&($e={});var Fe,He,Ke=y$1();return De&&(X[Ke]=(Fe=De,He=function(Ge){for(var We,Ze=Ge||Array.prototype.slice.call(arguments),Xe=0;Xe<Ze.length;Xe++)if(W$1(Ze[Xe])){We=Ze[Xe];break}return We}(Be),function(Ge){He&&He(Ge),Fe(Ge)})),v({},$e,{rid:Ke,ts:new Date().getTime()},De?{hasCallback:!0}:{})}function Le($e){$e===void 0&&($e={});var De=$e.reducers||{},Be=$e.initialUser||{},Fe=($e.plugins||[]).reduce(function(nt,it){if(W$1(it))return nt.middlewares=nt.middlewares.concat(it),nt;if(it.NAMESPACE&&(it.name=it.NAMESPACE),!it.name)throw new Error("https://lytics.dev/errors/1");it.config||(it.config={});var ht=it.EVENTS?Object.keys(it.EVENTS).map(function(Tt){return it.EVENTS[Tt]}):[];nt.pluginEnabled[it.name]=!(it.enabled===!1||it.config.enabled===!1),delete it.enabled,it.methods&&(nt.methods[it.name]=Object.keys(it.methods).reduce(function(Tt,kt){var wt;return Tt[kt]=(wt=it.methods[kt],function(){for(var Lt=Array.prototype.slice.call(arguments),Ot=new Array(wt.length),jt=0;jt<Lt.length;jt++)Ot[jt]=Lt[jt];return Ot[Ot.length]=lt,wt.apply({instance:lt},Ot)}),Tt},{}),delete it.methods);var St=Object.keys(it).concat(ht),bt=new Set(nt.events.concat(St));if(nt.events=Array.from(bt),nt.pluginsArray=nt.pluginsArray.concat(it),nt.plugins[it.name])throw new Error(it.name+"AlreadyLoaded");return nt.plugins[it.name]=it,nt.plugins[it.name].loaded||(nt.plugins[it.name].loaded=function(){return!0}),nt},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),He=$e.storage?$e.storage:{getItem:a$4,setItem:f$1,removeItem:i$4},Ke=function(nt){return function(it,ht,St){return ht.getState("user")[it]||(St&&on(St)&&St[it]?St[it]:$(nt)[it]||a$4(D(it))||null)}}(He),Ge=Fe.plugins,We=Fe.events.filter(function(nt){return!M.includes(nt)}).sort(),Ze=new Set(We.concat(z).filter(function(nt){return!M.includes(nt)})),Xe=Array.from(Ze).sort(),Je=function(){return Ge},Ye=new fe,Qe=Ye.addMiddleware,et=Ye.removeMiddleware,tt=Ye.dynamicMiddlewares,st=function(){throw new Error("Abort disabled inListener")},at=s$1(),ft=$(He),ut=v({},ft,Be,at.an_uid?{userId:at.an_uid}:{},at.an_aid?{anonymousId:at.an_aid}:{});ut.anonymousId||(ut.anonymousId=y$1());var ot=v({enable:function(nt,it){return new Promise(function(ht){gt.dispatch({type:q.enablePlugin,plugins:Ue(nt),_:{originalAction:q.enablePlugin}},ht,[it])})},disable:function(nt,it){return new Promise(function(ht){gt.dispatch({type:q.disablePlugin,plugins:Ue(nt),_:{originalAction:q.disablePlugin}},ht,[it])})}},Fe.methods),rt=!1,lt={identify:function(nt,it,ht,St){try{var bt=q$1(nt)?nt:null,Tt=on(nt)?nt:it,kt=ht||{},wt=lt.user();f$1(D(k$1),bt);var Lt=bt||Tt.userId||Ke(k$1,lt,Tt);return Promise.resolve(new Promise(function(Ot){gt.dispatch(v({type:q.identifyStart,userId:Lt,traits:Tt||{},options:kt,anonymousId:wt.anonymousId},wt.id&&wt.id!==bt&&{previousId:wt.id}),Ot,[it,ht,St])}))}catch(Ot){return Promise.reject(Ot)}},track:function(nt,it,ht,St){try{var bt=on(nt)?nt.event:nt;if(!bt||!q$1(bt))throw new Error("EventMissing");var Tt=on(nt)?nt:it||{},kt=on(ht)?ht:{};return Promise.resolve(new Promise(function(wt){gt.dispatch({type:q.trackStart,event:bt,properties:Tt,options:kt,userId:Ke(k$1,lt,it),anonymousId:Ke(T,lt,it)},wt,[it,ht,St])}))}catch(wt){return Promise.reject(wt)}},page:function(nt,it,ht){try{var St=on(nt)?nt:{},bt=on(it)?it:{};return Promise.resolve(new Promise(function(Tt){gt.dispatch({type:q.pageStart,properties:Oe(St),options:bt,userId:Ke(k$1,lt,St),anonymousId:Ke(T,lt,St)},Tt,[nt,it,ht])}))}catch(Tt){return Promise.reject(Tt)}},user:function(nt){if(nt===k$1||nt==="id")return Ke(k$1,lt);if(nt===T||nt==="anonId")return Ke(T,lt);var it=lt.getState("user");return nt?i$5(it,nt):it},reset:function(nt){return new Promise(function(it){gt.dispatch({type:q.resetStart},it,nt)})},ready:function(nt){return rt&&nt({plugins:ot,instance:lt}),lt.on(q.ready,function(it){nt(it),rt=!0})},on:function(nt,it){if(!nt||!W$1(it))return!1;if(nt===q.bootstrap)throw new Error(".on disabled for "+nt);var ht=/Start$|Start:/;if(nt==="*"){var St=function(wt){return function(Lt){return function(Ot){return Ot.type.match(ht)&&it({payload:Ot,instance:lt,plugins:Ge}),Lt(Ot)}}},bt=function(wt){return function(Lt){return function(Ot){return Ot.type.match(ht)||it({payload:Ot,instance:lt,plugins:Ge}),Lt(Ot)}}};return Qe(St,Ce),Qe(bt,Re),function(){et(St,Ce),et(bt,Re)}}var Tt=nt.match(ht)?Ce:Re,kt=function(wt){return function(Lt){return function(Ot){return Ot.type===nt&&it({payload:Ot,instance:lt,plugins:Ge,abort:st}),Lt(Ot)}}};return Qe(kt,Tt),function(){return et(kt,Tt)}},once:function(nt,it){if(!nt||!W$1(it))return!1;if(nt===q.bootstrap)throw new Error(".once disabled for "+nt);var ht=lt.on(nt,function(St){it({payload:St.payload,instance:lt,plugins:Ge,abort:st}),ht()});return ht},getState:function(nt){var it=gt.getState();return nt?i$5(it,nt):Object.assign({},it)},dispatch:function(nt){var it=q$1(nt)?{type:nt}:nt;if(z.includes(it.type))throw new Error("reserved action "+it.type);var ht=v({},it,{_:v({originalAction:it.type},nt._||{})});gt.dispatch(ht)},enablePlugin:ot.enable,disablePlugin:ot.disable,plugins:ot,storage:{getItem:He.getItem,setItem:function(nt,it,ht){gt.dispatch({type:q.setItemStart,key:nt,value:it,options:ht})},removeItem:function(nt,it){gt.dispatch({type:q.removeItemStart,key:nt,options:it})}},setAnonymousId:function(nt,it){lt.storage.setItem(A$1,nt,it)},events:{core:z,plugins:We}},pt=Fe.middlewares.concat([function(nt){return function(it){return function(ht){return ht.meta||(ht.meta=Ve()),it(ht)}}},tt(Ce),se(lt,Je,{all:Xe,plugins:We}),le(He),C$1(lt),B(lt),tt(Re)]),$t={context:je,user:R(He),page:_e,track:ve,plugins:de(Je),queue:be},vt=N$1,Et=N$1;if($$1&&$e.debug){var Pt=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;Pt&&(vt=Pt({trace:!0,traceLimit:25})),Et=function(){return arguments.length===0?Me():on(typeof arguments[0])?qe():qe().apply(null,arguments)}}var Nt,yt=function(nt){return Object.keys(nt).reduce(function(it,ht){return ke.includes(ht)||(it[ht]=nt[ht]),it},{})}($e),It=Fe.pluginsArray.reduce(function(nt,it){var ht=it.name,St=it.config,bt=it.loaded,Tt=Fe.pluginEnabled[ht];return nt[ht]={enabled:Tt,initialized:!!Tt&&!it.initialize,loaded:!!bt({config:St}),config:St},nt},{}),Rt={context:yt,user:ut,plugins:It},gt=P(function(nt){for(var it=Object.keys(nt),ht={},St=0;St<it.length;St++){var bt=it[St];typeof nt[bt]===y&&(ht[bt]=nt[bt])}var Tt,kt=Object.keys(ht);try{(function(wt){Object.keys(wt).forEach(function(Lt){var Ot=wt[Lt];if(typeof Ot(void 0,{type:"@@redux/INIT"})===b$1||typeof Ot(void 0,{type:I$1})===b$1)throw new Error("reducer "+Lt+" "+b$1)})})(ht)}catch(wt){Tt=wt}return function(wt,Lt){if(wt===void 0&&(wt={}),Tt)throw Tt;for(var Ot=!1,jt={},Bt=0;Bt<kt.length;Bt++){var Ft=kt[Bt],Gt=wt[Ft],ct=(0,ht[Ft])(Gt,Lt);if(typeof ct===b$1){var dt=S(Ft,Lt);throw new Error(dt)}jt[Ft]=ct,Ot=Ot||ct!==Gt}return Ot?jt:wt}}(v({},$t,De)),Rt,Et(vt(O$1.apply(void 0,pt))));gt.dispatch=(Nt=gt.dispatch,function(nt,it,ht){var St=v({},nt,{meta:Ve(nt.meta,it,Ue(ht))});return Nt.apply(null,[St])});var At=Object.keys(Ge);gt.dispatch({type:q.bootstrap,plugins:At,config:yt,params:at,user:ut,initialUser:Be,persistedUser:ft});var Ut=At.filter(function(nt){return Fe.pluginEnabled[nt]}),xt=At.filter(function(nt){return!Fe.pluginEnabled[nt]});return gt.dispatch({type:q.registerPlugins,plugins:At,enabled:Fe.pluginEnabled}),Fe.pluginsArray.map(function(nt,it){var ht=nt.bootstrap,St=nt.config,bt=nt.name;ht&&W$1(ht)&&ht({instance:lt,config:St,payload:nt}),gt.dispatch({type:q.registerPluginType(bt),name:bt,enabled:Fe.pluginEnabled[bt],plugin:nt}),Fe.pluginsArray.length===it+1&>.dispatch({type:q.initializeStart,plugins:Ut,disabled:xt})}),ze(function(nt){gt.dispatch({type:nt?q.offline:q.online})}),function(nt,it,ht){setInterval(function(){return F$1(nt,it,ht)},3e3)}(gt,Je,lt),lt}var Ce="before",Re="after",t="cookie",i$3=a$3(),r$2=d$1,c$2=d$1;function u$2($e){return i$3?d$1($e,"",-1):i$4($e)}function a$3(){if(i$3!==void 0)return i$3;var $e="cookiecookie";try{d$1($e,$e),i$3=document.cookie.indexOf($e)!==-1,u$2($e)}catch{i$3=!1}return i$3}function d$1($e,De,Be,Fe,He,Ke){if(typeof window<"u"){var Ge=arguments.length>1;return i$3===!1&&(Ge?f$1($e,De):a$4($e)),Ge?document.cookie=$e+"="+encodeURIComponent(De)+(Be?"; expires="+new Date(+new Date+1e3*Be).toUTCString()+(Fe?"; path="+Fe:"")+(He?"; domain="+He:"")+(Ke?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+$e+"=")[1]||"").split(";")[0])}}var r$1="localStorage",g=b$2.bind(null,"localStorage");u$3("localStorage","getItem",a$4),u$3("localStorage","setItem",f$1),u$3("localStorage","removeItem",i$4);var a$2="sessionStorage",i$2=b$2.bind(null,"sessionStorage");u$3("sessionStorage","getItem",a$4),u$3("sessionStorage","setItem",f$1),u$3("sessionStorage","removeItem",i$4);function I($e){var De=$e;try{if((De=JSON.parse($e))==="true")return!0;if(De==="false")return!1;if(on(De))return De;parseFloat(De)===De&&(De=parseFloat(De))}catch{}if(De!==null&&De!=="")return De}var k=g(),O=i$2(),x=a$3();function C($e,De){if($e){var Be=A(De),Fe=!N(Be),He=d(Be)?I(localStorage.getItem($e)):void 0;if(Fe&&!I$2(He))return He;var Ke=h(Be)?I(r$2($e)):void 0;if(Fe&&Ke)return Ke;var Ge=E(Be)?I(sessionStorage.getItem($e)):void 0;if(Fe&&Ge)return Ge;var We=a$4($e);return Fe?We:{localStorage:He,sessionStorage:Ge,cookie:Ke,global:We}}}function L($e,De,Be){if($e&&!I$2(De)){var Fe={},He=A(Be),Ke=JSON.stringify(De),Ge=!N(He);return d(He)&&(Fe[r$1]=F(r$1,De,I(localStorage.getItem($e))),localStorage.setItem($e,Ke),Ge)?Fe[r$1]:h(He)&&(Fe[t]=F(t,De,I(r$2($e))),c$2($e,Ke),Ge)?Fe[t]:E(He)&&(Fe[a$2]=F(a$2,De,I(sessionStorage.getItem($e))),sessionStorage.setItem($e,Ke),Ge)?Fe[a$2]:(Fe[l$2]=F(l$2,De,a$4($e)),f$1($e,De),Ge?Fe[l$2]:Fe)}}function b($e,De){if($e){var Be=A(De),Fe=C($e,m$1),He={};return!I$2(Fe.localStorage)&&d(Be)&&(localStorage.removeItem($e),He[r$1]=Fe.localStorage),!I$2(Fe.cookie)&&h(Be)&&(u$2($e),He[t]=Fe.cookie),!I$2(Fe.sessionStorage)&&E(Be)&&(sessionStorage.removeItem($e),He[a$2]=Fe.sessionStorage),!I$2(Fe.global)&&G(Be,l$2)&&(i$4($e),He[l$2]=Fe.global),He}}function A($e){return $e?q$1($e)?$e:$e.storage:b$4}function d($e){return k&&G($e,r$1)}function h($e){return x&&G($e,t)}function E($e){return O&&G($e,a$2)}function N($e){return $e===m$1||$e==="all"}function G($e,De){return $e===b$4||$e===De||N($e)}function F($e,De,Be){return{location:$e,current:De,previous:Be}}var J={setItem:L,getItem:C,removeItem:b};function _defineProperty($e,De,Be){return De in $e?Object.defineProperty($e,De,{value:Be,enumerable:!0,configurable:!0,writable:!0}):$e[De]=Be,$e}function ownKeys($e,De){var Be=Object.keys($e);if(Object.getOwnPropertySymbols){var Fe=Object.getOwnPropertySymbols($e);De&&(Fe=Fe.filter(function(He){return Object.getOwnPropertyDescriptor($e,He).enumerable})),Be.push.apply(Be,Fe)}return Be}function _objectSpread2($e){for(var De=1;De<arguments.length;De++){var Be=arguments[De]!=null?arguments[De]:{};De%2?ownKeys(Object(Be),!0).forEach(function(Fe){_defineProperty($e,Fe,Be[Fe])}):Object.getOwnPropertyDescriptors?Object.defineProperties($e,Object.getOwnPropertyDescriptors(Be)):ownKeys(Object(Be)).forEach(function(Fe){Object.defineProperty($e,Fe,Object.getOwnPropertyDescriptor(Be,Fe))})}return $e}function analyticsLib(){var $e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},De={storage:J};return Le(_objectSpread2(_objectSpread2({},De),$e))}function saturated($e,De){De=De||{};var Be,Fe,He=[],Ke=De.max||1/0;function Ge(){clearInterval(Be),$e(He.splice(0,Ke)),We()}function We(){Be=setInterval(Ge,De.interval||1e4)}return We(),{flush:Ge,push:function(Ze){return Fe=He.push(Ze),Fe>=Ke&&Ge(),Fe},size:function(){return He.length},end:function(Ze){Ze&&Ge(),clearInterval(Be)}}}function onRouteChange($e){if(typeof window>"u")return;const{addEventListener:De,history:Be,location:Fe}=window;let He=Fe.pathname;De("popstate",()=>$e(Fe.pathname)),["push","replace"].map(Ke=>{const Ge=`${Ke}State`;if(Ge!=="pushState"&&Ge!=="replaceState")return;const We=Be[Ge];Be[Ge]=function(...Ze){var Ye;const Xe=((Ye=Ze[2])==null?void 0:Ye.toString())||"",Je=trimPath(Xe);return He!==Je&&(He=Je,setTimeout(()=>$e(Xe),0)),We.apply(Be,Ze)}})}function remove($e,De){const Be=$e.indexOf(De);return Be>-1?$e.slice(0,Be):$e}function trimPath($e){return["#","?"].forEach(De=>$e=remove($e,De)),$e}function routeChangeListener(){onRouteChange(()=>{analytics.page()})}function i$1($e){if($e===void 0&&($e={}),!$$1)return g$1;var De=l$1(),Be=c$1(),Fe=o$1(),He=s(Fe,De),Ke=s(Be,De),Ge=[],We=[],Ze=[],Xe=Fe,Je=He,Ye=Ke,Qe=Object.keys($e);if(!Qe.length)return g$1;var et=Qe.map(function(st){return Number(st)}),tt=b$3(function(){var st=l$1(),at=function(yt,It){return It.map(function(Rt){return Rt===100?yt-5:yt*(Rt/100)})}(st,et),ft=c$1(),ut=o$1(),ot=s(ut,st),rt=s(ft,st);if(Je=ot>Je?ot:Je,Ye=rt<Ye?rt:Ye,!(Ge.length>=et.length)){var lt=Xe===ut,pt="up";lt?pt="initial":Xe<=ut&&(pt="down");var $t=at,vt=et;(pt==="up"||lt)&&($t=at.slice().reverse(),vt=et.slice().reverse());var Et=vt.reduce(function(yt,It,Rt){var gt=$t[Rt];return Ze.includes(It)&&ut<=gt&&(Ze=Ze.filter(function(At){return At!==It}),yt.singleFunction=It),pt==="down"&&!Ge.includes(It)&&ut>=gt&&It>Ke?(We.push(It),yt.callbacks=yt.callbacks.concat(It),yt):pt==="up"&&!Ge.includes(It)&&ut<=gt&&It<=ot?(yt.foundFunc=[It],yt):(lt&&ut>=gt&&yt.foundFunc.length===0&&(yt.foundFunc=[It]),!We.includes(It)&&ut>=gt&&(We.push(It),yt.singleFunction?Ze.push(It):yt.singleFunction=It),yt)},{foundFunc:[],singleFunction:null,callbacks:[],direction:pt});if(Xe=ut,pt==="down"&&Et.callbacks&&Et.callbacks.forEach(function(yt){W$1($e[yt])&&($e[yt]({trigger:yt,direction:pt,scrollMin:Ye,scrollMax:Je,range:[Ye,Je]}),Ge.push(yt))}),Et.singleFunction){var Pt=Et.singleFunction,Nt=Et.direction;W$1($e[Pt])&&$e[Pt]({trigger:Pt,direction:Nt,scrollMin:Ye,scrollMax:Je,range:[Ye,Je]}),Ge.push(Pt)}}},500);return window.addEventListener("scroll",tt),function(){return window.removeEventListener("scroll",tt)}}function c$1(){return $$1?document.body.scrollTop||document.documentElement.scrollTop:0}function u$1(){return $$1?window.innerHeight||document.documentElement.clientHeight:0}function o$1(){return Math.round(c$1()+u$1())}function l$1(){if(!$$1)return 0;var $e=document.body,De=document.documentElement;return Math.max($e.scrollHeight,$e.offsetHeight,De.clientHeight,De.scrollHeight,De.offsetHeight)}function s($e,De){return Math.round($e/De*100)}var i="EventListener";function u($e){return function(De,Be,Fe,He){var Ke=Fe||g$1,Ge=He||!1;if(!$$1)return Ke;var We=l(Be),Ze=l(De,!0);if(!Ze.length)throw new Error("noElements");if(!We.length)throw new Error("noEvent");var Xe=[];return function Je(Ye){Ye&&(Xe=[]);for(var Qe=Ye?"add"+i:"remove"+i,et=0;et<Ze.length;et++){var tt=Ze[et];Xe[et]=Ye?Ge&&Ge.once?a$1(Ke):Ke:Xe[et]||Ke;for(var st=0;st<We.length;st++)tt[Qe]?tt["on"+We[st]]=Ye?Xe[et]:null:tt[Qe](We[st],Xe[et],Ge)}return Je.bind(null,!Ye)}($e)}}function l($e,De){if(q$1($e))return De?l(document.querySelectorAll($e)):(Be=$e).split(Be.indexOf(",")>-1?",":" ").map(function(Ge){return Ge.trim()});var Be;if(NodeList.prototype.isPrototypeOf($e)){for(var Fe=[],He=$e.length>>>0;He--;)Fe[He]=$e[He];return Fe}var Ke=Hn($e);return De?Ke.map(function(Ge){return q$1(Ge)?l(Ge,!0):Ge}).flat():Ke}function a$1($e,De){var Be;return function(){return $e&&(Be=$e.apply(this,arguments),$e=null),Be}}var f=u("Event");function p($e,De){return $$1&&W$1(window[$e])?(Be=window[$e],Fe=De,(He=window)===void 0&&(He=null),W$1(Be)?function(){Be.apply(He,arguments),Fe.apply(He,arguments)}:Fe):window[$e]=De;var Be,Fe,He}p.bind(null,"onerror"),p.bind(null,"onload");var isServer=typeof window>"u",HIDDEN="hidden";function onTabChange($e){if(isServer)return!1;var De=getHiddenProp(),Be="".concat(De.replace(/[H|h]idden/,""),"visibilitychange"),Fe=function(){return $e(!!document[De])},He=function(){return document.addEventListener(Be,Fe)};return He(),function(){return document.removeEventListener(Be,Fe),He}}function getHiddenProp(){var $e=["webkit","moz","ms","o"];return isServer||HIDDEN in document?HIDDEN:$e.reduce(function(De,Be){var Fe=Be+"Hidden";return!De&&Fe in document?Fe:De},null)}var o=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function r($e,De){De===void 0&&(De={});var Be=function(Ge,We){var Ze=this,Xe=!1;return function(Je){Xe||(Ge.call(Ze,Je),Xe=!0,setTimeout(function(){return Xe=!1},We))}}($e,De.throttle||1e4),Fe=[];function He(){var Ge=onTabChange(function(We){We||Be({type:"tabVisible"})});return Fe=[Ge].concat(o.map(function(We){return f(document,We,Be)})).concat(f(window,"load",Be)).concat(f(window,"scroll",Be,{capture:!0,passive:!0})),Ke}function Ke(){Fe.map(function(Ge){return Ge()})}return He(),function(){return Ke(),He}}function a($e){var De,Be,Fe=$e.onIdle,He=$e.onWakeUp,Ke=$e.onHeartbeat,Ge=$e.timeout,We=Ge===void 0?1e4:Ge,Ze=$e.throttle,Xe=Ze===void 0?2e3:Ze,Je=!1,Ye=!1,Qe=new Date,et=function(){return clearTimeout(De)};function tt(at){et(),Ke&&!Je&&Ke(c(Qe),at),He&&Je&&(Je=!1,He(c(Be),at),Qe=new Date),De=setTimeout(function(){Je=!0,Fe&&(Be=new Date,Fe(c(Qe),at))},We)}var st=r(tt,{throttle:Xe});return{disable:function(){Ye=!0,Je=!1,et();var at=st();return function(){return Ye=!1,Qe=new Date,tt({type:"load"}),at()}},getStatus:function(){return{isIdle:Je,isDisabled:Ye,active:Je?0:c(Qe,Ye),idle:Je?c(Be,Ye):0}}}}function c($e,De){return De?0:Math.round((new Date-$e)/1e3)}const timeout=5e3;class ElementTracker{constructor(De){Dt(this,"element");Dt(this,"isInViewport",!1);Dt(this,"isAwake",!1);Dt(this,"isFlushing");Dt(this,"observer");Dt(this,"lastEventAt",Date.now());Dt(this,"registeredView",!1);Dt(this,"viewCallback");Dt(this,"activeDurationCallback");Dt(this,"idleDurationCallback");Dt(this,"scrollCallback");this.element=De.element,this.viewCallback=De.viewCallback,this.activeDurationCallback=De.activeDurationCallback,this.idleDurationCallback=De.idleDurationCallback,this.scrollCallback=De.scrollCallback,this.observer=new IntersectionObserver(Be=>{Be.forEach(Fe=>{this.handleInViewPort(Fe.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),a({onIdle:Be=>this.handleAwake(!1,Be),onWakeUp:Be=>this.handleAwake(!0,Be),timeout}),i$1({25:this.handleScroll.bind(this),50:this.handleScroll.bind(this),75:this.handleScroll.bind(this),90:this.handleScroll.bind(this),100:this.handleScroll.bind(this)})}flush(){this.isFlushing=!0,this.handleAwake(!this.isAwake)}handleInViewPort(De){De?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=De}handleAwake(De,Be=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=De,this.lastEventAt=De?Date.now()-Be*timeout:Date.now(),this.isInViewport&&this.trackAwake(De,Be)}handleScroll(De){this.scrollCallback&&this.scrollCallback(De)}handleVisibilityChange(){this.isAwake=!1;const De=Math.round((Date.now()-this.lastEventAt)/1e3);De>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,De))}trackAwake(De,Be){!De&&this.activeDurationCallback&&this.activeDurationCallback(Be,this.isFlushing,this.lastEventAt),De&&this.idleDurationCallback&&this.idleDurationCallback(Be,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const SESSION_ID_KEY="sesamy_session_id";function getSessionId(){let $e=sessionStorage.getItem(SESSION_ID_KEY);return $e||($e=Math.random().toString(36).slice(2,9),sessionStorage.setItem(SESSION_ID_KEY,$e)),$e}function generateCSSSelector($e){function De(Fe){return Fe.id?`#${Fe.id}`:Fe.classList.length>0?Array.from(Fe.classList).map(Ke=>`.${Ke}`).join(""):null}function Be(Fe){const He=[];let Ke=Fe;for(;Ke&&Ke!==document.body&&Ke!==document.documentElement;){const Ge=De(Ke);if(Ge){He.unshift(Ge);break}if(Ke.parentElement){const We=Array.from(Ke.parentElement.children),Ze=We.indexOf(Ke)+1,Xe=Ke.tagName.toLowerCase();We.filter(Ye=>Ye.tagName.toLowerCase()===Xe).length>1?He.unshift(`${Xe}:nth-child(${Ze})`):He.unshift(Xe)}Ke=Ke.parentElement}return He.join(" > ")}return Be($e)}let contentSelectors={article:{selector:"article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"article",attribute:"data-price"},currency:{selector:"article",attribute:"data-currency"},url:{selector:"link",attribute:"href"},id:{selector:"article",attribute:"data-id"},pass:{selector:"article",attribute:"data-pass"}},api;function init$2($e,De){var Be;contentSelectors={...contentSelectors,...(Be=$e.content)==null?void 0:Be.article},api=De}function getElementFromSelector($e,De){const{selector:Be}=De;return Be===contentSelectors.article.selector?$e:$e.querySelector(Be)}function getElementValue($e,De){if($e)return De.attribute?De.attribute==="textContent"?$e.textContent??void 0:$e.getAttribute(De.attribute)??getElementValue($e.parentElement,De):$e.textContent??void 0}function getMetaTag($e){var De,Be;return((De=document.head.querySelector(`[property~='${$e}'][content]`))==null?void 0:De.content)??((Be=document.head.querySelector(`[name~='${$e}'][content]`))==null?void 0:Be.content)}function getPropertyFromHTML({publisherContentId:$e,key:De,defaultValue:Be=""}){const Fe=$e?document.body.querySelector(`sesamy-content-data[id='${$e}']`):null;return(Fe==null?void 0:Fe.getAttribute(De))||getMetaTag(`sesamy:${De}`)||getMetaTag(`og:${De}`)||getMetaTag(De)||Be}function listContent(){const $e=document.querySelectorAll(contentSelectors.article.selector);return Array.from($e).map(getContent).filter(De=>De!==null)}function getContent($e){const De=typeof $e=="string"?document.querySelector($e):$e;if(!De)return null;const Be={element:De,selector:typeof $e=="string"?$e:generateCSSSelector(De)},Fe=(He,Ke,Ge,We)=>{const Ze=getElementFromSelector(De,Ke);if(Ze){const Xe=getElementValue(Ze,Ke)||getPropertyFromHTML({publisherContentId:Ge,key:He});Xe!==void 0&&(Be[He]=We?We(Xe):Xe)}};return Fe("id",contentSelectors.id),Fe("title",contentSelectors.title,Be.id),Fe("excerpt",contentSelectors.excerpt,Be.id),Fe("image",contentSelectors.image,Be.id),Fe("price",contentSelectors.price,Be.id,He=>parseFloat(He)),Fe("currency",contentSelectors.currency,Be.id),Fe("url",contentSelectors.url,Be.id),Fe("pass",contentSelectors.pass,Be.id),Be}async function unlockContent($e){var Ge;const De=typeof $e=="string"?document.querySelector($e):$e;if(!De)throw new Error("Could not find element");const Be=getContent(De);if(!(Be!=null&&Be.url))throw new Error("Could not find content for element");const Fe=await api.entitlements.hasAccess(Be.id||"",((Ge=Be.pass)==null?void 0:Ge.split(","))||[]);if(!Fe)throw new Error("User does not have access to the content");const He=await api.entitlements.access(Fe.id);if(!He.token)throw new Error("Could not get access token");const Ke=typeof $e=="string"?$e:generateCSSSelector(De);return api.proxy.getContent(He.token,Be.url,Ke)}let flushing=!1,_clientId,_enabled,_endpoint;const visibilityListeners=new Map;function initAnalytics({clientId:$e,enabled:De=!0,environment:Be}){if(_clientId=$e,_enabled=De,_endpoint=`${getBaseUrl("logs",Be)}/events`,!_enabled)return;window.addEventListener("beforeunload",()=>{unloadPageListeners.forEach((He,Ke)=>{He.bind(Ke)()}),flushQueue()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&visibilityListeners.forEach((He,Ke)=>{He.bind(Ke)()})}),routeChangeListener();const Fe=new ElementTracker({element:document.body,viewCallback:()=>{analytics.page()},activeDurationCallback:(He,Ke,Ge)=>{analytics.track("activeDuration",{duration:He,durationStart:Ge,flushing:Ke})},idleDurationCallback:(He,Ke,Ge)=>{analytics.track("idleDuration",{duration:He,durationStart:Ge,flushing:Ke})},scrollCallback:He=>{analytics.track("scroll",{scroll:He.scrollMax})}});addUnloadPageListener(document.body,()=>{Fe.flush()}),addVisibilityListener(document.body,()=>{Fe.handleVisibilityChange()}),window.addEventListener(Events.AUTHENTICATED,async He=>{const Ke=He;await analytics.identify(Ke.detail.sub)}),window.addEventListener(Events.LOGOUT,async()=>{await analytics.track("logout",{}),queue.flush(),await analytics.reset()})}function createMessage($e){return JSON.stringify($e.map(De=>({...De,clientId:_clientId,requestId:Math.random().toString(36).slice(2,9),sessionId:getSessionId(),timestamp:new Date().toISOString(),version,event:De.event,context:{page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:getMetaTag("sesamy:item-src"),publisherContentId:getMetaTag("sesamy:publisher-content-id")},locale:navigator.language,library:name,userAgent:navigator.userAgent,clientId:_clientId}})))}const queue=saturated(async $e=>{if($e.length>0){const De=createMessage($e);flushing?navigator.sendBeacon(_endpoint,De):(await fetch(_endpoint,{method:"POST",body:De,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function send($e){var De;if($e.anonymousId)if((De=$e.properties)!=null&&De.flushing){const Be={...$e};delete Be.properties.flushing,navigator.sendBeacon(_endpoint,createMessage([Be]))}else queue.push($e)}const analytics=analyticsLib({app:name,version,plugins:[{name:"custom-analytics-plugin",page:({payload:$e})=>{const{properties:De,anonymousId:Be,userId:Fe,event:He}=$e;send({anonymousId:Be,userId:Fe,properties:De,event:He,type:"page"})},track:({payload:$e})=>{const{properties:De,anonymousId:Be,userId:Fe,event:He}=$e;send({anonymousId:Be,userId:Fe,properties:De,event:He,type:"track"})},identify:({payload:$e})=>{const{properties:De,anonymousId:Be,userId:Fe}=$e;send({anonymousId:Be,userId:Fe,properties:De,type:"identify"})}}]});function track($e,De){analytics.track($e,De)}function flushQueue(){return flushing=!0,queue.flush()}const unloadPageListeners=new Map;function addUnloadPageListener($e,De){unloadPageListeners.set($e,De)}function addVisibilityListener($e,De){visibilityListeners.set($e,De)}const bannerIds=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function detectAdblock(){return new Promise($e=>{const De=bannerIds.map(Be=>{const Fe=document.createElement("div");return Fe.innerHTML=" ",Fe.id=Be,Fe.style.position="absolute",document.body.appendChild(Fe),Fe});window.setTimeout(()=>{const Be=!De.every(Fe=>{const He=document.querySelector(`#${Fe.id}`);return He==null?void 0:He.offsetParent});De.forEach(Fe=>Fe.remove()),$e(Be)},100)})}function isInAppBrowser(){const $e=navigator.userAgent.toLowerCase(),De=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const Be of De)if(Be.regex.test($e))return{isInAppBrowser:!0,browserName:Be.name};return/; wv\)/.test($e)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}function registerAPI($e){const{autoOnboardProduct:De,cancelContract:Be,createCheckout:Fe,deleteTag:He,deleteTally:Ke,deleteUserMetadata:Ge,generateLink:We,getBill:Ze,getBills:Xe,getCheckout:Je,getContract:Ye,getContracts:Qe,getEntitlement:et,getEntitlementAccess:tt,getEntitlements:st,getFulfillments:at,getPaywall:ft,getPaymentIssues:ut,getProfile:ot,getProduct:rt,getProxyContent:lt,getSubscriptions:pt,getTags:$t,getTally:vt,getTallies:Et,getTransaction:Pt,getTransactions:Nt,getUserMetadata:yt,getVendorSettings:It,listVendors:Rt,hasAccess:gt,isSpotifyLinked:At,linkSpotify:Ut,listUserMetadata:xt,openHostedAccountPage:nt,pushTally:it,setTag:ht,setUserMetadata:St,unlinkSpotify:bt,updateCheckout:Tt,updateProfile:kt}=createApi($e),wt={analytics:{track},attribution:{get:getAttribution,set:setAttribution},auth:{getUser:ot,isAuthenticated,loginWithRedirect,logout,setToken},bills:{get:Ze,list:Xe},browser:{detectAdblock,isInAppBrowser,isIncognito},checkouts:{create:Fe,get:Je,update:Tt},clearCache,content:{list:listContent,get:getContent,getLanguage,unlock:unlockContent},contracts:{cancel:Be,get:Ye,list:Qe},entitlements:{access:tt,get:et,hasAccess:gt,list:st,signedLinks:getSignedLinks},fulfillments:{list:at},generateLink:We,getPaymentIssues:ut,getVersion,log,paywalls:{get:ft},products:{autoOnboard:De,get:rt,linkSpotify:Ut},profile:{get:ot,isSpotifyLinked:At,openHostedAccountPage:nt,unlinkSpotify:bt,update:kt},proxy:{getContent:lt},subscriptions:{list:pt},tags:{delete:He,list:$t,set:ht},tallies:{delete:Ke,get:vt,list:Et,push:it},transactions:{get:Pt,list:Nt},userMetadata:{delete:Ge,get:yt,list:xt,set:St},vendors:{get:It,list:Rt}};return $e.namespace&&(window[$e.namespace]=wt),wt}function getVersion(){return version}function gradient($e,De){$e.style.position="relative",$e.style.height="200px",$e.style.overflow="hidden";let Fe=0;const He=Array.from($e.children);for(const Ge of He){const We=Ge.offsetHeight;Fe+We>200?Ge.remove():Fe+=We}const Ke=document.createElement("style");Ke.innerHTML=`
|
|
37
37
|
${De.selector}::before {
|
|
38
38
|
content: '';
|
package/dist/sesamy-js.mjs
CHANGED
|
@@ -4163,7 +4163,7 @@ function createApi($e) {
|
|
|
4163
4163
|
listVendors: Ft
|
|
4164
4164
|
};
|
|
4165
4165
|
}
|
|
4166
|
-
const name = "@sesamy/sesamy-js", version = "1.32.
|
|
4166
|
+
const name = "@sesamy/sesamy-js", version = "1.32.3";
|
|
4167
4167
|
function i$5($e, De, Be, Fe, He) {
|
|
4168
4168
|
for (De = De.split ? De.split(".") : De, Fe = 0; Fe < De.length; Fe++) $e = $e ? $e[De[Fe]] : He;
|
|
4169
4169
|
return $e === He ? Be : $e;
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"registry": "https://registry.npmjs.org/",
|
|
7
7
|
"tag": "latest"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.32.
|
|
9
|
+
"version": "1.32.3",
|
|
10
10
|
"main": "dist/sesamy-js.cjs",
|
|
11
11
|
"module": "dist/sesamy-js.mjs",
|
|
12
12
|
"types": "dist/sesamy-js.d.ts",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"scripts": {
|
|
24
24
|
"dev": "vite",
|
|
25
25
|
"test": "vitest",
|
|
26
|
+
"prepare": "yarn build:prod",
|
|
26
27
|
"build": "rimraf dist/**/* && tsc && vite build --config vite.dev.config.ts",
|
|
27
28
|
"build:prod": "rimraf dist/**/* && tsc && vite build && dts-bundle-generator --config ./dts-bundle-generator.config.ts",
|
|
28
29
|
"preview": "vite preview",
|
|
Binary file
|