@sesamy/sesamy-js 1.55.0 → 1.56.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 CHANGED
@@ -1102,6 +1102,10 @@ Creates a checkout session with Sesamy. This function initializes a checkout pro
1102
1102
  - sourceId (string, optional): Source identifier.
1103
1103
  - \_ga, \_gid, \_fbp, \_fbc (strings, optional): Analytics tracking cookies.
1104
1104
  - referralEmail (string, optional): Email of the referrer.
1105
+ - payerEmail (string, optional): Email of the payer (person paying for the purchase).
1106
+ - requireAddress (boolean, optional): If true, requires the customer to provide an address during checkout.
1107
+ - giftMode (boolean, optional): If true, enables gift mode for the checkout.
1108
+ - metaData (Record<string, string>, optional): Custom metadata to store with the checkout (e.g., { "campaign": "summer2024", "source": "mobile" }).
1105
1109
 
1106
1110
  ### Returns
1107
1111
 
@@ -1162,52 +1166,38 @@ const checkout = await sesamy.checkouts.create({
1162
1166
  ],
1163
1167
  email: 'customer@example.com',
1164
1168
  redirectUrl: 'https://yoursite.com/checkout-complete',
1169
+ requireAddress: true,
1170
+ metaData: {
1171
+ campaignId: 'summer_2024',
1172
+ source: 'mobile_app',
1173
+ },
1165
1174
  });
1166
1175
 
1167
1176
  // Redirect to checkout
1168
1177
  window.location.href = checkout.checkoutUrl;
1169
1178
  ```
1170
1179
 
1171
- Advanced example with multiple items and tracking:
1180
+ Advanced example with gift mode and payer email:
1172
1181
 
1173
1182
  ```javascript
1174
1183
  const checkout = await sesamy.checkouts.create({
1175
1184
  items: [
1176
1185
  {
1177
- sku: 'premium_annual',
1178
- purchaseOptionId: 'po_456',
1179
- price: 99.99,
1180
- currency: 'USD',
1181
- },
1182
- {
1183
- sku: 'addon_feature',
1184
- price: 9.99,
1186
+ sku: 'premium_gift',
1187
+ purchaseOptionId: 'po_gift',
1188
+ price: 49.99,
1185
1189
  currency: 'USD',
1186
1190
  },
1187
1191
  ],
1188
- email: 'customer@example.com',
1189
- givenName: 'John',
1190
- familyName: 'Doe',
1191
- phoneNumber: '+1234567890',
1192
- address: {
1193
- street: '123 Main St',
1194
- city: 'San Francisco',
1195
- zip: '94102',
1196
- country: 'US',
1197
- },
1192
+ email: 'recipient@example.com',
1193
+ payerEmail: 'sender@example.com',
1198
1194
  redirectUrl: 'https://yoursite.com/checkout-complete',
1195
+ giftMode: true,
1199
1196
  language: 'en',
1200
- attribution: {
1201
- utmSource: 'email',
1202
- utmMedium: 'newsletter',
1203
- utmCampaign: 'summer_sale_2024',
1197
+ metaData: {
1198
+ giftMessage: 'Happy Birthday!',
1199
+ giftFrom: 'John',
1204
1200
  },
1205
- requestedDiscountCodes: ['WELCOME10', 'EARLYBIRD'],
1206
- paymentMethodsFilter: [{ provider: 'stripe', methods: ['card'] }, { provider: 'klarna' }],
1207
- });
1208
-
1209
- window.location.href = checkout.checkoutUrl;
1210
- ```
1211
1201
 
1212
1202
  ### Additional Notes
1213
1203
 
@@ -1247,6 +1237,10 @@ Updates an existing checkout session with Sesamy. You can update customer inform
1247
1237
  - paymentMethodsFilter (Array of objects, optional): Updated payment method filters.
1248
1238
  - requestedDiscountCodes (Array of strings, optional): Updated discount codes to apply.
1249
1239
  - attribution (object, optional): Updated attribution and tracking data.
1240
+ - payerEmail (string, optional): Updated payer email.
1241
+ - requireAddress (boolean, optional): Updated address requirement.
1242
+ - giftMode (boolean, optional): Updated gift mode status.
1243
+ - metaData (Record<string, string>, optional): Updated metadata.
1250
1244
 
1251
1245
  ### Returns
1252
1246
 
@@ -2844,3 +2838,55 @@ The Events API can be used for various scenarios where you need to communicate b
2844
2838
  4. **Analytics**: Emit events for key user interactions that other scripts might want to track.
2845
2839
 
2846
2840
  Events emitted through this API are also automatically tracked in analytics with the prefix `event:`.
2841
+
2842
+ ## Using the SDK for Link Generation
2843
+
2844
+ While `sesamy-js` provides `generateLink` which automatically signs links if the user is authenticated, you can also use the `@sesamy/sdk` package directly to generate unsigned links without requiring authentication. This is useful for generating shareable links or links for unauthenticated users.
2845
+
2846
+ ### SDK Link Generation Example
2847
+
2848
+ ```javascript
2849
+ import { client } from '@sesamy/sdk';
2850
+
2851
+ // Generate a checkout link (no authentication required)
2852
+ const checkoutUrl = client.checkout.generateLink(
2853
+ { apiUrl: 'https://api-proxy.example.com' },
2854
+ {
2855
+ items: [{ sku: 'premium-monthly' }],
2856
+ email: 'user@example.com',
2857
+ language: 'en',
2858
+ redirectUrl: 'https://example.com/success',
2859
+ requireAddress: true,
2860
+ giftMode: false,
2861
+ metaData: {
2862
+ campaignId: 'summer_2024',
2863
+ source: 'newsletter',
2864
+ },
2865
+ }
2866
+ );
2867
+
2868
+ // Generate account management links
2869
+ const accountUrl = client.links.generateAccountLink(
2870
+ { baseUrl: 'https://app.example.com', clientId: 'your-client-id' },
2871
+ { language: 'en', redirectUrl: 'https://example.com' }
2872
+ );
2873
+
2874
+ // Generate change payment link
2875
+ const changePaymentUrl = client.links.generateChangePaymentLink(
2876
+ { baseUrl: 'https://app.example.com', clientId: 'your-client-id' },
2877
+ { contractId: 'contract-123', language: 'en' }
2878
+ );
2879
+
2880
+ // Generate consume content link
2881
+ const consumeUrl = client.links.generateConsumeLink(
2882
+ { baseUrl: 'https://app.example.com', clientId: 'your-client-id' },
2883
+ { sku: 'product-123', language: 'en' }
2884
+ );
2885
+ ```
2886
+
2887
+ ### Differences Between sesamy-js generateLink and SDK Links
2888
+
2889
+ - **sesamy-js `generateLink`**: Includes authentication token in hash if user is authenticated, automatically includes tracking cookies and attribution data, supports link shortening via TTL
2890
+ - **SDK `links.*`**: Pure URL generation without authentication, useful for generating shareable links, links for unauthenticated users, or backend link generation
2891
+
2892
+ ````
@@ -32,7 +32,7 @@
32
32
  * Please keep this comment intact in order to properly abide by the MIT License.
33
33
  *
34
34
  **/var Yo={d:(t,e)=>{for(var r in e)Yo.o(e,r)&&!Yo.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},Os={};Yo.d(Os,{A:()=>ag,k:()=>Cs});var Or=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},Cr=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function Cs(){return Or(this,void 0,Promise,function(){return Cr(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return Or(this,void 0,void 0,function(){var h,d;return Cr(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return Or(this,void 0,Promise,function(){return Cr(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(m){var P=m.target.result,y=function(b){i(b)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),y(!1)}catch(b){(b instanceof Error&&typeof b.message=="string"?b.message:String(b)).includes("are not yet supported")?y(!0):y(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var m,P,y,b=window;return(y=(P=(m=b?.performance)===null||m===void 0?void 0:m.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&y!==void 0?y:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return Or(this,void 0,Promise,function(){var d,v,p;return Cr(this,function(m){switch(m.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return m.sent(),i(!1),[3,4];case 3:return d=m.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},m.label=6;case 6:return[2]}})})}(function(){return Or(this,void 0,Promise,function(){return Cr(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=Cs);const ag=Cs;Os.A;const ig=Os.k,nn="sesamy_incognito_mode";function As(){try{const t=sessionStorage.getItem(nn);return t===null?void 0:t==="true"}catch{return}}async function og(){try{const t=sessionStorage.getItem(nn);if(t!==null)return t==="true";const{isPrivate:e}=await ig();return sessionStorage.setItem(nn,e.toString()),e}catch{try{sessionStorage.setItem(nn,"false")}catch{}return!1}}function xr(){return typeof window<"u"}function rd(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var sg="function",cg="string",ot="undefined",ug="boolean",fn="object",lg="array",fg="number",dg="symbol",hg="null",Xo=function(){},rv="any",nv="*",Vt="__",vg="form",pg="input",mg="button",gg="select",dn=typeof process!==ot?process:{};dn.env&&dn.env.NODE_ENV;var xe=typeof document!==ot;dn.versions!=null&&dn.versions.node!=null;typeof Deno!==ot&&Deno.core;xe&&window.name==="nodejs"||typeof navigator!==ot&&typeof navigator.userAgent!==ot&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function av(t,e){return e.charAt(0)[t]()+e.slice(1)}var yg=av.bind(null,"toUpperCase"),wg=av.bind(null,"toLowerCase");function bg(t){return iv(t)?yg(hg):typeof t===fn?Eg(t):Object.prototype.toString.call(t).slice(8,-1)}function hn(t,e){e===void 0&&(e=!0);var r=bg(t);return e?wg(r):r}function Wr(t,e){return typeof e===t}var Je=Wr.bind(null,sg),At=Wr.bind(null,cg),sr=Wr.bind(null,ot),Sg=Wr.bind(null,ug);Wr.bind(null,dg);function iv(t){return t===null}function Ig(t){return hn(t)===fg&&!isNaN(t)}function ov(t){return hn(t)===lg}function Ve(t){if(!Pg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Pg(t){return t&&(typeof t===fn||t!==null)}function Eg(t){return Je(t.constructor)?t.constructor.name:null}function Rg(t){return t instanceof Error||At(t.message)&&t.constructor&&Ig(t.constructor.stackTraceLimit)}function sv(t,e){if(typeof e!="object"||iv(e))return!1;if(e instanceof t)return!0;var r=hn(new t(""));if(Rg(e))for(;e;){if(hn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}sv.bind(null,TypeError);sv.bind(null,SyntaxError);function jn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?_g(t,e):r}function _g(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function Ln(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}Ln(jn,vg);Ln(jn,mg);Ln(jn,pg);Ln(jn,gg);function Tg(t){return t?ov(t)?t:[t]:[]}function nd(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function kg(){if(xe){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Og(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Cg(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=nd(r[1]),o=nd(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(Ag(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return xe&&window.location.search.substring(1)})())}function Ag(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function Nn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function Ug(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var zt="global",hr=Vt+zt+Vt,vr=typeof self===fn&&self.self===self&&self||typeof global===fn&&global[zt]===global&&global||void 0;function Jt(t){return vr[hr][t]}function Zt(t,e){return vr[hr][t]=e}function Pr(t){delete vr[hr][t]}function Er(t,e,r){var n;try{if(Us(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}vr[hr]||(vr[hr]={});var Jr={};function Us(t){if(typeof Jr[t]!==ot)return Jr[t];try{var e=window[t];e.setItem(ot,ot),e.removeItem(ot)}catch{return Jr[t]=!1}return Jr[t]=!0}function ae(){return ae=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},ae.apply(null,arguments)}var Ot="function",It="undefined",Nr="reducer",cv="@@redux/",Qo=cv+"INIT",jg=cv+Math.random().toString(36),ad=(function(){return typeof Symbol===Ot&&Symbol.observable||"@@observable"})(),Zr=" != "+Ot;function uv(t,e,r){var n;if(typeof e===Ot&&typeof r===It&&(r=e,e=void 0),typeof r!==It){if(typeof r!==Ot)throw new Error("enhancer"+Zr);return r(uv)(t,e)}if(typeof t!==Ot)throw new Error(Nr+Zr);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==Ot)throw new Error("Listener"+Zr);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Ve(d))throw new Error("Act != obj");if(typeof d.type===It)throw new Error("ActType "+It);if(u)throw new Error("Dispatch in "+Nr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:Qo}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==Ot)throw new Error("next "+Nr+Zr);a=d,h({type:Qo})}})[ad]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function m(){p.next&&p.next(c())}return m(),{unsubscribe:v(m)}}})[ad]=function(){return this},d},n}function Lg(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Nr+" "+t+" returns "+It}function pr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function Ng(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),ae({},o,{dispatch:s=pr.apply(void 0,i)(o.dispatch)})}}}var Ut=Vt+"anon_id",Ht=Vt+"user_id",ur=Vt+"user_traits",es="analytics",kt="userId",cr="anonymousId",an=["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"],ts=["name","EVENTS","config","loaded"],ne=an.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),id=/^utm_/,od=/^an_prop_/,sd=/^an_trait_/;function qg(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===ne.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Ut,o.anonymousId),l||e(Ht,o.userId),u.traits&&e(ur,ae({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(id)||p.match(/^(d|g)clid/)){var m=p.replace(id,"");v.campaign[m==="campaign"?"name":m]=i[p]}return p.match(od)&&(v.props[p.replace(od,"")]=i[p]),p.match(sd)&&(v.traits[p.replace(sd,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(ae({type:ne.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:ne.campaign,campaign:d.campaign})}}return n(a)}}}}function xg(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===ne.setItemEnd){if(r.key===Ut)return ae({},e,{anonymousId:r.value});if(r.key===Ht)return ae({},e,{userId:r.value})}switch(r.type){case ne.identify:return Object.assign({},e,{userId:r.userId,traits:ae({},e.traits,r.traits)});case ne.reset:return[Ht,Ut,ur].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function cd(t){return{userId:t.getItem(Ht),anonymousId:t.getItem(Ut),traits:t.getItem(ur)}}var rs=function(t){return Vt+"TEMP"+Vt+t};function $g(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===ne.reset&&([Ht,ur,Ut].forEach(function(d){n(d)}),[kt,cr,"traits"].forEach(function(d){Pr(rs(d))})),s.type===ne.identify){a(Ut)||r(Ut,Nn());var f=a(Ht),h=a(ur)||{};f&&f!==u&&i.dispatch({type:ne.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Ht,u),l&&r(ur,ae({},h,l))}return o(s)}}}}var Ur={};function ud(t,e){Ur[t]&&Je(Ur[t])&&(Ur[t](e),delete Ur[t])}function lv(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(ae({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return lv(t,e,r-10).then(n,a)})})}function Dg(t){return{abort:t}}function fv(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&Je(p)){var m,P=(function(g,w){return g===void 0&&(g={}),w===void 0&&(w={}),[kt,cr].reduce(function(A,x){return g.hasOwnProperty(x)&&w[x]&&w[x]!==g[x]&&(A[x]=w[x]),A},g)})(h.payload,u),y=n[P.meta.rid];if(!y&&(m=p({payload:P,config:o[d].config,instance:r,abort:Dg}))&&Ve(m)&&m.abort)return void(n[P.meta.rid]=!0);if(!y){var b=v+":"+d;t.dispatch(ae({},P,{type:b,_:{called:b,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var xo=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(lr),d=e.exact.map(function(m){return m.pluginName});h&&(d=o.during.map(function(m){return m.pluginName}));var v=(function(m,P){return function(y,b,g){var w=b.config,A=b.name,x=A+"."+y.type;g&&(x=g.event);var N=y.type.match(lr)?(function(z,B,ie,j,D){return function(L,k){var Y=j?j.name:z,te=k&&$r(k)?k:ie;if(j&&(!(te=k&&$r(k)?k:[z]).includes(z)||te.length!==1))throw new Error("Method "+B+" can only abort "+z+" plugin. "+JSON.stringify(te)+" input valid");return ae({},D,{abort:{reason:L,plugins:te,caller:B,_:Y}})}})(A,x,P,g,y):(function(z,B){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+B)}})(y,x);return{payload:Mg(y),instance:m,config:w||{},abort:N}}})(n,d),p=e.exact.reduce(function(m,P){var y=P.pluginName,b=P.methodName,g=!1;return b.match(/^initialize/)||b.match(/^reset/)||(g=!l[y].loaded),c.offline&&b.match(/^(page|track|identify)/)&&(g=!0),m[""+y]=g,m},{});return Promise.resolve(e.exact.reduce(function(m,P,y){var b=P.pluginName;return Promise.resolve(m).then(function(g){function w(){return Promise.resolve(g)}var A=(function(){if(e.namespaced&&e.namespaced[b])return Promise.resolve(e.namespaced[b].reduce(function(x,N,z){return Promise.resolve(x).then(function(B){return N.method&&Je(N.method)?((function(L,k){var Y=md(L);if(Y&&Y.name===k){var te=md(Y.method);throw new Error([k+" plugin is calling method "+L,"Plugins cant call self","Use "+Y.method+" "+(te?"or "+te.method:"")+" in "+k+" plugin insteadof "+L].join(`
35
- `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return ae({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:dd(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(ae({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),Do(N,w))return $o({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(Do(x,w))return g&&$o({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:dd(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=ae({},x,ie),D=m[w];if(Do(D,w))$o({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(ld)&&!f.match(fd)&&n.dispatch(ae({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(lr)||f.match(/^registerPlugin/)||f.match(fd)||f.match(ld)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=ae({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});dv(P,e.exact.length)&&!f.match(/End$/)&&(y=ae({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},lr=/Start$/,ld=/^bootstrap/,fd=/^ready/;function $o(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ae({},t.data,{type:r,_:{called:r,from:"abort"}}))}function dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function hd(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function vd(t,e){var r=t.replace(lr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Do(t,e){var r=t.abort;return!!r&&(r===!0||pd(r,e)||r&&pd(r.plugins,e))}function dv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||At(r))return!0;var n=r.plugins;return $r(r)&&r.length===e||$r(n)&&n.length===e}function $r(t){return Array.isArray(t)}function pd(t,e){return!(!t||!$r(t))&&t.includes(e)}function md(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Mg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Fg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ne.enablePlugin&&a.dispatch({type:ne.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ne.disablePlugin&&setTimeout(function(){return ud(o.meta.rid,{payload:o})},0),l===ne.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return lv(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:ne.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!ts.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(ae({},{type:ne.ready},w))},0)})}var b=(function(){if(l!==ne.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return fv(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=Je(w)?w():w,B=g.type,ie=B.replace(lr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(te=j.plugins)===void 0&&(te={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Sg(_[S])?_[S]:_.all!==!1&&(!te[S]||te[S].enabled!==!1)}).map(function(S){return Y[S]}));B===ne.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=vd(S).map(function(F){return hd(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=vd(S,V).map(function(Re){return hd(Re,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(xo({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(lr))return Promise.resolve(xo({action:ae({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&ud(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(dv(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(xo({action:ae({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,te,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Kg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===ne.setItem||a===ne.removeItem){if(n.abort)return r(n);a===ne.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var zg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return pr.apply(void 0,o)(n)(a)}}}}};function Hg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=gd(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ae({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=gd(r.type,ne.initialize),l=t()[u];return l&&u?(n[u]=ae({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ae({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ae({},e[r.name],{loaded:!0}),ae({},e,n);switch(r.type){case ne.disablePlugin:return ae({},e,yd(r.plugins,!1,e));case ne.enablePlugin:return ae({},e,yd(r.plugins,!0,e));default:return e}}}function gd(t,e){return t.substring(e.length+1,t.length)}function yd(t,e,r){return t.reduce(function(n,a){return n[a]=ae({},r[a],{enabled:e}),n},r)}function hv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bg={last:{},history:[]};function Gg(t,e){t===void 0&&(t=Bg);var r=e.options,n=e.meta;if(e.type===ne.track){var a=hv(ae({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ae({},t,{last:a,history:t.history.concat(a)})}return t}var Wg={actions:[]};function Vg(t,e){t===void 0&&(t=Wg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ne.identify?[e].concat(t.actions):t.actions.concat(e),ae({},t,{actions:n});case"dequeue":return[];default:return t}}var vv=/#.*$/;function Jg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vv,""):"")}var pv,mv,gv,yv,Zg=function(t){if(t===void 0&&(t={}),!xe)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(xe){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(vv,"")})(l),f={title:r,url:c,path:Jg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ae({},f,t)},Yg={last:{},history:[]};function Xg(t,e){t===void 0&&(t=Yg);var r=e.options;if(e.type===ne.page){var n=hv(ae({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ae({},t,{last:n,history:t.history.concat(n)})}return t}pv=(function(){if(!xe)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"})(),mv=xe?document.referrer:null,gv=kg(),yv=Og();var wd={initialized:!1,sessionId:Nn(),app:null,version:null,debug:!1,offline:!!xe&&!navigator.onLine,os:{name:pv},userAgent:xe?navigator.userAgent:"node",library:{name:es,version:"0.13.1"},timezone:yv,locale:gv,campaign:{},referrer:mv};function Qg(t,e){t===void 0&&(t=wd);var r=t.initialized,n=e.campaign;switch(e.type){case ne.campaign:return ae({},t,{campaign:n});case ne.offline:return ae({},t,{offline:!0});case ne.online:return ae({},t,{offline:!1});default:return r?t:ae({},wd,t,{initialized:!0})}}var ey=["plugins","reducers","storage"];function ty(t,e,r){if(xe){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ry(t){var e=ty.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function wv(){return Zt(es,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return vr[hr][es].push(o.action||o),i(o)}})}}}function bd(t){return function(){return pr(pr.apply(null,arguments),wv())}}function Mo(t){return t?ov(t)?t:[t]:[]}function Sd(t,e,r){t===void 0&&(t={});var n,a,i=Nn();return e&&(Ur[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(Je(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ae({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ny(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(Je(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),Re=0;Re<le.length;Re++)se[Re]=le[Re];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Pr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:cd(S)[_]||Jt(rs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!ts.includes(S)}).sort(),u=new Set(s.concat(an).filter(function(S){return!ts.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new zg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Cg(),P=cd(a),y=ae({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Nn());var b=ae({enable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.enablePlugin,plugins:Mo(S),_:{originalAction:ne.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.disablePlugin,plugins:Mo(S),_:{originalAction:ne.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=At(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Zt(rs(kt),Z);var le=Z||V.userId||i(kt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(ae({type:ne.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!At(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:ne.trackStart,event:Z,properties:V,options:he,userId:i(kt,w,_),anonymousId:i(cr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:ne.pageStart,properties:Zg(F),options:Z,userId:i(kt,w,F),anonymousId:i(cr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===kt||S==="id")return i(kt,w);if(S===cr||S==="anonId")return i(cr,w);var _=w.getState("user");return S?rd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:ne.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(ne.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!Je(_))return!1;if(S===ne.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Yr),h(Z,Xr),function(){d(F,Yr),d(Z,Xr)}}var V=S.match(q)?Yr:Xr,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!Je(_))return!1;if(S===ne.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?rd(_,S):Object.assign({},_)},dispatch:function(S){var _=At(S)?{type:S}:S;if(an.includes(_.type))throw new Error("reserved action "+_.type);var q=ae({},_,{_:ae({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:ne.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:ne.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:an,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Sd()),_(q)}}},v(Yr),Fg(w,c,{all:l,plugins:s}),Kg(a),qg(w),$g(w),v(Xr)]),x={context:Qg,user:xg(a),page:Xg,track:Gg,plugins:Hg(c),queue:Vg},N=pr,z=pr;if(xe&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?wv():Ve(typeof arguments[0])?bd():bd().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ey.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=uv((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===Ot&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:Qo})===It||typeof se(void 0,{type:jg})===It)throw new Error(Nr+" "+le+" "+It)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,Re={},Ue=0;Ue<he.length;Ue++){var Fe=he[Ue],ke=oe[Fe],Ye=(0,q[Fe])(ke,le);if(typeof Ye===It){var ut=Lg(Fe,le);throw new Error(ut)}Re[Fe]=Ye,se=se||Ye!==ke}return se?Re:oe}})(ae({},x,e)),L,z(N(Ng.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=ae({},S,{meta:Sd(S.meta,_,Mo(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:ne.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var te=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:ne.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&Je(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:ne.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:ne.initializeStart,plugins:te,disabled:Q})}),ry(function(S){k.dispatch({type:S?ne.offline:ne.online})}),(function(S,_,q){setInterval(function(){return fv(S,_,q)},3e3)})(k,c,w),w}var Yr="before",Xr="after",Bt="cookie",Mt=Iv(),bv=qn,ay=qn;function Sv(t){return Mt?qn(t,"",-1):Pr(t)}function Iv(){if(Mt!==void 0)return Mt;var t=Bt+Bt;try{qn(t,t),Mt=document.cookie.indexOf(t)!==-1,Sv(t)}catch{Mt=!1}return Mt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Mt===!1&&(o?Zt(t,e):Jt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Pt="localStorage",iy=Us.bind(null,Pt);Er(Pt,"getItem",Jt);Er(Pt,"setItem",Zt);Er(Pt,"removeItem",Pr);var Et="sessionStorage",oy=Us.bind(null,Et);Er(Et,"getItem",Jt);Er(Et,"setItem",Zt);Er(Et,"removeItem",Pr);function fr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var sy=iy(),cy=oy(),uy=Iv();function Gt(t,e){if(t){var r=js(e),n=!xs(r),a=Ls(r)?fr(localStorage.getItem(t)):void 0;if(n&&!sr(a))return a;var i=Ns(r)?fr(bv(t)):void 0;if(n&&i)return i;var o=qs(r)?fr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function vn(t,e,r){if(t&&!sr(e)){var n={},a=js(r),i=JSON.stringify(e),o=!xs(a);return Ls(a)&&(n[Pt]=Qr(Pt,e,fr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[Pt]:Ns(a)&&(n[Bt]=Qr(Bt,e,fr(bv(t))),ay(t,i),o)?n[Bt]:qs(a)&&(n[Et]=Qr(Et,e,fr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Et]:(n[zt]=Qr(zt,e,Jt(t)),Zt(t,e),o?n[zt]:n)}}function ly(t,e){if(t){var r=js(e),n=Gt(t,nv),a={};return!sr(n.localStorage)&&Ls(r)&&(localStorage.removeItem(t),a[Pt]=n.localStorage),!sr(n.cookie)&&Ns(r)&&(Sv(t),a[Bt]=n.cookie),!sr(n.sessionStorage)&&qs(r)&&(sessionStorage.removeItem(t),a[Et]=n.sessionStorage),!sr(n.global)&&xn(r,zt)&&(Pr(t),a[zt]=n.global),a}}function js(t){return t?At(t)?t:t.storage:rv}function Ls(t){return sy&&xn(t,Pt)}function Ns(t){return uy&&xn(t,Bt)}function qs(t){return cy&&xn(t,Et)}function xs(t){return t===nv||t==="all"}function xn(t,e){return t===rv||t===e||xs(t)}function Qr(t,e,r){return{location:t,current:e,previous:r}}var fy={setItem:vn,getItem:Gt,removeItem:ly};function dy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Id(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Pd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Id(Object(r),!0).forEach(function(n){dy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:fy};return ny(Pd(Pd({},e),t))}const $s="@sesamy/sesamy-js",$n="1.55.0";function vy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=my(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function py(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function my(t){return["#","?"].forEach(e=>t=py(t,e)),t}function gy(){vy(()=>{bt.page()})}var Fo="up",Ko="down";function yy(t){if(t===void 0&&(t={}),!xe)return Xo;var e=Rd(),r=ns(),n=Ed(),a=en(n,e),i=en(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return Xo;var d=h.map(function(p){return Number(p)}),v=Ug(function(){var p=Rd(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=ns(),y=Ed(),b=en(y,p),g=en(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Fo;w?A="initial":l<=y&&(A=Ko);var x=m,N=d;(A===Fo||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Ko&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Fo&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Ko&&z.callbacks&&z.callbacks.forEach(function(j){Je(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;Je(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function ns(){return xe?document.body.scrollTop||document.documentElement.scrollTop:0}function wy(){return xe?window.innerHeight||document.documentElement.clientHeight:0}function Ed(){return Math.round(ns()+wy())}function Rd(){if(!xe)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function en(t,e){return Math.round(t/e*100)}var Ds="Event",_d=Ds+"Listener";function by(t){return function(e,r,n,a){var i=n||Xo,o=a||!1;if(!xe)return i;var s=pn(r),u=pn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Ds);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+_d:"remove"+_d,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Sy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function pn(t,e){if(At(t))return e?pn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=Tg(t);return e?i.map(function(o){return At(o)?pn(o,!0):o}).flat():i}function Sy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var zo=by(Ds);function Pv(t,e){return xe&&Je(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),Je(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Pv.bind(null,"onerror");Pv.bind(null,"onload");var Ev=typeof window>"u",Td="hidden";function Iy(t){if(Ev)return!1;var e=Py(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Py(){var t=["webkit","moz","ms","o"];return Ev||Td in document?Td:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ey=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ry(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Iy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ey.map(function(s){return zo(document,s,r)})).concat(zo(window,"load",r)).concat(zo(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function _y(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Ar(h),m),a&&c&&(c=!1,a(Ar(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Ar(h),m))},s)}var p=Ry(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Ar(h,f),idle:c?Ar(r,f):0}}}}function Ar(t,e){return e?0:Math.round((new Date-t)/1e3)}const kd=5e3;class Ty{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),_y({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:kd}),yy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*kd:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Rv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ky(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Od="sesamy_session_id";function Oy(){let t=sessionStorage.getItem(Od);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Od,t)),t}function _v(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function Cy(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let We={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Tv=[],kv=!1,Wt;function Ov(){const t=window.location.pathname;return Tv.find(e=>e.path?t.includes(e.path):!0)}function Ay(t,e){Tv=t.content||[],kv=t.enablePaywallSettingsUrlFallback||!1;const r=Ov();r&&r.type==="article"&&(We={...We,...Cy(r.selectors)}),Wt=e}function Uy(t,e){const{selector:r}=e;return r===We.article.selector?t:t.querySelector(r)}function Cv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Cv(t.parentElement,e):t.textContent??void 0}function dr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function Av({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||dr(`sesamy:${e}`)||dr(`og:${e}`)||dr(e)||r}function jy(){const t=document.querySelectorAll(We.article.selector);return Array.from(t).map(Dn).filter(e=>e!==null)}function Dn(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:_v(e)},n=(i,o,s,u)=>{const l=Uy(e,o);if(l){const c=Cv(l,o)||Av({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",We.id),n("title",We.title,r.id),n("excerpt",We.excerpt,r.id),n("image",We.image,r.id),n("price",We.price,r.id,i=>parseFloat(i)),n("currency",We.currency,r.id),n("url",We.url,r.id),n("pass",We.pass,r.id),n("paywallUrl",We.paywallUrl,r.id),n("accessLevel",We.accessLevel,r.id,i=>i||"entitlement");const a=Ov();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),kv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function Ly(t){const e=Dn(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Wt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Wt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Wt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function Ny(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Dn(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Wt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Wt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||_v(r.parentElement||r);return Wt.proxy.getContent(i.token,n.url,o)}let Uv=!1,on,mn,as;function jv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:as,requestId:Math.random().toString(36).slice(2,9),sessionId:Oy(),timestamp:new Date().toISOString(),version:$n,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:dr("sesamy:item-src"),publisherContentId:dr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:$s,userAgent:navigator.userAgent,clientId:as}}}))}const Lv=ky(async t=>{if(t.length>0){const e=jv(t);Uv?navigator.sendBeacon(mn,e):(await fetch(mn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Ho(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(mn,jv([e]))}else Lv.push(t)}function qy(){return Uv=!0,Lv.flush()}function xy(t,e,r){on=e,mn=`${ht("logs",r)}/events`,as=t}const $y={name:"custom-analytics-plugin",page:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ho({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ho({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n}=t;Ho({anonymousId:r,userId:n,properties:e,type:"identify"})}},Cd=["source","medium","campaign","term","content"],Ct="utm_",Dy=1800*1e3;function Nv(t){return t?Date.now()-parseInt(t,10)>Dy:!0}function Ad(){const t=document.referrer||"";if(!t)return;const e=Gt(`${Ct}set_at`);(Nv(e)||!Gt(`${Ct}referrer`))&&vn(`${Ct}referrer`,t)}function My(){const t=()=>{const r={};for(const a of Cd){const i=Gt(`${Ct}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${Ct}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ad()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${Ct}set_at`);if(Object.keys(n).length>0&&Nv(a)){for(const o of Cd){const s=n[o];s&&vn(`${Ct}${o}`,s)}vn(`${Ct}set_at`,String(Date.now()))}Ad()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Fy=My(),Ud=new Map,jd=new Map;function Ky({clientId:t,enabled:e=!0,environment:r}){xy(t,e,r),e&&(window.addEventListener("beforeunload",()=>{jd.forEach((n,a)=>{n.bind(a)()}),qy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ud.forEach((n,a)=>{n.bind(a)()})}),gy(),Rv(()=>{const n=new Ty({element:document.body,viewCallback:()=>{bt.page()},activeDurationCallback:(a,i,o)=>{bt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{bt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{bt.track("scroll",{scroll:a.scrollMax})}});jd.set(document.body,()=>{n.flush()}),Ud.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ze.AUTHENTICATED,async n=>{const a=n;await bt.identify(a.detail.sub)}),window.addEventListener(Ze.LOGOUT,async()=>{await bt.track("logout",{}),await bt.reset()}))}const bt=hy({app:$s,version:$n,plugins:[Fy,$y]});function qv(t,e){bt.track(t,e)}function xv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});qv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function zy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Hy(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function By(){return/android/i.test(navigator.userAgent)}let qe,$v,qr,is=!1,sn=!1;xr()&&window.addEventListener("pageshow",()=>{sn=!1});const mr="sesamyAccessToken",Bo="sesamyRefreshToken",gn="sesamySilentAuthThrottle",Gy=300*1e3;async function Mn(){return is?!0:new Promise((t,e)=>{const r=setTimeout(()=>{is?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ze.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Wy(t){if(!t)return null;const e=localStorage.getItem(Bo);if(!e)return pe("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Bo),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Bo,i.refresh_token),localStorage.setItem(mr,i.access_token),i.access_token}catch{Ks()}}async function Ms(){const t=localStorage.getItem(mr);if(!t)return null;const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Wy(e);if(r)return r;localStorage.removeItem(mr)}return t}let tn=null;const Vy=64;function Jy(){try{if(tn!==null)return tn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Vy)return tn=!0,!0}}catch(t){pe(`Error checking for existing auth0 tokens: ${t.message}`)}return tn=!1,!1}function Zy(t){if(t.domains&&t.domains.length>0){const e=gr(window.location.href);if(e){for(const r of t.domains)if(gr(`https://${r}`)===e)return pe(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;pe(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return pe(`Using fallback domain property: ${t.domain}`),t.domain}function gr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Yy(t){if(t.enabled===!1)return;$v=t.organization;const e=Zy(t);qr=e&&!Jy()?e:tv("token",t.environment);const r={domain:qr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",gr(window.location.href)!==gr(`https://${qr}`)&&(r.useRefreshTokens=!0),pe(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await eg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)pe("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{pe("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();pe(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw pe("No user found"),new Error("No user found");pe(`User found ${JSON.stringify(l)}`),Fs(),jt(Ze.AUTHENTICATED,l),pe("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}is=!0,jt(Ze.AUTH_INITIALIZED,{})}async function Dr(){return await Mn(),await Ms()?!0:qe?qe.isAuthenticated():!1}async function Xy(){return await Mn(),await Ms()?(pe("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function Dv(t){if(sn)return pe("Login already in progress"),null;if(sn=!0,setTimeout(()=>{sn=!1},3e3),localStorage.removeItem(mr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:$v,redirect_uri:window.location.href,ui_locales:ln(),incognito:As(),...e}}}async function Fn(t){const e=Dv(t);if(e)return qe.loginWithRedirect(e)}async function Mv(t){const e=Dv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Fs(),xv(Ze.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Qy(t){return qr&&gr(window.location.href)!==gr(`https://${qr}`)&&(Hy()||By()||As())?Mv(t):Fn(t)}function ew(){try{const t=sessionStorage.getItem(gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Gy}catch{return sessionStorage.removeItem(gn),!1}}function tw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(gn,JSON.stringify(t))}catch{pe("Failed to set silent auth throttle in sessionStorage")}}function Fs(){try{sessionStorage.removeItem(gn)}catch{}}async function xt(t=!0,e=!1){await Mn();const r=await Ms();if(r)return r;if(!e&&ew()){if(pe("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return pe("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Fs(),n}catch(n){const a=n;if(pe(`Failed to get token silently: ${a.message}`),tw(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Ks(),t)throw n;return null}}async function Ks(t={}){if(await Mn(),localStorage.removeItem(mr),jt(Ze.LOGOUT,{}),!!qe)return pe(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function zs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function os(t){const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");pe("Set token"),localStorage.setItem(mr,t),jt(Ze.AUTHENTICATED,e)}const rw=(t,e)=>e.skipDedupe||e.method!=="GET",nw=(t,e)=>e.method+"@"+t,aw=t=>t.clone(),Ld=({skip:t=rw,key:e=nw,resolver:r=aw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},iw=(t,e)=>t*e,ow=t=>t&&t.ok,Nd=({delayTimer:t=500,delayRamp:e=iw,maxAttempts:r=10,until:n=ow,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class sw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function ss(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Fv(t,e){if(ss(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function qd(t){return t.endsWith("/")?t.slice(0,-1):t}function xd(t,e){if(!ss(t)||!ss(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&qd(r.pathname)===qd(n.pathname)}function cw(t,e,r){const n=new URL(`${ht("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=Fv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const Kv="sesamySignedURLs";function Hs(){const t=sessionStorage.getItem(Kv);return t?JSON.parse(t):[]}function uw(t){const e=Hs();e.push(t),pe(`Adding signed URL: ${t}`),sessionStorage.setItem(Kv,JSON.stringify(e))}function lw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const cs="sesamyAttribution";function fw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function dw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function yn(){return fw(cs)||{}}function zv(t){if(t===null)localStorage.removeItem(cs);else{pe(`Setting attribution ${JSON.stringify(t)}`);const e=yn()??{},r=lw({...e,...dw(t)});localStorage.setItem(cs,JSON.stringify({value:r}))}}function hw(t){const e=t.endpoint||ht("api2",t.environment),r=async()=>{const T=await xt(!0);if(!T)throw new Error("No access token available");return T},n=Ce.client({baseUrl:e,tokenProvider:r,libraryName:$s,libraryVersion:$n,vendorId:t.vendorId,cache:{mode:Ce.CacheMode.BROWSER,storage:new sw}}),a=T=>async(K,J)=>{let re=sessionStorage.getItem(ed);re||(re=Date.now().toString(),sessionStorage.setItem(ed,re));const me={...J,headers:{...J.headers,"Cache-Timestamp":re}};return T(K,me)},i=(T=!0)=>K=>async(J,re)=>{let me=null;if(me=await xt(T),!me){if(T)throw new Error("No access token available");return K(J,re)}const Ke={...re,headers:{...re.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,Ke)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const re=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${re}:`),Ke={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,Ke)},s=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,re=await Dr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&re.push(...Hs()),re}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:Ke,purchaseOption:M}=Fv(T);return!!("sku"in me&&Ke===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||xd(T,me.url)||K.some(ee=>xd(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const re=new URL(ht("api2",t.environment));return re.pathname="/proxy",re.searchParams.set("url",K),J&&re.searchParams.set("selector",J),Ce.wretch(re.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Dr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return Ce.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return jt(Ze.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return jt(Ze.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function te(T){const K=await u.url(`/tallies/${T}`).delete().res();return Ce.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return Ce.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ht("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&Ce.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await Ce.wretch(ng).post({url:T,ttl:K}).json();return J}async function se(T){const K=await xt(!1,!0);let J;const re=T.language||ln(),me=yn();switch(T.target){case"account":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ht("consume",t.environment)}/${encodeURIComponent(T.language||re)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=cw(t,{language:re,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function Re(T){const K=yn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const Ke=K,[M,ee]=me.trim().split("=");J.includes(M)&&!Ke[M]&&(Ke[M]=ee)}),(await u.url("/checkouts").post({language:ln(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function Ue(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Fe(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function ke(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function ut(){return(await s.url("/vendors").get()).json()}async function lt(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function mt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function gt(){const T=await xt(!1),K=new URL(`${ht("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:mt,createAmendment:lt,createCheckout:Re,deleteTag:D,deleteTally:te,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Fe,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:ke,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:gt,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:Ue,updateProfile:q,getVendorSettings:Ye,listVendors:ut}}const vw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function pw(){return new Promise(t=>{const e=vw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function mw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const Hv="sesamyFlags";async function Bv(t){try{localStorage.setItem(Hv,JSON.stringify(t))}catch{pe("Failed to save flags to localStorage")}}async function gw(t,e){const r=await Kn();r[t]=e,await Bv(r)}async function yw(t){return(await Kn())[t]}async function ww(t){const e=await Kn();t in e&&(delete e[t],await Bv(e))}async function Kn(){try{const t=localStorage.getItem(Hv);return t?JSON.parse(t):{}}catch{return{}}}function bw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:te,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=hw(t),le={analytics:{track:qv},attribution:{get:yn,set:zv},auth:{getUser:b,getTokenSilently:xt,isAuthenticated:Dr,loginWithRedirect:Fn,loginWithPopup:Mv,login:Qy,logout:Ks,setToken:os},bills:{get:u,list:l},browser:{detectAdblock:pw,isInAppBrowser:mw,isIncognito:As},checkouts:{create:n,get:c,update:he},clearCache:Ce.clearCache,content:{list:jy,get:Dn,getLanguage:ln,hasAccess:Ly,unlock:Ny,getPropertyFromHTML:Av},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:Hs},events:{emit:xv,cancel:zy},flags:{get:yw,set:gw,list:Kn,delete:ww},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:Sw,isReady:()=>exports.isInitialized,log:pe,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:te},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:os};return t.namespace&&(window[t.namespace]=le),le}function Sw(){return $n}function Iw(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
35
+ `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return ae({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:dd(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(ae({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),Do(N,w))return $o({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(Do(x,w))return g&&$o({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:dd(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=ae({},x,ie),D=m[w];if(Do(D,w))$o({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(ld)&&!f.match(fd)&&n.dispatch(ae({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(lr)||f.match(/^registerPlugin/)||f.match(fd)||f.match(ld)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=ae({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});dv(P,e.exact.length)&&!f.match(/End$/)&&(y=ae({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},lr=/Start$/,ld=/^bootstrap/,fd=/^ready/;function $o(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(ae({},t.data,{type:r,_:{called:r,from:"abort"}}))}function dd(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function hd(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function vd(t,e){var r=t.replace(lr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function Do(t,e){var r=t.abort;return!!r&&(r===!0||pd(r,e)||r&&pd(r.plugins,e))}function dv(t,e){var r=t.abort;if(!r)return!1;if(r===!0||At(r))return!0;var n=r.plugins;return $r(r)&&r.length===e||$r(n)&&n.length===e}function $r(t){return Array.isArray(t)}function pd(t,e){return!(!t||!$r(t))&&t.includes(e)}function md(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Mg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Fg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===ne.enablePlugin&&a.dispatch({type:ne.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===ne.disablePlugin&&setTimeout(function(){return ud(o.meta.rid,{payload:o})},0),l===ne.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return lv(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:ne.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!ts.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(ae({},{type:ne.ready},w))},0)})}var b=(function(){if(l!==ne.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return fv(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=Je(w)?w():w,B=g.type,ie=B.replace(lr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(te=j.plugins)===void 0&&(te={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Sg(_[S])?_[S]:_.all!==!1&&(!te[S]||te[S].enabled!==!1)}).map(function(S){return Y[S]}));B===ne.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=vd(S).map(function(F){return hd(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=vd(S,V).map(function(Re){return hd(Re,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(xo({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(lr))return Promise.resolve(xo({action:ae({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&ud(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(dv(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(xo({action:ae({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,te,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function Kg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===ne.setItem||a===ne.removeItem){if(n.abort)return r(n);a===ne.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var zg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return pr.apply(void 0,o)(n)(a)}}}}};function Hg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=gd(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},ae({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=gd(r.type,ne.initialize),l=t()[u];return l&&u?(n[u]=ae({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),ae({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=ae({},e[r.name],{loaded:!0}),ae({},e,n);switch(r.type){case ne.disablePlugin:return ae({},e,yd(r.plugins,!1,e));case ne.enablePlugin:return ae({},e,yd(r.plugins,!0,e));default:return e}}}function gd(t,e){return t.substring(e.length+1,t.length)}function yd(t,e,r){return t.reduce(function(n,a){return n[a]=ae({},r[a],{enabled:e}),n},r)}function hv(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Bg={last:{},history:[]};function Gg(t,e){t===void 0&&(t=Bg);var r=e.options,n=e.meta;if(e.type===ne.track){var a=hv(ae({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return ae({},t,{last:a,history:t.history.concat(a)})}return t}var Wg={actions:[]};function Vg(t,e){t===void 0&&(t=Wg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===ne.identify?[e].concat(t.actions):t.actions.concat(e),ae({},t,{actions:n});case"dequeue":return[];default:return t}}var vv=/#.*$/;function Jg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(vv,""):"")}var pv,mv,gv,yv,Zg=function(t){if(t===void 0&&(t={}),!xe)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(xe){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(vv,"")})(l),f={title:r,url:c,path:Jg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),ae({},f,t)},Yg={last:{},history:[]};function Xg(t,e){t===void 0&&(t=Yg);var r=e.options;if(e.type===ne.page){var n=hv(ae({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return ae({},t,{last:n,history:t.history.concat(n)})}return t}pv=(function(){if(!xe)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"})(),mv=xe?document.referrer:null,gv=kg(),yv=Og();var wd={initialized:!1,sessionId:Nn(),app:null,version:null,debug:!1,offline:!!xe&&!navigator.onLine,os:{name:pv},userAgent:xe?navigator.userAgent:"node",library:{name:es,version:"0.13.1"},timezone:yv,locale:gv,campaign:{},referrer:mv};function Qg(t,e){t===void 0&&(t=wd);var r=t.initialized,n=e.campaign;switch(e.type){case ne.campaign:return ae({},t,{campaign:n});case ne.offline:return ae({},t,{offline:!0});case ne.online:return ae({},t,{offline:!1});default:return r?t:ae({},wd,t,{initialized:!0})}}var ey=["plugins","reducers","storage"];function ty(t,e,r){if(xe){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ry(t){var e=ty.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function wv(){return Zt(es,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return vr[hr][es].push(o.action||o),i(o)}})}}}function bd(t){return function(){return pr(pr.apply(null,arguments),wv())}}function Mo(t){return t?ov(t)?t:[t]:[]}function Sd(t,e,r){t===void 0&&(t={});var n,a,i=Nn();return e&&(Ur[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(Je(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),ae({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ny(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(Je(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),Re=0;Re<le.length;Re++)se[Re]=le[Re];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Jt,setItem:Zt,removeItem:Pr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:cd(S)[_]||Jt(rs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!ts.includes(S)}).sort(),u=new Set(s.concat(an).filter(function(S){return!ts.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new zg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Cg(),P=cd(a),y=ae({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Nn());var b=ae({enable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.enablePlugin,plugins:Mo(S),_:{originalAction:ne.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:ne.disablePlugin,plugins:Mo(S),_:{originalAction:ne.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=At(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Zt(rs(kt),Z);var le=Z||V.userId||i(kt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(ae({type:ne.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!At(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:ne.trackStart,event:Z,properties:V,options:he,userId:i(kt,w,_),anonymousId:i(cr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:ne.pageStart,properties:Zg(F),options:Z,userId:i(kt,w,F),anonymousId:i(cr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===kt||S==="id")return i(kt,w);if(S===cr||S==="anonId")return i(cr,w);var _=w.getState("user");return S?rd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:ne.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(ne.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!Je(_))return!1;if(S===ne.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Yr),h(Z,Xr),function(){d(F,Yr),d(Z,Xr)}}var V=S.match(q)?Yr:Xr,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!Je(_))return!1;if(S===ne.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?rd(_,S):Object.assign({},_)},dispatch:function(S){var _=At(S)?{type:S}:S;if(an.includes(_.type))throw new Error("reserved action "+_.type);var q=ae({},_,{_:ae({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:ne.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:ne.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:an,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Sd()),_(q)}}},v(Yr),Fg(w,c,{all:l,plugins:s}),Kg(a),qg(w),$g(w),v(Xr)]),x={context:Qg,user:xg(a),page:Xg,track:Gg,plugins:Hg(c),queue:Vg},N=pr,z=pr;if(xe&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?wv():Ve(typeof arguments[0])?bd():bd().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ey.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=uv((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===Ot&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:Qo})===It||typeof se(void 0,{type:jg})===It)throw new Error(Nr+" "+le+" "+It)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,Re={},Ue=0;Ue<he.length;Ue++){var Fe=he[Ue],ke=oe[Fe],Ye=(0,q[Fe])(ke,le);if(typeof Ye===It){var ut=Lg(Fe,le);throw new Error(ut)}Re[Fe]=Ye,se=se||Ye!==ke}return se?Re:oe}})(ae({},x,e)),L,z(N(Ng.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=ae({},S,{meta:Sd(S.meta,_,Mo(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:ne.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var te=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:ne.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&Je(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:ne.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:ne.initializeStart,plugins:te,disabled:Q})}),ry(function(S){k.dispatch({type:S?ne.offline:ne.online})}),(function(S,_,q){setInterval(function(){return fv(S,_,q)},3e3)})(k,c,w),w}var Yr="before",Xr="after",Bt="cookie",Mt=Iv(),bv=qn,ay=qn;function Sv(t){return Mt?qn(t,"",-1):Pr(t)}function Iv(){if(Mt!==void 0)return Mt;var t=Bt+Bt;try{qn(t,t),Mt=document.cookie.indexOf(t)!==-1,Sv(t)}catch{Mt=!1}return Mt}function qn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Mt===!1&&(o?Zt(t,e):Jt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var Pt="localStorage",iy=Us.bind(null,Pt);Er(Pt,"getItem",Jt);Er(Pt,"setItem",Zt);Er(Pt,"removeItem",Pr);var Et="sessionStorage",oy=Us.bind(null,Et);Er(Et,"getItem",Jt);Er(Et,"setItem",Zt);Er(Et,"removeItem",Pr);function fr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var sy=iy(),cy=oy(),uy=Iv();function Gt(t,e){if(t){var r=js(e),n=!xs(r),a=Ls(r)?fr(localStorage.getItem(t)):void 0;if(n&&!sr(a))return a;var i=Ns(r)?fr(bv(t)):void 0;if(n&&i)return i;var o=qs(r)?fr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Jt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function vn(t,e,r){if(t&&!sr(e)){var n={},a=js(r),i=JSON.stringify(e),o=!xs(a);return Ls(a)&&(n[Pt]=Qr(Pt,e,fr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[Pt]:Ns(a)&&(n[Bt]=Qr(Bt,e,fr(bv(t))),ay(t,i),o)?n[Bt]:qs(a)&&(n[Et]=Qr(Et,e,fr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Et]:(n[zt]=Qr(zt,e,Jt(t)),Zt(t,e),o?n[zt]:n)}}function ly(t,e){if(t){var r=js(e),n=Gt(t,nv),a={};return!sr(n.localStorage)&&Ls(r)&&(localStorage.removeItem(t),a[Pt]=n.localStorage),!sr(n.cookie)&&Ns(r)&&(Sv(t),a[Bt]=n.cookie),!sr(n.sessionStorage)&&qs(r)&&(sessionStorage.removeItem(t),a[Et]=n.sessionStorage),!sr(n.global)&&xn(r,zt)&&(Pr(t),a[zt]=n.global),a}}function js(t){return t?At(t)?t:t.storage:rv}function Ls(t){return sy&&xn(t,Pt)}function Ns(t){return uy&&xn(t,Bt)}function qs(t){return cy&&xn(t,Et)}function xs(t){return t===nv||t==="all"}function xn(t,e){return t===rv||t===e||xs(t)}function Qr(t,e,r){return{location:t,current:e,previous:r}}var fy={setItem:vn,getItem:Gt,removeItem:ly};function dy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Id(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Pd(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Id(Object(r),!0).forEach(function(n){dy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Id(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function hy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:fy};return ny(Pd(Pd({},e),t))}const $s="@sesamy/sesamy-js",$n="1.56.0";function vy(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=my(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function py(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function my(t){return["#","?"].forEach(e=>t=py(t,e)),t}function gy(){vy(()=>{bt.page()})}var Fo="up",Ko="down";function yy(t){if(t===void 0&&(t={}),!xe)return Xo;var e=Rd(),r=ns(),n=Ed(),a=en(n,e),i=en(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return Xo;var d=h.map(function(p){return Number(p)}),v=Ug(function(){var p=Rd(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=ns(),y=Ed(),b=en(y,p),g=en(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Fo;w?A="initial":l<=y&&(A=Ko);var x=m,N=d;(A===Fo||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Ko&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Fo&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Ko&&z.callbacks&&z.callbacks.forEach(function(j){Je(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;Je(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function ns(){return xe?document.body.scrollTop||document.documentElement.scrollTop:0}function wy(){return xe?window.innerHeight||document.documentElement.clientHeight:0}function Ed(){return Math.round(ns()+wy())}function Rd(){if(!xe)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function en(t,e){return Math.round(t/e*100)}var Ds="Event",_d=Ds+"Listener";function by(t){return function(e,r,n,a){var i=n||Xo,o=a||!1;if(!xe)return i;var s=pn(r),u=pn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Ds);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+_d:"remove"+_d,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Sy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function pn(t,e){if(At(t))return e?pn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=Tg(t);return e?i.map(function(o){return At(o)?pn(o,!0):o}).flat():i}function Sy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var zo=by(Ds);function Pv(t,e){return xe&&Je(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),Je(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Pv.bind(null,"onerror");Pv.bind(null,"onload");var Ev=typeof window>"u",Td="hidden";function Iy(t){if(Ev)return!1;var e=Py(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Py(){var t=["webkit","moz","ms","o"];return Ev||Td in document?Td:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ey=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function Ry(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Iy(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ey.map(function(s){return zo(document,s,r)})).concat(zo(window,"load",r)).concat(zo(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function _y(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Ar(h),m),a&&c&&(c=!1,a(Ar(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Ar(h),m))},s)}var p=Ry(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Ar(h,f),idle:c?Ar(r,f):0}}}}function Ar(t,e){return e?0:Math.round((new Date-t)/1e3)}const kd=5e3;class Ty{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),_y({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:kd}),yy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*kd:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Rv(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function ky(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Od="sesamy_session_id";function Oy(){let t=sessionStorage.getItem(Od);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Od,t)),t}function _v(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function Cy(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let We={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Tv=[],kv=!1,Wt;function Ov(){const t=window.location.pathname;return Tv.find(e=>e.path?t.includes(e.path):!0)}function Ay(t,e){Tv=t.content||[],kv=t.enablePaywallSettingsUrlFallback||!1;const r=Ov();r&&r.type==="article"&&(We={...We,...Cy(r.selectors)}),Wt=e}function Uy(t,e){const{selector:r}=e;return r===We.article.selector?t:t.querySelector(r)}function Cv(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??Cv(t.parentElement,e):t.textContent??void 0}function dr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function Av({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||dr(`sesamy:${e}`)||dr(`og:${e}`)||dr(e)||r}function jy(){const t=document.querySelectorAll(We.article.selector);return Array.from(t).map(Dn).filter(e=>e!==null)}function Dn(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:_v(e)},n=(i,o,s,u)=>{const l=Uy(e,o);if(l){const c=Cv(l,o)||Av({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",We.id),n("title",We.title,r.id),n("excerpt",We.excerpt,r.id),n("image",We.image,r.id),n("price",We.price,r.id,i=>parseFloat(i)),n("currency",We.currency,r.id),n("url",We.url,r.id),n("pass",We.pass,r.id),n("paywallUrl",We.paywallUrl,r.id),n("accessLevel",We.accessLevel,r.id,i=>i||"entitlement");const a=Ov();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),kv&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function Ly(t){const e=Dn(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Wt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Wt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Wt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function Ny(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Dn(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Wt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Wt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||_v(r.parentElement||r);return Wt.proxy.getContent(i.token,n.url,o)}let Uv=!1,on,mn,as;function jv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:as,requestId:Math.random().toString(36).slice(2,9),sessionId:Oy(),timestamp:new Date().toISOString(),version:$n,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:dr("sesamy:item-src"),publisherContentId:dr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:$s,userAgent:navigator.userAgent,clientId:as}}}))}const Lv=ky(async t=>{if(t.length>0){const e=jv(t);Uv?navigator.sendBeacon(mn,e):(await fetch(mn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function Ho(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(mn,jv([e]))}else Lv.push(t)}function qy(){return Uv=!0,Lv.flush()}function xy(t,e,r){on=e,mn=`${ht("logs",r)}/events`,as=t}const $y={name:"custom-analytics-plugin",page:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ho({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;Ho({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!on)return;const{properties:e,anonymousId:r,userId:n}=t;Ho({anonymousId:r,userId:n,properties:e,type:"identify"})}},Cd=["source","medium","campaign","term","content"],Ct="utm_",Dy=1800*1e3;function Nv(t){return t?Date.now()-parseInt(t,10)>Dy:!0}function Ad(){const t=document.referrer||"";if(!t)return;const e=Gt(`${Ct}set_at`);(Nv(e)||!Gt(`${Ct}referrer`))&&vn(`${Ct}referrer`,t)}function My(){const t=()=>{const r={};for(const a of Cd){const i=Gt(`${Ct}${a}`);i&&(r[`utm_${a}`]=i)}const n=Gt(`${Ct}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){Ad()},campaign({payload:r}){const n=r?.campaign||{},a=Gt(`${Ct}set_at`);if(Object.keys(n).length>0&&Nv(a)){for(const o of Cd){const s=n[o];s&&vn(`${Ct}${o}`,s)}vn(`${Ct}set_at`,String(Date.now()))}Ad()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Fy=My(),Ud=new Map,jd=new Map;function Ky({clientId:t,enabled:e=!0,environment:r}){xy(t,e,r),e&&(window.addEventListener("beforeunload",()=>{jd.forEach((n,a)=>{n.bind(a)()}),qy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&Ud.forEach((n,a)=>{n.bind(a)()})}),gy(),Rv(()=>{const n=new Ty({element:document.body,viewCallback:()=>{bt.page()},activeDurationCallback:(a,i,o)=>{bt.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{bt.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{bt.track("scroll",{scroll:a.scrollMax})}});jd.set(document.body,()=>{n.flush()}),Ud.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ze.AUTHENTICATED,async n=>{const a=n;await bt.identify(a.detail.sub)}),window.addEventListener(Ze.LOGOUT,async()=>{await bt.track("logout",{}),await bt.reset()}))}const bt=hy({app:$s,version:$n,plugins:[Fy,$y]});function qv(t,e){bt.track(t,e)}function xv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});qv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function zy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function Hy(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function By(){return/android/i.test(navigator.userAgent)}let qe,$v,qr,is=!1,sn=!1;xr()&&window.addEventListener("pageshow",()=>{sn=!1});const mr="sesamyAccessToken",Bo="sesamyRefreshToken",gn="sesamySilentAuthThrottle",Gy=300*1e3;async function Mn(){return is?!0:new Promise((t,e)=>{const r=setTimeout(()=>{is?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ze.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Wy(t){if(!t)return null;const e=localStorage.getItem(Bo);if(!e)return pe("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Bo),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Bo,i.refresh_token),localStorage.setItem(mr,i.access_token),i.access_token}catch{Ks()}}async function Ms(){const t=localStorage.getItem(mr);if(!t)return null;const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Wy(e);if(r)return r;localStorage.removeItem(mr)}return t}let tn=null;const Vy=64;function Jy(){try{if(tn!==null)return tn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Vy)return tn=!0,!0}}catch(t){pe(`Error checking for existing auth0 tokens: ${t.message}`)}return tn=!1,!1}function Zy(t){if(t.domains&&t.domains.length>0){const e=gr(window.location.href);if(e){for(const r of t.domains)if(gr(`https://${r}`)===e)return pe(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;pe(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return pe(`Using fallback domain property: ${t.domain}`),t.domain}function gr(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Yy(t){if(t.enabled===!1)return;$v=t.organization;const e=Zy(t);qr=e&&!Jy()?e:tv("token",t.environment);const r={domain:qr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",gr(window.location.href)!==gr(`https://${qr}`)&&(r.useRefreshTokens=!0),pe(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await eg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)pe("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{pe("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();pe(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw pe("No user found"),new Error("No user found");pe(`User found ${JSON.stringify(l)}`),Fs(),jt(Ze.AUTHENTICATED,l),pe("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}is=!0,jt(Ze.AUTH_INITIALIZED,{})}async function Dr(){return await Mn(),await Ms()?!0:qe?qe.isAuthenticated():!1}async function Xy(){return await Mn(),await Ms()?(pe("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function Dv(t){if(sn)return pe("Login already in progress"),null;if(sn=!0,setTimeout(()=>{sn=!1},3e3),localStorage.removeItem(mr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:$v,redirect_uri:window.location.href,ui_locales:ln(),incognito:As(),...e}}}async function Fn(t){const e=Dv(t);if(e)return qe.loginWithRedirect(e)}async function Mv(t){const e=Dv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Fs(),xv(Ze.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function Qy(t){return qr&&gr(window.location.href)!==gr(`https://${qr}`)&&(Hy()||By()||As())?Mv(t):Fn(t)}function ew(){try{const t=sessionStorage.getItem(gn);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Gy}catch{return sessionStorage.removeItem(gn),!1}}function tw(){try{const t={timestamp:Date.now()};sessionStorage.setItem(gn,JSON.stringify(t))}catch{pe("Failed to set silent auth throttle in sessionStorage")}}function Fs(){try{sessionStorage.removeItem(gn)}catch{}}async function xt(t=!0,e=!1){await Mn();const r=await Ms();if(r)return r;if(!e&&ew()){if(pe("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return pe("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=zs(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Fs(),n}catch(n){const a=n;if(pe(`Failed to get token silently: ${a.message}`),tw(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await Ks(),t)throw n;return null}}async function Ks(t={}){if(await Mn(),localStorage.removeItem(mr),jt(Ze.LOGOUT,{}),!!qe)return pe(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function zs(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function os(t){const e=zs(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");pe("Set token"),localStorage.setItem(mr,t),jt(Ze.AUTHENTICATED,e)}const rw=(t,e)=>e.skipDedupe||e.method!=="GET",nw=(t,e)=>e.method+"@"+t,aw=t=>t.clone(),Ld=({skip:t=rw,key:e=nw,resolver:r=aw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},iw=(t,e)=>t*e,ow=t=>t&&t.ok,Nd=({delayTimer:t=500,delayRamp:e=iw,maxAttempts:r=10,until:n=ow,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class sw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function ss(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function Fv(t,e){if(ss(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function qd(t){return t.endsWith("/")?t.slice(0,-1):t}function xd(t,e){if(!ss(t)||!ss(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&qd(r.pathname)===qd(n.pathname)}function cw(t,e,r){const n=new URL(`${ht("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=Fv(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metaData&&Object.entries(e.metaData).forEach(([c,f])=>{n.searchParams.set(`meta-${c}`,String(f))}),n}const Kv="sesamySignedURLs";function Hs(){const t=sessionStorage.getItem(Kv);return t?JSON.parse(t):[]}function uw(t){const e=Hs();e.push(t),pe(`Adding signed URL: ${t}`),sessionStorage.setItem(Kv,JSON.stringify(e))}function lw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const cs="sesamyAttribution";function fw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function dw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function yn(){return fw(cs)||{}}function zv(t){if(t===null)localStorage.removeItem(cs);else{pe(`Setting attribution ${JSON.stringify(t)}`);const e=yn()??{},r=lw({...e,...dw(t)});localStorage.setItem(cs,JSON.stringify({value:r}))}}function hw(t){const e=t.endpoint||ht("api2",t.environment),r=async()=>{const T=await xt(!0);if(!T)throw new Error("No access token available");return T},n=Ce.client({baseUrl:e,tokenProvider:r,libraryName:$s,libraryVersion:$n,vendorId:t.vendorId,cache:{mode:Ce.CacheMode.BROWSER,storage:new sw}}),a=T=>async(K,J)=>{let re=sessionStorage.getItem(ed);re||(re=Date.now().toString(),sessionStorage.setItem(ed,re));const me={...J,headers:{...J.headers,"Cache-Timestamp":re}};return T(K,me)},i=(T=!0)=>K=>async(J,re)=>{let me=null;if(me=await xt(T),!me){if(T)throw new Error("No access token available");return K(J,re)}const Ke={...re,headers:{...re.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,Ke)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const re=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${re}:`),Ke={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,Ke)},s=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=Ce.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,Ld(),Nd({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,re=await Dr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&re.push(...Hs()),re}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:Ke,purchaseOption:M}=Fv(T);return!!("sku"in me&&Ke===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||xd(T,me.url)||K.some(ee=>xd(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const re=new URL(ht("api2",t.environment));return re.pathname="/proxy",re.searchParams.set("url",K),J&&re.searchParams.set("selector",J),Ce.wretch(re.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Dr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return Ce.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return jt(Ze.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return Ce.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return jt(Ze.USER_ATTRIBUTE_CHANGED,{}),Ce.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function te(T){const K=await u.url(`/tallies/${T}`).delete().res();return Ce.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await xt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return Ce.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await xt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ht("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&Ce.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await Ce.wretch(ng).post({url:T,ttl:K}).json();return J}async function se(T){const K=await xt(!1,!0);let J;const re=T.language||ln(),me=yn();switch(T.target){case"account":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ht("account",t.environment)}/${encodeURIComponent(T.language||re)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ht("consume",t.environment)}/${encodeURIComponent(T.language||re)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=cw(t,{language:re,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function Re(T){const K=yn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const Ke=K,[M,ee]=me.trim().split("=");J.includes(M)&&!Ke[M]&&(Ke[M]=ee)}),(await u.url("/checkouts").post({language:ln(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function Ue(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Fe(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function ke(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function ut(){return(await s.url("/vendors").get()).json()}async function lt(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function mt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function gt(){const T=await xt(!1),K=new URL(`${ht("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:mt,createAmendment:lt,createCheckout:Re,deleteTag:D,deleteTally:te,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Fe,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:ke,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:gt,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:Ue,updateProfile:q,getVendorSettings:Ye,listVendors:ut}}const vw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function pw(){return new Promise(t=>{const e=vw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function mw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const Hv="sesamyFlags";async function Bv(t){try{localStorage.setItem(Hv,JSON.stringify(t))}catch{pe("Failed to save flags to localStorage")}}async function gw(t,e){const r=await Kn();r[t]=e,await Bv(r)}async function yw(t){return(await Kn())[t]}async function ww(t){const e=await Kn();t in e&&(delete e[t],await Bv(e))}async function Kn(){try{const t=localStorage.getItem(Hv);return t?JSON.parse(t):{}}catch{return{}}}function bw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:te,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=hw(t),le={analytics:{track:qv},attribution:{get:yn,set:zv},auth:{getUser:b,getTokenSilently:xt,isAuthenticated:Dr,loginWithRedirect:Fn,loginWithPopup:Mv,login:Qy,logout:Ks,setToken:os},bills:{get:u,list:l},browser:{detectAdblock:pw,isInAppBrowser:mw,isIncognito:As},checkouts:{create:n,get:c,update:he},clearCache:Ce.clearCache,content:{list:jy,get:Dn,getLanguage:ln,hasAccess:Ly,unlock:Ny,getPropertyFromHTML:Av},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:Hs},events:{emit:xv,cancel:zy},flags:{get:yw,set:gw,list:Kn,delete:ww},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:Sw,isReady:()=>exports.isInitialized,log:pe,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:te},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:os};return t.namespace&&(window[t.namespace]=le),le}function Sw(){return $n}function Iw(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
36
36
  ${e.selector}::before {
37
37
  content: '';
38
38
  position: absolute;
@@ -194,7 +194,10 @@ declare interface GenerateCheckoutLink extends GenerateLinkBase {
194
194
  utmCampaign?: string;
195
195
  utmTerm?: string;
196
196
  utmContent?: string;
197
- gift?: boolean;
197
+ requireAddress?: boolean;
198
+ giftMode?: boolean;
199
+ payerEmail?: string;
200
+ metaData?: Record<string, string>;
198
201
  paymentMethodsFilter?: {
199
202
  provider?: string;
200
203
  methods: string[];
@@ -32,7 +32,7 @@ var sesamyJs=(function(mt,ke){"use strict";var Ws=typeof globalThis<"u"?globalTh
32
32
  * Please keep this comment intact in order to properly abide by the MIT License.
33
33
  *
34
34
  **/var rs={d:(t,e)=>{for(var r in e)rs.o(e,r)&&!rs.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},ns={};rs.d(ns,{A:()=>ig,k:()=>as});var $r=function(t,e,r,n){return new(r||(r=Promise))(function(a,i){function o(l){try{u(n.next(l))}catch(c){i(c)}}function s(l){try{u(n.throw(l))}catch(c){i(c)}}function u(l){var c;l.done?a(l.value):(c=l.value,c instanceof r?c:new r(function(f){f(c)})).then(o,s)}u((n=n.apply(t,[])).next())})},Dr=function(t,e){var r,n,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(u){return function(l){return(function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(a=o.trys,!((a=a.length>0&&a[a.length-1])||c[0]!==6&&c[0]!==2)){o=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(c[0]===6&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=e.call(t,o)}catch(f){c=[6,f],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}})([u,l])}}};function as(){return $r(this,void 0,Promise,function(){return Dr(this,function(t){switch(t.label){case 0:return[4,new Promise(function(e,r){var n="Unknown",a=!1;function i(h){a||(a=!0,e({isPrivate:h,browserName:n}))}function o(){var h=0,d=parseInt("-1");try{d.toFixed(d)}catch(v){h=v.message.length}return h}function s(){return $r(this,void 0,void 0,function(){var h,d;return Dr(this,function(v){switch(v.label){case 0:return v.trys.push([0,2,,3]),[4,navigator.storage.getDirectory()];case 1:return v.sent(),i(!1),[3,3];case 2:return h=v.sent(),d=h instanceof Error&&typeof h.message=="string"?h.message:String(h),i(d.includes("unknown transient reason")),[3,3];case 3:return[2]}})})}function u(){var h;return $r(this,void 0,Promise,function(){return Dr(this,function(d){switch(d.label){case 0:return typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function"?[3,2]:[4,s()];case 1:return d.sent(),[3,3];case 2:navigator.maxTouchPoints!==void 0?(function(){var v=String(Math.random());try{var p=indexedDB.open(v,1);p.onupgradeneeded=function(m){var P=m.target.result,y=function(b){i(b)};try{P.createObjectStore("t",{autoIncrement:!0}).put(new Blob),y(!1)}catch(b){(b instanceof Error&&typeof b.message=="string"?b.message:String(b)).includes("are not yet supported")?y(!0):y(!1)}finally{P.close(),indexedDB.deleteDatabase(v)}},p.onerror=function(){return i(!1)}}catch{i(!1)}})():(function(){var v=window.openDatabase,p=window.localStorage;try{v(null,null,null,null)}catch{return void i(!0)}try{p.setItem("test","1"),p.removeItem("test")}catch{return void i(!0)}i(!1)})(),d.label=3;case 3:return[2]}})})}function l(){navigator.webkitTemporaryStorage.queryUsageAndQuota(function(h,d){var v=Math.round(d/1048576),p=2*Math.round((function(){var m,P,y,b=window;return(y=(P=(m=b?.performance)===null||m===void 0?void 0:m.memory)===null||P===void 0?void 0:P.jsHeapSizeLimit)!==null&&y!==void 0?y:1073741824})()/1048576);i(v<p)},function(h){r(new Error("detectIncognito somehow failed to query storage quota: "+h.message))})}function c(){self.Promise!==void 0&&self.Promise.allSettled!==void 0?l():(0,window.webkitRequestFileSystem)(0,1,function(){i(!1)},function(){i(!0)})}function f(){var h;return $r(this,void 0,Promise,function(){var d,v,p;return Dr(this,function(m){switch(m.label){case 0:if(typeof((h=navigator.storage)===null||h===void 0?void 0:h.getDirectory)!="function")return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,navigator.storage.getDirectory()];case 2:return m.sent(),i(!1),[3,4];case 3:return d=m.sent(),v=d instanceof Error&&typeof d.message=="string"?d.message:String(d),i(v.includes("Security error")),[2];case 4:return[3,6];case 5:(p=indexedDB.open("inPrivate")).onerror=function(P){p.error&&p.error.name==="InvalidStateError"&&P.preventDefault(),i(!0)},p.onsuccess=function(){indexedDB.deleteDatabase("inPrivate"),i(!1)},m.label=6;case 6:return[2]}})})}(function(){return $r(this,void 0,Promise,function(){return Dr(this,function(h){switch(h.label){case 0:return o()!==44&&o()!==43?[3,2]:(n="Safari",[4,u()]);case 1:return h.sent(),[3,6];case 2:return o()!==51?[3,3]:(d=navigator.userAgent,n=d.match(/Chrome/)?navigator.brave!==void 0?"Brave":d.match(/Edg/)?"Edge":d.match(/OPR/)?"Opera":"Chrome":"Chromium",c(),[3,6]);case 3:return o()!==25?[3,5]:(n="Firefox",[4,f()]);case 4:return h.sent(),[3,6];case 5:navigator.msSaveBlob!==void 0?(n="Internet Explorer",i(window.indexedDB===void 0)):r(new Error("detectIncognito cannot determine the browser")),h.label=6;case 6:return[2]}var d})})})().catch(r)})];case 1:return[2,t.sent()]}})})}typeof window<"u"&&(window.detectIncognito=as);const ig=as;ns.A;const og=ns.k,pn="sesamy_incognito_mode";function is(){try{const t=sessionStorage.getItem(pn);return t===null?void 0:t==="true"}catch{return}}async function sg(){try{const t=sessionStorage.getItem(pn);if(t!==null)return t==="true";const{isPrivate:e}=await og();return sessionStorage.setItem(pn,e.toString()),e}catch{try{sessionStorage.setItem(pn,"false")}catch{}return!1}}function Mr(){return typeof window<"u"}function Xd(t,e,r,n,a){for(e=e.split?e.split("."):e,n=0;n<e.length;n++)t=t?t[e[n]]:a;return t===a?r:t}var cg="function",ug="string",ct="undefined",lg="boolean",mn="object",fg="array",dg="number",hg="symbol",vg="null",os=function(){},Qd="any",eh="*",Ht="__",pg="form",mg="input",gg="button",yg="select",gn=typeof process!==ct?process:{};gn.env&&gn.env.NODE_ENV;var Ne=typeof document!==ct;gn.versions!=null&&gn.versions.node!=null,typeof Deno!==ct&&Deno.core,Ne&&window.name==="nodejs"||typeof navigator!==ct&&typeof navigator.userAgent!==ct&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));function th(t,e){return e.charAt(0)[t]()+e.slice(1)}var wg=th.bind(null,"toUpperCase"),bg=th.bind(null,"toLowerCase");function Sg(t){return rh(t)?wg(vg):typeof t===mn?Rg(t):Object.prototype.toString.call(t).slice(8,-1)}function yn(t,e){e===void 0&&(e=!0);var r=Sg(t);return e?bg(r):r}function Fr(t,e){return typeof e===t}var We=Fr.bind(null,cg),Ct=Fr.bind(null,ug),cr=Fr.bind(null,ct),Ig=Fr.bind(null,lg);Fr.bind(null,hg);function rh(t){return t===null}function Pg(t){return yn(t)===dg&&!isNaN(t)}function nh(t){return yn(t)===fg}function Ve(t){if(!Eg(t))return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function Eg(t){return t&&(typeof t===mn||t!==null)}function Rg(t){return We(t.constructor)?t.constructor.name:null}function _g(t){return t instanceof Error||Ct(t.message)&&t.constructor&&Pg(t.constructor.stackTraceLimit)}function ah(t,e){if(typeof e!="object"||rh(e))return!1;if(e instanceof t)return!0;var r=yn(new t(""));if(_g(e))for(;e;){if(yn(e)===r)return!0;e=Object.getPrototypeOf(e)}return!1}ah.bind(null,TypeError),ah.bind(null,SyntaxError);function wn(t,e){var r=t instanceof Element||t instanceof HTMLDocument;return r&&e?Tg(t,e):r}function Tg(t,e){return e===void 0&&(e=""),t&&t.nodeName===e.toUpperCase()}function bn(t){var e=[].slice.call(arguments,1);return function(){return t.apply(void 0,[].slice.call(arguments).concat(e))}}bn(wn,pg),bn(wn,gg),bn(wn,mg),bn(wn,yg);function kg(t){return t?nh(t)?t:[t]:[]}function ih(t){try{return decodeURIComponent(t.replace(/\+/g," "))}catch{return null}}function Og(){if(Ne){var t=navigator,e=t.languages;return t.userLanguage||(e&&e.length?e[0]:t.language)}}function Cg(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{}}function Ag(t){return(function(e){for(var r,n=Object.create(null),a=/([^&=]+)=?([^&]*)/g;r=a.exec(e);){var i=ih(r[1]),o=ih(r[2]);if(i)if(i.substring(i.length-2)==="[]"){var s=n[i=i.substring(0,i.length-2)]||(n[i]=[]);n[i]=Array.isArray(s)?s:[],n[i].push(o)}else n[i]=o===""||o}for(var u in n){var l=u.split("[");l.length>1&&(Ug(n,l.map(function(c){return c.replace(/[?[\]\\ ]/g,"")}),n[u]),delete n[u])}return n})((function(e){return Ne&&window.location.search.substring(1)})())}function Ug(t,e,r){for(var n=e.length-1,a=0;a<n;++a){var i=e[a];if(i==="__proto__"||i==="constructor")break;i in t||(t[i]={}),t=t[i]}t[e[n]]=r}function Sn(){for(var t="",e=0,r=4294967295*Math.random()|0;e++<36;){var n="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[e-1],a=15&r;t+=n=="-"||n=="4"?n:(n=="x"?a:3&a|8).toString(16),r=e%8==0?4294967295*Math.random()|0:r>>4}return t}function jg(t,e){var r,n,a,i=null,o=0,s=function(){o=new Date,i=null,a=t.apply(r,n)};return function(){var u=new Date;o||(o=u);var l=e-(u-o);return r=this,n=arguments,l<=0?(clearTimeout(i),i=null,o=u,a=t.apply(r,n)):i||(i=setTimeout(s,l)),a}}var Bt="global",ur=Ht+Bt+Ht,lr=typeof self===mn&&self.self===self&&self||typeof global===mn&&global[Bt]===global&&global||void 0;function Gt(t){return lr[ur][t]}function Wt(t,e){return lr[ur][t]=e}function fr(t){delete lr[ur][t]}function dr(t,e,r){var n;try{if(ss(t)){var a=window[t];n=a[e].bind(a)}}catch{}return n||r}lr[ur]||(lr[ur]={});var In={};function ss(t){if(typeof In[t]!==ct)return In[t];try{var e=window[t];e.setItem(ct,ct),e.removeItem(ct)}catch{return In[t]=!1}return In[t]=!0}function te(){return te=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},te.apply(null,arguments)}var At="function",St="undefined",Kr="reducer",oh="@@redux/",cs=oh+"INIT",Lg=oh+Math.random().toString(36),sh=(function(){return typeof Symbol===At&&Symbol.observable||"@@observable"})(),Pn=" != "+At;function ch(t,e,r){var n;if(typeof e===At&&typeof r===St&&(r=e,e=void 0),typeof r!==St){if(typeof r!==At)throw new Error("enhancer"+Pn);return r(ch)(t,e)}if(typeof t!==At)throw new Error(Kr+Pn);var a=t,i=e,o=[],s=o,u=!1;function l(){s===o&&(s=o.slice())}function c(){return i}function f(d){if(typeof d!==At)throw new Error("Listener"+Pn);var v=!0;return l(),s.push(d),function(){if(v){v=!1,l();var p=s.indexOf(d);s.splice(p,1)}}}function h(d){if(!Ve(d))throw new Error("Act != obj");if(typeof d.type===St)throw new Error("ActType "+St);if(u)throw new Error("Dispatch in "+Kr);try{u=!0,i=a(i,d)}finally{u=!1}for(var v=o=s,p=0;p<v.length;p++)(0,v[p])();return d}return h({type:cs}),(n={dispatch:h,subscribe:f,getState:c,replaceReducer:function(d){if(typeof d!==At)throw new Error("next "+Kr+Pn);a=d,h({type:cs})}})[sh]=function(){var d,v=f;return(d={subscribe:function(p){if(typeof p!="object")throw new TypeError("Observer != obj");function m(){p.next&&p.next(c())}return m(),{unsubscribe:v(m)}}})[sh]=function(){return this},d},n}function Ng(t,e){var r=e&&e.type;return"action "+(r&&r.toString()||"?")+Kr+" "+t+" returns "+St}function hr(){var t=[].slice.call(arguments);return t.length===0?function(e){return e}:t.length===1?t[0]:t.reduce(function(e,r){return function(){return e(r.apply(void 0,[].slice.call(arguments)))}})}function qg(){var t=arguments;return function(e){return function(r,n,a){var i,o=e(r,n,a),s=o.dispatch,u={getState:o.getState,dispatch:function(l){return s(l)}};return i=[].slice.call(t).map(function(l){return l(u)}),te({},o,{dispatch:s=hr.apply(void 0,i)(o.dispatch)})}}}var Ut=Ht+"anon_id",Vt=Ht+"user_id",vr=Ht+"user_traits",us="analytics",jt="userId",pr="anonymousId",En=["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"],ls=["name","EVENTS","config","loaded"],re=En.reduce(function(t,e){return t[e]=e,t},{registerPluginType:function(t){return"registerPlugin:"+t},pluginReadyType:function(t){return"ready:"+t}}),uh=/^utm_/,lh=/^an_prop_/,fh=/^an_trait_/;function xg(t){var e=t.storage.setItem;return function(r){return function(n){return function(a){if(a.type===re.bootstrap){var i=a.params,o=a.user,s=a.persistedUser,u=a.initialUser,l=s.userId===o.userId;s.anonymousId!==o.anonymousId&&e(Ut,o.anonymousId),l||e(Vt,o.userId),u.traits&&e(vr,te({},l&&s.traits?s.traits:{},u.traits));var c=Object.keys(a.params);if(c.length){var f=i.an_uid,h=i.an_event,d=c.reduce(function(v,p){if(p.match(uh)||p.match(/^(d|g)clid/)){var m=p.replace(uh,"");v.campaign[m==="campaign"?"name":m]=i[p]}return p.match(lh)&&(v.props[p.replace(lh,"")]=i[p]),p.match(fh)&&(v.traits[p.replace(fh,"")]=i[p]),v},{campaign:{},props:{},traits:{}});r.dispatch(te({type:re.params,raw:i},d,f?{userId:f}:{})),f&&setTimeout(function(){return t.identify(f,d.traits)},0),h&&setTimeout(function(){return t.track(h,d.props)},0),Object.keys(d.campaign).length&&r.dispatch({type:re.campaign,campaign:d.campaign})}}return n(a)}}}}function $g(t){return function(e,r){if(e===void 0&&(e={}),r===void 0&&(r={}),r.type===re.setItemEnd){if(r.key===Ut)return te({},e,{anonymousId:r.value});if(r.key===Vt)return te({},e,{userId:r.value})}switch(r.type){case re.identify:return Object.assign({},e,{userId:r.userId,traits:te({},e.traits,r.traits)});case re.reset:return[Vt,Ut,vr].forEach(function(n){t.removeItem(n)}),Object.assign({},e,{userId:null,anonymousId:null,traits:{}});default:return e}}}function dh(t){return{userId:t.getItem(Vt),anonymousId:t.getItem(Ut),traits:t.getItem(vr)}}var fs=function(t){return Ht+"TEMP"+Ht+t};function Dg(t){var e=t.storage,r=e.setItem,n=e.removeItem,a=e.getItem;return function(i){return function(o){return function(s){var u=s.userId,l=s.traits,c=s.options;if(s.type===re.reset&&([Vt,vr,Ut].forEach(function(d){n(d)}),[jt,pr,"traits"].forEach(function(d){fr(fs(d))})),s.type===re.identify){a(Ut)||r(Ut,Sn());var f=a(Vt),h=a(vr)||{};f&&f!==u&&i.dispatch({type:re.userIdChanged,old:{userId:f,traits:h},new:{userId:u,traits:l},options:c}),u&&r(Vt,u),l&&r(vr,te({},h,l))}return o(s)}}}}var zr={};function hh(t,e){zr[t]&&We(zr[t])&&(zr[t](e),delete zr[t])}function vh(t,e,r){return new Promise(function(n,a){return e()?n(t):r<1?a(te({},t,{queue:!0})):new Promise(function(i){return setTimeout(i,10)}).then(function(i){return vh(t,e,r-10).then(n,a)})})}function Mg(t){return{abort:t}}function ph(t,e,r){var n={},a=e(),i=t.getState(),o=i.plugins,s=i.queue,u=i.user;if(!i.context.offline&&s&&s.actions&&s.actions.length){var l=s.actions.reduce(function(f,h,d){return o[h.plugin].loaded?(f.process.push(h),f.processIndex.push(d)):(f.requeue.push(h),f.requeueIndex.push(d)),f},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(l.processIndex&&l.processIndex.length){l.processIndex.forEach(function(f){var h=s.actions[f],d=h.plugin,v=h.payload.type,p=a[d][v];if(p&&We(p)){var m,P=(function(g,w){return g===void 0&&(g={}),w===void 0&&(w={}),[jt,pr].reduce(function(A,x){return g.hasOwnProperty(x)&&w[x]&&w[x]!==g[x]&&(A[x]=w[x]),A},g)})(h.payload,u),y=n[P.meta.rid];if(!y&&(m=p({payload:P,config:o[d].config,instance:r,abort:Mg}))&&Ve(m)&&m.abort)return void(n[P.meta.rid]=!0);if(!y){var b=v+":"+d;t.dispatch(te({},P,{type:b,_:{called:b,from:"queueDrain"}}))}}});var c=s.actions.filter(function(f,h){return!~l.processIndex.indexOf(h)});s.actions=c}}}var ds=function(t){var e=t.data,r=t.action,n=t.instance,a=t.state,i=t.allPlugins,o=t.allMatches,s=t.store,u=t.EVENTS;try{var l=a.plugins,c=a.context,f=r.type,h=f.match(mr),d=e.exact.map(function(m){return m.pluginName});h&&(d=o.during.map(function(m){return m.pluginName}));var v=(function(m,P){return function(y,b,g){var w=b.config,A=b.name,x=A+"."+y.type;g&&(x=g.event);var N=y.type.match(mr)?(function(z,B,ie,j,D){return function(L,k){var Y=j?j.name:z,ne=k&&Hr(k)?k:ie;if(j&&(!(ne=k&&Hr(k)?k:[z]).includes(z)||ne.length!==1))throw new Error("Method "+B+" can only abort "+z+" plugin. "+JSON.stringify(ne)+" input valid");return te({},D,{abort:{reason:L,plugins:ne,caller:B,_:Y}})}})(A,x,P,g,y):(function(z,B){return function(){throw new Error(z.type+" action not cancellable. Remove abort in "+B)}})(y,x);return{payload:Fg(y),instance:m,config:w||{},abort:N}}})(n,d),p=e.exact.reduce(function(m,P){var y=P.pluginName,b=P.methodName,g=!1;return b.match(/^initialize/)||b.match(/^reset/)||(g=!l[y].loaded),c.offline&&b.match(/^(page|track|identify)/)&&(g=!0),m[""+y]=g,m},{});return Promise.resolve(e.exact.reduce(function(m,P,y){var b=P.pluginName;return Promise.resolve(m).then(function(g){function w(){return Promise.resolve(g)}var A=(function(){if(e.namespaced&&e.namespaced[b])return Promise.resolve(e.namespaced[b].reduce(function(x,N,z){return Promise.resolve(x).then(function(B){return N.method&&We(N.method)?((function(L,k){var Y=Ph(L);if(Y&&Y.name===k){var ne=Ph(Y.method);throw new Error([k+" plugin is calling method "+L,"Plugins cant call self","Use "+Y.method+" "+(ne?"or "+ne.method:"")+" in "+k+" plugin insteadof "+L].join(`
35
- `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return te({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:yh(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(te({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),vs(N,w))return hs({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(vs(x,w))return g&&hs({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:yh(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=te({},x,ie),D=m[w];if(vs(D,w))hs({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(mh)&&!f.match(gh)&&n.dispatch(te({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match(gh)||f.match(mh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=te({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Sh(P,e.exact.length)&&!f.match(/End$/)&&(y=te({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},mr=/Start$/,mh=/^bootstrap/,gh=/^ready/;function hs(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(te({},t.data,{type:r,_:{called:r,from:"abort"}}))}function yh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function wh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function bh(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function vs(t,e){var r=t.abort;return!!r&&(r===!0||Ih(r,e)||r&&Ih(r.plugins,e))}function Sh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Ct(r))return!0;var n=r.plugins;return Hr(r)&&r.length===e||Hr(n)&&n.length===e}function Hr(t){return Array.isArray(t)}function Ih(t,e){return!(!t||!Hr(t))&&t.includes(e)}function Ph(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Fg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Kg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===re.enablePlugin&&a.dispatch({type:re.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===re.disablePlugin&&setTimeout(function(){return hh(o.meta.rid,{payload:o})},0),l===re.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return vh(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:re.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!ls.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(te({},{type:re.ready},w))},0)})}var b=(function(){if(l!==re.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return ph(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=We(w)?w():w,B=g.type,ie=B.replace(mr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(ne=j.plugins)===void 0&&(ne={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Ig(_[S])?_[S]:_.all!==!1&&(!ne[S]||ne[S].enabled!==!1)}).map(function(S){return Y[S]}));B===re.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=bh(S).map(function(F){return wh(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=bh(S,V).map(function(_e){return wh(_e,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(ds({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(mr))return Promise.resolve(ds({action:te({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&hh(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(Sh(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(ds({action:te({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,ne,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function zg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===re.setItem||a===re.removeItem){if(n.abort)return r(n);a===re.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Hg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return hr.apply(void 0,o)(n)(a)}}}}};function Bg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Eh(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},te({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Eh(r.type,re.initialize),l=t()[u];return l&&u?(n[u]=te({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),te({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=te({},e[r.name],{loaded:!0}),te({},e,n);switch(r.type){case re.disablePlugin:return te({},e,Rh(r.plugins,!1,e));case re.enablePlugin:return te({},e,Rh(r.plugins,!0,e));default:return e}}}function Eh(t,e){return t.substring(e.length+1,t.length)}function Rh(t,e,r){return t.reduce(function(n,a){return n[a]=te({},r[a],{enabled:e}),n},r)}function _h(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Gg={last:{},history:[]};function Wg(t,e){t===void 0&&(t=Gg);var r=e.options,n=e.meta;if(e.type===re.track){var a=_h(te({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return te({},t,{last:a,history:t.history.concat(a)})}return t}var Vg={actions:[]};function Jg(t,e){t===void 0&&(t=Vg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===re.identify?[e].concat(t.actions):t.actions.concat(e),te({},t,{actions:n});case"dequeue":return[];default:return t}}var Th=/#.*$/;function Zg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Th,""):"")}var kh,Oh,Ch,Ah,Yg=function(t){if(t===void 0&&(t={}),!Ne)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ne){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Th,"")})(l),f={title:r,url:c,path:Zg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),te({},f,t)},Xg={last:{},history:[]};function Qg(t,e){t===void 0&&(t=Xg);var r=e.options;if(e.type===re.page){var n=_h(te({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return te({},t,{last:n,history:t.history.concat(n)})}return t}kh=(function(){if(!Ne)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"})(),Oh=Ne?document.referrer:null,Ch=Og(),Ah=Cg();var Uh={initialized:!1,sessionId:Sn(),app:null,version:null,debug:!1,offline:!!Ne&&!navigator.onLine,os:{name:kh},userAgent:Ne?navigator.userAgent:"node",library:{name:us,version:"0.13.1"},timezone:Ah,locale:Ch,campaign:{},referrer:Oh};function ey(t,e){t===void 0&&(t=Uh);var r=t.initialized,n=e.campaign;switch(e.type){case re.campaign:return te({},t,{campaign:n});case re.offline:return te({},t,{offline:!0});case re.online:return te({},t,{offline:!1});default:return r?t:te({},Uh,t,{initialized:!0})}}var ty=["plugins","reducers","storage"];function ry(t,e,r){if(Ne){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ny(t){var e=ry.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function jh(){return Wt(us,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return lr[ur][us].push(o.action||o),i(o)}})}}}function Lh(t){return function(){return hr(hr.apply(null,arguments),jh())}}function ps(t){return t?nh(t)?t:[t]:[]}function Nh(t,e,r){t===void 0&&(t={});var n,a,i=Sn();return e&&(zr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(We(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),te({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ay(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(We(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),_e=0;_e<le.length;_e++)se[_e]=le[_e];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Gt,setItem:Wt,removeItem:fr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:dh(S)[_]||Gt(fs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!ls.includes(S)}).sort(),u=new Set(s.concat(En).filter(function(S){return!ls.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new Hg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Ag(),P=dh(a),y=te({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Sn());var b=te({enable:function(S,_){return new Promise(function(q){k.dispatch({type:re.enablePlugin,plugins:ps(S),_:{originalAction:re.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:re.disablePlugin,plugins:ps(S),_:{originalAction:re.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=Ct(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Wt(fs(jt),Z);var le=Z||V.userId||i(jt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(te({type:re.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!Ct(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:re.trackStart,event:Z,properties:V,options:he,userId:i(jt,w,_),anonymousId:i(pr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:re.pageStart,properties:Yg(F),options:Z,userId:i(jt,w,F),anonymousId:i(pr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===jt||S==="id")return i(jt,w);if(S===pr||S==="anonId")return i(pr,w);var _=w.getState("user");return S?Xd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:re.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(re.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Rn),h(Z,_n),function(){d(F,Rn),d(Z,_n)}}var V=S.match(q)?Rn:_n,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?Xd(_,S):Object.assign({},_)},dispatch:function(S){var _=Ct(S)?{type:S}:S;if(En.includes(_.type))throw new Error("reserved action "+_.type);var q=te({},_,{_:te({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:re.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:re.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:En,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Nh()),_(q)}}},v(Rn),Kg(w,c,{all:l,plugins:s}),zg(a),xg(w),Dg(w),v(_n)]),x={context:ey,user:$g(a),page:Qg,track:Wg,plugins:Bg(c),queue:Jg},N=hr,z=hr;if(Ne&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?jh():Ve(typeof arguments[0])?Lh():Lh().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ty.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=ch((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===At&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:cs})===St||typeof se(void 0,{type:Lg})===St)throw new Error(Kr+" "+le+" "+St)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,_e={},xe=0;xe<he.length;xe++){var Ke=he[xe],Ce=oe[Ke],Ye=(0,q[Ke])(Ce,le);if(typeof Ye===St){var dt=Ng(Ke,le);throw new Error(dt)}_e[Ke]=Ye,se=se||Ye!==Ce}return se?_e:oe}})(te({},x,e)),L,z(N(qg.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=te({},S,{meta:Nh(S.meta,_,ps(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:re.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var ne=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:re.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&We(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:re.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:re.initializeStart,plugins:ne,disabled:Q})}),ny(function(S){k.dispatch({type:S?re.offline:re.online})}),(function(S,_,q){setInterval(function(){return ph(S,_,q)},3e3)})(k,c,w),w}var Rn="before",_n="after",Jt="cookie",Zt=$h(),qh=Tn,iy=Tn;function xh(t){return Zt?Tn(t,"",-1):fr(t)}function $h(){if(Zt!==void 0)return Zt;var t=Jt+Jt;try{Tn(t,t),Zt=document.cookie.indexOf(t)!==-1,xh(t)}catch{Zt=!1}return Zt}function Tn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Zt===!1&&(o?Wt(t,e):Gt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var It="localStorage",oy=ss.bind(null,It);dr(It,"getItem",Gt),dr(It,"setItem",Wt),dr(It,"removeItem",fr);var Pt="sessionStorage",sy=ss.bind(null,Pt);dr(Pt,"getItem",Gt),dr(Pt,"setItem",Wt),dr(Pt,"removeItem",fr);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var cy=oy(),uy=sy(),ly=$h();function Yt(t,e){if(t){var r=ms(e),n=!bs(r),a=gs(r)?gr(localStorage.getItem(t)):void 0;if(n&&!cr(a))return a;var i=ys(r)?gr(qh(t)):void 0;if(n&&i)return i;var o=ws(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Gt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function kn(t,e,r){if(t&&!cr(e)){var n={},a=ms(r),i=JSON.stringify(e),o=!bs(a);return gs(a)&&(n[It]=Cn(It,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[It]:ys(a)&&(n[Jt]=Cn(Jt,e,gr(qh(t))),iy(t,i),o)?n[Jt]:ws(a)&&(n[Pt]=Cn(Pt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Pt]:(n[Bt]=Cn(Bt,e,Gt(t)),Wt(t,e),o?n[Bt]:n)}}function fy(t,e){if(t){var r=ms(e),n=Yt(t,eh),a={};return!cr(n.localStorage)&&gs(r)&&(localStorage.removeItem(t),a[It]=n.localStorage),!cr(n.cookie)&&ys(r)&&(xh(t),a[Jt]=n.cookie),!cr(n.sessionStorage)&&ws(r)&&(sessionStorage.removeItem(t),a[Pt]=n.sessionStorage),!cr(n.global)&&On(r,Bt)&&(fr(t),a[Bt]=n.global),a}}function ms(t){return t?Ct(t)?t:t.storage:Qd}function gs(t){return cy&&On(t,It)}function ys(t){return ly&&On(t,Jt)}function ws(t){return uy&&On(t,Pt)}function bs(t){return t===eh||t==="all"}function On(t,e){return t===Qd||t===e||bs(t)}function Cn(t,e,r){return{location:t,current:e,previous:r}}var dy={setItem:kn,getItem:Yt,removeItem:fy};function hy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Dh(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Mh(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Dh(Object(r),!0).forEach(function(n){hy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dh(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function vy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:dy};return ay(Mh(Mh({},e),t))}const Ss="@sesamy/sesamy-js",An="1.55.0";function py(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=gy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function my(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function gy(t){return["#","?"].forEach(e=>t=my(t,e)),t}function yy(){py(()=>{Et.page()})}var Is="up",Ps="down";function wy(t){if(t===void 0&&(t={}),!Ne)return os;var e=Kh(),r=Es(),n=Fh(),a=Un(n,e),i=Un(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return os;var d=h.map(function(p){return Number(p)}),v=jg(function(){var p=Kh(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=Es(),y=Fh(),b=Un(y,p),g=Un(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Is;w?A="initial":l<=y&&(A=Ps);var x=m,N=d;(A===Is||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Ps&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Is&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Ps&&z.callbacks&&z.callbacks.forEach(function(j){We(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;We(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Es(){return Ne?document.body.scrollTop||document.documentElement.scrollTop:0}function by(){return Ne?window.innerHeight||document.documentElement.clientHeight:0}function Fh(){return Math.round(Es()+by())}function Kh(){if(!Ne)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Un(t,e){return Math.round(t/e*100)}var Rs="Event",zh=Rs+"Listener";function Sy(t){return function(e,r,n,a){var i=n||os,o=a||!1;if(!Ne)return i;var s=jn(r),u=jn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Rs);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+zh:"remove"+zh,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Iy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function jn(t,e){if(Ct(t))return e?jn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=kg(t);return e?i.map(function(o){return Ct(o)?jn(o,!0):o}).flat():i}function Iy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var _s=Sy(Rs);function Hh(t,e){return Ne&&We(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),We(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hh.bind(null,"onerror"),Hh.bind(null,"onload");var Bh=typeof window>"u",Gh="hidden";function Py(t){if(Bh)return!1;var e=Ey(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Ey(){var t=["webkit","moz","ms","o"];return Bh||Gh in document?Gh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ry=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function _y(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Py(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ry.map(function(s){return _s(document,s,r)})).concat(_s(window,"load",r)).concat(_s(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Ty(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Br(h),m),a&&c&&(c=!1,a(Br(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Br(h),m))},s)}var p=_y(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Br(h,f),idle:c?Br(r,f):0}}}}function Br(t,e){return e?0:Math.round((new Date-t)/1e3)}const Wh=5e3;class ky{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Ty({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Wh}),wy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*Wh:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Vh(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Oy(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Jh="sesamy_session_id";function Cy(){let t=sessionStorage.getItem(Jh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Jh,t)),t}function Zh(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function Ay(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Je={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Yh=[],Xh=!1,Xt;function Qh(){const t=window.location.pathname;return Yh.find(e=>e.path?t.includes(e.path):!0)}function Uy(t,e){Yh=t.content||[],Xh=t.enablePaywallSettingsUrlFallback||!1;const r=Qh();r&&r.type==="article"&&(Je={...Je,...Ay(r.selectors)}),Xt=e}function jy(t,e){const{selector:r}=e;return r===Je.article.selector?t:t.querySelector(r)}function ev(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??ev(t.parentElement,e):t.textContent??void 0}function yr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function tv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||yr(`sesamy:${e}`)||yr(`og:${e}`)||yr(e)||r}function Ly(){const t=document.querySelectorAll(Je.article.selector);return Array.from(t).map(Ln).filter(e=>e!==null)}function Ln(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Zh(e)},n=(i,o,s,u)=>{const l=jy(e,o);if(l){const c=ev(l,o)||tv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Je.id),n("title",Je.title,r.id),n("excerpt",Je.excerpt,r.id),n("image",Je.image,r.id),n("price",Je.price,r.id,i=>parseFloat(i)),n("currency",Je.currency,r.id),n("url",Je.url,r.id),n("pass",Je.pass,r.id),n("paywallUrl",Je.paywallUrl,r.id),n("accessLevel",Je.accessLevel,r.id,i=>i||"entitlement");const a=Qh();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Xh&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function Ny(t){const e=Ln(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Xt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Xt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Xt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function qy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Ln(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Xt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Xt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Zh(r.parentElement||r);return Xt.proxy.getContent(i.token,n.url,o)}let rv=!1,Nn,qn,Ts;function nv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ts,requestId:Math.random().toString(36).slice(2,9),sessionId:Cy(),timestamp:new Date().toISOString(),version:An,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:yr("sesamy:item-src"),publisherContentId:yr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Ss,userAgent:navigator.userAgent,clientId:Ts}}}))}const av=Oy(async t=>{if(t.length>0){const e=nv(t);rv?navigator.sendBeacon(qn,e):(await fetch(qn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ks(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(qn,nv([e]))}else av.push(t)}function xy(){return rv=!0,av.flush()}function $y(t,e,r){Nn=e,qn=`${ft("logs",r)}/events`,Ts=t}const Dy={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Nn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Nn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Nn)return;const{properties:e,anonymousId:r,userId:n}=t;ks({anonymousId:r,userId:n,properties:e,type:"identify"})}},iv=["source","medium","campaign","term","content"],Lt="utm_",My=1800*1e3;function ov(t){return t?Date.now()-parseInt(t,10)>My:!0}function sv(){const t=document.referrer||"";if(!t)return;const e=Yt(`${Lt}set_at`);(ov(e)||!Yt(`${Lt}referrer`))&&kn(`${Lt}referrer`,t)}function Fy(){const t=()=>{const r={};for(const a of iv){const i=Yt(`${Lt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Yt(`${Lt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){sv()},campaign({payload:r}){const n=r?.campaign||{},a=Yt(`${Lt}set_at`);if(Object.keys(n).length>0&&ov(a)){for(const o of iv){const s=n[o];s&&kn(`${Lt}${o}`,s)}kn(`${Lt}set_at`,String(Date.now()))}sv()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Ky=Fy(),cv=new Map,uv=new Map;function zy({clientId:t,enabled:e=!0,environment:r}){$y(t,e,r),e&&(window.addEventListener("beforeunload",()=>{uv.forEach((n,a)=>{n.bind(a)()}),xy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&cv.forEach((n,a)=>{n.bind(a)()})}),yy(),Vh(()=>{const n=new ky({element:document.body,viewCallback:()=>{Et.page()},activeDurationCallback:(a,i,o)=>{Et.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{Et.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{Et.track("scroll",{scroll:a.scrollMax})}});uv.set(document.body,()=>{n.flush()}),cv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ge.AUTHENTICATED,async n=>{const a=n;await Et.identify(a.detail.sub)}),window.addEventListener(Ge.LOGOUT,async()=>{await Et.track("logout",{}),await Et.reset()}))}const Et=vy({app:Ss,version:An,plugins:[Ky,Dy]});function lv(t,e){Et.track(t,e)}function fv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});lv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Hy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function By(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Gy(){return/android/i.test(navigator.userAgent)}let qe,dv,Gr,Os=!1,xn=!1;Mr()&&window.addEventListener("pageshow",()=>{xn=!1});const wr="sesamyAccessToken",Cs="sesamyRefreshToken",$n="sesamySilentAuthThrottle",Wy=300*1e3;async function Dn(){return Os?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Os?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ge.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Vy(t){if(!t)return null;const e=localStorage.getItem(Cs);if(!e)return ve("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Cs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Cs,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{js()}}async function As(){const t=localStorage.getItem(wr);if(!t)return null;const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Vy(e);if(r)return r;localStorage.removeItem(wr)}return t}let Mn=null;const Jy=64;function Zy(){try{if(Mn!==null)return Mn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Jy)return Mn=!0,!0}}catch(t){ve(`Error checking for existing auth0 tokens: ${t.message}`)}return Mn=!1,!1}function Yy(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`https://${r}`)===e)return ve(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ve(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ve(`Using fallback domain property: ${t.domain}`),t.domain}function br(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Xy(t){if(t.enabled===!1)return;dv=t.organization;const e=Yy(t);Gr=e&&!Zy()?e:Yd("token",t.environment);const r={domain:Gr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${Gr}`)&&(r.useRefreshTokens=!0),ve(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await tg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ve("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ve("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();ve(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw ve("No user found"),new Error("No user found");ve(`User found ${JSON.stringify(l)}`),Us(),Ot(Ge.AUTHENTICATED,l),ve("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Os=!0,Ot(Ge.AUTH_INITIALIZED,{})}async function Wr(){return await Dn(),await As()?!0:qe?qe.isAuthenticated():!1}async function Qy(){return await Dn(),await As()?(ve("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function hv(t){if(xn)return ve("Login already in progress"),null;if(xn=!0,setTimeout(()=>{xn=!1},3e3),localStorage.removeItem(wr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:dv,redirect_uri:window.location.href,ui_locales:vn(),incognito:is(),...e}}}async function Fn(t){const e=hv(t);if(e)return qe.loginWithRedirect(e)}async function vv(t){const e=hv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Us(),fv(Ge.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function ew(t){return Gr&&br(window.location.href)!==br(`https://${Gr}`)&&(By()||Gy()||is())?vv(t):Fn(t)}function tw(){try{const t=sessionStorage.getItem($n);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Wy}catch{return sessionStorage.removeItem($n),!1}}function rw(){try{const t={timestamp:Date.now()};sessionStorage.setItem($n,JSON.stringify(t))}catch{ve("Failed to set silent auth throttle in sessionStorage")}}function Us(){try{sessionStorage.removeItem($n)}catch{}}async function Qt(t=!0,e=!1){await Dn();const r=await As();if(r)return r;if(!e&&tw()){if(ve("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return ve("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=Ls(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Us(),n}catch(n){const a=n;if(ve(`Failed to get token silently: ${a.message}`),rw(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await js(),t)throw n;return null}}async function js(t={}){if(await Dn(),localStorage.removeItem(wr),Ot(Ge.LOGOUT,{}),!!qe)return ve(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Ls(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ns(t){const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ve("Set token"),localStorage.setItem(wr,t),Ot(Ge.AUTHENTICATED,e)}const nw=(t,e)=>e.skipDedupe||e.method!=="GET",aw=(t,e)=>e.method+"@"+t,iw=t=>t.clone(),pv=({skip:t=nw,key:e=aw,resolver:r=iw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},ow=(t,e)=>t*e,sw=t=>t&&t.ok,mv=({delayTimer:t=500,delayRamp:e=ow,maxAttempts:r=10,until:n=sw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class cw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function qs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function gv(t,e){if(qs(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function yv(t){return t.endsWith("/")?t.slice(0,-1):t}function wv(t,e){if(!qs(t)||!qs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&yv(r.pathname)===yv(n.pathname)}function uw(t,e,r){const n=new URL(`${ft("checkout3",t.environment)}`);if(e.language&&n.searchParams.set("lang",e.language),e.sku)n.searchParams.set("sku",e.sku),e.purchaseOptionId&&n.searchParams.set("po-id",e.purchaseOptionId);else if(e.itemSrc){const{sku:s,purchaseOption:u,itemSrc:l}=gv(e.itemSrc,e.purchaseOptionId);l&&n.searchParams.set("url",l),s&&n.searchParams.set("sku",s),u&&n.searchParams.set("po-id",u)}e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const a=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(s=>{const[u,l]=s.trim().split("=");return{key:u,value:l}}).filter(s=>a.some(u=>u===s.key)).forEach(s=>{n.searchParams.append(s.key,s.value)});let o=new URL(window.location.href);if(e.redirectUrl)try{o=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return o.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&o.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",o.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:s,methods:u})=>u?u.map(l=>`${s}|${l}`):s).join(",")),n}const bv="sesamySignedURLs";function xs(){const t=sessionStorage.getItem(bv);return t?JSON.parse(t):[]}function lw(t){const e=xs();e.push(t),ve(`Adding signed URL: ${t}`),sessionStorage.setItem(bv,JSON.stringify(e))}function fw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const $s="sesamyAttribution";function dw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function hw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Kn(){return dw($s)||{}}function Sv(t){if(t===null)localStorage.removeItem($s);else{ve(`Setting attribution ${JSON.stringify(t)}`);const e=Kn()??{},r=fw({...e,...hw(t)});localStorage.setItem($s,JSON.stringify({value:r}))}}function vw(t){const e=t.endpoint||ft("api2",t.environment),r=async()=>{const T=await Qt(!0);if(!T)throw new Error("No access token available");return T},n=ke.client({baseUrl:e,tokenProvider:r,libraryName:Ss,libraryVersion:An,vendorId:t.vendorId,cache:{mode:ke.CacheMode.BROWSER,storage:new cw}}),a=T=>async(K,J)=>{let ae=sessionStorage.getItem(Jd);ae||(ae=Date.now().toString(),sessionStorage.setItem(Jd,ae));const me={...J,headers:{...J.headers,"Cache-Timestamp":ae}};return T(K,me)},i=(T=!0)=>K=>async(J,ae)=>{let me=null;if(me=await Qt(T),!me){if(T)throw new Error("No access token available");return K(J,ae)}const ze={...ae,headers:{...ae.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,ze)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const ae=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${ae}:`),ze={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,ze)},s=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),pv(),mv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,pv(),mv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,ae=await Wr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&ae.push(...xs()),ae}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:ze,purchaseOption:M}=gv(T);return!!("sku"in me&&ze===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||wv(T,me.url)||K.some(ee=>wv(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const ae=new URL(ft("api2",t.environment));return ae.pathname="/proxy",ae.searchParams.set("url",K),J&&ae.searchParams.set("selector",J),ke.wretch(ae.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Wr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return ke.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function ne(T){const K=await u.url(`/tallies/${T}`).delete().res();return ke.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await Qt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return ke.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await Qt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ft("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&ke.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await ke.wretch(ag).post({url:T,ttl:K}).json();return J}async function se(T){const K=await Qt(!1,!0);let J;const ae=T.language||vn(),me=Kn();switch(T.target){case"account":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ft("consume",t.environment)}/${encodeURIComponent(T.language||ae)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=uw(t,{language:ae,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function _e(T){const K=Kn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const ze=K,[M,ee]=me.trim().split("=");J.includes(M)&&!ze[M]&&(ze[M]=ee)}),(await u.url("/checkouts").post({language:vn(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function xe(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Ke(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function Ce(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function dt(){return(await s.url("/vendors").get()).json()}async function ht(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function Rt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function _t(){const T=await Qt(!1),K=new URL(`${ft("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:Rt,createAmendment:ht,createCheckout:_e,deleteTag:D,deleteTally:ne,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Ke,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:Ce,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:_t,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:xe,updateProfile:q,getVendorSettings:Ye,listVendors:dt}}const pw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function mw(){return new Promise(t=>{const e=pw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function gw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const Iv="sesamyFlags";async function Pv(t){try{localStorage.setItem(Iv,JSON.stringify(t))}catch{ve("Failed to save flags to localStorage")}}async function yw(t,e){const r=await zn();r[t]=e,await Pv(r)}async function ww(t){return(await zn())[t]}async function bw(t){const e=await zn();t in e&&(delete e[t],await Pv(e))}async function zn(){try{const t=localStorage.getItem(Iv);return t?JSON.parse(t):{}}catch{return{}}}function Sw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:ne,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=vw(t),le={analytics:{track:lv},attribution:{get:Kn,set:Sv},auth:{getUser:b,getTokenSilently:Qt,isAuthenticated:Wr,loginWithRedirect:Fn,loginWithPopup:vv,login:ew,logout:js,setToken:Ns},bills:{get:u,list:l},browser:{detectAdblock:mw,isInAppBrowser:gw,isIncognito:is},checkouts:{create:n,get:c,update:he},clearCache:ke.clearCache,content:{list:Ly,get:Ln,getLanguage:vn,hasAccess:Ny,unlock:qy,getPropertyFromHTML:tv},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:xs},events:{emit:fv,cancel:Hy},flags:{get:ww,set:yw,list:zn,delete:bw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:Iw,isReady:()=>mt.isInitialized,log:ve,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:ne},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:Ns};return t.namespace&&(window[t.namespace]=le),le}function Iw(){return An}function Pw(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
35
+ `))}})(N.methodName,N.pluginName),Promise.resolve(N.method({payload:B,instance:n,abort:(ie=B,j=b,D=N.pluginName,function(L,k){return te({},ie,{abort:{reason:L,plugins:k||[j],caller:f,from:D||j}})}),config:yh(N.pluginName,l,i),plugins:l})).then(function(L){var k=Ve(L)?L:{};return Promise.resolve(te({},B,k))})):B;var ie,j,D})},Promise.resolve(r))).then(function(x){g[b]=x});g[b]=r})();return A&&A.then?A.then(w):w()})},Promise.resolve({}))).then(function(m){return Promise.resolve(e.exact.reduce(function(P,y,b){try{var g=e.exact.length===b+1,w=y.pluginName,A=i[w];return Promise.resolve(P).then(function(x){var N=m[w]?m[w]:{};if(h&&(N=x),vs(N,w))return hs({data:N,method:f,instance:n,pluginName:w,store:s}),Promise.resolve(x);if(vs(x,w))return g&&hs({data:x,method:f,instance:n,store:s}),Promise.resolve(x);if(p.hasOwnProperty(w)&&p[w]===!0)return s.dispatch({type:"queue",plugin:w,payload:N,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(x);var z=v(m[w],i[w]);return Promise.resolve(A[f]({abort:z.abort,payload:N,instance:n,config:yh(w,l,i),plugins:l})).then(function(B){var ie=Ve(B)?B:{},j=te({},x,ie),D=m[w];if(vs(D,w))hs({data:D,method:f,instance:n,pluginName:w,store:s});else{var L=f+":"+w;(L.match(/:/g)||[]).length<2&&!f.match(mh)&&!f.match(gh)&&n.dispatch(te({},h?j:N,{type:L,_:{called:L,from:"submethod"}}))}return Promise.resolve(j)})})}catch(x){return Promise.reject(x)}},Promise.resolve(r))).then(function(P){if(!(f.match(mr)||f.match(/^registerPlugin/)||f.match(gh)||f.match(mh)||f.match(/^params/)||f.match(/^userIdChanged/))){if(u.plugins.includes(f),P._&&P._.originalAction===f)return P;var y=te({},P,{_:{originalAction:P.type,called:P.type,from:"engineEnd"}});Sh(P,e.exact.length)&&!f.match(/End$/)&&(y=te({},y,{type:P.type+"Aborted"})),s.dispatch(y)}return P})})}catch(m){return Promise.reject(m)}},mr=/Start$/,mh=/^bootstrap/,gh=/^ready/;function hs(t){var e=t.pluginName,r=t.method+"Aborted"+(e?":"+e:"");t.store.dispatch(te({},t.data,{type:r,_:{called:r,from:"abort"}}))}function yh(t,e,r){var n=e[t]||r[t];return n&&n.config?n.config:{}}function wh(t,e){return e.reduce(function(r,n){return n[t]?r.concat({methodName:t,pluginName:n.name,method:n[t]}):r},[])}function bh(t,e){var r=t.replace(mr,""),n=e?":"+e:"";return[""+t+n,""+r+n,r+"End"+n]}function vs(t,e){var r=t.abort;return!!r&&(r===!0||Ih(r,e)||r&&Ih(r.plugins,e))}function Sh(t,e){var r=t.abort;if(!r)return!1;if(r===!0||Ct(r))return!0;var n=r.plugins;return Hr(r)&&r.length===e||Hr(n)&&n.length===e}function Hr(t){return Array.isArray(t)}function Ih(t,e){return!(!t||!Hr(t))&&t.includes(e)}function Ph(t){var e=t.match(/(.*):(.*)/);return!!e&&{method:e[1],name:e[2]}}function Fg(t){return Object.keys(t).reduce(function(e,r){return r==="type"||(e[r]=Ve(t[r])?Object.assign({},t[r]):t[r]),e},{})}function Kg(t,e,r){var n={};return function(a){return function(i){return function(o){try{var s,u=function(g){return s?g:i(f)},l=o.type,c=o.plugins,f=o;if(o.abort)return Promise.resolve(i(o));if(l===re.enablePlugin&&a.dispatch({type:re.initializeStart,plugins:c,disabled:[],fromEnable:!0,meta:o.meta}),l===re.disablePlugin&&setTimeout(function(){return hh(o.meta.rid,{payload:o})},0),l===re.initializeEnd){var h=e(),d=Object.keys(h),v=d.filter(function(g){return c.includes(g)}).map(function(g){return h[g]}),p=[],m=[],P=o.disabled,y=v.map(function(g){var w=g.loaded,A=g.name,x=g.config;return vh(g,function(){return w({config:x})},1e4).then(function(N){return n[A]||(a.dispatch({type:re.pluginReadyType(A),name:A,events:Object.keys(g).filter(function(z){return!ls.includes(z)})}),n[A]=!0),p=p.concat(A),g}).catch(function(N){if(N instanceof Error)throw new Error(N);return m=m.concat(N.name),N})});Promise.all(y).then(function(g){var w={plugins:p,failed:m,disabled:P};setTimeout(function(){d.length===y.length+P.length&&a.dispatch(te({},{type:re.ready},w))},0)})}var b=(function(){if(l!==re.bootstrap)return/^ready:([^:]*)$/.test(l)&&setTimeout(function(){return ph(a,e,t)},0),Promise.resolve((function(g,w,A,x,N){try{var z=We(w)?w():w,B=g.type,ie=B.replace(mr,"");if(g._&&g._.called)return Promise.resolve(g);var j=A.getState(),D=(Y=z,(ne=j.plugins)===void 0&&(ne={}),(Q=g.options)===void 0&&(Q={}),Object.keys(Y).filter(function(S){var _=Q.plugins||{};return Ig(_[S])?_[S]:_.all!==!1&&(!ne[S]||ne[S].enabled!==!1)}).map(function(S){return Y[S]}));B===re.initializeStart&&g.fromEnable&&(D=Object.keys(j.plugins).filter(function(S){var _=j.plugins[S];return g.plugins.includes(S)&&!_.initialized}).map(function(S){return z[S]}));var L=D.map(function(S){return S.name}),k=(function(S,_){var q=bh(S).map(function(F){return wh(F,_)});return _.reduce(function(F,Z){var V=Z.name,he=bh(S,V).map(function(_e){return wh(_e,_)}),oe=he[0],le=he[1],se=he[2];return oe.length&&(F.beforeNS[V]=oe),le.length&&(F.duringNS[V]=le),se.length&&(F.afterNS[V]=se),F},{before:q[0],beforeNS:{},during:q[1],duringNS:{},after:q[2],afterNS:{}})})(B,D);return Promise.resolve(ds({action:g,data:{exact:k.before,namespaced:k.beforeNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(S){function _(){var Z=(function(){if(B.match(mr))return Promise.resolve(ds({action:te({},q,{type:ie+"End"}),data:{exact:k.after,namespaced:k.afterNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(V){V.meta&&V.meta.hasCallback&&hh(V.meta.rid,{payload:V})})})();return Z&&Z.then?Z.then(function(){return S}):S}if(Sh(S,L.length))return S;var q,F=(function(){if(B!==ie)return Promise.resolve(ds({action:te({},S,{type:ie}),data:{exact:k.during,namespaced:k.duringNS},state:j,allPlugins:z,allMatches:k,instance:A,store:x,EVENTS:N})).then(function(Z){q=Z});q=S})();return F&&F.then?F.then(_):_()})}catch(S){return Promise.reject(S)}var Y,ne,Q})(o,e,t,a,r)).then(function(g){var w=i(g);return s=1,w})})();return Promise.resolve(b&&b.then?b.then(u):u(b))}catch(g){return Promise.reject(g)}}}}}function zg(t){return function(e){return function(r){return function(n){var a=n.type,i=n.key,o=n.value,s=n.options;if(a===re.setItem||a===re.removeItem){if(n.abort)return r(n);a===re.setItem?t.setItem(i,o,s):t.removeItem(i,s)}return r(n)}}}}var Hg=function(){var t=this;this.before=[],this.after=[],this.addMiddleware=function(e,r){t[r]=t[r].concat(e)},this.removeMiddleware=function(e,r){var n=t[r].findIndex(function(a){return a===e});n!==-1&&(t[r]=[].concat(t[r].slice(0,n),t[r].slice(n+1)))},this.dynamicMiddlewares=function(e){return function(r){return function(n){return function(a){var i={getState:r.getState,dispatch:function(s){return r.dispatch(s)}},o=t[e].map(function(s){return s(i)});return hr.apply(void 0,o)(n)(a)}}}}};function Bg(t){return function(e,r){e===void 0&&(e={});var n={};if(r.type==="initialize:aborted")return e;if(/^registerPlugin:([^:]*)$/.test(r.type)){var a=Eh(r.type,"registerPlugin"),i=t()[a];if(!i||!a)return e;var o=r.enabled,s=i.config;return n[a]={enabled:o,initialized:!!o&&!i.initialize,loaded:!!o&&!!i.loaded({config:s}),config:s},te({},e,n)}if(/^initialize:([^:]*)$/.test(r.type)){var u=Eh(r.type,re.initialize),l=t()[u];return l&&u?(n[u]=te({},e[u],{initialized:!0,loaded:!!l.loaded({config:l.config})}),te({},e,n)):e}if(/^ready:([^:]*)$/.test(r.type))return n[r.name]=te({},e[r.name],{loaded:!0}),te({},e,n);switch(r.type){case re.disablePlugin:return te({},e,Rh(r.plugins,!1,e));case re.enablePlugin:return te({},e,Rh(r.plugins,!0,e));default:return e}}}function Eh(t,e){return t.substring(e.length+1,t.length)}function Rh(t,e,r){return t.reduce(function(n,a){return n[a]=te({},r[a],{enabled:e}),n},r)}function _h(t){try{return JSON.parse(JSON.stringify(t))}catch{}return t}var Gg={last:{},history:[]};function Wg(t,e){t===void 0&&(t=Gg);var r=e.options,n=e.meta;if(e.type===re.track){var a=_h(te({event:e.event,properties:e.properties},Object.keys(r).length&&{options:r},{meta:n}));return te({},t,{last:a,history:t.history.concat(a)})}return t}var Vg={actions:[]};function Jg(t,e){t===void 0&&(t=Vg);var r=e.payload;switch(e.type){case"queue":var n;return n=r&&r.type&&r.type===re.identify?[e].concat(t.actions):t.actions.concat(e),te({},t,{actions:n});case"dequeue":return[];default:return t}}var Th=/#.*$/;function Zg(t){var e=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(t);return"/"+(e&&e[3]?e[3].split("?")[0].replace(Th,""):"")}var kh,Oh,Ch,Ah,Yg=function(t){if(t===void 0&&(t={}),!Ne)return t;var e=document,r=e.title,n=e.referrer,a=window,i=a.location,o=a.innerWidth,s=a.innerHeight,u=i.hash,l=i.search,c=(function(h){var d=(function(){if(Ne){for(var v,p=document.getElementsByTagName("link"),m=0;v=p[m];m++)if(v.getAttribute("rel")==="canonical")return v.getAttribute("href")}})();return d?d.match(/\?/)?d:d+h:window.location.href.replace(Th,"")})(l),f={title:r,url:c,path:Zg(c),hash:u,search:l,width:o,height:s};return n&&n!==""&&(f.referrer=n),te({},f,t)},Xg={last:{},history:[]};function Qg(t,e){t===void 0&&(t=Xg);var r=e.options;if(e.type===re.page){var n=_h(te({properties:e.properties,meta:e.meta},Object.keys(r).length&&{options:r}));return te({},t,{last:n,history:t.history.concat(n)})}return t}kh=(function(){if(!Ne)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"})(),Oh=Ne?document.referrer:null,Ch=Og(),Ah=Cg();var Uh={initialized:!1,sessionId:Sn(),app:null,version:null,debug:!1,offline:!!Ne&&!navigator.onLine,os:{name:kh},userAgent:Ne?navigator.userAgent:"node",library:{name:us,version:"0.13.1"},timezone:Ah,locale:Ch,campaign:{},referrer:Oh};function ey(t,e){t===void 0&&(t=Uh);var r=t.initialized,n=e.campaign;switch(e.type){case re.campaign:return te({},t,{campaign:n});case re.offline:return te({},t,{offline:!0});case re.online:return te({},t,{offline:!1});default:return r?t:te({},Uh,t,{initialized:!0})}}var ty=["plugins","reducers","storage"];function ry(t,e,r){if(Ne){var n=window[(r?"add":"remove")+"EventListener"];t.split(" ").forEach(function(a){n(a,e)})}}function ny(t){var e=ry.bind(null,"online offline",function(r){return Promise.resolve(!navigator.onLine).then(t)});return e(!0),function(r){return e(!1)}}function jh(){return Wt(us,[]),function(t){return function(e,r,n){var a=t(e,r,n),i=a.dispatch;return Object.assign(a,{dispatch:function(o){return lr[ur][us].push(o.action||o),i(o)}})}}}function Lh(t){return function(){return hr(hr.apply(null,arguments),jh())}}function ps(t){return t?nh(t)?t:[t]:[]}function Nh(t,e,r){t===void 0&&(t={});var n,a,i=Sn();return e&&(zr[i]=(n=e,a=(function(o){for(var s,u=o||Array.prototype.slice.call(arguments),l=0;l<u.length;l++)if(We(u[l])){s=u[l];break}return s})(r),function(o){a&&a(o),n(o)})),te({},t,{rid:i,ts:new Date().getTime()},e?{hasCallback:!0}:{})}function ay(t){t===void 0&&(t={});var e=t.reducers||{},r=t.initialUser||{},n=(t.plugins||[]).reduce(function(S,_){if(We(_))return S.middlewares=S.middlewares.concat(_),S;if(_.NAMESPACE&&(_.name=_.NAMESPACE),!_.name)throw new Error("https://lytics.dev/errors/1");_.config||(_.config={});var q=_.EVENTS?Object.keys(_.EVENTS).map(function(V){return _.EVENTS[V]}):[];S.pluginEnabled[_.name]=!(_.enabled===!1||_.config.enabled===!1),delete _.enabled,_.methods&&(S.methods[_.name]=Object.keys(_.methods).reduce(function(V,he){var oe;return V[he]=(oe=_.methods[he],function(){for(var le=Array.prototype.slice.call(arguments),se=new Array(oe.length),_e=0;_e<le.length;_e++)se[_e]=le[_e];return se[se.length]=w,oe.apply({instance:w},se)}),V},{}),delete _.methods);var F=Object.keys(_).concat(q),Z=new Set(S.events.concat(F));if(S.events=Array.from(Z),S.pluginsArray=S.pluginsArray.concat(_),S.plugins[_.name])throw new Error(_.name+"AlreadyLoaded");return S.plugins[_.name]=_,S.plugins[_.name].loaded||(S.plugins[_.name].loaded=function(){return!0}),S},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),a=t.storage?t.storage:{getItem:Gt,setItem:Wt,removeItem:fr},i=(function(S){return function(_,q,F){return q.getState("user")[_]||(F&&Ve(F)&&F[_]?F[_]:dh(S)[_]||Gt(fs(_))||null)}})(a),o=n.plugins,s=n.events.filter(function(S){return!ls.includes(S)}).sort(),u=new Set(s.concat(En).filter(function(S){return!ls.includes(S)})),l=Array.from(u).sort(),c=function(){return o},f=new Hg,h=f.addMiddleware,d=f.removeMiddleware,v=f.dynamicMiddlewares,p=function(){throw new Error("Abort disabled inListener")},m=Ag(),P=dh(a),y=te({},P,r,m.an_uid?{userId:m.an_uid}:{},m.an_aid?{anonymousId:m.an_aid}:{});y.anonymousId||(y.anonymousId=Sn());var b=te({enable:function(S,_){return new Promise(function(q){k.dispatch({type:re.enablePlugin,plugins:ps(S),_:{originalAction:re.enablePlugin}},q,[_])})},disable:function(S,_){return new Promise(function(q){k.dispatch({type:re.disablePlugin,plugins:ps(S),_:{originalAction:re.disablePlugin}},q,[_])})}},n.methods),g=!1,w={identify:function(S,_,q,F){try{var Z=Ct(S)?S:null,V=Ve(S)?S:_,he=q||{},oe=w.user();Wt(fs(jt),Z);var le=Z||V.userId||i(jt,w,V);return Promise.resolve(new Promise(function(se){k.dispatch(te({type:re.identifyStart,userId:le,traits:V||{},options:he,anonymousId:oe.anonymousId},oe.id&&oe.id!==Z&&{previousId:oe.id}),se,[_,q,F])}))}catch(se){return Promise.reject(se)}},track:function(S,_,q,F){try{var Z=Ve(S)?S.event:S;if(!Z||!Ct(Z))throw new Error("EventMissing");var V=Ve(S)?S:_||{},he=Ve(q)?q:{};return Promise.resolve(new Promise(function(oe){k.dispatch({type:re.trackStart,event:Z,properties:V,options:he,userId:i(jt,w,_),anonymousId:i(pr,w,_)},oe,[_,q,F])}))}catch(oe){return Promise.reject(oe)}},page:function(S,_,q){try{var F=Ve(S)?S:{},Z=Ve(_)?_:{};return Promise.resolve(new Promise(function(V){k.dispatch({type:re.pageStart,properties:Yg(F),options:Z,userId:i(jt,w,F),anonymousId:i(pr,w,F)},V,[S,_,q])}))}catch(V){return Promise.reject(V)}},user:function(S){if(S===jt||S==="id")return i(jt,w);if(S===pr||S==="anonId")return i(pr,w);var _=w.getState("user");return S?Xd(_,S):_},reset:function(S){return new Promise(function(_){k.dispatch({type:re.resetStart},_,S)})},ready:function(S){return g&&S({plugins:b,instance:w}),w.on(re.ready,function(_){S&&S(_),g=!0})},on:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".on disabled for "+S);var q=/Start$|Start:/;if(S==="*"){var F=function(oe){return function(le){return function(se){return se.type.match(q)&&_({payload:se,instance:w,plugins:o}),le(se)}}},Z=function(oe){return function(le){return function(se){return se.type.match(q)||_({payload:se,instance:w,plugins:o}),le(se)}}};return h(F,Rn),h(Z,_n),function(){d(F,Rn),d(Z,_n)}}var V=S.match(q)?Rn:_n,he=function(oe){return function(le){return function(se){return se.type===S&&_({payload:se,instance:w,plugins:o,abort:p}),le(se)}}};return h(he,V),function(){return d(he,V)}},once:function(S,_){if(!S||!We(_))return!1;if(S===re.bootstrap)throw new Error(".once disabled for "+S);var q=w.on(S,function(F){_({payload:F.payload,instance:w,plugins:o,abort:p}),q()});return q},getState:function(S){var _=k.getState();return S?Xd(_,S):Object.assign({},_)},dispatch:function(S){var _=Ct(S)?{type:S}:S;if(En.includes(_.type))throw new Error("reserved action "+_.type);var q=te({},_,{_:te({originalAction:_.type},S._||{})});k.dispatch(q)},enablePlugin:b.enable,disablePlugin:b.disable,plugins:b,storage:{getItem:a.getItem,setItem:function(S,_,q){k.dispatch({type:re.setItemStart,key:S,value:_,options:q})},removeItem:function(S,_){k.dispatch({type:re.removeItemStart,key:S,options:_})}},setAnonymousId:function(S,_){w.storage.setItem(Ut,S,_)},events:{core:En,plugins:s}},A=n.middlewares.concat([function(S){return function(_){return function(q){return q.meta||(q.meta=Nh()),_(q)}}},v(Rn),Kg(w,c,{all:l,plugins:s}),zg(a),xg(w),Dg(w),v(_n)]),x={context:ey,user:$g(a),page:Qg,track:Wg,plugins:Bg(c),queue:Jg},N=hr,z=hr;if(Ne&&t.debug){var B=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;B&&(N=B({trace:!0,traceLimit:25})),z=function(){return arguments.length===0?jh():Ve(typeof arguments[0])?Lh():Lh().apply(null,arguments)}}var ie,j=(function(S){return Object.keys(S).reduce(function(_,q){return ty.includes(q)||(_[q]=S[q]),_},{})})(t),D=n.pluginsArray.reduce(function(S,_){var q=_.name,F=_.config,Z=_.loaded,V=n.pluginEnabled[q];return S[q]={enabled:V,initialized:!!V&&!_.initialize,loaded:!!Z({config:F}),config:F},S},{}),L={context:j,user:y,plugins:D},k=ch((function(S){for(var _=Object.keys(S),q={},F=0;F<_.length;F++){var Z=_[F];typeof S[Z]===At&&(q[Z]=S[Z])}var V,he=Object.keys(q);try{(function(oe){Object.keys(oe).forEach(function(le){var se=oe[le];if(typeof se(void 0,{type:cs})===St||typeof se(void 0,{type:Lg})===St)throw new Error(Kr+" "+le+" "+St)})})(q)}catch(oe){V=oe}return function(oe,le){if(oe===void 0&&(oe={}),V)throw V;for(var se=!1,_e={},xe=0;xe<he.length;xe++){var Ke=he[xe],Ce=oe[Ke],Ye=(0,q[Ke])(Ce,le);if(typeof Ye===St){var dt=Ng(Ke,le);throw new Error(dt)}_e[Ke]=Ye,se=se||Ye!==Ce}return se?_e:oe}})(te({},x,e)),L,z(N(qg.apply(void 0,A))));k.dispatch=(ie=k.dispatch,function(S,_,q){var F=te({},S,{meta:Nh(S.meta,_,ps(q))});return ie.apply(null,[F])});var Y=Object.keys(o);k.dispatch({type:re.bootstrap,plugins:Y,config:j,params:m,user:y,initialUser:r,persistedUser:P});var ne=Y.filter(function(S){return n.pluginEnabled[S]}),Q=Y.filter(function(S){return!n.pluginEnabled[S]});return k.dispatch({type:re.registerPlugins,plugins:Y,enabled:n.pluginEnabled}),n.pluginsArray.map(function(S,_){var q=S.bootstrap,F=S.config,Z=S.name;q&&We(q)&&q({instance:w,config:F,payload:S}),k.dispatch({type:re.registerPluginType(Z),name:Z,enabled:n.pluginEnabled[Z],plugin:S}),n.pluginsArray.length===_+1&&k.dispatch({type:re.initializeStart,plugins:ne,disabled:Q})}),ny(function(S){k.dispatch({type:S?re.offline:re.online})}),(function(S,_,q){setInterval(function(){return ph(S,_,q)},3e3)})(k,c,w),w}var Rn="before",_n="after",Jt="cookie",Zt=$h(),qh=Tn,iy=Tn;function xh(t){return Zt?Tn(t,"",-1):fr(t)}function $h(){if(Zt!==void 0)return Zt;var t=Jt+Jt;try{Tn(t,t),Zt=document.cookie.indexOf(t)!==-1,xh(t)}catch{Zt=!1}return Zt}function Tn(t,e,r,n,a,i){if(typeof window<"u"){var o=arguments.length>1;return Zt===!1&&(o?Wt(t,e):Gt(t)),o?document.cookie=t+"="+encodeURIComponent(e)+(r?"; expires="+new Date(+new Date+1e3*r).toUTCString()+(n?"; path="+n:"")+(a?"; domain="+a:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+t+"=")[1]||"").split(";")[0])}}var It="localStorage",oy=ss.bind(null,It);dr(It,"getItem",Gt),dr(It,"setItem",Wt),dr(It,"removeItem",fr);var Pt="sessionStorage",sy=ss.bind(null,Pt);dr(Pt,"getItem",Gt),dr(Pt,"setItem",Wt),dr(Pt,"removeItem",fr);function gr(t){var e=t;try{if((e=JSON.parse(t))==="true")return!0;if(e==="false")return!1;if(Ve(e))return e;parseFloat(e)===e&&(e=parseFloat(e))}catch{}if(e!==null&&e!=="")return e}var cy=oy(),uy=sy(),ly=$h();function Yt(t,e){if(t){var r=ms(e),n=!bs(r),a=gs(r)?gr(localStorage.getItem(t)):void 0;if(n&&!cr(a))return a;var i=ys(r)?gr(qh(t)):void 0;if(n&&i)return i;var o=ws(r)?gr(sessionStorage.getItem(t)):void 0;if(n&&o)return o;var s=Gt(t);return n?s:{localStorage:a,sessionStorage:o,cookie:i,global:s}}}function kn(t,e,r){if(t&&!cr(e)){var n={},a=ms(r),i=JSON.stringify(e),o=!bs(a);return gs(a)&&(n[It]=Cn(It,e,gr(localStorage.getItem(t))),localStorage.setItem(t,i),o)?n[It]:ys(a)&&(n[Jt]=Cn(Jt,e,gr(qh(t))),iy(t,i),o)?n[Jt]:ws(a)&&(n[Pt]=Cn(Pt,e,gr(sessionStorage.getItem(t))),sessionStorage.setItem(t,i),o)?n[Pt]:(n[Bt]=Cn(Bt,e,Gt(t)),Wt(t,e),o?n[Bt]:n)}}function fy(t,e){if(t){var r=ms(e),n=Yt(t,eh),a={};return!cr(n.localStorage)&&gs(r)&&(localStorage.removeItem(t),a[It]=n.localStorage),!cr(n.cookie)&&ys(r)&&(xh(t),a[Jt]=n.cookie),!cr(n.sessionStorage)&&ws(r)&&(sessionStorage.removeItem(t),a[Pt]=n.sessionStorage),!cr(n.global)&&On(r,Bt)&&(fr(t),a[Bt]=n.global),a}}function ms(t){return t?Ct(t)?t:t.storage:Qd}function gs(t){return cy&&On(t,It)}function ys(t){return ly&&On(t,Jt)}function ws(t){return uy&&On(t,Pt)}function bs(t){return t===eh||t==="all"}function On(t,e){return t===Qd||t===e||bs(t)}function Cn(t,e,r){return{location:t,current:e,previous:r}}var dy={setItem:kn,getItem:Yt,removeItem:fy};function hy(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Dh(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,n)}return r}function Mh(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Dh(Object(r),!0).forEach(function(n){hy(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Dh(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function vy(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e={storage:dy};return ay(Mh(Mh({},e),t))}const Ss="@sesamy/sesamy-js",An="1.56.0";function py(t){if(typeof window>"u")return;const{addEventListener:e,history:r,location:n}=window;let a=n.pathname;e("popstate",()=>t(n.pathname)),["push","replace"].map(i=>{const o=`${i}State`;if(o!=="pushState"&&o!=="replaceState")return;const s=r[o];r[o]=function(...u){const l=u[2]?.toString()||"",c=gy(l);return a!==c&&(a=c,setTimeout(()=>t(l),0)),s.apply(r,u)}})}function my(t,e){const r=t.indexOf(e);return r>-1?t.slice(0,r):t}function gy(t){return["#","?"].forEach(e=>t=my(t,e)),t}function yy(){py(()=>{Et.page()})}var Is="up",Ps="down";function wy(t){if(t===void 0&&(t={}),!Ne)return os;var e=Kh(),r=Es(),n=Fh(),a=Un(n,e),i=Un(r,e),o=[],s=[],u=[],l=n,c=a,f=i,h=Object.keys(t);if(!h.length)return os;var d=h.map(function(p){return Number(p)}),v=jg(function(){var p=Kh(),m=(function(j,D){return D.map(function(L){return L===100?j-5:j*(L/100)})})(p,d),P=Es(),y=Fh(),b=Un(y,p),g=Un(P,p);if(c=b>c?b:c,f=g<f?g:f,!(o.length>=d.length)){var w=l===y,A=Is;w?A="initial":l<=y&&(A=Ps);var x=m,N=d;(A===Is||w)&&(x=m.slice().reverse(),N=d.slice().reverse());var z=N.reduce(function(j,D,L){var k=x[L];return u.includes(D)&&y<=k&&(u=u.filter(function(Y){return Y!==D}),j.singleFunction=D),A===Ps&&!o.includes(D)&&y>=k&&D>i?(s.push(D),j.callbacks=j.callbacks.concat(D),j):A===Is&&!o.includes(D)&&y<=k&&D<=b?(j.foundFunc=[D],j):(w&&y>=k&&j.foundFunc.length===0&&(j.foundFunc=[D]),!s.includes(D)&&y>=k&&(s.push(D),j.singleFunction?u.push(D):j.singleFunction=D),j)},{foundFunc:[],singleFunction:null,callbacks:[],direction:A});if(l=y,A===Ps&&z.callbacks&&z.callbacks.forEach(function(j){We(t[j])&&(t[j]({trigger:j,direction:A,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(j))}),z.singleFunction){var B=z.singleFunction,ie=z.direction;We(t[B])&&t[B]({trigger:B,direction:ie,scrollMin:f,scrollMax:c,range:[f,c]}),o.push(B)}}},500);return window.addEventListener("scroll",v),function(){return window.removeEventListener("scroll",v)}}function Es(){return Ne?document.body.scrollTop||document.documentElement.scrollTop:0}function by(){return Ne?window.innerHeight||document.documentElement.clientHeight:0}function Fh(){return Math.round(Es()+by())}function Kh(){if(!Ne)return 0;var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)}function Un(t,e){return Math.round(t/e*100)}var Rs="Event",zh=Rs+"Listener";function Sy(t){return function(e,r,n,a){var i=n||os,o=a||!1;if(!Ne)return i;var s=jn(r),u=jn(e,!0);if(!u.length)throw new Error("noElements");if(!s.length)throw new Error("no"+Rs);var l=[];return(function c(f){f&&(l=[]);for(var h=f?"add"+zh:"remove"+zh,d=0;d<u.length;d++){var v=u[d];l[d]=f?o&&o.once?Iy(i):i:l[d]||i;for(var p=0;p<s.length;p++)v[h]?v["on"+s[p]]=f?l[d]:null:v[h](s[p],l[d],o)}return c.bind(null,!f)})(t)}}function jn(t,e){if(Ct(t))return e?jn(document.querySelectorAll(t)):(r=t).split(r.indexOf(",")>-1?",":" ").map(function(o){return o.trim()});var r;if(NodeList.prototype.isPrototypeOf(t)){for(var n=[],a=t.length>>>0;a--;)n[a]=t[a];return n}var i=kg(t);return e?i.map(function(o){return Ct(o)?jn(o,!0):o}).flat():i}function Iy(t,e){var r;return function(){return t&&(r=t.apply(this,arguments),t=null),r}}var _s=Sy(Rs);function Hh(t,e){return Ne&&We(window[t])?(r=window[t],n=e,(a=window)===void 0&&(a=null),We(r)?function(){r.apply(a,arguments),n.apply(a,arguments)}:n):window[t]=e;var r,n,a}Hh.bind(null,"onerror"),Hh.bind(null,"onload");var Bh=typeof window>"u",Gh="hidden";function Py(t){if(Bh)return!1;var e=Ey(),r="".concat(e.replace(/[H|h]idden/,""),"visibilitychange"),n=function(){return t(!!document[e])},a=function(){return document.addEventListener(r,n)};return a(),function(){return document.removeEventListener(r,n),a}}function Ey(){var t=["webkit","moz","ms","o"];return Bh||Gh in document?Gh:t.reduce(function(e,r){var n=r+"Hidden";return!e&&n in document?n:e},null)}var Ry=["mousemove","mousedown","touchmove","touchstart","touchend","keydown"];function _y(t,e){e===void 0&&(e={});var r=(function(o,s){var u=this,l=!1;return function(c){l||(o.call(u,c),l=!0,setTimeout(function(){return l=!1},s))}})(t,e.throttle||1e4),n=[];function a(){var o=Py(function(s){s||r({type:"tabVisible"})});return n=[o].concat(Ry.map(function(s){return _s(document,s,r)})).concat(_s(window,"load",r)).concat(_s(window,"scroll",r,{capture:!0,passive:!0})),i}function i(){n.map(function(o){return o()})}return a(),function(){return i(),a}}function Ty(t){var e,r,n=t.onIdle,a=t.onWakeUp,i=t.onHeartbeat,o=t.timeout,s=o,u=t.throttle,l=u===void 0?2e3:u,c=!1,f=!1,h=new Date,d=function(){return clearTimeout(e)};function v(m){d(),i&&!c&&i(Br(h),m),a&&c&&(c=!1,a(Br(r),m),h=new Date),e=setTimeout(function(){c=!0,n&&(r=new Date,n(Br(h),m))},s)}var p=_y(v,{throttle:l});return{disable:function(){f=!0,c=!1,d();var m=p();return function(){return f=!1,h=new Date,v({type:"load"}),m()}},getStatus:function(){return{isIdle:c,isDisabled:f,active:c?0:Br(h,f),idle:c?Br(r,f):0}}}}function Br(t,e){return e?0:Math.round((new Date-t)/1e3)}const Wh=5e3;class ky{element;isInViewport=!1;isAwake=!1;isFlushing;observer;lastEventAt=Date.now();registeredView=!1;viewCallback;activeDurationCallback;idleDurationCallback;scrollCallback;constructor(e){this.element=e.element,this.viewCallback=e.viewCallback,this.activeDurationCallback=e.activeDurationCallback,this.idleDurationCallback=e.idleDurationCallback,this.scrollCallback=e.scrollCallback,this.observer=new IntersectionObserver(r=>{r.forEach(n=>{this.handleInViewPort(n.isIntersecting)})},{threshold:0}),this.observer.observe(this.element),Ty({onIdle:r=>this.handleAwake(!1,r),onWakeUp:r=>this.handleAwake(!0,r),timeout:Wh}),wy({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,r=Math.round((Date.now()-this.lastEventAt)/1e3)){this.isAwake=e,this.lastEventAt=e?Date.now()-r*Wh:Date.now(),this.isInViewport&&this.trackAwake(e,r)}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,r){!e&&this.activeDurationCallback&&this.activeDurationCallback(r,this.isFlushing,this.lastEventAt),e&&this.idleDurationCallback&&this.idleDurationCallback(r,this.isFlushing,this.lastEventAt)}trackInViewport(){this.registeredView||(this.registeredView=!0,this.viewCallback&&this.viewCallback())}}function Vh(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t):t()}function Oy(t,e){e=e||{};var r,n,a=[],i=e.max||1/0;function o(){clearInterval(r),t(a.splice(0,i)),s()}function s(){r=setInterval(o,e.interval||1e4)}return s(),{flush:o,push:function(u){return n=a.push(u),n>=i&&o(),n},size:function(){return a.length},end:function(u){u&&o(),clearInterval(r)}}}const Jh="sesamy_session_id";function Cy(){let t=sessionStorage.getItem(Jh);return t||(t=Math.random().toString(36).slice(2,9),sessionStorage.setItem(Jh,t)),t}function Zh(t){function e(n){return n.id?`#${n.id}`:n.classList.length>0?Array.from(n.classList).map(i=>`.${i}`).join(""):null}function r(n){const a=[];let i=n;for(;i&&i!==document.body&&i!==document.documentElement;){const o=e(i);if(o){a.unshift(o);break}if(i.parentElement){const s=Array.from(i.parentElement.children),u=s.indexOf(i)+1,l=i.tagName.toLowerCase();s.filter(f=>f.tagName.toLowerCase()===l).length>1?a.unshift(`${l}:nth-child(${u})`):a.unshift(l)}i=i.parentElement}return a.join(" > ")}return r(t)}function Ay(t){return t?Object.fromEntries(Object.entries(t).filter(([e,r])=>r!==void 0)):{}}let Je={article:{selector:"sesamy-article"},image:{selector:"img",attribute:"src"},title:{selector:"h1",attribute:"textContent"},excerpt:{selector:"p",attribute:"textContent"},price:{selector:"sesamy-article",attribute:"price"},currency:{selector:"sesamy-article",attribute:"currency"},url:{selector:"sesamy-article",attribute:"item-src"},accessLevel:{selector:"sesamy-article",attribute:"access-level"},id:{selector:"sesamy-article",attribute:"publisher-content-id"},pass:{selector:"sesamy-article",attribute:"pass"},paywallUrl:{selector:"sesamy-article",attribute:"paywall-url"}},Yh=[],Xh=!1,Xt;function Qh(){const t=window.location.pathname;return Yh.find(e=>e.path?t.includes(e.path):!0)}function Uy(t,e){Yh=t.content||[],Xh=t.enablePaywallSettingsUrlFallback||!1;const r=Qh();r&&r.type==="article"&&(Je={...Je,...Ay(r.selectors)}),Xt=e}function jy(t,e){const{selector:r}=e;return r===Je.article.selector?t:t.querySelector(r)}function ev(t,e){if(t)return e.attribute?e.attribute==="textContent"?t.textContent??void 0:t.getAttribute(e.attribute)??ev(t.parentElement,e):t.textContent??void 0}function yr(t){const e=document.head.querySelectorAll(`[property~='${t}'][content]`);for(let n=0;n<e.length;n+=1)if(e[n].content)return e[n].content;const r=document.head.querySelectorAll(`[name~='${t}'][content]`);for(let n=0;n<r.length;n+=1)if(r[n].content)return r[n].content}function tv({publisherContentId:t,key:e,defaultValue:r=""}){return(t?document.body.querySelector(`sesamy-content-data[id='${t}']`):null)?.getAttribute(e)||yr(`sesamy:${e}`)||yr(`og:${e}`)||yr(e)||r}function Ly(){const t=document.querySelectorAll(Je.article.selector);return Array.from(t).map(Ln).filter(e=>e!==null)}function Ln(t){const e=typeof t=="string"?document.querySelector(t):t;if(!e)return null;const r={element:e,selector:typeof t=="string"?t:Zh(e)},n=(i,o,s,u)=>{const l=jy(e,o);if(l){const c=ev(l,o)||tv({publisherContentId:s,key:i});c!==void 0&&(r[i]=u?u(c):c)}};n("id",Je.id),n("title",Je.title,r.id),n("excerpt",Je.excerpt,r.id),n("image",Je.image,r.id),n("price",Je.price,r.id,i=>parseFloat(i)),n("currency",Je.currency,r.id),n("url",Je.url,r.id),n("pass",Je.pass,r.id),n("paywallUrl",Je.paywallUrl,r.id),n("accessLevel",Je.accessLevel,r.id,i=>i||"entitlement");const a=Qh();if(a&&a.type==="article"&&(a.pass&&(r.pass=r.pass?`${r.pass},${a.pass}`:a.pass),a.price&&!r.price&&(r.price=a.price.amount),a.price?.currency&&!r.currency&&(r.currency=a.price.currency),a.paywallUrl&&!r.paywallUrl&&(r.paywallUrl=a.paywallUrl)),Xh&&!r.paywallUrl){const i=document.querySelector("sesamy-paywall");if(i){const o=i.getAttribute("settings-url");o&&(r.paywallUrl=o)}}return r}async function Ny(t){const e=Ln(t);if(!e)throw new Error("Could not find article element");if(e.paywallUrl){const a=(await Xt.paywalls.get(e.paywallUrl)).settings.template==="LOGIN"?"logged-in":"entitlement";if(e.accessLevel=a,a==="logged-in"){const i=await Xt.auth.isAuthenticated();return e.hasAccess=i,e}}if(!e.url)throw new Error("Article must have a URL");const r=await Xt.entitlements.hasAccess(e.url,e.pass?.split(",")||[]);return e.hasAccess=!!r,e.entitlement=r,e}async function qy(t,e){const r=typeof t=="string"?document.querySelector(t):t;if(!r)throw new Error("Could not find element");const n=Ln(r);if(!n?.url)throw new Error("Could not find content for element");const a=await Xt.entitlements.hasAccess(n.url||"",n.pass?.split(",")||[]);if(!a)throw new Error("User does not have access to the content");const i=await Xt.entitlements.access(a.id);if(!i.token)throw new Error("Could not get access token");const o=e||Zh(r.parentElement||r);return Xt.proxy.getContent(i.token,n.url,o)}let rv=!1,Nn,qn,Ts;function nv(t){return JSON.stringify(t.map(e=>{const{campaign:r,...n}=e.properties||{};return{anonymousId:e.anonymousId,userId:e.userId,type:e.type,properties:n,clientId:Ts,requestId:Math.random().toString(36).slice(2,9),sessionId:Cy(),timestamp:new Date().toISOString(),version:An,event:e.event,context:{...e.context,page:{url:window.location.href,title:document.title,referrer:document.referrer,itemSrc:yr("sesamy:item-src"),publisherContentId:yr("sesamy:publisher-content-id")},campaign:r,locale:navigator.language,library:Ss,userAgent:navigator.userAgent,clientId:Ts}}}))}const av=Oy(async t=>{if(t.length>0){const e=nv(t);rv?navigator.sendBeacon(qn,e):(await fetch(qn,{method:"POST",body:e,headers:{"Content-Type":"text/plain"}})).ok}},{max:10,interval:3e3});function ks(t){if(t.anonymousId)if(t.properties?.flushing){const e={...t};delete e.properties.flushing,navigator.sendBeacon(qn,nv([e]))}else av.push(t)}function xy(){return rv=!0,av.flush()}function $y(t,e,r){Nn=e,qn=`${ft("logs",r)}/events`,Ts=t}const Dy={name:"custom-analytics-plugin",page:({payload:t})=>{if(!Nn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"page"})},track:({payload:t})=>{if(!Nn)return;const{properties:e,anonymousId:r,userId:n,event:a}=t;ks({anonymousId:r,userId:n,properties:e,event:a,type:"track"})},identify:({payload:t})=>{if(!Nn)return;const{properties:e,anonymousId:r,userId:n}=t;ks({anonymousId:r,userId:n,properties:e,type:"identify"})}},iv=["source","medium","campaign","term","content"],Lt="utm_",My=1800*1e3;function ov(t){return t?Date.now()-parseInt(t,10)>My:!0}function sv(){const t=document.referrer||"";if(!t)return;const e=Yt(`${Lt}set_at`);(ov(e)||!Yt(`${Lt}referrer`))&&kn(`${Lt}referrer`,t)}function Fy(){const t=()=>{const r={};for(const a of iv){const i=Yt(`${Lt}${a}`);i&&(r[`utm_${a}`]=i)}const n=Yt(`${Lt}referrer`);return n&&(r.utm_referrer=n),r};return{name:"attribution-tracking",initialize(){sv()},campaign({payload:r}){const n=r?.campaign||{},a=Yt(`${Lt}set_at`);if(Object.keys(n).length>0&&ov(a)){for(const o of iv){const s=n[o];s&&kn(`${Lt}${o}`,s)}kn(`${Lt}set_at`,String(Date.now()))}sv()},page({payload:r}){return r.properties.campaign=t(),r},track({payload:r}){return r.properties.campaign=t(),r},getStoredCampaignData:t}}const Ky=Fy(),cv=new Map,uv=new Map;function zy({clientId:t,enabled:e=!0,environment:r}){$y(t,e,r),e&&(window.addEventListener("beforeunload",()=>{uv.forEach((n,a)=>{n.bind(a)()}),xy()}),window.addEventListener("visibilitychange",()=>{document.visibilityState!=="visible"&&cv.forEach((n,a)=>{n.bind(a)()})}),yy(),Vh(()=>{const n=new ky({element:document.body,viewCallback:()=>{Et.page()},activeDurationCallback:(a,i,o)=>{Et.track("activeDuration",{duration:a,durationStart:o,flushing:i})},idleDurationCallback:(a,i,o)=>{Et.track("idleDuration",{duration:a,durationStart:o,flushing:i})},scrollCallback:a=>{Et.track("scroll",{scroll:a.scrollMax})}});uv.set(document.body,()=>{n.flush()}),cv.set(document.body,()=>{n.handleVisibilityChange()})}),window.addEventListener(Ge.AUTHENTICATED,async n=>{const a=n;await Et.identify(a.detail.sub)}),window.addEventListener(Ge.LOGOUT,async()=>{await Et.track("logout",{}),await Et.reset()}))}const Et=vy({app:Ss,version:An,plugins:[Ky,Dy]});function lv(t,e){Et.track(t,e)}function fv(t,e,r=!1){const n={name:t,data:e},a=new CustomEvent(t,{detail:n,cancelable:r,bubbles:!0});lv(`event:${t}`,{...e,timestamp:new Date().toISOString()});const i=window.dispatchEvent(a);return r&&!i?{canceled:!0,message:n.cancellationMessage}:{canceled:!1}}function Hy(t,e){t.cancelable&&(t.detail.cancellationMessage=e,t.preventDefault())}function By(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function Gy(){return/android/i.test(navigator.userAgent)}let qe,dv,Gr,Os=!1,xn=!1;Mr()&&window.addEventListener("pageshow",()=>{xn=!1});const wr="sesamyAccessToken",Cs="sesamyRefreshToken",$n="sesamySilentAuthThrottle",Wy=300*1e3;async function Dn(){return Os?!0:new Promise((t,e)=>{const r=setTimeout(()=>{Os?t(!0):e(new Error("Initialization failed: Timeout"))},2e3);window.addEventListener(Ge.AUTH_INITIALIZED,()=>{clearTimeout(r),t(!0)})})}async function Vy(t){if(!t)return null;const e=localStorage.getItem(Cs);if(!e)return ve("No refresh token found in localstorage"),null;const r=new URLSearchParams;r.set("client_id",t.iss),r.set("refresh_token",e),r.set("grant_type","refresh_token");const n=new URL(t.iss);n.pathname="/oauth/token",n.searchParams.set("user_id",t.sub);try{const a=await fetch(n.href,{body:r.toString(),method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"}});if(!a.ok)throw localStorage.removeItem(Cs),new Error("Renew token failed");const i=await a.json();return localStorage.setItem(Cs,i.refresh_token),localStorage.setItem(wr,i.access_token),i.access_token}catch{js()}}async function As(){const t=localStorage.getItem(wr);if(!t)return null;const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3){const r=await Vy(e);if(r)return r;localStorage.removeItem(wr)}return t}let Mn=null;const Jy=64;function Zy(){try{if(Mn!==null)return Mn;const e=Object.keys(localStorage).filter(r=>r.startsWith("@@auth0spajs@@"));for(const r of e){const n=JSON.parse(localStorage.getItem(r)||"{}");let a;if(typeof n=="object"&&(n.body&&typeof n.body=="object"&&"refresh_token"in n.body?a=n.body.refresh_token:"refresh_token"in n&&(a=n.refresh_token)),a&&typeof a=="string"&&a.length===Jy)return Mn=!0,!0}}catch(t){ve(`Error checking for existing auth0 tokens: ${t.message}`)}return Mn=!1,!1}function Yy(t){if(t.domains&&t.domains.length>0){const e=br(window.location.href);if(e){for(const r of t.domains)if(br(`https://${r}`)===e)return ve(`Found matching domain in domains array: ${r} for TLD: ${e}`),r;ve(`No matching domain found in domains array for TLD: ${e}`)}}if(t.domain)return ve(`Using fallback domain property: ${t.domain}`),t.domain}function br(t){try{const e=new URL(t).hostname,r=e.split(".");if(r.length<=1)return e;const n=["co.uk","com.au","co.nz","co.za","com.br","co.jp","gov.uk","ac.uk","org.uk","net.uk","com.sg","com.my","co.in","co.id","co.th","co.kr","com.mx","com.ar","com.co","com.pe","com.ph","com.pk","com.sa","com.eg","com.ng","co.ke","co.tz","co.zw","co.bw","co.mz","gov.au","edu.au","org.au","net.au","asn.au","id.au"];for(const a of n)if(e.endsWith(`.${a}`)){const i=a.split(".").length+1;return r.slice(-i).join(".")}return r.slice(-2).join(".")}catch{return null}}async function Xy(t){if(t.enabled===!1)return;dv=t.organization;const e=Yy(t);Gr=e&&!Zy()?e:Yd("token",t.environment);const r={domain:Gr,clientId:t.clientId,useCookiesForTransactions:!0};r.cacheLocation="localstorage",br(window.location.href)!==br(`https://${Gr}`)&&(r.useRefreshTokens=!0),ve(`Initializing auth0 client: ${JSON.stringify(r)}`),qe=await tg(r);const n=new URLSearchParams(window.location.search),a=n.get("code"),i=n.get("state");if(a)if(window.opener)ve("Code found in URL, posting to opener"),window.opener.postMessage({type:"authorization_response",response:{code:a,state:i}},window.location.origin);else{ve("Code found in URL, handling redirect");try{const u=await qe.handleRedirectCallback();ve(`Login result: ${JSON.stringify(u)}`);const l=await qe.getUser();if(!l)throw ve("No user found"),new Error("No user found");ve(`User found ${JSON.stringify(l)}`),Us(),Ot(Ge.AUTHENTICATED,l),ve("Rewrite url")}catch(u){alert("There was an error logging in"),console.error(u)}const o=new URL(location.href),s=o.searchParams;s.delete("code"),s.delete("state"),o.search=s.toString(),window.history.replaceState({},document.title,o.toString())}Os=!0,Ot(Ge.AUTH_INITIALIZED,{})}async function Wr(){return await Dn(),await As()?!0:qe?qe.isAuthenticated():!1}async function Qy(){return await Dn(),await As()?(ve("Using local user"),{sub:"local",name:"Local User"}):qe?qe.getUser():null}function hv(t){if(xn)return ve("Login already in progress"),null;if(xn=!0,setTimeout(()=>{xn=!1},3e3),localStorage.removeItem(wr),!qe)throw new Error("Auth0 client not initialized");const e=t?.authorizationParams||{};return{...t,authorizationParams:{organization:dv,redirect_uri:window.location.href,ui_locales:vn(),incognito:is(),...e}}}async function Fn(t){const e=hv(t);if(e)return qe.loginWithRedirect(e)}async function vv(t){const e=hv(t);if(!e)return;await qe.loginWithPopup(e,{timeoutInSeconds:1800}),Us(),fv(Ge.AUTHENTICATED,await qe.getUser()).canceled||window.location.reload()}async function ew(t){return Gr&&br(window.location.href)!==br(`https://${Gr}`)&&(By()||Gy()||is())?vv(t):Fn(t)}function tw(){try{const t=sessionStorage.getItem($n);if(!t)return!1;const{timestamp:e}=JSON.parse(t);return Date.now()-e<Wy}catch{return sessionStorage.removeItem($n),!1}}function rw(){try{const t={timestamp:Date.now()};sessionStorage.setItem($n,JSON.stringify(t))}catch{ve("Failed to set silent auth throttle in sessionStorage")}}function Us(){try{sessionStorage.removeItem($n)}catch{}}async function Qt(t=!0,e=!1){await Dn();const r=await As();if(r)return r;if(!e&&tw()){if(ve("Silent auth is throttled due to recent failures, skipping request"),t)throw new Error("Silent auth throttled");return null}try{if(!qe)return ve("Auth client not initialized"),null;let n=await qe.getTokenSilently();const a=Ls(n);return e&&a?.exp&&a.exp+3600<new Date().getTime()/1e3&&(n=await qe.getTokenSilently({cacheMode:e?"off":"on"})),Us(),n}catch(n){const a=n;if(ve(`Failed to get token silently: ${a.message}`),rw(),await qe.isAuthenticated()&&(a.message==="Invalid refresh token"||a.message.includes("Missing Refresh Token"))&&await js(),t)throw n;return null}}async function js(t={}){if(await Dn(),localStorage.removeItem(wr),Ot(Ge.LOGOUT,{}),!!qe)return ve(`Logout with options: ${JSON.stringify(t)}`),qe.logout({...t,logoutParams:{returnTo:window.location.href,...t.logoutParams}})}function Ls(t){const e=t.split(".");if(e.length!==3)return null;const n=e[1].replace(/-/g,"+").replace(/_/g,"/"),a=decodeURIComponent(atob(n).split("").map(function(i){return"%"+("00"+i.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(a)}async function Ns(t){const e=Ls(t);if(!e||!e.exp||e.exp<new Date().getTime()/1e3)throw new Error("Invalid token");ve("Set token"),localStorage.setItem(wr,t),Ot(Ge.AUTHENTICATED,e)}const nw=(t,e)=>e.skipDedupe||e.method!=="GET",aw=(t,e)=>e.method+"@"+t,iw=t=>t.clone(),pv=({skip:t=nw,key:e=aw,resolver:r=iw}={})=>{const n=new Map;return a=>(i,o)=>{if(t(i,o))return a(i,o);const s=e(i,o);if(!n.has(s))n.set(s,[]);else return new Promise((u,l)=>{n.get(s).push([u,l])});try{return a(i,o).then(u=>(n.get(s).forEach(([l])=>l(r(u))),n.delete(s),u)).catch(u=>{throw n.get(s).forEach(([,l])=>l(u)),n.delete(s),u})}catch(u){return n.delete(s),Promise.reject(u)}}},ow=(t,e)=>t*e,sw=t=>t&&t.ok,mv=({delayTimer:t=500,delayRamp:e=ow,maxAttempts:r=10,until:n=sw,onRetry:a=null,retryOnNetworkError:i=!1,resolveWithLatestResponse:o=!1,skip:s}={})=>u=>(l,c)=>{let f=0;if(s&&s(l,c))return u(l,c);const h=(d,v)=>Promise.resolve(n(d,v)).then(p=>p?d&&o?d:v?Promise.reject(v):d:(f++,!r||f<=r?new Promise(m=>{const P=e(t,f);setTimeout(()=>{typeof a=="function"?Promise.resolve(a({response:d,error:v,url:l,options:c})).then((y={})=>{var b,g;m(u((b=y&&y.url)!==null&&b!==void 0?b:l,(g=y&&y.options)!==null&&g!==void 0?g:c))}):m(u(l,c))},P)}).then(h).catch(m=>{if(!i)throw m;return h(null,m)}):d&&o?d:Promise.reject(v||new Error("Number of attempts exceeded."))));return u(l,c).then(h).catch(d=>{if(!i)throw d;return h(null,d)})};class cw{get(e){return typeof sessionStorage>"u"?null:sessionStorage.getItem(e)}set(e,r){typeof sessionStorage<"u"&&sessionStorage.setItem(e,r)}remove(e){typeof sessionStorage<"u"&&sessionStorage.removeItem(e)}clear(){}}function qs(t){let e;try{e=new URL(t)}catch{return!1}return e.protocol==="http:"||e.protocol==="https:"}function gv(t,e){if(qs(t))return{itemSrc:t};const r=t.split(":");if(r.length<2)throw new Error(`Invalid itemSrc format: expected at least 2 segments separated by ':', got ${r.length}`);const[n,a,i]=r;if(!a)throw new Error("Invalid itemSrc format: sku segment is empty");return{sku:`${n}:${a}`,purchaseOption:e||i}}function yv(t){return t.endsWith("/")?t.slice(0,-1):t}function wv(t,e){if(!qs(t)||!qs(e))return!1;const r=new URL(t),n=new URL(e);return r.origin===n.origin&&yv(r.pathname)===yv(n.pathname)}function uw(t,e,r){const n=new URL(`${ft("checkout3",t.environment)}`);e.language&&n.searchParams.set("lang",e.language);let a=e.sku,i=e.purchaseOptionId,o=e.itemSrc;if(e.itemSrc){const c=gv(e.itemSrc,e.purchaseOptionId);a=c.sku||a,i=c.purchaseOption||i,o=c.itemSrc}a?(n.searchParams.set("sku",a),i&&n.searchParams.set("po-id",i)):o&&n.searchParams.set("url",o),e.email&&n.searchParams.set("email",e.email),e.business&&n.searchParams.set("business","true"),e.currency&&n.searchParams.set("currency",e.currency),e.price&&n.searchParams.set("price",e.price.toString()),e.discountCode&&n.searchParams.set("discount-code",e.discountCode),e.attributionItemSrc?n.searchParams.set("itemSrc",e.attributionItemSrc):r.itemSrc&&n.searchParams.set("itemSrc",r.itemSrc),e.attributionPublisherContentId?n.searchParams.set("publisherContentId",e.attributionPublisherContentId):r.publisherContentId&&n.searchParams.set("publisherContentId",r.publisherContentId),e.utmSource?n.searchParams.set("utm_source",e.utmSource):r.utmSource&&n.searchParams.set("utm_source",r.utmSource),e.utmMedium?n.searchParams.set("utm_medium",e.utmMedium):r.utmMedium&&n.searchParams.set("utm_medium",r.utmMedium),e.utmCampaign?n.searchParams.set("utm_campaign",e.utmCampaign):r.utmCampaign&&n.searchParams.set("utm_campaign",r.utmCampaign),e.utmTerm?n.searchParams.set("utm_term",e.utmTerm):r.utmTerm&&n.searchParams.set("utm_term",r.utmTerm),e.utmContent?n.searchParams.set("utm_content",e.utmContent):r.utmContent&&n.searchParams.set("utm_content",r.utmContent);const s=["_ga","_gid","_fbp","_fbc"];document.cookie.split(";").map(c=>{const[f,h]=c.trim().split("=");return{key:f,value:h}}).filter(c=>s.some(f=>f===c.key)).forEach(c=>{n.searchParams.append(c.key,c.value)});let l=new URL(window.location.href);if(e.redirectUrl)try{l=new URL(e.redirectUrl)}catch{console.warn("Invalid redirect URL provided, using current URL instead:",e.redirectUrl)}return l.searchParams.set("force-refetch-entitlements","true"),e.itemSrc&&l.searchParams.set("sesamy-purchase",e.itemSrc),n.searchParams.set("redirect-url",l.toString()),e.paymentMethodsFilter&&n.searchParams.set("paymentmethods-filter",e.paymentMethodsFilter.flatMap(({provider:c,methods:f})=>f?f.map(h=>`${c}|${h}`):c).join(",")),e.requireAddress&&n.searchParams.set("require-address","true"),e.giftMode&&n.searchParams.set("gift-mode","true"),e.payerEmail&&n.searchParams.set("payer-email",e.payerEmail),e.metaData&&Object.entries(e.metaData).forEach(([c,f])=>{n.searchParams.set(`meta-${c}`,String(f))}),n}const bv="sesamySignedURLs";function xs(){const t=sessionStorage.getItem(bv);return t?JSON.parse(t):[]}function lw(t){const e=xs();e.push(t),ve(`Adding signed URL: ${t}`),sessionStorage.setItem(bv,JSON.stringify(e))}function fw(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];n!=null&&(e[r]=n.toString())}),e}const $s="sesamyAttribution";function dw(t){const e=localStorage.getItem(t);if(!e)return null;try{return JSON.parse(e).value}catch{return console.error(`Failed to parse ${t}`),null}}function hw(t){return Object.keys(t).find(e=>e.startsWith("utm_"))?{utmSource:void 0,utmMedium:void 0,utmCampaign:void 0,...t}:t}function Kn(){return dw($s)||{}}function Sv(t){if(t===null)localStorage.removeItem($s);else{ve(`Setting attribution ${JSON.stringify(t)}`);const e=Kn()??{},r=fw({...e,...hw(t)});localStorage.setItem($s,JSON.stringify({value:r}))}}function vw(t){const e=t.endpoint||ft("api2",t.environment),r=async()=>{const T=await Qt(!0);if(!T)throw new Error("No access token available");return T},n=ke.client({baseUrl:e,tokenProvider:r,libraryName:Ss,libraryVersion:An,vendorId:t.vendorId,cache:{mode:ke.CacheMode.BROWSER,storage:new cw}}),a=T=>async(K,J)=>{let ae=sessionStorage.getItem(Jd);ae||(ae=Date.now().toString(),sessionStorage.setItem(Jd,ae));const me={...J,headers:{...J.headers,"Cache-Timestamp":ae}};return T(K,me)},i=(T=!0)=>K=>async(J,ae)=>{let me=null;if(me=await Qt(T),!me){if(T)throw new Error("No access token available");return K(J,ae)}const ze={...ae,headers:{...ae.headers,...me?{Authorization:`Bearer ${me}`}:{}}};return K(J,ze)},o=T=>(K,J)=>{if(J.headers&&"Authorization"in J.headers)return T(K,J);const ae=localStorage.getItem("__anon_id"),me=btoa(`${t.clientId}|${ae}:`),ze={...J,headers:{...J.headers,Authorization:`Basic ${me}`}};return T(K,ze)},s=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(),pv(),mv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]),u=ke.wretch(e).headers({"Content-Type":"application/json"}).middlewares([a,i(!1),o,pv(),mv({delayTimer:1e3,delayRamp:(T,K)=>T*K,maxAttempts:3,until:T=>!!(T&&(T.ok||T.status>=400&&T.status<500)),retryOnNetworkError:!1})]);async function l(T={}){const{waitForEntitlementAfter:K,includeSignedLinks:J=!0}=T,ae=await Wr()?await n.entitlements.list({waitForEntitlementAfter:K?.toISOString()}):[];return J&&ae.push(...xs()),ae}async function c(T,K=[]){return(await l())?.find(me=>{const{sku:ze,purchaseOption:M}=gv(T);return!!("sku"in me&&ze===me.sku||M&&"purchaseOptionsId"in me&&M===me.purchaseOptionsId||wv(T,me.url)||K.some(ee=>wv(ee,me.url)))})}async function f(T){return n.entitlements.get(T)}async function h(T){return n.entitlements.getAccess(T)}async function d(T,K,J){const ae=new URL(ft("api2",t.environment));return ae.pathname="/proxy",ae.searchParams.set("url",K),J&&ae.searchParams.set("selector",J),ke.wretch(ae.toString()).headers({Authorization:`Bearer ${T}`}).get().text()}async function v(T){if(!T)throw new Error("SKU is required to get fulfillments");return await Wr()?await s.get(`/fulfillments?sku=${encodeURIComponent(T)}`).json():[]}async function p(T,K){if(!T||!K)throw new Error("SKU and itemId are required to request delivery");return(await s.post({sku:T},`/fulfillments/${encodeURIComponent(K)}/request-delivery?`).res()).ok}async function m(){return s.get("/contracts").json()}async function P(T){return(await s.get("/contracts").json())?.find(J=>J.id===T)}async function y(T){const K=await s.post({},`/contracts/${encodeURIComponent(T)}/cancel`).res();return ke.clearCache(),K.ok}async function b(){return console.warn("getSubscriptions is deprecated, use getContracts instead"),s.get("/subscriptions").json()}async function g(){return s.get("/bills").json()}async function w(T){return(await s.get("/bills").json())?.find(J=>J.id===T)}async function A(){return s.get("/transactions").json()}async function x(T){return(await s.get("/transactions").json())?.find(J=>J.id===T)}async function N(T,K){const J=await s.url(`/user-metadata/${encodeURIComponent(T)}`).put(K).json();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),J}async function z(T){const K=await s.url(`/user-metadata/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function B(){return await s.url("/user-metadata").get().json()}async function ie(T){return(await B())[T]||null}async function j(){return await s.url("/tags").get().json()}async function D(T){const K=await s.url(`/tags/${encodeURIComponent(T)}`).delete().res();return ke.clearCache(),K.ok}async function L(T){const K=await s.url("/tags").post(encodeURIComponent(T)).res();return Ot(Ge.USER_ATTRIBUTE_CHANGED,{}),ke.clearCache(),K.ok}async function k(T){return(await u.url("/tallies").get().json())[T]}async function Y(){return await u.url("/tallies").get().json()}async function ne(T){const K=await u.url(`/tallies/${T}`).delete().res();return ke.clearCache(),K.ok}async function Q(T,K){return await u.url(`/tallies/${encodeURIComponent(T)}/push`).post(K).json()}async function S(T){return n.products.get(T)}async function _(){return await Qt(!1)?await s.url("/profile").get().json():null}async function q(T){const K=await s.url("/profile").patch(T).res();return ke.clearCache(),K.ok}async function F(){return await s.url("/payment-issues").get().json()}async function Z(){return(await s.url("/profile/spotify-link").get().json()).isSpotifyLinked}async function V(){return(await s.url("/profile/unlink-spotify").post().res()).ok}async function he(T){const K=await Qt(!1);if(!K)throw new Error("No access token available");const J=new URL(`${ft("access-sync",t.environment)}/spotify/sesamy-callback`);J.searchParams.set("access_token",K),J.searchParams.set("state",T),window.location.href=J.toString()}async function oe(T){const K=await s.url(`/products/${encodeURIComponent(T)}/auto-onboard`).post().json();return K.length&&ke.clearCache(),K}async function le(T,K=3600){const{shortlink:J}=await ke.wretch(ag).post({url:T,ttl:K}).json();return J}async function se(T){const K=await Qt(!1,!0);let J;const ae=T.language||vn(),me=Kn();switch(T.target){case"account":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}${T.contractId?`/${encodeURIComponent(T.contractId)}`:""}`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-payment":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/change-payment-method`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"change-plan":J=new URL(`${ft("account",t.environment)}/${encodeURIComponent(T.language||ae)}/subscriptions/${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.contractId)}/edit-plan`),J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"consume":J=new URL(`${ft("consume",t.environment)}/${encodeURIComponent(T.language||ae)}/@${encodeURIComponent(t.clientId)}/${encodeURIComponent(T.sku)}`),T.episodeId?J.href+=`/${T.episodeId}`:J.href+="/listen",J.searchParams.set("sesamy-redirect-url",T.redirectUrl||window.location.href);break;case"checkout":J=uw(t,{language:ae,...T},me);break;default:throw new Error("Invalid target")}return K&&(J.hash=`#access_token=${K}`),T.shorten?le(J.href,T.ttl):J.href}async function _e(T){const K=Kn(),J=["_ga","_gid","_fbp","_fbc"];return document.cookie.split(";").forEach(me=>{const ze=K,[M,ee]=me.trim().split("=");J.includes(M)&&!ze[M]&&(ze[M]=ee)}),(await u.url("/checkouts").post({language:vn(),...T,attribution:{...K,...T.attribution},vendorId:t.vendorId})).json()}async function xe(T,K){return(await u.url(`/checkouts/${T}`).patch(K)).json()}async function Ke(T){return(await u.url(`/checkouts/${T}`).get()).json()}async function Ce(T){return(await u.url(`/paywalls/${T}`).get()).json()}async function Ye(){return(await u.url("/vendor").get()).json()}async function dt(){return(await s.url("/vendors").get()).json()}async function ht(T){return(await s.url(`/contracts/${encodeURIComponent(T.contractId)}/amendments`).post({amendmentType:T.amendmentType,discountCode:T.discountCode})).json()}async function Rt(T){return await s.url(`/amendments/${encodeURIComponent(T)}/confirm`).post(),!0}async function _t(){const T=await Qt(!1),K=new URL(`${ft("account",t.environment)}/subscriptions/${t.clientId}`);T&&(K.hash=`#access_token=${T}`),window.location.href=K.toString()}return{autoOnboardProduct:oe,cancelContract:y,confirmAmendment:Rt,createAmendment:ht,createCheckout:_e,deleteTag:D,deleteTally:ne,deleteUserMetadata:z,generateLink:se,getBill:w,getBills:g,getCheckout:Ke,getProxyContent:d,getContract:P,getContracts:m,getEntitlement:f,getEntitlementAccess:h,getEntitlements:l,getFulfillments:v,requestDelivery:p,getPaywall:Ce,getPaymentIssues:F,getProfile:_,getProduct:S,getSubscriptions:b,getTally:k,getTallies:Y,getTags:j,getTransaction:x,getTransactions:A,getUserMetadata:ie,hasAccess:c,isSpotifyLinked:Z,linkSpotify:he,listUserMetadata:B,openHostedAccountPage:_t,pushTally:Q,setTag:L,setUserMetadata:N,unlinkSpotify:V,updateCheckout:xe,updateProfile:q,getVendorSettings:Ye,listVendors:dt}}const pw=["AdHeader","AdContainer","AD_Top","homead","ad-lead"];function mw(){return new Promise(t=>{const e=pw.map(r=>{const n=document.createElement("div");return n.innerHTML="&nbsp;",n.id=r,n.style.position="absolute",document.body.appendChild(n),n});window.setTimeout(()=>{const r=!e.every(n=>document.querySelector(`#${n.id}`)?.offsetParent);e.forEach(n=>n.remove()),t(r)},100)})}function gw(){const t=navigator.userAgent.toLowerCase(),e=[{name:"Facebook",regex:/fbav|fban/i},{name:"LinkedIn",regex:/linkedin/i},{name:"Instagram",regex:/instagram/i},{name:"Gmail",regex:/gmail/i},{name:"Twitter",regex:/twitter/i},{name:"WeChat",regex:/micromessenger/i},{name:"Line",regex:/line/i},{name:"Snapchat",regex:/snapchat/i},{name:"Pinterest",regex:/pinterest/i},{name:"Kakao",regex:/kakaotalk/i},{name:"Skype",regex:/skype/i},{name:"WhatsApp",regex:/whatsapp/i}];for(const r of e)if(r.regex.test(t))return{isInAppBrowser:!0,browserName:r.name};return/; wv\)/.test(t)?{isInAppBrowser:!0,browserName:"Unknown In-App Browser"}:{isInAppBrowser:!1,browserName:null}}const Iv="sesamyFlags";async function Pv(t){try{localStorage.setItem(Iv,JSON.stringify(t))}catch{ve("Failed to save flags to localStorage")}}async function yw(t,e){const r=await zn();r[t]=e,await Pv(r)}async function ww(t){return(await zn())[t]}async function bw(t){const e=await zn();t in e&&(delete e[t],await Pv(e))}async function zn(){try{const t=localStorage.getItem(Iv);return t?JSON.parse(t):{}}catch{return{}}}function Sw(t){const{autoOnboardProduct:e,cancelContract:r,createCheckout:n,deleteTag:a,deleteTally:i,deleteUserMetadata:o,generateLink:s,getBill:u,getBills:l,getCheckout:c,getContract:f,getContracts:h,getEntitlement:d,getEntitlementAccess:v,getEntitlements:p,getFulfillments:m,getPaywall:P,getPaymentIssues:y,getProfile:b,getProduct:g,getProxyContent:w,getSubscriptions:A,getTags:x,getTally:N,getTallies:z,getTransaction:B,getTransactions:ie,getUserMetadata:j,getVendorSettings:D,listVendors:L,hasAccess:k,isSpotifyLinked:Y,linkSpotify:ne,listUserMetadata:Q,openHostedAccountPage:S,pushTally:_,requestDelivery:q,setTag:F,setUserMetadata:Z,unlinkSpotify:V,updateCheckout:he,updateProfile:oe}=vw(t),le={analytics:{track:lv},attribution:{get:Kn,set:Sv},auth:{getUser:b,getTokenSilently:Qt,isAuthenticated:Wr,loginWithRedirect:Fn,loginWithPopup:vv,login:ew,logout:js,setToken:Ns},bills:{get:u,list:l},browser:{detectAdblock:mw,isInAppBrowser:gw,isIncognito:is},checkouts:{create:n,get:c,update:he},clearCache:ke.clearCache,content:{list:Ly,get:Ln,getLanguage:vn,hasAccess:Ny,unlock:qy,getPropertyFromHTML:tv},contracts:{cancel:r,get:f,list:h},entitlements:{access:v,get:d,hasAccess:k,list:p,signedLinks:xs},events:{emit:fv,cancel:Hy},flags:{get:ww,set:yw,list:zn,delete:bw},fulfillments:{list:m,requestDelivery:q},generateLink:s,getPaymentIssues:y,getVersion:Iw,isReady:()=>mt.isInitialized,log:ve,paywalls:{get:P},products:{autoOnboard:e,get:g,linkSpotify:ne},profile:{get:b,isSpotifyLinked:Y,openHostedAccountPage:S,unlinkSpotify:V,update:oe},proxy:{getContent:w},subscriptions:{list:A},tags:{delete:a,list:x,set:F},tallies:{delete:i,get:N,list:z,push:_},transactions:{get:B,list:ie},userMetadata:{delete:o,get:j,list:Q,set:Z},vendors:{get:D,list:L},setToken:Ns};return t.namespace&&(window[t.namespace]=le),le}function Iw(){return An}function Pw(t,e){t.style.position="relative",t.style.height="200px",t.style.overflow="hidden";let n=0;const a=Array.from(t.children);for(const o of a){const s=o.offsetHeight;n+s>200?o.remove():n+=s}const i=document.createElement("style");i.innerHTML=`
36
36
  ${e.selector}::before {
37
37
  content: '';
38
38
  position: absolute;
@@ -6118,7 +6118,7 @@ function my() {
6118
6118
  };
6119
6119
  return oy(Rd(Rd({}, e), t));
6120
6120
  }
6121
- const Ms = "@sesamy/sesamy-js", Mn = "1.55.0";
6121
+ const Ms = "@sesamy/sesamy-js", Mn = "1.56.0";
6122
6122
  function gy(t) {
6123
6123
  if (typeof window > "u") return;
6124
6124
  const { addEventListener: e, history: r, location: n } = window;
@@ -7165,33 +7165,35 @@ function Dd(t, e) {
7165
7165
  }
7166
7166
  function fw(t, e, r) {
7167
7167
  const n = new URL(`${ht("checkout3", t.environment)}`);
7168
- if (e.language && n.searchParams.set("lang", e.language), e.sku)
7169
- n.searchParams.set("sku", e.sku), e.purchaseOptionId && n.searchParams.set("po-id", e.purchaseOptionId);
7170
- else if (e.itemSrc) {
7171
- const { sku: s, purchaseOption: u, itemSrc: l } = Hv(e.itemSrc, e.purchaseOptionId);
7172
- l && n.searchParams.set("url", l), s && n.searchParams.set("sku", s), u && n.searchParams.set("po-id", u);
7173
- }
7174
- e.email && n.searchParams.set("email", e.email), e.business && n.searchParams.set("business", "true"), e.currency && n.searchParams.set("currency", e.currency), e.price && n.searchParams.set("price", e.price.toString()), e.discountCode && n.searchParams.set("discount-code", e.discountCode), e.attributionItemSrc ? n.searchParams.set("itemSrc", e.attributionItemSrc) : r.itemSrc && n.searchParams.set("itemSrc", r.itemSrc), e.attributionPublisherContentId ? n.searchParams.set("publisherContentId", e.attributionPublisherContentId) : r.publisherContentId && n.searchParams.set("publisherContentId", r.publisherContentId), e.utmSource ? n.searchParams.set("utm_source", e.utmSource) : r.utmSource && n.searchParams.set("utm_source", r.utmSource), e.utmMedium ? n.searchParams.set("utm_medium", e.utmMedium) : r.utmMedium && n.searchParams.set("utm_medium", r.utmMedium), e.utmCampaign ? n.searchParams.set("utm_campaign", e.utmCampaign) : r.utmCampaign && n.searchParams.set("utm_campaign", r.utmCampaign), e.utmTerm ? n.searchParams.set("utm_term", e.utmTerm) : r.utmTerm && n.searchParams.set("utm_term", r.utmTerm), e.utmContent ? n.searchParams.set("utm_content", e.utmContent) : r.utmContent && n.searchParams.set("utm_content", r.utmContent);
7175
- const a = ["_ga", "_gid", "_fbp", "_fbc"];
7176
- document.cookie.split(";").map((s) => {
7177
- const [u, l] = s.trim().split("=");
7178
- return { key: u, value: l };
7179
- }).filter((s) => a.some((u) => u === s.key)).forEach((s) => {
7180
- n.searchParams.append(s.key, s.value);
7168
+ e.language && n.searchParams.set("lang", e.language);
7169
+ let a = e.sku, i = e.purchaseOptionId, o = e.itemSrc;
7170
+ if (e.itemSrc) {
7171
+ const c = Hv(e.itemSrc, e.purchaseOptionId);
7172
+ a = c.sku || a, i = c.purchaseOption || i, o = c.itemSrc;
7173
+ }
7174
+ a ? (n.searchParams.set("sku", a), i && n.searchParams.set("po-id", i)) : o && n.searchParams.set("url", o), e.email && n.searchParams.set("email", e.email), e.business && n.searchParams.set("business", "true"), e.currency && n.searchParams.set("currency", e.currency), e.price && n.searchParams.set("price", e.price.toString()), e.discountCode && n.searchParams.set("discount-code", e.discountCode), e.attributionItemSrc ? n.searchParams.set("itemSrc", e.attributionItemSrc) : r.itemSrc && n.searchParams.set("itemSrc", r.itemSrc), e.attributionPublisherContentId ? n.searchParams.set("publisherContentId", e.attributionPublisherContentId) : r.publisherContentId && n.searchParams.set("publisherContentId", r.publisherContentId), e.utmSource ? n.searchParams.set("utm_source", e.utmSource) : r.utmSource && n.searchParams.set("utm_source", r.utmSource), e.utmMedium ? n.searchParams.set("utm_medium", e.utmMedium) : r.utmMedium && n.searchParams.set("utm_medium", r.utmMedium), e.utmCampaign ? n.searchParams.set("utm_campaign", e.utmCampaign) : r.utmCampaign && n.searchParams.set("utm_campaign", r.utmCampaign), e.utmTerm ? n.searchParams.set("utm_term", e.utmTerm) : r.utmTerm && n.searchParams.set("utm_term", r.utmTerm), e.utmContent ? n.searchParams.set("utm_content", e.utmContent) : r.utmContent && n.searchParams.set("utm_content", r.utmContent);
7175
+ const s = ["_ga", "_gid", "_fbp", "_fbc"];
7176
+ document.cookie.split(";").map((c) => {
7177
+ const [f, h] = c.trim().split("=");
7178
+ return { key: f, value: h };
7179
+ }).filter((c) => s.some((f) => f === c.key)).forEach((c) => {
7180
+ n.searchParams.append(c.key, c.value);
7181
7181
  });
7182
- let o = new URL(window.location.href);
7182
+ let l = new URL(window.location.href);
7183
7183
  if (e.redirectUrl)
7184
7184
  try {
7185
- o = new URL(e.redirectUrl);
7185
+ l = new URL(e.redirectUrl);
7186
7186
  } catch {
7187
7187
  console.warn("Invalid redirect URL provided, using current URL instead:", e.redirectUrl);
7188
7188
  }
7189
- return o.searchParams.set("force-refetch-entitlements", "true"), e.itemSrc && o.searchParams.set("sesamy-purchase", e.itemSrc), n.searchParams.set("redirect-url", o.toString()), e.paymentMethodsFilter && n.searchParams.set(
7189
+ return l.searchParams.set("force-refetch-entitlements", "true"), e.itemSrc && l.searchParams.set("sesamy-purchase", e.itemSrc), n.searchParams.set("redirect-url", l.toString()), e.paymentMethodsFilter && n.searchParams.set(
7190
7190
  "paymentmethods-filter",
7191
7191
  e.paymentMethodsFilter.flatMap(
7192
- ({ provider: s, methods: u }) => u ? u.map((l) => `${s}|${l}`) : s
7192
+ ({ provider: c, methods: f }) => f ? f.map((h) => `${c}|${h}`) : c
7193
7193
  ).join(",")
7194
- ), n;
7194
+ ), e.requireAddress && n.searchParams.set("require-address", "true"), e.giftMode && n.searchParams.set("gift-mode", "true"), e.payerEmail && n.searchParams.set("payer-email", e.payerEmail), e.metaData && Object.entries(e.metaData).forEach(([c, f]) => {
7195
+ n.searchParams.set(`meta-${c}`, String(f));
7196
+ }), n;
7195
7197
  }
7196
7198
  const zv = "sesamySignedURLs";
7197
7199
  function Gs() {
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "registry": "https://registry.npmjs.org/",
7
7
  "tag": "latest"
8
8
  },
9
- "version": "1.55.0",
9
+ "version": "1.56.0",
10
10
  "main": "dist/sesamy-js.cjs",
11
11
  "module": "dist/sesamy-js.mjs",
12
12
  "types": "dist/sesamy-js.d.ts",
@@ -54,7 +54,7 @@
54
54
  "core-js": "^3.45.0",
55
55
  "detectincognitojs": "^1.6.0",
56
56
  "saturated": "^1.0.0",
57
- "@sesamy/sdk": "1.12.0"
57
+ "@sesamy/sdk": "1.13.0"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "wretch": "^2.9.0"