@cashin/js-sdk 1.0.5 → 1.0.6

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../node_modules/@jitsu/js/dist/jitsu.cjs.js", "../src/index.ts"],
4
- "sourcesContent": ["'use strict';\n\nfunction n$2(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n<e.length;n++)t=t?t[e[n]]:r;return t===r?l:t}\n\nvar e=\"undefined\",o$1=\"object\",b$3=\"any\",m$1=\"*\",j$1=\"__\",F$2=\"undefined\"!=typeof process?process:{};F$2.env&&F$2.env.NODE_ENV||\"\";var $$1=\"undefined\"!=typeof document;null!=F$2.versions&&null!=F$2.versions.node;\"undefined\"!=typeof Deno&&void 0!==Deno.core;$$1&&\"nodejs\"===window.name||\"undefined\"!=typeof navigator&&void 0!==navigator.userAgent&&(navigator.userAgent.includes(\"Node.js\")||navigator.userAgent.includes(\"jsdom\"));function M$1(n,t){return t.charAt(0)[n]()+t.slice(1)}var U$1=M$1.bind(null,\"toUpperCase\"),H$1=M$1.bind(null,\"toLowerCase\");function J$2(n){return Y$1(n)?U$1(\"null\"):\"object\"==typeof n?yn(n):Object.prototype.toString.call(n).slice(8,-1)}function R$1(n,t){void 0===t&&(t=!0);var e=J$2(n);return t?H$1(e):e}function V$1(n,t){return typeof t===n}var W$1=V$1.bind(null,\"function\"),q$1=V$1.bind(null,\"string\"),I$2=V$1.bind(null,\"undefined\");var Q$1=V$1.bind(null,\"boolean\");V$1.bind(null,\"symbol\");function Y$1(n){return null===n}function nn(n){return \"number\"===R$1(n)&&!isNaN(n)}function rn(n){return \"array\"===R$1(n)}function on(n){if(!un(n))return !1;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t}function un(n){return n&&(\"object\"==typeof n||null!==n)}function yn(n){return W$1(n.constructor)?n.constructor.name:null}function hn(n){return n instanceof Error||q$1(n.message)&&n.constructor&&nn(n.constructor.stackTraceLimit)}function On(n,t){if(\"object\"!=typeof t||Y$1(t))return !1;if(t instanceof n)return !0;var e=R$1(new n(\"\"));if(hn(t))for(;t;){if(R$1(t)===e)return !0;t=Object.getPrototypeOf(t);}return !1}On.bind(null,TypeError);On.bind(null,SyntaxError);function $n(n,t){var e=n instanceof Element||n instanceof HTMLDocument;return e&&t?Tn(n,t):e}function Tn(n,t){return void 0===t&&(t=\"\"),n&&n.nodeName===t.toUpperCase()}function _n(n){var t=[].slice.call(arguments,1);return function(){return n.apply(void 0,[].slice.call(arguments).concat(t))}}_n($n,\"form\");_n($n,\"button\");_n($n,\"input\");_n($n,\"select\");\n\nfunction n$1(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(e){return null}}function s(r){return function(e){for(var r,t=Object.create(null),o=/([^&=]+)=?([^&]*)/g;r=o.exec(e);){var a=n$1(r[1]),i=n$1(r[2]);\"[]\"===a.substring(a.length-2)?(t[a=a.substring(0,a.length-2)]||(t[a]=[])).push(i):t[a]=\"\"===i||i;}for(var u in t){var c=u.split(\"[\");c.length>1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u]);}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return $$1&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o<n;++o){var a=r[o];if(\"__proto__\"===a||\"constructor\"===a)break;a in e||(e[a]={}),e=e[a];}e[r[n]]=t;}function y$1(){for(var e=\"\",r=0,t=4294967295*Math.random()|0;r++<36;){var n=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"[r-1],o=15&t;e+=\"-\"==n||\"4\"==n?n:(\"x\"==n?o:3&o|8).toString(16),t=r%8==0?4294967295*Math.random()|0:t>>4;}return e}\n\nvar l=\"global\",o=j$1+\"global\"+j$1,n=typeof self===o$1&&self.self===self&&self||typeof global===o$1&&global.global===global&&global||void 0;function a$2(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i$2(t){delete n[o][t];}function u$1(t,e,r){var l;try{if(b$2(t)){var o=window[t];l=o[e].bind(o);}}catch(t){}return l||r}n[o]||(n[o]={});var c$1={};function b$2(t){if(typeof c$1[t]!==e)return c$1[t];try{var e$1=window[t];e$1.setItem(e,e),e$1.removeItem(e);}catch(e){return c$1[t]=!1}return c$1[t]=!0}\n\nfunction g$1(){return g$1=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e},g$1.apply(this,arguments)}var h$1=\"function\",v=\"undefined\",y=\"@@redux/\"+Math.random().toString(36),b$1=/* #__PURE__ */function(){return typeof Symbol===h$1&&Symbol.observable||\"@@observable\"}(),I$1=\" != \"+h$1;function w(e,t,n){var r;if(typeof t===h$1&&typeof n===v&&(n=t,t=void 0),typeof n!==v){if(typeof n!==h$1)throw new Error(\"enhancer\"+I$1);return n(w)(e,t)}if(typeof e!==h$1)throw new Error(\"reducer\"+I$1);var i=e,a=t,o=[],u=o,s=!1;function l(){u===o&&(u=o.slice());}function f(){return a}function d(e){if(typeof e!==h$1)throw new Error(\"Listener\"+I$1);var t=!0;return l(),u.push(e),function(){if(t){t=!1,l();var n=u.indexOf(e);u.splice(n,1);}}}function p(e){if(!on(e))throw new Error(\"Act != obj\");if(typeof e.type===v)throw new Error(\"ActType \"+v);if(s)throw new Error(\"Dispatch in reducer\");try{s=!0,a=i(a,e);}finally{s=!1;}for(var t=o=u,n=0;n<t.length;n++)(0, t[n])();return e}return p({type:\"@@redux/INIT\"}),(r={dispatch:p,subscribe:d,getState:f,replaceReducer:function(e){if(typeof e!==h$1)throw new Error(\"next reducer\"+I$1);i=e,p({type:\"@@redux/INIT\"});}})[b$1]=function(){var e,t=d;return (e={subscribe:function(e){if(\"object\"!=typeof e)throw new TypeError(\"Observer != obj\");function n(){e.next&&e.next(f());}return n(),{unsubscribe:t(n)}}})[b$1]=function(){return this},e},r}function E$1(e,t){var n=t&&t.type;return \"action \"+(n&&n.toString()||\"?\")+\"reducer \"+e+\" returns \"+v}function P(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce(function(e,t){return function(){return e(t.apply(void 0,[].slice.call(arguments)))}})}function S(){var e=arguments;return function(t){return function(n,r,i){var a,o=t(n,r,i),u=o.dispatch,c={getState:o.getState,dispatch:function(e){return u(e)}};return a=[].slice.call(e).map(function(e){return e(c)}),g$1({},o,{dispatch:u=P.apply(void 0,a)(o.dispatch)})}}}var N$1=j$1+\"anon_id\",A$1=j$1+\"user_id\",_=j$1+\"user_traits\",j=\"userId\",k$1=\"anonymousId\",x$1=[\"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\"],T=[\"name\",\"EVENTS\",\"config\",\"loaded\"],z=x$1.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return \"registerPlugin:\"+e},pluginReadyType:function(e){return \"ready:\"+e}}),M=/^utm_/,q=/^an_prop_/,V=/^an_trait_/;function C$1(e){var t=e.storage.setItem;return function(n){return function(r){return function(i){if(i.type===z.bootstrap){var a=i.params,o=i.user,u=i.persistedUser,c=i.initialUser,s=u.userId===o.userId;u.anonymousId!==o.anonymousId&&t(N$1,o.anonymousId),s||t(A$1,o.userId),c.traits&&t(_,g$1({},s&&u.traits?u.traits:{},c.traits));var l=Object.keys(i.params);if(l.length){var f=a.an_uid,d=a.an_event,p=l.reduce(function(e,t){if(t.match(M)||t.match(/^(d|g)clid/)){var n=t.replace(M,\"\");e.campaign[\"campaign\"===n?\"name\":n]=a[t];}return t.match(q)&&(e.props[t.replace(q,\"\")]=a[t]),t.match(V)&&(e.traits[t.replace(V,\"\")]=a[t]),e},{campaign:{},props:{},traits:{}});n.dispatch(g$1({type:z.params,raw:a},p,f?{userId:f}:{})),f&&setTimeout(function(){return e.identify(f,p.traits)},0),d&&setTimeout(function(){return e.track(d,p.props)},0),Object.keys(p.campaign).length&&n.dispatch({type:z.campaign,campaign:p.campaign});}}return r(i)}}}}function U(e){return function(t,n){if(void 0===t&&(t={}),void 0===n&&(n={}),n.type===z.setItemEnd){if(n.key===N$1)return g$1({},t,{anonymousId:n.value});if(n.key===A$1)return g$1({},t,{userId:n.value})}switch(n.type){case z.identify:return Object.assign({},t,{userId:n.userId,traits:g$1({},t.traits,n.traits)});case z.reset:return [A$1,N$1,_].forEach(function(t){e.removeItem(t);}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function R(e){return {userId:e.getItem(A$1),anonymousId:e.getItem(N$1),traits:e.getItem(_)}}var $=function(e){return j$1+\"TEMP\"+j$1+e};function D(t){var n=t.storage,r=n.setItem,a=n.removeItem,o=n.getItem;return function(t){return function(n){return function(u){var c=u.userId,s=u.traits,l=u.options;if(u.type===z.reset&&([A$1,_,N$1].forEach(function(e){a(e);}),[j,k$1,\"traits\"].forEach(function(e){i$2($(e));})),u.type===z.identify){o(N$1)||r(N$1,y$1());var f=o(A$1),d=o(_)||{};f&&f!==c&&t.dispatch({type:z.userIdChanged,old:{userId:f,traits:d},new:{userId:c,traits:s},options:l}),c&&r(A$1,c),s&&r(_,g$1({},d,s));}return n(u)}}}}var B={};function L$1(e,t){B[e]&&W$1(B[e])&&(B[e](t),delete B[e]);}function J$1(e,t,n){return new Promise(function(r,i){return t()?r(e):n<1?i(g$1({},e,{queue:!0})):new Promise(function(e){return setTimeout(e,10)}).then(function(a){return J$1(e,t,n-10).then(r,i)})})}function X(e){return {abort:e}}var H=function(e){var t=e.data,n=e.action,r=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,u=e.store,s=e.EVENTS;try{var f=i.plugins,d=i.context,p=n.type,m=p.match(W),h=t.exact.map(function(e){return e.pluginName});m&&(h=o.during.map(function(e){return e.pluginName}));var v=function(e,t){return function(n,r,i){var a=r.config,o=r.name,u=o+\".\"+n.type;i&&(u=i.event);var c=n.type.match(W)?function(e,t,n,r,i){return function(a,o){var u=r?r.name:e,c=o&&ne(o)?o:n;if(r&&(!(c=o&&ne(o)?o:[e]).includes(e)||1!==c.length))throw new Error(\"Method \"+t+\" can only abort \"+e+\" plugin. \"+JSON.stringify(c)+\" input valid\");return g$1({},i,{abort:{reason:a,plugins:c,caller:t,_:u}})}}(o,u,t,i,n):function(e,t){return function(){throw new Error(e.type+\" action not cancellable. Remove abort in \"+t)}}(n,u);return {payload:ae(n),instance:e,config:a||{},abort:c}}}(r,h),y=t.exact.reduce(function(e,t){var n=t.pluginName,r=t.methodName,i=!1;return r.match(/^initialize/)||r.match(/^reset/)||(i=!f[n].loaded),d.offline&&r.match(/^(page|track|identify)/)&&(i=!0),e[\"\"+n]=i,e},{});return Promise.resolve(t.exact.reduce(function(e,i,o){try{var u=i.pluginName;return Promise.resolve(e).then(function(e){function i(){return Promise.resolve(e)}var o=function(){if(t.namespaced&&t.namespaced[u])return Promise.resolve(t.namespaced[u].reduce(function(e,t,n){try{return Promise.resolve(e).then(function(e){return t.method&&W$1(t.method)?(function(e,t){var n=ie(e);if(n&&n.name===t){var r=ie(n.method);throw new Error([t+\" plugin is calling method \"+e,\"Plugins cant call self\",\"Use \"+n.method+\" \"+(r?\"or \"+r.method:\"\")+\" in \"+t+\" plugin insteadof \"+e].join(\"\\n\"))}}(t.methodName,t.pluginName),Promise.resolve(t.method({payload:e,instance:r,abort:(n=e,i=u,o=t.pluginName,function(e,t){return g$1({},n,{abort:{reason:e,plugins:t||[i],caller:p,from:o||i}})}),config:Q(t.pluginName,f,a),plugins:f})).then(function(t){var n=on(t)?t:{};return Promise.resolve(g$1({},e,n))})):e;var n,i,o;})}catch(e){return Promise.reject(e)}},Promise.resolve(n))).then(function(t){e[u]=t;});e[u]=n;}();return o&&o.then?o.then(i):i()})}catch(e){return Promise.reject(e)}},Promise.resolve({}))).then(function(e){return Promise.resolve(t.exact.reduce(function(n,i,o){try{var s=t.exact.length===o+1,l=i.pluginName,d=a[l];return Promise.resolve(n).then(function(t){var n=e[l]?e[l]:{};if(m&&(n=t),ee(n,l))return K({data:n,method:p,instance:r,pluginName:l,store:u}),Promise.resolve(t);if(ee(t,l))return s&&K({data:t,method:p,instance:r,store:u}),Promise.resolve(t);if(y.hasOwnProperty(l)&&!0===y[l])return u.dispatch({type:\"queue\",plugin:l,payload:n,_:{called:\"queue\",from:\"queueMechanism\"}}),Promise.resolve(t);var i=v(e[l],a[l]);return Promise.resolve(d[p]({abort:i.abort,payload:n,instance:r,config:Q(l,f,a),plugins:f})).then(function(i){var a=on(i)?i:{},o=g$1({},t,a),s=e[l];if(ee(s,l))K({data:s,method:p,instance:r,pluginName:l,store:u});else {var f=p+\":\"+l;(f.match(/:/g)||[]).length<2&&!p.match(F$1)&&!p.match(G$1)&&r.dispatch(g$1({},m?o:n,{type:f,_:{called:f,from:\"submethod\"}}));}return Promise.resolve(o)})})}catch(e){return Promise.reject(e)}},Promise.resolve(n))).then(function(e){if(!(p.match(W)||p.match(/^registerPlugin/)||p.match(G$1)||p.match(F$1)||p.match(/^params/)||p.match(/^userIdChanged/))){if(s.plugins.includes(p),e._&&e._.originalAction===p)return e;var n=g$1({},e,{_:{originalAction:e.type,called:e.type,from:\"engineEnd\"}});te(e,t.exact.length)&&!p.match(/End$/)&&(n=g$1({},n,{type:e.type+\"Aborted\"})),u.dispatch(n);}return e})})}catch(e){return Promise.reject(e)}},W=/Start$/,F$1=/^bootstrap/,G$1=/^ready/;function K(e){var t=e.pluginName,n=e.method+\"Aborted\"+(t?\":\"+t:\"\");e.store.dispatch(g$1({},e.data,{type:n,_:{called:n,from:\"abort\"}}));}function Q(e,t,n){var r=t[e]||n[e];return r&&r.config?r.config:{}}function Y(e,t){return t.reduce(function(t,n){return n[e]?t.concat({methodName:e,pluginName:n.name,method:n[e]}):t},[])}function Z(e,t){var n=e.replace(W,\"\"),r=t?\":\"+t:\"\";return [\"\"+e+r,\"\"+n+r,n+\"End\"+r]}function ee(e,t){var n=e.abort;return !!n&&(!0===n||re(n,t)||n&&re(n.plugins,t))}function te(e,t){var n=e.abort;if(!n)return !1;if(!0===n||q$1(n))return !0;var r=n.plugins;return ne(n)&&n.length===t||ne(r)&&r.length===t}function ne(e){return Array.isArray(e)}function re(e,t){return !(!e||!ne(e))&&e.includes(t)}function ie(e){var t=e.match(/(.*):(.*)/);return !!t&&{method:t[1],name:t[2]}}function ae(e){return Object.keys(e).reduce(function(t,n){return \"type\"===n||(t[n]=on(e[n])?Object.assign({},e[n]):e[n]),t},{})}function oe(e,t,n){var r={};return function(i){return function(a){return function(o){try{var u,s=function(e){return u?e:a(m)},d=o.type,p=o.plugins,m=o;if(o.abort)return Promise.resolve(a(o));if(d===z.enablePlugin&&i.dispatch({type:z.initializeStart,plugins:p,disabled:[],fromEnable:!0,meta:o.meta}),d===z.disablePlugin&&setTimeout(function(){return L$1(o.meta.rid,{payload:o})},0),d===z.initializeEnd){var h=t(),v=Object.keys(h),y=v.filter(function(e){return p.includes(e)}).map(function(e){return h[e]}),b=[],I=[],w=o.disabled,E=y.map(function(e){var t=e.loaded,n=e.name,a=e.config;return J$1(e,function(){return t({config:a})},1e4).then(function(t){return r[n]||(i.dispatch({type:z.pluginReadyType(n),name:n,events:Object.keys(e).filter(function(e){return !T.includes(e)})}),r[n]=!0),b=b.concat(n),e}).catch(function(e){if(e instanceof Error)throw new Error(e);return I=I.concat(e.name),e})});Promise.all(E).then(function(e){var t={plugins:b,failed:I,disabled:w};setTimeout(function(){v.length===E.length+w.length&&i.dispatch(g$1({},{type:z.ready},t));},0);});}var P=function(){if(d!==z.bootstrap)return /^ready:([^:]*)$/.test(d)&&setTimeout(function(){return function(e,t,n){var r={},i=t(),a=e.getState(),o=a.plugins,u=a.queue,s=a.user;if(!a.context.offline&&u&&u.actions&&u.actions.length){var f=u.actions.reduce(function(e,t,n){return o[t.plugin].loaded?(e.process.push(t),e.processIndex.push(n)):(e.requeue.push(t),e.requeueIndex.push(n)),e},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(t){var a=u.actions[t],f=a.plugin,d=a.payload.type,p=i[f][d];if(p&&W$1(p)){var m,h=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),[j,k$1].reduce(function(n,r){return e.hasOwnProperty(r)&&t[r]&&t[r]!==e[r]&&(n[r]=t[r]),n},e)}(a.payload,s),v=r[h.meta.rid];if(!v&&(m=p({payload:h,config:o[f].config,instance:n,abort:X}))&&on(m)&&m.abort)return void(r[h.meta.rid]=!0);if(!v){var y=d+\":\"+f;e.dispatch(g$1({},h,{type:y,_:{called:y,from:\"queueDrain\"}}));}}});var d=u.actions.filter(function(e,t){return !~f.processIndex.indexOf(t)});u.actions=d;}}}(i,t,e)},0),Promise.resolve(function(e,t,n,r,i){try{var a=W$1(t)?t():t,o=e.type,u=o.replace(W,\"\");if(e._&&e._.called)return Promise.resolve(e);var c=n.getState(),s=(m=a,void 0===(h=c.plugins)&&(h={}),void 0===(v=e.options)&&(v={}),Object.keys(m).filter(function(e){var t=v.plugins||{};return Q$1(t[e])?t[e]:!1!==t.all&&(!h[e]||!1!==h[e].enabled)}).map(function(e){return m[e]}));o===z.initializeStart&&e.fromEnable&&(s=Object.keys(c.plugins).filter(function(t){var n=c.plugins[t];return e.plugins.includes(t)&&!n.initialized}).map(function(e){return a[e]}));var d=s.map(function(e){return e.name}),p=function(e,t,n){var r=Z(e).map(function(e){return Y(e,t)});return t.reduce(function(n,r){var i=r.name,a=Z(e,i).map(function(e){return Y(e,t)}),o=a[0],u=a[1],c=a[2];return o.length&&(n.beforeNS[i]=o),u.length&&(n.duringNS[i]=u),c.length&&(n.afterNS[i]=c),n},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(o,s);return Promise.resolve(H({action:e,data:{exact:p.before,namespaced:p.beforeNS},state:c,allPlugins:a,allMatches:p,instance:n,store:r,EVENTS:i})).then(function(e){function t(){var t=function(){if(o.match(W))return Promise.resolve(H({action:g$1({},s,{type:u+\"End\"}),data:{exact:p.after,namespaced:p.afterNS},state:c,allPlugins:a,allMatches:p,instance:n,store:r,EVENTS:i})).then(function(e){e.meta&&e.meta.hasCallback&&L$1(e.meta.rid,{payload:e});})}();return t&&t.then?t.then(function(){return e}):e}if(te(e,d.length))return e;var s,l=function(){if(o!==u)return Promise.resolve(H({action:g$1({},e,{type:u}),data:{exact:p.during,namespaced:p.duringNS},state:c,allPlugins:a,allMatches:p,instance:n,store:r,EVENTS:i})).then(function(e){s=e;});s=e;}();return l&&l.then?l.then(t):t()})}catch(e){return Promise.reject(e)}var m,h,v;}(o,t,e,i,n)).then(function(e){return u=1,a(e)})}();return Promise.resolve(P&&P.then?P.then(s):s(P))}catch(e){return Promise.reject(e)}}}}}function ue(e){return function(t){return function(t){return function(n){var r=n.type,i=n.key,a=n.value,o=n.options;if(r===z.setItem||r===z.removeItem){if(n.abort)return t(n);r===z.setItem?e.setItem(i,a,o):e.removeItem(i,o);}return t(n)}}}}var ce=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,n){e[n]=e[n].concat(t);},this.removeMiddleware=function(t,n){var r=e[n].findIndex(function(e){return e===t});-1!==r&&(e[n]=[].concat(e[n].slice(0,r),e[n].slice(r+1)));},this.dynamicMiddlewares=function(t){return function(n){return function(r){return function(i){var a={getState:n.getState,dispatch:function(e){return n.dispatch(e)}},o=e[t].map(function(e){return e(a)});return P.apply(void 0,o)(r)(i)}}}};};function se(e){return function(t,n){void 0===t&&(t={});var r={};if(\"initialize:aborted\"===n.type)return t;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=le(n.type,\"registerPlugin\"),a=e()[i];if(!a||!i)return t;var o=n.enabled,u=a.config;return r[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded({config:u})),config:u},g$1({},t,r)}if(/^initialize:([^:]*)$/.test(n.type)){var c=le(n.type,z.initialize),s=e()[c];return s&&c?(r[c]=g$1({},t[c],{initialized:!0,loaded:Boolean(s.loaded({config:s.config}))}),g$1({},t,r)):t}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=g$1({},t[n.name],{loaded:!0}),g$1({},t,r);switch(n.type){case z.disablePlugin:return g$1({},t,fe(n.plugins,!1,t));case z.enablePlugin:return g$1({},t,fe(n.plugins,!0,t));default:return t}}}function le(e,t){return e.substring(t.length+1,e.length)}function fe(e,t,n){return e.reduce(function(e,r){return e[r]=g$1({},n[r],{enabled:t}),e},n)}function de(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var pe={last:{},history:[]};function me(e,t){void 0===e&&(e=pe);var n=t.options,r=t.meta;if(t.type===z.track){var i=de(g$1({event:t.event,properties:t.properties},Object.keys(n).length&&{options:n},{meta:r}));return g$1({},e,{last:i,history:e.history.concat(i)})}return e}var ge={actions:[]};function he(e,t){void 0===e&&(e=ge);var n=t.payload;switch(t.type){case\"queue\":var r;return r=n&&n.type&&n.type===z.identify?[t].concat(e.actions):e.actions.concat(t),g$1({},e,{actions:r});case\"dequeue\":return [];default:return e}}var ve=/#.*$/;function ye(e){var t=/(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g.exec(e);return \"/\"+(t&&t[3]?t[3].split(\"?\")[0].replace(ve,\"\"):\"\")}var be,Ie=function(e){if(void 0===e&&(e={}),!$$1)return e;var t=document,n=t.title,r=t.referrer,i=window,a=i.location,o=i.innerWidth,u=i.innerHeight,c=a.hash,s=a.search,l=function(e){var t=function(){if($$1)for(var e,t=document.getElementsByTagName(\"link\"),n=0;e=t[n];n++)if(\"canonical\"===e.getAttribute(\"rel\"))return e.getAttribute(\"href\")}();return t?t.match(/\\?/)?t:t+e:window.location.href.replace(ve,\"\")}(s),f={title:n,url:l,path:ye(l),hash:c,search:s,width:o,height:u};return r&&\"\"!==r&&(f.referrer=r),g$1({},f,e)},we={last:{},history:[]};function Ee(e,t){void 0===e&&(e=we);var n=t.options;if(t.type===z.page){var r=de(g$1({properties:t.properties,meta:t.meta},Object.keys(n).length&&{options:n}));return g$1({},e,{last:r,history:e.history.concat(r)})}return e}be={};var Pe={initialized:!1,sessionId:y$1(),app:null,version:null,debug:!1,offline:!!$$1&&!navigator.onLine,os:{name:\"na\"},userAgent:$$1?navigator.userAgent:\"node\",library:{name:\"analytics\",version:\"0.12.14\"},timezone:void 0,locale:void 0,campaign:{},referrer:be};function Se(e,t){void 0===e&&(e=Pe);var n=e.initialized,r=t.campaign;switch(t.type){case z.campaign:return g$1({},e,{campaign:r});case z.offline:return g$1({},e,{offline:!0});case z.online:return g$1({},e,{offline:!1});default:return n?e:g$1({},Pe,e,{initialized:!0})}}var Ne=[\"plugins\",\"reducers\",\"storage\"];function Ae(){return f(\"analytics\",[]),function(e){return function(t,n$1,r){var i=e(t,n$1,r),a=i.dispatch;return Object.assign(i,{dispatch:function(e){return n[o].analytics.push(e.action||e),a(e)}})}}}function _e(e){return function(){return P(P.apply(null,arguments),Ae())}}function Oe(e){return e?rn(e)?e:[e]:[]}function je(t,n,r){void 0===t&&(t={});var i,a,o=y$1();return n&&(B[o]=(i=n,a=function(e){for(var t,n=e||Array.prototype.slice.call(arguments),r=0;r<n.length;r++)if(W$1(n[r])){t=n[r];break}return t}(r),function(e){a&&a(e),i(e);})),g$1({},t,{rid:o,ts:(new Date).getTime()},n?{hasCallback:!0}:{})}function ke(o){void 0===o&&(o={});var u=o.reducers||{},s$1=o.initialUser||{},f$1=(o.plugins||[]).reduce(function(e,t){if(W$1(t))return e.middlewares=e.middlewares.concat(t),e;if(t.NAMESPACE&&(t.name=t.NAMESPACE),!t.name)throw new Error(\"https://lytics.dev/errors/1\");t.config||(t.config={});var n=t.EVENTS?Object.keys(t.EVENTS).map(function(e){return t.EVENTS[e]}):[];e.pluginEnabled[t.name]=!(!1===t.enabled||!1===t.config.enabled),delete t.enabled,t.methods&&(e.methods[t.name]=Object.keys(t.methods).reduce(function(e,n){var r;return e[n]=(r=t.methods[n],function(){for(var e=Array.prototype.slice.call(arguments),t=new Array(r.length),n=0;n<e.length;n++)t[n]=e[n];return t[t.length]=K,r.apply({instance:K},t)}),e},{}),delete t.methods);var r=Object.keys(t).concat(n),i=new Set(e.events.concat(r));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(t),e.plugins[t.name])throw new Error(t.name+\"AlreadyLoaded\");return e.plugins[t.name]=t,e.plugins[t.name].loaded||(e.plugins[t.name].loaded=function(){return !0}),e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),m=o.storage?o.storage:{getItem:a$2,setItem:f,removeItem:i$2},b=function(e){return function(t,n,i){return n.getState(\"user\")[t]||(i&&on(i)&&i[t]?i[t]:R(e)[t]||a$2($(t))||null)}}(m),I=f$1.plugins,A=f$1.events.filter(function(e){return !T.includes(e)}).sort(),_=new Set(A.concat(x$1).filter(function(e){return !T.includes(e)})),O=Array.from(_).sort(),M=function(){return I},q=new ce,V=q.addMiddleware,B=q.removeMiddleware,L=q.dynamicMiddlewares,J=function(){throw new Error(\"Abort disabled inListener\")},X=s(),H=R(m),W=g$1({},H,s$1,X.an_uid?{userId:X.an_uid}:{},X.an_aid?{anonymousId:X.an_aid}:{});W.anonymousId||(W.anonymousId=y$1());var F=g$1({enable:function(e,t){return new Promise(function(n){le.dispatch({type:z.enablePlugin,plugins:Oe(e),_:{originalAction:z.enablePlugin}},n,[t]);})},disable:function(e,t){return new Promise(function(n){le.dispatch({type:z.disablePlugin,plugins:Oe(e),_:{originalAction:z.disablePlugin}},n,[t]);})}},f$1.methods),G=!1,K={identify:function(e,t,n,r){try{var i=q$1(e)?e:null,o=on(e)?e:t,u=n||{},s=K.user();f($(j),i);var l=i||o.userId||b(j,K,o);return Promise.resolve(new Promise(function(e){le.dispatch(g$1({type:z.identifyStart,userId:l,traits:o||{},options:u,anonymousId:s.anonymousId},s.id&&s.id!==i&&{previousId:s.id}),e,[t,n,r]);}))}catch(e){return Promise.reject(e)}},track:function(e,t,n,r){try{var i=on(e)?e.event:e;if(!i||!q$1(i))throw new Error(\"EventMissing\");var a=on(e)?e:t||{},o=on(n)?n:{};return Promise.resolve(new Promise(function(e){le.dispatch({type:z.trackStart,event:i,properties:a,options:o,userId:b(j,K,t),anonymousId:b(k$1,K,t)},e,[t,n,r]);}))}catch(e){return Promise.reject(e)}},page:function(e,t,n){try{var r=on(e)?e:{},i=on(t)?t:{};return Promise.resolve(new Promise(function(a){le.dispatch({type:z.pageStart,properties:Ie(r),options:i,userId:b(j,K,r),anonymousId:b(k$1,K,r)},a,[e,t,n]);}))}catch(e){return Promise.reject(e)}},user:function(e){if(e===j||\"id\"===e)return b(j,K);if(e===k$1||\"anonId\"===e)return b(k$1,K);var t=K.getState(\"user\");return e?n$2(t,e):t},reset:function(e){return new Promise(function(t){le.dispatch({type:z.resetStart},t,e);})},ready:function(e){return G&&e({plugins:F,instance:K}),K.on(z.ready,function(t){e(t),G=!0;})},on:function(e,t){if(!e||!W$1(t))return !1;if(e===z.bootstrap)throw new Error(\".on disabled for \"+e);var n=/Start$|Start:/;if(\"*\"===e){var r=function(e){return function(e){return function(r){return r.type.match(n)&&t({payload:r,instance:K,plugins:I}),e(r)}}},i=function(e){return function(e){return function(r){return r.type.match(n)||t({payload:r,instance:K,plugins:I}),e(r)}}};return V(r,xe),V(i,Te),function(){B(r,xe),B(i,Te);}}var a=e.match(n)?xe:Te,o=function(n){return function(n){return function(r){return r.type===e&&t({payload:r,instance:K,plugins:I,abort:J}),n(r)}}};return V(o,a),function(){return B(o,a)}},once:function(e,t){if(!e||!W$1(t))return !1;if(e===z.bootstrap)throw new Error(\".once disabled for \"+e);var n=K.on(e,function(e){t({payload:e.payload,instance:K,plugins:I,abort:J}),n();});return n},getState:function(e){var t=le.getState();return e?n$2(t,e):Object.assign({},t)},dispatch:function(e){var t=q$1(e)?{type:e}:e;if(x$1.includes(t.type))throw new Error(\"reserved action \"+t.type);var n=g$1({},t,{_:g$1({originalAction:t.type},e._||{})});le.dispatch(n);},enablePlugin:F.enable,disablePlugin:F.disable,plugins:F,storage:{getItem:m.getItem,setItem:function(e,t,n){le.dispatch({type:z.setItemStart,key:e,value:t,options:n});},removeItem:function(e,t){le.dispatch({type:z.removeItemStart,key:e,options:t});}},setAnonymousId:function(e,t){K.storage.setItem(N$1,e,t);},events:{core:x$1,plugins:A}},Q=f$1.middlewares.concat([function(e){return function(e){return function(t){return t.meta||(t.meta=je()),e(t)}}},L(xe),oe(K,M,{all:O,plugins:A}),ue(m),C$1(K),D(K),L(Te)]),Y={context:Se,user:U(m),page:Ee,track:me,plugins:se(M),queue:he},Z=P,ee=P;if($$1&&o.debug){var te=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;te&&(Z=te({trace:!0,traceLimit:25})),ee=function(){return 0===arguments.length?Ae():on(typeof arguments[0])?_e():_e().apply(null,arguments)};}var ne,re=function(e){return Object.keys(e).reduce(function(t,n){return Ne.includes(n)||(t[n]=e[n]),t},{})}(o),ie=f$1.pluginsArray.reduce(function(e,t){var n=t.name,r=t.config,i=t.loaded,a=f$1.pluginEnabled[n];return e[n]={enabled:a,initialized:!!a&&Boolean(!t.initialize),loaded:Boolean(i({config:r})),config:r},e},{}),ae={context:re,user:W,plugins:ie},le=w(function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r];typeof e[i]===h$1&&(n[i]=e[i]);}var a,o=Object.keys(n);try{!function(e){Object.keys(e).forEach(function(t){var n=e[t];if(typeof n(void 0,{type:\"@@redux/INIT\"})===v||typeof n(void 0,{type:y})===v)throw new Error(\"reducer \"+t+\" \"+v)});}(n);}catch(e){a=e;}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},u=0;u<o.length;u++){var c=o[u],s=e[c],l=(0, n[c])(s,t);if(typeof l===v){var f=E$1(c,t);throw new Error(f)}i[c]=l,r=r||l!==s;}return r?i:e}}(g$1({},Y,u)),ae,ee(Z(S.apply(void 0,Q))));le.dispatch=(ne=le.dispatch,function(e,t,n){var r=g$1({},e,{meta:je(e.meta,t,Oe(n))});return ne.apply(null,[r])});var fe=Object.keys(I);le.dispatch({type:z.bootstrap,plugins:fe,config:re,params:X,user:W,initialUser:s$1,persistedUser:H});var de=fe.filter(function(e){return f$1.pluginEnabled[e]}),pe=fe.filter(function(e){return !f$1.pluginEnabled[e]});return le.dispatch({type:z.registerPlugins,plugins:fe,enabled:f$1.pluginEnabled}),f$1.pluginsArray.map(function(e,t){var n=e.bootstrap,r=e.config,i=e.name;n&&W$1(n)&&n({instance:K,config:r,payload:e}),le.dispatch({type:z.registerPluginType(i),name:i,enabled:f$1.pluginEnabled[i],plugin:e}),f$1.pluginsArray.length===t+1&&le.dispatch({type:z.initializeStart,plugins:de,disabled:pe});}),K}var xe=\"before\",Te=\"after\";\n\nvar t=\"cookie\",i$1=a$1(),r$1=d$1,c=d$1;function u(o){return i$1?d$1(o,\"\",-1):i$2(o)}function a$1(){if(void 0!==i$1)return i$1;var e=\"cookiecookie\";try{d$1(e,e),i$1=-1!==document.cookie.indexOf(e),u(e);}catch(e){i$1=!1;}return i$1}function d$1(e,t,r,c,u,a){if(\"undefined\"!=typeof window){var d=arguments.length>1;return !1===i$1&&(d?f(e,t):a$2(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}\n\nvar r=\"localStorage\",g=b$2.bind(null,\"localStorage\");u$1(\"localStorage\",\"getItem\",a$2);u$1(\"localStorage\",\"setItem\",f);u$1(\"localStorage\",\"removeItem\",i$2);\n\nvar a=\"sessionStorage\",i=b$2.bind(null,\"sessionStorage\");u$1(\"sessionStorage\",\"getItem\",a$2);u$1(\"sessionStorage\",\"setItem\",f);u$1(\"sessionStorage\",\"removeItem\",i$2);\n\nfunction I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return !0;if(\"false\"===o)return !1;if(on(o))return o;parseFloat(o)===o&&(o=parseFloat(o));}catch(t){}if(null!==o&&\"\"!==o)return o}var k=g(),O=i(),x=a$1();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!I$2(i))return i;var n=h(r)?I(r$1(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=a$2(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r$2,a$1,l$1){if(r$2&&!I$2(a$1)){var u={},g=A(l$1),m=JSON.stringify(a$1),S=!N(g);return d(g)&&(u[r]=F(r,a$1,I(localStorage.getItem(r$2))),localStorage.setItem(r$2,m),S)?u[r]:h(g)&&(u[t]=F(t,a$1,I(r$1(r$2))),c(r$2,m),S)?u[t]:E(g)&&(u[a]=F(a,a$1,I(sessionStorage.getItem(r$2))),sessionStorage.setItem(r$2,m),S)?u[a]:(u[l]=F(l,a$1,a$2(r$2)),f(r$2,a$1),S?u[l]:u)}}function b(t$1,e){if(t$1){var a$1=A(e),s=C(t$1,m$1),n={};return !I$2(s.localStorage)&&d(a$1)&&(localStorage.removeItem(t$1),n[r]=s.localStorage),!I$2(s.cookie)&&h(a$1)&&(u(t$1),n[t]=s.cookie),!I$2(s.sessionStorage)&&E(a$1)&&(sessionStorage.removeItem(t$1),n[a]=s.sessionStorage),!I$2(s.global)&&G(a$1,l)&&(i$2(t$1),n[l]=s.global),n}}function A(t){return t?q$1(t)?t:t.storage:b$3}function d(t){return k&&G(t,r)}function h(t$1){return x&&G(t$1,t)}function E(t){return O&&G(t,a)}function N(t){return t===m$1||\"all\"===t}function G(t,o){return t===b$3||t===o||N(t)}function F(t,o,e){return {location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: J\n };\n return ke(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nfunction findScript(src) {\n const scripts = Array.prototype.slice.call(window.document.querySelectorAll(\"script\"));\n return scripts.find(s => s.src === src);\n}\nfunction buildScriptSrc(src, options) {\n let result = src;\n if (!result.startsWith(\"http\")) {\n result = `https://${(options === null || options === void 0 ? void 0 : options.www) ? \"www.\" : \"\"}${result}`;\n }\n if (options === null || options === void 0 ? void 0 : options.min) {\n result = result + \".min.js\";\n }\n else if (options === null || options === void 0 ? void 0 : options.js) {\n result = result + \".js\";\n }\n if (options === null || options === void 0 ? void 0 : options.query) {\n result += \"?\" + options.query;\n }\n return result;\n}\nfunction loadScript(src, options) {\n const found = findScript(src);\n if (found !== undefined) {\n const status = found === null || found === void 0 ? void 0 : found.getAttribute(\"status\");\n if (status === \"loaded\") {\n return Promise.resolve(found);\n }\n if (status === \"loading\") {\n return new Promise((resolve, reject) => {\n found.addEventListener(\"load\", () => resolve(found));\n found.addEventListener(\"error\", err => reject(err));\n });\n }\n }\n return new Promise((resolve, reject) => {\n var _a, _b;\n const script = window.document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = buildScriptSrc(src, options);\n script.async = true;\n script.setAttribute(\"status\", \"loading\");\n for (const [k, v] of Object.entries((_a = options === null || options === void 0 ? void 0 : options.attributes) !== null && _a !== void 0 ? _a : {})) {\n script.setAttribute(k, v);\n }\n script.onload = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"loaded\");\n resolve(script);\n };\n script.onerror = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"error\");\n reject(new Error(`Failed to load ${src}`));\n };\n const tag = window.document.getElementsByTagName(\"script\")[0];\n (_b = tag.parentElement) === null || _b === void 0 ? void 0 : _b.insertBefore(script, tag);\n });\n}\n\nvar __awaiter$5 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst tagPlugin = {\n id: \"tag\",\n handle(config, payload) {\n return __awaiter$5(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n insertTags(config.code, payload);\n });\n },\n};\nfunction insertTags(code, event, opts = {}) {\n let tag;\n try {\n tag = JSON.parse(code);\n }\n catch (e) {\n tag = { code, lang: \"javascript\" };\n }\n const debug = opts.debug || false;\n if (isInBrowser()) {\n if (tag.lang === \"javascript\") {\n execJs(tag.code, event);\n }\n else {\n const codeHolder = document.createElement(\"span\");\n codeHolder.innerHTML = replaceMacro(tag.code, event);\n document.body.insertAdjacentElement(\"beforeend\", codeHolder);\n const scripts = codeHolder.querySelectorAll(\"script\");\n scripts.forEach(script => {\n const scriptClone = document.createElement(\"script\");\n scriptClone.type = scriptClone.type || \"text/javascript\";\n if (script.hasAttribute(\"src\")) {\n scriptClone.src = script.src;\n }\n scriptClone.text = script.text;\n if (debug) {\n console.log(`[JITSU] Executing script${script.hasAttribute(\"src\") ? ` ${script.src}` : \"\"}`, scriptClone.text);\n }\n document.head.appendChild(scriptClone);\n document.head.removeChild(scriptClone);\n });\n }\n }\n else {\n if (debug) {\n console.log(`[JITSU] insertTags(): cannot insert tags in non-browser environment`);\n }\n }\n}\n//This weird code is used to mask eval() usage.\n//Although the code can be executed in the browser, some server side bundlers (like Vercel) fails\n//the build if a direct reference to eval() is found.\nlet al = \"al\";\nlet ev = \"ve\".split(\"\").reverse().join(\"\");\nconst execF = globalThis[ev + al];\nfunction execJs(code, event) {\n const varName = `jitsu_event_${randomId()}`;\n window[varName] = event;\n const iif = `(function(){\n const event = ${varName};\n ${code}\n })()`;\n try {\n execF(iif);\n }\n catch (e) {\n console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);\n }\n finally {\n delete window[varName];\n }\n return iif;\n}\nfunction replaceMacro(code, event) {\n return code.replace(/{{\\s*event\\s*}}/g, JSON.stringify(event));\n}\n\nvar __awaiter$4 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst cdn = \"cdn.lr-ingest.io/\";\nconst logrocketPlugin = {\n id: \"logrocket\",\n handle(config, payload) {\n return __awaiter$4(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n initLogrocketIfNeeded(config.appId);\n const action = logRocket => {\n if (payload.type === \"identify\" && payload.userId) {\n logRocket.identify(payload.userId, payload.traits || {});\n }\n };\n getLogRocketQueue().push(action);\n if (getLogRocketState() === \"loaded\") {\n flushLogRocketQueue(window[\"LogRocket\"]);\n }\n });\n },\n};\nfunction getLogRocketState() {\n return window[\"__jitsuLrState\"] || \"fresh\";\n}\nfunction setLogRocketState(s) {\n window[\"__jitsuLrState\"] = s;\n}\nfunction getLogRocketQueue() {\n return window[\"__jitsuLrQueue\"] || (window[\"__jitsuLrQueue\"] = []);\n}\nfunction flushLogRocketQueue(lr) {\n const queue = getLogRocketQueue();\n while (queue.length > 0) {\n const method = queue.shift();\n try {\n const res = method(lr);\n if (res) {\n res.catch(e => console.warn(`Async LogRocket method failed: ${e.message}`, e));\n }\n }\n catch (e) {\n console.warn(`LogRocket method failed: ${e.message}`, e);\n }\n }\n}\nfunction initLogrocketIfNeeded(appId) {\n return __awaiter$4(this, void 0, void 0, function* () {\n if (getLogRocketState() !== \"fresh\") {\n return;\n }\n setLogRocketState(\"loading\");\n loadScript(`${cdn}LogRocket`, { min: true, attributes: { crossOrigin: \"anonymous\" } })\n .then(() => {\n if (window[\"LogRocket\"]) {\n try {\n window[\"LogRocket\"].init(appId);\n }\n catch (e) {\n console.warn(`LogRocket (id=${appId}) init failed: ${e.message}`, e);\n setLogRocketState(\"failed\");\n }\n setLogRocketState(\"loaded\");\n flushLogRocketQueue(window[\"LogRocket\"]);\n }\n })\n .catch(e => {\n console.warn(`LogRocket (id=${appId}) init failed: ${e.message}`, e);\n setLogRocketState(\"failed\");\n });\n });\n}\n\nvar __awaiter$3 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nfunction omit(obj, ...keys) {\n return Object.fromEntries(Object.entries(obj).filter(([k]) => !keys.includes(k)));\n}\nconst gtmPlugin = {\n id: \"gtm\",\n handle(config, payload) {\n return __awaiter$3(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n const debug = !!config.debug;\n if (!applyFilters(payload, config)) {\n return;\n }\n yield initGtmIfNeeded(config, payload);\n const dataLayer = window[config.dataLayerName || \"dataLayer\"];\n //traits could be in both nodes, context.traits takes precedence\n const traits = Object.assign(Object.assign({}, ((payload === null || payload === void 0 ? void 0 : payload.traits) || {})), (((_a = payload === null || payload === void 0 ? void 0 : payload.context) === null || _a === void 0 ? void 0 : _a.traits) || {}));\n //remove properties that defined separately\n const idsFromTraits = omit(traits, \"id\", \"userId\", \"user_id\", \"anonymousId\", \"userId\");\n if (debug) {\n console.debug(\"GTM plugin will be applied to following payload\", payload);\n }\n // See https://developers.google.com/tag-platform/tag-manager/server-side/common-event-data\n const userData = {\n email_address: traits.email,\n };\n const ids = Object.assign(Object.assign(Object.assign(Object.assign({}, (payload.userId ? { user_id: payload.userId, userId: payload.userId } : {})), (payload.anonymousId ? { anonymousId: payload.anonymousId } : {})), idsFromTraits), { user_data: Object.keys(userData).length > 0 ? userData : undefined });\n if (debug) {\n console.debug(\"GTM plugin will set following user-related data layer vars\", ids);\n }\n const pageProperties = payload.properties || {};\n const pageVariables = {\n page_location: pageProperties.url || ((_c = (_b = payload.context) === null || _b === void 0 ? void 0 : _b.page) === null || _c === void 0 ? void 0 : _c.url),\n page_title: pageProperties.title || ((_e = (_d = payload.context) === null || _d === void 0 ? void 0 : _d.page) === null || _e === void 0 ? void 0 : _e.title),\n page_path: pageProperties.path || ((_g = (_f = payload.context) === null || _f === void 0 ? void 0 : _f.page) === null || _g === void 0 ? void 0 : _g.path),\n page_hash: pageProperties.hash || ((_j = (_h = payload.context) === null || _h === void 0 ? void 0 : _h.page) === null || _j === void 0 ? void 0 : _j.hash),\n page_search: pageProperties.search || ((_l = (_k = payload.context) === null || _k === void 0 ? void 0 : _k.page) === null || _l === void 0 ? void 0 : _l.search),\n page_referrer: (_p = (_o = (_m = payload === null || payload === void 0 ? void 0 : payload.context) === null || _m === void 0 ? void 0 : _m.page) === null || _o === void 0 ? void 0 : _o.referrer) !== null && _p !== void 0 ? _p : \"\",\n };\n if (debug) {\n console.debug(\"GTM plugin will set following context (page) related data layer vars\", ids);\n }\n const pushToDataLayer = (data) => {\n dataLayer.push(data);\n if (debug) {\n console.debug(\"GTM plugin will push following data to dataLayer\", data);\n }\n };\n switch (payload.type) {\n case \"page\":\n const pageEvent = Object.assign(Object.assign({ event: \"page_view\" }, pageVariables), ids);\n pushToDataLayer(pageEvent);\n break;\n case \"track\":\n const { properties: trackProperties } = payload;\n const trackEvent = Object.assign(Object.assign(Object.assign({ event: payload.event }, pageVariables), trackProperties), ids);\n pushToDataLayer(trackEvent);\n break;\n case \"identify\":\n const { traits } = payload;\n const identifyEvent = Object.assign(Object.assign(Object.assign({ event: \"identify\" }, pageVariables), traits), ids);\n pushToDataLayer(identifyEvent);\n break;\n }\n dataLayer.push(function () {\n this.reset();\n });\n });\n },\n};\nfunction getGtmState() {\n return window[\"__jitsuGtmState\"] || \"fresh\";\n}\nfunction setGtmState(s) {\n window[\"__jitsuGtmState\"] = s;\n}\nfunction initGtmIfNeeded(config, payload) {\n return __awaiter$3(this, void 0, void 0, function* () {\n if (getGtmState() !== \"fresh\") {\n return;\n }\n setGtmState(\"loading\");\n const dlName = config.dataLayerName || \"dataLayer\";\n const tagId = config.containerId;\n (function (w, l, i) {\n w[l] = w[l] || [];\n w[l].push({\n user_id: payload.userId,\n });\n w[l].push({\n \"gtm.start\": new Date().getTime(),\n event: \"gtm.js\",\n });\n const dl = l != \"dataLayer\" ? \"&l=\" + l : \"\";\n const scriptSrc = \"googletagmanager.com/gtm\";\n loadScript(scriptSrc, { www: true, js: true, query: \"id=\" + i + dl })\n .then(() => {\n setGtmState(\"loaded\");\n })\n .catch(e => {\n console.warn(`GTM (containerId=${tagId}) init failed: ${e.message}`, e);\n setGtmState(\"failed\");\n });\n })(window, dlName, tagId);\n });\n}\n\nvar __awaiter$2 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst urlData = [\n new Uint8Array([109, 111, 99, 46, 114, 101, 103, 97, 110, 97, 109, 103, 97, 116, 101, 108, 103, 111, 111, 103]),\n new Uint8Array([103, 97, 116, 103]),\n new Uint8Array([115, 106]),\n];\nfunction byteArrayToString(byteArray) {\n const decoder = new TextDecoder();\n return decoder.decode(byteArray);\n}\nfunction buildTagUrl() {\n return urlData\n .map(d => d.reverse())\n .map(byteArrayToString)\n .join(\"/\");\n}\nconst ga4Plugin = {\n id: \"ga4-tag\",\n handle(config, payload) {\n return __awaiter$2(this, void 0, void 0, function* () {\n var _a, _b;\n if (!applyFilters(payload, config)) {\n return;\n }\n yield initGa4IfNeeded(config, payload);\n const dataLayer = window[config.dataLayerName || \"dataLayer\"];\n const gtag = function () {\n dataLayer.push(arguments);\n };\n const ids = Object.assign(Object.assign({}, (payload.userId ? { user_id: payload.userId, userId: payload.userId } : {})), (payload.anonymousId ? { anonymousId: payload.anonymousId } : {}));\n if (payload.userId) {\n // @ts-ignore\n gtag(\"set\", { user_id: payload.userId });\n }\n switch (payload.type) {\n case \"page\":\n if (config.autoPageView) {\n console.log(\"autoPageView\");\n break;\n }\n const { properties: pageProperties, context } = payload;\n const pageEvent = Object.assign({ page_location: pageProperties.url, page_title: pageProperties.title, page_path: pageProperties.path, page_hash: pageProperties.hash, page_search: pageProperties.search, page_referrer: (_b = (_a = context === null || context === void 0 ? void 0 : context.page) === null || _a === void 0 ? void 0 : _a.referrer) !== null && _b !== void 0 ? _b : \"\" }, ids);\n // @ts-ignore\n gtag(\"event\", \"page_view\", pageEvent);\n break;\n case \"track\":\n const { properties: trackProperties } = payload;\n const trackEvent = Object.assign(Object.assign({}, trackProperties), ids);\n // @ts-ignore\n gtag(\"event\", payload.event, trackEvent);\n break;\n case \"identify\":\n const { traits } = payload;\n const identifyEvent = Object.assign(Object.assign({}, traits), ids);\n // @ts-ignore\n gtag(\"event\", \"identify\", identifyEvent);\n break;\n }\n });\n },\n};\nfunction getGa4State() {\n return window[\"__jitsuGa4State\"] || \"fresh\";\n}\nfunction setGa4State(s) {\n window[\"__jitsuGa4State\"] = s;\n}\nfunction initGa4IfNeeded(config, payload) {\n return __awaiter$2(this, void 0, void 0, function* () {\n if (getGa4State() !== \"fresh\") {\n return;\n }\n setGa4State(\"loading\");\n const dlName = config.dataLayerName || \"dataLayer\";\n const dlParam = dlName !== \"dataLayer\" ? \"&l=\" + dlName : \"\";\n // to work with both GA4 and GTM\n const tagId = config.measurementIds;\n window[dlName] = window[dlName] || [];\n const gtag = function () {\n window[dlName].push(arguments);\n };\n // @ts-ignore\n gtag(\"js\", new Date());\n gtag(\n // @ts-ignore\n \"config\", tagId, Object.assign(Object.assign({}, (payload.userId ? { user_id: payload.userId } : {})), (!config.autoPageView ? { send_page_view: false } : {})));\n loadScript(buildTagUrl(), { query: `id=${tagId}${dlParam}`, www: true })\n .then(() => {\n setGa4State(\"loaded\");\n })\n .catch(e => {\n console.warn(`GA4 (containerId=${config.measurementIds}) init failed: ${e.message}`, e);\n setGa4State(\"failed\");\n });\n });\n}\n\nfunction satisfyFilter(filter, subject) {\n return filter === \"*\" || filter.toLowerCase().trim() === (subject || \"\").trim().toLowerCase();\n}\nfunction satisfyDomainFilter(filter, subject) {\n if (filter === \"*\") {\n return true;\n }\n subject = subject || \"\";\n if (filter.startsWith(\"*.\")) {\n return subject.endsWith(filter.substring(1));\n }\n else {\n return filter === subject;\n }\n}\nfunction applyFilters(event, creds) {\n const { hosts = \"*\", events = \"*\" } = creds;\n try {\n const eventsArray = Array.isArray(events) ? events : events.split(\"\\n\");\n const hostsArray = Array.isArray(hosts) ? hosts : hosts.split(\"\\n\");\n return (!!hostsArray.find(hostFilter => { var _a, _b; return satisfyDomainFilter(hostFilter, (_b = (_a = event.context) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.host); }) &&\n (!!eventsArray.find(eventFilter => satisfyFilter(eventFilter, event.type)) ||\n !!eventsArray.find(eventFilter => satisfyFilter(eventFilter, event.event))));\n }\n catch (e) {\n console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof events}, typeof hosts: ${typeof hosts}. Values`, events, hosts);\n throw new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof events}, typeof hosts: ${typeof hosts}`);\n }\n}\nconst internalDestinationPlugins = {\n [tagPlugin.id]: tagPlugin,\n [gtmPlugin.id]: gtmPlugin,\n [ga4Plugin.id]: ga4Plugin,\n [logrocketPlugin.id]: logrocketPlugin,\n};\n\nconst jitsuVersion = \"2.0.0\";\nconst jitsuLibraryName = \"@jitsu/js\";\n\nconst publicSuffixes = \"myshopify.com,ac,com.ac,edu.ac,gov.ac,net.ac,mil.ac,org.ac,ad,nom.ad,ae,co.ae,net.ae,org.ae,sch.ae,ac.ae,gov.ae,mil.ae,aero,af,gov.af,com.af,org.af,net.af,edu.af,ag,com.ag,org.ag,net.ag,co.ag,nom.ag,ai,off.ai,com.ai,net.ai,org.ai,al,com.al,edu.al,gov.al,mil.al,net.al,org.al,am,co.am,com.am,commune.am,net.am,org.am,ao,ed.ao,gv.ao,og.ao,co.ao,pb.ao,it.ao,aq,ar,bet.ar,com.ar,coop.ar,edu.ar,gob.ar,gov.ar,int.ar,mil.ar,musica.ar,mutual.ar,net.ar,org.ar,senasa.ar,tur.ar,arpa,e164.arpa,in-addr.arpa,ip6.arpa,iris.arpa,uri.arpa,urn.arpa,as,gov.as,asia,at,ac.at,co.at,gv.at,or.at,sth.ac.at,au,com.au,net.au,org.au,edu.au,gov.au,asn.au,id.au,act.au,nsw.au,nt.au,qld.au,sa.au,tas.au,vic.au,wa.au,aw,com.aw,ax,az,com.az,net.az,int.az,gov.az,org.az,edu.az,info.az,pp.az,mil.az,name.az,pro.az,biz.az,ba,com.ba,edu.ba,gov.ba,mil.ba,net.ba,org.ba,bb,biz.bb,co.bb,com.bb,edu.bb,gov.bb,info.bb,net.bb,org.bb,store.bb,tv.bb,bd,be,ac.be,bf,gov.bf,bg,a.bg,b.bg,c.bg,d.bg,e.bg,f.bg,g.bg,h.bg,i.bg,j.bg,k.bg,l.bg,m.bg,n.bg,o.bg,p.bg,q.bg,r.bg,s.bg,t.bg,u.bg,v.bg,w.bg,x.bg,y.bg,z.bg,0.bg,1.bg,2.bg,3.bg,4.bg,5.bg,6.bg,7.bg,8.bg,9.bg,bh,com.bh,edu.bh,net.bh,org.bh,gov.bh,bi,co.bi,com.bi,edu.bi,or.bi,org.bi,biz,bj,africa.bj,agro.bj,architectes.bj,assur.bj,avocats.bj,co.bj,com.bj,eco.bj,econo.bj,edu.bj,info.bj,loisirs.bj,money.bj,net.bj,org.bj,ote.bj,resto.bj,restaurant.bj,tourism.bj,univ.bj,bm,com.bm,edu.bm,gov.bm,net.bm,org.bm,bn,com.bn,edu.bn,gov.bn,net.bn,org.bn,bo,com.bo,edu.bo,gob.bo,int.bo,org.bo,net.bo,mil.bo,tv.bo,web.bo,br,9guacu.br,abc.br,adm.br,adv.br,agr.br,aju.br,am.br,anani.br,aparecida.br,app.br,arq.br,art.br,ato.br,b.br,barueri.br,belem.br,bhz.br,bib.br,bio.br,blog.br,bmd.br,boavista.br,bsb.br,campinagrande.br,campinas.br,caxias.br,cim.br,cng.br,cnt.br,com.br,contagem.br,coop.br,coz.br,cri.br,cuiaba.br,curitiba.br,def.br,des.br,det.br,dev.br,ecn.br,eco.br,edu.br,emp.br,enf.br,eng.br,esp.br,etc.br,eti.br,far.br,feira.br,flog.br,floripa.br,fm.br,fnd.br,fortal.br,fot.br,foz.br,fst.br,g12.br,geo.br,ggf.br,goiania.br,gov.br,gru.br,imb.br,ind.br,inf.br,jab.br,jampa.br,jdf.br,joinville.br,jor.br,jus.br,leg.br,lel.br,log.br,londrina.br,macapa.br,maceio.br,manaus.br,maringa.br,mat.br,med.br,mil.br,morena.br,mp.br,mus.br,natal.br,net.br,niteroi.br,nom.br,not.br,ntr.br,odo.br,ong.br,org.br,osasco.br,palmas.br,poa.br,ppg.br,pro.br,psc.br,psi.br,pvh.br,qsl.br,radio.br,rec.br,recife.br,rep.br,ribeirao.br,rio.br,riobranco.br,riopreto.br,salvador.br,sampa.br,santamaria.br,santoandre.br,saobernardo.br,saogonca.br,seg.br,sjc.br,slg.br,slz.br,sorocaba.br,srv.br,taxi.br,tc.br,tec.br,teo.br,the.br,tmp.br,trd.br,tur.br,tv.br,udi.br,vet.br,vix.br,vlog.br,wiki.br,zlg.br,bs,com.bs,net.bs,org.bs,edu.bs,gov.bs,bt,com.bt,edu.bt,gov.bt,net.bt,org.bt,bv,bw,co.bw,org.bw,by,gov.by,mil.by,com.by,of.by,bz,com.bz,net.bz,org.bz,edu.bz,gov.bz,ca,ab.ca,bc.ca,mb.ca,nb.ca,nf.ca,nl.ca,ns.ca,nt.ca,nu.ca,on.ca,pe.ca,qc.ca,sk.ca,yk.ca,gc.ca,cat,cc,cd,gov.cd,cf,cg,ch,ci,org.ci,or.ci,com.ci,co.ci,edu.ci,ed.ci,ac.ci,net.ci,go.ci,asso.ci,a\u00E9roport.ci,int.ci,presse.ci,md.ci,gouv.ci,ck,cl,co.cl,gob.cl,gov.cl,mil.cl,cm,co.cm,com.cm,gov.cm,net.cm,cn,ac.cn,com.cn,edu.cn,gov.cn,net.cn,org.cn,mil.cn,co,arts.co,com.co,edu.co,firm.co,gov.co,info.co,int.co,mil.co,net.co,nom.co,org.co,rec.co,web.co,com,coop,cr,ac.cr,co.cr,ed.cr,fi.cr,go.cr,or.cr,sa.cr,cu,com.cu,edu.cu,org.cu,net.cu,gov.cu,inf.cu,cv,com.cv,edu.cv,int.cv,nome.cv,org.cv,cw,com.cw,edu.cw,net.cw,org.cw,cx,gov.cx,cy,ac.cy,biz.cy,com.cy,ekloges.cy,gov.cy,ltd.cy,mil.cy,net.cy,org.cy,press.cy,pro.cy,tm.cy,cz,de,dj,dk,dm,com.dm,net.dm,org.dm,edu.dm,gov.dm,do,art.do,com.do,edu.do,gob.do,gov.do,mil.do,net.do,org.do,sld.do,web.do,dz,art.dz,asso.dz,com.dz,edu.dz,gov.dz,org.dz,net.dz,pol.dz,soc.dz,tm.dz,ec,com.ec,info.ec,net.ec,fin.ec,k12.ec,med.ec,pro.ec,org.ec,edu.ec,gov.ec,gob.ec,mil.ec,edu,ee,edu.ee,gov.ee,riik.ee,lib.ee,med.ee,com.ee,pri.ee,aip.ee,org.ee,fie.ee,eg,com.eg,edu.eg,eun.eg,gov.eg,mil.eg,name.eg,net.eg,org.eg,sci.eg,er,es,com.es,nom.es,org.es,gob.es,edu.es,et,com.et,gov.et,org.et,edu.et,biz.et,name.et,info.et,net.et,eu,fi,aland.fi,fj,ac.fj,biz.fj,com.fj,gov.fj,info.fj,mil.fj,name.fj,net.fj,org.fj,pro.fj,fk,com.fm,edu.fm,net.fm,org.fm,fm,fo,fr,asso.fr,com.fr,gouv.fr,nom.fr,prd.fr,tm.fr,aeroport.fr,avocat.fr,avoues.fr,cci.fr,chambagri.fr,chirurgiens-dentistes.fr,experts-comptables.fr,geometre-expert.fr,greta.fr,huissier-justice.fr,medecin.fr,notaires.fr,pharmacien.fr,port.fr,veterinaire.fr,ga,gb,edu.gd,gov.gd,gd,ge,com.ge,edu.ge,gov.ge,org.ge,mil.ge,net.ge,pvt.ge,gf,gg,co.gg,net.gg,org.gg,gh,com.gh,edu.gh,gov.gh,org.gh,mil.gh,gi,com.gi,ltd.gi,gov.gi,mod.gi,edu.gi,org.gi,gl,co.gl,com.gl,edu.gl,net.gl,org.gl,gm,gn,ac.gn,com.gn,edu.gn,gov.gn,org.gn,net.gn,gov,gp,com.gp,net.gp,mobi.gp,edu.gp,org.gp,asso.gp,gq,gr,com.gr,edu.gr,net.gr,org.gr,gov.gr,gs,gt,com.gt,edu.gt,gob.gt,ind.gt,mil.gt,net.gt,org.gt,gu,com.gu,edu.gu,gov.gu,guam.gu,info.gu,net.gu,org.gu,web.gu,gw,gy,co.gy,com.gy,edu.gy,gov.gy,net.gy,org.gy,hk,com.hk,edu.hk,gov.hk,idv.hk,net.hk,org.hk,hm,hn,com.hn,edu.hn,org.hn,net.hn,mil.hn,gob.hn,hr,iz.hr,from.hr,name.hr,com.hr,ht,com.ht,shop.ht,firm.ht,info.ht,adult.ht,net.ht,pro.ht,org.ht,med.ht,art.ht,coop.ht,pol.ht,asso.ht,edu.ht,rel.ht,gouv.ht,perso.ht,hu,co.hu,info.hu,org.hu,priv.hu,sport.hu,tm.hu,2000.hu,agrar.hu,bolt.hu,casino.hu,city.hu,erotica.hu,erotika.hu,film.hu,forum.hu,games.hu,hotel.hu,ingatlan.hu,jogasz.hu,konyvelo.hu,lakas.hu,media.hu,news.hu,reklam.hu,sex.hu,shop.hu,suli.hu,szex.hu,tozsde.hu,utazas.hu,video.hu,id,ac.id,biz.id,co.id,desa.id,go.id,mil.id,my.id,net.id,or.id,ponpes.id,sch.id,web.id,ie,gov.ie,il,ac.il,co.il,gov.il,idf.il,k12.il,muni.il,net.il,org.il,im,ac.im,co.im,com.im,ltd.co.im,net.im,org.im,plc.co.im,tt.im,tv.im,in,5g.in,6g.in,ac.in,ai.in,am.in,bihar.in,biz.in,business.in,ca.in,cn.in,co.in,com.in,coop.in,cs.in,delhi.in,dr.in,edu.in,er.in,firm.in,gen.in,gov.in,gujarat.in,ind.in,info.in,int.in,internet.in,io.in,me.in,mil.in,net.in,nic.in,org.in,pg.in,post.in,pro.in,res.in,travel.in,tv.in,uk.in,up.in,us.in,info,int,eu.int,io,com.io,iq,gov.iq,edu.iq,mil.iq,com.iq,org.iq,net.iq,ir,ac.ir,co.ir,gov.ir,id.ir,net.ir,org.ir,sch.ir,is,net.is,com.is,edu.is,gov.is,org.is,int.is,it,gov.it,edu.it,je,co.je,net.je,org.je,jm,jo,com.jo,org.jo,net.jo,edu.jo,sch.jo,gov.jo,mil.jo,name.jo,jobs,jp,ac.jp,ad.jp,co.jp,ed.jp,go.jp,gr.jp,lg.jp,ne.jp,or.jp,ke,ac.ke,co.ke,go.ke,info.ke,me.ke,mobi.ke,ne.ke,or.ke,sc.ke,kg,org.kg,net.kg,com.kg,edu.kg,gov.kg,mil.kg,kh,ki,edu.ki,biz.ki,net.ki,org.ki,gov.ki,info.ki,com.ki,km,org.km,nom.km,gov.km,prd.km,tm.km,edu.km,mil.km,ass.km,com.km,kn,net.kn,org.kn,edu.kn,gov.kn,kp,com.kp,edu.kp,gov.kp,org.kp,rep.kp,tra.kp,kr,ac.kr,co.kr,es.kr,go.kr,hs.kr,kg.kr,mil.kr,ms.kr,ne.kr,or.kr,pe.kr,re.kr,sc.kr,kw,com.kw,edu.kw,emb.kw,gov.kw,ind.kw,net.kw,org.kw,ky,com.ky,edu.ky,net.ky,org.ky,kz,org.kz,edu.kz,net.kz,gov.kz,mil.kz,com.kz,la,int.la,net.la,info.la,edu.la,gov.la,per.la,com.la,org.la,lb,com.lb,edu.lb,gov.lb,net.lb,org.lb,lc,com.lc,net.lc,co.lc,org.lc,edu.lc,gov.lc,li,lk,gov.lk,sch.lk,net.lk,int.lk,com.lk,org.lk,edu.lk,ngo.lk,soc.lk,web.lk,ltd.lk,assn.lk,grp.lk,hotel.lk,ac.lk,lr,com.lr,edu.lr,gov.lr,org.lr,net.lr,ls,ac.ls,biz.ls,co.ls,edu.ls,gov.ls,info.ls,net.ls,org.ls,sc.ls,lt,gov.lt,lu,lv,com.lv,edu.lv,gov.lv,org.lv,mil.lv,id.lv,net.lv,asn.lv,conf.lv,ly,com.ly,net.ly,gov.ly,plc.ly,edu.ly,sch.ly,med.ly,org.ly,id.ly,ma,co.ma,net.ma,gov.ma,org.ma,ac.ma,press.ma,mc,tm.mc,asso.mc,md,me,co.me,net.me,org.me,edu.me,ac.me,gov.me,its.me,priv.me,mg,org.mg,nom.mg,gov.mg,prd.mg,tm.mg,edu.mg,mil.mg,com.mg,co.mg,mh,mil,mk,com.mk,org.mk,net.mk,edu.mk,gov.mk,inf.mk,name.mk,ml,com.ml,edu.ml,gouv.ml,gov.ml,net.ml,org.ml,presse.ml,mm,mn,gov.mn,edu.mn,org.mn,mo,com.mo,net.mo,org.mo,edu.mo,gov.mo,mobi,mp,mq,mr,gov.mr,ms,com.ms,edu.ms,gov.ms,net.ms,org.ms,mt,com.mt,edu.mt,net.mt,org.mt,mu,com.mu,net.mu,org.mu,gov.mu,ac.mu,co.mu,or.mu,museum,mv,aero.mv,biz.mv,com.mv,coop.mv,edu.mv,gov.mv,info.mv,int.mv,mil.mv,museum.mv,name.mv,net.mv,org.mv,pro.mv,mw,ac.mw,biz.mw,co.mw,com.mw,coop.mw,edu.mw,gov.mw,int.mw,museum.mw,net.mw,org.mw,mx,com.mx,org.mx,gob.mx,edu.mx,net.mx,my,biz.my,com.my,edu.my,gov.my,mil.my,name.my,net.my,org.my,mz,ac.mz,adv.mz,co.mz,edu.mz,gov.mz,mil.mz,net.mz,org.mz,na,info.na,pro.na,name.na,school.na,or.na,dr.na,us.na,mx.na,ca.na,in.na,cc.na,tv.na,ws.na,mobi.na,co.na,com.na,org.na,name,nc,asso.nc,nom.nc,ne,net,nf,com.nf,net.nf,per.nf,rec.nf,web.nf,arts.nf,firm.nf,info.nf,other.nf,store.nf,ng,com.ng,edu.ng,gov.ng,i.ng,mil.ng,mobi.ng,name.ng,net.ng,org.ng,sch.ng,ni,ac.ni,biz.ni,co.ni,com.ni,edu.ni,gob.ni,in.ni,info.ni,int.ni,mil.ni,net.ni,nom.ni,org.ni,web.ni,nl,no,fhs.no,vgs.no,fylkesbibl.no,folkebibl.no,museum.no,idrett.no,priv.no,mil.no,stat.no,dep.no,kommune.no,herad.no,np,nr,biz.nr,info.nr,gov.nr,edu.nr,org.nr,net.nr,com.nr,nu,nz,ac.nz,co.nz,cri.nz,geek.nz,gen.nz,govt.nz,health.nz,iwi.nz,kiwi.nz,maori.nz,mil.nz,m\u0101ori.nz,net.nz,org.nz,parliament.nz,school.nz,om,co.om,com.om,edu.om,gov.om,med.om,museum.om,net.om,org.om,pro.om,onion,org,pa,ac.pa,gob.pa,com.pa,org.pa,sld.pa,edu.pa,net.pa,ing.pa,abo.pa,med.pa,nom.pa,pe,edu.pe,gob.pe,nom.pe,mil.pe,org.pe,com.pe,net.pe,pf,com.pf,org.pf,edu.pf,pg,ph,com.ph,net.ph,org.ph,gov.ph,edu.ph,ngo.ph,mil.ph,i.ph,pk,com.pk,net.pk,edu.pk,org.pk,fam.pk,biz.pk,web.pk,gov.pk,gob.pk,gok.pk,gon.pk,gop.pk,gos.pk,info.pk,pl,com.pl,net.pl,org.pl,aid.pl,agro.pl,atm.pl,auto.pl,biz.pl,edu.pl,gmina.pl,gsm.pl,info.pl,mail.pl,miasta.pl,media.pl,mil.pl,nieruchomosci.pl,nom.pl,pc.pl,powiat.pl,priv.pl,realestate.pl,rel.pl,sex.pl,shop.pl,sklep.pl,sos.pl,szkola.pl,targi.pl,tm.pl,tourism.pl,travel.pl,turystyka.pl,pm,pn,gov.pn,co.pn,org.pn,edu.pn,net.pn,post,pr,com.pr,net.pr,org.pr,gov.pr,edu.pr,isla.pr,pro.pr,biz.pr,info.pr,name.pr,est.pr,prof.pr,ac.pr,pro,aaa.pro,aca.pro,acct.pro,avocat.pro,bar.pro,cpa.pro,eng.pro,jur.pro,law.pro,med.pro,recht.pro,ps,edu.ps,gov.ps,sec.ps,plo.ps,com.ps,org.ps,net.ps,pt,net.pt,gov.pt,org.pt,edu.pt,int.pt,publ.pt,com.pt,nome.pt,pw,co.pw,ne.pw,or.pw,ed.pw,go.pw,belau.pw,py,com.py,coop.py,edu.py,gov.py,mil.py,net.py,org.py,qa,com.qa,edu.qa,gov.qa,mil.qa,name.qa,net.qa,org.qa,sch.qa,re,asso.re,com.re,nom.re,ro,arts.ro,com.ro,firm.ro,info.ro,nom.ro,nt.ro,org.ro,rec.ro,store.ro,tm.ro,www.ro,rs,ac.rs,co.rs,edu.rs,gov.rs,in.rs,org.rs,ru,rw,ac.rw,co.rw,coop.rw,gov.rw,mil.rw,net.rw,org.rw,sa,com.sa,net.sa,org.sa,gov.sa,med.sa,pub.sa,edu.sa,sch.sa,sb,com.sb,edu.sb,gov.sb,net.sb,org.sb,sc,com.sc,gov.sc,net.sc,org.sc,edu.sc,sd,com.sd,net.sd,org.sd,edu.sd,med.sd,tv.sd,gov.sd,info.sd,se,a.se,ac.se,b.se,bd.se,brand.se,c.se,d.se,e.se,f.se,fh.se,fhsk.se,fhv.se,g.se,h.se,i.se,k.se,komforb.se,kommunalforbund.se,komvux.se,l.se,lanbib.se,m.se,n.se,naturbruksgymn.se,o.se,org.se,p.se,parti.se,pp.se,press.se,r.se,s.se,t.se,tm.se,u.se,w.se,x.se,y.se,z.se,sg,com.sg,net.sg,org.sg,gov.sg,edu.sg,per.sg,sh,com.sh,net.sh,gov.sh,org.sh,mil.sh,si,sj,sk,sl,com.sl,net.sl,edu.sl,gov.sl,org.sl,sm,sn,art.sn,com.sn,edu.sn,gouv.sn,org.sn,perso.sn,univ.sn,so,com.so,edu.so,gov.so,me.so,net.so,org.so,sr,ss,biz.ss,com.ss,edu.ss,gov.ss,me.ss,net.ss,org.ss,sch.ss,st,co.st,com.st,consulado.st,edu.st,embaixada.st,mil.st,net.st,org.st,principe.st,saotome.st,store.st,su,sv,com.sv,edu.sv,gob.sv,org.sv,red.sv,sx,gov.sx,sy,edu.sy,gov.sy,net.sy,mil.sy,com.sy,org.sy,sz,co.sz,ac.sz,org.sz,tc,td,tel,tf,tg,th,ac.th,co.th,go.th,in.th,mi.th,net.th,or.th,tj,ac.tj,biz.tj,co.tj,com.tj,edu.tj,go.tj,gov.tj,int.tj,mil.tj,name.tj,net.tj,nic.tj,org.tj,test.tj,web.tj,tk,tl,gov.tl,tm,com.tm,co.tm,org.tm,net.tm,nom.tm,gov.tm,mil.tm,edu.tm,tn,com.tn,ens.tn,fin.tn,gov.tn,ind.tn,info.tn,intl.tn,mincom.tn,nat.tn,net.tn,org.tn,perso.tn,tourism.tn,to,com.to,gov.to,net.to,org.to,edu.to,mil.to,tr,av.tr,bbs.tr,bel.tr,biz.tr,com.tr,dr.tr,edu.tr,gen.tr,gov.tr,info.tr,mil.tr,k12.tr,kep.tr,name.tr,net.tr,org.tr,pol.tr,tel.tr,tsk.tr,tv.tr,web.tr,nc.tr,tt,co.tt,com.tt,org.tt,net.tt,biz.tt,info.tt,pro.tt,int.tt,coop.tt,jobs.tt,mobi.tt,travel.tt,museum.tt,aero.tt,name.tt,gov.tt,edu.tt,tv,tw,edu.tw,gov.tw,mil.tw,com.tw,net.tw,org.tw,idv.tw,game.tw,ebiz.tw,club.tw,tz,ac.tz,co.tz,go.tz,hotel.tz,info.tz,me.tz,mil.tz,mobi.tz,ne.tz,or.tz,sc.tz,tv.tz,ua,com.ua,edu.ua,gov.ua,in.ua,net.ua,org.ua,ug,co.ug,or.ug,ac.ug,sc.ug,go.ug,ne.ug,com.ug,org.ug,uk,ac.uk,co.uk,gov.uk,ltd.uk,me.uk,net.uk,nhs.uk,org.uk,plc.uk,police.uk,us,dni.us,fed.us,isa.us,kids.us,nsn.us,ak.us,al.us,ar.us,as.us,az.us,ca.us,co.us,ct.us,dc.us,de.us,fl.us,ga.us,gu.us,hi.us,ia.us,id.us,il.us,in.us,ks.us,ky.us,la.us,ma.us,md.us,me.us,mi.us,mn.us,mo.us,ms.us,mt.us,nc.us,nd.us,ne.us,nh.us,nj.us,nm.us,nv.us,ny.us,oh.us,ok.us,or.us,pa.us,pr.us,ri.us,sc.us,sd.us,tn.us,tx.us,ut.us,vi.us,vt.us,va.us,wa.us,wi.us,wv.us,wy.us,uy,com.uy,edu.uy,gub.uy,mil.uy,net.uy,org.uy,uz,co.uz,com.uz,net.uz,org.uz,va,vc,com.vc,net.vc,org.vc,gov.vc,mil.vc,edu.vc,ve,arts.ve,bib.ve,co.ve,com.ve,e12.ve,edu.ve,firm.ve,gob.ve,gov.ve,info.ve,int.ve,mil.ve,net.ve,nom.ve,org.ve,rar.ve,rec.ve,store.ve,tec.ve,web.ve,vg,vi,co.vi,com.vi,k12.vi,net.vi,org.vi,vn,ac.vn,ai.vn,biz.vn,com.vn,edu.vn,gov.vn,health.vn,id.vn,info.vn,int.vn,io.vn,name.vn,net.vn,org.vn,pro.vn,vu,com.vu,edu.vu,net.vu,org.vu,wf,ws,com.ws,net.ws,org.ws,gov.ws,edu.ws,yt,ye,com.ye,edu.ye,gov.ye,net.ye,mil.ye,org.ye,ac.za,agric.za,alt.za,co.za,edu.za,gov.za,grondar.za,law.za,mil.za,net.za,ngo.za,nic.za,nis.za,nom.za,org.za,school.za,tm.za,web.za,zm,ac.zm,biz.zm,co.zm,com.zm,edu.zm,gov.zm,info.zm,mil.zm,net.zm,org.zm,sch.zm,zw,ac.zw,co.zw,gov.zw,mil.zw,org.zw\".split(\",\");\n//convert to Map\nconst _publicSuffixesMap = {};\npublicSuffixes.forEach(tld => {\n _publicSuffixesMap[tld] = true;\n});\nconst publicSuffixesMap = _publicSuffixesMap;\nfunction getTopLevelDomain(hostname) {\n const [domain] = hostname.split(\":\");\n const parts = domain.split(\".\");\n if (parts[parts.length - 1] === \"localhost\" || parts.length < 2) {\n return parts[parts.length - 1];\n }\n else {\n const d = parts[parts.length - 2] + \".\" + parts[parts.length - 1];\n if (parts.length > 2 && publicSuffixesMap[d]) {\n return parts[parts.length - 3] + \".\" + d;\n }\n else {\n return d;\n }\n }\n}\n\nclass Processor {\n constructor(options) {\n this.selfOptions = options || {};\n this.pipes = {};\n }\n options(options) {\n if (options) {\n this.selfOptions = options;\n }\n return this.selfOptions;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pipe(name, pipeArg) {\n let pipe = pipeArg;\n if (typeof name === \"string\") {\n if (typeof pipe === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n return this.pipes[name];\n }\n else {\n this.pipes[name] = pipe;\n }\n }\n if (name && name.name) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pipe = name;\n if (pipe.processor === this) {\n return pipe;\n }\n this.pipes[pipe.name] = pipe;\n }\n pipe.processor = this;\n return pipe;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n process(input, pipe) {\n let context = input;\n context.options = this.options();\n let nextPipe = pipe || input.pipe || \"default\";\n let lastPipe;\n while (nextPipe) {\n if (typeof context.nextAfterChildren !== \"undefined\") {\n // children processed and coming back to parent\n context.next = context.nextAfterChildren;\n context.nextAfterChildren = null;\n }\n if (typeof nextPipe === \"string\") {\n nextPipe = this.pipe(nextPipe);\n }\n nextPipe.process(context);\n lastPipe = nextPipe;\n nextPipe = null;\n if (context) {\n if (context.next) {\n context = context.next;\n nextPipe = context.pipe || lastPipe;\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return context.hasResult ? context.result : undefined;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nclass Pipe {\n constructor(name) {\n this.name = name;\n this.filters = [];\n }\n process(input) {\n if (!this.processor) {\n throw new Error(\"add this pipe to a processor before using it\");\n }\n const debug = this.debug;\n const length = this.filters.length;\n const context = input;\n for (let index = 0; index < length; index++) {\n const filter = this.filters[index];\n if (debug) {\n this.log(`filter: ${filter.filterName}`);\n }\n filter(context);\n if (typeof context === \"object\" && context.exiting) {\n context.exiting = false;\n break;\n }\n }\n if (!context.next && this.resultCheck) {\n this.resultCheck(context);\n }\n }\n log(msg) {\n console.log(`[jsondiffpatch] ${this.name} pipe, ${msg}`);\n }\n append(...args) {\n this.filters.push(...args);\n return this;\n }\n prepend(...args) {\n this.filters.unshift(...args);\n return this;\n }\n indexOf(filterName) {\n if (!filterName) {\n throw new Error(\"a filter name is required\");\n }\n for (let index = 0; index < this.filters.length; index++) {\n const filter = this.filters[index];\n if (filter.filterName === filterName) {\n return index;\n }\n }\n throw new Error(`filter not found: ${filterName}`);\n }\n list() {\n return this.filters.map(f => f.filterName);\n }\n after(filterName, ...params) {\n const index = this.indexOf(filterName);\n this.filters.splice(index + 1, 0, ...params);\n return this;\n }\n before(filterName, ...params) {\n const index = this.indexOf(filterName);\n this.filters.splice(index, 0, ...params);\n return this;\n }\n replace(filterName, ...params) {\n const index = this.indexOf(filterName);\n this.filters.splice(index, 1, ...params);\n return this;\n }\n remove(filterName) {\n const index = this.indexOf(filterName);\n this.filters.splice(index, 1);\n return this;\n }\n clear() {\n this.filters.length = 0;\n return this;\n }\n shouldHaveResult(should) {\n if (should === false) {\n this.resultCheck = null;\n return;\n }\n if (this.resultCheck) {\n return;\n }\n this.resultCheck = context => {\n if (!context.hasResult) {\n console.log(context);\n const error = new Error(`${this.name} failed`);\n error.noResult = true;\n throw error;\n }\n };\n return this;\n }\n}\n\nclass Context {\n setResult(result) {\n this.result = result;\n this.hasResult = true;\n return this;\n }\n exit() {\n this.exiting = true;\n return this;\n }\n push(child, name) {\n child.parent = this;\n if (typeof name !== \"undefined\") {\n child.childName = name;\n }\n child.root = this.root || this;\n child.options = child.options || this.options;\n if (!this.children) {\n this.children = [child];\n this.nextAfterChildren = this.next || null;\n this.next = child;\n }\n else {\n this.children[this.children.length - 1].next = child;\n this.children.push(child);\n }\n child.next = this;\n return this;\n }\n}\n\nclass DiffContext extends Context {\n constructor(left, right) {\n super();\n this.left = left;\n this.right = right;\n this.pipe = \"diff\";\n }\n setResult(result) {\n return super.setResult(result);\n }\n}\n\nclass PatchContext extends Context {\n constructor(left, delta) {\n super();\n this.left = left;\n this.delta = delta;\n this.pipe = \"patch\";\n }\n}\n\nfunction arrayEquals(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nconst diffFilter$1 = function trivialMatchesDiffFilter(context) {\n if (context.left === context.right) {\n context.setResult(undefined).exit();\n return;\n }\n if (typeof context.left === \"undefined\") {\n if (typeof context.right === \"function\") {\n throw new Error(\"functions are not supported\");\n }\n context.setResult([context.right]).exit();\n return;\n }\n if (typeof context.right === \"undefined\") {\n context.setResult([context.left, 0, 0]).exit();\n return;\n }\n if (typeof context.left === \"function\" || typeof context.right === \"function\") {\n throw new Error(\"functions are not supported\");\n }\n context.leftType = context.left === null ? \"null\" : typeof context.left;\n context.rightType = context.right === null ? \"null\" : typeof context.right;\n if (context.leftType !== context.rightType) {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n if (context.leftType === \"boolean\" || context.leftType === \"number\" || context.leftType === \"string\") {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n if (context.leftType === \"object\") {\n context.leftIsArray = Array.isArray(context.left);\n }\n if (context.rightType === \"object\") {\n context.rightIsArray = Array.isArray(context.right);\n }\n if (context.leftIsArray !== context.rightIsArray) {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n if (context.leftIsArray && context.rightIsArray) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (arrayEquals(context.left, context.right)) {\n context.setResult(undefined).exit();\n return;\n }\n else {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n }\n if (context.left instanceof RegExp) {\n if (context.right instanceof RegExp) {\n context.setResult([context.left.toString(), context.right.toString()]).exit();\n }\n else {\n context.setResult([context.left, context.right]).exit();\n }\n }\n};\ndiffFilter$1.filterName = \"trivial\";\nconst patchFilter$1 = function trivialMatchesPatchFilter(context) {\n if (typeof context.delta === \"undefined\") {\n context.setResult(context.left).exit();\n return;\n }\n context.nested = !Array.isArray(context.delta);\n if (context.nested) {\n return;\n }\n const nonNestedDelta = context.delta;\n if (nonNestedDelta.length === 1) {\n context.setResult(nonNestedDelta[0]).exit();\n return;\n }\n if (nonNestedDelta.length === 2) {\n if (context.left instanceof RegExp) {\n const regexArgs = /^\\/(.*)\\/([gimyu]+)$/.exec(nonNestedDelta[1]);\n if (regexArgs) {\n context.setResult(new RegExp(regexArgs[1], regexArgs[2])).exit();\n return;\n }\n }\n context.setResult(nonNestedDelta[1]).exit();\n return;\n }\n if (nonNestedDelta.length === 3 && nonNestedDelta[2] === 0) {\n context.setResult(undefined).exit();\n }\n};\npatchFilter$1.filterName = \"trivial\";\n\nconst collectChildrenDiffFilter = context => {\n if (!context || !context.children) {\n return;\n }\n const length = context.children.length;\n let child;\n let result = context.result;\n for (let index = 0; index < length; index++) {\n child = context.children[index];\n if (typeof child.result === \"undefined\") {\n continue;\n }\n result = result || {};\n result[child.childName] = child.result;\n }\n if (result && context.leftIsArray) {\n result._t = \"a\";\n }\n context.setResult(result).exit();\n};\ncollectChildrenDiffFilter.filterName = \"collectChildren\";\nconst objectsDiffFilter = context => {\n if (context.leftIsArray || context.leftType !== \"object\") {\n return;\n }\n const left = context.left;\n const right = context.right;\n let name;\n let child;\n const propertyFilter = context.options.propertyFilter;\n for (name in left) {\n if (!Object.prototype.hasOwnProperty.call(left, name)) {\n continue;\n }\n if (propertyFilter && !propertyFilter(name, context)) {\n continue;\n }\n child = new DiffContext(left[name], right[name]);\n context.push(child, name);\n }\n for (name in right) {\n if (!Object.prototype.hasOwnProperty.call(right, name)) {\n continue;\n }\n if (propertyFilter && !propertyFilter(name, context)) {\n continue;\n }\n if (typeof left[name] === \"undefined\") {\n child = new DiffContext(undefined, right[name]);\n context.push(child, name);\n }\n }\n if (!context.children || context.children.length === 0) {\n context.setResult(undefined).exit();\n return;\n }\n context.exit();\n};\nobjectsDiffFilter.filterName = \"objects\";\nconst patchFilter = function nestedPatchFilter(context) {\n if (!context.nested) {\n return;\n }\n const nestedDelta = context.delta;\n if (nestedDelta._t) {\n return;\n }\n const objectDelta = nestedDelta;\n let name;\n let child;\n for (name in objectDelta) {\n child = new PatchContext(context.left[name], objectDelta[name]);\n context.push(child, name);\n }\n context.exit();\n};\npatchFilter.filterName = \"objects\";\nconst collectChildrenPatchFilter = function collectChildrenPatchFilter(context) {\n if (!context || !context.children) {\n return;\n }\n const deltaWithChildren = context.delta;\n if (deltaWithChildren._t) {\n return;\n }\n const object = context.left;\n const length = context.children.length;\n let child;\n for (let index = 0; index < length; index++) {\n child = context.children[index];\n const property = child.childName;\n if (Object.prototype.hasOwnProperty.call(context.left, property) && child.result === undefined) {\n delete object[property];\n }\n else if (object[property] !== child.result) {\n object[property] = child.result;\n }\n }\n context.setResult(object).exit();\n};\ncollectChildrenPatchFilter.filterName = \"collectChildren\";\n\nconst diffFilter = function datesDiffFilter(context) {\n if (context.left instanceof Date) {\n if (context.right instanceof Date) {\n if (context.left.getTime() !== context.right.getTime()) {\n context.setResult([context.left, context.right]);\n }\n else {\n context.setResult(undefined);\n }\n }\n else {\n context.setResult([context.left, context.right]);\n }\n context.exit();\n }\n else if (context.right instanceof Date) {\n context.setResult([context.left, context.right]).exit();\n }\n};\ndiffFilter.filterName = \"dates\";\n\nclass DiffPatcher {\n constructor(options) {\n this.processor = new Processor(options);\n this.processor.pipe(new Pipe(\"diff\")\n .append(collectChildrenDiffFilter, diffFilter$1, diffFilter, objectsDiffFilter)\n .shouldHaveResult());\n this.processor.pipe(new Pipe(\"patch\")\n .append(collectChildrenPatchFilter, patchFilter$1, patchFilter)\n .shouldHaveResult());\n }\n options(options) {\n return this.processor.options(options);\n }\n diff(left, right) {\n return this.processor.process(new DiffContext(left, right));\n }\n patch(left, delta) {\n return this.processor.process(new PatchContext(left, delta));\n }\n}\n\nfunction create(options) {\n return new DiffPatcher(options);\n}\n\n/* global analytics */\nvar __awaiter$1 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst diff = create();\nconst defaultConfig = {\n /* Your segment writeKey */\n writeKey: null,\n /* Disable anonymous MTU */\n host: null,\n debug: false,\n fetch: null,\n echoEvents: false,\n cookieDomain: undefined,\n cookieNames: {},\n cookieCapture: {},\n runtime: undefined,\n fetchTimeoutMs: undefined,\n s2s: undefined,\n idEndpoint: undefined,\n errorPolicy: \"log\",\n defaultPayloadContext: {},\n privacy: {\n dontSend: false,\n disableUserIds: false,\n ipPolicy: \"keep\",\n consentCategories: {},\n },\n};\n// mergeConfig merges newConfig into currentConfig also making sure that all undefined values are replaced with defaultConfig values\nconst mergeConfig = (current, newConfig) => {\n for (const key of Object.keys(defaultConfig)) {\n const value = newConfig[key];\n if (key === \"privacy\") {\n if (typeof value === \"object\") {\n current.privacy = Object.assign(Object.assign(Object.assign(Object.assign({}, defaultConfig.privacy), { consentCategories: Object.assign({}, defaultConfig.privacy.consentCategories) }), current.privacy), value);\n }\n else if (typeof value === \"undefined\") {\n if (newConfig.hasOwnProperty(\"privacy\") || !current.hasOwnProperty(\"privacy\")) {\n // explicitly set to undefined - reset to default\n // or was not set at all - set to default\n current.privacy = Object.assign(Object.assign({}, defaultConfig.privacy), { consentCategories: Object.assign({}, defaultConfig.privacy.consentCategories) });\n }\n }\n }\n else if (typeof value === \"undefined\") {\n if (newConfig.hasOwnProperty(key) || !current.hasOwnProperty(key)) {\n // explicitly set to undefined - reset to default\n // or was not set at all - set to default\n current[key] = defaultConfig[key];\n }\n }\n else {\n current[key] = value;\n }\n }\n};\nconst parseQuery = (qs) => {\n if (!qs) {\n return {};\n }\n let queryString = qs.length > 0 && qs.charAt(0) === \"?\" ? qs.substring(1) : qs;\n let query = {};\n let pairs = (queryString[0] === \"?\" ? queryString.substr(1) : queryString).split(\"&\");\n for (let i = 0; i < pairs.length; i++) {\n let pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\nfunction utmToKey(key) {\n const name = key.substring(\"utm_\".length);\n return name === \"campaign\" ? \"name\" : name;\n}\nfunction parseUtms(query) {\n return Object.entries(query)\n .filter(([key]) => key.indexOf(\"utm_\") === 0)\n .reduce((acc, [key, value]) => (Object.assign(Object.assign({}, acc), { [utmToKey(key)]: value })), {});\n}\nfunction safeCall(f, defaultVal) {\n try {\n return f();\n }\n catch (e) {\n return defaultVal;\n }\n}\nfunction restoreTraits(storage) {\n let val = storage.getItem(\"__user_traits\");\n if (typeof val === \"string\") {\n val = safeCall(() => JSON.parse(val), {});\n }\n if (typeof val !== \"object\" || val === null || Array.isArray(val)) {\n val = {};\n }\n let groupVal = storage.getItem(\"__group_traits\");\n if (typeof groupVal === \"string\") {\n groupVal = safeCall(() => JSON.parse(groupVal), {});\n }\n if (typeof groupVal !== \"object\" || groupVal === null || Array.isArray(groupVal)) {\n groupVal = {};\n }\n return Object.assign(Object.assign({}, (groupVal || {})), (val || {}));\n}\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n return parts.length === 2 ? parts.pop().split(\";\").shift() : undefined;\n}\nfunction getClientIds(runtime, customCookieCapture) {\n const cookieCapture = Object.assign({ fbc: \"_fbc\", fbp: \"_fbp\" }, customCookieCapture);\n const clientIds = Object.entries(cookieCapture).reduce((acc, [key, cookieName]) => {\n acc[key] = runtime.getCookie(cookieName);\n return acc;\n }, {});\n return Object.assign(Object.assign({}, clientIds), getGa4Ids(runtime));\n}\nfunction parseGa4SessionId(cookieValue) {\n if (typeof cookieValue !== \"string\") {\n return undefined;\n }\n if (cookieValue.startsWith(\"GA1\") || cookieValue.startsWith(\"GS1\")) {\n return cookieValue.split(\".\")[2];\n }\n else {\n // parse new GA4 cookie format, e.g.: GS2.1.s1747323152$o28$g0$t1747323152$j60$l0$h69286059\n const match = cookieValue.match(/^GS\\d+\\.\\d+\\.(?:[\\w_-]+[$])*s(\\d+)(?:$|[$])/);\n return match ? match[1] : undefined;\n }\n}\nfunction getGa4Ids(runtime) {\n var _a;\n const allCookies = runtime.getCookies();\n const clientId = (_a = allCookies[\"_ga\"]) === null || _a === void 0 ? void 0 : _a.split(\".\").slice(-2).join(\".\");\n const gaSessionCookies = Object.entries(allCookies).filter(([key]) => key.startsWith(\"_ga_\"));\n const sessionIds = gaSessionCookies.length > 0\n ? Object.fromEntries(gaSessionCookies\n .map(([key, value]) => {\n const sessionId = parseGa4SessionId(value);\n if (!sessionId) {\n return null;\n }\n return [key.substring(\"_ga_\".length), sessionId];\n })\n .filter(v => v !== null))\n : undefined;\n if (clientId || sessionIds) {\n return { ga4: { clientId, sessionIds } };\n }\n else {\n return undefined;\n }\n}\nfunction removeCookie(name, { domain, secure }) {\n document.cookie =\n name +\n \"=;domain=\" +\n domain +\n \";path=/\" +\n \";expires=Thu, 01 Jan 1970 00:00:01 GMT;SameSite=\" +\n (secure ? \"None\" : \"Lax\") +\n (secure ? \";secure\" : \"\");\n}\nfunction setCookie(name, val, { domain, secure }) {\n document.cookie =\n name +\n \"=\" +\n val +\n \";domain=\" +\n domain +\n \";path=/\" +\n \";expires=\" +\n new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365 * 5).toUTCString() +\n \";SameSite=\" +\n (secure ? \"None\" : \"Lax\") +\n (secure ? \";secure\" : \"\");\n}\nconst defaultCookie2Key = {\n __anon_id: \"__eventn_id\",\n __user_id: \"__eventn_uid\",\n __user_traits: \"__eventn_id_usr\",\n __group_id: \"__group_id\",\n __group_traits: \"__group_traits\",\n};\nconst cookieStorage = (cookieDomain, key2cookie) => {\n return {\n setItem(key, val) {\n const cookieName = key2cookie(key) || key;\n if (typeof val === \"undefined\") {\n removeCookie(cookieName, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n return;\n }\n const strVal = typeof val === \"object\" && val !== null ? encodeURIComponent(JSON.stringify(val)) : val;\n setCookie(cookieName, strVal, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n },\n getItem(key) {\n const cookieName = key2cookie(key) || key;\n const result = getCookie(cookieName);\n if (key === \"__anon_id\") {\n //anonymous id must always be a string, so we don't parse it to preserve its exact value\n return result;\n }\n if (typeof result === \"undefined\" && key === \"__user_id\") {\n //backward compatibility with old jitsu cookie. get user id if from traits\n const traits = parse(getCookie(key2cookie(\"__user_traits\") || \"__eventn_id_usr\")) || {};\n return traits.internal_id || traits.user_id || traits.id || traits.userId;\n }\n return parse(result);\n },\n removeItem(key) {\n removeCookie(key2cookie(key) || key, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n },\n reset() {\n for (const key of Object.keys(defaultCookie2Key)) {\n removeCookie(key2cookie(key) || key, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n }\n },\n };\n};\nfunction windowRuntime(opts) {\n const key2Cookie = (key) => {\n var _a, _b, _c, _d, _e;\n switch (key) {\n case \"__anon_id\":\n return ((_a = opts.cookieNames) === null || _a === void 0 ? void 0 : _a.anonymousId) || defaultCookie2Key.__anon_id;\n case \"__user_id\":\n return ((_b = opts.cookieNames) === null || _b === void 0 ? void 0 : _b.userId) || defaultCookie2Key.__user_id;\n case \"__user_traits\":\n return ((_c = opts.cookieNames) === null || _c === void 0 ? void 0 : _c.userTraits) || defaultCookie2Key.__user_traits;\n case \"__group_id\":\n return ((_d = opts.cookieNames) === null || _d === void 0 ? void 0 : _d.groupId) || defaultCookie2Key.__group_id;\n case \"__group_traits\":\n return ((_e = opts.cookieNames) === null || _e === void 0 ? void 0 : _e.groupTraits) || defaultCookie2Key.__group_traits;\n default:\n return key;\n }\n };\n return {\n getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n return parts.length === 2 ? parts.pop().split(\";\").shift() : undefined;\n },\n getCookies() {\n const value = `; ${document.cookie}`;\n const cookies = {};\n const matches = value.matchAll(/(\\w+)=([^;]+)/g);\n for (const match of matches) {\n cookies[match[1]] = match[2];\n }\n return cookies;\n },\n documentEncoding() {\n return window.document.characterSet;\n },\n timezoneOffset() {\n return new Date().getTimezoneOffset();\n },\n store() {\n return cookieStorage(opts.cookieDomain || getTopLevelDomain(window.location.hostname), key2Cookie);\n },\n language() {\n return window.navigator.language;\n },\n pageTitle() {\n return window.document.title;\n },\n pageUrl() {\n return window.location.href;\n },\n referrer() {\n return window.document.referrer;\n },\n screen() {\n return {\n width: window.screen.width,\n height: window.screen.height,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n density: Math.floor(window.devicePixelRatio),\n };\n },\n userAgent() {\n return window.navigator.userAgent;\n },\n };\n}\nfunction createInMemoryStorage(debug) {\n const storage = {};\n return {\n reset() {\n Object.keys(storage).forEach(key => delete storage[key]);\n },\n setItem(key, val) {\n if (debug) {\n console.log(`[JITSU EMPTY RUNTIME] Set storage item ${key}=${JSON.stringify(val)}`);\n }\n if (typeof val === \"undefined\") {\n delete storage[key];\n }\n else {\n storage[key] = val;\n }\n },\n getItem(key) {\n const val = storage[key];\n if (debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${JSON.stringify(val)}`);\n }\n return val;\n },\n removeItem(key) {\n if (debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${storage[key]}`);\n }\n delete storage[key];\n },\n };\n}\nconst emptyRuntime = (config) => ({\n documentEncoding() {\n return undefined;\n },\n timezoneOffset() {\n return undefined;\n },\n getCookie(name) {\n return undefined;\n },\n getCookies() {\n return {};\n },\n store() {\n return createInMemoryStorage(config.debug);\n },\n language() {\n return undefined;\n },\n pageTitle() {\n return undefined;\n },\n pageUrl() {\n return undefined;\n },\n referrer() {\n return undefined;\n },\n screen() {\n return undefined;\n },\n userAgent() {\n return undefined;\n },\n});\nfunction deepCopy(o) {\n if (typeof o !== \"object\") {\n return o;\n }\n if (!o) {\n return o;\n }\n return JSON.parse(JSON.stringify(o));\n}\nfunction deepMerge(target, source) {\n if (typeof source !== \"object\" || source === null) {\n return source;\n }\n if (typeof target !== \"object\" || target === null) {\n return source;\n }\n return Object.entries(source).reduce((acc, [key, value]) => {\n acc[key] = deepMerge(target[key], value);\n return acc;\n }, target);\n}\nfunction isInBrowser() {\n return typeof document !== \"undefined\" && typeof window !== \"undefined\";\n}\n/**\n * Fixes a weird bug in analytics URL where path\n * of https://test.com becomes //test.com\n */\nfunction fixPath(path) {\n if (path.indexOf(\"//\") === 0 && path.lastIndexOf(\"/\") === 1) {\n return \"/\";\n }\n return path;\n}\nconst hashRegex = /#.*$/;\n/**\n * for compatibility with path produced by analytics.js\n * @param url\n */\nfunction urlPath(url) {\n const regex = /(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g;\n const matches = regex.exec(url);\n const pathMatch = matches && matches[3] ? matches[3].split(\"?\")[0].replace(hashRegex, \"\") : \"\";\n return \"/\" + pathMatch;\n}\nfunction canonicalUrl() {\n if (!isInBrowser())\n return;\n const tags = document.getElementsByTagName(\"link\");\n for (var i = 0, tag; (tag = tags[i]); i++) {\n if (tag.getAttribute(\"rel\") === \"canonical\") {\n return tag.getAttribute(\"href\");\n }\n }\n}\n/**\n * bugged analytics.js logic that produces 'url' parameter by concating canonical URL with current search part\n * I produces broken results in some cases like SPA where path is changed but canonical URL is not updated\n */\nfunction analyticsJsUrl() {\n if (!isInBrowser())\n return;\n const canonical = canonicalUrl();\n if (!canonical)\n return window.location.href.replace(hashRegex, \"\");\n return canonical.match(/\\?/) ? canonical : canonical + window.location.search;\n}\nfunction adjustPayload(payload, config, storage, s2s) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n const runtime = config.runtime || (isInBrowser() ? windowRuntime(config) : emptyRuntime(config));\n const url = runtime.pageUrl();\n const parsedUrl = safeCall(() => new URL(url), undefined);\n const query = parsedUrl ? parseQuery(parsedUrl.search) : {};\n const properties = payload.properties || {};\n if (payload.type === \"page\" && (properties.url || url)) {\n // we don't trust analytics.js URL logic since it's sticks with canonical URL on SPA pages\n let targetUrl = url || properties.url;\n if (properties.url && properties.url !== analyticsJsUrl()) {\n // properties.url is not the same as provided by analytics.js\n // it means that it was not overridden by user and we should use it\n targetUrl = properties.url;\n }\n properties.url = targetUrl.replace(hashRegex, \"\");\n properties.path = fixPath(urlPath(targetUrl));\n // other properties are correctly based on window.location in analytics.js\n }\n const customContext = deepMerge(config.defaultPayloadContext, ((_a = payload.properties) === null || _a === void 0 ? void 0 : _a.context) || ((_b = payload.options) === null || _b === void 0 ? void 0 : _b.context) || {});\n (_c = payload.properties) === null || _c === void 0 ? true : delete _c.context;\n const referrer = runtime.referrer();\n const context = {\n library: {\n name: jitsuLibraryName,\n version: jitsuVersion,\n env: isInBrowser() ? \"browser\" : \"node\",\n },\n consent: typeof ((_d = config.privacy) === null || _d === void 0 ? void 0 : _d.consentCategories) === \"object\" && Object.keys((_e = config.privacy) === null || _e === void 0 ? void 0 : _e.consentCategories).length\n ? {\n categoryPreferences: config.privacy.consentCategories,\n }\n : undefined,\n userAgent: (_f = runtime.userAgent) === null || _f === void 0 ? void 0 : _f.call(runtime),\n locale: (_g = runtime.language) === null || _g === void 0 ? void 0 : _g.call(runtime),\n screen: (_h = runtime.screen) === null || _h === void 0 ? void 0 : _h.call(runtime),\n ip: (_j = runtime === null || runtime === void 0 ? void 0 : runtime.ip) === null || _j === void 0 ? void 0 : _j.call(runtime),\n traits: payload.type != \"identify\" && payload.type != \"group\"\n ? Object.assign(Object.assign({}, (restoreTraits(storage) || {})), (((_k = payload === null || payload === void 0 ? void 0 : payload.options) === null || _k === void 0 ? void 0 : _k.traits) || {})) : undefined,\n page: {\n path: properties.path || (parsedUrl && parsedUrl.pathname),\n referrer: referrer,\n referring_domain: safeCall(() => referrer && new URL(referrer).hostname),\n host: parsedUrl && parsedUrl.host,\n search: properties.search || (parsedUrl && parsedUrl.search),\n title: properties.title || runtime.pageTitle(),\n url: properties.url || url,\n encoding: properties.encoding || runtime.documentEncoding(),\n },\n clientIds: !((_l = config.privacy) === null || _l === void 0 ? void 0 : _l.disableUserIds) ? getClientIds(runtime, config.cookieCapture) : undefined,\n campaign: parseUtms(query),\n };\n const withContext = Object.assign(Object.assign({}, payload), { userId: ((_m = payload === null || payload === void 0 ? void 0 : payload.options) === null || _m === void 0 ? void 0 : _m.userId) || (payload === null || payload === void 0 ? void 0 : payload.userId), anonymousId: ((_o = payload === null || payload === void 0 ? void 0 : payload.options) === null || _o === void 0 ? void 0 : _o.anonymousId) || (payload === null || payload === void 0 ? void 0 : payload.anonymousId), groupId: ((_p = payload === null || payload === void 0 ? void 0 : payload.options) === null || _p === void 0 ? void 0 : _p.groupId) || storage.getItem(\"__group_id\"), timestamp: new Date().toISOString(), sentAt: new Date().toISOString(), messageId: randomId(properties.path || (parsedUrl && parsedUrl.pathname)), writeKey: maskWriteKey(config.writeKey), context: deepMerge(context, customContext) });\n delete withContext.meta;\n delete withContext.options;\n if ((_q = config.privacy) === null || _q === void 0 ? void 0 : _q.disableUserIds) {\n delete withContext.userId;\n delete withContext.anonymousId;\n delete withContext.context.traits;\n delete withContext.groupId;\n }\n return withContext;\n}\nfunction isDiff(obj) {\n const keys = Object.keys(obj);\n return keys.length === 1 && keys[0] === \"__diff\";\n}\nfunction processDestinations(destinations, method, originalEvent, debug, analyticsInstance) {\n return __awaiter$1(this, void 0, void 0, function* () {\n const promises = [];\n for (const destination of destinations) {\n let newEvents = [];\n if (destination.newEvents) {\n try {\n newEvents = destination.newEvents.map(e => e === \"same\" ? deepCopy(originalEvent) : isDiff(e) ? diff.patch(deepCopy(originalEvent), e.__diff) : e);\n }\n catch (e) {\n console.error(`[JITSU] Error applying '${destination.id}' changes to event: ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n else {\n newEvents = [deepCopy(originalEvent)];\n }\n const credentials = Object.assign(Object.assign({}, destination.credentials), destination.options);\n if (destination.deviceOptions.type === \"internal-plugin\") {\n const plugin = internalDestinationPlugins[destination.deviceOptions.name];\n if (plugin) {\n for (const event of newEvents) {\n try {\n promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug }), event));\n }\n catch (e) {\n console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n }\n else {\n console.warn(`[JITSU] Unknown internal plugin '${destination.deviceOptions.name}' for destination '${destination.id}'`);\n }\n }\n else if (destination.deviceOptions.type === \"analytics-plugin\") {\n yield loadScript(destination.deviceOptions.packageCdn);\n const plugin = window[destination.deviceOptions.moduleVarName];\n if (!plugin) {\n console.warn(`[JITSU] Broken plugin '${destination.deviceOptions.packageCdn}' for destination '${destination.id}' - it doesn't export '${destination.deviceOptions.moduleVarName}' variable`);\n }\n else {\n let pluginInstance;\n try {\n pluginInstance = (typeof plugin === \"function\" ? plugin : plugin.init)(credentials);\n }\n catch (e) {\n console.warn(`[JITSU] Error creating plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n try {\n if (debug) {\n console.log(`[JITSU] Plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}' initialized with config:`, pluginInstance.config);\n }\n pluginInstance.initialize({ config: pluginInstance.config, instance: analyticsInstance });\n }\n catch (e) {\n console.warn(`[JITSU] Error initializing plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}. Config: ${JSON.stringify(pluginInstance.config)}`, e);\n continue;\n }\n if (pluginInstance[method]) {\n for (const event of newEvents) {\n try {\n pluginInstance[method]({\n payload: event,\n config: pluginInstance.config,\n instance: analyticsInstance,\n });\n }\n catch (e) {\n console.warn(`[JITSU] Error processing ${method}() with plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n }\n }\n }\n }\n });\n}\nfunction looksLikeCuid(id) {\n return id.length === 25 && id.charAt(0) === \"c\";\n}\nfunction validateWriteKey(writeKey) {\n if (writeKey) {\n const [, secret] = writeKey.split(\":\", 2);\n if (!secret && !looksLikeCuid(writeKey)) {\n throw new Error(`Legacy write key detected - ${writeKey}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`);\n }\n }\n return writeKey;\n}\nfunction maskWriteKey(writeKey) {\n if (writeKey) {\n const [id, secret] = writeKey.split(\":\", 2);\n if (secret) {\n return `${id}:***`;\n }\n else {\n return \"***\";\n }\n }\n return writeKey;\n}\nfunction getErrorHandler(opts) {\n const configuredHandler = opts.errorPolicy || \"log\";\n if (typeof configuredHandler === \"function\") {\n return configuredHandler;\n }\n else if (configuredHandler === \"rethrow\") {\n return (msg, ...args) => {\n //ignore args, not clear what to do with them\n throw new Error(msg);\n };\n }\n else {\n return (msg, ...args) => {\n console.error(msg, ...args);\n };\n }\n}\nfunction send(method, payload, jitsuConfig, instance, store) {\n return __awaiter$1(this, void 0, void 0, function* () {\n var _a, _b;\n const s2s = !!jitsuConfig.s2s;\n const debugHeader = jitsuConfig.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n const adjustedPayload = adjustPayload(payload, jitsuConfig, store);\n if (jitsuConfig.echoEvents) {\n console.log(`[JITSU DEBUG] sending '${method}' event:`, adjustedPayload);\n return;\n }\n const url = s2s ? `${jitsuConfig.host}/api/s/s2s/${method}` : `${jitsuConfig.host}/api/s/${method}`;\n const fetch = jitsuConfig.fetch || globalThis.fetch;\n if (!fetch) {\n //don't run it through error handler since error is critical and should be addressed\n throw new Error(\"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\");\n }\n const abortController = jitsuConfig.fetchTimeoutMs ? new AbortController() : undefined;\n const abortTimeout = jitsuConfig.fetchTimeoutMs\n ? setTimeout(() => {\n abortController.abort();\n }, jitsuConfig.fetchTimeoutMs)\n : undefined;\n const authHeader = jitsuConfig.writeKey ? { \"X-Write-Key\": jitsuConfig.writeKey } : {};\n const ipHeader = typeof ((_a = jitsuConfig.privacy) === null || _a === void 0 ? void 0 : _a.ipPolicy) === \"undefined\" || ((_b = jitsuConfig.privacy) === null || _b === void 0 ? void 0 : _b.ipPolicy) === \"keep\"\n ? {}\n : { \"X-IP-Policy\": jitsuConfig.privacy.ipPolicy };\n let fetchResult;\n try {\n fetchResult = yield fetch(url, {\n method: \"POST\",\n headers: Object.assign(Object.assign(Object.assign({ \"Content-Type\": \"application/json\" }, authHeader), debugHeader), ipHeader),\n body: JSON.stringify(adjustedPayload),\n signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal,\n });\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n }\n catch (e) {\n getErrorHandler(jitsuConfig)(`Call to ${url} failed with error ${e.message}`);\n return Promise.resolve();\n }\n let responseText;\n try {\n responseText = yield fetchResult.text();\n }\n catch (e) {\n console.warn(`Can't read response text from ${url} (status - ${fetchResult.status} ${fetchResult.statusText}): ${e === null || e === void 0 ? void 0 : e.message}`);\n }\n if (jitsuConfig.debug) {\n console.log(`[JITSU DEBUG] ${url} replied ${fetchResult.status}: ${responseText}. Original payload:\\n${JSON.stringify(adjustedPayload, null, 2)}`);\n }\n if (!fetchResult.ok) {\n getErrorHandler(jitsuConfig)(`Call to ${url} failed with error: ${fetchResult.status} - ${fetchResult.statusText}: ${responseText}`);\n return Promise.resolve();\n }\n let responseJson;\n try {\n responseJson = JSON.parse(responseText);\n }\n catch (e) {\n getErrorHandler(jitsuConfig)(`Can't parse JSON: ${responseText}: ${e === null || e === void 0 ? void 0 : e.message}`);\n return Promise.resolve();\n }\n if (responseJson.destinations && responseJson.destinations.length > 0) {\n if (jitsuConfig.s2s) {\n console.warn(`[JITSU] ${payload.type} responded with list of ${responseJson.destinations.length} destinations. However, this code is running in server-to-server mode, so destinations will be ignored`, jitsuConfig.debug ? JSON.stringify(responseJson.destinations, null, 2) : undefined);\n }\n else {\n //double protection, ingest should not return destinations in s2s mode\n if (isInBrowser()) {\n if (jitsuConfig.debug) {\n console.log(`[JITSU] Processing device destinations: `, JSON.stringify(responseJson.destinations, null, 2));\n }\n return processDestinations(responseJson.destinations, method, adjustedPayload, !!jitsuConfig.debug, instance);\n }\n }\n }\n return adjustedPayload;\n });\n}\nconst controllingTraits = [\"$doNotSend\"];\n/**\n * Remove all members of traits that controls identify/group behavior (see analytics.d.ts), and should not be recorded. Returns\n * copy of the object with these members removed.\n *\n * Do not modify traits object, but creates one\n * @param traits\n */\nfunction stripControllingTraits(traits) {\n const res = Object.assign({}, traits);\n // see Traits definition in analytics.d.ts. We cannot define const here, so here's a little code duplication\n for (const key of controllingTraits) {\n delete res[key];\n }\n return res;\n}\nconst jitsuAnalyticsPlugin = (jitsuOptions = {}, storage) => {\n // just to make sure that all undefined values are replaced with defaultConfig values\n mergeConfig(jitsuOptions, jitsuOptions);\n return {\n name: \"jitsu\",\n config: jitsuOptions,\n initialize: (args) => __awaiter$1(void 0, void 0, void 0, function* () {\n const { config } = args;\n if (config.debug) {\n console.debug(\"[JITSU DEBUG] Initializing Jitsu plugin with config: \", JSON.stringify(config, null, 2));\n }\n if (!config.host && !config.echoEvents) {\n throw new Error(\"Please specify host variable in jitsu plugin initialization, or set echoEvents to true\");\n }\n validateWriteKey(config.writeKey);\n if (config.idEndpoint) {\n if (!isInBrowser()) {\n console.error(`[JITSU] 'idEndpoint' option can be used only in browser environment`);\n return;\n }\n try {\n const fetch = config.fetch || globalThis.fetch;\n const controller = new AbortController();\n setTimeout(() => controller.abort(), 1000);\n const domain = config.cookieDomain || getTopLevelDomain(window.location.hostname);\n const res = yield fetch(config.idEndpoint + \"?domain=\" + encodeURIComponent(domain), {\n credentials: \"include\",\n signal: controller.signal,\n });\n if (!res.ok) {\n console.error(`[JITSU] Can't fetch idEndpoint: ${res.status} - ${res.statusText}`);\n }\n else if (config.debug) {\n console.log(`[JITSU DEBUG] Fetch idEndpoint: ${res.status}`);\n }\n }\n catch (e) {\n console.error(`[JITSU] Can't fetch idEndpoint: ${e.message}`);\n }\n }\n }),\n page: args => {\n var _a;\n const { payload, config, instance } = args;\n if ((_a = config.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) {\n return;\n }\n return send(\"page\", payload, config, instance, storage);\n },\n track: args => {\n var _a;\n const { payload, config, instance } = args;\n if ((_a = config.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) {\n return;\n }\n return send(\"track\", payload, config, instance, storage);\n },\n identify: args => {\n var _a, _b, _c;\n const { payload, config, instance } = args;\n if (((_a = config.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = config.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n // Store traits in cache to be able to use them in page and track events that run asynchronously with current identify.\n storage.setItem(\"__user_id\", payload.userId);\n const doNotSend = (_c = payload.traits) === null || _c === void 0 ? void 0 : _c.$doNotSend;\n if (payload.traits && typeof payload.traits === \"object\") {\n payload.traits = stripControllingTraits(payload.traits);\n storage.setItem(\"__user_traits\", payload.traits);\n }\n if (doNotSend) {\n return Promise.resolve();\n }\n return send(\"identify\", payload, config, instance, storage);\n },\n reset: args => {\n const { config, instance } = args;\n storage.reset();\n if (config.debug) {\n console.log(\"[JITSU DEBUG] Resetting Jitsu plugin storage\");\n }\n },\n methods: {\n //analytics doesn't support group as a base method, so we need to add it manually\n configure(newOptions) {\n var _a, _b, _c, _d;\n const idsWasDisabled = ((_a = jitsuOptions.privacy) === null || _a === void 0 ? void 0 : _a.disableUserIds) || ((_b = jitsuOptions.privacy) === null || _b === void 0 ? void 0 : _b.dontSend);\n mergeConfig(jitsuOptions, newOptions);\n const idsDisabledNow = ((_c = jitsuOptions.privacy) === null || _c === void 0 ? void 0 : _c.disableUserIds) || ((_d = jitsuOptions.privacy) === null || _d === void 0 ? void 0 : _d.dontSend);\n if (!idsDisabledNow && idsWasDisabled) {\n if (jitsuOptions.debug) {\n console.log(\"[JITSU] Enabling Anonymous ID. Generating new Id.\");\n }\n const instance = this.instance;\n const newAnonymousId = uuid();\n const userState = instance.user();\n if (userState) {\n userState.anonymousId = newAnonymousId;\n }\n storage.setItem(\"__anon_id\", newAnonymousId);\n instance.setAnonymousId(newAnonymousId);\n }\n },\n group(groupId, traits, options, callback) {\n var _a, _b;\n if (((_a = jitsuOptions.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = jitsuOptions.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n if (typeof groupId === \"number\") {\n //fix potential issues with group id being used incorrectly\n groupId = groupId + \"\";\n }\n const instance = this.instance;\n const user = instance.user();\n const userId = (options === null || options === void 0 ? void 0 : options.userId) || (user === null || user === void 0 ? void 0 : user.userId);\n const anonymousId = (options === null || options === void 0 ? void 0 : options.anonymousId) || (user === null || user === void 0 ? void 0 : user.anonymousId) || storage.getItem(\"__anon_id\");\n storage.setItem(\"__group_id\", groupId);\n const doNotSend = traits === null || traits === void 0 ? void 0 : traits.$doNotSend;\n if (traits && typeof traits === \"object\") {\n traits = stripControllingTraits(traits);\n storage.setItem(\"__group_traits\", traits);\n }\n if (doNotSend) {\n return Promise.resolve();\n }\n return send(\"group\", Object.assign(Object.assign({ type: \"group\", groupId, traits }, (anonymousId ? { anonymousId } : {})), (userId ? { userId } : {})), jitsuOptions, instance, storage);\n },\n },\n };\n};\nlet seedCounter = 0;\nfunction getSeed() {\n var _a;\n seedCounter = (seedCounter + 1) % Number.MAX_SAFE_INTEGER;\n const defaultSeed = Date.now() % 2147483647;\n const seed = isInBrowser() ? ((_a = window === null || window === void 0 ? void 0 : window.performance) === null || _a === void 0 ? void 0 : _a.now()) || defaultSeed : defaultSeed;\n return seed + seedCounter;\n}\nfunction randomId(hashString = \"\") {\n const d = Date.now();\n return (((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36) +\n ((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36));\n}\nfunction uuid() {\n var u = \"\", m = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\", i = 0, rb = (Math.random() * 0xffffffff) | 0;\n while (i++ < 36) {\n var c = m[i - 1], r = rb & 0xf, v = c == \"x\" ? r : (r & 0x3) | 0x8;\n u += c == \"-\" || c == \"4\" ? c : v.toString(16);\n rb = i % 8 == 0 ? (Math.random() * 0xffffffff) | 0 : rb >> 4;\n }\n return u;\n}\nfunction hash(str, seed = 0) {\n let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\n}\n\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nfunction parse(input) {\n let value = input;\n if ((input === null || input === void 0 ? void 0 : input.indexOf(\"%7B%22\")) === 0) {\n value = decodeURIComponent(input);\n }\n try {\n value = JSON.parse(value);\n if (value === \"true\")\n return true;\n if (value === \"false\")\n return false;\n if (typeof value === \"object\")\n return value;\n if (parseFloat(value) === value) {\n value = parseFloat(value);\n }\n }\n catch (e) { }\n if (value === null || value === \"\") {\n return;\n }\n return value;\n}\nconst emptyAnalytics = {\n setAnonymousId: () => { },\n setContextProperty(name, value) { },\n getContextProperty(name) {\n return undefined;\n },\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n group: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n configure: () => { },\n getConfiguration() {\n return {};\n },\n};\nfunction createUnderlyingAnalyticsInstance(opts, rt, plugins = []) {\n var _a, _b, _c;\n const storageCache = {};\n // AnalyticsInstance's storage is async somewhere inside. So if we make 'page' call right after 'identify' call\n // 'page' call will load traits from storage before 'identify' call had a change to save them.\n // to avoid that we use in-memory cache for storage\n const cachingStorageWrapper = (persistentStorage) => ({\n setItem(key, val) {\n var _a, _b;\n if (((_a = opts.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = opts.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Caching storage setItem: ${key}=${val}`);\n }\n storageCache[key] = val;\n persistentStorage.setItem(key, val);\n },\n getItem(key) {\n var _a, _b;\n if (((_a = opts.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = opts.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n const value = storageCache[key] || persistentStorage.getItem(key);\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Caching storage getItem: ${key}=${value}. Evicted from cache: ${!storageCache[key]}`);\n }\n return value;\n },\n reset() {\n for (const key of [...Object.keys(storageCache)]) {\n delete storageCache[key];\n }\n persistentStorage.reset();\n },\n removeItem(key) {\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Caching storage removeItem: ${key}`);\n }\n delete storageCache[key];\n persistentStorage.removeItem(key);\n },\n });\n const storage = cachingStorageWrapper(((_a = rt.store) === null || _a === void 0 ? void 0 : _a.call(rt)) || createInMemoryStorage(opts.debug));\n const analytics = analyticsLib({\n debug: !!opts.debug,\n storage,\n plugins: [jitsuAnalyticsPlugin(opts, storage), ...plugins],\n });\n const a = Object.assign(Object.assign({}, analytics), { page: (...args) => {\n if (args.length === 2 && typeof args[0] === \"string\" && typeof args[1] === \"object\") {\n return analytics.page(Object.assign({ name: args[0] }, args[1]));\n }\n else {\n return analytics.page(...args);\n }\n }, identify: (...args) => {\n if (args[0] && typeof args[0] !== \"object\" && typeof args[0] !== \"string\") {\n //fix the quirk of analytics.js: if you pass number as first argument, it will be converted to string\n args[0] = args[0] + \"\";\n }\n //analytics.js sets userId and traits asynchronously, so if\n //we want them to be available immediately after identify call in subsequent page() calls,\n //we need to put them into storage manually\n const storage = analytics.storage;\n const storageWrapper = cachingStorageWrapper(storage);\n if (typeof args[0] === \"string\") {\n //first argument is user id\n storageWrapper.setItem(\"__user_id\", args[0]);\n }\n else if (typeof args[0] === \"object\") {\n //first argument is traits\n storageWrapper.setItem(\"__user_traits\", args[0]);\n }\n if (args.length === 2 && typeof args[1] === \"object\") {\n //first argument is user id, second is traits\n storageWrapper.setItem(\"__user_traits\", args[1]);\n }\n return analytics.identify(...args);\n }, setContextProperty(name, value) {\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Setting context property '${name}':${JSON.stringify(value)}`);\n }\n if (!opts.defaultPayloadContext) {\n opts.defaultPayloadContext = {\n [name]: value,\n };\n }\n else {\n opts.defaultPayloadContext[name] = value;\n }\n },\n getContextProperty(name) {\n var _a;\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Getting context property '${name}'`);\n }\n return (_a = opts.defaultPayloadContext) === null || _a === void 0 ? void 0 : _a[name];\n }, setAnonymousId: (id) => {\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] Setting anonymous id to \" + id);\n }\n //Workaround for analytics.js bug. Underlying setAnonymousId doesn't set the id immediately,\n //so we got to it manually here. See https://github.com/jitsucom/jitsu/issues/1060\n storage.setItem(\"__anon_id\", id);\n const userState = analytics.user();\n if (userState) {\n userState.anonymousId = id;\n }\n analytics.setAnonymousId(id);\n }, reset() {\n return __awaiter(this, void 0, void 0, function* () {\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] Called reset(). Storage state\", JSON.stringify(analytics.user()));\n }\n storage.reset();\n yield analytics.reset();\n this.setAnonymousId(uuid());\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] User state after reset\", JSON.stringify(analytics.user()));\n }\n });\n },\n configure(options) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] Update Jitsu config with\", JSON.stringify(options));\n }\n if (((_a = options.privacy) === null || _a === void 0 ? void 0 : _a.disableUserIds) || ((_b = options.privacy) === null || _b === void 0 ? void 0 : _b.dontSend)) {\n storage.reset();\n }\n for (const plugin of Object.values(analytics.plugins)) {\n if (typeof plugin[\"configure\"] === \"function\") {\n plugin[\"configure\"](options);\n }\n }\n });\n },\n group(groupId, traits, options, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n const results = [];\n for (const plugin of Object.values(analytics.plugins)) {\n if (plugin[\"group\"]) {\n results.push(yield plugin[\"group\"](groupId, traits, options, callback));\n }\n }\n //It's incorrect at many levels. First, it's not a dispatched event. Second, we take a first result\n //However, since returned values are used for debugging purposes only, it's ok\n return results[0];\n });\n },\n getConfiguration() {\n return opts;\n } });\n if (((_b = opts.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds) || ((_c = opts.privacy) === null || _c === void 0 ? void 0 : _c.dontSend)) {\n storage.reset();\n }\n return a;\n}\n/**\n * Fix common mistakes in jitsu configuration\n * @param opts\n */\nfunction fixOptions(opts) {\n var _a, _b;\n return Object.assign(Object.assign({}, opts), { host: ((_a = opts.host) !== null && _a !== void 0 ? _a : \"\").indexOf(\"https://\") !== 0 && ((_b = opts.host) !== null && _b !== void 0 ? _b : \"\").indexOf(\"http://\") !== 0\n ? `https://${opts.host}`\n : opts.host });\n}\nfunction jitsuAnalytics(_opts) {\n const opts = fixOptions(_opts);\n const inBrowser = isInBrowser();\n const rt = opts.runtime || (inBrowser ? windowRuntime(opts) : emptyRuntime(opts));\n return createUnderlyingAnalyticsInstance(opts, rt);\n // if (inBrowser) {\n // const fetch = opts.fetch || globalThis.fetch;\n // if (!fetch) {\n // throw new Error(\n // \"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\"\n // );\n // }\n // const url = `${opts.host}/api/s/cfg`;\n // const authHeader = {};\n // const debugHeader = opts.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n // fetch(url)\n // .then(res => res.json())\n // .then(res => {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt, []));\n // })\n // .catch(e => {\n // console.warn(`[JITSU] error getting device-destinations from ${url}`, e);\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // });\n // } else {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // }\n}\n\nexports.createInMemoryStorage = createInMemoryStorage;\nexports.emptyAnalytics = emptyAnalytics;\nexports.emptyRuntime = emptyRuntime;\nexports.isInBrowser = isInBrowser;\nexports.jitsuAnalytics = jitsuAnalytics;\nexports.jitsuAnalyticsPlugin = jitsuAnalyticsPlugin;\nexports.parseQuery = parseQuery;\nexports.randomId = randomId;\nexports.uuid = uuid;\nexports.windowRuntime = windowRuntime;\n", "import { jitsuAnalytics, AnalyticsInterface } from '@jitsu/js';\n\nconst WRITE_KEY = 'FCPcyGrUKbMlUu65nsX8e2HBCYadBi2b:eE6u4qr1RIUn119gAEliIuzftbpIrbOX';\nconst HOST = 'https://cmjiyhe5l00003b7ayqcn2bte.d.jitsu.com';\n\nexport interface CashinTracker {\n track(eventName: string, properties?: Record<string, any>): Promise<any>;\n page(name?: string, properties?: Record<string, any>): Promise<any>;\n identify(userId: string, traits?: Record<string, any>): Promise<any>;\n group(groupId: string, traits?: Record<string, any>): Promise<any>;\n reset(): Promise<any>;\n user(): any;\n setAnonymousId(id: string): void;\n setContext(name: string, value: any): void;\n getContext(name: string): any;\n analytics: AnalyticsInterface;\n}\n\nfunction getXPath(element: HTMLElement): string {\n if (element.id) return `//*[@id=\"${element.id}\"]`;\n if (element === document.body) return '/html/body';\n\n let ix = 0;\n const siblings = element.parentNode?.children;\n if (siblings) {\n for (let i = 0; i < siblings.length; i++) {\n const sibling = siblings[i];\n if (sibling === element) {\n return getXPath(element.parentNode as HTMLElement) + '/' + element.tagName.toLowerCase() + '[' + (ix + 1) + ']';\n }\n if (sibling.tagName === element.tagName) ix++;\n }\n }\n return '';\n}\n\nfunction getCssSelector(element: HTMLElement): string {\n if (element.id) return `#${element.id}`;\n\n const path = [];\n let current: HTMLElement | null = element;\n\n while (current && current !== document.body) {\n let selector = current.tagName.toLowerCase();\n if (current.className) {\n selector += '.' + current.className.trim().split(/\\s+/).join('.');\n }\n path.unshift(selector);\n current = current.parentElement;\n }\n\n return path.join(' > ');\n}\n\ninterface InitOptions {\n autoTrack?: boolean;\n}\n\nexport function init(partnerKey: string, options: InitOptions = {}): CashinTracker {\n const { autoTrack = true } = options;\n\n const analytics = jitsuAnalytics({\n writeKey: WRITE_KEY,\n host: HOST,\n });\n\n analytics.setContextProperty('partnerKey', partnerKey);\n\n if (typeof window !== 'undefined' && autoTrack) {\n analytics.page();\n\n // Track SPA route changes\n let lastPath = window.location.pathname;\n const trackPageChange = () => {\n if (lastPath !== window.location.pathname) {\n lastPath = window.location.pathname;\n analytics.page();\n }\n };\n\n window.addEventListener('popstate', trackPageChange);\n\n const wrapHistoryMethod = (method: 'pushState' | 'replaceState') => {\n const original = history[method];\n history[method] = function(...args) {\n original.apply(this, args);\n trackPageChange();\n };\n };\n\n wrapHistoryMethod('pushState');\n wrapHistoryMethod('replaceState');\n\n document.addEventListener('click', (e) => {\n const target = e.target as HTMLElement;\n const rect = target.getBoundingClientRect();\n\n const clickMeta = {\n tagName: target.tagName,\n id: target.id || undefined,\n className: target.className || undefined,\n text: target.textContent?.substring(0, 100),\n xpath: getXPath(target),\n cssSelector: getCssSelector(target),\n href: (target as HTMLAnchorElement).href || undefined,\n coordinates: {\n x: e.clientX,\n y: e.clientY,\n },\n elementPosition: {\n top: rect.top,\n left: rect.left,\n width: rect.width,\n height: rect.height,\n },\n };\n\n analytics.track('click', {\n 'click-meta': JSON.stringify(clickMeta),\n });\n });\n }\n\n const tracker = {\n setContext(name: string, value: any) {\n analytics.setContextProperty(name, value);\n },\n getContext(name: string) {\n return analytics.getContextProperty(name);\n },\n analytics,\n };\n\n return new Proxy(tracker, {\n get(target, prop) {\n if (prop in target) {\n return target[prop as keyof typeof target];\n }\n const analyticsProp = analytics[prop as keyof AnalyticsInterface];\n if (typeof analyticsProp === 'function') {\n return analyticsProp.bind(analytics);\n }\n return analyticsProp;\n },\n }) as CashinTracker;\n}\n\nif (typeof window !== 'undefined') {\n (window as any).tracker = { init };\n}"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use strict';\n\nfunction n$2(t,e,l,n,r){for(e=e.split?e.split(\".\"):e,n=0;n<e.length;n++)t=t?t[e[n]]:r;return t===r?l:t}\n\nvar e=\"undefined\",o$1=\"object\",b$3=\"any\",m$1=\"*\",j$1=\"__\",F$2=\"undefined\"!=typeof process?process:{};F$2.env&&F$2.env.NODE_ENV||\"\";var $$1=\"undefined\"!=typeof document;null!=F$2.versions&&null!=F$2.versions.node;\"undefined\"!=typeof Deno&&void 0!==Deno.core;$$1&&\"nodejs\"===window.name||\"undefined\"!=typeof navigator&&void 0!==navigator.userAgent&&(navigator.userAgent.includes(\"Node.js\")||navigator.userAgent.includes(\"jsdom\"));function M$1(n,t){return t.charAt(0)[n]()+t.slice(1)}var U$1=M$1.bind(null,\"toUpperCase\"),H$1=M$1.bind(null,\"toLowerCase\");function J$2(n){return Y$1(n)?U$1(\"null\"):\"object\"==typeof n?yn(n):Object.prototype.toString.call(n).slice(8,-1)}function R$1(n,t){void 0===t&&(t=!0);var e=J$2(n);return t?H$1(e):e}function V$1(n,t){return typeof t===n}var W$1=V$1.bind(null,\"function\"),q$1=V$1.bind(null,\"string\"),I$2=V$1.bind(null,\"undefined\");var Q$1=V$1.bind(null,\"boolean\");V$1.bind(null,\"symbol\");function Y$1(n){return null===n}function nn(n){return \"number\"===R$1(n)&&!isNaN(n)}function rn(n){return \"array\"===R$1(n)}function on(n){if(!un(n))return !1;for(var t=n;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(n)===t}function un(n){return n&&(\"object\"==typeof n||null!==n)}function yn(n){return W$1(n.constructor)?n.constructor.name:null}function hn(n){return n instanceof Error||q$1(n.message)&&n.constructor&&nn(n.constructor.stackTraceLimit)}function On(n,t){if(\"object\"!=typeof t||Y$1(t))return !1;if(t instanceof n)return !0;var e=R$1(new n(\"\"));if(hn(t))for(;t;){if(R$1(t)===e)return !0;t=Object.getPrototypeOf(t);}return !1}On.bind(null,TypeError);On.bind(null,SyntaxError);function $n(n,t){var e=n instanceof Element||n instanceof HTMLDocument;return e&&t?Tn(n,t):e}function Tn(n,t){return void 0===t&&(t=\"\"),n&&n.nodeName===t.toUpperCase()}function _n(n){var t=[].slice.call(arguments,1);return function(){return n.apply(void 0,[].slice.call(arguments).concat(t))}}_n($n,\"form\");_n($n,\"button\");_n($n,\"input\");_n($n,\"select\");\n\nfunction n$1(e){try{return decodeURIComponent(e.replace(/\\+/g,\" \"))}catch(e){return null}}function s(r){return function(e){for(var r,t=Object.create(null),o=/([^&=]+)=?([^&]*)/g;r=o.exec(e);){var a=n$1(r[1]),i=n$1(r[2]);\"[]\"===a.substring(a.length-2)?(t[a=a.substring(0,a.length-2)]||(t[a]=[])).push(i):t[a]=\"\"===i||i;}for(var u in t){var c=u.split(\"[\");c.length>1&&(m(t,c.map(function(e){return e.replace(/[?[\\]\\\\ ]/g,\"\")}),t[u]),delete t[u]);}return t}(function(r){if(r){var t=r.match(/\\?(.*)/);return t&&t[1]?t[1].split(\"#\")[0]:\"\"}return $$1&&window.location.search.substring(1)}(r))}function m(e,r,t){for(var n=r.length-1,o=0;o<n;++o){var a=r[o];if(\"__proto__\"===a||\"constructor\"===a)break;a in e||(e[a]={}),e=e[a];}e[r[n]]=t;}function y$1(){for(var e=\"\",r=0,t=4294967295*Math.random()|0;r++<36;){var n=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\"[r-1],o=15&t;e+=\"-\"==n||\"4\"==n?n:(\"x\"==n?o:3&o|8).toString(16),t=r%8==0?4294967295*Math.random()|0:t>>4;}return e}\n\nvar l=\"global\",o=j$1+\"global\"+j$1,n=typeof self===o$1&&self.self===self&&self||typeof global===o$1&&global.global===global&&global||void 0;function a$2(t){return n[o][t]}function f(t,e){return n[o][t]=e}function i$2(t){delete n[o][t];}function u$1(t,e,r){var l;try{if(b$2(t)){var o=window[t];l=o[e].bind(o);}}catch(t){}return l||r}n[o]||(n[o]={});var c$1={};function b$2(t){if(typeof c$1[t]!==e)return c$1[t];try{var e$1=window[t];e$1.setItem(e,e),e$1.removeItem(e);}catch(e){return c$1[t]=!1}return c$1[t]=!0}\n\nfunction g$1(){return g$1=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e},g$1.apply(this,arguments)}var h$1=\"function\",v=\"undefined\",y=\"@@redux/\"+Math.random().toString(36),b$1=/* #__PURE__ */function(){return typeof Symbol===h$1&&Symbol.observable||\"@@observable\"}(),I$1=\" != \"+h$1;function w(e,t,n){var r;if(typeof t===h$1&&typeof n===v&&(n=t,t=void 0),typeof n!==v){if(typeof n!==h$1)throw new Error(\"enhancer\"+I$1);return n(w)(e,t)}if(typeof e!==h$1)throw new Error(\"reducer\"+I$1);var i=e,a=t,o=[],u=o,s=!1;function l(){u===o&&(u=o.slice());}function f(){return a}function d(e){if(typeof e!==h$1)throw new Error(\"Listener\"+I$1);var t=!0;return l(),u.push(e),function(){if(t){t=!1,l();var n=u.indexOf(e);u.splice(n,1);}}}function p(e){if(!on(e))throw new Error(\"Act != obj\");if(typeof e.type===v)throw new Error(\"ActType \"+v);if(s)throw new Error(\"Dispatch in reducer\");try{s=!0,a=i(a,e);}finally{s=!1;}for(var t=o=u,n=0;n<t.length;n++)(0, t[n])();return e}return p({type:\"@@redux/INIT\"}),(r={dispatch:p,subscribe:d,getState:f,replaceReducer:function(e){if(typeof e!==h$1)throw new Error(\"next reducer\"+I$1);i=e,p({type:\"@@redux/INIT\"});}})[b$1]=function(){var e,t=d;return (e={subscribe:function(e){if(\"object\"!=typeof e)throw new TypeError(\"Observer != obj\");function n(){e.next&&e.next(f());}return n(),{unsubscribe:t(n)}}})[b$1]=function(){return this},e},r}function E$1(e,t){var n=t&&t.type;return \"action \"+(n&&n.toString()||\"?\")+\"reducer \"+e+\" returns \"+v}function P(){var e=[].slice.call(arguments);return 0===e.length?function(e){return e}:1===e.length?e[0]:e.reduce(function(e,t){return function(){return e(t.apply(void 0,[].slice.call(arguments)))}})}function S(){var e=arguments;return function(t){return function(n,r,i){var a,o=t(n,r,i),u=o.dispatch,c={getState:o.getState,dispatch:function(e){return u(e)}};return a=[].slice.call(e).map(function(e){return e(c)}),g$1({},o,{dispatch:u=P.apply(void 0,a)(o.dispatch)})}}}var N$1=j$1+\"anon_id\",A$1=j$1+\"user_id\",_=j$1+\"user_traits\",j=\"userId\",k$1=\"anonymousId\",x$1=[\"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\"],T=[\"name\",\"EVENTS\",\"config\",\"loaded\"],z=x$1.reduce(function(e,t){return e[t]=t,e},{registerPluginType:function(e){return \"registerPlugin:\"+e},pluginReadyType:function(e){return \"ready:\"+e}}),M=/^utm_/,q=/^an_prop_/,V=/^an_trait_/;function C$1(e){var t=e.storage.setItem;return function(n){return function(r){return function(i){if(i.type===z.bootstrap){var a=i.params,o=i.user,u=i.persistedUser,c=i.initialUser,s=u.userId===o.userId;u.anonymousId!==o.anonymousId&&t(N$1,o.anonymousId),s||t(A$1,o.userId),c.traits&&t(_,g$1({},s&&u.traits?u.traits:{},c.traits));var l=Object.keys(i.params);if(l.length){var f=a.an_uid,d=a.an_event,p=l.reduce(function(e,t){if(t.match(M)||t.match(/^(d|g)clid/)){var n=t.replace(M,\"\");e.campaign[\"campaign\"===n?\"name\":n]=a[t];}return t.match(q)&&(e.props[t.replace(q,\"\")]=a[t]),t.match(V)&&(e.traits[t.replace(V,\"\")]=a[t]),e},{campaign:{},props:{},traits:{}});n.dispatch(g$1({type:z.params,raw:a},p,f?{userId:f}:{})),f&&setTimeout(function(){return e.identify(f,p.traits)},0),d&&setTimeout(function(){return e.track(d,p.props)},0),Object.keys(p.campaign).length&&n.dispatch({type:z.campaign,campaign:p.campaign});}}return r(i)}}}}function U(e){return function(t,n){if(void 0===t&&(t={}),void 0===n&&(n={}),n.type===z.setItemEnd){if(n.key===N$1)return g$1({},t,{anonymousId:n.value});if(n.key===A$1)return g$1({},t,{userId:n.value})}switch(n.type){case z.identify:return Object.assign({},t,{userId:n.userId,traits:g$1({},t.traits,n.traits)});case z.reset:return [A$1,N$1,_].forEach(function(t){e.removeItem(t);}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function R(e){return {userId:e.getItem(A$1),anonymousId:e.getItem(N$1),traits:e.getItem(_)}}var $=function(e){return j$1+\"TEMP\"+j$1+e};function D(t){var n=t.storage,r=n.setItem,a=n.removeItem,o=n.getItem;return function(t){return function(n){return function(u){var c=u.userId,s=u.traits,l=u.options;if(u.type===z.reset&&([A$1,_,N$1].forEach(function(e){a(e);}),[j,k$1,\"traits\"].forEach(function(e){i$2($(e));})),u.type===z.identify){o(N$1)||r(N$1,y$1());var f=o(A$1),d=o(_)||{};f&&f!==c&&t.dispatch({type:z.userIdChanged,old:{userId:f,traits:d},new:{userId:c,traits:s},options:l}),c&&r(A$1,c),s&&r(_,g$1({},d,s));}return n(u)}}}}var B={};function L$1(e,t){B[e]&&W$1(B[e])&&(B[e](t),delete B[e]);}function J$1(e,t,n){return new Promise(function(r,i){return t()?r(e):n<1?i(g$1({},e,{queue:!0})):new Promise(function(e){return setTimeout(e,10)}).then(function(a){return J$1(e,t,n-10).then(r,i)})})}function X(e){return {abort:e}}var H=function(e){var t=e.data,n=e.action,r=e.instance,i=e.state,a=e.allPlugins,o=e.allMatches,u=e.store,s=e.EVENTS;try{var f=i.plugins,d=i.context,p=n.type,m=p.match(W),h=t.exact.map(function(e){return e.pluginName});m&&(h=o.during.map(function(e){return e.pluginName}));var v=function(e,t){return function(n,r,i){var a=r.config,o=r.name,u=o+\".\"+n.type;i&&(u=i.event);var c=n.type.match(W)?function(e,t,n,r,i){return function(a,o){var u=r?r.name:e,c=o&&ne(o)?o:n;if(r&&(!(c=o&&ne(o)?o:[e]).includes(e)||1!==c.length))throw new Error(\"Method \"+t+\" can only abort \"+e+\" plugin. \"+JSON.stringify(c)+\" input valid\");return g$1({},i,{abort:{reason:a,plugins:c,caller:t,_:u}})}}(o,u,t,i,n):function(e,t){return function(){throw new Error(e.type+\" action not cancellable. Remove abort in \"+t)}}(n,u);return {payload:ae(n),instance:e,config:a||{},abort:c}}}(r,h),y=t.exact.reduce(function(e,t){var n=t.pluginName,r=t.methodName,i=!1;return r.match(/^initialize/)||r.match(/^reset/)||(i=!f[n].loaded),d.offline&&r.match(/^(page|track|identify)/)&&(i=!0),e[\"\"+n]=i,e},{});return Promise.resolve(t.exact.reduce(function(e,i,o){try{var u=i.pluginName;return Promise.resolve(e).then(function(e){function i(){return Promise.resolve(e)}var o=function(){if(t.namespaced&&t.namespaced[u])return Promise.resolve(t.namespaced[u].reduce(function(e,t,n){try{return Promise.resolve(e).then(function(e){return t.method&&W$1(t.method)?(function(e,t){var n=ie(e);if(n&&n.name===t){var r=ie(n.method);throw new Error([t+\" plugin is calling method \"+e,\"Plugins cant call self\",\"Use \"+n.method+\" \"+(r?\"or \"+r.method:\"\")+\" in \"+t+\" plugin insteadof \"+e].join(\"\\n\"))}}(t.methodName,t.pluginName),Promise.resolve(t.method({payload:e,instance:r,abort:(n=e,i=u,o=t.pluginName,function(e,t){return g$1({},n,{abort:{reason:e,plugins:t||[i],caller:p,from:o||i}})}),config:Q(t.pluginName,f,a),plugins:f})).then(function(t){var n=on(t)?t:{};return Promise.resolve(g$1({},e,n))})):e;var n,i,o;})}catch(e){return Promise.reject(e)}},Promise.resolve(n))).then(function(t){e[u]=t;});e[u]=n;}();return o&&o.then?o.then(i):i()})}catch(e){return Promise.reject(e)}},Promise.resolve({}))).then(function(e){return Promise.resolve(t.exact.reduce(function(n,i,o){try{var s=t.exact.length===o+1,l=i.pluginName,d=a[l];return Promise.resolve(n).then(function(t){var n=e[l]?e[l]:{};if(m&&(n=t),ee(n,l))return K({data:n,method:p,instance:r,pluginName:l,store:u}),Promise.resolve(t);if(ee(t,l))return s&&K({data:t,method:p,instance:r,store:u}),Promise.resolve(t);if(y.hasOwnProperty(l)&&!0===y[l])return u.dispatch({type:\"queue\",plugin:l,payload:n,_:{called:\"queue\",from:\"queueMechanism\"}}),Promise.resolve(t);var i=v(e[l],a[l]);return Promise.resolve(d[p]({abort:i.abort,payload:n,instance:r,config:Q(l,f,a),plugins:f})).then(function(i){var a=on(i)?i:{},o=g$1({},t,a),s=e[l];if(ee(s,l))K({data:s,method:p,instance:r,pluginName:l,store:u});else {var f=p+\":\"+l;(f.match(/:/g)||[]).length<2&&!p.match(F$1)&&!p.match(G$1)&&r.dispatch(g$1({},m?o:n,{type:f,_:{called:f,from:\"submethod\"}}));}return Promise.resolve(o)})})}catch(e){return Promise.reject(e)}},Promise.resolve(n))).then(function(e){if(!(p.match(W)||p.match(/^registerPlugin/)||p.match(G$1)||p.match(F$1)||p.match(/^params/)||p.match(/^userIdChanged/))){if(s.plugins.includes(p),e._&&e._.originalAction===p)return e;var n=g$1({},e,{_:{originalAction:e.type,called:e.type,from:\"engineEnd\"}});te(e,t.exact.length)&&!p.match(/End$/)&&(n=g$1({},n,{type:e.type+\"Aborted\"})),u.dispatch(n);}return e})})}catch(e){return Promise.reject(e)}},W=/Start$/,F$1=/^bootstrap/,G$1=/^ready/;function K(e){var t=e.pluginName,n=e.method+\"Aborted\"+(t?\":\"+t:\"\");e.store.dispatch(g$1({},e.data,{type:n,_:{called:n,from:\"abort\"}}));}function Q(e,t,n){var r=t[e]||n[e];return r&&r.config?r.config:{}}function Y(e,t){return t.reduce(function(t,n){return n[e]?t.concat({methodName:e,pluginName:n.name,method:n[e]}):t},[])}function Z(e,t){var n=e.replace(W,\"\"),r=t?\":\"+t:\"\";return [\"\"+e+r,\"\"+n+r,n+\"End\"+r]}function ee(e,t){var n=e.abort;return !!n&&(!0===n||re(n,t)||n&&re(n.plugins,t))}function te(e,t){var n=e.abort;if(!n)return !1;if(!0===n||q$1(n))return !0;var r=n.plugins;return ne(n)&&n.length===t||ne(r)&&r.length===t}function ne(e){return Array.isArray(e)}function re(e,t){return !(!e||!ne(e))&&e.includes(t)}function ie(e){var t=e.match(/(.*):(.*)/);return !!t&&{method:t[1],name:t[2]}}function ae(e){return Object.keys(e).reduce(function(t,n){return \"type\"===n||(t[n]=on(e[n])?Object.assign({},e[n]):e[n]),t},{})}function oe(e,t,n){var r={};return function(i){return function(a){return function(o){try{var u,s=function(e){return u?e:a(m)},d=o.type,p=o.plugins,m=o;if(o.abort)return Promise.resolve(a(o));if(d===z.enablePlugin&&i.dispatch({type:z.initializeStart,plugins:p,disabled:[],fromEnable:!0,meta:o.meta}),d===z.disablePlugin&&setTimeout(function(){return L$1(o.meta.rid,{payload:o})},0),d===z.initializeEnd){var h=t(),v=Object.keys(h),y=v.filter(function(e){return p.includes(e)}).map(function(e){return h[e]}),b=[],I=[],w=o.disabled,E=y.map(function(e){var t=e.loaded,n=e.name,a=e.config;return J$1(e,function(){return t({config:a})},1e4).then(function(t){return r[n]||(i.dispatch({type:z.pluginReadyType(n),name:n,events:Object.keys(e).filter(function(e){return !T.includes(e)})}),r[n]=!0),b=b.concat(n),e}).catch(function(e){if(e instanceof Error)throw new Error(e);return I=I.concat(e.name),e})});Promise.all(E).then(function(e){var t={plugins:b,failed:I,disabled:w};setTimeout(function(){v.length===E.length+w.length&&i.dispatch(g$1({},{type:z.ready},t));},0);});}var P=function(){if(d!==z.bootstrap)return /^ready:([^:]*)$/.test(d)&&setTimeout(function(){return function(e,t,n){var r={},i=t(),a=e.getState(),o=a.plugins,u=a.queue,s=a.user;if(!a.context.offline&&u&&u.actions&&u.actions.length){var f=u.actions.reduce(function(e,t,n){return o[t.plugin].loaded?(e.process.push(t),e.processIndex.push(n)):(e.requeue.push(t),e.requeueIndex.push(n)),e},{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(f.processIndex&&f.processIndex.length){f.processIndex.forEach(function(t){var a=u.actions[t],f=a.plugin,d=a.payload.type,p=i[f][d];if(p&&W$1(p)){var m,h=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),[j,k$1].reduce(function(n,r){return e.hasOwnProperty(r)&&t[r]&&t[r]!==e[r]&&(n[r]=t[r]),n},e)}(a.payload,s),v=r[h.meta.rid];if(!v&&(m=p({payload:h,config:o[f].config,instance:n,abort:X}))&&on(m)&&m.abort)return void(r[h.meta.rid]=!0);if(!v){var y=d+\":\"+f;e.dispatch(g$1({},h,{type:y,_:{called:y,from:\"queueDrain\"}}));}}});var d=u.actions.filter(function(e,t){return !~f.processIndex.indexOf(t)});u.actions=d;}}}(i,t,e)},0),Promise.resolve(function(e,t,n,r,i){try{var a=W$1(t)?t():t,o=e.type,u=o.replace(W,\"\");if(e._&&e._.called)return Promise.resolve(e);var c=n.getState(),s=(m=a,void 0===(h=c.plugins)&&(h={}),void 0===(v=e.options)&&(v={}),Object.keys(m).filter(function(e){var t=v.plugins||{};return Q$1(t[e])?t[e]:!1!==t.all&&(!h[e]||!1!==h[e].enabled)}).map(function(e){return m[e]}));o===z.initializeStart&&e.fromEnable&&(s=Object.keys(c.plugins).filter(function(t){var n=c.plugins[t];return e.plugins.includes(t)&&!n.initialized}).map(function(e){return a[e]}));var d=s.map(function(e){return e.name}),p=function(e,t,n){var r=Z(e).map(function(e){return Y(e,t)});return t.reduce(function(n,r){var i=r.name,a=Z(e,i).map(function(e){return Y(e,t)}),o=a[0],u=a[1],c=a[2];return o.length&&(n.beforeNS[i]=o),u.length&&(n.duringNS[i]=u),c.length&&(n.afterNS[i]=c),n},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(o,s);return Promise.resolve(H({action:e,data:{exact:p.before,namespaced:p.beforeNS},state:c,allPlugins:a,allMatches:p,instance:n,store:r,EVENTS:i})).then(function(e){function t(){var t=function(){if(o.match(W))return Promise.resolve(H({action:g$1({},s,{type:u+\"End\"}),data:{exact:p.after,namespaced:p.afterNS},state:c,allPlugins:a,allMatches:p,instance:n,store:r,EVENTS:i})).then(function(e){e.meta&&e.meta.hasCallback&&L$1(e.meta.rid,{payload:e});})}();return t&&t.then?t.then(function(){return e}):e}if(te(e,d.length))return e;var s,l=function(){if(o!==u)return Promise.resolve(H({action:g$1({},e,{type:u}),data:{exact:p.during,namespaced:p.duringNS},state:c,allPlugins:a,allMatches:p,instance:n,store:r,EVENTS:i})).then(function(e){s=e;});s=e;}();return l&&l.then?l.then(t):t()})}catch(e){return Promise.reject(e)}var m,h,v;}(o,t,e,i,n)).then(function(e){return u=1,a(e)})}();return Promise.resolve(P&&P.then?P.then(s):s(P))}catch(e){return Promise.reject(e)}}}}}function ue(e){return function(t){return function(t){return function(n){var r=n.type,i=n.key,a=n.value,o=n.options;if(r===z.setItem||r===z.removeItem){if(n.abort)return t(n);r===z.setItem?e.setItem(i,a,o):e.removeItem(i,o);}return t(n)}}}}var ce=function(){var e=this;this.before=[],this.after=[],this.addMiddleware=function(t,n){e[n]=e[n].concat(t);},this.removeMiddleware=function(t,n){var r=e[n].findIndex(function(e){return e===t});-1!==r&&(e[n]=[].concat(e[n].slice(0,r),e[n].slice(r+1)));},this.dynamicMiddlewares=function(t){return function(n){return function(r){return function(i){var a={getState:n.getState,dispatch:function(e){return n.dispatch(e)}},o=e[t].map(function(e){return e(a)});return P.apply(void 0,o)(r)(i)}}}};};function se(e){return function(t,n){void 0===t&&(t={});var r={};if(\"initialize:aborted\"===n.type)return t;if(/^registerPlugin:([^:]*)$/.test(n.type)){var i=le(n.type,\"registerPlugin\"),a=e()[i];if(!a||!i)return t;var o=n.enabled,u=a.config;return r[i]={enabled:o,initialized:!!o&&Boolean(!a.initialize),loaded:!!o&&Boolean(a.loaded({config:u})),config:u},g$1({},t,r)}if(/^initialize:([^:]*)$/.test(n.type)){var c=le(n.type,z.initialize),s=e()[c];return s&&c?(r[c]=g$1({},t[c],{initialized:!0,loaded:Boolean(s.loaded({config:s.config}))}),g$1({},t,r)):t}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=g$1({},t[n.name],{loaded:!0}),g$1({},t,r);switch(n.type){case z.disablePlugin:return g$1({},t,fe(n.plugins,!1,t));case z.enablePlugin:return g$1({},t,fe(n.plugins,!0,t));default:return t}}}function le(e,t){return e.substring(t.length+1,e.length)}function fe(e,t,n){return e.reduce(function(e,r){return e[r]=g$1({},n[r],{enabled:t}),e},n)}function de(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var pe={last:{},history:[]};function me(e,t){void 0===e&&(e=pe);var n=t.options,r=t.meta;if(t.type===z.track){var i=de(g$1({event:t.event,properties:t.properties},Object.keys(n).length&&{options:n},{meta:r}));return g$1({},e,{last:i,history:e.history.concat(i)})}return e}var ge={actions:[]};function he(e,t){void 0===e&&(e=ge);var n=t.payload;switch(t.type){case\"queue\":var r;return r=n&&n.type&&n.type===z.identify?[t].concat(e.actions):e.actions.concat(t),g$1({},e,{actions:r});case\"dequeue\":return [];default:return e}}var ve=/#.*$/;function ye(e){var t=/(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g.exec(e);return \"/\"+(t&&t[3]?t[3].split(\"?\")[0].replace(ve,\"\"):\"\")}var be,Ie=function(e){if(void 0===e&&(e={}),!$$1)return e;var t=document,n=t.title,r=t.referrer,i=window,a=i.location,o=i.innerWidth,u=i.innerHeight,c=a.hash,s=a.search,l=function(e){var t=function(){if($$1)for(var e,t=document.getElementsByTagName(\"link\"),n=0;e=t[n];n++)if(\"canonical\"===e.getAttribute(\"rel\"))return e.getAttribute(\"href\")}();return t?t.match(/\\?/)?t:t+e:window.location.href.replace(ve,\"\")}(s),f={title:n,url:l,path:ye(l),hash:c,search:s,width:o,height:u};return r&&\"\"!==r&&(f.referrer=r),g$1({},f,e)},we={last:{},history:[]};function Ee(e,t){void 0===e&&(e=we);var n=t.options;if(t.type===z.page){var r=de(g$1({properties:t.properties,meta:t.meta},Object.keys(n).length&&{options:n}));return g$1({},e,{last:r,history:e.history.concat(r)})}return e}be={};var Pe={initialized:!1,sessionId:y$1(),app:null,version:null,debug:!1,offline:!!$$1&&!navigator.onLine,os:{name:\"na\"},userAgent:$$1?navigator.userAgent:\"node\",library:{name:\"analytics\",version:\"0.12.14\"},timezone:void 0,locale:void 0,campaign:{},referrer:be};function Se(e,t){void 0===e&&(e=Pe);var n=e.initialized,r=t.campaign;switch(t.type){case z.campaign:return g$1({},e,{campaign:r});case z.offline:return g$1({},e,{offline:!0});case z.online:return g$1({},e,{offline:!1});default:return n?e:g$1({},Pe,e,{initialized:!0})}}var Ne=[\"plugins\",\"reducers\",\"storage\"];function Ae(){return f(\"analytics\",[]),function(e){return function(t,n$1,r){var i=e(t,n$1,r),a=i.dispatch;return Object.assign(i,{dispatch:function(e){return n[o].analytics.push(e.action||e),a(e)}})}}}function _e(e){return function(){return P(P.apply(null,arguments),Ae())}}function Oe(e){return e?rn(e)?e:[e]:[]}function je(t,n,r){void 0===t&&(t={});var i,a,o=y$1();return n&&(B[o]=(i=n,a=function(e){for(var t,n=e||Array.prototype.slice.call(arguments),r=0;r<n.length;r++)if(W$1(n[r])){t=n[r];break}return t}(r),function(e){a&&a(e),i(e);})),g$1({},t,{rid:o,ts:(new Date).getTime()},n?{hasCallback:!0}:{})}function ke(o){void 0===o&&(o={});var u=o.reducers||{},s$1=o.initialUser||{},f$1=(o.plugins||[]).reduce(function(e,t){if(W$1(t))return e.middlewares=e.middlewares.concat(t),e;if(t.NAMESPACE&&(t.name=t.NAMESPACE),!t.name)throw new Error(\"https://lytics.dev/errors/1\");t.config||(t.config={});var n=t.EVENTS?Object.keys(t.EVENTS).map(function(e){return t.EVENTS[e]}):[];e.pluginEnabled[t.name]=!(!1===t.enabled||!1===t.config.enabled),delete t.enabled,t.methods&&(e.methods[t.name]=Object.keys(t.methods).reduce(function(e,n){var r;return e[n]=(r=t.methods[n],function(){for(var e=Array.prototype.slice.call(arguments),t=new Array(r.length),n=0;n<e.length;n++)t[n]=e[n];return t[t.length]=K,r.apply({instance:K},t)}),e},{}),delete t.methods);var r=Object.keys(t).concat(n),i=new Set(e.events.concat(r));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(t),e.plugins[t.name])throw new Error(t.name+\"AlreadyLoaded\");return e.plugins[t.name]=t,e.plugins[t.name].loaded||(e.plugins[t.name].loaded=function(){return !0}),e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),m=o.storage?o.storage:{getItem:a$2,setItem:f,removeItem:i$2},b=function(e){return function(t,n,i){return n.getState(\"user\")[t]||(i&&on(i)&&i[t]?i[t]:R(e)[t]||a$2($(t))||null)}}(m),I=f$1.plugins,A=f$1.events.filter(function(e){return !T.includes(e)}).sort(),_=new Set(A.concat(x$1).filter(function(e){return !T.includes(e)})),O=Array.from(_).sort(),M=function(){return I},q=new ce,V=q.addMiddleware,B=q.removeMiddleware,L=q.dynamicMiddlewares,J=function(){throw new Error(\"Abort disabled inListener\")},X=s(),H=R(m),W=g$1({},H,s$1,X.an_uid?{userId:X.an_uid}:{},X.an_aid?{anonymousId:X.an_aid}:{});W.anonymousId||(W.anonymousId=y$1());var F=g$1({enable:function(e,t){return new Promise(function(n){le.dispatch({type:z.enablePlugin,plugins:Oe(e),_:{originalAction:z.enablePlugin}},n,[t]);})},disable:function(e,t){return new Promise(function(n){le.dispatch({type:z.disablePlugin,plugins:Oe(e),_:{originalAction:z.disablePlugin}},n,[t]);})}},f$1.methods),G=!1,K={identify:function(e,t,n,r){try{var i=q$1(e)?e:null,o=on(e)?e:t,u=n||{},s=K.user();f($(j),i);var l=i||o.userId||b(j,K,o);return Promise.resolve(new Promise(function(e){le.dispatch(g$1({type:z.identifyStart,userId:l,traits:o||{},options:u,anonymousId:s.anonymousId},s.id&&s.id!==i&&{previousId:s.id}),e,[t,n,r]);}))}catch(e){return Promise.reject(e)}},track:function(e,t,n,r){try{var i=on(e)?e.event:e;if(!i||!q$1(i))throw new Error(\"EventMissing\");var a=on(e)?e:t||{},o=on(n)?n:{};return Promise.resolve(new Promise(function(e){le.dispatch({type:z.trackStart,event:i,properties:a,options:o,userId:b(j,K,t),anonymousId:b(k$1,K,t)},e,[t,n,r]);}))}catch(e){return Promise.reject(e)}},page:function(e,t,n){try{var r=on(e)?e:{},i=on(t)?t:{};return Promise.resolve(new Promise(function(a){le.dispatch({type:z.pageStart,properties:Ie(r),options:i,userId:b(j,K,r),anonymousId:b(k$1,K,r)},a,[e,t,n]);}))}catch(e){return Promise.reject(e)}},user:function(e){if(e===j||\"id\"===e)return b(j,K);if(e===k$1||\"anonId\"===e)return b(k$1,K);var t=K.getState(\"user\");return e?n$2(t,e):t},reset:function(e){return new Promise(function(t){le.dispatch({type:z.resetStart},t,e);})},ready:function(e){return G&&e({plugins:F,instance:K}),K.on(z.ready,function(t){e(t),G=!0;})},on:function(e,t){if(!e||!W$1(t))return !1;if(e===z.bootstrap)throw new Error(\".on disabled for \"+e);var n=/Start$|Start:/;if(\"*\"===e){var r=function(e){return function(e){return function(r){return r.type.match(n)&&t({payload:r,instance:K,plugins:I}),e(r)}}},i=function(e){return function(e){return function(r){return r.type.match(n)||t({payload:r,instance:K,plugins:I}),e(r)}}};return V(r,xe),V(i,Te),function(){B(r,xe),B(i,Te);}}var a=e.match(n)?xe:Te,o=function(n){return function(n){return function(r){return r.type===e&&t({payload:r,instance:K,plugins:I,abort:J}),n(r)}}};return V(o,a),function(){return B(o,a)}},once:function(e,t){if(!e||!W$1(t))return !1;if(e===z.bootstrap)throw new Error(\".once disabled for \"+e);var n=K.on(e,function(e){t({payload:e.payload,instance:K,plugins:I,abort:J}),n();});return n},getState:function(e){var t=le.getState();return e?n$2(t,e):Object.assign({},t)},dispatch:function(e){var t=q$1(e)?{type:e}:e;if(x$1.includes(t.type))throw new Error(\"reserved action \"+t.type);var n=g$1({},t,{_:g$1({originalAction:t.type},e._||{})});le.dispatch(n);},enablePlugin:F.enable,disablePlugin:F.disable,plugins:F,storage:{getItem:m.getItem,setItem:function(e,t,n){le.dispatch({type:z.setItemStart,key:e,value:t,options:n});},removeItem:function(e,t){le.dispatch({type:z.removeItemStart,key:e,options:t});}},setAnonymousId:function(e,t){K.storage.setItem(N$1,e,t);},events:{core:x$1,plugins:A}},Q=f$1.middlewares.concat([function(e){return function(e){return function(t){return t.meta||(t.meta=je()),e(t)}}},L(xe),oe(K,M,{all:O,plugins:A}),ue(m),C$1(K),D(K),L(Te)]),Y={context:Se,user:U(m),page:Ee,track:me,plugins:se(M),queue:he},Z=P,ee=P;if($$1&&o.debug){var te=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;te&&(Z=te({trace:!0,traceLimit:25})),ee=function(){return 0===arguments.length?Ae():on(typeof arguments[0])?_e():_e().apply(null,arguments)};}var ne,re=function(e){return Object.keys(e).reduce(function(t,n){return Ne.includes(n)||(t[n]=e[n]),t},{})}(o),ie=f$1.pluginsArray.reduce(function(e,t){var n=t.name,r=t.config,i=t.loaded,a=f$1.pluginEnabled[n];return e[n]={enabled:a,initialized:!!a&&Boolean(!t.initialize),loaded:Boolean(i({config:r})),config:r},e},{}),ae={context:re,user:W,plugins:ie},le=w(function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var i=t[r];typeof e[i]===h$1&&(n[i]=e[i]);}var a,o=Object.keys(n);try{!function(e){Object.keys(e).forEach(function(t){var n=e[t];if(typeof n(void 0,{type:\"@@redux/INIT\"})===v||typeof n(void 0,{type:y})===v)throw new Error(\"reducer \"+t+\" \"+v)});}(n);}catch(e){a=e;}return function(e,t){if(void 0===e&&(e={}),a)throw a;for(var r=!1,i={},u=0;u<o.length;u++){var c=o[u],s=e[c],l=(0, n[c])(s,t);if(typeof l===v){var f=E$1(c,t);throw new Error(f)}i[c]=l,r=r||l!==s;}return r?i:e}}(g$1({},Y,u)),ae,ee(Z(S.apply(void 0,Q))));le.dispatch=(ne=le.dispatch,function(e,t,n){var r=g$1({},e,{meta:je(e.meta,t,Oe(n))});return ne.apply(null,[r])});var fe=Object.keys(I);le.dispatch({type:z.bootstrap,plugins:fe,config:re,params:X,user:W,initialUser:s$1,persistedUser:H});var de=fe.filter(function(e){return f$1.pluginEnabled[e]}),pe=fe.filter(function(e){return !f$1.pluginEnabled[e]});return le.dispatch({type:z.registerPlugins,plugins:fe,enabled:f$1.pluginEnabled}),f$1.pluginsArray.map(function(e,t){var n=e.bootstrap,r=e.config,i=e.name;n&&W$1(n)&&n({instance:K,config:r,payload:e}),le.dispatch({type:z.registerPluginType(i),name:i,enabled:f$1.pluginEnabled[i],plugin:e}),f$1.pluginsArray.length===t+1&&le.dispatch({type:z.initializeStart,plugins:de,disabled:pe});}),K}var xe=\"before\",Te=\"after\";\n\nvar t=\"cookie\",i$1=a$1(),r$1=d$1,c=d$1;function u(o){return i$1?d$1(o,\"\",-1):i$2(o)}function a$1(){if(void 0!==i$1)return i$1;var e=\"cookiecookie\";try{d$1(e,e),i$1=-1!==document.cookie.indexOf(e),u(e);}catch(e){i$1=!1;}return i$1}function d$1(e,t,r,c,u,a){if(\"undefined\"!=typeof window){var d=arguments.length>1;return !1===i$1&&(d?f(e,t):a$2(e)),d?document.cookie=e+\"=\"+encodeURIComponent(t)+(r?\"; expires=\"+new Date(+new Date+1e3*r).toUTCString()+(c?\"; path=\"+c:\"\")+(u?\"; domain=\"+u:\"\")+(a?\"; secure\":\"\"):\"\"):decodeURIComponent(((\"; \"+document.cookie).split(\"; \"+e+\"=\")[1]||\"\").split(\";\")[0])}}\n\nvar r=\"localStorage\",g=b$2.bind(null,\"localStorage\");u$1(\"localStorage\",\"getItem\",a$2);u$1(\"localStorage\",\"setItem\",f);u$1(\"localStorage\",\"removeItem\",i$2);\n\nvar a=\"sessionStorage\",i=b$2.bind(null,\"sessionStorage\");u$1(\"sessionStorage\",\"getItem\",a$2);u$1(\"sessionStorage\",\"setItem\",f);u$1(\"sessionStorage\",\"removeItem\",i$2);\n\nfunction I(t){var o=t;try{if(\"true\"===(o=JSON.parse(t)))return !0;if(\"false\"===o)return !1;if(on(o))return o;parseFloat(o)===o&&(o=parseFloat(o));}catch(t){}if(null!==o&&\"\"!==o)return o}var k=g(),O=i(),x=a$1();function C(o,e){if(o){var r=A(e),a=!N(r),i=d(r)?I(localStorage.getItem(o)):void 0;if(a&&!I$2(i))return i;var n=h(r)?I(r$1(o)):void 0;if(a&&n)return n;var l=E(r)?I(sessionStorage.getItem(o)):void 0;if(a&&l)return l;var u=a$2(o);return a?u:{localStorage:i,sessionStorage:l,cookie:n,global:u}}}function L(r$2,a$1,l$1){if(r$2&&!I$2(a$1)){var u={},g=A(l$1),m=JSON.stringify(a$1),S=!N(g);return d(g)&&(u[r]=F(r,a$1,I(localStorage.getItem(r$2))),localStorage.setItem(r$2,m),S)?u[r]:h(g)&&(u[t]=F(t,a$1,I(r$1(r$2))),c(r$2,m),S)?u[t]:E(g)&&(u[a]=F(a,a$1,I(sessionStorage.getItem(r$2))),sessionStorage.setItem(r$2,m),S)?u[a]:(u[l]=F(l,a$1,a$2(r$2)),f(r$2,a$1),S?u[l]:u)}}function b(t$1,e){if(t$1){var a$1=A(e),s=C(t$1,m$1),n={};return !I$2(s.localStorage)&&d(a$1)&&(localStorage.removeItem(t$1),n[r]=s.localStorage),!I$2(s.cookie)&&h(a$1)&&(u(t$1),n[t]=s.cookie),!I$2(s.sessionStorage)&&E(a$1)&&(sessionStorage.removeItem(t$1),n[a]=s.sessionStorage),!I$2(s.global)&&G(a$1,l)&&(i$2(t$1),n[l]=s.global),n}}function A(t){return t?q$1(t)?t:t.storage:b$3}function d(t){return k&&G(t,r)}function h(t$1){return x&&G(t$1,t)}function E(t){return O&&G(t,a)}function N(t){return t===m$1||\"all\"===t}function G(t,o){return t===b$3||t===o||N(t)}function F(t,o,e){return {location:t,current:o,previous:e}}var J={setItem:L,getItem:C,removeItem:b};\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction analyticsLib() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaultSettings = {\n storage: J\n };\n return ke(_objectSpread2(_objectSpread2({}, defaultSettings), opts));\n}\n\nfunction findScript(src) {\n const scripts = Array.prototype.slice.call(window.document.querySelectorAll(\"script\"));\n return scripts.find(s => s.src === src);\n}\nfunction buildScriptSrc(src, options) {\n let result = src;\n if (!result.startsWith(\"http\")) {\n result = `https://${(options === null || options === void 0 ? void 0 : options.www) ? \"www.\" : \"\"}${result}`;\n }\n if (options === null || options === void 0 ? void 0 : options.min) {\n result = result + \".min.js\";\n }\n else if (options === null || options === void 0 ? void 0 : options.js) {\n result = result + \".js\";\n }\n if (options === null || options === void 0 ? void 0 : options.query) {\n result += \"?\" + options.query;\n }\n return result;\n}\nfunction loadScript(src, options) {\n const found = findScript(src);\n if (found !== undefined) {\n const status = found === null || found === void 0 ? void 0 : found.getAttribute(\"status\");\n if (status === \"loaded\") {\n return Promise.resolve(found);\n }\n if (status === \"loading\") {\n return new Promise((resolve, reject) => {\n found.addEventListener(\"load\", () => resolve(found));\n found.addEventListener(\"error\", err => reject(err));\n });\n }\n }\n return new Promise((resolve, reject) => {\n var _a, _b;\n const script = window.document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = buildScriptSrc(src, options);\n script.async = true;\n script.setAttribute(\"status\", \"loading\");\n for (const [k, v] of Object.entries((_a = options === null || options === void 0 ? void 0 : options.attributes) !== null && _a !== void 0 ? _a : {})) {\n script.setAttribute(k, v);\n }\n script.onload = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"loaded\");\n resolve(script);\n };\n script.onerror = () => {\n script.onerror = script.onload = null;\n script.setAttribute(\"status\", \"error\");\n reject(new Error(`Failed to load ${src}`));\n };\n const tag = window.document.getElementsByTagName(\"script\")[0];\n (_b = tag.parentElement) === null || _b === void 0 ? void 0 : _b.insertBefore(script, tag);\n });\n}\n\nvar __awaiter$5 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst tagPlugin = {\n id: \"tag\",\n handle(config, payload) {\n return __awaiter$5(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n insertTags(config.code, payload);\n });\n },\n};\nfunction insertTags(code, event, opts = {}) {\n let tag;\n try {\n tag = JSON.parse(code);\n }\n catch (e) {\n tag = { code, lang: \"javascript\" };\n }\n const debug = opts.debug || false;\n if (isInBrowser()) {\n if (tag.lang === \"javascript\") {\n execJs(tag.code, event);\n }\n else {\n const codeHolder = document.createElement(\"span\");\n codeHolder.innerHTML = replaceMacro(tag.code, event);\n document.body.insertAdjacentElement(\"beforeend\", codeHolder);\n const scripts = codeHolder.querySelectorAll(\"script\");\n scripts.forEach(script => {\n const scriptClone = document.createElement(\"script\");\n scriptClone.type = scriptClone.type || \"text/javascript\";\n if (script.hasAttribute(\"src\")) {\n scriptClone.src = script.src;\n }\n scriptClone.text = script.text;\n if (debug) {\n console.log(`[JITSU] Executing script${script.hasAttribute(\"src\") ? ` ${script.src}` : \"\"}`, scriptClone.text);\n }\n document.head.appendChild(scriptClone);\n document.head.removeChild(scriptClone);\n });\n }\n }\n else {\n if (debug) {\n console.log(`[JITSU] insertTags(): cannot insert tags in non-browser environment`);\n }\n }\n}\n//This weird code is used to mask eval() usage.\n//Although the code can be executed in the browser, some server side bundlers (like Vercel) fails\n//the build if a direct reference to eval() is found.\nlet al = \"al\";\nlet ev = \"ve\".split(\"\").reverse().join(\"\");\nconst execF = globalThis[ev + al];\nfunction execJs(code, event) {\n const varName = `jitsu_event_${randomId()}`;\n window[varName] = event;\n const iif = `(function(){\n const event = ${varName};\n ${code}\n })()`;\n try {\n execF(iif);\n }\n catch (e) {\n console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `, iif);\n }\n finally {\n delete window[varName];\n }\n return iif;\n}\nfunction replaceMacro(code, event) {\n return code.replace(/{{\\s*event\\s*}}/g, JSON.stringify(event));\n}\n\nvar __awaiter$4 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst cdn = \"cdn.lr-ingest.io/\";\nconst logrocketPlugin = {\n id: \"logrocket\",\n handle(config, payload) {\n return __awaiter$4(this, void 0, void 0, function* () {\n if (!applyFilters(payload, config)) {\n return;\n }\n initLogrocketIfNeeded(config.appId);\n const action = logRocket => {\n if (payload.type === \"identify\" && payload.userId) {\n logRocket.identify(payload.userId, payload.traits || {});\n }\n };\n getLogRocketQueue().push(action);\n if (getLogRocketState() === \"loaded\") {\n flushLogRocketQueue(window[\"LogRocket\"]);\n }\n });\n },\n};\nfunction getLogRocketState() {\n return window[\"__jitsuLrState\"] || \"fresh\";\n}\nfunction setLogRocketState(s) {\n window[\"__jitsuLrState\"] = s;\n}\nfunction getLogRocketQueue() {\n return window[\"__jitsuLrQueue\"] || (window[\"__jitsuLrQueue\"] = []);\n}\nfunction flushLogRocketQueue(lr) {\n const queue = getLogRocketQueue();\n while (queue.length > 0) {\n const method = queue.shift();\n try {\n const res = method(lr);\n if (res) {\n res.catch(e => console.warn(`Async LogRocket method failed: ${e.message}`, e));\n }\n }\n catch (e) {\n console.warn(`LogRocket method failed: ${e.message}`, e);\n }\n }\n}\nfunction initLogrocketIfNeeded(appId) {\n return __awaiter$4(this, void 0, void 0, function* () {\n if (getLogRocketState() !== \"fresh\") {\n return;\n }\n setLogRocketState(\"loading\");\n loadScript(`${cdn}LogRocket`, { min: true, attributes: { crossOrigin: \"anonymous\" } })\n .then(() => {\n if (window[\"LogRocket\"]) {\n try {\n window[\"LogRocket\"].init(appId);\n }\n catch (e) {\n console.warn(`LogRocket (id=${appId}) init failed: ${e.message}`, e);\n setLogRocketState(\"failed\");\n }\n setLogRocketState(\"loaded\");\n flushLogRocketQueue(window[\"LogRocket\"]);\n }\n })\n .catch(e => {\n console.warn(`LogRocket (id=${appId}) init failed: ${e.message}`, e);\n setLogRocketState(\"failed\");\n });\n });\n}\n\nvar __awaiter$3 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nfunction omit(obj, ...keys) {\n return Object.fromEntries(Object.entries(obj).filter(([k]) => !keys.includes(k)));\n}\nconst gtmPlugin = {\n id: \"gtm\",\n handle(config, payload) {\n return __awaiter$3(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;\n const debug = !!config.debug;\n if (!applyFilters(payload, config)) {\n return;\n }\n yield initGtmIfNeeded(config, payload);\n const dataLayer = window[config.dataLayerName || \"dataLayer\"];\n //traits could be in both nodes, context.traits takes precedence\n const traits = Object.assign(Object.assign({}, ((payload === null || payload === void 0 ? void 0 : payload.traits) || {})), (((_a = payload === null || payload === void 0 ? void 0 : payload.context) === null || _a === void 0 ? void 0 : _a.traits) || {}));\n //remove properties that defined separately\n const idsFromTraits = omit(traits, \"id\", \"userId\", \"user_id\", \"anonymousId\", \"userId\");\n if (debug) {\n console.debug(\"GTM plugin will be applied to following payload\", payload);\n }\n // See https://developers.google.com/tag-platform/tag-manager/server-side/common-event-data\n const userData = {\n email_address: traits.email,\n };\n const ids = Object.assign(Object.assign(Object.assign(Object.assign({}, (payload.userId ? { user_id: payload.userId, userId: payload.userId } : {})), (payload.anonymousId ? { anonymousId: payload.anonymousId } : {})), idsFromTraits), { user_data: Object.keys(userData).length > 0 ? userData : undefined });\n if (debug) {\n console.debug(\"GTM plugin will set following user-related data layer vars\", ids);\n }\n const pageProperties = payload.properties || {};\n const pageVariables = {\n page_location: pageProperties.url || ((_c = (_b = payload.context) === null || _b === void 0 ? void 0 : _b.page) === null || _c === void 0 ? void 0 : _c.url),\n page_title: pageProperties.title || ((_e = (_d = payload.context) === null || _d === void 0 ? void 0 : _d.page) === null || _e === void 0 ? void 0 : _e.title),\n page_path: pageProperties.path || ((_g = (_f = payload.context) === null || _f === void 0 ? void 0 : _f.page) === null || _g === void 0 ? void 0 : _g.path),\n page_hash: pageProperties.hash || ((_j = (_h = payload.context) === null || _h === void 0 ? void 0 : _h.page) === null || _j === void 0 ? void 0 : _j.hash),\n page_search: pageProperties.search || ((_l = (_k = payload.context) === null || _k === void 0 ? void 0 : _k.page) === null || _l === void 0 ? void 0 : _l.search),\n page_referrer: (_p = (_o = (_m = payload === null || payload === void 0 ? void 0 : payload.context) === null || _m === void 0 ? void 0 : _m.page) === null || _o === void 0 ? void 0 : _o.referrer) !== null && _p !== void 0 ? _p : \"\",\n };\n if (debug) {\n console.debug(\"GTM plugin will set following context (page) related data layer vars\", ids);\n }\n const pushToDataLayer = (data) => {\n dataLayer.push(data);\n if (debug) {\n console.debug(\"GTM plugin will push following data to dataLayer\", data);\n }\n };\n switch (payload.type) {\n case \"page\":\n const pageEvent = Object.assign(Object.assign({ event: \"page_view\" }, pageVariables), ids);\n pushToDataLayer(pageEvent);\n break;\n case \"track\":\n const { properties: trackProperties } = payload;\n const trackEvent = Object.assign(Object.assign(Object.assign({ event: payload.event }, pageVariables), trackProperties), ids);\n pushToDataLayer(trackEvent);\n break;\n case \"identify\":\n const { traits } = payload;\n const identifyEvent = Object.assign(Object.assign(Object.assign({ event: \"identify\" }, pageVariables), traits), ids);\n pushToDataLayer(identifyEvent);\n break;\n }\n dataLayer.push(function () {\n this.reset();\n });\n });\n },\n};\nfunction getGtmState() {\n return window[\"__jitsuGtmState\"] || \"fresh\";\n}\nfunction setGtmState(s) {\n window[\"__jitsuGtmState\"] = s;\n}\nfunction initGtmIfNeeded(config, payload) {\n return __awaiter$3(this, void 0, void 0, function* () {\n if (getGtmState() !== \"fresh\") {\n return;\n }\n setGtmState(\"loading\");\n const dlName = config.dataLayerName || \"dataLayer\";\n const tagId = config.containerId;\n (function (w, l, i) {\n w[l] = w[l] || [];\n w[l].push({\n user_id: payload.userId,\n });\n w[l].push({\n \"gtm.start\": new Date().getTime(),\n event: \"gtm.js\",\n });\n const dl = l != \"dataLayer\" ? \"&l=\" + l : \"\";\n const scriptSrc = \"googletagmanager.com/gtm\";\n loadScript(scriptSrc, { www: true, js: true, query: \"id=\" + i + dl })\n .then(() => {\n setGtmState(\"loaded\");\n })\n .catch(e => {\n console.warn(`GTM (containerId=${tagId}) init failed: ${e.message}`, e);\n setGtmState(\"failed\");\n });\n })(window, dlName, tagId);\n });\n}\n\nvar __awaiter$2 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst urlData = [\n new Uint8Array([109, 111, 99, 46, 114, 101, 103, 97, 110, 97, 109, 103, 97, 116, 101, 108, 103, 111, 111, 103]),\n new Uint8Array([103, 97, 116, 103]),\n new Uint8Array([115, 106]),\n];\nfunction byteArrayToString(byteArray) {\n const decoder = new TextDecoder();\n return decoder.decode(byteArray);\n}\nfunction buildTagUrl() {\n return urlData\n .map(d => d.reverse())\n .map(byteArrayToString)\n .join(\"/\");\n}\nconst ga4Plugin = {\n id: \"ga4-tag\",\n handle(config, payload) {\n return __awaiter$2(this, void 0, void 0, function* () {\n var _a, _b;\n if (!applyFilters(payload, config)) {\n return;\n }\n yield initGa4IfNeeded(config, payload);\n const dataLayer = window[config.dataLayerName || \"dataLayer\"];\n const gtag = function () {\n dataLayer.push(arguments);\n };\n const ids = Object.assign(Object.assign({}, (payload.userId ? { user_id: payload.userId, userId: payload.userId } : {})), (payload.anonymousId ? { anonymousId: payload.anonymousId } : {}));\n if (payload.userId) {\n // @ts-ignore\n gtag(\"set\", { user_id: payload.userId });\n }\n switch (payload.type) {\n case \"page\":\n if (config.autoPageView) {\n console.log(\"autoPageView\");\n break;\n }\n const { properties: pageProperties, context } = payload;\n const pageEvent = Object.assign({ page_location: pageProperties.url, page_title: pageProperties.title, page_path: pageProperties.path, page_hash: pageProperties.hash, page_search: pageProperties.search, page_referrer: (_b = (_a = context === null || context === void 0 ? void 0 : context.page) === null || _a === void 0 ? void 0 : _a.referrer) !== null && _b !== void 0 ? _b : \"\" }, ids);\n // @ts-ignore\n gtag(\"event\", \"page_view\", pageEvent);\n break;\n case \"track\":\n const { properties: trackProperties } = payload;\n const trackEvent = Object.assign(Object.assign({}, trackProperties), ids);\n // @ts-ignore\n gtag(\"event\", payload.event, trackEvent);\n break;\n case \"identify\":\n const { traits } = payload;\n const identifyEvent = Object.assign(Object.assign({}, traits), ids);\n // @ts-ignore\n gtag(\"event\", \"identify\", identifyEvent);\n break;\n }\n });\n },\n};\nfunction getGa4State() {\n return window[\"__jitsuGa4State\"] || \"fresh\";\n}\nfunction setGa4State(s) {\n window[\"__jitsuGa4State\"] = s;\n}\nfunction initGa4IfNeeded(config, payload) {\n return __awaiter$2(this, void 0, void 0, function* () {\n if (getGa4State() !== \"fresh\") {\n return;\n }\n setGa4State(\"loading\");\n const dlName = config.dataLayerName || \"dataLayer\";\n const dlParam = dlName !== \"dataLayer\" ? \"&l=\" + dlName : \"\";\n // to work with both GA4 and GTM\n const tagId = config.measurementIds;\n window[dlName] = window[dlName] || [];\n const gtag = function () {\n window[dlName].push(arguments);\n };\n // @ts-ignore\n gtag(\"js\", new Date());\n gtag(\n // @ts-ignore\n \"config\", tagId, Object.assign(Object.assign({}, (payload.userId ? { user_id: payload.userId } : {})), (!config.autoPageView ? { send_page_view: false } : {})));\n loadScript(buildTagUrl(), { query: `id=${tagId}${dlParam}`, www: true })\n .then(() => {\n setGa4State(\"loaded\");\n })\n .catch(e => {\n console.warn(`GA4 (containerId=${config.measurementIds}) init failed: ${e.message}`, e);\n setGa4State(\"failed\");\n });\n });\n}\n\nfunction satisfyFilter(filter, subject) {\n return filter === \"*\" || filter.toLowerCase().trim() === (subject || \"\").trim().toLowerCase();\n}\nfunction satisfyDomainFilter(filter, subject) {\n if (filter === \"*\") {\n return true;\n }\n subject = subject || \"\";\n if (filter.startsWith(\"*.\")) {\n return subject.endsWith(filter.substring(1));\n }\n else {\n return filter === subject;\n }\n}\nfunction applyFilters(event, creds) {\n const { hosts = \"*\", events = \"*\" } = creds;\n try {\n const eventsArray = Array.isArray(events) ? events : events.split(\"\\n\");\n const hostsArray = Array.isArray(hosts) ? hosts : hosts.split(\"\\n\");\n return (!!hostsArray.find(hostFilter => { var _a, _b; return satisfyDomainFilter(hostFilter, (_b = (_a = event.context) === null || _a === void 0 ? void 0 : _a.page) === null || _b === void 0 ? void 0 : _b.host); }) &&\n (!!eventsArray.find(eventFilter => satisfyFilter(eventFilter, event.type)) ||\n !!eventsArray.find(eventFilter => satisfyFilter(eventFilter, event.event))));\n }\n catch (e) {\n console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof events}, typeof hosts: ${typeof hosts}. Values`, events, hosts);\n throw new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof events}, typeof hosts: ${typeof hosts}`);\n }\n}\nconst internalDestinationPlugins = {\n [tagPlugin.id]: tagPlugin,\n [gtmPlugin.id]: gtmPlugin,\n [ga4Plugin.id]: ga4Plugin,\n [logrocketPlugin.id]: logrocketPlugin,\n};\n\nconst jitsuVersion = \"2.0.0\";\nconst jitsuLibraryName = \"@jitsu/js\";\n\nconst publicSuffixes = \"myshopify.com,ac,com.ac,edu.ac,gov.ac,net.ac,mil.ac,org.ac,ad,nom.ad,ae,co.ae,net.ae,org.ae,sch.ae,ac.ae,gov.ae,mil.ae,aero,af,gov.af,com.af,org.af,net.af,edu.af,ag,com.ag,org.ag,net.ag,co.ag,nom.ag,ai,off.ai,com.ai,net.ai,org.ai,al,com.al,edu.al,gov.al,mil.al,net.al,org.al,am,co.am,com.am,commune.am,net.am,org.am,ao,ed.ao,gv.ao,og.ao,co.ao,pb.ao,it.ao,aq,ar,bet.ar,com.ar,coop.ar,edu.ar,gob.ar,gov.ar,int.ar,mil.ar,musica.ar,mutual.ar,net.ar,org.ar,senasa.ar,tur.ar,arpa,e164.arpa,in-addr.arpa,ip6.arpa,iris.arpa,uri.arpa,urn.arpa,as,gov.as,asia,at,ac.at,co.at,gv.at,or.at,sth.ac.at,au,com.au,net.au,org.au,edu.au,gov.au,asn.au,id.au,act.au,nsw.au,nt.au,qld.au,sa.au,tas.au,vic.au,wa.au,aw,com.aw,ax,az,com.az,net.az,int.az,gov.az,org.az,edu.az,info.az,pp.az,mil.az,name.az,pro.az,biz.az,ba,com.ba,edu.ba,gov.ba,mil.ba,net.ba,org.ba,bb,biz.bb,co.bb,com.bb,edu.bb,gov.bb,info.bb,net.bb,org.bb,store.bb,tv.bb,bd,be,ac.be,bf,gov.bf,bg,a.bg,b.bg,c.bg,d.bg,e.bg,f.bg,g.bg,h.bg,i.bg,j.bg,k.bg,l.bg,m.bg,n.bg,o.bg,p.bg,q.bg,r.bg,s.bg,t.bg,u.bg,v.bg,w.bg,x.bg,y.bg,z.bg,0.bg,1.bg,2.bg,3.bg,4.bg,5.bg,6.bg,7.bg,8.bg,9.bg,bh,com.bh,edu.bh,net.bh,org.bh,gov.bh,bi,co.bi,com.bi,edu.bi,or.bi,org.bi,biz,bj,africa.bj,agro.bj,architectes.bj,assur.bj,avocats.bj,co.bj,com.bj,eco.bj,econo.bj,edu.bj,info.bj,loisirs.bj,money.bj,net.bj,org.bj,ote.bj,resto.bj,restaurant.bj,tourism.bj,univ.bj,bm,com.bm,edu.bm,gov.bm,net.bm,org.bm,bn,com.bn,edu.bn,gov.bn,net.bn,org.bn,bo,com.bo,edu.bo,gob.bo,int.bo,org.bo,net.bo,mil.bo,tv.bo,web.bo,br,9guacu.br,abc.br,adm.br,adv.br,agr.br,aju.br,am.br,anani.br,aparecida.br,app.br,arq.br,art.br,ato.br,b.br,barueri.br,belem.br,bhz.br,bib.br,bio.br,blog.br,bmd.br,boavista.br,bsb.br,campinagrande.br,campinas.br,caxias.br,cim.br,cng.br,cnt.br,com.br,contagem.br,coop.br,coz.br,cri.br,cuiaba.br,curitiba.br,def.br,des.br,det.br,dev.br,ecn.br,eco.br,edu.br,emp.br,enf.br,eng.br,esp.br,etc.br,eti.br,far.br,feira.br,flog.br,floripa.br,fm.br,fnd.br,fortal.br,fot.br,foz.br,fst.br,g12.br,geo.br,ggf.br,goiania.br,gov.br,gru.br,imb.br,ind.br,inf.br,jab.br,jampa.br,jdf.br,joinville.br,jor.br,jus.br,leg.br,lel.br,log.br,londrina.br,macapa.br,maceio.br,manaus.br,maringa.br,mat.br,med.br,mil.br,morena.br,mp.br,mus.br,natal.br,net.br,niteroi.br,nom.br,not.br,ntr.br,odo.br,ong.br,org.br,osasco.br,palmas.br,poa.br,ppg.br,pro.br,psc.br,psi.br,pvh.br,qsl.br,radio.br,rec.br,recife.br,rep.br,ribeirao.br,rio.br,riobranco.br,riopreto.br,salvador.br,sampa.br,santamaria.br,santoandre.br,saobernardo.br,saogonca.br,seg.br,sjc.br,slg.br,slz.br,sorocaba.br,srv.br,taxi.br,tc.br,tec.br,teo.br,the.br,tmp.br,trd.br,tur.br,tv.br,udi.br,vet.br,vix.br,vlog.br,wiki.br,zlg.br,bs,com.bs,net.bs,org.bs,edu.bs,gov.bs,bt,com.bt,edu.bt,gov.bt,net.bt,org.bt,bv,bw,co.bw,org.bw,by,gov.by,mil.by,com.by,of.by,bz,com.bz,net.bz,org.bz,edu.bz,gov.bz,ca,ab.ca,bc.ca,mb.ca,nb.ca,nf.ca,nl.ca,ns.ca,nt.ca,nu.ca,on.ca,pe.ca,qc.ca,sk.ca,yk.ca,gc.ca,cat,cc,cd,gov.cd,cf,cg,ch,ci,org.ci,or.ci,com.ci,co.ci,edu.ci,ed.ci,ac.ci,net.ci,go.ci,asso.ci,a\u00E9roport.ci,int.ci,presse.ci,md.ci,gouv.ci,ck,cl,co.cl,gob.cl,gov.cl,mil.cl,cm,co.cm,com.cm,gov.cm,net.cm,cn,ac.cn,com.cn,edu.cn,gov.cn,net.cn,org.cn,mil.cn,co,arts.co,com.co,edu.co,firm.co,gov.co,info.co,int.co,mil.co,net.co,nom.co,org.co,rec.co,web.co,com,coop,cr,ac.cr,co.cr,ed.cr,fi.cr,go.cr,or.cr,sa.cr,cu,com.cu,edu.cu,org.cu,net.cu,gov.cu,inf.cu,cv,com.cv,edu.cv,int.cv,nome.cv,org.cv,cw,com.cw,edu.cw,net.cw,org.cw,cx,gov.cx,cy,ac.cy,biz.cy,com.cy,ekloges.cy,gov.cy,ltd.cy,mil.cy,net.cy,org.cy,press.cy,pro.cy,tm.cy,cz,de,dj,dk,dm,com.dm,net.dm,org.dm,edu.dm,gov.dm,do,art.do,com.do,edu.do,gob.do,gov.do,mil.do,net.do,org.do,sld.do,web.do,dz,art.dz,asso.dz,com.dz,edu.dz,gov.dz,org.dz,net.dz,pol.dz,soc.dz,tm.dz,ec,com.ec,info.ec,net.ec,fin.ec,k12.ec,med.ec,pro.ec,org.ec,edu.ec,gov.ec,gob.ec,mil.ec,edu,ee,edu.ee,gov.ee,riik.ee,lib.ee,med.ee,com.ee,pri.ee,aip.ee,org.ee,fie.ee,eg,com.eg,edu.eg,eun.eg,gov.eg,mil.eg,name.eg,net.eg,org.eg,sci.eg,er,es,com.es,nom.es,org.es,gob.es,edu.es,et,com.et,gov.et,org.et,edu.et,biz.et,name.et,info.et,net.et,eu,fi,aland.fi,fj,ac.fj,biz.fj,com.fj,gov.fj,info.fj,mil.fj,name.fj,net.fj,org.fj,pro.fj,fk,com.fm,edu.fm,net.fm,org.fm,fm,fo,fr,asso.fr,com.fr,gouv.fr,nom.fr,prd.fr,tm.fr,aeroport.fr,avocat.fr,avoues.fr,cci.fr,chambagri.fr,chirurgiens-dentistes.fr,experts-comptables.fr,geometre-expert.fr,greta.fr,huissier-justice.fr,medecin.fr,notaires.fr,pharmacien.fr,port.fr,veterinaire.fr,ga,gb,edu.gd,gov.gd,gd,ge,com.ge,edu.ge,gov.ge,org.ge,mil.ge,net.ge,pvt.ge,gf,gg,co.gg,net.gg,org.gg,gh,com.gh,edu.gh,gov.gh,org.gh,mil.gh,gi,com.gi,ltd.gi,gov.gi,mod.gi,edu.gi,org.gi,gl,co.gl,com.gl,edu.gl,net.gl,org.gl,gm,gn,ac.gn,com.gn,edu.gn,gov.gn,org.gn,net.gn,gov,gp,com.gp,net.gp,mobi.gp,edu.gp,org.gp,asso.gp,gq,gr,com.gr,edu.gr,net.gr,org.gr,gov.gr,gs,gt,com.gt,edu.gt,gob.gt,ind.gt,mil.gt,net.gt,org.gt,gu,com.gu,edu.gu,gov.gu,guam.gu,info.gu,net.gu,org.gu,web.gu,gw,gy,co.gy,com.gy,edu.gy,gov.gy,net.gy,org.gy,hk,com.hk,edu.hk,gov.hk,idv.hk,net.hk,org.hk,hm,hn,com.hn,edu.hn,org.hn,net.hn,mil.hn,gob.hn,hr,iz.hr,from.hr,name.hr,com.hr,ht,com.ht,shop.ht,firm.ht,info.ht,adult.ht,net.ht,pro.ht,org.ht,med.ht,art.ht,coop.ht,pol.ht,asso.ht,edu.ht,rel.ht,gouv.ht,perso.ht,hu,co.hu,info.hu,org.hu,priv.hu,sport.hu,tm.hu,2000.hu,agrar.hu,bolt.hu,casino.hu,city.hu,erotica.hu,erotika.hu,film.hu,forum.hu,games.hu,hotel.hu,ingatlan.hu,jogasz.hu,konyvelo.hu,lakas.hu,media.hu,news.hu,reklam.hu,sex.hu,shop.hu,suli.hu,szex.hu,tozsde.hu,utazas.hu,video.hu,id,ac.id,biz.id,co.id,desa.id,go.id,mil.id,my.id,net.id,or.id,ponpes.id,sch.id,web.id,ie,gov.ie,il,ac.il,co.il,gov.il,idf.il,k12.il,muni.il,net.il,org.il,im,ac.im,co.im,com.im,ltd.co.im,net.im,org.im,plc.co.im,tt.im,tv.im,in,5g.in,6g.in,ac.in,ai.in,am.in,bihar.in,biz.in,business.in,ca.in,cn.in,co.in,com.in,coop.in,cs.in,delhi.in,dr.in,edu.in,er.in,firm.in,gen.in,gov.in,gujarat.in,ind.in,info.in,int.in,internet.in,io.in,me.in,mil.in,net.in,nic.in,org.in,pg.in,post.in,pro.in,res.in,travel.in,tv.in,uk.in,up.in,us.in,info,int,eu.int,io,com.io,iq,gov.iq,edu.iq,mil.iq,com.iq,org.iq,net.iq,ir,ac.ir,co.ir,gov.ir,id.ir,net.ir,org.ir,sch.ir,is,net.is,com.is,edu.is,gov.is,org.is,int.is,it,gov.it,edu.it,je,co.je,net.je,org.je,jm,jo,com.jo,org.jo,net.jo,edu.jo,sch.jo,gov.jo,mil.jo,name.jo,jobs,jp,ac.jp,ad.jp,co.jp,ed.jp,go.jp,gr.jp,lg.jp,ne.jp,or.jp,ke,ac.ke,co.ke,go.ke,info.ke,me.ke,mobi.ke,ne.ke,or.ke,sc.ke,kg,org.kg,net.kg,com.kg,edu.kg,gov.kg,mil.kg,kh,ki,edu.ki,biz.ki,net.ki,org.ki,gov.ki,info.ki,com.ki,km,org.km,nom.km,gov.km,prd.km,tm.km,edu.km,mil.km,ass.km,com.km,kn,net.kn,org.kn,edu.kn,gov.kn,kp,com.kp,edu.kp,gov.kp,org.kp,rep.kp,tra.kp,kr,ac.kr,co.kr,es.kr,go.kr,hs.kr,kg.kr,mil.kr,ms.kr,ne.kr,or.kr,pe.kr,re.kr,sc.kr,kw,com.kw,edu.kw,emb.kw,gov.kw,ind.kw,net.kw,org.kw,ky,com.ky,edu.ky,net.ky,org.ky,kz,org.kz,edu.kz,net.kz,gov.kz,mil.kz,com.kz,la,int.la,net.la,info.la,edu.la,gov.la,per.la,com.la,org.la,lb,com.lb,edu.lb,gov.lb,net.lb,org.lb,lc,com.lc,net.lc,co.lc,org.lc,edu.lc,gov.lc,li,lk,gov.lk,sch.lk,net.lk,int.lk,com.lk,org.lk,edu.lk,ngo.lk,soc.lk,web.lk,ltd.lk,assn.lk,grp.lk,hotel.lk,ac.lk,lr,com.lr,edu.lr,gov.lr,org.lr,net.lr,ls,ac.ls,biz.ls,co.ls,edu.ls,gov.ls,info.ls,net.ls,org.ls,sc.ls,lt,gov.lt,lu,lv,com.lv,edu.lv,gov.lv,org.lv,mil.lv,id.lv,net.lv,asn.lv,conf.lv,ly,com.ly,net.ly,gov.ly,plc.ly,edu.ly,sch.ly,med.ly,org.ly,id.ly,ma,co.ma,net.ma,gov.ma,org.ma,ac.ma,press.ma,mc,tm.mc,asso.mc,md,me,co.me,net.me,org.me,edu.me,ac.me,gov.me,its.me,priv.me,mg,org.mg,nom.mg,gov.mg,prd.mg,tm.mg,edu.mg,mil.mg,com.mg,co.mg,mh,mil,mk,com.mk,org.mk,net.mk,edu.mk,gov.mk,inf.mk,name.mk,ml,com.ml,edu.ml,gouv.ml,gov.ml,net.ml,org.ml,presse.ml,mm,mn,gov.mn,edu.mn,org.mn,mo,com.mo,net.mo,org.mo,edu.mo,gov.mo,mobi,mp,mq,mr,gov.mr,ms,com.ms,edu.ms,gov.ms,net.ms,org.ms,mt,com.mt,edu.mt,net.mt,org.mt,mu,com.mu,net.mu,org.mu,gov.mu,ac.mu,co.mu,or.mu,museum,mv,aero.mv,biz.mv,com.mv,coop.mv,edu.mv,gov.mv,info.mv,int.mv,mil.mv,museum.mv,name.mv,net.mv,org.mv,pro.mv,mw,ac.mw,biz.mw,co.mw,com.mw,coop.mw,edu.mw,gov.mw,int.mw,museum.mw,net.mw,org.mw,mx,com.mx,org.mx,gob.mx,edu.mx,net.mx,my,biz.my,com.my,edu.my,gov.my,mil.my,name.my,net.my,org.my,mz,ac.mz,adv.mz,co.mz,edu.mz,gov.mz,mil.mz,net.mz,org.mz,na,info.na,pro.na,name.na,school.na,or.na,dr.na,us.na,mx.na,ca.na,in.na,cc.na,tv.na,ws.na,mobi.na,co.na,com.na,org.na,name,nc,asso.nc,nom.nc,ne,net,nf,com.nf,net.nf,per.nf,rec.nf,web.nf,arts.nf,firm.nf,info.nf,other.nf,store.nf,ng,com.ng,edu.ng,gov.ng,i.ng,mil.ng,mobi.ng,name.ng,net.ng,org.ng,sch.ng,ni,ac.ni,biz.ni,co.ni,com.ni,edu.ni,gob.ni,in.ni,info.ni,int.ni,mil.ni,net.ni,nom.ni,org.ni,web.ni,nl,no,fhs.no,vgs.no,fylkesbibl.no,folkebibl.no,museum.no,idrett.no,priv.no,mil.no,stat.no,dep.no,kommune.no,herad.no,np,nr,biz.nr,info.nr,gov.nr,edu.nr,org.nr,net.nr,com.nr,nu,nz,ac.nz,co.nz,cri.nz,geek.nz,gen.nz,govt.nz,health.nz,iwi.nz,kiwi.nz,maori.nz,mil.nz,m\u0101ori.nz,net.nz,org.nz,parliament.nz,school.nz,om,co.om,com.om,edu.om,gov.om,med.om,museum.om,net.om,org.om,pro.om,onion,org,pa,ac.pa,gob.pa,com.pa,org.pa,sld.pa,edu.pa,net.pa,ing.pa,abo.pa,med.pa,nom.pa,pe,edu.pe,gob.pe,nom.pe,mil.pe,org.pe,com.pe,net.pe,pf,com.pf,org.pf,edu.pf,pg,ph,com.ph,net.ph,org.ph,gov.ph,edu.ph,ngo.ph,mil.ph,i.ph,pk,com.pk,net.pk,edu.pk,org.pk,fam.pk,biz.pk,web.pk,gov.pk,gob.pk,gok.pk,gon.pk,gop.pk,gos.pk,info.pk,pl,com.pl,net.pl,org.pl,aid.pl,agro.pl,atm.pl,auto.pl,biz.pl,edu.pl,gmina.pl,gsm.pl,info.pl,mail.pl,miasta.pl,media.pl,mil.pl,nieruchomosci.pl,nom.pl,pc.pl,powiat.pl,priv.pl,realestate.pl,rel.pl,sex.pl,shop.pl,sklep.pl,sos.pl,szkola.pl,targi.pl,tm.pl,tourism.pl,travel.pl,turystyka.pl,pm,pn,gov.pn,co.pn,org.pn,edu.pn,net.pn,post,pr,com.pr,net.pr,org.pr,gov.pr,edu.pr,isla.pr,pro.pr,biz.pr,info.pr,name.pr,est.pr,prof.pr,ac.pr,pro,aaa.pro,aca.pro,acct.pro,avocat.pro,bar.pro,cpa.pro,eng.pro,jur.pro,law.pro,med.pro,recht.pro,ps,edu.ps,gov.ps,sec.ps,plo.ps,com.ps,org.ps,net.ps,pt,net.pt,gov.pt,org.pt,edu.pt,int.pt,publ.pt,com.pt,nome.pt,pw,co.pw,ne.pw,or.pw,ed.pw,go.pw,belau.pw,py,com.py,coop.py,edu.py,gov.py,mil.py,net.py,org.py,qa,com.qa,edu.qa,gov.qa,mil.qa,name.qa,net.qa,org.qa,sch.qa,re,asso.re,com.re,nom.re,ro,arts.ro,com.ro,firm.ro,info.ro,nom.ro,nt.ro,org.ro,rec.ro,store.ro,tm.ro,www.ro,rs,ac.rs,co.rs,edu.rs,gov.rs,in.rs,org.rs,ru,rw,ac.rw,co.rw,coop.rw,gov.rw,mil.rw,net.rw,org.rw,sa,com.sa,net.sa,org.sa,gov.sa,med.sa,pub.sa,edu.sa,sch.sa,sb,com.sb,edu.sb,gov.sb,net.sb,org.sb,sc,com.sc,gov.sc,net.sc,org.sc,edu.sc,sd,com.sd,net.sd,org.sd,edu.sd,med.sd,tv.sd,gov.sd,info.sd,se,a.se,ac.se,b.se,bd.se,brand.se,c.se,d.se,e.se,f.se,fh.se,fhsk.se,fhv.se,g.se,h.se,i.se,k.se,komforb.se,kommunalforbund.se,komvux.se,l.se,lanbib.se,m.se,n.se,naturbruksgymn.se,o.se,org.se,p.se,parti.se,pp.se,press.se,r.se,s.se,t.se,tm.se,u.se,w.se,x.se,y.se,z.se,sg,com.sg,net.sg,org.sg,gov.sg,edu.sg,per.sg,sh,com.sh,net.sh,gov.sh,org.sh,mil.sh,si,sj,sk,sl,com.sl,net.sl,edu.sl,gov.sl,org.sl,sm,sn,art.sn,com.sn,edu.sn,gouv.sn,org.sn,perso.sn,univ.sn,so,com.so,edu.so,gov.so,me.so,net.so,org.so,sr,ss,biz.ss,com.ss,edu.ss,gov.ss,me.ss,net.ss,org.ss,sch.ss,st,co.st,com.st,consulado.st,edu.st,embaixada.st,mil.st,net.st,org.st,principe.st,saotome.st,store.st,su,sv,com.sv,edu.sv,gob.sv,org.sv,red.sv,sx,gov.sx,sy,edu.sy,gov.sy,net.sy,mil.sy,com.sy,org.sy,sz,co.sz,ac.sz,org.sz,tc,td,tel,tf,tg,th,ac.th,co.th,go.th,in.th,mi.th,net.th,or.th,tj,ac.tj,biz.tj,co.tj,com.tj,edu.tj,go.tj,gov.tj,int.tj,mil.tj,name.tj,net.tj,nic.tj,org.tj,test.tj,web.tj,tk,tl,gov.tl,tm,com.tm,co.tm,org.tm,net.tm,nom.tm,gov.tm,mil.tm,edu.tm,tn,com.tn,ens.tn,fin.tn,gov.tn,ind.tn,info.tn,intl.tn,mincom.tn,nat.tn,net.tn,org.tn,perso.tn,tourism.tn,to,com.to,gov.to,net.to,org.to,edu.to,mil.to,tr,av.tr,bbs.tr,bel.tr,biz.tr,com.tr,dr.tr,edu.tr,gen.tr,gov.tr,info.tr,mil.tr,k12.tr,kep.tr,name.tr,net.tr,org.tr,pol.tr,tel.tr,tsk.tr,tv.tr,web.tr,nc.tr,tt,co.tt,com.tt,org.tt,net.tt,biz.tt,info.tt,pro.tt,int.tt,coop.tt,jobs.tt,mobi.tt,travel.tt,museum.tt,aero.tt,name.tt,gov.tt,edu.tt,tv,tw,edu.tw,gov.tw,mil.tw,com.tw,net.tw,org.tw,idv.tw,game.tw,ebiz.tw,club.tw,tz,ac.tz,co.tz,go.tz,hotel.tz,info.tz,me.tz,mil.tz,mobi.tz,ne.tz,or.tz,sc.tz,tv.tz,ua,com.ua,edu.ua,gov.ua,in.ua,net.ua,org.ua,ug,co.ug,or.ug,ac.ug,sc.ug,go.ug,ne.ug,com.ug,org.ug,uk,ac.uk,co.uk,gov.uk,ltd.uk,me.uk,net.uk,nhs.uk,org.uk,plc.uk,police.uk,us,dni.us,fed.us,isa.us,kids.us,nsn.us,ak.us,al.us,ar.us,as.us,az.us,ca.us,co.us,ct.us,dc.us,de.us,fl.us,ga.us,gu.us,hi.us,ia.us,id.us,il.us,in.us,ks.us,ky.us,la.us,ma.us,md.us,me.us,mi.us,mn.us,mo.us,ms.us,mt.us,nc.us,nd.us,ne.us,nh.us,nj.us,nm.us,nv.us,ny.us,oh.us,ok.us,or.us,pa.us,pr.us,ri.us,sc.us,sd.us,tn.us,tx.us,ut.us,vi.us,vt.us,va.us,wa.us,wi.us,wv.us,wy.us,uy,com.uy,edu.uy,gub.uy,mil.uy,net.uy,org.uy,uz,co.uz,com.uz,net.uz,org.uz,va,vc,com.vc,net.vc,org.vc,gov.vc,mil.vc,edu.vc,ve,arts.ve,bib.ve,co.ve,com.ve,e12.ve,edu.ve,firm.ve,gob.ve,gov.ve,info.ve,int.ve,mil.ve,net.ve,nom.ve,org.ve,rar.ve,rec.ve,store.ve,tec.ve,web.ve,vg,vi,co.vi,com.vi,k12.vi,net.vi,org.vi,vn,ac.vn,ai.vn,biz.vn,com.vn,edu.vn,gov.vn,health.vn,id.vn,info.vn,int.vn,io.vn,name.vn,net.vn,org.vn,pro.vn,vu,com.vu,edu.vu,net.vu,org.vu,wf,ws,com.ws,net.ws,org.ws,gov.ws,edu.ws,yt,ye,com.ye,edu.ye,gov.ye,net.ye,mil.ye,org.ye,ac.za,agric.za,alt.za,co.za,edu.za,gov.za,grondar.za,law.za,mil.za,net.za,ngo.za,nic.za,nis.za,nom.za,org.za,school.za,tm.za,web.za,zm,ac.zm,biz.zm,co.zm,com.zm,edu.zm,gov.zm,info.zm,mil.zm,net.zm,org.zm,sch.zm,zw,ac.zw,co.zw,gov.zw,mil.zw,org.zw\".split(\",\");\n//convert to Map\nconst _publicSuffixesMap = {};\npublicSuffixes.forEach(tld => {\n _publicSuffixesMap[tld] = true;\n});\nconst publicSuffixesMap = _publicSuffixesMap;\nfunction getTopLevelDomain(hostname) {\n const [domain] = hostname.split(\":\");\n const parts = domain.split(\".\");\n if (parts[parts.length - 1] === \"localhost\" || parts.length < 2) {\n return parts[parts.length - 1];\n }\n else {\n const d = parts[parts.length - 2] + \".\" + parts[parts.length - 1];\n if (parts.length > 2 && publicSuffixesMap[d]) {\n return parts[parts.length - 3] + \".\" + d;\n }\n else {\n return d;\n }\n }\n}\n\nclass Processor {\n constructor(options) {\n this.selfOptions = options || {};\n this.pipes = {};\n }\n options(options) {\n if (options) {\n this.selfOptions = options;\n }\n return this.selfOptions;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pipe(name, pipeArg) {\n let pipe = pipeArg;\n if (typeof name === \"string\") {\n if (typeof pipe === \"undefined\") {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n return this.pipes[name];\n }\n else {\n this.pipes[name] = pipe;\n }\n }\n if (name && name.name) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n pipe = name;\n if (pipe.processor === this) {\n return pipe;\n }\n this.pipes[pipe.name] = pipe;\n }\n pipe.processor = this;\n return pipe;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n process(input, pipe) {\n let context = input;\n context.options = this.options();\n let nextPipe = pipe || input.pipe || \"default\";\n let lastPipe;\n while (nextPipe) {\n if (typeof context.nextAfterChildren !== \"undefined\") {\n // children processed and coming back to parent\n context.next = context.nextAfterChildren;\n context.nextAfterChildren = null;\n }\n if (typeof nextPipe === \"string\") {\n nextPipe = this.pipe(nextPipe);\n }\n nextPipe.process(context);\n lastPipe = nextPipe;\n nextPipe = null;\n if (context) {\n if (context.next) {\n context = context.next;\n nextPipe = context.pipe || lastPipe;\n }\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return context.hasResult ? context.result : undefined;\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nclass Pipe {\n constructor(name) {\n this.name = name;\n this.filters = [];\n }\n process(input) {\n if (!this.processor) {\n throw new Error(\"add this pipe to a processor before using it\");\n }\n const debug = this.debug;\n const length = this.filters.length;\n const context = input;\n for (let index = 0; index < length; index++) {\n const filter = this.filters[index];\n if (debug) {\n this.log(`filter: ${filter.filterName}`);\n }\n filter(context);\n if (typeof context === \"object\" && context.exiting) {\n context.exiting = false;\n break;\n }\n }\n if (!context.next && this.resultCheck) {\n this.resultCheck(context);\n }\n }\n log(msg) {\n console.log(`[jsondiffpatch] ${this.name} pipe, ${msg}`);\n }\n append(...args) {\n this.filters.push(...args);\n return this;\n }\n prepend(...args) {\n this.filters.unshift(...args);\n return this;\n }\n indexOf(filterName) {\n if (!filterName) {\n throw new Error(\"a filter name is required\");\n }\n for (let index = 0; index < this.filters.length; index++) {\n const filter = this.filters[index];\n if (filter.filterName === filterName) {\n return index;\n }\n }\n throw new Error(`filter not found: ${filterName}`);\n }\n list() {\n return this.filters.map(f => f.filterName);\n }\n after(filterName, ...params) {\n const index = this.indexOf(filterName);\n this.filters.splice(index + 1, 0, ...params);\n return this;\n }\n before(filterName, ...params) {\n const index = this.indexOf(filterName);\n this.filters.splice(index, 0, ...params);\n return this;\n }\n replace(filterName, ...params) {\n const index = this.indexOf(filterName);\n this.filters.splice(index, 1, ...params);\n return this;\n }\n remove(filterName) {\n const index = this.indexOf(filterName);\n this.filters.splice(index, 1);\n return this;\n }\n clear() {\n this.filters.length = 0;\n return this;\n }\n shouldHaveResult(should) {\n if (should === false) {\n this.resultCheck = null;\n return;\n }\n if (this.resultCheck) {\n return;\n }\n this.resultCheck = context => {\n if (!context.hasResult) {\n console.log(context);\n const error = new Error(`${this.name} failed`);\n error.noResult = true;\n throw error;\n }\n };\n return this;\n }\n}\n\nclass Context {\n setResult(result) {\n this.result = result;\n this.hasResult = true;\n return this;\n }\n exit() {\n this.exiting = true;\n return this;\n }\n push(child, name) {\n child.parent = this;\n if (typeof name !== \"undefined\") {\n child.childName = name;\n }\n child.root = this.root || this;\n child.options = child.options || this.options;\n if (!this.children) {\n this.children = [child];\n this.nextAfterChildren = this.next || null;\n this.next = child;\n }\n else {\n this.children[this.children.length - 1].next = child;\n this.children.push(child);\n }\n child.next = this;\n return this;\n }\n}\n\nclass DiffContext extends Context {\n constructor(left, right) {\n super();\n this.left = left;\n this.right = right;\n this.pipe = \"diff\";\n }\n setResult(result) {\n return super.setResult(result);\n }\n}\n\nclass PatchContext extends Context {\n constructor(left, delta) {\n super();\n this.left = left;\n this.delta = delta;\n this.pipe = \"patch\";\n }\n}\n\nfunction arrayEquals(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n}\nconst diffFilter$1 = function trivialMatchesDiffFilter(context) {\n if (context.left === context.right) {\n context.setResult(undefined).exit();\n return;\n }\n if (typeof context.left === \"undefined\") {\n if (typeof context.right === \"function\") {\n throw new Error(\"functions are not supported\");\n }\n context.setResult([context.right]).exit();\n return;\n }\n if (typeof context.right === \"undefined\") {\n context.setResult([context.left, 0, 0]).exit();\n return;\n }\n if (typeof context.left === \"function\" || typeof context.right === \"function\") {\n throw new Error(\"functions are not supported\");\n }\n context.leftType = context.left === null ? \"null\" : typeof context.left;\n context.rightType = context.right === null ? \"null\" : typeof context.right;\n if (context.leftType !== context.rightType) {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n if (context.leftType === \"boolean\" || context.leftType === \"number\" || context.leftType === \"string\") {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n if (context.leftType === \"object\") {\n context.leftIsArray = Array.isArray(context.left);\n }\n if (context.rightType === \"object\") {\n context.rightIsArray = Array.isArray(context.right);\n }\n if (context.leftIsArray !== context.rightIsArray) {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n if (context.leftIsArray && context.rightIsArray) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n if (arrayEquals(context.left, context.right)) {\n context.setResult(undefined).exit();\n return;\n }\n else {\n context.setResult([context.left, context.right]).exit();\n return;\n }\n }\n if (context.left instanceof RegExp) {\n if (context.right instanceof RegExp) {\n context.setResult([context.left.toString(), context.right.toString()]).exit();\n }\n else {\n context.setResult([context.left, context.right]).exit();\n }\n }\n};\ndiffFilter$1.filterName = \"trivial\";\nconst patchFilter$1 = function trivialMatchesPatchFilter(context) {\n if (typeof context.delta === \"undefined\") {\n context.setResult(context.left).exit();\n return;\n }\n context.nested = !Array.isArray(context.delta);\n if (context.nested) {\n return;\n }\n const nonNestedDelta = context.delta;\n if (nonNestedDelta.length === 1) {\n context.setResult(nonNestedDelta[0]).exit();\n return;\n }\n if (nonNestedDelta.length === 2) {\n if (context.left instanceof RegExp) {\n const regexArgs = /^\\/(.*)\\/([gimyu]+)$/.exec(nonNestedDelta[1]);\n if (regexArgs) {\n context.setResult(new RegExp(regexArgs[1], regexArgs[2])).exit();\n return;\n }\n }\n context.setResult(nonNestedDelta[1]).exit();\n return;\n }\n if (nonNestedDelta.length === 3 && nonNestedDelta[2] === 0) {\n context.setResult(undefined).exit();\n }\n};\npatchFilter$1.filterName = \"trivial\";\n\nconst collectChildrenDiffFilter = context => {\n if (!context || !context.children) {\n return;\n }\n const length = context.children.length;\n let child;\n let result = context.result;\n for (let index = 0; index < length; index++) {\n child = context.children[index];\n if (typeof child.result === \"undefined\") {\n continue;\n }\n result = result || {};\n result[child.childName] = child.result;\n }\n if (result && context.leftIsArray) {\n result._t = \"a\";\n }\n context.setResult(result).exit();\n};\ncollectChildrenDiffFilter.filterName = \"collectChildren\";\nconst objectsDiffFilter = context => {\n if (context.leftIsArray || context.leftType !== \"object\") {\n return;\n }\n const left = context.left;\n const right = context.right;\n let name;\n let child;\n const propertyFilter = context.options.propertyFilter;\n for (name in left) {\n if (!Object.prototype.hasOwnProperty.call(left, name)) {\n continue;\n }\n if (propertyFilter && !propertyFilter(name, context)) {\n continue;\n }\n child = new DiffContext(left[name], right[name]);\n context.push(child, name);\n }\n for (name in right) {\n if (!Object.prototype.hasOwnProperty.call(right, name)) {\n continue;\n }\n if (propertyFilter && !propertyFilter(name, context)) {\n continue;\n }\n if (typeof left[name] === \"undefined\") {\n child = new DiffContext(undefined, right[name]);\n context.push(child, name);\n }\n }\n if (!context.children || context.children.length === 0) {\n context.setResult(undefined).exit();\n return;\n }\n context.exit();\n};\nobjectsDiffFilter.filterName = \"objects\";\nconst patchFilter = function nestedPatchFilter(context) {\n if (!context.nested) {\n return;\n }\n const nestedDelta = context.delta;\n if (nestedDelta._t) {\n return;\n }\n const objectDelta = nestedDelta;\n let name;\n let child;\n for (name in objectDelta) {\n child = new PatchContext(context.left[name], objectDelta[name]);\n context.push(child, name);\n }\n context.exit();\n};\npatchFilter.filterName = \"objects\";\nconst collectChildrenPatchFilter = function collectChildrenPatchFilter(context) {\n if (!context || !context.children) {\n return;\n }\n const deltaWithChildren = context.delta;\n if (deltaWithChildren._t) {\n return;\n }\n const object = context.left;\n const length = context.children.length;\n let child;\n for (let index = 0; index < length; index++) {\n child = context.children[index];\n const property = child.childName;\n if (Object.prototype.hasOwnProperty.call(context.left, property) && child.result === undefined) {\n delete object[property];\n }\n else if (object[property] !== child.result) {\n object[property] = child.result;\n }\n }\n context.setResult(object).exit();\n};\ncollectChildrenPatchFilter.filterName = \"collectChildren\";\n\nconst diffFilter = function datesDiffFilter(context) {\n if (context.left instanceof Date) {\n if (context.right instanceof Date) {\n if (context.left.getTime() !== context.right.getTime()) {\n context.setResult([context.left, context.right]);\n }\n else {\n context.setResult(undefined);\n }\n }\n else {\n context.setResult([context.left, context.right]);\n }\n context.exit();\n }\n else if (context.right instanceof Date) {\n context.setResult([context.left, context.right]).exit();\n }\n};\ndiffFilter.filterName = \"dates\";\n\nclass DiffPatcher {\n constructor(options) {\n this.processor = new Processor(options);\n this.processor.pipe(new Pipe(\"diff\")\n .append(collectChildrenDiffFilter, diffFilter$1, diffFilter, objectsDiffFilter)\n .shouldHaveResult());\n this.processor.pipe(new Pipe(\"patch\")\n .append(collectChildrenPatchFilter, patchFilter$1, patchFilter)\n .shouldHaveResult());\n }\n options(options) {\n return this.processor.options(options);\n }\n diff(left, right) {\n return this.processor.process(new DiffContext(left, right));\n }\n patch(left, delta) {\n return this.processor.process(new PatchContext(left, delta));\n }\n}\n\nfunction create(options) {\n return new DiffPatcher(options);\n}\n\n/* global analytics */\nvar __awaiter$1 = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst diff = create();\nconst defaultConfig = {\n /* Your segment writeKey */\n writeKey: null,\n /* Disable anonymous MTU */\n host: null,\n debug: false,\n fetch: null,\n echoEvents: false,\n cookieDomain: undefined,\n cookieNames: {},\n cookieCapture: {},\n runtime: undefined,\n fetchTimeoutMs: undefined,\n s2s: undefined,\n idEndpoint: undefined,\n errorPolicy: \"log\",\n defaultPayloadContext: {},\n privacy: {\n dontSend: false,\n disableUserIds: false,\n ipPolicy: \"keep\",\n consentCategories: {},\n },\n};\n// mergeConfig merges newConfig into currentConfig also making sure that all undefined values are replaced with defaultConfig values\nconst mergeConfig = (current, newConfig) => {\n for (const key of Object.keys(defaultConfig)) {\n const value = newConfig[key];\n if (key === \"privacy\") {\n if (typeof value === \"object\") {\n current.privacy = Object.assign(Object.assign(Object.assign(Object.assign({}, defaultConfig.privacy), { consentCategories: Object.assign({}, defaultConfig.privacy.consentCategories) }), current.privacy), value);\n }\n else if (typeof value === \"undefined\") {\n if (newConfig.hasOwnProperty(\"privacy\") || !current.hasOwnProperty(\"privacy\")) {\n // explicitly set to undefined - reset to default\n // or was not set at all - set to default\n current.privacy = Object.assign(Object.assign({}, defaultConfig.privacy), { consentCategories: Object.assign({}, defaultConfig.privacy.consentCategories) });\n }\n }\n }\n else if (typeof value === \"undefined\") {\n if (newConfig.hasOwnProperty(key) || !current.hasOwnProperty(key)) {\n // explicitly set to undefined - reset to default\n // or was not set at all - set to default\n current[key] = defaultConfig[key];\n }\n }\n else {\n current[key] = value;\n }\n }\n};\nconst parseQuery = (qs) => {\n if (!qs) {\n return {};\n }\n let queryString = qs.length > 0 && qs.charAt(0) === \"?\" ? qs.substring(1) : qs;\n let query = {};\n let pairs = (queryString[0] === \"?\" ? queryString.substr(1) : queryString).split(\"&\");\n for (let i = 0; i < pairs.length; i++) {\n let pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n};\nfunction utmToKey(key) {\n const name = key.substring(\"utm_\".length);\n return name === \"campaign\" ? \"name\" : name;\n}\nfunction parseUtms(query) {\n return Object.entries(query)\n .filter(([key]) => key.indexOf(\"utm_\") === 0)\n .reduce((acc, [key, value]) => (Object.assign(Object.assign({}, acc), { [utmToKey(key)]: value })), {});\n}\nfunction safeCall(f, defaultVal) {\n try {\n return f();\n }\n catch (e) {\n return defaultVal;\n }\n}\nfunction restoreTraits(storage) {\n let val = storage.getItem(\"__user_traits\");\n if (typeof val === \"string\") {\n val = safeCall(() => JSON.parse(val), {});\n }\n if (typeof val !== \"object\" || val === null || Array.isArray(val)) {\n val = {};\n }\n let groupVal = storage.getItem(\"__group_traits\");\n if (typeof groupVal === \"string\") {\n groupVal = safeCall(() => JSON.parse(groupVal), {});\n }\n if (typeof groupVal !== \"object\" || groupVal === null || Array.isArray(groupVal)) {\n groupVal = {};\n }\n return Object.assign(Object.assign({}, (groupVal || {})), (val || {}));\n}\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n return parts.length === 2 ? parts.pop().split(\";\").shift() : undefined;\n}\nfunction getClientIds(runtime, customCookieCapture) {\n const cookieCapture = Object.assign({ fbc: \"_fbc\", fbp: \"_fbp\" }, customCookieCapture);\n const clientIds = Object.entries(cookieCapture).reduce((acc, [key, cookieName]) => {\n acc[key] = runtime.getCookie(cookieName);\n return acc;\n }, {});\n return Object.assign(Object.assign({}, clientIds), getGa4Ids(runtime));\n}\nfunction parseGa4SessionId(cookieValue) {\n if (typeof cookieValue !== \"string\") {\n return undefined;\n }\n if (cookieValue.startsWith(\"GA1\") || cookieValue.startsWith(\"GS1\")) {\n return cookieValue.split(\".\")[2];\n }\n else {\n // parse new GA4 cookie format, e.g.: GS2.1.s1747323152$o28$g0$t1747323152$j60$l0$h69286059\n const match = cookieValue.match(/^GS\\d+\\.\\d+\\.(?:[\\w_-]+[$])*s(\\d+)(?:$|[$])/);\n return match ? match[1] : undefined;\n }\n}\nfunction getGa4Ids(runtime) {\n var _a;\n const allCookies = runtime.getCookies();\n const clientId = (_a = allCookies[\"_ga\"]) === null || _a === void 0 ? void 0 : _a.split(\".\").slice(-2).join(\".\");\n const gaSessionCookies = Object.entries(allCookies).filter(([key]) => key.startsWith(\"_ga_\"));\n const sessionIds = gaSessionCookies.length > 0\n ? Object.fromEntries(gaSessionCookies\n .map(([key, value]) => {\n const sessionId = parseGa4SessionId(value);\n if (!sessionId) {\n return null;\n }\n return [key.substring(\"_ga_\".length), sessionId];\n })\n .filter(v => v !== null))\n : undefined;\n if (clientId || sessionIds) {\n return { ga4: { clientId, sessionIds } };\n }\n else {\n return undefined;\n }\n}\nfunction removeCookie(name, { domain, secure }) {\n document.cookie =\n name +\n \"=;domain=\" +\n domain +\n \";path=/\" +\n \";expires=Thu, 01 Jan 1970 00:00:01 GMT;SameSite=\" +\n (secure ? \"None\" : \"Lax\") +\n (secure ? \";secure\" : \"\");\n}\nfunction setCookie(name, val, { domain, secure }) {\n document.cookie =\n name +\n \"=\" +\n val +\n \";domain=\" +\n domain +\n \";path=/\" +\n \";expires=\" +\n new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 365 * 5).toUTCString() +\n \";SameSite=\" +\n (secure ? \"None\" : \"Lax\") +\n (secure ? \";secure\" : \"\");\n}\nconst defaultCookie2Key = {\n __anon_id: \"__eventn_id\",\n __user_id: \"__eventn_uid\",\n __user_traits: \"__eventn_id_usr\",\n __group_id: \"__group_id\",\n __group_traits: \"__group_traits\",\n};\nconst cookieStorage = (cookieDomain, key2cookie) => {\n return {\n setItem(key, val) {\n const cookieName = key2cookie(key) || key;\n if (typeof val === \"undefined\") {\n removeCookie(cookieName, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n return;\n }\n const strVal = typeof val === \"object\" && val !== null ? encodeURIComponent(JSON.stringify(val)) : val;\n setCookie(cookieName, strVal, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n },\n getItem(key) {\n const cookieName = key2cookie(key) || key;\n const result = getCookie(cookieName);\n if (key === \"__anon_id\") {\n //anonymous id must always be a string, so we don't parse it to preserve its exact value\n return result;\n }\n if (typeof result === \"undefined\" && key === \"__user_id\") {\n //backward compatibility with old jitsu cookie. get user id if from traits\n const traits = parse(getCookie(key2cookie(\"__user_traits\") || \"__eventn_id_usr\")) || {};\n return traits.internal_id || traits.user_id || traits.id || traits.userId;\n }\n return parse(result);\n },\n removeItem(key) {\n removeCookie(key2cookie(key) || key, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n },\n reset() {\n for (const key of Object.keys(defaultCookie2Key)) {\n removeCookie(key2cookie(key) || key, {\n domain: cookieDomain,\n secure: window.location.protocol === \"https:\",\n });\n }\n },\n };\n};\nfunction windowRuntime(opts) {\n const key2Cookie = (key) => {\n var _a, _b, _c, _d, _e;\n switch (key) {\n case \"__anon_id\":\n return ((_a = opts.cookieNames) === null || _a === void 0 ? void 0 : _a.anonymousId) || defaultCookie2Key.__anon_id;\n case \"__user_id\":\n return ((_b = opts.cookieNames) === null || _b === void 0 ? void 0 : _b.userId) || defaultCookie2Key.__user_id;\n case \"__user_traits\":\n return ((_c = opts.cookieNames) === null || _c === void 0 ? void 0 : _c.userTraits) || defaultCookie2Key.__user_traits;\n case \"__group_id\":\n return ((_d = opts.cookieNames) === null || _d === void 0 ? void 0 : _d.groupId) || defaultCookie2Key.__group_id;\n case \"__group_traits\":\n return ((_e = opts.cookieNames) === null || _e === void 0 ? void 0 : _e.groupTraits) || defaultCookie2Key.__group_traits;\n default:\n return key;\n }\n };\n return {\n getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n return parts.length === 2 ? parts.pop().split(\";\").shift() : undefined;\n },\n getCookies() {\n const value = `; ${document.cookie}`;\n const cookies = {};\n const matches = value.matchAll(/(\\w+)=([^;]+)/g);\n for (const match of matches) {\n cookies[match[1]] = match[2];\n }\n return cookies;\n },\n documentEncoding() {\n return window.document.characterSet;\n },\n timezoneOffset() {\n return new Date().getTimezoneOffset();\n },\n store() {\n return cookieStorage(opts.cookieDomain || getTopLevelDomain(window.location.hostname), key2Cookie);\n },\n language() {\n return window.navigator.language;\n },\n pageTitle() {\n return window.document.title;\n },\n pageUrl() {\n return window.location.href;\n },\n referrer() {\n return window.document.referrer;\n },\n screen() {\n return {\n width: window.screen.width,\n height: window.screen.height,\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n density: Math.floor(window.devicePixelRatio),\n };\n },\n userAgent() {\n return window.navigator.userAgent;\n },\n };\n}\nfunction createInMemoryStorage(debug) {\n const storage = {};\n return {\n reset() {\n Object.keys(storage).forEach(key => delete storage[key]);\n },\n setItem(key, val) {\n if (debug) {\n console.log(`[JITSU EMPTY RUNTIME] Set storage item ${key}=${JSON.stringify(val)}`);\n }\n if (typeof val === \"undefined\") {\n delete storage[key];\n }\n else {\n storage[key] = val;\n }\n },\n getItem(key) {\n const val = storage[key];\n if (debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${JSON.stringify(val)}`);\n }\n return val;\n },\n removeItem(key) {\n if (debug) {\n console.log(`[JITSU EMPTY RUNTIME] Get storage item ${key}=${storage[key]}`);\n }\n delete storage[key];\n },\n };\n}\nconst emptyRuntime = (config) => ({\n documentEncoding() {\n return undefined;\n },\n timezoneOffset() {\n return undefined;\n },\n getCookie(name) {\n return undefined;\n },\n getCookies() {\n return {};\n },\n store() {\n return createInMemoryStorage(config.debug);\n },\n language() {\n return undefined;\n },\n pageTitle() {\n return undefined;\n },\n pageUrl() {\n return undefined;\n },\n referrer() {\n return undefined;\n },\n screen() {\n return undefined;\n },\n userAgent() {\n return undefined;\n },\n});\nfunction deepCopy(o) {\n if (typeof o !== \"object\") {\n return o;\n }\n if (!o) {\n return o;\n }\n return JSON.parse(JSON.stringify(o));\n}\nfunction deepMerge(target, source) {\n if (typeof source !== \"object\" || source === null) {\n return source;\n }\n if (typeof target !== \"object\" || target === null) {\n return source;\n }\n return Object.entries(source).reduce((acc, [key, value]) => {\n acc[key] = deepMerge(target[key], value);\n return acc;\n }, target);\n}\nfunction isInBrowser() {\n return typeof document !== \"undefined\" && typeof window !== \"undefined\";\n}\n/**\n * Fixes a weird bug in analytics URL where path\n * of https://test.com becomes //test.com\n */\nfunction fixPath(path) {\n if (path.indexOf(\"//\") === 0 && path.lastIndexOf(\"/\") === 1) {\n return \"/\";\n }\n return path;\n}\nconst hashRegex = /#.*$/;\n/**\n * for compatibility with path produced by analytics.js\n * @param url\n */\nfunction urlPath(url) {\n const regex = /(http[s]?:\\/\\/)?([^\\/\\s]+\\/)(.*)/g;\n const matches = regex.exec(url);\n const pathMatch = matches && matches[3] ? matches[3].split(\"?\")[0].replace(hashRegex, \"\") : \"\";\n return \"/\" + pathMatch;\n}\nfunction canonicalUrl() {\n if (!isInBrowser())\n return;\n const tags = document.getElementsByTagName(\"link\");\n for (var i = 0, tag; (tag = tags[i]); i++) {\n if (tag.getAttribute(\"rel\") === \"canonical\") {\n return tag.getAttribute(\"href\");\n }\n }\n}\n/**\n * bugged analytics.js logic that produces 'url' parameter by concating canonical URL with current search part\n * I produces broken results in some cases like SPA where path is changed but canonical URL is not updated\n */\nfunction analyticsJsUrl() {\n if (!isInBrowser())\n return;\n const canonical = canonicalUrl();\n if (!canonical)\n return window.location.href.replace(hashRegex, \"\");\n return canonical.match(/\\?/) ? canonical : canonical + window.location.search;\n}\nfunction adjustPayload(payload, config, storage, s2s) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;\n const runtime = config.runtime || (isInBrowser() ? windowRuntime(config) : emptyRuntime(config));\n const url = runtime.pageUrl();\n const parsedUrl = safeCall(() => new URL(url), undefined);\n const query = parsedUrl ? parseQuery(parsedUrl.search) : {};\n const properties = payload.properties || {};\n if (payload.type === \"page\" && (properties.url || url)) {\n // we don't trust analytics.js URL logic since it's sticks with canonical URL on SPA pages\n let targetUrl = url || properties.url;\n if (properties.url && properties.url !== analyticsJsUrl()) {\n // properties.url is not the same as provided by analytics.js\n // it means that it was not overridden by user and we should use it\n targetUrl = properties.url;\n }\n properties.url = targetUrl.replace(hashRegex, \"\");\n properties.path = fixPath(urlPath(targetUrl));\n // other properties are correctly based on window.location in analytics.js\n }\n const customContext = deepMerge(config.defaultPayloadContext, ((_a = payload.properties) === null || _a === void 0 ? void 0 : _a.context) || ((_b = payload.options) === null || _b === void 0 ? void 0 : _b.context) || {});\n (_c = payload.properties) === null || _c === void 0 ? true : delete _c.context;\n const referrer = runtime.referrer();\n const context = {\n library: {\n name: jitsuLibraryName,\n version: jitsuVersion,\n env: isInBrowser() ? \"browser\" : \"node\",\n },\n consent: typeof ((_d = config.privacy) === null || _d === void 0 ? void 0 : _d.consentCategories) === \"object\" && Object.keys((_e = config.privacy) === null || _e === void 0 ? void 0 : _e.consentCategories).length\n ? {\n categoryPreferences: config.privacy.consentCategories,\n }\n : undefined,\n userAgent: (_f = runtime.userAgent) === null || _f === void 0 ? void 0 : _f.call(runtime),\n locale: (_g = runtime.language) === null || _g === void 0 ? void 0 : _g.call(runtime),\n screen: (_h = runtime.screen) === null || _h === void 0 ? void 0 : _h.call(runtime),\n ip: (_j = runtime === null || runtime === void 0 ? void 0 : runtime.ip) === null || _j === void 0 ? void 0 : _j.call(runtime),\n traits: payload.type != \"identify\" && payload.type != \"group\"\n ? Object.assign(Object.assign({}, (restoreTraits(storage) || {})), (((_k = payload === null || payload === void 0 ? void 0 : payload.options) === null || _k === void 0 ? void 0 : _k.traits) || {})) : undefined,\n page: {\n path: properties.path || (parsedUrl && parsedUrl.pathname),\n referrer: referrer,\n referring_domain: safeCall(() => referrer && new URL(referrer).hostname),\n host: parsedUrl && parsedUrl.host,\n search: properties.search || (parsedUrl && parsedUrl.search),\n title: properties.title || runtime.pageTitle(),\n url: properties.url || url,\n encoding: properties.encoding || runtime.documentEncoding(),\n },\n clientIds: !((_l = config.privacy) === null || _l === void 0 ? void 0 : _l.disableUserIds) ? getClientIds(runtime, config.cookieCapture) : undefined,\n campaign: parseUtms(query),\n };\n const withContext = Object.assign(Object.assign({}, payload), { userId: ((_m = payload === null || payload === void 0 ? void 0 : payload.options) === null || _m === void 0 ? void 0 : _m.userId) || (payload === null || payload === void 0 ? void 0 : payload.userId), anonymousId: ((_o = payload === null || payload === void 0 ? void 0 : payload.options) === null || _o === void 0 ? void 0 : _o.anonymousId) || (payload === null || payload === void 0 ? void 0 : payload.anonymousId), groupId: ((_p = payload === null || payload === void 0 ? void 0 : payload.options) === null || _p === void 0 ? void 0 : _p.groupId) || storage.getItem(\"__group_id\"), timestamp: new Date().toISOString(), sentAt: new Date().toISOString(), messageId: randomId(properties.path || (parsedUrl && parsedUrl.pathname)), writeKey: maskWriteKey(config.writeKey), context: deepMerge(context, customContext) });\n delete withContext.meta;\n delete withContext.options;\n if ((_q = config.privacy) === null || _q === void 0 ? void 0 : _q.disableUserIds) {\n delete withContext.userId;\n delete withContext.anonymousId;\n delete withContext.context.traits;\n delete withContext.groupId;\n }\n return withContext;\n}\nfunction isDiff(obj) {\n const keys = Object.keys(obj);\n return keys.length === 1 && keys[0] === \"__diff\";\n}\nfunction processDestinations(destinations, method, originalEvent, debug, analyticsInstance) {\n return __awaiter$1(this, void 0, void 0, function* () {\n const promises = [];\n for (const destination of destinations) {\n let newEvents = [];\n if (destination.newEvents) {\n try {\n newEvents = destination.newEvents.map(e => e === \"same\" ? deepCopy(originalEvent) : isDiff(e) ? diff.patch(deepCopy(originalEvent), e.__diff) : e);\n }\n catch (e) {\n console.error(`[JITSU] Error applying '${destination.id}' changes to event: ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n else {\n newEvents = [deepCopy(originalEvent)];\n }\n const credentials = Object.assign(Object.assign({}, destination.credentials), destination.options);\n if (destination.deviceOptions.type === \"internal-plugin\") {\n const plugin = internalDestinationPlugins[destination.deviceOptions.name];\n if (plugin) {\n for (const event of newEvents) {\n try {\n promises.push(plugin.handle(Object.assign(Object.assign({}, credentials), { debug }), event));\n }\n catch (e) {\n console.warn(`[JITSU] Error processing event with internal plugin '${destination.deviceOptions.name}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n }\n else {\n console.warn(`[JITSU] Unknown internal plugin '${destination.deviceOptions.name}' for destination '${destination.id}'`);\n }\n }\n else if (destination.deviceOptions.type === \"analytics-plugin\") {\n yield loadScript(destination.deviceOptions.packageCdn);\n const plugin = window[destination.deviceOptions.moduleVarName];\n if (!plugin) {\n console.warn(`[JITSU] Broken plugin '${destination.deviceOptions.packageCdn}' for destination '${destination.id}' - it doesn't export '${destination.deviceOptions.moduleVarName}' variable`);\n }\n else {\n let pluginInstance;\n try {\n pluginInstance = (typeof plugin === \"function\" ? plugin : plugin.init)(credentials);\n }\n catch (e) {\n console.warn(`[JITSU] Error creating plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n try {\n if (debug) {\n console.log(`[JITSU] Plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}' initialized with config:`, pluginInstance.config);\n }\n pluginInstance.initialize({ config: pluginInstance.config, instance: analyticsInstance });\n }\n catch (e) {\n console.warn(`[JITSU] Error initializing plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}. Config: ${JSON.stringify(pluginInstance.config)}`, e);\n continue;\n }\n if (pluginInstance[method]) {\n for (const event of newEvents) {\n try {\n pluginInstance[method]({\n payload: event,\n config: pluginInstance.config,\n instance: analyticsInstance,\n });\n }\n catch (e) {\n console.warn(`[JITSU] Error processing ${method}() with plugin '${destination.deviceOptions.moduleVarName}@${destination.deviceOptions.packageCdn}' for destination '${destination.id}': ${e === null || e === void 0 ? void 0 : e.message}`, e);\n }\n }\n }\n }\n }\n }\n });\n}\nfunction looksLikeCuid(id) {\n return id.length === 25 && id.charAt(0) === \"c\";\n}\nfunction validateWriteKey(writeKey) {\n if (writeKey) {\n const [, secret] = writeKey.split(\":\", 2);\n if (!secret && !looksLikeCuid(writeKey)) {\n throw new Error(`Legacy write key detected - ${writeKey}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`);\n }\n }\n return writeKey;\n}\nfunction maskWriteKey(writeKey) {\n if (writeKey) {\n const [id, secret] = writeKey.split(\":\", 2);\n if (secret) {\n return `${id}:***`;\n }\n else {\n return \"***\";\n }\n }\n return writeKey;\n}\nfunction getErrorHandler(opts) {\n const configuredHandler = opts.errorPolicy || \"log\";\n if (typeof configuredHandler === \"function\") {\n return configuredHandler;\n }\n else if (configuredHandler === \"rethrow\") {\n return (msg, ...args) => {\n //ignore args, not clear what to do with them\n throw new Error(msg);\n };\n }\n else {\n return (msg, ...args) => {\n console.error(msg, ...args);\n };\n }\n}\nfunction send(method, payload, jitsuConfig, instance, store) {\n return __awaiter$1(this, void 0, void 0, function* () {\n var _a, _b;\n const s2s = !!jitsuConfig.s2s;\n const debugHeader = jitsuConfig.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n const adjustedPayload = adjustPayload(payload, jitsuConfig, store);\n if (jitsuConfig.echoEvents) {\n console.log(`[JITSU DEBUG] sending '${method}' event:`, adjustedPayload);\n return;\n }\n const url = s2s ? `${jitsuConfig.host}/api/s/s2s/${method}` : `${jitsuConfig.host}/api/s/${method}`;\n const fetch = jitsuConfig.fetch || globalThis.fetch;\n if (!fetch) {\n //don't run it through error handler since error is critical and should be addressed\n throw new Error(\"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\");\n }\n const abortController = jitsuConfig.fetchTimeoutMs ? new AbortController() : undefined;\n const abortTimeout = jitsuConfig.fetchTimeoutMs\n ? setTimeout(() => {\n abortController.abort();\n }, jitsuConfig.fetchTimeoutMs)\n : undefined;\n const authHeader = jitsuConfig.writeKey ? { \"X-Write-Key\": jitsuConfig.writeKey } : {};\n const ipHeader = typeof ((_a = jitsuConfig.privacy) === null || _a === void 0 ? void 0 : _a.ipPolicy) === \"undefined\" || ((_b = jitsuConfig.privacy) === null || _b === void 0 ? void 0 : _b.ipPolicy) === \"keep\"\n ? {}\n : { \"X-IP-Policy\": jitsuConfig.privacy.ipPolicy };\n let fetchResult;\n try {\n fetchResult = yield fetch(url, {\n method: \"POST\",\n headers: Object.assign(Object.assign(Object.assign({ \"Content-Type\": \"application/json\" }, authHeader), debugHeader), ipHeader),\n body: JSON.stringify(adjustedPayload),\n signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal,\n });\n if (abortTimeout) {\n clearTimeout(abortTimeout);\n }\n }\n catch (e) {\n getErrorHandler(jitsuConfig)(`Call to ${url} failed with error ${e.message}`);\n return Promise.resolve();\n }\n let responseText;\n try {\n responseText = yield fetchResult.text();\n }\n catch (e) {\n console.warn(`Can't read response text from ${url} (status - ${fetchResult.status} ${fetchResult.statusText}): ${e === null || e === void 0 ? void 0 : e.message}`);\n }\n if (jitsuConfig.debug) {\n console.log(`[JITSU DEBUG] ${url} replied ${fetchResult.status}: ${responseText}. Original payload:\\n${JSON.stringify(adjustedPayload, null, 2)}`);\n }\n if (!fetchResult.ok) {\n getErrorHandler(jitsuConfig)(`Call to ${url} failed with error: ${fetchResult.status} - ${fetchResult.statusText}: ${responseText}`);\n return Promise.resolve();\n }\n let responseJson;\n try {\n responseJson = JSON.parse(responseText);\n }\n catch (e) {\n getErrorHandler(jitsuConfig)(`Can't parse JSON: ${responseText}: ${e === null || e === void 0 ? void 0 : e.message}`);\n return Promise.resolve();\n }\n if (responseJson.destinations && responseJson.destinations.length > 0) {\n if (jitsuConfig.s2s) {\n console.warn(`[JITSU] ${payload.type} responded with list of ${responseJson.destinations.length} destinations. However, this code is running in server-to-server mode, so destinations will be ignored`, jitsuConfig.debug ? JSON.stringify(responseJson.destinations, null, 2) : undefined);\n }\n else {\n //double protection, ingest should not return destinations in s2s mode\n if (isInBrowser()) {\n if (jitsuConfig.debug) {\n console.log(`[JITSU] Processing device destinations: `, JSON.stringify(responseJson.destinations, null, 2));\n }\n return processDestinations(responseJson.destinations, method, adjustedPayload, !!jitsuConfig.debug, instance);\n }\n }\n }\n return adjustedPayload;\n });\n}\nconst controllingTraits = [\"$doNotSend\"];\n/**\n * Remove all members of traits that controls identify/group behavior (see analytics.d.ts), and should not be recorded. Returns\n * copy of the object with these members removed.\n *\n * Do not modify traits object, but creates one\n * @param traits\n */\nfunction stripControllingTraits(traits) {\n const res = Object.assign({}, traits);\n // see Traits definition in analytics.d.ts. We cannot define const here, so here's a little code duplication\n for (const key of controllingTraits) {\n delete res[key];\n }\n return res;\n}\nconst jitsuAnalyticsPlugin = (jitsuOptions = {}, storage) => {\n // just to make sure that all undefined values are replaced with defaultConfig values\n mergeConfig(jitsuOptions, jitsuOptions);\n return {\n name: \"jitsu\",\n config: jitsuOptions,\n initialize: (args) => __awaiter$1(void 0, void 0, void 0, function* () {\n const { config } = args;\n if (config.debug) {\n console.debug(\"[JITSU DEBUG] Initializing Jitsu plugin with config: \", JSON.stringify(config, null, 2));\n }\n if (!config.host && !config.echoEvents) {\n throw new Error(\"Please specify host variable in jitsu plugin initialization, or set echoEvents to true\");\n }\n validateWriteKey(config.writeKey);\n if (config.idEndpoint) {\n if (!isInBrowser()) {\n console.error(`[JITSU] 'idEndpoint' option can be used only in browser environment`);\n return;\n }\n try {\n const fetch = config.fetch || globalThis.fetch;\n const controller = new AbortController();\n setTimeout(() => controller.abort(), 1000);\n const domain = config.cookieDomain || getTopLevelDomain(window.location.hostname);\n const res = yield fetch(config.idEndpoint + \"?domain=\" + encodeURIComponent(domain), {\n credentials: \"include\",\n signal: controller.signal,\n });\n if (!res.ok) {\n console.error(`[JITSU] Can't fetch idEndpoint: ${res.status} - ${res.statusText}`);\n }\n else if (config.debug) {\n console.log(`[JITSU DEBUG] Fetch idEndpoint: ${res.status}`);\n }\n }\n catch (e) {\n console.error(`[JITSU] Can't fetch idEndpoint: ${e.message}`);\n }\n }\n }),\n page: args => {\n var _a;\n const { payload, config, instance } = args;\n if ((_a = config.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) {\n return;\n }\n return send(\"page\", payload, config, instance, storage);\n },\n track: args => {\n var _a;\n const { payload, config, instance } = args;\n if ((_a = config.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) {\n return;\n }\n return send(\"track\", payload, config, instance, storage);\n },\n identify: args => {\n var _a, _b, _c;\n const { payload, config, instance } = args;\n if (((_a = config.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = config.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n // Store traits in cache to be able to use them in page and track events that run asynchronously with current identify.\n storage.setItem(\"__user_id\", payload.userId);\n const doNotSend = (_c = payload.traits) === null || _c === void 0 ? void 0 : _c.$doNotSend;\n if (payload.traits && typeof payload.traits === \"object\") {\n payload.traits = stripControllingTraits(payload.traits);\n storage.setItem(\"__user_traits\", payload.traits);\n }\n if (doNotSend) {\n return Promise.resolve();\n }\n return send(\"identify\", payload, config, instance, storage);\n },\n reset: args => {\n const { config, instance } = args;\n storage.reset();\n if (config.debug) {\n console.log(\"[JITSU DEBUG] Resetting Jitsu plugin storage\");\n }\n },\n methods: {\n //analytics doesn't support group as a base method, so we need to add it manually\n configure(newOptions) {\n var _a, _b, _c, _d;\n const idsWasDisabled = ((_a = jitsuOptions.privacy) === null || _a === void 0 ? void 0 : _a.disableUserIds) || ((_b = jitsuOptions.privacy) === null || _b === void 0 ? void 0 : _b.dontSend);\n mergeConfig(jitsuOptions, newOptions);\n const idsDisabledNow = ((_c = jitsuOptions.privacy) === null || _c === void 0 ? void 0 : _c.disableUserIds) || ((_d = jitsuOptions.privacy) === null || _d === void 0 ? void 0 : _d.dontSend);\n if (!idsDisabledNow && idsWasDisabled) {\n if (jitsuOptions.debug) {\n console.log(\"[JITSU] Enabling Anonymous ID. Generating new Id.\");\n }\n const instance = this.instance;\n const newAnonymousId = uuid();\n const userState = instance.user();\n if (userState) {\n userState.anonymousId = newAnonymousId;\n }\n storage.setItem(\"__anon_id\", newAnonymousId);\n instance.setAnonymousId(newAnonymousId);\n }\n },\n group(groupId, traits, options, callback) {\n var _a, _b;\n if (((_a = jitsuOptions.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = jitsuOptions.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n if (typeof groupId === \"number\") {\n //fix potential issues with group id being used incorrectly\n groupId = groupId + \"\";\n }\n const instance = this.instance;\n const user = instance.user();\n const userId = (options === null || options === void 0 ? void 0 : options.userId) || (user === null || user === void 0 ? void 0 : user.userId);\n const anonymousId = (options === null || options === void 0 ? void 0 : options.anonymousId) || (user === null || user === void 0 ? void 0 : user.anonymousId) || storage.getItem(\"__anon_id\");\n storage.setItem(\"__group_id\", groupId);\n const doNotSend = traits === null || traits === void 0 ? void 0 : traits.$doNotSend;\n if (traits && typeof traits === \"object\") {\n traits = stripControllingTraits(traits);\n storage.setItem(\"__group_traits\", traits);\n }\n if (doNotSend) {\n return Promise.resolve();\n }\n return send(\"group\", Object.assign(Object.assign({ type: \"group\", groupId, traits }, (anonymousId ? { anonymousId } : {})), (userId ? { userId } : {})), jitsuOptions, instance, storage);\n },\n },\n };\n};\nlet seedCounter = 0;\nfunction getSeed() {\n var _a;\n seedCounter = (seedCounter + 1) % Number.MAX_SAFE_INTEGER;\n const defaultSeed = Date.now() % 2147483647;\n const seed = isInBrowser() ? ((_a = window === null || window === void 0 ? void 0 : window.performance) === null || _a === void 0 ? void 0 : _a.now()) || defaultSeed : defaultSeed;\n return seed + seedCounter;\n}\nfunction randomId(hashString = \"\") {\n const d = Date.now();\n return (((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36) +\n ((Math.random() * d * hash(hashString !== null && hashString !== void 0 ? hashString : \"\", getSeed())) % Number.MAX_SAFE_INTEGER).toString(36));\n}\nfunction uuid() {\n var u = \"\", m = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\", i = 0, rb = (Math.random() * 0xffffffff) | 0;\n while (i++ < 36) {\n var c = m[i - 1], r = rb & 0xf, v = c == \"x\" ? r : (r & 0x3) | 0x8;\n u += c == \"-\" || c == \"4\" ? c : v.toString(16);\n rb = i % 8 == 0 ? (Math.random() * 0xffffffff) | 0 : rb >> 4;\n }\n return u;\n}\nfunction hash(str, seed = 0) {\n let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\n}\n\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nfunction parse(input) {\n let value = input;\n if ((input === null || input === void 0 ? void 0 : input.indexOf(\"%7B%22\")) === 0) {\n value = decodeURIComponent(input);\n }\n try {\n value = JSON.parse(value);\n if (value === \"true\")\n return true;\n if (value === \"false\")\n return false;\n if (typeof value === \"object\")\n return value;\n if (parseFloat(value) === value) {\n value = parseFloat(value);\n }\n }\n catch (e) { }\n if (value === null || value === \"\") {\n return;\n }\n return value;\n}\nconst emptyAnalytics = {\n setAnonymousId: () => { },\n setContextProperty(name, value) { },\n getContextProperty(name) {\n return undefined;\n },\n track: () => Promise.resolve(),\n page: () => Promise.resolve(),\n user: () => ({}),\n identify: () => Promise.resolve({}),\n group: () => Promise.resolve({}),\n reset: () => Promise.resolve({}),\n configure: () => { },\n getConfiguration() {\n return {};\n },\n};\nfunction createUnderlyingAnalyticsInstance(opts, rt, plugins = []) {\n var _a, _b, _c;\n const storageCache = {};\n // AnalyticsInstance's storage is async somewhere inside. So if we make 'page' call right after 'identify' call\n // 'page' call will load traits from storage before 'identify' call had a change to save them.\n // to avoid that we use in-memory cache for storage\n const cachingStorageWrapper = (persistentStorage) => ({\n setItem(key, val) {\n var _a, _b;\n if (((_a = opts.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = opts.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Caching storage setItem: ${key}=${val}`);\n }\n storageCache[key] = val;\n persistentStorage.setItem(key, val);\n },\n getItem(key) {\n var _a, _b;\n if (((_a = opts.privacy) === null || _a === void 0 ? void 0 : _a.dontSend) || ((_b = opts.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds)) {\n return;\n }\n const value = storageCache[key] || persistentStorage.getItem(key);\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Caching storage getItem: ${key}=${value}. Evicted from cache: ${!storageCache[key]}`);\n }\n return value;\n },\n reset() {\n for (const key of [...Object.keys(storageCache)]) {\n delete storageCache[key];\n }\n persistentStorage.reset();\n },\n removeItem(key) {\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Caching storage removeItem: ${key}`);\n }\n delete storageCache[key];\n persistentStorage.removeItem(key);\n },\n });\n const storage = cachingStorageWrapper(((_a = rt.store) === null || _a === void 0 ? void 0 : _a.call(rt)) || createInMemoryStorage(opts.debug));\n const analytics = analyticsLib({\n debug: !!opts.debug,\n storage,\n plugins: [jitsuAnalyticsPlugin(opts, storage), ...plugins],\n });\n const a = Object.assign(Object.assign({}, analytics), { page: (...args) => {\n if (args.length === 2 && typeof args[0] === \"string\" && typeof args[1] === \"object\") {\n return analytics.page(Object.assign({ name: args[0] }, args[1]));\n }\n else {\n return analytics.page(...args);\n }\n }, identify: (...args) => {\n if (args[0] && typeof args[0] !== \"object\" && typeof args[0] !== \"string\") {\n //fix the quirk of analytics.js: if you pass number as first argument, it will be converted to string\n args[0] = args[0] + \"\";\n }\n //analytics.js sets userId and traits asynchronously, so if\n //we want them to be available immediately after identify call in subsequent page() calls,\n //we need to put them into storage manually\n const storage = analytics.storage;\n const storageWrapper = cachingStorageWrapper(storage);\n if (typeof args[0] === \"string\") {\n //first argument is user id\n storageWrapper.setItem(\"__user_id\", args[0]);\n }\n else if (typeof args[0] === \"object\") {\n //first argument is traits\n storageWrapper.setItem(\"__user_traits\", args[0]);\n }\n if (args.length === 2 && typeof args[1] === \"object\") {\n //first argument is user id, second is traits\n storageWrapper.setItem(\"__user_traits\", args[1]);\n }\n return analytics.identify(...args);\n }, setContextProperty(name, value) {\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Setting context property '${name}':${JSON.stringify(value)}`);\n }\n if (!opts.defaultPayloadContext) {\n opts.defaultPayloadContext = {\n [name]: value,\n };\n }\n else {\n opts.defaultPayloadContext[name] = value;\n }\n },\n getContextProperty(name) {\n var _a;\n if (opts.debug) {\n console.log(`[JITSU DEBUG] Getting context property '${name}'`);\n }\n return (_a = opts.defaultPayloadContext) === null || _a === void 0 ? void 0 : _a[name];\n }, setAnonymousId: (id) => {\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] Setting anonymous id to \" + id);\n }\n //Workaround for analytics.js bug. Underlying setAnonymousId doesn't set the id immediately,\n //so we got to it manually here. See https://github.com/jitsucom/jitsu/issues/1060\n storage.setItem(\"__anon_id\", id);\n const userState = analytics.user();\n if (userState) {\n userState.anonymousId = id;\n }\n analytics.setAnonymousId(id);\n }, reset() {\n return __awaiter(this, void 0, void 0, function* () {\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] Called reset(). Storage state\", JSON.stringify(analytics.user()));\n }\n storage.reset();\n yield analytics.reset();\n this.setAnonymousId(uuid());\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] User state after reset\", JSON.stringify(analytics.user()));\n }\n });\n },\n configure(options) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n if (opts.debug) {\n console.log(\"[JITSU DEBUG] Update Jitsu config with\", JSON.stringify(options));\n }\n if (((_a = options.privacy) === null || _a === void 0 ? void 0 : _a.disableUserIds) || ((_b = options.privacy) === null || _b === void 0 ? void 0 : _b.dontSend)) {\n storage.reset();\n }\n for (const plugin of Object.values(analytics.plugins)) {\n if (typeof plugin[\"configure\"] === \"function\") {\n plugin[\"configure\"](options);\n }\n }\n });\n },\n group(groupId, traits, options, callback) {\n return __awaiter(this, void 0, void 0, function* () {\n const results = [];\n for (const plugin of Object.values(analytics.plugins)) {\n if (plugin[\"group\"]) {\n results.push(yield plugin[\"group\"](groupId, traits, options, callback));\n }\n }\n //It's incorrect at many levels. First, it's not a dispatched event. Second, we take a first result\n //However, since returned values are used for debugging purposes only, it's ok\n return results[0];\n });\n },\n getConfiguration() {\n return opts;\n } });\n if (((_b = opts.privacy) === null || _b === void 0 ? void 0 : _b.disableUserIds) || ((_c = opts.privacy) === null || _c === void 0 ? void 0 : _c.dontSend)) {\n storage.reset();\n }\n return a;\n}\n/**\n * Fix common mistakes in jitsu configuration\n * @param opts\n */\nfunction fixOptions(opts) {\n var _a, _b;\n return Object.assign(Object.assign({}, opts), { host: ((_a = opts.host) !== null && _a !== void 0 ? _a : \"\").indexOf(\"https://\") !== 0 && ((_b = opts.host) !== null && _b !== void 0 ? _b : \"\").indexOf(\"http://\") !== 0\n ? `https://${opts.host}`\n : opts.host });\n}\nfunction jitsuAnalytics(_opts) {\n const opts = fixOptions(_opts);\n const inBrowser = isInBrowser();\n const rt = opts.runtime || (inBrowser ? windowRuntime(opts) : emptyRuntime(opts));\n return createUnderlyingAnalyticsInstance(opts, rt);\n // if (inBrowser) {\n // const fetch = opts.fetch || globalThis.fetch;\n // if (!fetch) {\n // throw new Error(\n // \"Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope\"\n // );\n // }\n // const url = `${opts.host}/api/s/cfg`;\n // const authHeader = {};\n // const debugHeader = opts.debug ? { \"X-Enable-Debug\": \"true\" } : {};\n // fetch(url)\n // .then(res => res.json())\n // .then(res => {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt, []));\n // })\n // .catch(e => {\n // console.warn(`[JITSU] error getting device-destinations from ${url}`, e);\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // });\n // } else {\n // result.loaded(createUnderlyingAnalyticsInstance(opts, rt));\n // }\n}\n\nexports.createInMemoryStorage = createInMemoryStorage;\nexports.emptyAnalytics = emptyAnalytics;\nexports.emptyRuntime = emptyRuntime;\nexports.isInBrowser = isInBrowser;\nexports.jitsuAnalytics = jitsuAnalytics;\nexports.jitsuAnalyticsPlugin = jitsuAnalyticsPlugin;\nexports.parseQuery = parseQuery;\nexports.randomId = randomId;\nexports.uuid = uuid;\nexports.windowRuntime = windowRuntime;\n", "import { jitsuAnalytics, AnalyticsInterface } from '@jitsu/js';\n\nconst WRITE_KEY = 'FCPcyGrUKbMlUu65nsX8e2HBCYadBi2b:eE6u4qr1RIUn119gAEliIuzftbpIrbOX';\nconst HOST = 'https://cmjiyhe5l00003b7ayqcn2bte.d.jitsu.com';\n\nexport interface CashinTracker {\n track(eventName: string, properties?: Record<string, any>): Promise<any>;\n page(name?: string, properties?: Record<string, any>): Promise<any>;\n identify(userId: string, traits?: Record<string, any>): Promise<any>;\n group(groupId: string, traits?: Record<string, any>): Promise<any>;\n reset(): Promise<any>;\n user(): any;\n setAnonymousId(id: string): void;\n setContext(name: string, value: any): void;\n getContext(name: string): any;\n analytics: AnalyticsInterface;\n}\n\nfunction getXPath(element: HTMLElement): string {\n if (element.id) return `//*[@id=\"${element.id}\"]`;\n if (element === document.body) return '/html/body';\n\n let ix = 0;\n const siblings = element.parentNode?.children;\n if (siblings) {\n for (let i = 0; i < siblings.length; i++) {\n const sibling = siblings[i];\n if (sibling === element) {\n return getXPath(element.parentNode as HTMLElement) + '/' + element.tagName.toLowerCase() + '[' + (ix + 1) + ']';\n }\n if (sibling.tagName === element.tagName) ix++;\n }\n }\n return '';\n}\n\nfunction getCssSelector(element: HTMLElement): string {\n if (element.id) return `#${element.id}`;\n\n const path = [];\n let current: HTMLElement | null = element;\n\n while (current && current !== document.body) {\n let selector = current.tagName.toLowerCase();\n if (current.className) {\n selector += '.' + current.className.trim().split(/\\s+/).join('.');\n }\n path.unshift(selector);\n current = current.parentElement;\n }\n\n return path.join(' > ');\n}\n\ninterface InitOptions {\n autoTrack?: boolean;\n}\n\nexport function init(partnerKey: string, options: InitOptions = {}): CashinTracker {\n const { autoTrack = true } = options;\n\n const analytics = jitsuAnalytics({\n writeKey: WRITE_KEY,\n host: HOST,\n });\n\n analytics.setContextProperty('partnerKey', partnerKey);\n\n if (autoTrack && typeof window !== 'undefined') {\n analytics.page();\n\n // Track SPA route changes\n let lastPath = window.location.pathname;\n const trackPageChange = () => {\n if (lastPath !== window.location.pathname) {\n lastPath = window.location.pathname;\n analytics.page();\n }\n };\n\n window.addEventListener('popstate', trackPageChange);\n\n const wrapHistoryMethod = (method: 'pushState' | 'replaceState') => {\n const original = history[method];\n history[method] = function(...args) {\n original.apply(this, args);\n trackPageChange();\n };\n };\n\n wrapHistoryMethod('pushState');\n wrapHistoryMethod('replaceState');\n\n document.addEventListener('click', (e) => {\n const target = e.target as HTMLElement;\n const rect = target.getBoundingClientRect();\n\n const clickMeta = {\n tagName: target.tagName,\n id: target.id || undefined,\n className: target.className || undefined,\n text: target.textContent?.substring(0, 100),\n xpath: getXPath(target),\n cssSelector: getCssSelector(target),\n href: (target as HTMLAnchorElement).href || undefined,\n coordinates: {\n x: e.clientX,\n y: e.clientY,\n },\n elementPosition: {\n top: rect.top,\n left: rect.left,\n width: rect.width,\n height: rect.height,\n },\n };\n\n analytics.track('click', {\n 'click-meta': JSON.stringify(clickMeta),\n });\n });\n }\n\n const tracker = {\n setContext(name: string, value: any) {\n analytics.setContextProperty(name, value);\n },\n getContext(name: string) {\n return analytics.getContextProperty(name);\n },\n analytics,\n };\n\n return new Proxy(tracker, {\n get(target, prop) {\n if (prop in target) {\n return target[prop as keyof typeof target];\n }\n const analyticsProp = analytics[prop as keyof AnalyticsInterface];\n if (typeof analyticsProp === 'function') {\n return analyticsProp.bind(analytics);\n }\n return analyticsProp;\n },\n }) as CashinTracker;\n}\n\nif (typeof window !== 'undefined') {\n (window as any).tracker = { init };\n}"],
5
+ "mappings": "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",
6
6
  "names": ["require_jitsu_cjs", "__commonJSMin", "exports", "n$2", "l", "n", "r", "e", "o$1", "b$3", "m$1", "j$1", "F$2", "$$1", "M$1", "t", "U$1", "H$1", "J$2", "Y$1", "yn", "R$1", "V$1", "W$1", "q$1", "I$2", "Q$1", "nn", "rn", "on", "un", "hn", "On", "$n", "Tn", "_n", "n$1", "s", "o", "a", "i", "u", "c", "m", "y$1", "a$2", "f", "i$2", "u$1", "b$2", "c$1", "e$1", "g$1", "h$1", "v", "y", "b$1", "I$1", "w", "d", "p", "E$1", "P", "S", "N$1", "A$1", "_", "j", "k$1", "x$1", "T", "z", "M", "q", "V", "C$1", "U", "R", "$", "D", "B", "L$1", "J$1", "X", "H", "W", "h", "ne", "ae", "ie", "Q", "ee", "K", "F$1", "G$1", "te", "Y", "Z", "re", "oe", "b", "I", "E", "ue", "ce", "se", "le", "fe", "de", "pe", "me", "ge", "he", "ve", "ye", "be", "Ie", "we", "Ee", "Pe", "Se", "Ne", "Ae", "_e", "Oe", "je", "ke", "s$1", "f$1", "A", "O", "L", "J", "F", "G", "xe", "Te", "i$1", "a$1", "r$1", "d$1", "g", "k", "x", "C", "N", "r$2", "l$1", "t$1", "_defineProperty", "obj", "key", "value", "ownKeys", "object", "enumerableOnly", "keys", "symbols", "sym", "_objectSpread2", "target", "source", "analyticsLib", "opts", "defaultSettings", "findScript", "src", "buildScriptSrc", "options", "result", "loadScript", "found", "status", "resolve", "reject", "err", "_a", "_b", "script", "tag", "__awaiter$5", "thisArg", "_arguments", "generator", "adopt", "fulfilled", "step", "rejected", "tagPlugin", "config", "payload", "applyFilters", "insertTags", "code", "event", "debug", "isInBrowser", "execJs", "codeHolder", "replaceMacro", "scriptClone", "al", "ev", "execF", "varName", "randomId", "iif", "__awaiter$4", "cdn", "logrocketPlugin", "initLogrocketIfNeeded", "action", "logRocket", "getLogRocketQueue", "getLogRocketState", "flushLogRocketQueue", "setLogRocketState", "lr", "queue", "method", "res", "appId", "__awaiter$3", "omit", "gtmPlugin", "_c", "_d", "_f", "_g", "_h", "_j", "_k", "_l", "_m", "_o", "_p", "initGtmIfNeeded", "dataLayer", "traits", "idsFromTraits", "userData", "ids", "pageProperties", "pageVariables", "pushToDataLayer", "data", "pageEvent", "trackProperties", "trackEvent", "identifyEvent", "getGtmState", "setGtmState", "dlName", "tagId", "dl", "__awaiter$2", "urlData", "byteArrayToString", "byteArray", "buildTagUrl", "ga4Plugin", "initGa4IfNeeded", "gtag", "context", "getGa4State", "setGa4State", "dlParam", "satisfyFilter", "filter", "subject", "satisfyDomainFilter", "creds", "hosts", "events", "eventsArray", "hostFilter", "eventFilter", "internalDestinationPlugins", "jitsuVersion", "jitsuLibraryName", "publicSuffixes", "_publicSuffixesMap", "tld", "publicSuffixesMap", "getTopLevelDomain", "hostname", "domain", "parts", "Processor", "name", "pipeArg", "pipe", "input", "nextPipe", "lastPipe", "Pipe", "length", "index", "msg", "args", "filterName", "params", "should", "error", "Context", "child", "DiffContext", "left", "right", "PatchContext", "delta", "arrayEquals", "diffFilter$1", "patchFilter$1", "nonNestedDelta", "regexArgs", "collectChildrenDiffFilter", "objectsDiffFilter", "propertyFilter", "patchFilter", "nestedDelta", "objectDelta", "collectChildrenPatchFilter", "property", "diffFilter", "DiffPatcher", "create", "__awaiter$1", "diff", "defaultConfig", "mergeConfig", "current", "newConfig", "parseQuery", "qs", "queryString", "query", "pairs", "pair", "utmToKey", "parseUtms", "acc", "safeCall", "defaultVal", "restoreTraits", "storage", "val", "groupVal", "getCookie", "getClientIds", "runtime", "customCookieCapture", "cookieCapture", "clientIds", "cookieName", "getGa4Ids", "parseGa4SessionId", "cookieValue", "match", "allCookies", "clientId", "gaSessionCookies", "sessionIds", "sessionId", "removeCookie", "secure", "setCookie", "defaultCookie2Key", "cookieStorage", "cookieDomain", "key2cookie", "strVal", "parse", "windowRuntime", "key2Cookie", "cookies", "matches", "createInMemoryStorage", "emptyRuntime", "deepCopy", "deepMerge", "fixPath", "path", "hashRegex", "urlPath", "url", "canonicalUrl", "tags", "analyticsJsUrl", "canonical", "adjustPayload", "s2s", "_q", "parsedUrl", "properties", "targetUrl", "customContext", "referrer", "withContext", "maskWriteKey", "isDiff", "processDestinations", "destinations", "originalEvent", "analyticsInstance", "promises", "destination", "newEvents", "credentials", "plugin", "pluginInstance", "looksLikeCuid", "id", "validateWriteKey", "writeKey", "secret", "getErrorHandler", "configuredHandler", "send", "jitsuConfig", "instance", "store", "debugHeader", "adjustedPayload", "fetch", "abortController", "abortTimeout", "authHeader", "ipHeader", "fetchResult", "responseText", "responseJson", "controllingTraits", "stripControllingTraits", "jitsuAnalyticsPlugin", "jitsuOptions", "controller", "doNotSend", "newOptions", "idsWasDisabled", "newAnonymousId", "uuid", "userState", "groupId", "callback", "user", "userId", "anonymousId", "seedCounter", "getSeed", "defaultSeed", "hashString", "hash", "rb", "str", "seed", "h1", "h2", "ch", "__awaiter", "emptyAnalytics", "createUnderlyingAnalyticsInstance", "rt", "plugins", "storageCache", "cachingStorageWrapper", "persistentStorage", "analytics", "storageWrapper", "results", "fixOptions", "jitsuAnalytics", "_opts", "inBrowser", "index_exports", "__export", "init", "__toCommonJS", "import_js", "WRITE_KEY", "HOST", "getXPath", "element", "ix", "siblings", "i", "sibling", "getCssSelector", "path", "current", "selector", "partnerKey", "options", "autoTrack", "analytics", "lastPath", "trackPageChange", "wrapHistoryMethod", "method", "original", "args", "e", "target", "rect", "clickMeta", "tracker", "name", "value", "prop", "analyticsProp"]
7
7
  }