@sesamy/sesamy-js 1.8.1 → 1.9.0
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/README.md +3 -0
- package/dist/sesamy-js.cjs +5 -5
- package/dist/sesamy-js.iife.js +5 -5
- package/dist/sesamy-js.mjs +836 -824
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,6 +57,7 @@ The following methods are available on the `sesamy` object:
|
|
|
57
57
|
- get: get a product by sku
|
|
58
58
|
- autoOnboard: trigger the auto-onboarding process for a product by sku
|
|
59
59
|
- getVersion: returns the version of the sesamy-js library
|
|
60
|
+
- getPaymentIssues: returns a list of failed payments and cards that will expire
|
|
60
61
|
- clearCache: clears the cache for the sesamy-js library
|
|
61
62
|
|
|
62
63
|
## Events
|
|
@@ -67,12 +68,14 @@ The following events are emitted by the sesamy-js library:
|
|
|
67
68
|
- `sesamyJsAuthenticated` - Emitted when the user is authenticated
|
|
68
69
|
- `sesamyJsClearCache` - Emitted when the cache is cleared
|
|
69
70
|
- `sesamyJsLogout` - Emitted when the user logs out
|
|
71
|
+
- `sesamyJsPurchase` - Emitted after a purchase is completed and passes an itemSrc property with the source of the purchase
|
|
70
72
|
|
|
71
73
|
# Query parameters
|
|
72
74
|
|
|
73
75
|
The library can trigger actions based on query parameters. The following query parameters are supported:
|
|
74
76
|
|
|
75
77
|
- `sesamy-refresh`. If present, the library will clear the cache and emit a `sesamyJsClearCache` event.
|
|
78
|
+
- `sesamy-purchase`. Triggers a sesamyJsPurchase event.
|
|
76
79
|
|
|
77
80
|
## Usage
|
|
78
81
|
|
package/dist/sesamy-js.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var xr=Object.defineProperty;var Ar=(t,e,n)=>e in t?xr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var G=(t,e,n)=>(Ar(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ye(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function Q(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var de=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function xt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function At(t,e){return t(e={exports:{}},e.exports),e.exports}var le=At(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});xt(le);var $r=xt(At(function(t,e){var n=de&&de.__awaiter||function(u,c,f,d){return new(f||(f=Promise))(function(w,k){function v(g){try{S(d.next(g))}catch(l){k(l)}}function E(g){try{S(d.throw(g))}catch(l){k(l)}}function S(g){g.done?w(g.value):new f(function(l){l(g.value)}).then(v,E)}S((d=d.apply(u,c||[])).next())})},r=de&&de.__generator||function(u,c){var f,d,w,k,v={label:0,sent:function(){if(1&w[0])throw w[1];return w[1]},trys:[],ops:[]};return k={next:E(0),throw:E(1),return:E(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function E(S){return function(g){return function(l){if(f)throw new TypeError("Generator is already executing.");for(;v;)try{if(f=1,d&&(w=2&l[0]?d.return:l[0]?d.throw||((w=d.return)&&w.call(d),0):d.next)&&!(w=w.call(d,l[1])).done)return w;switch(d=0,w&&(l=[2&l[0],w.value]),l[0]){case 0:case 1:w=l;break;case 4:return v.label++,{value:l[1],done:!1};case 5:v.label++,d=l[1],l=[0];continue;case 7:l=v.ops.pop(),v.trys.pop();continue;default:if(w=v.trys,!((w=w.length>0&&w[w.length-1])||l[0]!==6&&l[0]!==2)){v=0;continue}if(l[0]===3&&(!w||l[1]>w[0]&&l[1]<w[3])){v.label=l[1];break}if(l[0]===6&&v.label<w[1]){v.label=w[1],w=l;break}if(w&&v.label<w[2]){v.label=w[2],v.ops.push(l);break}w[2]&&v.ops.pop(),v.trys.pop();continue}l=c.call(u,v)}catch(b){l=[6,b],d=0}finally{f=w=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([S,g])}}},i=de;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(f){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function h(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",f="",d=0;d<u;d++)f+=c[Math.floor(Math.random()*c.length)];return f}var p=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+h(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,f){return f===void 0&&(f=5e3),n(this,void 0,void 0,function(){var d,w,k,v,E,S,g;return r(this,function(l){switch(l.label){case 0:d=Date.now()+h(4),w=Date.now()+f,k=o+"-"+c,v=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<w?[4,s(30)]:[3,8];case 2:return l.sent(),v.getItemSync(k)!==null?[3,5]:(E=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),v.setItemSync(k,JSON.stringify({id:this.id,iat:d,timeoutKey:E,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(S=v.getItemSync(k))!==null&&(g=JSON.parse(S)).id===this.id&&g.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(k,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(w)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+h(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,f){return n(this,void 0,void 0,function(){var d=this;return r(this,function(w){return setTimeout(function(){return n(d,void 0,void 0,function(){var k,v,E;return r(this,function(S){switch(S.label){case 0:return[4,le.default().lock(f)];case 1:return S.sent(),this.acquiredIatSet.has(f)?(k=this.storageHandler===void 0?a:this.storageHandler,(v=k.getItemSync(c))===null?(le.default().unlock(f),[2]):((E=JSON.parse(v)).timeRefreshed=Date.now(),k.setItemSync(c,JSON.stringify(E)),le.default().unlock(f),this.refreshLockWhileAcquired(c,f),[2])):(le.default().unlock(f),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(f){switch(f.label){case 0:return[4,new Promise(function(d){var w=!1,k=Date.now(),v=!1;function E(){if(v||(window.removeEventListener("storage",E),u.removeFromWaiting(E),clearTimeout(S),v=!0),!w){w=!0;var g=50-(Date.now()-k);g>0?setTimeout(d,g):d(null)}}window.addEventListener("storage",E),u.addToWaiting(E);var S=setTimeout(E,Math.max(0,c-Date.now()))})];case 1:return f.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(f){return f!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(f){switch(f.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,f.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var f,d,w,k;return r(this,function(v){switch(v.label){case 0:return f=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(w=f.getItemSync(d))===null?[2]:(k=JSON.parse(w)).id!==this.id?[3,2]:[4,le.default().lock(k.iat)];case 1:v.sent(),this.acquiredIatSet.delete(k.iat),f.removeItemSync(d),le.default().unlock(k.iat),u.notifyWaiters(),v.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var f=Date.now()-5e3,d=c,w=[],k=0;;){var v=d.keySync(k);if(v===null)break;w.push(v),k++}for(var E=!1,S=0;S<w.length;S++){var g=w[S];if(g.includes(o)){var l=d.getItemSync(g);if(l!==null){var b=JSON.parse(l);(b.timeRefreshed===void 0&&b.timeAcquired<f||b.timeRefreshed!==void 0&&b.timeRefreshed<f)&&(d.removeItemSync(g),E=!0)}}}E&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=p}));const Nr={timeoutInSeconds:60},zn={name:"auth0-spa-js",version:"2.1.3"},Dn=()=>Date.now();let Y=class kt extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,kt.prototype)}static fromPayload({error:e,error_description:n}){return new kt(e,n)}},zr=class Un extends Y{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Un.prototype)}},It=class Rn extends Y{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,Rn.prototype)}},Dr=class Ln extends It{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,Ln.prototype)}},Ur=class Mn extends Y{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,Mn.prototype)}},Rr=class Zn extends Y{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Zn.prototype)}},Wn=class Kn extends Y{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Ft(e,["default"])}', scope: '${Ft(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,Kn.prototype)}};function Ft(t,e=[]){return t&&!e.includes(t)?t:""}const Qe=()=>window.crypto,dt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(Qe().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Ht=t=>btoa(t),St=t=>{var{clientId:e}=t,n=Q(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Jt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Lr=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Mr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Lr(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Zr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},h=o,new Promise(function(p,u){const c=new MessageChannel;c.port1.onmessage=function(f){f.data.error?u(new Error(f.data.error)):p(f.data),c.port1.close()},h.postMessage(s,[c.port2])});var s,h},Wr=async(t,e,n,r,i,o,a=1e4)=>i?Zr(t,e,n,r,a,i,o):Mr(t,r,a);async function Kr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,h=Q(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const p=s?St(h):JSON.stringify(h);return await async function(u,c,f,d,w,k,v){let E,S=null;for(let A=0;A<3;A++)try{E=await Wr(u,f,d,w,k,v,c),S=null;break}catch(U){S=U}if(S)throw S;const g=E.json,{error:l,error_description:b}=g,O=Q(g,["error","error_description"]),{ok:j}=E;if(!j){const A=b||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Rr(l,A,O.mfa_token):l==="missing_refresh_token"?new Wn(f,d):new Y(l||"request_error",A)}return O}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:p,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||zn))}},e,s)}const He=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let fe=class _t{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new _t({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new _t({scope:n,audience:r,clientId:i})}},Fr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},Fn=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},Hr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Dn}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const h=this.matchExistingCacheKey(e,s);h&&(i=await this.cache.get(h))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new fe({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new fe({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=fe.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],h=o.scope&&s.reduce((p,u)=>p&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&h})[0]}},Jr=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const ze=t=>typeof t=="number",Xr=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],Vr=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,h,p]=a;if(a.length!==3||!s||!h||!p)throw new Error("ID token could not be decoded");const u=JSON.parse(Jt(h)),c={__raw:o},f={};return Object.keys(u).forEach(d=>{c[d]=u[d],Xr.includes(d)||(f[d]=u[d])}),{encoded:{header:s,payload:h,signature:p},header:JSON.parse(Jt(s)),claims:c,user:f}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!ze(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!ze(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!ze(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&ze(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&ze(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var pe=At(function(t,e){var n=de&&de.__assign||function(){return n=Object.assign||function(h){for(var p,u=1,c=arguments.length;u<c;u++)for(var f in p=arguments[u])Object.prototype.hasOwnProperty.call(p,f)&&(h[f]=p[f]);return h},n.apply(this,arguments)};function r(h,p){if(!p)return"";var u="; "+h;return p===!0?u:u+"="+p}function i(h,p,u){return encodeURIComponent(h).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(p).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var f=new Date;f.setMilliseconds(f.getMilliseconds()+864e5*c.expires),c.expires=f}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(h){for(var p={},u=h?h.split("; "):[],c=/(%[\dA-F]{2})+/gi,f=0;f<u.length;f++){var d=u[f].split("="),w=d.slice(1).join("=");w.charAt(0)==='"'&&(w=w.slice(1,-1));try{p[d[0].replace(c,decodeURIComponent)]=w.replace(c,decodeURIComponent)}catch{}}return p}function a(){return o(document.cookie)}function s(h,p,u){document.cookie=i(h,p,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(h){return a()[h]},e.set=s,e.remove=function(h,p){s(h,"",n(n({},p),{expires:-1}))}});xt(pe),pe.encode,pe.parse,pe.getAll;var Yr=pe.get,Hn=pe.set,Jn=pe.remove;const Ie={get(t){const e=Yr(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Hn(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Jn(t,n)}},Gr={get(t){return Ie.get(t)||Ie.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Hn(`_legacy_${t}`,JSON.stringify(e),r),Ie.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Jn(t,n),Ie.remove(t,e),Ie.remove(`_legacy_${t}`,e)}},Br={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function qr(t,e,n){var r=e===void 0?null:e,i=function(h,p){var u=atob(h);if(p){for(var c=new Uint8Array(u.length),f=0,d=u.length;f<d;++f)c[f]=u.charCodeAt(f);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
|
|
2
|
-
`,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var Xt,Vt,Yt,ht,
|
|
1
|
+
"use strict";var Ar=Object.defineProperty;var $r=(t,e,n)=>e in t?Ar(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var B=(t,e,n)=>($r(t,typeof e!="symbol"?e+"":e,n),n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function ue(t,e){const n=new CustomEvent(t,{detail:e,bubbles:!0,composed:!0});dispatchEvent(n)}function te(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function"){var i=0;for(r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]])}return n}var he=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function xt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function At(t,e){return t(e={exports:{}},e.exports),e.exports}var de=At(function(t,e){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function r(){var i=this;this.locked=new Map,this.addToLocked=function(o,a){var s=i.locked.get(o);s===void 0?a===void 0?i.locked.set(o,[]):i.locked.set(o,[a]):a!==void 0&&(s.unshift(a),i.locked.set(o,s))},this.isLocked=function(o){return i.locked.has(o)},this.lock=function(o){return new Promise(function(a,s){i.isLocked(o)?i.addToLocked(o,a):(i.addToLocked(o),a())})},this.unlock=function(o){var a=i.locked.get(o);if(a!==void 0&&a.length!==0){var s=a.pop();i.locked.set(o,a),s!==void 0&&setTimeout(s,0)}else i.locked.delete(o)}}return r.getInstance=function(){return r.instance===void 0&&(r.instance=new r),r.instance},r}();e.default=function(){return n.getInstance()}});xt(de);var Nr=xt(At(function(t,e){var n=he&&he.__awaiter||function(u,c,f,d){return new(f||(f=Promise))(function(w,k){function v(g){try{_(d.next(g))}catch(l){k(l)}}function E(g){try{_(d.throw(g))}catch(l){k(l)}}function _(g){g.done?w(g.value):new f(function(l){l(g.value)}).then(v,E)}_((d=d.apply(u,c||[])).next())})},r=he&&he.__generator||function(u,c){var f,d,w,k,v={label:0,sent:function(){if(1&w[0])throw w[1];return w[1]},trys:[],ops:[]};return k={next:E(0),throw:E(1),return:E(2)},typeof Symbol=="function"&&(k[Symbol.iterator]=function(){return this}),k;function E(_){return function(g){return function(l){if(f)throw new TypeError("Generator is already executing.");for(;v;)try{if(f=1,d&&(w=2&l[0]?d.return:l[0]?d.throw||((w=d.return)&&w.call(d),0):d.next)&&!(w=w.call(d,l[1])).done)return w;switch(d=0,w&&(l=[2&l[0],w.value]),l[0]){case 0:case 1:w=l;break;case 4:return v.label++,{value:l[1],done:!1};case 5:v.label++,d=l[1],l=[0];continue;case 7:l=v.ops.pop(),v.trys.pop();continue;default:if(w=v.trys,!((w=w.length>0&&w[w.length-1])||l[0]!==6&&l[0]!==2)){v=0;continue}if(l[0]===3&&(!w||l[1]>w[0]&&l[1]<w[3])){v.label=l[1];break}if(l[0]===6&&v.label<w[1]){v.label=w[1],w=l;break}if(w&&v.label<w[2]){v.label=w[2],v.ops.push(l);break}w[2]&&v.ops.pop(),v.trys.pop();continue}l=c.call(u,v)}catch(b){l=[6,b],d=0}finally{f=w=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([_,g])}}},i=he;Object.defineProperty(e,"__esModule",{value:!0});var o="browser-tabs-lock-key",a={key:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},getItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},clear:function(){return n(i,void 0,void 0,function(){return r(this,function(u){return[2,window.localStorage.clear()]})})},removeItem:function(u){return n(i,void 0,void 0,function(){return r(this,function(c){throw new Error("Unsupported")})})},setItem:function(u,c){return n(i,void 0,void 0,function(){return r(this,function(f){throw new Error("Unsupported")})})},keySync:function(u){return window.localStorage.key(u)},getItemSync:function(u){return window.localStorage.getItem(u)},clearSync:function(){return window.localStorage.clear()},removeItemSync:function(u){return window.localStorage.removeItem(u)},setItemSync:function(u,c){return window.localStorage.setItem(u,c)}};function s(u){return new Promise(function(c){return setTimeout(c,u)})}function h(u){for(var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",f="",d=0;d<u;d++)f+=c[Math.floor(Math.random()*c.length)];return f}var p=function(){function u(c){this.acquiredIatSet=new Set,this.storageHandler=void 0,this.id=Date.now().toString()+h(15),this.acquireLock=this.acquireLock.bind(this),this.releaseLock=this.releaseLock.bind(this),this.releaseLock__private__=this.releaseLock__private__.bind(this),this.waitForSomethingToChange=this.waitForSomethingToChange.bind(this),this.refreshLockWhileAcquired=this.refreshLockWhileAcquired.bind(this),this.storageHandler=c,u.waiters===void 0&&(u.waiters=[])}return u.prototype.acquireLock=function(c,f){return f===void 0&&(f=5e3),n(this,void 0,void 0,function(){var d,w,k,v,E,_,g;return r(this,function(l){switch(l.label){case 0:d=Date.now()+h(4),w=Date.now()+f,k=o+"-"+c,v=this.storageHandler===void 0?a:this.storageHandler,l.label=1;case 1:return Date.now()<w?[4,s(30)]:[3,8];case 2:return l.sent(),v.getItemSync(k)!==null?[3,5]:(E=this.id+"-"+c+"-"+d,[4,s(Math.floor(25*Math.random()))]);case 3:return l.sent(),v.setItemSync(k,JSON.stringify({id:this.id,iat:d,timeoutKey:E,timeAcquired:Date.now(),timeRefreshed:Date.now()})),[4,s(30)];case 4:return l.sent(),(_=v.getItemSync(k))!==null&&(g=JSON.parse(_)).id===this.id&&g.iat===d?(this.acquiredIatSet.add(d),this.refreshLockWhileAcquired(k,d),[2,!0]):[3,7];case 5:return u.lockCorrector(this.storageHandler===void 0?a:this.storageHandler),[4,this.waitForSomethingToChange(w)];case 6:l.sent(),l.label=7;case 7:return d=Date.now()+h(4),[3,1];case 8:return[2,!1]}})})},u.prototype.refreshLockWhileAcquired=function(c,f){return n(this,void 0,void 0,function(){var d=this;return r(this,function(w){return setTimeout(function(){return n(d,void 0,void 0,function(){var k,v,E;return r(this,function(_){switch(_.label){case 0:return[4,de.default().lock(f)];case 1:return _.sent(),this.acquiredIatSet.has(f)?(k=this.storageHandler===void 0?a:this.storageHandler,(v=k.getItemSync(c))===null?(de.default().unlock(f),[2]):((E=JSON.parse(v)).timeRefreshed=Date.now(),k.setItemSync(c,JSON.stringify(E)),de.default().unlock(f),this.refreshLockWhileAcquired(c,f),[2])):(de.default().unlock(f),[2])}})})},1e3),[2]})})},u.prototype.waitForSomethingToChange=function(c){return n(this,void 0,void 0,function(){return r(this,function(f){switch(f.label){case 0:return[4,new Promise(function(d){var w=!1,k=Date.now(),v=!1;function E(){if(v||(window.removeEventListener("storage",E),u.removeFromWaiting(E),clearTimeout(_),v=!0),!w){w=!0;var g=50-(Date.now()-k);g>0?setTimeout(d,g):d(null)}}window.addEventListener("storage",E),u.addToWaiting(E);var _=setTimeout(E,Math.max(0,c-Date.now()))})];case 1:return f.sent(),[2]}})})},u.addToWaiting=function(c){this.removeFromWaiting(c),u.waiters!==void 0&&u.waiters.push(c)},u.removeFromWaiting=function(c){u.waiters!==void 0&&(u.waiters=u.waiters.filter(function(f){return f!==c}))},u.notifyWaiters=function(){u.waiters!==void 0&&u.waiters.slice().forEach(function(c){return c()})},u.prototype.releaseLock=function(c){return n(this,void 0,void 0,function(){return r(this,function(f){switch(f.label){case 0:return[4,this.releaseLock__private__(c)];case 1:return[2,f.sent()]}})})},u.prototype.releaseLock__private__=function(c){return n(this,void 0,void 0,function(){var f,d,w,k;return r(this,function(v){switch(v.label){case 0:return f=this.storageHandler===void 0?a:this.storageHandler,d=o+"-"+c,(w=f.getItemSync(d))===null?[2]:(k=JSON.parse(w)).id!==this.id?[3,2]:[4,de.default().lock(k.iat)];case 1:v.sent(),this.acquiredIatSet.delete(k.iat),f.removeItemSync(d),de.default().unlock(k.iat),u.notifyWaiters(),v.label=2;case 2:return[2]}})})},u.lockCorrector=function(c){for(var f=Date.now()-5e3,d=c,w=[],k=0;;){var v=d.keySync(k);if(v===null)break;w.push(v),k++}for(var E=!1,_=0;_<w.length;_++){var g=w[_];if(g.includes(o)){var l=d.getItemSync(g);if(l!==null){var b=JSON.parse(l);(b.timeRefreshed===void 0&&b.timeAcquired<f||b.timeRefreshed!==void 0&&b.timeRefreshed<f)&&(d.removeItemSync(g),E=!0)}}}E&&u.notifyWaiters()},u.waiters=void 0,u}();e.default=p}));const zr={timeoutInSeconds:60},Dn={name:"auth0-spa-js",version:"2.1.3"},Un=()=>Date.now();let G=class kt extends Error{constructor(e,n){super(n),this.error=e,this.error_description=n,Object.setPrototypeOf(this,kt.prototype)}static fromPayload({error:e,error_description:n}){return new kt(e,n)}},Dr=class Rn extends G{constructor(e,n,r,i=null){super(e,n),this.state=r,this.appState=i,Object.setPrototypeOf(this,Rn.prototype)}},It=class Ln extends G{constructor(){super("timeout","Timeout"),Object.setPrototypeOf(this,Ln.prototype)}},Ur=class Mn extends It{constructor(e){super(),this.popup=e,Object.setPrototypeOf(this,Mn.prototype)}},Rr=class Zn extends G{constructor(e){super("cancelled","Popup closed"),this.popup=e,Object.setPrototypeOf(this,Zn.prototype)}},Lr=class Kn extends G{constructor(e,n,r){super(e,n),this.mfa_token=r,Object.setPrototypeOf(this,Kn.prototype)}},Wn=class Hn extends G{constructor(e,n){super("missing_refresh_token",`Missing Refresh Token (audience: '${Ht(e,["default"])}', scope: '${Ht(n)}')`),this.audience=e,this.scope=n,Object.setPrototypeOf(this,Hn.prototype)}};function Ht(t,e=[]){return t&&!e.includes(t)?t:""}const Qe=()=>window.crypto,dt=()=>{const t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_~.";let e="";return Array.from(Qe().getRandomValues(new Uint8Array(43))).forEach(n=>e+=t[n%t.length]),e},Ft=t=>btoa(t),St=t=>{var{clientId:e}=t,n=te(t,["clientId"]);return new URLSearchParams((r=>Object.keys(r).filter(i=>r[i]!==void 0).reduce((i,o)=>Object.assign(Object.assign({},i),{[o]:r[o]}),{}))(Object.assign({client_id:e},n))).toString()},Jt=t=>(e=>decodeURIComponent(atob(e).split("").map(n=>"%"+("00"+n.charCodeAt(0).toString(16)).slice(-2)).join("")))(t.replace(/_/g,"/").replace(/-/g,"+")),Mr=async(t,e)=>{const n=await fetch(t,e);return{ok:n.ok,json:await n.json()}},Zr=async(t,e,n)=>{const r=new AbortController;let i;return e.signal=r.signal,Promise.race([Mr(t,e),new Promise((o,a)=>{i=setTimeout(()=>{r.abort(),a(new Error("Timeout when executing 'fetch'"))},n)})]).finally(()=>{clearTimeout(i)})},Kr=async(t,e,n,r,i,o,a)=>{return s={auth:{audience:e,scope:n},timeout:i,fetchUrl:t,fetchOptions:r,useFormData:a},h=o,new Promise(function(p,u){const c=new MessageChannel;c.port1.onmessage=function(f){f.data.error?u(new Error(f.data.error)):p(f.data),c.port1.close()},h.postMessage(s,[c.port2])});var s,h},Wr=async(t,e,n,r,i,o,a=1e4)=>i?Kr(t,e,n,r,a,i,o):Zr(t,r,a);async function Hr(t,e){var{baseUrl:n,timeout:r,audience:i,scope:o,auth0Client:a,useFormData:s}=t,h=te(t,["baseUrl","timeout","audience","scope","auth0Client","useFormData"]);const p=s?St(h):JSON.stringify(h);return await async function(u,c,f,d,w,k,v){let E,_=null;for(let x=0;x<3;x++)try{E=await Wr(u,f,d,w,k,v,c),_=null;break}catch(R){_=R}if(_)throw _;const g=E.json,{error:l,error_description:b}=g,T=te(g,["error","error_description"]),{ok:O}=E;if(!O){const x=b||`HTTP error. Unable to fetch ${u}`;throw l==="mfa_required"?new Lr(l,x,T.mfa_token):l==="missing_refresh_token"?new Wn(f,d):new G(l||"request_error",x)}return T}(`${n}/oauth/token`,r,i||"default",o,{method:"POST",body:p,headers:{"Content-Type":s?"application/x-www-form-urlencoded":"application/json","Auth0-Client":btoa(JSON.stringify(a||Dn))}},e,s)}const Fe=(...t)=>{return(e=t.filter(Boolean).join(" ").trim().split(/\s+/),Array.from(new Set(e))).join(" ");var e};let pe=class _t{constructor(e,n="@@auth0spajs@@",r){this.prefix=n,this.suffix=r,this.clientId=e.clientId,this.scope=e.scope,this.audience=e.audience}toKey(){return[this.prefix,this.clientId,this.audience,this.scope,this.suffix].filter(Boolean).join("::")}static fromKey(e){const[n,r,i,o]=e.split("::");return new _t({clientId:r,scope:o,audience:i},n)}static fromCacheEntry(e){const{scope:n,audience:r,client_id:i}=e;return new _t({scope:n,audience:r,clientId:i})}},Fr=class{set(e,n){localStorage.setItem(e,JSON.stringify(n))}get(e){const n=window.localStorage.getItem(e);if(n)try{return JSON.parse(n)}catch{return}}remove(e){localStorage.removeItem(e)}allKeys(){return Object.keys(window.localStorage).filter(e=>e.startsWith("@@auth0spajs@@"))}},Fn=class{constructor(){this.enclosedCache=function(){let e={};return{set(n,r){e[n]=r},get(n){const r=e[n];if(r)return r},remove(n){delete e[n]},allKeys:()=>Object.keys(e)}}()}},Jr=class{constructor(e,n,r){this.cache=e,this.keyManifest=n,this.nowProvider=r||Un}async setIdToken(e,n,r){var i;const o=this.getIdTokenCacheKey(e);await this.cache.set(o,{id_token:n,decodedToken:r}),await((i=this.keyManifest)===null||i===void 0?void 0:i.add(o))}async getIdToken(e){const n=await this.cache.get(this.getIdTokenCacheKey(e.clientId));if(!n&&e.scope&&e.audience){const r=await this.get(e);return!r||!r.id_token||!r.decodedToken?void 0:{id_token:r.id_token,decodedToken:r.decodedToken}}if(n)return{id_token:n.id_token,decodedToken:n.decodedToken}}async get(e,n=0){var r;let i=await this.cache.get(e.toKey());if(!i){const s=await this.getCacheKeys();if(!s)return;const h=this.matchExistingCacheKey(e,s);h&&(i=await this.cache.get(h))}if(!i)return;const o=await this.nowProvider(),a=Math.floor(o/1e3);return i.expiresAt-n<a?i.body.refresh_token?(i.body={refresh_token:i.body.refresh_token},await this.cache.set(e.toKey(),i),i.body):(await this.cache.remove(e.toKey()),void await((r=this.keyManifest)===null||r===void 0?void 0:r.remove(e.toKey()))):i.body}async set(e){var n;const r=new pe({clientId:e.client_id,scope:e.scope,audience:e.audience}),i=await this.wrapCacheEntry(e);await this.cache.set(r.toKey(),i),await((n=this.keyManifest)===null||n===void 0?void 0:n.add(r.toKey()))}async clear(e){var n;const r=await this.getCacheKeys();r&&(await r.filter(i=>!e||i.includes(e)).reduce(async(i,o)=>{await i,await this.cache.remove(o)},Promise.resolve()),await((n=this.keyManifest)===null||n===void 0?void 0:n.clear()))}async wrapCacheEntry(e){const n=await this.nowProvider();return{body:e,expiresAt:Math.floor(n/1e3)+e.expires_in}}async getCacheKeys(){var e;return this.keyManifest?(e=await this.keyManifest.get())===null||e===void 0?void 0:e.keys:this.cache.allKeys?this.cache.allKeys():void 0}getIdTokenCacheKey(e){return new pe({clientId:e},"@@auth0spajs@@","@@user@@").toKey()}matchExistingCacheKey(e,n){return n.filter(r=>{var i;const o=pe.fromKey(r),a=new Set(o.scope&&o.scope.split(" ")),s=((i=e.scope)===null||i===void 0?void 0:i.split(" "))||[],h=o.scope&&s.reduce((p,u)=>p&&a.has(u),!0);return o.prefix==="@@auth0spajs@@"&&o.clientId===e.clientId&&o.audience===e.audience&&h})[0]}},Xr=class{constructor(e,n,r){this.storage=e,this.clientId=n,this.cookieDomain=r,this.storageKey=`a0.spajs.txs.${this.clientId}`}create(e){this.storage.save(this.storageKey,e,{daysUntilExpire:1,cookieDomain:this.cookieDomain})}get(){return this.storage.get(this.storageKey)}remove(){this.storage.remove(this.storageKey,{cookieDomain:this.cookieDomain})}};const ze=t=>typeof t=="number",Vr=["iss","aud","exp","nbf","iat","jti","azp","nonce","auth_time","at_hash","c_hash","acr","amr","sub_jwk","cnf","sip_from_tag","sip_date","sip_callid","sip_cseq_num","sip_via_branch","orig","dest","mky","events","toe","txn","rph","sid","vot","vtm"],Yr=t=>{if(!t.id_token)throw new Error("ID token is required but missing");const e=(o=>{const a=o.split("."),[s,h,p]=a;if(a.length!==3||!s||!h||!p)throw new Error("ID token could not be decoded");const u=JSON.parse(Jt(h)),c={__raw:o},f={};return Object.keys(u).forEach(d=>{c[d]=u[d],Vr.includes(d)||(f[d]=u[d])}),{encoded:{header:s,payload:h,signature:p},header:JSON.parse(Jt(s)),claims:c,user:f}})(t.id_token);if(!e.claims.iss)throw new Error("Issuer (iss) claim must be a string present in the ID token");if(e.claims.iss!==t.iss)throw new Error(`Issuer (iss) claim mismatch in the ID token; expected "${t.iss}", found "${e.claims.iss}"`);if(!e.user.sub)throw new Error("Subject (sub) claim must be a string present in the ID token");if(e.header.alg!=="RS256")throw new Error(`Signature algorithm of "${e.header.alg}" is not supported. Expected the ID token to be signed with "RS256".`);if(!e.claims.aud||typeof e.claims.aud!="string"&&!Array.isArray(e.claims.aud))throw new Error("Audience (aud) claim must be a string or array of strings present in the ID token");if(Array.isArray(e.claims.aud)){if(!e.claims.aud.includes(t.aud))throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but was not one of "${e.claims.aud.join(", ")}"`);if(e.claims.aud.length>1){if(!e.claims.azp)throw new Error("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values");if(e.claims.azp!==t.aud)throw new Error(`Authorized Party (azp) claim mismatch in the ID token; expected "${t.aud}", found "${e.claims.azp}"`)}}else if(e.claims.aud!==t.aud)throw new Error(`Audience (aud) claim mismatch in the ID token; expected "${t.aud}" but found "${e.claims.aud}"`);if(t.nonce){if(!e.claims.nonce)throw new Error("Nonce (nonce) claim must be a string present in the ID token");if(e.claims.nonce!==t.nonce)throw new Error(`Nonce (nonce) claim mismatch in the ID token; expected "${t.nonce}", found "${e.claims.nonce}"`)}if(t.max_age&&!ze(e.claims.auth_time))throw new Error("Authentication Time (auth_time) claim must be a number present in the ID token when Max Age (max_age) is specified");if(e.claims.exp==null||!ze(e.claims.exp))throw new Error("Expiration Time (exp) claim must be a number present in the ID token");if(!ze(e.claims.iat))throw new Error("Issued At (iat) claim must be a number present in the ID token");const n=t.leeway||60,r=new Date(t.now||Date.now()),i=new Date(0);if(i.setUTCSeconds(e.claims.exp+n),r>i)throw new Error(`Expiration Time (exp) claim error in the ID token; current time (${r}) is after expiration time (${i})`);if(e.claims.nbf!=null&&ze(e.claims.nbf)){const o=new Date(0);if(o.setUTCSeconds(e.claims.nbf-n),r<o)throw new Error(`Not Before time (nbf) claim in the ID token indicates that this token can't be used just yet. Current time (${r}) is before ${o}`)}if(e.claims.auth_time!=null&&ze(e.claims.auth_time)){const o=new Date(0);if(o.setUTCSeconds(parseInt(e.claims.auth_time)+t.max_age+n),r>o)throw new Error(`Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time (${r}) is after last auth at ${o}`)}if(t.organization){const o=t.organization.trim();if(o.startsWith("org_")){const a=o;if(!e.claims.org_id)throw new Error("Organization ID (org_id) claim must be a string present in the ID token");if(a!==e.claims.org_id)throw new Error(`Organization ID (org_id) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_id}"`)}else{const a=o.toLowerCase();if(!e.claims.org_name)throw new Error("Organization Name (org_name) claim must be a string present in the ID token");if(a!==e.claims.org_name)throw new Error(`Organization Name (org_name) claim mismatch in the ID token; expected "${a}", found "${e.claims.org_name}"`)}}return e};var me=At(function(t,e){var n=he&&he.__assign||function(){return n=Object.assign||function(h){for(var p,u=1,c=arguments.length;u<c;u++)for(var f in p=arguments[u])Object.prototype.hasOwnProperty.call(p,f)&&(h[f]=p[f]);return h},n.apply(this,arguments)};function r(h,p){if(!p)return"";var u="; "+h;return p===!0?u:u+"="+p}function i(h,p,u){return encodeURIComponent(h).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/\(/g,"%28").replace(/\)/g,"%29")+"="+encodeURIComponent(p).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)+function(c){if(typeof c.expires=="number"){var f=new Date;f.setMilliseconds(f.getMilliseconds()+864e5*c.expires),c.expires=f}return r("Expires",c.expires?c.expires.toUTCString():"")+r("Domain",c.domain)+r("Path",c.path)+r("Secure",c.secure)+r("SameSite",c.sameSite)}(u)}function o(h){for(var p={},u=h?h.split("; "):[],c=/(%[\dA-F]{2})+/gi,f=0;f<u.length;f++){var d=u[f].split("="),w=d.slice(1).join("=");w.charAt(0)==='"'&&(w=w.slice(1,-1));try{p[d[0].replace(c,decodeURIComponent)]=w.replace(c,decodeURIComponent)}catch{}}return p}function a(){return o(document.cookie)}function s(h,p,u){document.cookie=i(h,p,n({path:"/"},u))}e.__esModule=!0,e.encode=i,e.parse=o,e.getAll=a,e.get=function(h){return a()[h]},e.set=s,e.remove=function(h,p){s(h,"",n(n({},p),{expires:-1}))}});xt(me),me.encode,me.parse,me.getAll;var Gr=me.get,Jn=me.set,Xn=me.remove;const Ie={get(t){const e=Gr(t);if(e!==void 0)return JSON.parse(e)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0,sameSite:"none"}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Jn(t,JSON.stringify(e),r)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Xn(t,n)}},Br={get(t){return Ie.get(t)||Ie.get(`_legacy_${t}`)},save(t,e,n){let r={};window.location.protocol==="https:"&&(r={secure:!0}),n!=null&&n.daysUntilExpire&&(r.expires=n.daysUntilExpire),n!=null&&n.cookieDomain&&(r.domain=n.cookieDomain),Jn(`_legacy_${t}`,JSON.stringify(e),r),Ie.save(t,e,n)},remove(t,e){let n={};e!=null&&e.cookieDomain&&(n.domain=e.cookieDomain),Xn(t,n),Ie.remove(t,e),Ie.remove(`_legacy_${t}`,e)}},qr={get(t){if(typeof sessionStorage>"u")return;const e=sessionStorage.getItem(t);return e!=null?JSON.parse(e):void 0},save(t,e){sessionStorage.setItem(t,JSON.stringify(e))},remove(t){sessionStorage.removeItem(t)}};function Qr(t,e,n){var r=e===void 0?null:e,i=function(h,p){var u=atob(h);if(p){for(var c=new Uint8Array(u.length),f=0,d=u.length;f<d;++f)c[f]=u.charCodeAt(f);return String.fromCharCode.apply(null,new Uint16Array(c.buffer))}return u}(t,n!==void 0&&n),o=i.indexOf(`
|
|
2
|
+
`,10)+1,a=i.substring(o)+(r?"//# sourceMappingURL="+r:""),s=new Blob([a],{type:"application/javascript"});return URL.createObjectURL(s)}var Xt,Vt,Yt,ht,ei=(Xt="Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwohZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Y2xhc3MgZSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQscil7c3VwZXIociksdGhpcy5lcnJvcj10LHRoaXMuZXJyb3JfZGVzY3JpcHRpb249cixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxlLnByb3RvdHlwZSl9c3RhdGljIGZyb21QYXlsb2FkKHtlcnJvcjp0LGVycm9yX2Rlc2NyaXB0aW9uOnJ9KXtyZXR1cm4gbmV3IGUodCxyKX19Y2xhc3MgdCBleHRlbmRzIGV7Y29uc3RydWN0b3IoZSxzKXtzdXBlcigibWlzc2luZ19yZWZyZXNoX3Rva2VuIixgTWlzc2luZyBSZWZyZXNoIFRva2VuIChhdWRpZW5jZTogJyR7cihlLFsiZGVmYXVsdCJdKX0nLCBzY29wZTogJyR7cihzKX0nKWApLHRoaXMuYXVkaWVuY2U9ZSx0aGlzLnNjb3BlPXMsT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsdC5wcm90b3R5cGUpfX1mdW5jdGlvbiByKGUsdD1bXSl7cmV0dXJuIGUmJiF0LmluY2x1ZGVzKGUpP2U6IiJ9ImZ1bmN0aW9uIj09dHlwZW9mIFN1cHByZXNzZWRFcnJvciYmU3VwcHJlc3NlZEVycm9yO2NvbnN0IHM9ZT0+e3ZhcntjbGllbnRJZDp0fT1lLHI9ZnVuY3Rpb24oZSx0KXt2YXIgcj17fTtmb3IodmFyIHMgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmdC5pbmRleE9mKHMpPDAmJihyW3NdPWVbc10pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxzLmxlbmd0aDtvKyspdC5pbmRleE9mKHNbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHNbb10pJiYocltzW29dXT1lW3Nbb11dKX1yZXR1cm4gcn0oZSxbImNsaWVudElkIl0pO3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKChlPT5PYmplY3Qua2V5cyhlKS5maWx0ZXIoKHQ9PnZvaWQgMCE9PWVbdF0pKS5yZWR1Y2UoKCh0LHIpPT5PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse1tyXTplW3JdfSkpLHt9KSkoT2JqZWN0LmFzc2lnbih7Y2xpZW50X2lkOnR9LHIpKSkudG9TdHJpbmcoKX07bGV0IG89e307Y29uc3Qgbj0oZSx0KT0+YCR7ZX18JHt0fWA7YWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsKGFzeW5jKHtkYXRhOnt0aW1lb3V0OmUsYXV0aDpyLGZldGNoVXJsOmksZmV0Y2hPcHRpb25zOmMsdXNlRm9ybURhdGE6YX0scG9ydHM6W3BdfSk9PntsZXQgZjtjb25zdHthdWRpZW5jZTp1LHNjb3BlOmx9PXJ8fHt9O3RyeXtjb25zdCByPWE/KGU9Pntjb25zdCB0PW5ldyBVUkxTZWFyY2hQYXJhbXMoZSkscj17fTtyZXR1cm4gdC5mb3JFYWNoKCgoZSx0KT0+e3JbdF09ZX0pKSxyfSkoYy5ib2R5KTpKU09OLnBhcnNlKGMuYm9keSk7aWYoIXIucmVmcmVzaF90b2tlbiYmInJlZnJlc2hfdG9rZW4iPT09ci5ncmFudF90eXBlKXtjb25zdCBlPSgoZSx0KT0+b1tuKGUsdCldKSh1LGwpO2lmKCFlKXRocm93IG5ldyB0KHUsbCk7Yy5ib2R5PWE/cyhPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKTpKU09OLnN0cmluZ2lmeShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scikse3JlZnJlc2hfdG9rZW46ZX0pKX1sZXQgaCxnOyJmdW5jdGlvbiI9PXR5cGVvZiBBYm9ydENvbnRyb2xsZXImJihoPW5ldyBBYm9ydENvbnRyb2xsZXIsYy5zaWduYWw9aC5zaWduYWwpO3RyeXtnPWF3YWl0IFByb21pc2UucmFjZShbKGQ9ZSxuZXcgUHJvbWlzZSgoZT0+c2V0VGltZW91dChlLGQpKSkpLGZldGNoKGksT2JqZWN0LmFzc2lnbih7fSxjKSldKX1jYXRjaChlKXtyZXR1cm4gdm9pZCBwLnBvc3RNZXNzYWdlKHtlcnJvcjplLm1lc3NhZ2V9KX1pZighZylyZXR1cm4gaCYmaC5hYm9ydCgpLHZvaWQgcC5wb3N0TWVzc2FnZSh7ZXJyb3I6IlRpbWVvdXQgd2hlbiBleGVjdXRpbmcgJ2ZldGNoJyJ9KTtmPWF3YWl0IGcuanNvbigpLGYucmVmcmVzaF90b2tlbj8oKChlLHQscik9PntvW24odCxyKV09ZX0pKGYucmVmcmVzaF90b2tlbix1LGwpLGRlbGV0ZSBmLnJlZnJlc2hfdG9rZW4pOigoZSx0KT0+e2RlbGV0ZSBvW24oZSx0KV19KSh1LGwpLHAucG9zdE1lc3NhZ2Uoe29rOmcub2ssanNvbjpmfSl9Y2F0Y2goZSl7cC5wb3N0TWVzc2FnZSh7b2s6ITEsanNvbjp7ZXJyb3I6ZS5lcnJvcixlcnJvcl9kZXNjcmlwdGlvbjplLm1lc3NhZ2V9fSl9dmFyIGR9KSl9KCk7Cgo=",Vt=null,Yt=!1,function(t){return ht=ht||Qr(Xt,Vt,Yt),new Worker(ht,t)});const ft={};let ti=class{constructor(e,n){this.cache=e,this.clientId=n,this.manifestKey=this.createManifestKeyFrom(this.clientId)}async add(e){var n;const r=new Set(((n=await this.cache.get(this.manifestKey))===null||n===void 0?void 0:n.keys)||[]);r.add(e),await this.cache.set(this.manifestKey,{keys:[...r]})}async remove(e){const n=await this.cache.get(this.manifestKey);if(n){const r=new Set(n.keys);return r.delete(e),r.size>0?await this.cache.set(this.manifestKey,{keys:[...r]}):await this.cache.remove(this.manifestKey)}}get(){return this.cache.get(this.manifestKey)}clear(){return this.cache.remove(this.manifestKey)}createManifestKeyFrom(e){return`@@auth0spajs@@::${e}`}};const ni={memory:()=>new Fn().enclosedCache,localstorage:()=>new Fr},Gt=t=>ni[t],Bt=t=>{const{openUrl:e,onRedirect:n}=t,r=te(t,["openUrl","onRedirect"]);return Object.assign(Object.assign({},r),{openUrl:e===!1||e?e:n})},pt=new Nr;let ri=class{constructor(e){let n,r;if(this.userCache=new Fn().enclosedCache,this.defaultOptions={authorizationParams:{scope:"openid profile email"},useRefreshTokensFallback:!1,useFormData:!0},this._releaseLockOnPageHide=async()=>{await pt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)},this.options=Object.assign(Object.assign(Object.assign({},this.defaultOptions),e),{authorizationParams:Object.assign(Object.assign({},this.defaultOptions.authorizationParams),e.authorizationParams)}),typeof window<"u"&&(()=>{if(!Qe())throw new Error("For security reasons, `window.crypto` is required to run `auth0-spa-js`.");if(Qe().subtle===void 0)throw new Error(`
|
|
3
3
|
auth0-spa-js must run on a secure origin. See https://github.com/auth0/auth0-spa-js/blob/main/FAQ.md#why-do-i-get-auth0-spa-js-must-run-on-a-secure-origin for more information.
|
|
4
|
-
`)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!Gt(n))throw new Error(`Invalid cache location "${n}"`);r=Gt(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?Ie:Gr,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:Br;var o;this.scope=He("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Jr(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Dn,this.cacheManager=new Hr(r,r.allKeys?void 0:new ei(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new Qr)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||zn)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${St(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return Vr({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Ht(dt()),o=Ht(dt()),a=dt(),s=(u=>{const c=new Uint8Array(u);return(f=>{const d={"+":"-","/":"_","=":""};return f.replace(/[+/=]/g,w=>d[w])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await Qe().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),h=((u,c,f,d,w,k,v,E)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),f),{scope:He(c,f.scope),response_type:"code",response_mode:E||"query",state:d,nonce:w,redirect_uri:v||u.authorizationParams.redirect_uri,code_challenge:k,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),p=this._authorizeUrl(h);return{nonce:o,code_verifier:a,scope:h.scope,audience:h.audience||"default",redirect_uri:h.redirect_uri,state:i,url:p}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const h=window.screenX+(window.innerWidth-400)/2,p=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${h},top=${p},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((h,p)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(f),window.removeEventListener("message",u,!1),p(new Ur(s.popup)))},1e3),f=setTimeout(()=>{clearInterval(c),p(new Dr(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(f),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return p(Y.fromPayload(d.data.response));h(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new Y("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=Bt(e),{openUrl:i,fragment:o,appState:a}=r,s=Q(r,["openUrl","fragment","appState"]),h=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,p=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=p,c=Q(p,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),h&&{organization:h}));const f=o?`${u}#${o}`:u;i?await i(f):window.location.assign(f)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const f=new URLSearchParams(c);return{state:f.get("state"),code:f.get("code")||void 0,error:f.get("error")||void 0,error_description:f.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new Y("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new zr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new Y("state_mismatch","Invalid state");const h=s.organization,p=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:p,organization:h}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:He(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=ft[a];return s||(s=o().finally(()=>{delete ft[a],s=null}),ft[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=Q(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>pt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new It;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const p=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(p)return p}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:h}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:h})}finally{await pt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:He(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},Nr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new fe({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=Q(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${St(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=Bt(e),{openUrl:r}=n,i=Q(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:h,scope:p,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new Y("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,f=await((w,k,v=60)=>new Promise((E,S)=>{const g=window.document.createElement("iframe");g.setAttribute("width","0"),g.setAttribute("height","0"),g.style.display="none";const l=()=>{window.document.body.contains(g)&&(window.document.body.removeChild(g),window.removeEventListener("message",b,!1))};let b;const O=setTimeout(()=>{S(new It),l()},1e3*v);b=function(j){if(j.origin!=k||!j.data||j.data.type!=="authorization_response")return;const A=j.source;A&&A.close(),j.data.response.error?S(Y.fromPayload(j.data.response)):E(j.data.response),clearTimeout(O),window.removeEventListener("message",b,!1),setTimeout(l,2e3)},window.addEventListener("message",b,!1),window.document.body.appendChild(g),g.setAttribute("src",w)}))(i,this.domainUrl,c);if(o!==f.state)throw new Y("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:f.code,grant_type:"authorization_code",redirect_uri:h,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:p,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new fe({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Wn(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=Q(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new fe({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new fe({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,h=await this._getIdTokenFromCache();return h&&Object.assign(Object.assign({id_token:h.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Kr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function ri(t){const e=new ni(t);return await e.checkSession(),e}const Xn="sesamy.com",ii="https://logs.sesamy.com/events",Et="sesamyCacheTimestamp";var ee=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.CLEAR_CACHE="sesamyJsClearCache",t.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",t))(ee||{});let B;const $t="sesamyAccessToken",Nt="sesamyExpires";function Vn(){const t=localStorage.getItem(Nt);if(!(t&&parseInt(t,10)<new Date().getTime()))return localStorage.getItem($t)}async function oi(t){if(t.enabled!==!1&&(B=await ri({domain:t.endpoint||`token.${Xn}`,clientId:t.clientId}),window.location.search.includes("code=")))try{await B.handleRedirectCallback();const e=await B.getUser();ye(ee.AUTHENTICATED,e);const n=new URL(location.href),r=n.searchParams;r.delete("code"),r.delete("state"),n.search=r.toString(),window.history.replaceState({},document.title,n.toString())}catch{}}async function ai(){if(Vn())return!0;if(!B)throw new Error("Auth0 client not initialized");return B.isAuthenticated()}function si(){if(!B)throw new Error("Auth0 client not initialized");return B.loginWithRedirect({authorizationParams:{redirect_uri:window.location.href}})}async function ci(t=!0){const e=Vn();if(e)return e;try{if(!B)throw new Error("Auth0 client not initialized");return await B.getTokenSilently()}catch(n){if(t)throw n;return null}}async function ui(){if(localStorage.removeItem($t),localStorage.removeItem(Nt),!B)throw new Error("Auth0 client not initialized");return ye(ee.LOGOUT,{}),B.logout({logoutParams:{returnTo:window.location.href}})}function li(t){const e=t.split(".");if(e.length!==3)throw new Error("Invalid JWT token format.");const r=e[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}async function Yn(t,e){localStorage.setItem($t,t),e&&localStorage.setItem(Nt,JSON.stringify(e*1e3+new Date().getTime()));const n=li(t);ye(ee.AUTHENTICATED,n)}const di=(t,e)=>e.skipDedupe||e.method!=="GET",hi=(t,e)=>e.method+"@"+t,fi=t=>t.clone(),qt=({skip:t=di,key:e=hi,resolver:n=fi}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((h,p)=>{r.get(s).push([h,p])});try{return i(o,a).then(h=>(r.get(s).forEach(([p])=>p(n(h))),r.delete(s),h)).catch(h=>{throw r.get(s).forEach(([p,u])=>u(h)),r.delete(s),h})}catch(h){return r.delete(s),Promise.reject(h)}}},pi=(t,e)=>t*e,mi=t=>t&&t.ok,Qt=({delayTimer:t=500,delayRamp:e=pi,maxAttempts:n=10,until:r=mi,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>h=>(p,u)=>{let c=0;if(s&&s(p,u))return h(p,u);const f=(d,w)=>Promise.resolve(r(d,w)).then(k=>k?d&&a?d:w?Promise.reject(w):d:(c++,!n||c<=n?new Promise(v=>{const E=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:w,url:p,options:u})).then((S={})=>{var g,l;v(h((g=S&&S.url)!==null&&g!==void 0?g:p,(l=S&&S.options)!==null&&l!==void 0?l:u))}):v(h(p,u))},E)}).then(f).catch(v=>{if(!o)throw v;return f(null,v)}):d&&a?d:Promise.reject(w||new Error("Number of attempts exceeded."))));return h(p,u).then(f).catch(d=>{if(!o)throw d;return f(null,d)})},gi="application/json",Gn="Content-Type",ke=Symbol(),Bn=Symbol();function en(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===Gn.toLowerCase()))===null||e===void 0?void 0:e[1]}function tn(t){return/^application\/.*json.*/.test(t)}const me=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=me(a,o,n):r[i]=o,r},{...t})},Pe={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function yi(t,e=!1){Pe.options=e?t:me(Pe.options,t)}function vi(t,e=!1){Pe.polyfills=e?t:me(Pe.polyfills,t)}function wi(t){Pe.errorType=t}const bi=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class qn extends Error{}const ki=t=>{const e=Object.create(null);t=t._addons.reduce((g,l)=>l.beforeRequest&&l.beforeRequest(g,t._options,e)||g,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:h}=t,p=new Map(o),u=me(i.options,r);let c=n;const f=bi(s)((g,l)=>(c=g,i.polyfill("fetch")(g,l)))(n,u),d=new Error,w=f.catch(g=>{throw{[ke]:g}}).then(g=>{if(!g.ok){const l=new qn;if(l.cause=d,l.stack=l.stack+`
|
|
5
|
-
CAUSE: `+d.stack,l.response=g,l.url=c,g.type==="opaque")throw l;return g.text().then(b=>{var O;if(l.message=b,i.errorType==="json"||((O=g.headers.get("Content-Type"))===null||O===void 0?void 0:O.split(";")[0])==="application/json")try{l.json=JSON.parse(b)}catch{}throw l.text=b,l.status=g.status,l})}return g}),k=g=>g.catch(l=>{const b=l.hasOwnProperty(ke),O=b?l[ke]:l,j=(O==null?void 0:O.status)&&p.get(O.status)||p.get(O==null?void 0:O.name)||b&&p.has(ke)&&p.get(ke);if(j)return j(O,t);const A=p.get(Bn);if(A)return A(O,t);throw O}),v=g=>l=>k(g?w.then(b=>b&&b[g]()).then(b=>l?l(b):b):w.then(b=>l?l(b):b)),E={_wretchReq:t,_fetchReq:f,_sharedState:e,res:v(null),json:v("json"),blob:v("blob"),formData:v("formData"),arrayBuffer:v("arrayBuffer"),text:v("text"),error(g,l){return p.set(g,l),this},badRequest(g){return this.error(400,g)},unauthorized(g){return this.error(401,g)},forbidden(g){return this.error(403,g)},notFound(g){return this.error(404,g)},timeout(g){return this.error(408,g)},internalError(g){return this.error(500,g)},fetchError(g){return this.error(ke,g)}},S=h.reduce((g,l)=>({...g,...typeof l.resolver=="function"?l.resolver(g):l.resolver}),E);return a.reduce((g,l)=>l(g,t),S)},Ii={_url:"",_options:{},_config:Pe,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:me(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:me(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:me(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Gn]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(Bn,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=en(r._options.headers),o=typeof n=="object"&&(!r._options.headers||!i||tn(i));return r=n?o?r.json(n,i):r.body(n):r,ki(r._deferred.reduce((a,s)=>s(a,a._url,a._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=en(this._options.headers);return this.content(e||tn(n)&&n||gi).body(JSON.stringify(t))}};function ue(t="",e={}){return{...Ii,_url:t,_options:e}}ue.default=ue;ue.options=yi;ue.errorType=wi;ue.polyfills=vi;ue.WretchError=qn;function ie(){sessionStorage.removeItem(Et),ye(ee.CLEAR_CACHE,{})}function Si(t){const e=t.endpoint||`https://api2.${Xn}`,n=I=>async(T,_)=>{let Z=sessionStorage.getItem(Et);Z||(Z=Date.now().toString(),sessionStorage.setItem(Et,Z));const W={..._,headers:{..._.headers,"Cache-Timestamp":Z}};return I(T,W)},r=(I=!0)=>T=>async(_,Z)=>{let W=null;if(W=await ci(I),!W){if(I)throw new Error("No access token available");return T(_,Z)}const te={...Z,headers:{...Z.headers,...W?{Authorization:`Bearer ${W}`}:{}}};return T(_,te)},i=I=>(T,_)=>{if(_.headers.Authorization)return I(T,_);const Z=localStorage.getItem("__anon_id"),W=btoa(`${Z}:`),te={..._,headers:{..._.headers,Authorization:`Basic ${W}`}};return I(T,te)},o=ue(e).headers({"Content-Type":"application/json"}).middlewares([n,r(),qt(),Qt({delayTimer:1e3,delayRamp:(I,T)=>I*T,maxAttempts:3,until:I=>!!(I&&(I.ok||I.status>=400&&I.status<500)),retryOnNetworkError:!1})]),a=ue(e).headers({"Content-Type":"application/json"}).middlewares([n,r(!1),i,qt(),Qt({delayTimer:1e3,delayRamp:(I,T)=>I*T,maxAttempts:3,until:I=>!!(I&&(I.ok||I.status>=400&&I.status<500)),retryOnNetworkError:!1})]);async function s(){return o.get("/entitlements").json()}async function h(I){const T=await o.get("/entitlements").json();return T==null?void 0:T.find(_=>_.id===I)}async function p(I){return o.get(`/entitlements/${I}/access`).json()}async function u(){return o.get("/contracts").json()}async function c(I){const T=await o.get("/contracts").json();return T==null?void 0:T.find(_=>_.id===I)}async function f(){return o.get("/subscriptions").json()}async function d(){return o.get("/bills").json()}async function w(I){const T=await o.get("/bills").json();return T==null?void 0:T.find(_=>_.id===I)}async function k(I,T){const _=await o.url(`/user-metadata/${I}`).put(T).json();return ye(ee.USER_ATTRIBUTE_CHANGED,{}),ie(),_}async function v(I){const T=await o.url(`/user-metadata/${I}`).delete().res();return ie(),T.ok}async function E(I){return(await o.url(`/user-metadata/${I}`).get().json())[I]}async function S(){return await o.url("/user-metadata").get().json()}async function g(){return await o.url("/tags").get().json()}async function l(I){const T=await o.url(`/tags/${I}`).delete().res();return ie(),T.ok}async function b(I){const T=await o.url("/tags").post(I).res();return ye(ee.USER_ATTRIBUTE_CHANGED,{}),ie(),T.ok}async function O(I){return(await a.url("/tallies").get().json())[I]}async function j(){return await a.url("/tallies").get().json()}async function A(I){const T=await a.url(`/tallies/${I}`).delete().res();return ie(),T.ok}async function U(I,T){return await a.url(`/tallies/${I}/push`).post(T).json()}async function R(I){return await o.url(`/products/${I}`).get().json()}async function F(){return await o.url("/profile").get().json()}async function $(I){const T=await o.url(`/products/${I}/auto-onboard`).post().json();return T.length&&ie(),T}return{getEntitlements:s,getEntitlement:h,getEntitlementAccess:p,getContracts:u,getContract:c,getProfile:F,getSubscriptions:f,getBills:d,getBill:w,setUserMetadata:k,deleteUserMetadata:v,getUserMetadata:E,listUserMetadata:S,getTags:g,deleteTag:l,setTag:b,getTally:O,getTallies:j,deleteTally:A,pushTally:U,getProduct:R,autoOnboardProduct:$}}const Qn="@sesamy/sesamy-js",zt="1.3.2";function nn(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Je="undefined",rn="object",Tt=function(){},er="any",tr="*",ve="__",tt=typeof process<"u"?process:{};tt.env&&tt.env.NODE_ENV;var J=typeof document<"u";tt.versions!=null&&tt.versions.node!=null;typeof Deno<"u"&&Deno.core;J&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function nr(t,e){return e.charAt(0)[t]()+e.slice(1)}var _i=nr.bind(null,"toUpperCase"),Ei=nr.bind(null,"toLowerCase");function Ti(t){return rr(t)?_i("null"):typeof t=="object"?Ci(t):Object.prototype.toString.call(t).slice(8,-1)}function nt(t,e){e===void 0&&(e=!0);var n=Ti(t);return e?Ei(n):n}function Ke(t,e){return typeof e===t}var V=Ke.bind(null,"function"),se=Ke.bind(null,"string"),Se=Ke.bind(null,"undefined"),Oi=Ke.bind(null,"boolean");Ke.bind(null,"symbol");function rr(t){return t===null}function Pi(t){return nt(t)==="number"&&!isNaN(t)}function ir(t){return nt(t)==="array"}function X(t){if(!ji(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function ji(t){return t&&(typeof t=="object"||t!==null)}function Ci(t){return V(t.constructor)?t.constructor.name:null}function xi(t){return t instanceof Error||se(t.message)&&t.constructor&&Pi(t.constructor.stackTraceLimit)}function or(t,e){if(typeof e!="object"||rr(e))return!1;if(e instanceof t)return!0;var n=nt(new t(""));if(xi(e))for(;e;){if(nt(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}or.bind(null,TypeError);or.bind(null,SyntaxError);function ot(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?Ai(t,e):n}function Ai(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function at(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}at(ot,"form");at(ot,"button");at(ot,"input");at(ot,"select");function $i(t){return t?ir(t)?t:[t]:[]}function on(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Ni(){if(J){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function zi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Di(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=on(n[1]),a=on(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var h=s.split("[");h.length>1&&(Ui(r,h.map(function(p){return p.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){if(e){var n=e.match(/\?(.*)/);return n&&n[1]?n[1].split("#")[0]:""}return J&&window.location.search.substring(1)}(t))}function Ui(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function st(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}function Ri(t,e){var n,r,i,o=null,a=0,s=function(){a=new Date,o=null,i=t.apply(n,r)};return function(){var h=new Date;a||(a=h);var p=e-(h-a);return n=this,r=arguments,p<=0?(clearTimeout(o),o=null,a=h,i=t.apply(n,r)):o||(o=setTimeout(s,p)),i}}var Re="global",je=ve+"global"+ve,Ce=typeof self===rn&&self.self===self&&self||typeof global===rn&&global.global===global&&global||void 0;function we(t){return Ce[je][t]}function be(t,e){return Ce[je][t]=e}function Ae(t){delete Ce[je][t]}function $e(t,e,n){var r;try{if(Dt(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}Ce[je]||(Ce[je]={});var Xe={};function Dt(t){if(typeof Xe[t]!==Je)return Xe[t];try{var e=window[t];e.setItem(Je,Je),e.removeItem(Je)}catch{return Xe[t]=!1}return Xe[t]=!0}function x(){return x=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},x.apply(this,arguments)}var ae="function",re="undefined",Li="@@redux/"+Math.random().toString(36),an=function(){return typeof Symbol===ae&&Symbol.observable||"@@observable"}(),Ve=" != "+ae;function ar(t,e,n){var r;if(typeof e===ae&&typeof n===re&&(n=e,e=void 0),typeof n!==re){if(typeof n!==ae)throw new Error("enhancer"+Ve);return n(ar)(t,e)}if(typeof t!==ae)throw new Error("reducer"+Ve);var i=t,o=e,a=[],s=a,h=!1;function p(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==ae)throw new Error("Listener"+Ve);var w=!0;return p(),s.push(d),function(){if(w){w=!1,p();var k=s.indexOf(d);s.splice(k,1)}}}function f(d){if(!X(d))throw new Error("Act != obj");if(typeof d.type===re)throw new Error("ActType "+re);if(h)throw new Error("Dispatch in reducer");try{h=!0,o=i(o,d)}finally{h=!1}for(var w=a=s,k=0;k<w.length;k++)(0,w[k])();return d}return f({type:"@@redux/INIT"}),(r={dispatch:f,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==ae)throw new Error("next reducer"+Ve);i=d,f({type:"@@redux/INIT"})}})[an]=function(){var d,w=c;return(d={subscribe:function(k){if(typeof k!="object")throw new TypeError("Observer != obj");function v(){k.next&&k.next(u())}return v(),{unsubscribe:w(v)}}})[an]=function(){return this},d},r}function Mi(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+re}function xe(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Zi(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,h={getState:a.getState,dispatch:function(p){return s(p)}};return o=[].slice.call(t).map(function(p){return p(h)}),x({},a,{dispatch:s=xe.apply(void 0,o)(a.dispatch)})}}}var ce=ve+"anon_id",ge=ve+"user_id",Ee=ve+"user_traits",oe="userId",_e="anonymousId",et=["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"],Ot=["name","EVENTS","config","loaded"],C=et.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),sn=/^utm_/,cn=/^an_prop_/,un=/^an_trait_/;function Wi(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===C.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,h=i.initialUser,p=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ce,a.anonymousId),p||e(ge,a.userId),h.traits&&e(Ee,x({},p&&s.traits?s.traits:{},h.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,f=o.an_event,d=u.reduce(function(w,k){if(k.match(sn)||k.match(/^(d|g)clid/)){var v=k.replace(sn,"");w.campaign[v==="campaign"?"name":v]=o[k]}return k.match(cn)&&(w.props[k.replace(cn,"")]=o[k]),k.match(un)&&(w.traits[k.replace(un,"")]=o[k]),w},{campaign:{},props:{},traits:{}});n.dispatch(x({type:C.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),f&&setTimeout(function(){return t.track(f,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:C.campaign,campaign:d.campaign})}}return r(i)}}}}function Ki(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===C.setItemEnd){if(n.key===ce)return x({},e,{anonymousId:n.value});if(n.key===ge)return x({},e,{userId:n.value})}switch(n.type){case C.identify:return Object.assign({},e,{userId:n.userId,traits:x({},e.traits,n.traits)});case C.reset:return[ge,ce,Ee].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function ln(t){return{userId:t.getItem(ge),anonymousId:t.getItem(ce),traits:t.getItem(Ee)}}var Pt=function(t){return ve+"TEMP"+ve+t};function Fi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var h=s.userId,p=s.traits,u=s.options;if(s.type===C.reset&&([ge,Ee,ce].forEach(function(d){r(d)}),[oe,_e,"traits"].forEach(function(d){Ae(Pt(d))})),s.type===C.identify){i(ce)||n(ce,st());var c=i(ge),f=i(Ee)||{};c&&c!==h&&o.dispatch({type:C.userIdChanged,old:{userId:c,traits:f},new:{userId:h,traits:p},options:u}),h&&n(ge,h),p&&n(Ee,x({},f,p))}return a(s)}}}}var Ue={};function dn(t,e){Ue[t]&&V(Ue[t])&&(Ue[t](e),delete Ue[t])}function sr(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(x({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return sr(t,e,n-10).then(r,i)})})}function Hi(t){return{abort:t}}function cr(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,h=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var p=s.actions.reduce(function(c,f,d){return a[f.plugin].loaded?(c.process.push(f),c.processIndex.push(d)):(c.requeue.push(f),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(p.processIndex&&p.processIndex.length){p.processIndex.forEach(function(c){var f=s.actions[c],d=f.plugin,w=f.payload.type,k=i[d][w];if(k&&V(k)){var v,E=function(l,b){return l===void 0&&(l={}),b===void 0&&(b={}),[oe,_e].reduce(function(O,j){return l.hasOwnProperty(j)&&b[j]&&b[j]!==l[j]&&(O[j]=b[j]),O},l)}(f.payload,h),S=r[E.meta.rid];if(!S&&(v=k({payload:E,config:a[d].config,instance:n,abort:Hi}))&&X(v)&&v.abort)return void(r[E.meta.rid]=!0);if(!S){var g=w+":"+d;t.dispatch(x({},E,{type:g,_:{called:g,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,f){return!~p.processIndex.indexOf(f)});s.actions=u}}}var mt=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,h=t.EVENTS;try{var p=i.plugins,u=i.context,c=n.type,f=c.match(Te),d=e.exact.map(function(v){return v.pluginName});f&&(d=a.during.map(function(v){return v.pluginName}));var w=function(v,E){return function(S,g,l){var b=g.config,O=g.name,j=O+"."+S.type;l&&(j=l.event);var A=S.type.match(Te)?function(U,R,F,$,I){return function(T,_){var Z=$?$.name:U,W=_&&We(_)?_:F;if($&&(!(W=_&&We(_)?_:[U]).includes(U)||W.length!==1))throw new Error("Method "+R+" can only abort "+U+" plugin. "+JSON.stringify(W)+" input valid");return x({},I,{abort:{reason:T,plugins:W,caller:R,_:Z}})}}(O,j,E,l,S):function(U,R){return function(){throw new Error(U.type+" action not cancellable. Remove abort in "+R)}}(S,j);return{payload:Ji(S),instance:v,config:b||{},abort:A}}}(r,d),k=e.exact.reduce(function(v,E){var S=E.pluginName,g=E.methodName,l=!1;return g.match(/^initialize/)||g.match(/^reset/)||(l=!p[S].loaded),u.offline&&g.match(/^(page|track|identify)/)&&(l=!0),v[""+S]=l,v},{});return Promise.resolve(e.exact.reduce(function(v,E,S){try{var g=E.pluginName;return Promise.resolve(v).then(function(l){function b(){return Promise.resolve(l)}var O=function(){if(e.namespaced&&e.namespaced[g])return Promise.resolve(e.namespaced[g].reduce(function(j,A,U){try{return Promise.resolve(j).then(function(R){return A.method&&V(A.method)?(function(T,_){var Z=vn(T);if(Z&&Z.name===_){var W=vn(Z.method);throw new Error([_+" plugin is calling method "+T,"Plugins cant call self","Use "+Z.method+" "+(W?"or "+W.method:"")+" in "+_+" plugin insteadof "+T].join(`
|
|
6
|
-
`))}}(A.methodName,A.pluginName),Promise.resolve(A.method({payload:R,instance:r,abort:(F=R,$=g,I=A.pluginName,function(T,_){return x({},F,{abort:{reason:T,plugins:_||[$],caller:c,from:I||$}})}),config:pn(A.pluginName,p,o),plugins:p})).then(function(T){var _=X(T)?T:{};return Promise.resolve(x({},R,_))})):R;var F,$,I})}catch(R){return Promise.reject(R)}},Promise.resolve(n))).then(function(j){l[g]=j});l[g]=n}();return O&&O.then?O.then(b):b()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(v){return Promise.resolve(e.exact.reduce(function(E,S,g){try{var l=e.exact.length===g+1,b=S.pluginName,O=o[b];return Promise.resolve(E).then(function(j){var A=v[b]?v[b]:{};if(f&&(A=j),yt(A,b))return gt({data:A,method:c,instance:r,pluginName:b,store:s}),Promise.resolve(j);if(yt(j,b))return l&>({data:j,method:c,instance:r,store:s}),Promise.resolve(j);if(k.hasOwnProperty(b)&&k[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:A,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(j);var U=w(v[b],o[b]);return Promise.resolve(O[c]({abort:U.abort,payload:A,instance:r,config:pn(b,p,o),plugins:p})).then(function(R){var F=X(R)?R:{},$=x({},j,F),I=v[b];if(yt(I,b))gt({data:I,method:c,instance:r,pluginName:b,store:s});else{var T=c+":"+b;(T.match(/:/g)||[]).length<2&&!c.match(hn)&&!c.match(fn)&&r.dispatch(x({},f?$:A,{type:T,_:{called:T,from:"submethod"}}))}return Promise.resolve($)})})}catch(j){return Promise.reject(j)}},Promise.resolve(n))).then(function(E){if(!(c.match(Te)||c.match(/^registerPlugin/)||c.match(fn)||c.match(hn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(h.plugins.includes(c),E._&&E._.originalAction===c)return E;var S=x({},E,{_:{originalAction:E.type,called:E.type,from:"engineEnd"}});ur(E,e.exact.length)&&!c.match(/End$/)&&(S=x({},S,{type:E.type+"Aborted"})),s.dispatch(S)}return E})})}catch(v){return Promise.reject(v)}},Te=/Start$/,hn=/^bootstrap/,fn=/^ready/;function gt(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(x({},t.data,{type:n,_:{called:n,from:"abort"}}))}function pn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function mn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function gn(t,e){var n=t.replace(Te,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function yt(t,e){var n=t.abort;return!!n&&(n===!0||yn(n,e)||n&&yn(n.plugins,e))}function ur(t,e){var n=t.abort;if(!n)return!1;if(n===!0||se(n))return!0;var r=n.plugins;return We(n)&&n.length===e||We(r)&&r.length===e}function We(t){return Array.isArray(t)}function yn(t,e){return!(!t||!We(t))&&t.includes(e)}function vn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Ji(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=X(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Xi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,h=function(l){return s?l:o(c)},p=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(p===C.enablePlugin&&i.dispatch({type:C.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),p===C.disablePlugin&&setTimeout(function(){return dn(a.meta.rid,{payload:a})},0),p===C.initializeEnd){var f=e(),d=Object.keys(f),w=d.filter(function(l){return u.includes(l)}).map(function(l){return f[l]}),k=[],v=[],E=a.disabled,S=w.map(function(l){var b=l.loaded,O=l.name,j=l.config;return sr(l,function(){return b({config:j})},1e4).then(function(A){return r[O]||(i.dispatch({type:C.pluginReadyType(O),name:O,events:Object.keys(l).filter(function(U){return!Ot.includes(U)})}),r[O]=!0),k=k.concat(O),l}).catch(function(A){if(A instanceof Error)throw new Error(A);return v=v.concat(A.name),A})});Promise.all(S).then(function(l){var b={plugins:k,failed:v,disabled:E};setTimeout(function(){d.length===S.length+E.length&&i.dispatch(x({},{type:C.ready},b))},0)})}var g=function(){if(p!==C.bootstrap)return/^ready:([^:]*)$/.test(p)&&setTimeout(function(){return cr(i,e,t)},0),Promise.resolve(function(l,b,O,j,A){try{var U=V(b)?b():b,R=l.type,F=R.replace(Te,"");if(l._&&l._.called)return Promise.resolve(l);var $=O.getState(),I=(Z=U,(W=$.plugins)===void 0&&(W={}),(te=l.options)===void 0&&(te={}),Object.keys(Z).filter(function(m){var y=te.plugins||{};return Oi(y[m])?y[m]:y.all!==!1&&(!W[m]||W[m].enabled!==!1)}).map(function(m){return Z[m]}));R===C.initializeStart&&l.fromEnable&&(I=Object.keys($.plugins).filter(function(m){var y=$.plugins[m];return l.plugins.includes(m)&&!y.initialized}).map(function(m){return U[m]}));var T=I.map(function(m){return m.name}),_=function(m,y,P){var N=gn(m).map(function(z){return mn(z,y)});return y.reduce(function(z,D){var H=D.name,M=gn(m,H).map(function(Ne){return mn(Ne,y)}),K=M[0],L=M[1],q=M[2];return K.length&&(z.beforeNS[H]=K),L.length&&(z.duringNS[H]=L),q.length&&(z.afterNS[H]=q),z},{before:N[0],beforeNS:{},during:N[1],duringNS:{},after:N[2],afterNS:{}})}(R,I);return Promise.resolve(mt({action:l,data:{exact:_.before,namespaced:_.beforeNS},state:$,allPlugins:U,allMatches:_,instance:O,store:j,EVENTS:A})).then(function(m){function y(){var z=function(){if(R.match(Te))return Promise.resolve(mt({action:x({},P,{type:F+"End"}),data:{exact:_.after,namespaced:_.afterNS},state:$,allPlugins:U,allMatches:_,instance:O,store:j,EVENTS:A})).then(function(D){D.meta&&D.meta.hasCallback&&dn(D.meta.rid,{payload:D})})}();return z&&z.then?z.then(function(){return m}):m}if(ur(m,T.length))return m;var P,N=function(){if(R!==F)return Promise.resolve(mt({action:x({},m,{type:F}),data:{exact:_.during,namespaced:_.duringNS},state:$,allPlugins:U,allMatches:_,instance:O,store:j,EVENTS:A})).then(function(z){P=z});P=m}();return N&&N.then?N.then(y):y()})}catch(m){return Promise.reject(m)}var Z,W,te}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(g&&g.then?g.then(h):h(g))}catch(l){return Promise.reject(l)}}}}}function Vi(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===C.setItem||i===C.removeItem){if(r.abort)return n(r);i===C.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var Yi=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return xe.apply(void 0,a)(r)(i)}}}}};function Gi(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=wn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},x({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var h=wn(n.type,C.initialize),p=t()[h];return p&&h?(r[h]=x({},e[h],{initialized:!0,loaded:!!p.loaded({config:p.config})}),x({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=x({},e[n.name],{loaded:!0}),x({},e,r);switch(n.type){case C.disablePlugin:return x({},e,bn(n.plugins,!1,e));case C.enablePlugin:return x({},e,bn(n.plugins,!0,e));default:return e}}}function wn(t,e){return t.substring(e.length+1,t.length)}function bn(t,e,n){return t.reduce(function(r,i){return r[i]=x({},n[i],{enabled:e}),r},n)}function lr(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bi={last:{},history:[]};function qi(t,e){t===void 0&&(t=Bi);var n=e.options,r=e.meta;if(e.type===C.track){var i=lr(x({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return x({},t,{last:i,history:t.history.concat(i)})}return t}var Qi={actions:[]};function eo(t,e){t===void 0&&(t=Qi);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===C.identify?[e].concat(t.actions):t.actions.concat(e),x({},t,{actions:r});case"dequeue":return[];default:return t}}var dr=/#.*$/;function to(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(dr,""):"")}var hr,fr,pr,mr,no=function(t){if(t===void 0&&(t={}),!J)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,h=o.hash,p=o.search,u=function(f){var d=function(){if(J){for(var w,k=document.getElementsByTagName("link"),v=0;w=k[v];v++)if(w.getAttribute("rel")==="canonical")return w.getAttribute("href")}}();return d?d.match(/\?/)?d:d+f:window.location.href.replace(dr,"")}(p),c={title:n,url:u,path:to(u),hash:h,search:p,width:a,height:s};return r&&r!==""&&(c.referrer=r),x({},c,t)},ro={last:{},history:[]};function io(t,e){t===void 0&&(t=ro);var n=e.options;if(e.type===C.page){var r=lr(x({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return x({},t,{last:r,history:t.history.concat(r)})}return t}hr=function(){if(!J)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"}(),fr=J?document.referrer:null,pr=Ni(),mr=zi();var kn={initialized:!1,sessionId:st(),app:null,version:null,debug:!1,offline:!!J&&!navigator.onLine,os:{name:hr},userAgent:J?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:mr,locale:pr,campaign:{},referrer:fr};function oo(t,e){t===void 0&&(t=kn);var n=t.initialized,r=e.campaign;switch(e.type){case C.campaign:return x({},t,{campaign:r});case C.offline:return x({},t,{offline:!0});case C.online:return x({},t,{offline:!1});default:return n?t:x({},kn,t,{initialized:!0})}}var ao=["plugins","reducers","storage"];function so(t,e,n){if(J){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function co(t){var e=so.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function gr(){return be("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return Ce[je].analytics.push(a.action||a),o(a)}})}}}function In(t){return function(){return xe(xe.apply(null,arguments),gr())}}function vt(t){return t?ir(t)?t:[t]:[]}function Sn(t,e,n){t===void 0&&(t={});var r,i,o=st();return e&&(Ue[o]=(r=e,i=function(a){for(var s,h=a||Array.prototype.slice.call(arguments),p=0;p<h.length;p++)if(V(h[p])){s=h[p];break}return s}(n),function(a){i&&i(a),r(a)})),x({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function uo(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(m,y){if(V(y))return m.middlewares=m.middlewares.concat(y),m;if(y.NAMESPACE&&(y.name=y.NAMESPACE),!y.name)throw new Error("https://lytics.dev/errors/1");y.config||(y.config={});var P=y.EVENTS?Object.keys(y.EVENTS).map(function(D){return y.EVENTS[D]}):[];m.pluginEnabled[y.name]=!(y.enabled===!1||y.config.enabled===!1),delete y.enabled,y.methods&&(m.methods[y.name]=Object.keys(y.methods).reduce(function(D,H){var M;return D[H]=(M=y.methods[H],function(){for(var K=Array.prototype.slice.call(arguments),L=new Array(M.length),q=0;q<K.length;q++)L[q]=K[q];return L[L.length]=b,M.apply({instance:b},L)}),D},{}),delete y.methods);var N=Object.keys(y).concat(P),z=new Set(m.events.concat(N));if(m.events=Array.from(z),m.pluginsArray=m.pluginsArray.concat(y),m.plugins[y.name])throw new Error(y.name+"AlreadyLoaded");return m.plugins[y.name]=y,m.plugins[y.name].loaded||(m.plugins[y.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:we,setItem:be,removeItem:Ae},o=function(m){return function(y,P,N){return P.getState("user")[y]||(N&&X(N)&&N[y]?N[y]:ln(m)[y]||we(Pt(y))||null)}}(i),a=r.plugins,s=r.events.filter(function(m){return!Ot.includes(m)}).sort(),h=new Set(s.concat(et).filter(function(m){return!Ot.includes(m)})),p=Array.from(h).sort(),u=function(){return a},c=new Yi,f=c.addMiddleware,d=c.removeMiddleware,w=c.dynamicMiddlewares,k=function(){throw new Error("Abort disabled inListener")},v=Di(),E=ln(i),S=x({},E,n,v.an_uid?{userId:v.an_uid}:{},v.an_aid?{anonymousId:v.an_aid}:{});S.anonymousId||(S.anonymousId=st());var g=x({enable:function(m,y){return new Promise(function(P){_.dispatch({type:C.enablePlugin,plugins:vt(m),_:{originalAction:C.enablePlugin}},P,[y])})},disable:function(m,y){return new Promise(function(P){_.dispatch({type:C.disablePlugin,plugins:vt(m),_:{originalAction:C.disablePlugin}},P,[y])})}},r.methods),l=!1,b={identify:function(m,y,P,N){try{var z=se(m)?m:null,D=X(m)?m:y,H=P||{},M=b.user();be(Pt(oe),z);var K=z||D.userId||o(oe,b,D);return Promise.resolve(new Promise(function(L){_.dispatch(x({type:C.identifyStart,userId:K,traits:D||{},options:H,anonymousId:M.anonymousId},M.id&&M.id!==z&&{previousId:M.id}),L,[y,P,N])}))}catch(L){return Promise.reject(L)}},track:function(m,y,P,N){try{var z=X(m)?m.event:m;if(!z||!se(z))throw new Error("EventMissing");var D=X(m)?m:y||{},H=X(P)?P:{};return Promise.resolve(new Promise(function(M){_.dispatch({type:C.trackStart,event:z,properties:D,options:H,userId:o(oe,b,y),anonymousId:o(_e,b,y)},M,[y,P,N])}))}catch(M){return Promise.reject(M)}},page:function(m,y,P){try{var N=X(m)?m:{},z=X(y)?y:{};return Promise.resolve(new Promise(function(D){_.dispatch({type:C.pageStart,properties:no(N),options:z,userId:o(oe,b,N),anonymousId:o(_e,b,N)},D,[m,y,P])}))}catch(D){return Promise.reject(D)}},user:function(m){if(m===oe||m==="id")return o(oe,b);if(m===_e||m==="anonId")return o(_e,b);var y=b.getState("user");return m?nn(y,m):y},reset:function(m){return new Promise(function(y){_.dispatch({type:C.resetStart},y,m)})},ready:function(m){return l&&m({plugins:g,instance:b}),b.on(C.ready,function(y){m(y),l=!0})},on:function(m,y){if(!m||!V(y))return!1;if(m===C.bootstrap)throw new Error(".on disabled for "+m);var P=/Start$|Start:/;if(m==="*"){var N=function(M){return function(K){return function(L){return L.type.match(P)&&y({payload:L,instance:b,plugins:a}),K(L)}}},z=function(M){return function(K){return function(L){return L.type.match(P)||y({payload:L,instance:b,plugins:a}),K(L)}}};return f(N,Ye),f(z,Ge),function(){d(N,Ye),d(z,Ge)}}var D=m.match(P)?Ye:Ge,H=function(M){return function(K){return function(L){return L.type===m&&y({payload:L,instance:b,plugins:a,abort:k}),K(L)}}};return f(H,D),function(){return d(H,D)}},once:function(m,y){if(!m||!V(y))return!1;if(m===C.bootstrap)throw new Error(".once disabled for "+m);var P=b.on(m,function(N){y({payload:N.payload,instance:b,plugins:a,abort:k}),P()});return P},getState:function(m){var y=_.getState();return m?nn(y,m):Object.assign({},y)},dispatch:function(m){var y=se(m)?{type:m}:m;if(et.includes(y.type))throw new Error("reserved action "+y.type);var P=x({},y,{_:x({originalAction:y.type},m._||{})});_.dispatch(P)},enablePlugin:g.enable,disablePlugin:g.disable,plugins:g,storage:{getItem:i.getItem,setItem:function(m,y,P){_.dispatch({type:C.setItemStart,key:m,value:y,options:P})},removeItem:function(m,y){_.dispatch({type:C.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){b.storage.setItem(ce,m,y)},events:{core:et,plugins:s}},O=r.middlewares.concat([function(m){return function(y){return function(P){return P.meta||(P.meta=Sn()),y(P)}}},w(Ye),Xi(b,u,{all:p,plugins:s}),Vi(i),Wi(b),Fi(b),w(Ge)]),j={context:oo,user:Ki(i),page:io,track:qi,plugins:Gi(u),queue:eo},A=xe,U=xe;if(J&&t.debug){var R=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;R&&(A=R({trace:!0,traceLimit:25})),U=function(){return arguments.length===0?gr():X(typeof arguments[0])?In():In().apply(null,arguments)}}var F,$=function(m){return Object.keys(m).reduce(function(y,P){return ao.includes(P)||(y[P]=m[P]),y},{})}(t),I=r.pluginsArray.reduce(function(m,y){var P=y.name,N=y.config,z=y.loaded,D=r.pluginEnabled[P];return m[P]={enabled:D,initialized:!!D&&!y.initialize,loaded:!!z({config:N}),config:N},m},{}),T={context:$,user:S,plugins:I},_=ar(function(m){for(var y=Object.keys(m),P={},N=0;N<y.length;N++){var z=y[N];typeof m[z]===ae&&(P[z]=m[z])}var D,H=Object.keys(P);try{(function(M){Object.keys(M).forEach(function(K){var L=M[K];if(typeof L(void 0,{type:"@@redux/INIT"})===re||typeof L(void 0,{type:Li})===re)throw new Error("reducer "+K+" "+re)})})(P)}catch(M){D=M}return function(M,K){if(M===void 0&&(M={}),D)throw D;for(var L=!1,q={},Ne=0;Ne<H.length;Ne++){var Fe=H[Ne],Kt=M[Fe],lt=(0,P[Fe])(Kt,K);if(typeof lt===re){var Cr=Mi(Fe,K);throw new Error(Cr)}q[Fe]=lt,L=L||lt!==Kt}return L?q:M}}(x({},j,e)),T,U(A(Zi.apply(void 0,O))));_.dispatch=(F=_.dispatch,function(m,y,P){var N=x({},m,{meta:Sn(m.meta,y,vt(P))});return F.apply(null,[N])});var Z=Object.keys(a);_.dispatch({type:C.bootstrap,plugins:Z,config:$,params:v,user:S,initialUser:n,persistedUser:E});var W=Z.filter(function(m){return r.pluginEnabled[m]}),te=Z.filter(function(m){return!r.pluginEnabled[m]});return _.dispatch({type:C.registerPlugins,plugins:Z,enabled:r.pluginEnabled}),r.pluginsArray.map(function(m,y){var P=m.bootstrap,N=m.config,z=m.name;P&&V(P)&&P({instance:b,config:N,payload:m}),_.dispatch({type:C.registerPluginType(z),name:z,enabled:r.pluginEnabled[z],plugin:m}),r.pluginsArray.length===y+1&&_.dispatch({type:C.initializeStart,plugins:W,disabled:te})}),co(function(m){_.dispatch({type:m?C.offline:C.online})}),function(m,y,P){setInterval(function(){return cr(m,y,P)},3e3)}(_,u,b),b}var Ye="before",Ge="after",Le="cookie",he=wr(),yr=ct,lo=ct;function vr(t){return he?ct(t,"",-1):Ae(t)}function wr(){if(he!==void 0)return he;var t="cookiecookie";try{ct(t,t),he=document.cookie.indexOf(t)!==-1,vr(t)}catch{he=!1}return he}function ct(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return he===!1&&(a?be(t,e):we(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Me="localStorage",ho=Dt.bind(null,"localStorage");$e("localStorage","getItem",we);$e("localStorage","setItem",be);$e("localStorage","removeItem",Ae);var Ze="sessionStorage",fo=Dt.bind(null,"sessionStorage");$e("sessionStorage","getItem",we);$e("sessionStorage","setItem",be);$e("sessionStorage","removeItem",Ae);function Oe(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(X(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var po=ho(),mo=fo(),go=wr();function br(t,e){if(t){var n=Ut(e),r=!Zt(n),i=Rt(n)?Oe(localStorage.getItem(t)):void 0;if(r&&!Se(i))return i;var o=Lt(n)?Oe(yr(t)):void 0;if(r&&o)return o;var a=Mt(n)?Oe(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=we(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function yo(t,e,n){if(t&&!Se(e)){var r={},i=Ut(n),o=JSON.stringify(e),a=!Zt(i);return Rt(i)&&(r[Me]=Be(Me,e,Oe(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Me]:Lt(i)&&(r[Le]=Be(Le,e,Oe(yr(t))),lo(t,o),a)?r[Le]:Mt(i)&&(r[Ze]=Be(Ze,e,Oe(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[Ze]:(r[Re]=Be(Re,e,we(t)),be(t,e),a?r[Re]:r)}}function vo(t,e){if(t){var n=Ut(e),r=br(t,tr),i={};return!Se(r.localStorage)&&Rt(n)&&(localStorage.removeItem(t),i[Me]=r.localStorage),!Se(r.cookie)&&Lt(n)&&(vr(t),i[Le]=r.cookie),!Se(r.sessionStorage)&&Mt(n)&&(sessionStorage.removeItem(t),i[Ze]=r.sessionStorage),!Se(r.global)&&ut(n,Re)&&(Ae(t),i[Re]=r.global),i}}function Ut(t){return t?se(t)?t:t.storage:er}function Rt(t){return po&&ut(t,Me)}function Lt(t){return go&&ut(t,Le)}function Mt(t){return mo&&ut(t,Ze)}function Zt(t){return t===tr||t==="all"}function ut(t,e){return t===er||t===e||Zt(t)}function Be(t,e,n){return{location:t,current:e,previous:n}}var wo={setItem:yo,getItem:br,removeItem:vo};function bo(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _n(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function En(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?_n(Object(n),!0).forEach(function(r){bo(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function ko(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:wo};return uo(En(En({},e),t))}function Io(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(h){return r=i.push(h),r>=o&&a(),r},size:function(){return i.length},end:function(h){h&&a(),clearInterval(n)}}}function So(t){if(typeof window>"u")return;const{addEventListener:e,history:n,location:r}=window;let i=r.pathname;e("popstate",()=>t(r.pathname)),["push","replace"].map(o=>{const a=`${o}State`;if(a!=="pushState"&&a!=="replaceState")return;const s=n[a];n[a]=function(...h){var c;const p=((c=h[2])==null?void 0:c.toString())||"",u=Eo(p);return i!==u&&(i=u,setTimeout(()=>t(p),0)),s.apply(n,h)}})}function _o(t,e){const n=t.indexOf(e);return n>-1?t.slice(0,n):t}function Eo(t){return["#","?"].forEach(e=>t=_o(t,e)),t}function To(){So(()=>{ne.page()})}function Oo(t){if(t===void 0&&(t={}),!J)return Tt;var e=On(),n=jt(),r=Tn(),i=qe(r,e),o=qe(n,e),a=[],s=[],h=[],p=r,u=i,c=o,f=Object.keys(t);if(!f.length)return Tt;var d=f.map(function(k){return Number(k)}),w=Ri(function(){var k=On(),v=function($,I){return I.map(function(T){return T===100?$-5:$*(T/100)})}(k,d),E=jt(),S=Tn(),g=qe(S,k),l=qe(E,k);if(u=g>u?g:u,c=l<c?l:c,!(a.length>=d.length)){var b=p===S,O="up";b?O="initial":p<=S&&(O="down");var j=v,A=d;(O==="up"||b)&&(j=v.slice().reverse(),A=d.slice().reverse());var U=A.reduce(function($,I,T){var _=j[T];return h.includes(I)&&S<=_&&(h=h.filter(function(Z){return Z!==I}),$.singleFunction=I),O==="down"&&!a.includes(I)&&S>=_&&I>o?(s.push(I),$.callbacks=$.callbacks.concat(I),$):O==="up"&&!a.includes(I)&&S<=_&&I<=g?($.foundFunc=[I],$):(b&&S>=_&&$.foundFunc.length===0&&($.foundFunc=[I]),!s.includes(I)&&S>=_&&(s.push(I),$.singleFunction?h.push(I):$.singleFunction=I),$)},{foundFunc:[],singleFunction:null,callbacks:[],direction:O});if(p=S,O==="down"&&U.callbacks&&U.callbacks.forEach(function($){V(t[$])&&(t[$]({trigger:$,direction:O,scrollMin:c,scrollMax:u,range:[c,u]}),a.push($))}),U.singleFunction){var R=U.singleFunction,F=U.direction;V(t[R])&&t[R]({trigger:R,direction:F,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(R)}}},500);return window.addEventListener("scroll",w),function(){return window.removeEventListener("scroll",w)}}function jt(){return J?document.body.scrollTop||document.documentElement.scrollTop:0}function Po(){return J?window.innerHeight||document.documentElement.clientHeight:0}function Tn(){return Math.round(jt()+Po())}function On(){if(!J)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function qe(t,e){return Math.round(t/e*100)}var Pn="EventListener";function jo(t){return function(e,n,r,i){var o=r||Tt,a=i||!1;if(!J)return o;var s=rt(n),h=rt(e,!0);if(!h.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var p=[];return function u(c){c&&(p=[]);for(var f=c?"add"+Pn:"remove"+Pn,d=0;d<h.length;d++){var w=h[d];p[d]=c?a&&a.once?Co(o):o:p[d]||o;for(var k=0;k<s.length;k++)w[f]?w["on"+s[k]]=c?p[d]:null:w[f](s[k],p[d],a)}return u.bind(null,!c)}(t)}}function rt(t,e){if(se(t))return e?rt(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=$i(t);return e?o.map(function(a){return se(a)?rt(a,!0):a}).flat():o}function Co(t,e){var n;return function(){return t&&(n=t.apply(e||this,arguments),t=null),n}}var wt=jo("Event");function kr(t,e){return J&&V(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),V(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}kr.bind(null,"onerror");kr.bind(null,"onload");var Ir=typeof window>"u",jn="hidden";function xo(t){if(Ir)return!1;var e=Ao(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function Ao(){var t=["webkit","moz","ms","o"];return Ir||jn in document?jn:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var $o=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function No(t,e){e===void 0&&(e={});var n=function(a,s){var h=this,p=!1;return function(u){p||(a.call(h,u),p=!0,setTimeout(function(){return p=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=xo(function(s){s||n({type:"tabVisible"})});return r=[a].concat($o.map(function(s){return wt(document,s,n)})).concat(wt(window,"load",n)).concat(wt(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function zo(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,h=t.throttle,p=h===void 0?2e3:h,u=!1,c=!1,f=new Date,d=function(){return clearTimeout(e)};function w(v){d(),o&&!u&&o(De(f),v),i&&u&&(u=!1,i(De(n),v),f=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(De(f),v))},s)}var k=No(w,{throttle:p});return{disable:function(){c=!0,u=!1,d();var v=k();return function(){return c=!1,f=new Date,w({type:"load"}),v()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:De(f,c),idle:u?De(n,c):0}}}}function De(t,e){return e?0:Math.round((new Date-t)/1e3)}const Cn=5e3;class Do{constructor(e){G(this,"element");G(this,"isInViewport",!1);G(this,"isAwake",!1);G(this,"isFlushing");G(this,"observer");G(this,"lastEventAt",Date.now());G(this,"registeredView",!1);G(this,"viewCallback");G(this,"activeDurationCallback");G(this,"idleDurationCallback");G(this,"scrollCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),zo({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:Cn}),Oo({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(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,n=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-n*Cn:Date.now(),this.isInViewport&&this.trackAwake(e,n)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const xn="sesamy_session_id";function Uo(){let t=sessionStorage.getItem(xn);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(xn,t)),t}let Sr=!1,Ct,An,it;function Ro({clientId:t,enabled:e=!0,endpoint:n=ii}){if(Ct=t,An=e,it=n,!An)return;To();const r=new Do({element:document.body,viewCallback:()=>{ne.page()},activeDurationCallback:(i,o,a)=>{ne.track("activeDuration",{duration:i,durationStart:a,flushing:o})},idleDurationCallback:(i,o,a)=>{ne.track("idleDuration",{duration:i,durationStart:a,flushing:o})},scrollCallback:i=>{ne.track("scroll",{scroll:i.scrollMax})}});Zo(document.body,()=>{r.flush()}),Wo(document.body,()=>{r.handleVisibilityChange()}),window.addEventListener(ee.AUTHENTICATED,async i=>{const o=i;await ne.identify(o.detail.sub)}),window.addEventListener(ee.LOGOUT,async()=>{await ne.track("logout",{}),Wt.flush(),await ne.reset()})}function _r(t){return JSON.stringify(t.map(e=>({...e,clientId:Ct,requestId:Math.random().toString(36).slice(2,9),sessionId:Uo(),timestamp:new Date().toISOString(),version:zt,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:Qn,userAgent:navigator.userAgent,clientId:Ct}})))}const Wt=Io(async t=>{if(t.length>0){const e=_r(t);Sr?navigator.sendBeacon(it,e):(await fetch(it,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function bt(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(it,_r([n]))}else Wt.push(t)}const ne=ko({app:Qn,version:zt,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;bt({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;bt({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;bt({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Lo(t,e){ne.track(t,e)}function Mo(){return Sr=!0,Wt.flush()}const Er=new Map;function Zo(t,e){Er.set(t,e)}window.addEventListener("beforeunload",()=>{Er.forEach((t,e)=>{t.bind(e)()}),Mo()});const Tr=new Map;function Wo(t,e){Tr.set(t,e)}window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Tr.forEach((t,e)=>{t.bind(e)()})});const Or="sesamySignedURLs";function Pr(){const t=sessionStorage.getItem(Or);return t?JSON.parse(t):[]}function Ko(t){const e=Pr();e.push(t),sessionStorage.setItem(Or,JSON.stringify(e))}function Fo(t){const{getEntitlement:e,getEntitlements:n,getEntitlementAccess:r,getSubscriptions:i,getContract:o,getContracts:a,getBill:s,getBills:h,getProfile:p,getTags:u,deleteTag:c,setTag:f,getUserMetadata:d,listUserMetadata:w,setUserMetadata:k,deleteUserMetadata:v,getTally:E,getTallies:S,pushTally:g,deleteTally:l,getProduct:b,autoOnboardProduct:O}=Si(t),j={auth:{getUser:p,isAuthenticated:ai,loginWithRedirect:si,logout:ui,setToken:Yn},analytics:{track:Lo},tags:{list:u,set:f,delete:c},entitlements:{get:e,list:n,access:r,signedLinks:Pr},contracts:{get:o,list:a},bills:{get:s,list:h},userMetadata:{get:d,list:w,set:k,delete:v},tallies:{get:E,list:S,push:g,delete:l},subscriptions:{list:i},products:{get:b,autoOnboard:O},getVersion:Ho,clearCache:ie};return t.namespace&&(window[t.namespace]=j),j}function Ho(){return zt}function Jo(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get("access_token"),n=t.get("expires_in");if(e){Yn(e,n?parseInt(n,10):void 0);const r=new URL(window.location.href);t.delete("access_token"),t.delete("expires_in"),r.hash=t.toString(),window.history.replaceState(null,"",r)}}const $n="sesamy-refresh",Nn="force-refetch-entitlements";function Xo(){const t=new URLSearchParams(window.location.search),e=t.get(Nn),n=t.get($n);if(e!==null||n!==null){const r=new URL(window.location.href);t.delete(Nn),t.delete($n),r.search=t.toString(),ie(),window.history.replaceState(null,"",r)}}function Vo(){const t=new URLSearchParams(window.location.search),e=t.get("token"),n=t.get("se");if(!n||!e)return;const r=parseInt(n,10);if(Number.isNaN(r)||r<Date.now())return;Ko({url:window.location.href.split("?")[0],token:e,expiresAt:r,publisherContentId:t.get("sp")??void 0});const i=new URL(window.location.href);i.searchParams.delete("ss"),i.searchParams.delete("se"),i.searchParams.delete("sp"),i.searchParams.delete("so"),i.searchParams.delete("token"),window.history.replaceState(null,"",i)}async function jr(t){Ro({clientId:t.clientId,...t.analytics}),await oi({clientId:t.clientId,...t.auth});const e=Fo(t.api||{});return ye(ee.READY,{}),Jo(),Xo(),Vo(),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);jr(e)}catch(e){console.error("Failed to parse config",e)}}exports.init=jr;
|
|
4
|
+
`)})(),e.cache&&e.cacheLocation&&console.warn("Both `cache` and `cacheLocation` options have been specified in the Auth0Client configuration; ignoring `cacheLocation` and using `cache`."),e.cache)r=e.cache;else{if(n=e.cacheLocation||"memory",!Gt(n))throw new Error(`Invalid cache location "${n}"`);r=Gt(n)()}this.httpTimeoutMs=e.httpTimeoutInSeconds?1e3*e.httpTimeoutInSeconds:1e4,this.cookieStorage=e.legacySameSiteCookie===!1?Ie:Br,this.orgHintCookieName=`auth0.${this.options.clientId}.organization_hint`,this.isAuthenticatedCookieName=(a=>`auth0.${a}.is.authenticated`)(this.options.clientId),this.sessionCheckExpiryDays=e.sessionCheckExpiryDays||1;const i=e.useCookiesForTransactions?this.cookieStorage:qr;var o;this.scope=Fe("openid",this.options.authorizationParams.scope,this.options.useRefreshTokens?"offline_access":""),this.transactionManager=new Xr(i,this.options.clientId,this.options.cookieDomain),this.nowProvider=this.options.nowProvider||Un,this.cacheManager=new Jr(r,r.allKeys?void 0:new ti(r,this.options.clientId),this.nowProvider),this.domainUrl=(o=this.options.domain,/^https?:\/\//.test(o)?o:`https://${o}`),this.tokenIssuer=((a,s)=>a?a.startsWith("https://")?a:`https://${a}/`:`${s}/`)(this.options.issuer,this.domainUrl),typeof window<"u"&&window.Worker&&this.options.useRefreshTokens&&n==="memory"&&(this.options.workerUrl?this.worker=new Worker(this.options.workerUrl):this.worker=new ei)}_url(e){const n=encodeURIComponent(btoa(JSON.stringify(this.options.auth0Client||Dn)));return`${this.domainUrl}${e}&auth0Client=${n}`}_authorizeUrl(e){return this._url(`/authorize?${St(e)}`)}async _verifyIdToken(e,n,r){const i=await this.nowProvider();return Yr({iss:this.tokenIssuer,aud:this.options.clientId,id_token:e,nonce:n,organization:r,leeway:this.options.leeway,max_age:(o=this.options.authorizationParams.max_age,typeof o!="string"?o:parseInt(o,10)||void 0),now:i});var o}_processOrgHint(e){e?this.cookieStorage.save(this.orgHintCookieName,e,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}):this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain})}async _prepareAuthorizeUrl(e,n,r){const i=Ft(dt()),o=Ft(dt()),a=dt(),s=(u=>{const c=new Uint8Array(u);return(f=>{const d={"+":"-","/":"_","=":""};return f.replace(/[+/=]/g,w=>d[w])})(window.btoa(String.fromCharCode(...Array.from(c))))})(await(async u=>await Qe().subtle.digest({name:"SHA-256"},new TextEncoder().encode(u)))(a)),h=((u,c,f,d,w,k,v,E)=>Object.assign(Object.assign(Object.assign({client_id:u.clientId},u.authorizationParams),f),{scope:Fe(c,f.scope),response_type:"code",response_mode:E||"query",state:d,nonce:w,redirect_uri:v||u.authorizationParams.redirect_uri,code_challenge:k,code_challenge_method:"S256"}))(this.options,this.scope,e,i,o,s,e.redirect_uri||this.options.authorizationParams.redirect_uri||r,n==null?void 0:n.response_mode),p=this._authorizeUrl(h);return{nonce:o,code_verifier:a,scope:h.scope,audience:h.audience||"default",redirect_uri:h.redirect_uri,state:i,url:p}}async loginWithPopup(e,n){var r;if(e=e||{},!(n=n||{}).popup&&(n.popup=(s=>{const h=window.screenX+(window.innerWidth-400)/2,p=window.screenY+(window.innerHeight-600)/2;return window.open(s,"auth0:authorize:popup",`left=${h},top=${p},width=400,height=600,resizable,scrollbars=yes,status=1`)})(""),!n.popup))throw new Error("Unable to open a popup for loginWithPopup - window.open returned `null`");const i=await this._prepareAuthorizeUrl(e.authorizationParams||{},{response_mode:"web_message"},window.location.origin);n.popup.location.href=i.url;const o=await(s=>new Promise((h,p)=>{let u;const c=setInterval(()=>{s.popup&&s.popup.closed&&(clearInterval(c),clearTimeout(f),window.removeEventListener("message",u,!1),p(new Rr(s.popup)))},1e3),f=setTimeout(()=>{clearInterval(c),p(new Ur(s.popup)),window.removeEventListener("message",u,!1)},1e3*(s.timeoutInSeconds||60));u=function(d){if(d.data&&d.data.type==="authorization_response"){if(clearTimeout(f),clearInterval(c),window.removeEventListener("message",u,!1),s.popup.close(),d.data.response.error)return p(G.fromPayload(d.data.response));h(d.data.response)}},window.addEventListener("message",u)}))(Object.assign(Object.assign({},n),{timeoutInSeconds:n.timeoutInSeconds||this.options.authorizeTimeoutInSeconds||60}));if(i.state!==o.state)throw new G("state_mismatch","Invalid state");const a=((r=e.authorizationParams)===null||r===void 0?void 0:r.organization)||this.options.authorizationParams.organization;await this._requestToken({audience:i.audience,scope:i.scope,code_verifier:i.code_verifier,grant_type:"authorization_code",code:o.code,redirect_uri:i.redirect_uri},{nonceIn:i.nonce,organization:a})}async getUser(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.user}async getIdTokenClaims(){var e;const n=await this._getIdTokenFromCache();return(e=n==null?void 0:n.decodedToken)===null||e===void 0?void 0:e.claims}async loginWithRedirect(e={}){var n;const r=Bt(e),{openUrl:i,fragment:o,appState:a}=r,s=te(r,["openUrl","fragment","appState"]),h=((n=s.authorizationParams)===null||n===void 0?void 0:n.organization)||this.options.authorizationParams.organization,p=await this._prepareAuthorizeUrl(s.authorizationParams||{}),{url:u}=p,c=te(p,["url"]);this.transactionManager.create(Object.assign(Object.assign(Object.assign({},c),{appState:a}),h&&{organization:h}));const f=o?`${u}#${o}`:u;i?await i(f):window.location.assign(f)}async handleRedirectCallback(e=window.location.href){const n=e.split("?").slice(1);if(n.length===0)throw new Error("There are no query params available for parsing.");const{state:r,code:i,error:o,error_description:a}=(c=>{c.indexOf("#")>-1&&(c=c.substring(0,c.indexOf("#")));const f=new URLSearchParams(c);return{state:f.get("state"),code:f.get("code")||void 0,error:f.get("error")||void 0,error_description:f.get("error_description")||void 0}})(n.join("")),s=this.transactionManager.get();if(!s)throw new G("missing_transaction","Invalid state");if(this.transactionManager.remove(),o)throw new Dr(o,a||o,r,s.appState);if(!s.code_verifier||s.state&&s.state!==r)throw new G("state_mismatch","Invalid state");const h=s.organization,p=s.nonce,u=s.redirect_uri;return await this._requestToken(Object.assign({audience:s.audience,scope:s.scope,code_verifier:s.code_verifier,grant_type:"authorization_code",code:i},u?{redirect_uri:u}:{}),{nonceIn:p,organization:h}),{appState:s.appState}}async checkSession(e){if(!this.cookieStorage.get(this.isAuthenticatedCookieName)){if(!this.cookieStorage.get("auth0.is.authenticated"))return;this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove("auth0.is.authenticated")}try{await this.getTokenSilently(e)}catch{}}async getTokenSilently(e={}){var n;const r=Object.assign(Object.assign({cacheMode:"on"},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Fe(this.scope,(n=e.authorizationParams)===null||n===void 0?void 0:n.scope)})}),i=await((o,a)=>{let s=ft[a];return s||(s=o().finally(()=>{delete ft[a],s=null}),ft[a]=s),s})(()=>this._getTokenSilently(r),`${this.options.clientId}::${r.authorizationParams.audience}::${r.authorizationParams.scope}`);return e.detailedResponse?i:i==null?void 0:i.access_token}async _getTokenSilently(e){const{cacheMode:n}=e,r=te(e,["cacheMode"]);if(n!=="off"){const i=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(i)return i}if(n!=="cache-only"){if(!await(async(i,o=3)=>{for(let a=0;a<o;a++)if(await i())return!0;return!1})(()=>pt.acquireLock("auth0.lock.getTokenSilently",5e3),10))throw new It;try{if(window.addEventListener("pagehide",this._releaseLockOnPageHide),n!=="off"){const p=await this._getEntryFromCache({scope:r.authorizationParams.scope,audience:r.authorizationParams.audience||"default",clientId:this.options.clientId});if(p)return p}const i=this.options.useRefreshTokens?await this._getTokenUsingRefreshToken(r):await this._getTokenFromIFrame(r),{id_token:o,access_token:a,oauthTokenScope:s,expires_in:h}=i;return Object.assign(Object.assign({id_token:o,access_token:a},s?{scope:s}:null),{expires_in:h})}finally{await pt.releaseLock("auth0.lock.getTokenSilently"),window.removeEventListener("pagehide",this._releaseLockOnPageHide)}}}async getTokenWithPopup(e={},n={}){var r;const i=Object.assign(Object.assign({},e),{authorizationParams:Object.assign(Object.assign(Object.assign({},this.options.authorizationParams),e.authorizationParams),{scope:Fe(this.scope,(r=e.authorizationParams)===null||r===void 0?void 0:r.scope)})});return n=Object.assign(Object.assign({},zr),n),await this.loginWithPopup(i,n),(await this.cacheManager.get(new pe({scope:i.authorizationParams.scope,audience:i.authorizationParams.audience||"default",clientId:this.options.clientId}))).access_token}async isAuthenticated(){return!!await this.getUser()}_buildLogoutUrl(e){e.clientId!==null?e.clientId=e.clientId||this.options.clientId:delete e.clientId;const n=e.logoutParams||{},{federated:r}=n,i=te(n,["federated"]),o=r?"&federated":"";return this._url(`/v2/logout?${St(Object.assign({clientId:e.clientId},i))}`)+o}async logout(e={}){const n=Bt(e),{openUrl:r}=n,i=te(n,["openUrl"]);e.clientId===null?await this.cacheManager.clear():await this.cacheManager.clear(e.clientId||this.options.clientId),this.cookieStorage.remove(this.orgHintCookieName,{cookieDomain:this.options.cookieDomain}),this.cookieStorage.remove(this.isAuthenticatedCookieName,{cookieDomain:this.options.cookieDomain}),this.userCache.remove("@@user@@");const o=this._buildLogoutUrl(i);r?await r(o):r!==!1&&window.location.assign(o)}async _getTokenFromIFrame(e){const n=Object.assign(Object.assign({},e.authorizationParams),{prompt:"none"}),r=this.cookieStorage.get(this.orgHintCookieName);r&&!n.organization&&(n.organization=r);const{url:i,state:o,nonce:a,code_verifier:s,redirect_uri:h,scope:p,audience:u}=await this._prepareAuthorizeUrl(n,{response_mode:"web_message"},window.location.origin);try{if(window.crossOriginIsolated)throw new G("login_required","The application is running in a Cross-Origin Isolated context, silently retrieving a token without refresh token is not possible.");const c=e.timeoutInSeconds||this.options.authorizeTimeoutInSeconds,f=await((w,k,v=60)=>new Promise((E,_)=>{const g=window.document.createElement("iframe");g.setAttribute("width","0"),g.setAttribute("height","0"),g.style.display="none";const l=()=>{window.document.body.contains(g)&&(window.document.body.removeChild(g),window.removeEventListener("message",b,!1))};let b;const T=setTimeout(()=>{_(new It),l()},1e3*v);b=function(O){if(O.origin!=k||!O.data||O.data.type!=="authorization_response")return;const x=O.source;x&&x.close(),O.data.response.error?_(G.fromPayload(O.data.response)):E(O.data.response),clearTimeout(T),window.removeEventListener("message",b,!1),setTimeout(l,2e3)},window.addEventListener("message",b,!1),window.document.body.appendChild(g),g.setAttribute("src",w)}))(i,this.domainUrl,c);if(o!==f.state)throw new G("state_mismatch","Invalid state");const d=await this._requestToken(Object.assign(Object.assign({},e.authorizationParams),{code_verifier:s,code:f.code,grant_type:"authorization_code",redirect_uri:h,timeout:e.authorizationParams.timeout||this.httpTimeoutMs}),{nonceIn:a,organization:n.organization});return Object.assign(Object.assign({},d),{scope:p,oauthTokenScope:d.scope,audience:u})}catch(c){throw c.error==="login_required"&&this.logout({openUrl:!1}),c}}async _getTokenUsingRefreshToken(e){const n=await this.cacheManager.get(new pe({scope:e.authorizationParams.scope,audience:e.authorizationParams.audience||"default",clientId:this.options.clientId}));if(!(n&&n.refresh_token||this.worker)){if(this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw new Wn(e.authorizationParams.audience||"default",e.authorizationParams.scope)}const r=e.authorizationParams.redirect_uri||this.options.authorizationParams.redirect_uri||window.location.origin,i=typeof e.timeoutInSeconds=="number"?1e3*e.timeoutInSeconds:null;try{const o=await this._requestToken(Object.assign(Object.assign(Object.assign({},e.authorizationParams),{grant_type:"refresh_token",refresh_token:n&&n.refresh_token,redirect_uri:r}),i&&{timeout:i}));return Object.assign(Object.assign({},o),{scope:e.authorizationParams.scope,oauthTokenScope:o.scope,audience:e.authorizationParams.audience||"default"})}catch(o){if((o.message.indexOf("Missing Refresh Token")>-1||o.message&&o.message.indexOf("invalid refresh token")>-1)&&this.options.useRefreshTokensFallback)return await this._getTokenFromIFrame(e);throw o}}async _saveEntryInCache(e){const{id_token:n,decodedToken:r}=e,i=te(e,["id_token","decodedToken"]);this.userCache.set("@@user@@",{id_token:n,decodedToken:r}),await this.cacheManager.setIdToken(this.options.clientId,e.id_token,e.decodedToken),await this.cacheManager.set(i)}async _getIdTokenFromCache(){const e=this.options.authorizationParams.audience||"default",n=await this.cacheManager.getIdToken(new pe({clientId:this.options.clientId,audience:e,scope:this.scope})),r=this.userCache.get("@@user@@");return n&&n.id_token===(r==null?void 0:r.id_token)?r:(this.userCache.set("@@user@@",n),n)}async _getEntryFromCache({scope:e,audience:n,clientId:r}){const i=await this.cacheManager.get(new pe({scope:e,audience:n,clientId:r}),60);if(i&&i.access_token){const{access_token:o,oauthTokenScope:a,expires_in:s}=i,h=await this._getIdTokenFromCache();return h&&Object.assign(Object.assign({id_token:h.id_token,access_token:o},a?{scope:a}:null),{expires_in:s})}}async _requestToken(e,n){const{nonceIn:r,organization:i}=n||{},o=await Hr(Object.assign({baseUrl:this.domainUrl,client_id:this.options.clientId,auth0Client:this.options.auth0Client,useFormData:this.options.useFormData,timeout:this.httpTimeoutMs},e),this.worker),a=await this._verifyIdToken(o.id_token,r,i);return await this._saveEntryInCache(Object.assign(Object.assign(Object.assign(Object.assign({},o),{decodedToken:a,scope:e.scope,audience:e.audience||"default"}),o.scope?{oauthTokenScope:o.scope}:null),{client_id:this.options.clientId})),this.cookieStorage.save(this.isAuthenticatedCookieName,!0,{daysUntilExpire:this.sessionCheckExpiryDays,cookieDomain:this.options.cookieDomain}),this._processOrgHint(i||a.claims.org_id),Object.assign(Object.assign({},o),{decodedToken:a})}};async function ii(t){const e=new ri(t);return await e.checkSession(),e}const Vn="sesamy.com",oi="https://logs.sesamy.com/events",Et="sesamyCacheTimestamp";var Q=(t=>(t.READY="sesamyJsReady",t.AUTHENTICATED="sesamyJsAuthenticated",t.LOGOUT="sesamyJsLogout",t.CLEAR_CACHE="sesamyJsClearCache",t.USER_ATTRIBUTE_CHANGED="sesamyUserAttributeChanged",t.PURCHASE="sesamyJsPurchase",t))(Q||{});let q;const $t="sesamyAccessToken",Nt="sesamyExpires";function Yn(){const t=localStorage.getItem(Nt);if(!(t&&parseInt(t,10)<new Date().getTime()))return localStorage.getItem($t)}async function ai(t){if(t.enabled!==!1&&(q=await ii({domain:t.endpoint||`token.${Vn}`,clientId:t.clientId}),window.location.search.includes("code=")))try{await q.handleRedirectCallback();const e=await q.getUser();ue(Q.AUTHENTICATED,e);const n=new URL(location.href),r=n.searchParams;r.delete("code"),r.delete("state"),n.search=r.toString(),window.history.replaceState({},document.title,n.toString())}catch{}}async function si(){if(Yn())return!0;if(!q)throw new Error("Auth0 client not initialized");return q.isAuthenticated()}function ci(){if(!q)throw new Error("Auth0 client not initialized");return q.loginWithRedirect({authorizationParams:{redirect_uri:window.location.href}})}async function ui(t=!0){const e=Yn();if(e)return e;try{if(!q)throw new Error("Auth0 client not initialized");return await q.getTokenSilently()}catch(n){if(t)throw n;return null}}async function li(){if(localStorage.removeItem($t),localStorage.removeItem(Nt),!q)throw new Error("Auth0 client not initialized");return ue(Q.LOGOUT,{}),q.logout({logoutParams:{returnTo:window.location.href}})}function di(t){const e=t.split(".");if(e.length!==3)throw new Error("Invalid JWT token format.");const r=e[1].replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(r).split("").map(function(o){return"%"+("00"+o.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}async function Gn(t,e){localStorage.setItem($t,t),e&&localStorage.setItem(Nt,JSON.stringify(e*1e3+new Date().getTime()));const n=di(t);ue(Q.AUTHENTICATED,n)}const hi=(t,e)=>e.skipDedupe||e.method!=="GET",fi=(t,e)=>e.method+"@"+t,pi=t=>t.clone(),qt=({skip:t=hi,key:e=fi,resolver:n=pi}={})=>{const r=new Map;return i=>(o,a)=>{if(t(o,a))return i(o,a);const s=e(o,a);if(!r.has(s))r.set(s,[]);else return new Promise((h,p)=>{r.get(s).push([h,p])});try{return i(o,a).then(h=>(r.get(s).forEach(([p])=>p(n(h))),r.delete(s),h)).catch(h=>{throw r.get(s).forEach(([p,u])=>u(h)),r.delete(s),h})}catch(h){return r.delete(s),Promise.reject(h)}}},mi=(t,e)=>t*e,gi=t=>t&&t.ok,Qt=({delayTimer:t=500,delayRamp:e=mi,maxAttempts:n=10,until:r=gi,onRetry:i=null,retryOnNetworkError:o=!1,resolveWithLatestResponse:a=!1,skip:s}={})=>h=>(p,u)=>{let c=0;if(s&&s(p,u))return h(p,u);const f=(d,w)=>Promise.resolve(r(d,w)).then(k=>k?d&&a?d:w?Promise.reject(w):d:(c++,!n||c<=n?new Promise(v=>{const E=e(t,c);setTimeout(()=>{typeof i=="function"?Promise.resolve(i({response:d,error:w,url:p,options:u})).then((_={})=>{var g,l;v(h((g=_&&_.url)!==null&&g!==void 0?g:p,(l=_&&_.options)!==null&&l!==void 0?l:u))}):v(h(p,u))},E)}).then(f).catch(v=>{if(!o)throw v;return f(null,v)}):d&&a?d:Promise.reject(w||new Error("Number of attempts exceeded."))));return h(p,u).then(f).catch(d=>{if(!o)throw d;return f(null,d)})},yi="application/json",Bn="Content-Type",ke=Symbol(),qn=Symbol();function en(t={}){var e;return(e=Object.entries(t).find(([n])=>n.toLowerCase()===Bn.toLowerCase()))===null||e===void 0?void 0:e[1]}function tn(t){return/^application\/.*json.*/.test(t)}const ge=function(t,e,n=!1){return Object.entries(e).reduce((r,[i,o])=>{const a=t[i];return Array.isArray(a)&&Array.isArray(o)?r[i]=n?[...a,...o]:o:typeof a=="object"&&typeof o=="object"?r[i]=ge(a,o,n):r[i]=o,r},{...t})},Oe={options:{},errorType:"text",polyfills:{},polyfill(t,e=!0,n=!1,...r){const i=this.polyfills[t]||(typeof self<"u"?self[t]:null)||(typeof global<"u"?global[t]:null);if(e&&!i)throw new Error(t+" is not defined");return n&&i?new i(...r):i}};function vi(t,e=!1){Oe.options=e?t:ge(Oe.options,t)}function wi(t,e=!1){Oe.polyfills=e?t:ge(Oe.polyfills,t)}function bi(t){Oe.errorType=t}const ki=t=>e=>t.reduceRight((n,r)=>r(n),e)||e;class Qn extends Error{}const Ii=t=>{const e=Object.create(null);t=t._addons.reduce((g,l)=>l.beforeRequest&&l.beforeRequest(g,t._options,e)||g,t);const{_url:n,_options:r,_config:i,_catchers:o,_resolvers:a,_middlewares:s,_addons:h}=t,p=new Map(o),u=ge(i.options,r);let c=n;const f=ki(s)((g,l)=>(c=g,i.polyfill("fetch")(g,l)))(n,u),d=new Error,w=f.catch(g=>{throw{[ke]:g}}).then(g=>{if(!g.ok){const l=new Qn;if(l.cause=d,l.stack=l.stack+`
|
|
5
|
+
CAUSE: `+d.stack,l.response=g,l.url=c,g.type==="opaque")throw l;return g.text().then(b=>{var T;if(l.message=b,i.errorType==="json"||((T=g.headers.get("Content-Type"))===null||T===void 0?void 0:T.split(";")[0])==="application/json")try{l.json=JSON.parse(b)}catch{}throw l.text=b,l.status=g.status,l})}return g}),k=g=>g.catch(l=>{const b=l.hasOwnProperty(ke),T=b?l[ke]:l,O=(T==null?void 0:T.status)&&p.get(T.status)||p.get(T==null?void 0:T.name)||b&&p.has(ke)&&p.get(ke);if(O)return O(T,t);const x=p.get(qn);if(x)return x(T,t);throw T}),v=g=>l=>k(g?w.then(b=>b&&b[g]()).then(b=>l?l(b):b):w.then(b=>l?l(b):b)),E={_wretchReq:t,_fetchReq:f,_sharedState:e,res:v(null),json:v("json"),blob:v("blob"),formData:v("formData"),arrayBuffer:v("arrayBuffer"),text:v("text"),error(g,l){return p.set(g,l),this},badRequest(g){return this.error(400,g)},unauthorized(g){return this.error(401,g)},forbidden(g){return this.error(403,g)},notFound(g){return this.error(404,g)},timeout(g){return this.error(408,g)},internalError(g){return this.error(500,g)},fetchError(g){return this.error(ke,g)}},_=h.reduce((g,l)=>({...g,...typeof l.resolver=="function"?l.resolver(g):l.resolver}),E);return a.reduce((g,l)=>l(g,t),_)},Si={_url:"",_options:{},_config:Oe,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(t){return{...this,_addons:[...this._addons,t],...t.wretch}},errorType(t){return{...this,_config:{...this._config,errorType:t}}},polyfills(t,e=!1){return{...this,_config:{...this._config,polyfills:e?t:ge(this._config.polyfills,t)}}},url(t,e=!1){if(e)return{...this,_url:t};const n=this._url.split("?");return{...this,_url:n.length>1?n[0]+t+"?"+n[1]:this._url+t}},options(t,e=!1){return{...this,_options:e?t:ge(this._options,t)}},headers(t){const e=t?Array.isArray(t)?Object.fromEntries(t):"entries"in t?Object.fromEntries(t.entries()):t:{};return{...this,_options:ge(this._options,{headers:e})}},accept(t){return this.headers({Accept:t})},content(t){return this.headers({[Bn]:t})},auth(t){return this.headers({Authorization:t})},catcher(t,e){const n=new Map(this._catchers);return n.set(t,e),{...this,_catchers:n}},catcherFallback(t){return this.catcher(qn,t)},resolve(t,e=!1){return{...this,_resolvers:e?[t]:[...this._resolvers,t]}},defer(t,e=!1){return{...this,_deferred:e?[t]:[...this._deferred,t]}},middlewares(t,e=!1){return{...this,_middlewares:e?t:[...this._middlewares,...t]}},fetch(t=this._options.method,e="",n=null){let r=this.url(e).options({method:t});const i=en(r._options.headers),o=typeof n=="object"&&(!r._options.headers||!i||tn(i));return r=n?o?r.json(n,i):r.body(n):r,Ii(r._deferred.reduce((a,s)=>s(a,a._url,a._options),r))},get(t=""){return this.fetch("GET",t)},delete(t=""){return this.fetch("DELETE",t)},put(t,e=""){return this.fetch("PUT",e,t)},post(t,e=""){return this.fetch("POST",e,t)},patch(t,e=""){return this.fetch("PATCH",e,t)},head(t=""){return this.fetch("HEAD",t)},opts(t=""){return this.fetch("OPTIONS",t)},body(t){return{...this,_options:{...this._options,body:t}}},json(t,e){const n=en(this._options.headers);return this.content(e||tn(n)&&n||yi).body(JSON.stringify(t))}};function le(t="",e={}){return{...Si,_url:t,_options:e}}le.default=le;le.options=vi;le.errorType=bi;le.polyfills=wi;le.WretchError=Qn;function re(){sessionStorage.removeItem(Et),ue(Q.CLEAR_CACHE,{})}function _i(t){const e=t.endpoint||`https://api2.${Vn}`,n=S=>async(I,N)=>{let K=sessionStorage.getItem(Et);K||(K=Date.now().toString(),sessionStorage.setItem(Et,K));const X={...N,headers:{...N.headers,"Cache-Timestamp":K}};return S(I,X)},r=(S=!0)=>I=>async(N,K)=>{let X=null;if(X=await ui(S),!X){if(S)throw new Error("No access token available");return I(N,K)}const m={...K,headers:{...K.headers,...X?{Authorization:`Bearer ${X}`}:{}}};return I(N,m)},i=S=>(I,N)=>{if(N.headers.Authorization)return S(I,N);const K=localStorage.getItem("__anon_id"),X=btoa(`${K}:`),m={...N,headers:{...N.headers,Authorization:`Basic ${X}`}};return S(I,m)},o=le(e).headers({"Content-Type":"application/json"}).middlewares([n,r(),qt(),Qt({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]),a=le(e).headers({"Content-Type":"application/json"}).middlewares([n,r(!1),i,qt(),Qt({delayTimer:1e3,delayRamp:(S,I)=>S*I,maxAttempts:3,until:S=>!!(S&&(S.ok||S.status>=400&&S.status<500)),retryOnNetworkError:!1})]);async function s(){return o.get("/entitlements").json()}async function h(S){const I=await o.get("/entitlements").json();return I==null?void 0:I.find(N=>N.id===S)}async function p(S){return o.get(`/entitlements/${S}/access`).json()}async function u(){return o.get("/contracts").json()}async function c(S){const I=await o.get("/contracts").json();return I==null?void 0:I.find(N=>N.id===S)}async function f(){return o.get("/subscriptions").json()}async function d(){return o.get("/bills").json()}async function w(S){const I=await o.get("/bills").json();return I==null?void 0:I.find(N=>N.id===S)}async function k(S,I){const N=await o.url(`/user-metadata/${S}`).put(I).json();return ue(Q.USER_ATTRIBUTE_CHANGED,{}),re(),N}async function v(S){const I=await o.url(`/user-metadata/${S}`).delete().res();return re(),I.ok}async function E(S){return(await o.url(`/user-metadata/${S}`).get().json())[S]}async function _(){return await o.url("/user-metadata").get().json()}async function g(){return await o.url("/tags").get().json()}async function l(S){const I=await o.url(`/tags/${S}`).delete().res();return re(),I.ok}async function b(S){const I=await o.url("/tags").post(S).res();return ue(Q.USER_ATTRIBUTE_CHANGED,{}),re(),I.ok}async function T(S){return(await a.url("/tallies").get().json())[S]}async function O(){return await a.url("/tallies").get().json()}async function x(S){const I=await a.url(`/tallies/${S}`).delete().res();return re(),I.ok}async function R(S,I){return await a.url(`/tallies/${S}/push`).post(I).json()}async function L(S){return await o.url(`/products/${S}`).get().json()}async function H(){return await o.url("/profile").get().json()}async function A(){return await o.url("/payment-issues").get().json()}async function D(S){const I=await o.url(`/products/${S}/auto-onboard`).post().json();return I.length&&re(),I}return{getEntitlements:s,getEntitlement:h,getEntitlementAccess:p,getContracts:u,getContract:c,getProfile:H,getSubscriptions:f,getBills:d,getBill:w,setUserMetadata:k,deleteUserMetadata:v,getUserMetadata:E,listUserMetadata:_,getTags:g,deleteTag:l,setTag:b,getTally:T,getTallies:O,deleteTally:x,pushTally:R,getProduct:L,getPaymentIssues:A,autoOnboardProduct:D}}const er="@sesamy/sesamy-js",zt="1.3.2";function nn(t,e,n,r,i){for(e=e.split?e.split("."):e,r=0;r<e.length;r++)t=t?t[e[r]]:i;return t===i?n:t}var Je="undefined",rn="object",Tt=function(){},tr="any",nr="*",ve="__",tt=typeof process<"u"?process:{};tt.env&&tt.env.NODE_ENV;var J=typeof document<"u";tt.versions!=null&&tt.versions.node!=null;typeof Deno<"u"&&Deno.core;J&&window.name==="nodejs"||typeof navigator<"u"&&navigator.userAgent!==void 0&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function rr(t,e){return e.charAt(0)[t]()+e.slice(1)}var Ei=rr.bind(null,"toUpperCase"),Ti=rr.bind(null,"toLowerCase");function Pi(t){return ir(t)?Ei("null"):typeof t=="object"?xi(t):Object.prototype.toString.call(t).slice(8,-1)}function nt(t,e){e===void 0&&(e=!0);var n=Pi(t);return e?Ti(n):n}function We(t,e){return typeof e===t}var Y=We.bind(null,"function"),se=We.bind(null,"string"),Se=We.bind(null,"undefined"),Oi=We.bind(null,"boolean");We.bind(null,"symbol");function ir(t){return t===null}function ji(t){return nt(t)==="number"&&!isNaN(t)}function or(t){return nt(t)==="array"}function V(t){if(!Ci(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Ci(t){return t&&(typeof t=="object"||t!==null)}function xi(t){return Y(t.constructor)?t.constructor.name:null}function Ai(t){return t instanceof Error||se(t.message)&&t.constructor&&ji(t.constructor.stackTraceLimit)}function ar(t,e){if(typeof e!="object"||ir(e))return!1;if(e instanceof t)return!0;var n=nt(new t(""));if(Ai(e))for(;e;){if(nt(e)===n)return!0;e=Object.getPrototypeOf(e)}return!1}ar.bind(null,TypeError);ar.bind(null,SyntaxError);function ot(t,e){var n=t instanceof Element||t instanceof HTMLDocument;return n&&e?$i(t,e):n}function $i(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function at(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}at(ot,"form");at(ot,"button");at(ot,"input");at(ot,"select");function Ni(t){return t?or(t)?t:[t]:[]}function on(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function zi(){if(J){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Di(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Ui(t){return function(e){for(var n,r=Object.create(null),i=/([^&=]+)=?([^&]*)/g;n=i.exec(e);){var o=on(n[1]),a=on(n[2]);o.substring(o.length-2)==="[]"?(r[o=o.substring(0,o.length-2)]||(r[o]=[])).push(a):r[o]=a===""||a}for(var s in r){var h=s.split("[");h.length>1&&(Ri(r,h.map(function(p){return p.replace(/[?[\]\\ ]/g,"")}),r[s]),delete r[s])}return r}(function(e){if(e){var n=e.match(/\?(.*)/);return n&&n[1]?n[1].split("#")[0]:""}return J&&window.location.search.substring(1)}(t))}function Ri(t,e,n){for(var r=e.length-1,i=0;i<r;++i){var o=e[i];if(o==="__proto__"||o==="constructor")break;o in t||(t[o]={}),t=t[o]}t[e[r]]=n}function st(){for(var t="",e=0,n=4294967295*Math.random()|0;e++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],i=15&n;t+=r=="-"||r=="4"?r:(r=="x"?i:3&i|8).toString(16),n=e%8==0?4294967295*Math.random()|0:n>>4}return t}function Li(t,e){var n,r,i,o=null,a=0,s=function(){a=new Date,o=null,i=t.apply(n,r)};return function(){var h=new Date;a||(a=h);var p=e-(h-a);return n=this,r=arguments,p<=0?(clearTimeout(o),o=null,a=h,i=t.apply(n,r)):o||(o=setTimeout(s,p)),i}}var Re="global",je=ve+"global"+ve,Ce=typeof self===rn&&self.self===self&&self||typeof global===rn&&global.global===global&&global||void 0;function we(t){return Ce[je][t]}function be(t,e){return Ce[je][t]=e}function Ae(t){delete Ce[je][t]}function $e(t,e,n){var r;try{if(Dt(t)){var i=window[t];r=i[e].bind(i)}}catch{}return r||n}Ce[je]||(Ce[je]={});var Xe={};function Dt(t){if(typeof Xe[t]!==Je)return Xe[t];try{var e=window[t];e.setItem(Je,Je),e.removeItem(Je)}catch{return Xe[t]=!1}return Xe[t]=!0}function C(){return C=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},C.apply(this,arguments)}var ae="function",ie="undefined",Mi="@@redux/"+Math.random().toString(36),an=function(){return typeof Symbol===ae&&Symbol.observable||"@@observable"}(),Ve=" != "+ae;function sr(t,e,n){var r;if(typeof e===ae&&typeof n===ie&&(n=e,e=void 0),typeof n!==ie){if(typeof n!==ae)throw new Error("enhancer"+Ve);return n(sr)(t,e)}if(typeof t!==ae)throw new Error("reducer"+Ve);var i=t,o=e,a=[],s=a,h=!1;function p(){s===a&&(s=a.slice())}function u(){return o}function c(d){if(typeof d!==ae)throw new Error("Listener"+Ve);var w=!0;return p(),s.push(d),function(){if(w){w=!1,p();var k=s.indexOf(d);s.splice(k,1)}}}function f(d){if(!V(d))throw new Error("Act != obj");if(typeof d.type===ie)throw new Error("ActType "+ie);if(h)throw new Error("Dispatch in reducer");try{h=!0,o=i(o,d)}finally{h=!1}for(var w=a=s,k=0;k<w.length;k++)(0,w[k])();return d}return f({type:"@@redux/INIT"}),(r={dispatch:f,subscribe:c,getState:u,replaceReducer:function(d){if(typeof d!==ae)throw new Error("next reducer"+Ve);i=d,f({type:"@@redux/INIT"})}})[an]=function(){var d,w=c;return(d={subscribe:function(k){if(typeof k!="object")throw new TypeError("Observer != obj");function v(){k.next&&k.next(u())}return v(),{unsubscribe:w(v)}}})[an]=function(){return this},d},r}function Zi(t,e){var n=e&&e.type;return"action "+(n&&n.toString()||"?")+"reducer "+t+" returns "+ie}function xe(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,n){return function(){return e(n.apply(void 0,[].slice.call(arguments)))}})}function Ki(){var t=arguments;return function(e){return function(n,r,i){var o,a=e(n,r,i),s=a.dispatch,h={getState:a.getState,dispatch:function(p){return s(p)}};return o=[].slice.call(t).map(function(p){return p(h)}),C({},a,{dispatch:s=xe.apply(void 0,o)(a.dispatch)})}}}var ce=ve+"anon_id",ye=ve+"user_id",Ee=ve+"user_traits",oe="userId",_e="anonymousId",et=["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"],Pt=["name","EVENTS","config","loaded"],j=et.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),sn=/^utm_/,cn=/^an_prop_/,un=/^an_trait_/;function Wi(t){var e=t.storage.setItem;return function(n){return function(r){return function(i){if(i.type===j.bootstrap){var o=i.params,a=i.user,s=i.persistedUser,h=i.initialUser,p=s.userId===a.userId;s.anonymousId!==a.anonymousId&&e(ce,a.anonymousId),p||e(ye,a.userId),h.traits&&e(Ee,C({},p&&s.traits?s.traits:{},h.traits));var u=Object.keys(i.params);if(u.length){var c=o.an_uid,f=o.an_event,d=u.reduce(function(w,k){if(k.match(sn)||k.match(/^(d|g)clid/)){var v=k.replace(sn,"");w.campaign[v==="campaign"?"name":v]=o[k]}return k.match(cn)&&(w.props[k.replace(cn,"")]=o[k]),k.match(un)&&(w.traits[k.replace(un,"")]=o[k]),w},{campaign:{},props:{},traits:{}});n.dispatch(C({type:j.params,raw:o},d,c?{userId:c}:{})),c&&setTimeout(function(){return t.identify(c,d.traits)},0),f&&setTimeout(function(){return t.track(f,d.props)},0),Object.keys(d.campaign).length&&n.dispatch({type:j.campaign,campaign:d.campaign})}}return r(i)}}}}function Hi(t){return function(e,n){if(e===void 0&&(e={}),n===void 0&&(n={}),n.type===j.setItemEnd){if(n.key===ce)return C({},e,{anonymousId:n.value});if(n.key===ye)return C({},e,{userId:n.value})}switch(n.type){case j.identify:return Object.assign({},e,{userId:n.userId,traits:C({},e.traits,n.traits)});case j.reset:return[ye,ce,Ee].forEach(function(r){t.removeItem(r)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function ln(t){return{userId:t.getItem(ye),anonymousId:t.getItem(ce),traits:t.getItem(Ee)}}var Ot=function(t){return ve+"TEMP"+ve+t};function Fi(t){var e=t.storage,n=e.setItem,r=e.removeItem,i=e.getItem;return function(o){return function(a){return function(s){var h=s.userId,p=s.traits,u=s.options;if(s.type===j.reset&&([ye,Ee,ce].forEach(function(d){r(d)}),[oe,_e,"traits"].forEach(function(d){Ae(Ot(d))})),s.type===j.identify){i(ce)||n(ce,st());var c=i(ye),f=i(Ee)||{};c&&c!==h&&o.dispatch({type:j.userIdChanged,old:{userId:c,traits:f},new:{userId:h,traits:p},options:u}),h&&n(ye,h),p&&n(Ee,C({},f,p))}return a(s)}}}}var Ue={};function dn(t,e){Ue[t]&&Y(Ue[t])&&(Ue[t](e),delete Ue[t])}function cr(t,e,n){return new Promise(function(r,i){return e()?r(t):n<1?i(C({},t,{queue:!0})):new Promise(function(o){return setTimeout(o,10)}).then(function(o){return cr(t,e,n-10).then(r,i)})})}function Ji(t){return{abort:t}}function ur(t,e,n){var r={},i=e(),o=t.getState(),a=o.plugins,s=o.queue,h=o.user;if(!o.context.offline&&s&&s.actions&&s.actions.length){var p=s.actions.reduce(function(c,f,d){return a[f.plugin].loaded?(c.process.push(f),c.processIndex.push(d)):(c.requeue.push(f),c.requeueIndex.push(d)),c},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(p.processIndex&&p.processIndex.length){p.processIndex.forEach(function(c){var f=s.actions[c],d=f.plugin,w=f.payload.type,k=i[d][w];if(k&&Y(k)){var v,E=function(l,b){return l===void 0&&(l={}),b===void 0&&(b={}),[oe,_e].reduce(function(T,O){return l.hasOwnProperty(O)&&b[O]&&b[O]!==l[O]&&(T[O]=b[O]),T},l)}(f.payload,h),_=r[E.meta.rid];if(!_&&(v=k({payload:E,config:a[d].config,instance:n,abort:Ji}))&&V(v)&&v.abort)return void(r[E.meta.rid]=!0);if(!_){var g=w+":"+d;t.dispatch(C({},E,{type:g,_:{called:g,from:"queueDrain"}}))}}});var u=s.actions.filter(function(c,f){return!~p.processIndex.indexOf(f)});s.actions=u}}}var mt=function(t){var e=t.data,n=t.action,r=t.instance,i=t.state,o=t.allPlugins,a=t.allMatches,s=t.store,h=t.EVENTS;try{var p=i.plugins,u=i.context,c=n.type,f=c.match(Te),d=e.exact.map(function(v){return v.pluginName});f&&(d=a.during.map(function(v){return v.pluginName}));var w=function(v,E){return function(_,g,l){var b=g.config,T=g.name,O=T+"."+_.type;l&&(O=l.event);var x=_.type.match(Te)?function(R,L,H,A,D){return function(S,I){var N=A?A.name:R,K=I&&Ke(I)?I:H;if(A&&(!(K=I&&Ke(I)?I:[R]).includes(R)||K.length!==1))throw new Error("Method "+L+" can only abort "+R+" plugin. "+JSON.stringify(K)+" input valid");return C({},D,{abort:{reason:S,plugins:K,caller:L,_:N}})}}(T,O,E,l,_):function(R,L){return function(){throw new Error(R.type+" action not cancellable. Remove abort in "+L)}}(_,O);return{payload:Xi(_),instance:v,config:b||{},abort:x}}}(r,d),k=e.exact.reduce(function(v,E){var _=E.pluginName,g=E.methodName,l=!1;return g.match(/^initialize/)||g.match(/^reset/)||(l=!p[_].loaded),u.offline&&g.match(/^(page|track|identify)/)&&(l=!0),v[""+_]=l,v},{});return Promise.resolve(e.exact.reduce(function(v,E,_){try{var g=E.pluginName;return Promise.resolve(v).then(function(l){function b(){return Promise.resolve(l)}var T=function(){if(e.namespaced&&e.namespaced[g])return Promise.resolve(e.namespaced[g].reduce(function(O,x,R){try{return Promise.resolve(O).then(function(L){return x.method&&Y(x.method)?(function(S,I){var N=vn(S);if(N&&N.name===I){var K=vn(N.method);throw new Error([I+" plugin is calling method "+S,"Plugins cant call self","Use "+N.method+" "+(K?"or "+K.method:"")+" in "+I+" plugin insteadof "+S].join(`
|
|
6
|
+
`))}}(x.methodName,x.pluginName),Promise.resolve(x.method({payload:L,instance:r,abort:(H=L,A=g,D=x.pluginName,function(S,I){return C({},H,{abort:{reason:S,plugins:I||[A],caller:c,from:D||A}})}),config:pn(x.pluginName,p,o),plugins:p})).then(function(S){var I=V(S)?S:{};return Promise.resolve(C({},L,I))})):L;var H,A,D})}catch(L){return Promise.reject(L)}},Promise.resolve(n))).then(function(O){l[g]=O});l[g]=n}();return T&&T.then?T.then(b):b()})}catch(l){return Promise.reject(l)}},Promise.resolve({}))).then(function(v){return Promise.resolve(e.exact.reduce(function(E,_,g){try{var l=e.exact.length===g+1,b=_.pluginName,T=o[b];return Promise.resolve(E).then(function(O){var x=v[b]?v[b]:{};if(f&&(x=O),yt(x,b))return gt({data:x,method:c,instance:r,pluginName:b,store:s}),Promise.resolve(O);if(yt(O,b))return l&>({data:O,method:c,instance:r,store:s}),Promise.resolve(O);if(k.hasOwnProperty(b)&&k[b]===!0)return s.dispatch({type:"queue",plugin:b,payload:x,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(O);var R=w(v[b],o[b]);return Promise.resolve(T[c]({abort:R.abort,payload:x,instance:r,config:pn(b,p,o),plugins:p})).then(function(L){var H=V(L)?L:{},A=C({},O,H),D=v[b];if(yt(D,b))gt({data:D,method:c,instance:r,pluginName:b,store:s});else{var S=c+":"+b;(S.match(/:/g)||[]).length<2&&!c.match(hn)&&!c.match(fn)&&r.dispatch(C({},f?A:x,{type:S,_:{called:S,from:"submethod"}}))}return Promise.resolve(A)})})}catch(O){return Promise.reject(O)}},Promise.resolve(n))).then(function(E){if(!(c.match(Te)||c.match(/^registerPlugin/)||c.match(fn)||c.match(hn)||c.match(/^params/)||c.match(/^userIdChanged/))){if(h.plugins.includes(c),E._&&E._.originalAction===c)return E;var _=C({},E,{_:{originalAction:E.type,called:E.type,from:"engineEnd"}});lr(E,e.exact.length)&&!c.match(/End$/)&&(_=C({},_,{type:E.type+"Aborted"})),s.dispatch(_)}return E})})}catch(v){return Promise.reject(v)}},Te=/Start$/,hn=/^bootstrap/,fn=/^ready/;function gt(t){var e=t.pluginName,n=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(C({},t.data,{type:n,_:{called:n,from:"abort"}}))}function pn(t,e,n){var r=e[t]||n[t];return r&&r.config?r.config:{}}function mn(t,e){return e.reduce(function(n,r){return r[t]?n.concat({methodName:t,pluginName:r.name,method:r[t]}):n},[])}function gn(t,e){var n=t.replace(Te,""),r=e?":"+e:"";return[""+t+r,""+n+r,n+"End"+r]}function yt(t,e){var n=t.abort;return!!n&&(n===!0||yn(n,e)||n&&yn(n.plugins,e))}function lr(t,e){var n=t.abort;if(!n)return!1;if(n===!0||se(n))return!0;var r=n.plugins;return Ke(n)&&n.length===e||Ke(r)&&r.length===e}function Ke(t){return Array.isArray(t)}function yn(t,e){return!(!t||!Ke(t))&&t.includes(e)}function vn(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Xi(t){return Object.keys(t).reduce(function(e,n){return n==="type"||(e[n]=V(t[n])?Object.assign({},t[n]):t[n]),e},{})}function Vi(t,e,n){var r={};return function(i){return function(o){return function(a){try{var s,h=function(l){return s?l:o(c)},p=a.type,u=a.plugins,c=a;if(a.abort)return Promise.resolve(o(a));if(p===j.enablePlugin&&i.dispatch({type:j.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),p===j.disablePlugin&&setTimeout(function(){return dn(a.meta.rid,{payload:a})},0),p===j.initializeEnd){var f=e(),d=Object.keys(f),w=d.filter(function(l){return u.includes(l)}).map(function(l){return f[l]}),k=[],v=[],E=a.disabled,_=w.map(function(l){var b=l.loaded,T=l.name,O=l.config;return cr(l,function(){return b({config:O})},1e4).then(function(x){return r[T]||(i.dispatch({type:j.pluginReadyType(T),name:T,events:Object.keys(l).filter(function(R){return!Pt.includes(R)})}),r[T]=!0),k=k.concat(T),l}).catch(function(x){if(x instanceof Error)throw new Error(x);return v=v.concat(x.name),x})});Promise.all(_).then(function(l){var b={plugins:k,failed:v,disabled:E};setTimeout(function(){d.length===_.length+E.length&&i.dispatch(C({},{type:j.ready},b))},0)})}var g=function(){if(p!==j.bootstrap)return/^ready:([^:]*)$/.test(p)&&setTimeout(function(){return ur(i,e,t)},0),Promise.resolve(function(l,b,T,O,x){try{var R=Y(b)?b():b,L=l.type,H=L.replace(Te,"");if(l._&&l._.called)return Promise.resolve(l);var A=T.getState(),D=(N=R,(K=A.plugins)===void 0&&(K={}),(X=l.options)===void 0&&(X={}),Object.keys(N).filter(function(m){var y=X.plugins||{};return Oi(y[m])?y[m]:y.all!==!1&&(!K[m]||K[m].enabled!==!1)}).map(function(m){return N[m]}));L===j.initializeStart&&l.fromEnable&&(D=Object.keys(A.plugins).filter(function(m){var y=A.plugins[m];return l.plugins.includes(m)&&!y.initialized}).map(function(m){return R[m]}));var S=D.map(function(m){return m.name}),I=function(m,y,P){var $=gn(m).map(function(z){return mn(z,y)});return y.reduce(function(z,U){var F=U.name,Z=gn(m,F).map(function(Ne){return mn(Ne,y)}),W=Z[0],M=Z[1],ee=Z[2];return W.length&&(z.beforeNS[F]=W),M.length&&(z.duringNS[F]=M),ee.length&&(z.afterNS[F]=ee),z},{before:$[0],beforeNS:{},during:$[1],duringNS:{},after:$[2],afterNS:{}})}(L,D);return Promise.resolve(mt({action:l,data:{exact:I.before,namespaced:I.beforeNS},state:A,allPlugins:R,allMatches:I,instance:T,store:O,EVENTS:x})).then(function(m){function y(){var z=function(){if(L.match(Te))return Promise.resolve(mt({action:C({},P,{type:H+"End"}),data:{exact:I.after,namespaced:I.afterNS},state:A,allPlugins:R,allMatches:I,instance:T,store:O,EVENTS:x})).then(function(U){U.meta&&U.meta.hasCallback&&dn(U.meta.rid,{payload:U})})}();return z&&z.then?z.then(function(){return m}):m}if(lr(m,S.length))return m;var P,$=function(){if(L!==H)return Promise.resolve(mt({action:C({},m,{type:H}),data:{exact:I.during,namespaced:I.duringNS},state:A,allPlugins:R,allMatches:I,instance:T,store:O,EVENTS:x})).then(function(z){P=z});P=m}();return $&&$.then?$.then(y):y()})}catch(m){return Promise.reject(m)}var N,K,X}(a,e,t,i,n)).then(function(l){return s=1,o(l)})}();return Promise.resolve(g&&g.then?g.then(h):h(g))}catch(l){return Promise.reject(l)}}}}}function Yi(t){return function(e){return function(n){return function(r){var i=r.type,o=r.key,a=r.value,s=r.options;if(i===j.setItem||i===j.removeItem){if(r.abort)return n(r);i===j.setItem?t.setItem(o,a,s):t.removeItem(o,s)}return n(r)}}}}var Gi=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,n){t[n]=t[n].concat(e)},this.removeMiddleware=function(e,n){var r=t[n].findIndex(function(i){return i===e});r!==-1&&(t[n]=[].concat(t[n].slice(0,r),t[n].slice(r+1)))},this.dynamicMiddlewares=function(e){return function(n){return function(r){return function(i){var o={getState:n.getState,dispatch:function(s){return n.dispatch(s)}},a=t[e].map(function(s){return s(o)});return xe.apply(void 0,a)(r)(i)}}}}};function Bi(t){return function(e,n){e===void 0&&(e={});var r={};if(n.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=wn(n.type,"registerPlugin"),o=t()[i];if(!o||!i)return e;var a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&!o.initialize,loaded:!!a&&!!o.loaded({config:s}),config:s},C({},e,r)}if(/^initialize:([^:]*)$/.test(n.type)){var h=wn(n.type,j.initialize),p=t()[h];return p&&h?(r[h]=C({},e[h],{initialized:!0,loaded:!!p.loaded({config:p.config})}),C({},e,r)):e}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=C({},e[n.name],{loaded:!0}),C({},e,r);switch(n.type){case j.disablePlugin:return C({},e,bn(n.plugins,!1,e));case j.enablePlugin:return C({},e,bn(n.plugins,!0,e));default:return e}}}function wn(t,e){return t.substring(e.length+1,t.length)}function bn(t,e,n){return t.reduce(function(r,i){return r[i]=C({},n[i],{enabled:e}),r},n)}function dr(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var qi={last:{},history:[]};function Qi(t,e){t===void 0&&(t=qi);var n=e.options,r=e.meta;if(e.type===j.track){var i=dr(C({event:e.event,properties:e.properties},Object.keys(n).length&&{options:n},{meta:r}));return C({},t,{last:i,history:t.history.concat(i)})}return t}var eo={actions:[]};function to(t,e){t===void 0&&(t=eo);var n=e.payload;switch(e.type){case"queue":var r;return r=n&&n.type&&n.type===j.identify?[e].concat(t.actions):t.actions.concat(e),C({},t,{actions:r});case"dequeue":return[];default:return t}}var hr=/#.*$/;function no(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(hr,""):"")}var fr,pr,mr,gr,ro=function(t){if(t===void 0&&(t={}),!J)return t;var e=document,n=e.title,r=e.referrer,i=window,o=i.location,a=i.innerWidth,s=i.innerHeight,h=o.hash,p=o.search,u=function(f){var d=function(){if(J){for(var w,k=document.getElementsByTagName("link"),v=0;w=k[v];v++)if(w.getAttribute("rel")==="canonical")return w.getAttribute("href")}}();return d?d.match(/\?/)?d:d+f:window.location.href.replace(hr,"")}(p),c={title:n,url:u,path:no(u),hash:h,search:p,width:a,height:s};return r&&r!==""&&(c.referrer=r),C({},c,t)},io={last:{},history:[]};function oo(t,e){t===void 0&&(t=io);var n=e.options;if(e.type===j.page){var r=dr(C({properties:e.properties,meta:e.meta},Object.keys(n).length&&{options:n}));return C({},t,{last:r,history:t.history.concat(r)})}return t}fr=function(){if(!J)return!1;var t=navigator.appVersion;return~t.indexOf("Win")?"Windows":~t.indexOf("Mac")?"MacOS":~t.indexOf("X11")?"UNIX":~t.indexOf("Linux")?"Linux":"Unknown OS"}(),pr=J?document.referrer:null,mr=zi(),gr=Di();var kn={initialized:!1,sessionId:st(),app:null,version:null,debug:!1,offline:!!J&&!navigator.onLine,os:{name:fr},userAgent:J?navigator.userAgent:"node",library:{name:"analytics",version:"0.12.7"},timezone:gr,locale:mr,campaign:{},referrer:pr};function ao(t,e){t===void 0&&(t=kn);var n=t.initialized,r=e.campaign;switch(e.type){case j.campaign:return C({},t,{campaign:r});case j.offline:return C({},t,{offline:!0});case j.online:return C({},t,{offline:!1});default:return n?t:C({},kn,t,{initialized:!0})}}var so=["plugins","reducers","storage"];function co(t,e,n){if(J){var r=window[(n?"add":"remove")+"EventListener"];t.split(" ").forEach(function(i){r(i,e)})}}function uo(t){var e=co.bind(null,"online offline",function(n){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(n){return e(!1)}}function yr(){return be("analytics",[]),function(t){return function(e,n,r){var i=t(e,n,r),o=i.dispatch;return Object.assign(i,{dispatch:function(a){return Ce[je].analytics.push(a.action||a),o(a)}})}}}function In(t){return function(){return xe(xe.apply(null,arguments),yr())}}function vt(t){return t?or(t)?t:[t]:[]}function Sn(t,e,n){t===void 0&&(t={});var r,i,o=st();return e&&(Ue[o]=(r=e,i=function(a){for(var s,h=a||Array.prototype.slice.call(arguments),p=0;p<h.length;p++)if(Y(h[p])){s=h[p];break}return s}(n),function(a){i&&i(a),r(a)})),C({},t,{rid:o,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function lo(t){t===void 0&&(t={});var e=t.reducers||{},n=t.initialUser||{},r=(t.plugins||[]).reduce(function(m,y){if(Y(y))return m.middlewares=m.middlewares.concat(y),m;if(y.NAMESPACE&&(y.name=y.NAMESPACE),!y.name)throw new Error("https://lytics.dev/errors/1");y.config||(y.config={});var P=y.EVENTS?Object.keys(y.EVENTS).map(function(U){return y.EVENTS[U]}):[];m.pluginEnabled[y.name]=!(y.enabled===!1||y.config.enabled===!1),delete y.enabled,y.methods&&(m.methods[y.name]=Object.keys(y.methods).reduce(function(U,F){var Z;return U[F]=(Z=y.methods[F],function(){for(var W=Array.prototype.slice.call(arguments),M=new Array(Z.length),ee=0;ee<W.length;ee++)M[ee]=W[ee];return M[M.length]=b,Z.apply({instance:b},M)}),U},{}),delete y.methods);var $=Object.keys(y).concat(P),z=new Set(m.events.concat($));if(m.events=Array.from(z),m.pluginsArray=m.pluginsArray.concat(y),m.plugins[y.name])throw new Error(y.name+"AlreadyLoaded");return m.plugins[y.name]=y,m.plugins[y.name].loaded||(m.plugins[y.name].loaded=function(){return!0}),m},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),i=t.storage?t.storage:{getItem:we,setItem:be,removeItem:Ae},o=function(m){return function(y,P,$){return P.getState("user")[y]||($&&V($)&&$[y]?$[y]:ln(m)[y]||we(Ot(y))||null)}}(i),a=r.plugins,s=r.events.filter(function(m){return!Pt.includes(m)}).sort(),h=new Set(s.concat(et).filter(function(m){return!Pt.includes(m)})),p=Array.from(h).sort(),u=function(){return a},c=new Gi,f=c.addMiddleware,d=c.removeMiddleware,w=c.dynamicMiddlewares,k=function(){throw new Error("Abort disabled inListener")},v=Ui(),E=ln(i),_=C({},E,n,v.an_uid?{userId:v.an_uid}:{},v.an_aid?{anonymousId:v.an_aid}:{});_.anonymousId||(_.anonymousId=st());var g=C({enable:function(m,y){return new Promise(function(P){I.dispatch({type:j.enablePlugin,plugins:vt(m),_:{originalAction:j.enablePlugin}},P,[y])})},disable:function(m,y){return new Promise(function(P){I.dispatch({type:j.disablePlugin,plugins:vt(m),_:{originalAction:j.disablePlugin}},P,[y])})}},r.methods),l=!1,b={identify:function(m,y,P,$){try{var z=se(m)?m:null,U=V(m)?m:y,F=P||{},Z=b.user();be(Ot(oe),z);var W=z||U.userId||o(oe,b,U);return Promise.resolve(new Promise(function(M){I.dispatch(C({type:j.identifyStart,userId:W,traits:U||{},options:F,anonymousId:Z.anonymousId},Z.id&&Z.id!==z&&{previousId:Z.id}),M,[y,P,$])}))}catch(M){return Promise.reject(M)}},track:function(m,y,P,$){try{var z=V(m)?m.event:m;if(!z||!se(z))throw new Error("EventMissing");var U=V(m)?m:y||{},F=V(P)?P:{};return Promise.resolve(new Promise(function(Z){I.dispatch({type:j.trackStart,event:z,properties:U,options:F,userId:o(oe,b,y),anonymousId:o(_e,b,y)},Z,[y,P,$])}))}catch(Z){return Promise.reject(Z)}},page:function(m,y,P){try{var $=V(m)?m:{},z=V(y)?y:{};return Promise.resolve(new Promise(function(U){I.dispatch({type:j.pageStart,properties:ro($),options:z,userId:o(oe,b,$),anonymousId:o(_e,b,$)},U,[m,y,P])}))}catch(U){return Promise.reject(U)}},user:function(m){if(m===oe||m==="id")return o(oe,b);if(m===_e||m==="anonId")return o(_e,b);var y=b.getState("user");return m?nn(y,m):y},reset:function(m){return new Promise(function(y){I.dispatch({type:j.resetStart},y,m)})},ready:function(m){return l&&m({plugins:g,instance:b}),b.on(j.ready,function(y){m(y),l=!0})},on:function(m,y){if(!m||!Y(y))return!1;if(m===j.bootstrap)throw new Error(".on disabled for "+m);var P=/Start$|Start:/;if(m==="*"){var $=function(Z){return function(W){return function(M){return M.type.match(P)&&y({payload:M,instance:b,plugins:a}),W(M)}}},z=function(Z){return function(W){return function(M){return M.type.match(P)||y({payload:M,instance:b,plugins:a}),W(M)}}};return f($,Ye),f(z,Ge),function(){d($,Ye),d(z,Ge)}}var U=m.match(P)?Ye:Ge,F=function(Z){return function(W){return function(M){return M.type===m&&y({payload:M,instance:b,plugins:a,abort:k}),W(M)}}};return f(F,U),function(){return d(F,U)}},once:function(m,y){if(!m||!Y(y))return!1;if(m===j.bootstrap)throw new Error(".once disabled for "+m);var P=b.on(m,function($){y({payload:$.payload,instance:b,plugins:a,abort:k}),P()});return P},getState:function(m){var y=I.getState();return m?nn(y,m):Object.assign({},y)},dispatch:function(m){var y=se(m)?{type:m}:m;if(et.includes(y.type))throw new Error("reserved action "+y.type);var P=C({},y,{_:C({originalAction:y.type},m._||{})});I.dispatch(P)},enablePlugin:g.enable,disablePlugin:g.disable,plugins:g,storage:{getItem:i.getItem,setItem:function(m,y,P){I.dispatch({type:j.setItemStart,key:m,value:y,options:P})},removeItem:function(m,y){I.dispatch({type:j.removeItemStart,key:m,options:y})}},setAnonymousId:function(m,y){b.storage.setItem(ce,m,y)},events:{core:et,plugins:s}},T=r.middlewares.concat([function(m){return function(y){return function(P){return P.meta||(P.meta=Sn()),y(P)}}},w(Ye),Vi(b,u,{all:p,plugins:s}),Yi(i),Wi(b),Fi(b),w(Ge)]),O={context:ao,user:Hi(i),page:oo,track:Qi,plugins:Bi(u),queue:to},x=xe,R=xe;if(J&&t.debug){var L=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;L&&(x=L({trace:!0,traceLimit:25})),R=function(){return arguments.length===0?yr():V(typeof arguments[0])?In():In().apply(null,arguments)}}var H,A=function(m){return Object.keys(m).reduce(function(y,P){return so.includes(P)||(y[P]=m[P]),y},{})}(t),D=r.pluginsArray.reduce(function(m,y){var P=y.name,$=y.config,z=y.loaded,U=r.pluginEnabled[P];return m[P]={enabled:U,initialized:!!U&&!y.initialize,loaded:!!z({config:$}),config:$},m},{}),S={context:A,user:_,plugins:D},I=sr(function(m){for(var y=Object.keys(m),P={},$=0;$<y.length;$++){var z=y[$];typeof m[z]===ae&&(P[z]=m[z])}var U,F=Object.keys(P);try{(function(Z){Object.keys(Z).forEach(function(W){var M=Z[W];if(typeof M(void 0,{type:"@@redux/INIT"})===ie||typeof M(void 0,{type:Mi})===ie)throw new Error("reducer "+W+" "+ie)})})(P)}catch(Z){U=Z}return function(Z,W){if(Z===void 0&&(Z={}),U)throw U;for(var M=!1,ee={},Ne=0;Ne<F.length;Ne++){var He=F[Ne],Wt=Z[He],lt=(0,P[He])(Wt,W);if(typeof lt===ie){var xr=Zi(He,W);throw new Error(xr)}ee[He]=lt,M=M||lt!==Wt}return M?ee:Z}}(C({},O,e)),S,R(x(Ki.apply(void 0,T))));I.dispatch=(H=I.dispatch,function(m,y,P){var $=C({},m,{meta:Sn(m.meta,y,vt(P))});return H.apply(null,[$])});var N=Object.keys(a);I.dispatch({type:j.bootstrap,plugins:N,config:A,params:v,user:_,initialUser:n,persistedUser:E});var K=N.filter(function(m){return r.pluginEnabled[m]}),X=N.filter(function(m){return!r.pluginEnabled[m]});return I.dispatch({type:j.registerPlugins,plugins:N,enabled:r.pluginEnabled}),r.pluginsArray.map(function(m,y){var P=m.bootstrap,$=m.config,z=m.name;P&&Y(P)&&P({instance:b,config:$,payload:m}),I.dispatch({type:j.registerPluginType(z),name:z,enabled:r.pluginEnabled[z],plugin:m}),r.pluginsArray.length===y+1&&I.dispatch({type:j.initializeStart,plugins:K,disabled:X})}),uo(function(m){I.dispatch({type:m?j.offline:j.online})}),function(m,y,P){setInterval(function(){return ur(m,y,P)},3e3)}(I,u,b),b}var Ye="before",Ge="after",Le="cookie",fe=br(),vr=ct,ho=ct;function wr(t){return fe?ct(t,"",-1):Ae(t)}function br(){if(fe!==void 0)return fe;var t="cookiecookie";try{ct(t,t),fe=document.cookie.indexOf(t)!==-1,wr(t)}catch{fe=!1}return fe}function ct(t,e,n,r,i,o){if(typeof window<"u"){var a=arguments.length>1;return fe===!1&&(a?be(t,e):we(t)),a?document.cookie=t+"="+encodeURIComponent(e)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(i?"; domain="+i:"")+(o?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Me="localStorage",fo=Dt.bind(null,"localStorage");$e("localStorage","getItem",we);$e("localStorage","setItem",be);$e("localStorage","removeItem",Ae);var Ze="sessionStorage",po=Dt.bind(null,"sessionStorage");$e("sessionStorage","getItem",we);$e("sessionStorage","setItem",be);$e("sessionStorage","removeItem",Ae);function Pe(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(V(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var mo=fo(),go=po(),yo=br();function kr(t,e){if(t){var n=Ut(e),r=!Zt(n),i=Rt(n)?Pe(localStorage.getItem(t)):void 0;if(r&&!Se(i))return i;var o=Lt(n)?Pe(vr(t)):void 0;if(r&&o)return o;var a=Mt(n)?Pe(sessionStorage.getItem(t)):void 0;if(r&&a)return a;var s=we(t);return r?s:{localStorage:i,sessionStorage:a,cookie:o,global:s}}}function vo(t,e,n){if(t&&!Se(e)){var r={},i=Ut(n),o=JSON.stringify(e),a=!Zt(i);return Rt(i)&&(r[Me]=Be(Me,e,Pe(localStorage.getItem(t))),localStorage.setItem(t,o),a)?r[Me]:Lt(i)&&(r[Le]=Be(Le,e,Pe(vr(t))),ho(t,o),a)?r[Le]:Mt(i)&&(r[Ze]=Be(Ze,e,Pe(sessionStorage.getItem(t))),sessionStorage.setItem(t,o),a)?r[Ze]:(r[Re]=Be(Re,e,we(t)),be(t,e),a?r[Re]:r)}}function wo(t,e){if(t){var n=Ut(e),r=kr(t,nr),i={};return!Se(r.localStorage)&&Rt(n)&&(localStorage.removeItem(t),i[Me]=r.localStorage),!Se(r.cookie)&&Lt(n)&&(wr(t),i[Le]=r.cookie),!Se(r.sessionStorage)&&Mt(n)&&(sessionStorage.removeItem(t),i[Ze]=r.sessionStorage),!Se(r.global)&&ut(n,Re)&&(Ae(t),i[Re]=r.global),i}}function Ut(t){return t?se(t)?t:t.storage:tr}function Rt(t){return mo&&ut(t,Me)}function Lt(t){return yo&&ut(t,Le)}function Mt(t){return go&&ut(t,Ze)}function Zt(t){return t===nr||t==="all"}function ut(t,e){return t===tr||t===e||Zt(t)}function Be(t,e,n){return{location:t,current:e,previous:n}}var bo={setItem:vo,getItem:kr,removeItem:wo};function ko(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _n(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function En(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?_n(Object(n),!0).forEach(function(r){ko(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function Io(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:bo};return lo(En(En({},e),t))}function So(t,e){e=e||{};var n,r,i=[],o=e.max||1/0;function a(){clearInterval(n),t(i.splice(0,o)),s()}function s(){n=setInterval(a,e.interval||1e4)}return s(),{flush:a,push:function(h){return r=i.push(h),r>=o&&a(),r},size:function(){return i.length},end:function(h){h&&a(),clearInterval(n)}}}function _o(t){if(typeof window>"u")return;const{addEventListener:e,history:n,location:r}=window;let i=r.pathname;e("popstate",()=>t(r.pathname)),["push","replace"].map(o=>{const a=`${o}State`;if(a!=="pushState"&&a!=="replaceState")return;const s=n[a];n[a]=function(...h){var c;const p=((c=h[2])==null?void 0:c.toString())||"",u=To(p);return i!==u&&(i=u,setTimeout(()=>t(p),0)),s.apply(n,h)}})}function Eo(t,e){const n=t.indexOf(e);return n>-1?t.slice(0,n):t}function To(t){return["#","?"].forEach(e=>t=Eo(t,e)),t}function Po(){_o(()=>{ne.page()})}function Oo(t){if(t===void 0&&(t={}),!J)return Tt;var e=Pn(),n=jt(),r=Tn(),i=qe(r,e),o=qe(n,e),a=[],s=[],h=[],p=r,u=i,c=o,f=Object.keys(t);if(!f.length)return Tt;var d=f.map(function(k){return Number(k)}),w=Li(function(){var k=Pn(),v=function(A,D){return D.map(function(S){return S===100?A-5:A*(S/100)})}(k,d),E=jt(),_=Tn(),g=qe(_,k),l=qe(E,k);if(u=g>u?g:u,c=l<c?l:c,!(a.length>=d.length)){var b=p===_,T="up";b?T="initial":p<=_&&(T="down");var O=v,x=d;(T==="up"||b)&&(O=v.slice().reverse(),x=d.slice().reverse());var R=x.reduce(function(A,D,S){var I=O[S];return h.includes(D)&&_<=I&&(h=h.filter(function(N){return N!==D}),A.singleFunction=D),T==="down"&&!a.includes(D)&&_>=I&&D>o?(s.push(D),A.callbacks=A.callbacks.concat(D),A):T==="up"&&!a.includes(D)&&_<=I&&D<=g?(A.foundFunc=[D],A):(b&&_>=I&&A.foundFunc.length===0&&(A.foundFunc=[D]),!s.includes(D)&&_>=I&&(s.push(D),A.singleFunction?h.push(D):A.singleFunction=D),A)},{foundFunc:[],singleFunction:null,callbacks:[],direction:T});if(p=_,T==="down"&&R.callbacks&&R.callbacks.forEach(function(A){Y(t[A])&&(t[A]({trigger:A,direction:T,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(A))}),R.singleFunction){var L=R.singleFunction,H=R.direction;Y(t[L])&&t[L]({trigger:L,direction:H,scrollMin:c,scrollMax:u,range:[c,u]}),a.push(L)}}},500);return window.addEventListener("scroll",w),function(){return window.removeEventListener("scroll",w)}}function jt(){return J?document.body.scrollTop||document.documentElement.scrollTop:0}function jo(){return J?window.innerHeight||document.documentElement.clientHeight:0}function Tn(){return Math.round(jt()+jo())}function Pn(){if(!J)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function qe(t,e){return Math.round(t/e*100)}var On="EventListener";function Co(t){return function(e,n,r,i){var o=r||Tt,a=i||!1;if(!J)return o;var s=rt(n),h=rt(e,!0);if(!h.length)throw new Error("noElements");if(!s.length)throw new Error("noEvent");var p=[];return function u(c){c&&(p=[]);for(var f=c?"add"+On:"remove"+On,d=0;d<h.length;d++){var w=h[d];p[d]=c?a&&a.once?xo(o):o:p[d]||o;for(var k=0;k<s.length;k++)w[f]?w["on"+s[k]]=c?p[d]:null:w[f](s[k],p[d],a)}return u.bind(null,!c)}(t)}}function rt(t,e){if(se(t))return e?rt(document.querySelectorAll(t)):(n=t).split(n.indexOf(",")>-1?",":" ").map(function(a){return a.trim()});var n;if(NodeList.prototype.isPrototypeOf(t)){for(var r=[],i=t.length>>>0;i--;)r[i]=t[i];return r}var o=Ni(t);return e?o.map(function(a){return se(a)?rt(a,!0):a}).flat():o}function xo(t,e){var n;return function(){return t&&(n=t.apply(e||this,arguments),t=null),n}}var wt=Co("Event");function Ir(t,e){return J&&Y(window[t])?(n=window[t],r=e,(i=window)===void 0&&(i=null),Y(n)?function(){n.apply(i,arguments),r.apply(i,arguments)}:r):window[t]=e;var n,r,i}Ir.bind(null,"onerror");Ir.bind(null,"onload");var Sr=typeof window>"u",jn="hidden";function Ao(t){if(Sr)return!1;var e=$o(),n="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),r=function(){return t(!!document[e])},i=function(){return document.addEventListener(n,r)};return i(),function(){return document.removeEventListener(n,r),i}}function $o(){var t=["webkit","moz","ms","o"];return Sr||jn in document?jn:t.reduce(function(e,n){var r=n+"Hidden";return!e&&r in document?r:e},null)}var No=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function zo(t,e){e===void 0&&(e={});var n=function(a,s){var h=this,p=!1;return function(u){p||(a.call(h,u),p=!0,setTimeout(function(){return p=!1},s))}}(t,e.throttle||1e4),r=[];function i(){var a=Ao(function(s){s||n({type:"tabVisible"})});return r=[a].concat(No.map(function(s){return wt(document,s,n)})).concat(wt(window,"load",n)).concat(wt(window,"scroll",n,{capture:!0,passive:!0})),o}function o(){r.map(function(a){return a()})}return i(),function(){return o(),i}}function Do(t){var e,n,r=t.onIdle,i=t.onWakeUp,o=t.onHeartbeat,a=t.timeout,s=a===void 0?1e4:a,h=t.throttle,p=h===void 0?2e3:h,u=!1,c=!1,f=new Date,d=function(){return clearTimeout(e)};function w(v){d(),o&&!u&&o(De(f),v),i&&u&&(u=!1,i(De(n),v),f=new Date),e=setTimeout(function(){u=!0,r&&(n=new Date,r(De(f),v))},s)}var k=zo(w,{throttle:p});return{disable:function(){c=!0,u=!1,d();var v=k();return function(){return c=!1,f=new Date,w({type:"load"}),v()}},getStatus:function(){return{isIdle:u,isDisabled:c,active:u?0:De(f,c),idle:u?De(n,c):0}}}}function De(t,e){return e?0:Math.round((new Date-t)/1e3)}const Cn=5e3;class Uo{constructor(e){B(this,"element");B(this,"isInViewport",!1);B(this,"isAwake",!1);B(this,"isFlushing");B(this,"observer");B(this,"lastEventAt",Date.now());B(this,"registeredView",!1);B(this,"viewCallback");B(this,"activeDurationCallback");B(this,"idleDurationCallback");B(this,"scrollCallback");this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(n=>{n.forEach(r=>{this.handleInViewPort(r.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Do({onIdle:n=>this.handleAwake(!1,n),onWakeUp:n=>this.handleAwake(!0,n),timeout:Cn}),Oo({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(e){e?(this.isAwake=!0,this.trackInViewport()):this.handleAwake(!1),this.isInViewport=e}handleAwake(e,n=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-n*Cn:Date.now(),this.isInViewport&&this.trackAwake(e,n)}handleScroll(e){this.scrollCallback&&this.scrollCallback(e)}handleVisibilityChange(){this.isAwake=!1;const e=Math.round((Date.now()-this.lastEventAt)/1e3);e>1&&(this.lastEventAt=Date.now(),this.trackAwake(!1,e))}trackAwake(e,n){!e&&this.activeDurationCallback&&this.activeDurationCallback(n,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(n,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}const xn="sesamy_session_id";function Ro(){let t=sessionStorage.getItem(xn);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(xn,t)),t}let _r=!1,Ct,An,it;function Lo({clientId:t,enabled:e=!0,endpoint:n=oi}){if(Ct=t,An=e,it=n,!An)return;Po();const r=new Uo({element:document.body,viewCallback:()=>{ne.page()},activeDurationCallback:(i,o,a)=>{ne.track("activeDuration",{duration:i,durationStart:a,flushing:o})},idleDurationCallback:(i,o,a)=>{ne.track("idleDuration",{duration:i,durationStart:a,flushing:o})},scrollCallback:i=>{ne.track("scroll",{scroll:i.scrollMax})}});Ko(document.body,()=>{r.flush()}),Wo(document.body,()=>{r.handleVisibilityChange()}),window.addEventListener(Q.AUTHENTICATED,async i=>{const o=i;await ne.identify(o.detail.sub)}),window.addEventListener(Q.LOGOUT,async()=>{await ne.track("logout",{}),Kt.flush(),await ne.reset()})}function Er(t){return JSON.stringify(t.map(e=>({...e,clientId:Ct,requestId:Math.random().toString(36).slice(2,9),sessionId:Ro(),timestamp:new Date().toISOString(),version:zt,event:e.event,context:{page:{url:window.location.hostname,path:window.location.pathname,title:document.title,search:window.location.search,referrer:document.referrer},locale:navigator.language,library:er,userAgent:navigator.userAgent,clientId:Ct}})))}const Kt=So(async t=>{if(t.length>0){const e=Er(t);_r?navigator.sendBeacon(it,e):(await fetch(it,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function bt(t){var e;if(t.anonymousId)if((e=t.properties)!=null&&e.flushing){const n={...t};delete n.properties.flushing,navigator.sendBeacon(it,Er([n]))}else Kt.push(t)}const ne=Io({app:er,version:zt,plugins:[{name:"custom-analytics-plugin",page:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;bt({anonymousId:n,userId:r,properties:e,event:i,type:"page"})},track:({payload:t})=>{const{properties:e,anonymousId:n,userId:r,event:i}=t;bt({anonymousId:n,userId:r,properties:e,event:i,type:"track"})},identify:({payload:t})=>{const{properties:e,anonymousId:n,userId:r}=t;bt({anonymousId:n,userId:r,properties:e,type:"identify"})}}]});function Mo(t,e){ne.track(t,e)}function Zo(){return _r=!0,Kt.flush()}const Tr=new Map;function Ko(t,e){Tr.set(t,e)}window.addEventListener("beforeunload",()=>{Tr.forEach((t,e)=>{t.bind(e)()}),Zo()});const Pr=new Map;function Wo(t,e){Pr.set(t,e)}window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Pr.forEach((t,e)=>{t.bind(e)()})});const Or="sesamySignedURLs";function jr(){const t=sessionStorage.getItem(Or);return t?JSON.parse(t):[]}function Ho(t){const e=jr();e.push(t),sessionStorage.setItem(Or,JSON.stringify(e))}function Fo(t){const{getEntitlement:e,getEntitlements:n,getEntitlementAccess:r,getSubscriptions:i,getContract:o,getContracts:a,getBill:s,getBills:h,getProfile:p,getTags:u,deleteTag:c,setTag:f,getUserMetadata:d,listUserMetadata:w,setUserMetadata:k,deleteUserMetadata:v,getTally:E,getTallies:_,pushTally:g,deleteTally:l,getProduct:b,autoOnboardProduct:T}=_i(t),O={auth:{getUser:p,isAuthenticated:si,loginWithRedirect:ci,logout:li,setToken:Gn},analytics:{track:Mo},tags:{list:u,set:f,delete:c},entitlements:{get:e,list:n,access:r,signedLinks:jr},contracts:{get:o,list:a},bills:{get:s,list:h},userMetadata:{get:d,list:w,set:k,delete:v},tallies:{get:E,list:_,push:g,delete:l},subscriptions:{list:i},products:{get:b,autoOnboard:T},getVersion:Jo,clearCache:re};return t.namespace&&(window[t.namespace]=O),O}function Jo(){return zt}function Xo(){const t=new URLSearchParams(window.location.hash.substring(1)),e=t.get("access_token"),n=t.get("expires_in");if(e){Gn(e,n?parseInt(n,10):void 0);const r=new URL(window.location.href);t.delete("access_token"),t.delete("expires_in"),r.hash=t.toString(),window.history.replaceState(null,"",r)}}const $n="sesamy-refresh",Nn="force-refetch-entitlements";function Vo(){const t=new URLSearchParams(window.location.search),e=t.get(Nn),n=t.get($n);if(e!==null||n!==null){const r=new URL(window.location.href);t.delete(Nn),t.delete($n),r.search=t.toString(),re(),window.history.replaceState(null,"",r)}}function Yo(){const t=new URLSearchParams(window.location.search),e=t.get("token"),n=t.get("se");if(!n||!e)return;const r=parseInt(n,10);if(Number.isNaN(r)||r<Date.now())return;Ho({url:window.location.href.split("?")[0],token:e,expiresAt:r,publisherContentId:t.get("sp")??void 0});const i=new URL(window.location.href);i.searchParams.delete("ss"),i.searchParams.delete("se"),i.searchParams.delete("sp"),i.searchParams.delete("so"),i.searchParams.delete("token"),window.history.replaceState(null,"",i)}const zn="sesamy-purchase";function Go(){const t=new URLSearchParams(window.location.search),e=t.get(zn);if(e!==null){const n=new URL(window.location.href);t.delete(zn),n.search=t.toString(),ue(Q.PURCHASE,{itemSrc:e}),re(),window.history.replaceState(null,"",n)}}async function Cr(t){Lo({clientId:t.clientId,...t.analytics}),await ai({clientId:t.clientId,...t.auth});const e=Fo(t.api||{});return ue(Q.READY,{}),Xo(),Vo(),Yo(),Go(),e}if(typeof document<"u"){const t=document.getElementById("sesamy-js");if(t!=null&&t.textContent)try{const e=JSON.parse(t.textContent);Cr(e)}catch(e){console.error("Failed to parse config",e)}}exports.init=Cr;
|