@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 +75 -29
- package/dist/sesamy-js.cjs +1 -1
- package/dist/sesamy-js.d.ts +4 -1
- package/dist/sesamy-js.iife.js +1 -1
- package/dist/sesamy-js.mjs +21 -19
- package/package.json +2 -2
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
|
|
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: '
|
|
1178
|
-
purchaseOptionId: '
|
|
1179
|
-
price:
|
|
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: '
|
|
1189
|
-
|
|
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
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
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
|
+
````
|
package/dist/sesamy-js.cjs
CHANGED
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
* Please keep this comment intact in order to properly abide by the MIT License.
|
|
33
33
|
*
|
|
34
34
|
**/var 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=" ",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=" ",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;
|
package/dist/sesamy-js.d.ts
CHANGED
|
@@ -194,7 +194,10 @@ declare interface GenerateCheckoutLink extends GenerateLinkBase {
|
|
|
194
194
|
utmCampaign?: string;
|
|
195
195
|
utmTerm?: string;
|
|
196
196
|
utmContent?: string;
|
|
197
|
-
|
|
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[];
|
package/dist/sesamy-js.iife.js
CHANGED
|
@@ -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=" ",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=" ",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;
|
package/dist/sesamy-js.mjs
CHANGED
|
@@ -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.
|
|
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
|
-
|
|
7169
|
-
|
|
7170
|
-
|
|
7171
|
-
const
|
|
7172
|
-
|
|
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
|
|
7176
|
-
document.cookie.split(";").map((
|
|
7177
|
-
const [
|
|
7178
|
-
return { key:
|
|
7179
|
-
}).filter((
|
|
7180
|
-
n.searchParams.append(
|
|
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
|
|
7182
|
+
let l = new URL(window.location.href);
|
|
7183
7183
|
if (e.redirectUrl)
|
|
7184
7184
|
try {
|
|
7185
|
-
|
|
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
|
|
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:
|
|
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.
|
|
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.
|
|
57
|
+
"@sesamy/sdk": "1.13.0"
|
|
58
58
|
},
|
|
59
59
|
"peerDependencies": {
|
|
60
60
|
"wretch": "^2.9.0"
|