@jitsu/js 1.3.1-canary.301.20231020113455 → 1.5.1

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,6 +1,6 @@
1
- @jitsu/js:build: cache hit, replaying output 64fc282b0923aab8
1
+ @jitsu/js:build: cache hit, replaying output adf32738a7660400
2
2
  @jitsu/js:build: 
3
- @jitsu/js:build: > @jitsu/js@0.0.0 build /Users/ildarnurislamov/Projects/newjitsu/libs/jitsu-js
3
+ @jitsu/js:build: > @jitsu/js@0.0.0 build /Users/vklmn/dev2/newjitsu/libs/jitsu-js
4
4
  @jitsu/js:build: > tsc -p . && rollup -c && cp compiled/src/*.d.ts dist
5
5
  @jitsu/js:build: 
6
6
  @jitsu/js:build: 
@@ -14,7 +14,7 @@
14
14
  @jitsu/js:build: 3: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
15
  @jitsu/js:build: 4: return new (P || (P = Promise))(function (resolve, reject) {
16
16
  @jitsu/js:build: ...and 1 other occurrence
17
- @jitsu/js:build: compiled/src/destination-plugins/tag.js
17
+ @jitsu/js:build: compiled/src/destination-plugins/gtm.js
18
18
  @jitsu/js:build: 1: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
19
19
  @jitsu/js:build:  ^
20
20
  @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -26,7 +26,7 @@
26
26
  @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
27
  @jitsu/js:build: 3: return new (P || (P = Promise))(function (resolve, reject) {
28
28
  @jitsu/js:build: ...and 1 other occurrence
29
- @jitsu/js:build: compiled/src/destination-plugins/gtm.js
29
+ @jitsu/js:build: compiled/src/destination-plugins/tag.js
30
30
  @jitsu/js:build: 1: var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
31
31
  @jitsu/js:build:  ^
32
32
  @jitsu/js:build: 2: function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
@@ -47,7 +47,7 @@
47
47
  @jitsu/js:build:  ^
48
48
  @jitsu/js:build: 71: }
49
49
  @jitsu/js:build: 72: catch (e) {
50
- @jitsu/js:build: created dist/web/p.js.txt in 659ms
50
+ @jitsu/js:build: created dist/web/p.js.txt in 420ms
51
51
  @jitsu/js:build: 
52
52
  @jitsu/js:build: ./compiled/src/index.js, ./compiled/src/jitsu.js, ./compiled/src/analytics-plugin.js → dist/jitsu.es.js, dist/jitsu.cjs.js...
53
53
  @jitsu/js:build: (!) "this" has been rewritten to "undefined"
@@ -92,4 +92,4 @@
92
92
  @jitsu/js:build:  ^
93
93
  @jitsu/js:build: 71: }
94
94
  @jitsu/js:build: 72: catch (e) {
95
- @jitsu/js:build: created dist/jitsu.es.js, dist/jitsu.cjs.js in 192ms
95
+ @jitsu/js:build: created dist/jitsu.es.js, dist/jitsu.cjs.js in 129ms
@@ -1,5 +1,5 @@
1
- @jitsu/js:clean: cache hit, replaying output 46a3acf44fce768a
1
+ @jitsu/js:clean: cache hit, replaying output cfefea15f0f744c5
2
2
  @jitsu/js:clean: 
3
- @jitsu/js:clean: > @jitsu/js@0.0.0 clean /Users/ildarnurislamov/Projects/newjitsu/libs/jitsu-js
3
+ @jitsu/js:clean: > @jitsu/js@0.0.0 clean /Users/vklmn/dev2/newjitsu/libs/jitsu-js
4
4
  @jitsu/js:clean: > rm -rf ./dist
5
5
  @jitsu/js:clean: 
@@ -0,0 +1,126 @@
1
+ @jitsu/js:test: cache hit, replaying output f6f1c53af2069a68
2
+ @jitsu/js:test: 
3
+ @jitsu/js:test: > @jitsu/js@0.0.0 test /Users/vklmn/dev2/newjitsu/libs/jitsu-js
4
+ @jitsu/js:test: > pnpm run test:node && pnpm run test:playwright
5
+ @jitsu/js:test: 
6
+ @jitsu/js:test: 
7
+ @jitsu/js:test: > @jitsu/js@0.0.0 test:node /Users/vklmn/dev2/newjitsu/libs/jitsu-js
8
+ @jitsu/js:test: > jest
9
+ @jitsu/js:test: 
10
+ @jitsu/js:test: watchman warning: Recrawled this watch 1 times, most recently because:
11
+ @jitsu/js:test: MustScanSubDirs UserDroppedTo resolve, please review the information on
12
+ @jitsu/js:test: https://facebook.github.io/watchman/docs/troubleshooting.html#recrawl
13
+ @jitsu/js:test: To clear this warning, run:
14
+ @jitsu/js:test: `watchman watch-del '/Users/vklmn/dev2/newjitsu' ; watchman watch-project '/Users/vklmn/dev2/newjitsu'`
15
+ @jitsu/js:test: 
16
+ @jitsu/js:test: ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
17
+ @jitsu/js:test: transform: {
18
+ @jitsu/js:test:  <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
19
+ @jitsu/js:test: },
20
+ @jitsu/js:test: ts-jest[ts-jest-transformer] (WARN) Define `ts-jest` config under `globals` is deprecated. Please do
21
+ @jitsu/js:test: transform: {
22
+ @jitsu/js:test:  <transform_regex>: ['ts-jest', { /* ts-jest config goes here in Jest */ }],
23
+ @jitsu/js:test: },
24
+ @jitsu/js:test: ts-jest[backports] (WARN) "[jest-config].globals.ts-jest.tsConfig" is deprecated, use "[jest-config].globals.ts-jest.tsconfig" instead.
25
+ @jitsu/js:test: ts-jest[backports] (WARN) Your Jest configuration is outdated. Use the CLI to help migrating it: ts-jest config:migrate <config-file>.
26
+ @jitsu/js:test: ts-jest[backports] (WARN) "[jest-config].globals.ts-jest.tsConfig" is deprecated, use "[jest-config].globals.ts-jest.tsconfig" instead.
27
+ @jitsu/js:test: ts-jest[backports] (WARN) Your Jest configuration is outdated. Use the CLI to help migrating it: ts-jest config:migrate <config-file>.
28
+ @jitsu/js:test: PASS __tests__/node/method-queue.test.ts
29
+ @jitsu/js:test: FAIL __tests__/node/nodejs.test.ts (6.06 s)
30
+ @jitsu/js:test:  ● Console
31
+ @jitsu/js:test: 
32
+ @jitsu/js:test:  console.log
33
+ @jitsu/js:test:  Running on http://localhost:3088
34
+ @jitsu/js:test: 
35
+ @jitsu/js:test:  at nodejs.test.ts:28:13
36
+ @jitsu/js:test: 
37
+ @jitsu/js:test:  console.log
38
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __user_id=undefined
39
+ @jitsu/js:test: 
40
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
41
+ @jitsu/js:test: 
42
+ @jitsu/js:test:  console.log
43
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __anon_id=undefined
44
+ @jitsu/js:test: 
45
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
46
+ @jitsu/js:test: 
47
+ @jitsu/js:test:  console.log
48
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __user_traits=undefined
49
+ @jitsu/js:test: 
50
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
51
+ @jitsu/js:test: 
52
+ @jitsu/js:test:  console.log
53
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __user_id=undefined
54
+ @jitsu/js:test: 
55
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
56
+ @jitsu/js:test: 
57
+ @jitsu/js:test:  console.log
58
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __anon_id=undefined
59
+ @jitsu/js:test: 
60
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
61
+ @jitsu/js:test: 
62
+ @jitsu/js:test:  console.log
63
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __user_traits=undefined
64
+ @jitsu/js:test: 
65
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
66
+ @jitsu/js:test: 
67
+ @jitsu/js:test:  console.log
68
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Set storage item __anon_id="e045c540-4f1f-49ee-b96f-ef07c8c0d981"
69
+ @jitsu/js:test: 
70
+ @jitsu/js:test:  at Object.setItem (../../dist/jitsu.cjs.js:598:29)
71
+ @jitsu/js:test: 
72
+ @jitsu/js:test:  console.debug
73
+ @jitsu/js:test:  [JITSU] Initializing Jitsu plugin with config: {"writeKey":"key:secret","host":"http://localhost:3088","debug":true,"echoEvents":false}
74
+ @jitsu/js:test: 
75
+ @jitsu/js:test:  at Object.initialize (../../dist/jitsu.cjs.js:849:25)
76
+ @jitsu/js:test: 
77
+ @jitsu/js:test:  console.log
78
+ @jitsu/js:test:  [JITSU EMPTY RUNTIME] Get storage item __user_traits=undefined
79
+ @jitsu/js:test: 
80
+ @jitsu/js:test:  at Object.getItem (../../dist/jitsu.cjs.js:605:29)
81
+ @jitsu/js:test: 
82
+ @jitsu/js:test:  ● Test Jitsu NodeJS client › node js
83
+ @jitsu/js:test: 
84
+ @jitsu/js:test:  The error below may be caused by using the wrong test environment, see https://jestjs.io/docs/configuration#testenvironment-string.
85
+ @jitsu/js:test:  Consider using the "jsdom" test environment.
86
+ @jitsu/js:test: 
87
+ @jitsu/js:test:  ReferenceError: document is not defined
88
+ @jitsu/js:test: 
89
+ @jitsu/js:test:  496 | }
90
+ @jitsu/js:test:  497 | function getCookie(name) {
91
+ @jitsu/js:test:  > 498 | const value = `; ${document.cookie}`;
92
+ @jitsu/js:test:  | ^
93
+ @jitsu/js:test:  499 | const parts = value.split(`; ${name}=`);
94
+ @jitsu/js:test:  500 | return parts.length === 2 ? parts.pop().split(";").shift() : undefined;
95
+ @jitsu/js:test:  501 | }
96
+ @jitsu/js:test: 
97
+ @jitsu/js:test:  at getCookie (../../dist/jitsu.cjs.js:498:24)
98
+ @jitsu/js:test:  at adjustPayload (../../dist/jitsu.cjs.js:681:18)
99
+ @jitsu/js:test:  at send (../../dist/jitsu.cjs.js:785:29)
100
+ @jitsu/js:test:  at Object.track (../../dist/jitsu.cjs.js:862:20)
101
+ @jitsu/js:test:  at ../../dist/jitsu.cjs.js:11:7761
102
+ @jitsu/js:test: 
103
+ @jitsu/js:test:  ● Test Jitsu NodeJS client › node js
104
+ @jitsu/js:test: 
105
+ @jitsu/js:test:  thrown: "Exceeded timeout of 5000 ms for a test.
106
+ @jitsu/js:test:  Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
107
+ @jitsu/js:test: 
108
+ @jitsu/js:test:  33 | };
109
+ @jitsu/js:test:  34 |
110
+ @jitsu/js:test:  > 35 | test("node js", async () => {
111
+ @jitsu/js:test:  | ^
112
+ @jitsu/js:test:  36 | await startServer();
113
+ @jitsu/js:test:  37 | try {
114
+ @jitsu/js:test:  38 | const jitsu: AnalyticsInterface = jitsuAnalytics({
115
+ @jitsu/js:test: 
116
+ @jitsu/js:test:  at nodejs.test.ts:35:3
117
+ @jitsu/js:test:  at Object.<anonymous> (nodejs.test.ts:8:1)
118
+ @jitsu/js:test: 
119
+ @jitsu/js:test: A worker process has failed to exit gracefully and has been force exited. This is likely caused by tests leaking due to improper teardown. Try running with --detectOpenHandles to find leaks. Active timers can also cause this, ensure that .unref() was called on them.
120
+ @jitsu/js:test: Test Suites: 1 failed, 1 passed, 2 total
121
+ @jitsu/js:test: Tests: 1 failed, 3 passed, 4 total
122
+ @jitsu/js:test: Snapshots: 0 total
123
+ @jitsu/js:test: Time: 6.792 s
124
+ @jitsu/js:test: Ran all test suites.
125
+ @jitsu/js:test:  ELIFECYCLE  Command failed with exit code 1.
126
+ @jitsu/js:test:  ELIFECYCLE  Test failed. See above for more details.
package/dist/jitsu.cjs.js CHANGED
@@ -677,6 +677,10 @@ function adjustPayload(payload, config, storage) {
677
677
  url: properties.url || url,
678
678
  encoding: properties.encoding || runtime.documentEncoding(),
679
679
  },
680
+ clientIds: {
681
+ fbc: getCookie("_fbc"),
682
+ fbp: getCookie("_fbp"),
683
+ },
680
684
  campaign: parseUtms(query),
681
685
  };
682
686
  const withContext = Object.assign(Object.assign({}, payload), { timestamp: new Date().toISOString(), sentAt: new Date().toISOString(), messageId: randomId(properties.path || (parsedUrl && parsedUrl.pathname)), writeKey: maskWriteKey(config.writeKey), context: deepMerge(context, customContext) });
package/dist/jitsu.es.js CHANGED
@@ -675,6 +675,10 @@ function adjustPayload(payload, config, storage) {
675
675
  url: properties.url || url,
676
676
  encoding: properties.encoding || runtime.documentEncoding(),
677
677
  },
678
+ clientIds: {
679
+ fbc: getCookie("_fbc"),
680
+ fbp: getCookie("_fbp"),
681
+ },
678
682
  campaign: parseUtms(query),
679
683
  };
680
684
  const withContext = Object.assign(Object.assign({}, payload), { timestamp: new Date().toISOString(), sentAt: new Date().toISOString(), messageId: randomId(properties.path || (parsedUrl && parsedUrl.pathname)), writeKey: maskWriteKey(config.writeKey), context: deepMerge(context, customContext) });
package/dist/web/p.js.txt CHANGED
@@ -1 +1 @@
1
- (function(){"use strict";function n$2(e,t,n,r,o){for(t=t.split?t.split("."):t,r=0;r<t.length;r++)e=e?e[t[r]]:o;return e===o?n:e}var e="undefined",o$1="object",g$2="any",m$1="*",j$1="__",F$2="undefined"!=typeof process?process:{};F$2.env&&F$2.env.NODE_ENV;var $$1="undefined"!=typeof window;function M$1(e,t){return t.charAt(0)[e]()+t.slice(1)}null!=F$2.versions&&F$2.versions.node,"undefined"!=typeof Deno&&Deno.core,$$1&&"nodejs"===window.name||"undefined"!=typeof navigator&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));var U$1=M$1.bind(null,"toUpperCase"),H$1=M$1.bind(null,"toLowerCase");function J$2(e){return Y$1(e)?U$1("null"):"object"==typeof e?yn(e):Object.prototype.toString.call(e).slice(8,-1)}function R$1(e,t){void 0===t&&(t=!0);var n=J$2(e);return t?H$1(n):n}function V$1(e,t){return typeof t===e}var W$1=V$1.bind(null,"function"),q$1=V$1.bind(null,"string"),I$2=V$1.bind(null,"undefined"),Q$1=V$1.bind(null,"boolean");function Y$1(e){return null===e}function nn(e){return"number"===R$1(e)&&!isNaN(e)}function rn(e){return"array"===R$1(e)}function on(e){if(!un(e))return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function un(e){return e&&("object"==typeof e||null!==e)}function yn(e){return W$1(e.constructor)?e.constructor.name:null}function hn(e){return e instanceof Error||q$1(e.message)&&e.constructor&&nn(e.constructor.stackTraceLimit)}function On(e,t){if("object"!=typeof t||Y$1(t))return!1;if(t instanceof e)return!0;var n=R$1(new e(""));if(hn(t))for(;t;){if(R$1(t)===n)return!0;t=Object.getPrototypeOf(t)}return!1}function $n(e,t){var n=e instanceof Element||e instanceof HTMLDocument;return n&&t?Tn(e,t):n}function Tn(e,t){return void 0===t&&(t=""),e&&e.nodeName===t.toUpperCase()}function _n(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}function n$1(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function s(e){return function(e){for(var t,n=Object.create(null),r=/([^&=]+)=?([^&]*)/g;t=r.exec(e);){var o=n$1(t[1]),i=n$1(t[2]);"[]"===o.substring(o.length-2)?(n[o=o.substring(0,o.length-2)]||(n[o]=[])).push(i):n[o]=""===i||i}for(var a in n){var c=a.split("[");c.length>1&&(m(n,c.map((function(e){return e.replace(/[?[\]\\ ]/g,"")})),n[a]),delete n[a])}return n}(function(e){if(e){var t=e.match(/\?(.*)/);return t&&t[1]?t[1].split("#")[0]:""}return $$1&&window.location.search.substring(1)}(e))}function m(e,t,n){for(var r=t.length-1,o=0;o<r;++o){var i=t[o];if("__proto__"===i||"constructor"===i)break;i in e||(e[i]={}),e=e[i]}e[t[r]]=n}function y$1(){for(var e="",t=0,n=4294967295*Math.random()|0;t++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],o=15&n;e+="-"==r||"4"==r?r:("x"==r?o:3&o|8).toString(16),n=t%8==0?4294967295*Math.random()|0:n>>4}return e}V$1.bind(null,"symbol"),On.bind(null,TypeError),On.bind(null,SyntaxError),_n($n,"form"),_n($n,"button"),_n($n,"input"),_n($n,"select");var 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(e){return n[o][e]}function f(e,t){return n[o][e]=t}function i$2(e){delete n[o][e]}function u$1(e,t,n){var r;try{if(b$2(e)){var o=window[e];r=o[t].bind(o)}}catch(e){}return r||n}n[o]||(n[o]={});var c$1={};function b$2(t){if(typeof c$1[t]!==e)return c$1[t];try{var n=window[t];n.setItem(e,e),n.removeItem(e)}catch(e){return c$1[t]=!1}return c$1[t]=!0}function 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=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 o=e,i=t,a=[],c=a,s=!1;function u(){c===a&&(c=a.slice())}function l(){return i}function g(e){if(typeof e!==h$1)throw new Error("Listener"+I$1);var t=!0;return u(),c.push(e),function(){if(t){t=!1,u();var n=c.indexOf(e);c.splice(n,1)}}}function d(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,i=o(i,e)}finally{s=!1}for(var t=a=c,n=0;n<t.length;n++)(0,t[n])();return e}return d({type:"@@redux/INIT"}),(r={dispatch:d,subscribe:g,getState:l,replaceReducer:function(e){if(typeof e!==h$1)throw new Error("next reducer"+I$1);o=e,d({type:"@@redux/INIT"})}})[b$1]=function(){var e,t=g;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Observer != obj");function n(){e.next&&e.next(l())}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,o){var i,a=t(n,r,o),c=a.dispatch,s={getState:a.getState,dispatch:function(e){return c(e)}};return i=[].slice.call(e).map((function(e){return e(s)})),g$1({},a,{dispatch:c=P.apply(void 0,i)(a.dispatch)})}}}var N$1=j$1+"anon_id",A$1=j$1+"user_id",_=j$1+"user_traits",k$1="userId",j="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(o){if(o.type===z.bootstrap){var i=o.params,a=o.user,c=o.persistedUser,s=o.initialUser,u=c.userId===a.userId;c.anonymousId!==a.anonymousId&&t(N$1,a.anonymousId),u||t(A$1,a.userId),s.traits&&t(_,g$1({},u&&c.traits?c.traits:{},s.traits));var l=Object.keys(o.params);if(l.length){var g=i.an_uid,d=i.an_event,m=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]=i[t]}return t.match(q)&&(e.props[t.replace(q,"")]=i[t]),t.match(V)&&(e.traits[t.replace(V,"")]=i[t]),e}),{campaign:{},props:{},traits:{}});n.dispatch(g$1({type:z.params,raw:i},m,g?{userId:g}:{})),g&&setTimeout((function(){return e.identify(g,m.traits)}),0),d&&setTimeout((function(){return e.track(d,m.props)}),0),Object.keys(m.campaign).length&&n.dispatch({type:z.campaign,campaign:m.campaign})}}return r(o)}}}}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(e){var t=e.storage,n=t.setItem,r=t.removeItem,o=t.getItem;return function(e){return function(t){return function(i){var a=i.userId,c=i.traits,s=i.options;if(i.type===z.reset&&([A$1,_,N$1].forEach((function(e){r(e)})),[k$1,j,"traits"].forEach((function(e){i$2($(e))}))),i.type===z.identify){o(N$1)||n(N$1,y$1());var u=o(A$1),l=o(_)||{};u&&u!==a&&e.dispatch({type:z.userIdChanged,old:{userId:u,traits:l},new:{userId:a,traits:c},options:s}),a&&n(A$1,a),c&&n(_,g$1({},l,c))}return t(i)}}}}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,o){return t()?r(e):n<1?o(g$1({},e,{queue:!0})):new Promise((function(e){return setTimeout(e,10)})).then((function(i){return J$1(e,t,n-10).then(r,o)}))}))}var X=function(e){var t=e.data,n=e.action,r=e.instance,o=e.state,i=e.allPlugins,a=e.allMatches,c=e.store,s=e.EVENTS;try{var u=o.plugins,l=o.context,g=n.type,d=g.match(H),m=t.exact.map((function(e){return e.pluginName}));d&&(m=a.during.map((function(e){return e.pluginName})));var f=function(e,t){return function(n,r,o){var i=r.config,a=r.name,c=a+"."+n.type;o&&(c=o.event);var s=n.type.match(H)?function(e,t,n,r,o){return function(i,a){var c=r?r.name:e,s=a&&te(a)?a:n;if(r&&(!(s=a&&te(a)?a:[e]).includes(e)||1!==s.length))throw new Error("Method "+t+" can only abort "+e+" plugin. "+JSON.stringify(s)+" input valid");return g$1({},o,{abort:{reason:i,plugins:s,caller:t,_:c}})}}(a,c,t,o,n):function(e,t){return function(){throw new Error(e.type+" action not cancellable. Remove abort in "+t)}}(n,c);return{payload:ie(n),instance:e,config:i||{},abort:s}}}(r,m),p=t.exact.reduce((function(e,t){var n=t.pluginName,r=t.methodName,o=!1;return r.match(/^initialize/)||r.match(/^reset/)||(o=!u[n].loaded),l.offline&&r.match(/^(page|track|identify)/)&&(o=!0),e[""+n]=o,e}),{});return Promise.resolve(t.exact.reduce((function(e,o,a){var c=o.pluginName;return Promise.resolve(e).then((function(e){function o(){return Promise.resolve(e)}var a=function(){if(t.namespaced&&t.namespaced[c])return Promise.resolve(t.namespaced[c].reduce((function(e,t,n){return Promise.resolve(e).then((function(e){return t.method&&W$1(t.method)?(function(e,t){var n=re(e);if(n&&n.name===t){var r=re(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,o=c,a=t.pluginName,function(e,t){return g$1({},n,{abort:{reason:e,plugins:t||[o],caller:g,from:a||o}})}),config:K(t.pluginName,u,i),plugins:u})).then((function(t){var n=on(t)?t:{};return Promise.resolve(g$1({},e,n))}))):e;var n,o,a}))}),Promise.resolve(n))).then((function(t){e[c]=t}));e[c]=n}();return a&&a.then?a.then(o):o()}))}),Promise.resolve({}))).then((function(e){return Promise.resolve(t.exact.reduce((function(n,o,a){try{var s=t.exact.length===a+1,l=o.pluginName,m=i[l];return Promise.resolve(n).then((function(t){var n=e[l]?e[l]:{};if(d&&(n=t),Z(n,l))return G$1({data:n,method:g,instance:r,pluginName:l,store:c}),Promise.resolve(t);if(Z(t,l))return s&&G$1({data:t,method:g,instance:r,store:c}),Promise.resolve(t);if(p.hasOwnProperty(l)&&!0===p[l])return c.dispatch({type:"queue",plugin:l,payload:n,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(t);var o=f(e[l],i[l]);return Promise.resolve(m[g]({abort:o.abort,payload:n,instance:r,config:K(l,u,i),plugins:u})).then((function(o){var i=on(o)?o:{},a=g$1({},t,i),s=e[l];if(Z(s,l))G$1({data:s,method:g,instance:r,pluginName:l,store:c});else{var u=g+":"+l;(u.match(/:/g)||[]).length<2&&!g.match(W)&&!g.match(F$1)&&r.dispatch(g$1({},d?a:n,{type:u,_:{called:u,from:"submethod"}}))}return Promise.resolve(a)}))}))}catch(e){return Promise.reject(e)}}),Promise.resolve(n))).then((function(e){if(!(g.match(H)||g.match(/^registerPlugin/)||g.match(F$1)||g.match(W)||g.match(/^params/)||g.match(/^userIdChanged/))){if(s.plugins.includes(g),e._&&e._.originalAction===g)return e;var n=g$1({},e,{_:{originalAction:e.type,called:e.type,from:"engineEnd"}});ee(e,t.exact.length)&&!g.match(/End$/)&&(n=g$1({},n,{type:e.type+"Aborted"})),c.dispatch(n)}return e}))}))}catch(e){return Promise.reject(e)}},H=/Start$/,W=/^bootstrap/,F$1=/^ready/;function G$1(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 K(e,t,n){var r=t[e]||n[e];return r&&r.config?r.config:{}}function Q(e,t){return t.reduce((function(t,n){return n[e]?t.concat({methodName:e,pluginName:n.name,method:n[e]}):t}),[])}function Y(e,t){var n=e.replace(H,""),r=t?":"+t:"";return[""+e+r,""+n+r,n+"End"+r]}function Z(e,t){var n=e.abort;return!!n&&(!0===n||ne(n,t)||n&&ne(n.plugins,t))}function ee(e,t){var n=e.abort;if(!n)return!1;if(!0===n||q$1(n))return!0;var r=n.plugins;return te(n)&&n.length===t||te(r)&&r.length===t}function te(e){return Array.isArray(e)}function ne(e,t){return!(!e||!te(e))&&e.includes(t)}function re(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function ie(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 ae(e,t,n){var r={};return function(o){return function(i){return function(a){try{var c,s=function(e){return c?e:i(g)},u=a.type,l=a.plugins,g=a;if(a.abort)return Promise.resolve(i(a));if(u===z.enablePlugin&&o.dispatch({type:z.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:a.meta}),u===z.disablePlugin&&setTimeout((function(){return L$1(a.meta.rid,{payload:a})}),0),u===z.initializeEnd){var d=t(),m=Object.keys(d),f=m.filter((function(e){return l.includes(e)})).map((function(e){return d[e]})),p=[],v=[],b=a.disabled,h=f.map((function(e){var t=e.name;return J$1(e,e.loaded,1e4).then((function(n){return r[t]||(o.dispatch({type:z.pluginReadyType(t),name:t,events:Object.keys(e).filter((function(e){return!T.includes(e)}))}),r[t]=!0),p=p.concat(t),e})).catch((function(e){if(e instanceof Error)throw new Error(e);return v=v.concat(e.name),e}))}));Promise.all(h).then((function(e){var t={plugins:p,failed:v,disabled:b};setTimeout((function(){m.length===h.length+b.length&&o.dispatch(g$1({},{type:z.ready},t))}),0)}))}var y=function(){if(u!==z.bootstrap)return/^ready:([^:]*)$/.test(u)&&setTimeout((function(){return function(e,t,n){var r=t(),o=e.getState(),i=o.plugins,a=o.queue,c=o.user;if(!o.context.offline&&a&&a.actions&&a.actions.length){var s=a.actions.reduce((function(e,t,n){return i[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(s.processIndex&&s.processIndex.length){s.processIndex.forEach((function(t){var o=a.actions[t],s=o.plugin,u=o.payload.type,l=r[s][u];if(l&&W$1(l)){var g=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),[k$1,j].reduce((function(n,r){return e.hasOwnProperty(r)&&t[r]&&t[r]!==e[r]&&(n[r]=t[r]),n}),e)}(o.payload,c);l({payload:g,config:i[s].config,instance:n});var d=u+":"+s;e.dispatch(g$1({},g,{type:d,_:{called:d,from:"queueDrain"}}))}}));var u=a.actions.filter((function(e,t){return!~s.processIndex.indexOf(t)}));a.actions=u}}}(o,t,e)}),0),Promise.resolve(function(e,t,n,r,o){try{var i=W$1(t)?t():t,a=e.type,c=a.replace(H,"");if(e._&&e._.called)return Promise.resolve(e);var s=n.getState(),u=(d=i,void 0===(m=s.plugins)&&(m={}),void 0===(f=e.options)&&(f={}),Object.keys(d).filter((function(e){var t=f.plugins||{};return Q$1(t[e])?t[e]:!1!==t.all&&(!m[e]||!1!==m[e].enabled)})).map((function(e){return d[e]})));a===z.initializeStart&&e.fromEnable&&(u=Object.keys(s.plugins).filter((function(t){var n=s.plugins[t];return e.plugins.includes(t)&&!n.initialized})).map((function(e){return i[e]})));var l=u.map((function(e){return e.name})),g=function(e,t,n){var r=Y(e).map((function(e){return Q(e,t)}));return t.reduce((function(n,r){var o=r.name,i=Y(e,o).map((function(e){return Q(e,t)})),a=i[0],c=i[1],s=i[2];return a.length&&(n.beforeNS[o]=a),c.length&&(n.duringNS[o]=c),s.length&&(n.afterNS[o]=s),n}),{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(a,u);return Promise.resolve(X({action:e,data:{exact:g.before,namespaced:g.beforeNS},state:s,allPlugins:i,allMatches:g,instance:n,store:r,EVENTS:o})).then((function(e){function t(){var t=function(){if(a.match(H))return Promise.resolve(X({action:g$1({},u,{type:c+"End"}),data:{exact:g.after,namespaced:g.afterNS},state:s,allPlugins:i,allMatches:g,instance:n,store:r,EVENTS:o})).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(ee(e,l.length))return e;var u,d=function(){if(a!==c)return Promise.resolve(X({action:g$1({},e,{type:c}),data:{exact:g.during,namespaced:g.duringNS},state:s,allPlugins:i,allMatches:g,instance:n,store:r,EVENTS:o})).then((function(e){u=e}));u=e}();return d&&d.then?d.then(t):t()}))}catch(e){return Promise.reject(e)}var d,m,f}(a,t,e,o,n)).then((function(e){var t=i(e);return c=1,t}))}();return Promise.resolve(y&&y.then?y.then(s):s(y))}catch(e){return Promise.reject(e)}}}}}function oe(e){return function(t){return function(t){return function(n){var r=n.type,o=n.key,i=n.value,a=n.options;if(r===z.setItem||r===z.removeItem){if(n.abort)return t(n);r===z.setItem?e.setItem(o,i,a):e.removeItem(o,a)}return t(n)}}}}var ue=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(o){var i={getState:n.getState,dispatch:function(e){return n.dispatch(e)}},a=e[t].map((function(e){return e(i)}));return P.apply(void 0,a)(r)(o)}}}}};function ce(e){return function(t,n){void 0===t&&(t={});var r={};if("initialize:aborted"===n.type)return t;if(/^registerPlugin:([^:]*)$/.test(n.type)){var o=se(n.type,"registerPlugin"),i=e()[o];if(!i||!o)return t;var a=n.enabled;return r[o]={enabled:a,initialized:!!a&&Boolean(!i.initialize),loaded:!!a&&Boolean(i.loaded()),config:i.config||{}},g$1({},t,r)}if(/^initialize:([^:]*)$/.test(n.type)){var c=se(n.type,z.initialize),s=e()[c];return s&&c?(r[c]=g$1({},t[c],{initialized:!0,loaded:Boolean(s.loaded())}),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,le(n.plugins,!1,t));case z.enablePlugin:return g$1({},t,le(n.plugins,!0,t));default:return t}}}function se(e,t){return e.substring(t.length+1,e.length)}function le(e,t,n){return e.reduce((function(e,r){return e[r]=g$1({},n[r],{enabled:t}),e}),n)}function fe(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var de={last:{},history:[]};function pe(e,t){void 0===e&&(e=de);var n=t.options,r=t.meta;if(t.type===z.track){var o=fe(g$1({event:t.event,properties:t.properties},Object.keys(n).length&&{options:n},{meta:r}));return g$1({},e,{last:o,history:e.history.concat(o)})}return e}var me={actions:[]};function ge(e,t){void 0===e&&(e=me);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 he=/#.*$/;function ve(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(he,""):"")}var ye,be=function(e){if(void 0===e&&(e={}),!$$1)return e;var t=document,n=t.title,r=t.referrer,o=window,i=o.location,a=o.innerWidth,c=o.innerHeight,s=i.hash,u=i.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(he,"")}(u),g={title:n,url:l,path:ve(l),hash:s,search:u,width:a,height:c};return r&&""!==r&&(g.referrer=r),g$1({},g,e)},Ie={last:{},history:[]};function we(e,t){void 0===e&&(e=Ie);var n=t.options;if(t.type===z.page){var r=fe(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}ye={};var Ee={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.11.0"},timezone:void 0,locale:void 0,campaign:{},referrer:ye};function Pe(e,t){void 0===e&&(e=Ee);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({},Ee,e,{initialized:!0})}}var Se=["plugins","reducers","storage"];function Ne(){return f("analytics",[]),function(e){return function(t,r,i){var a=e(t,r,i),c=a.dispatch;return Object.assign(a,{dispatch:function(e){return n[o].analytics.push(e.action||e),c(e)}})}}}function Ae(e){return function(){return P(P.apply(null,arguments),Ne())}}function _e(e){return e?rn(e)?e:[e]:[]}function Oe(e,t,n){void 0===e&&(e={});var r,o,i=y$1();return t&&(B[i]=(r=t,o=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}(n),function(e){o&&o(e),r(e)})),g$1({},e,{rid:i,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function ke(e){void 0===e&&(e={});var t=e.reducers||{},n=e.initialUser||{},r=(e.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");var n=t.EVENTS?Object.keys(t.EVENTS).map((function(e){return t.EVENTS[e]})):[];e.pluginEnabled[t.name]=!(!1===t.enabled||t.config&&!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]=x,r.apply({instance:x},t)}),e}),{}),delete t.methods);var r=Object.keys(t).concat(n),o=new Set(e.events.concat(r));if(e.events=Array.from(o),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:[]}),o=e.storage?e.storage:{getItem:a$2,setItem:f,removeItem:i$2},i=function(e){return function(t,n,r){return n.getState("user")[t]||(r&&on(r)&&r[t]?r[t]:R(e)[t]||a$2($(t))||null)}}(o),a=r.plugins,c=r.events.filter((function(e){return!T.includes(e)})).sort(),u=new Set(c.concat(x$1).filter((function(e){return!T.includes(e)}))),l=Array.from(u).sort(),g=function(){return a},d=new ue,m=d.addMiddleware,p=d.removeMiddleware,b=d.dynamicMiddlewares,h=function(){throw new Error("Abort disabled inListener")},k=s(),I=R(o),O=g$1({},I,n,k.an_uid?{userId:k.an_uid}:{},k.an_aid?{anonymousId:k.an_aid}:{});O.anonymousId||(O.anonymousId=y$1());var _=g$1({enable:function(e,t){return new Promise((function(n){V.dispatch({type:z.enablePlugin,plugins:_e(e),_:{originalAction:z.enablePlugin}},n,[t])}))},disable:function(e,t){return new Promise((function(n){V.dispatch({type:z.disablePlugin,plugins:_e(e),_:{originalAction:z.disablePlugin}},n,[t])}))}},r.methods),x={identify:function(e,t,n,r){try{var o=q$1(e)?e:null,a=on(e)?e:t,c=n||{},s=x.user();f($(k$1),o);var u=o||a.userId||i(k$1,x,a);return Promise.resolve(new Promise((function(e){V.dispatch(g$1({type:z.identifyStart,userId:u,traits:a||{},options:c,anonymousId:s.anonymousId},s.id&&s.id!==o&&{previousId:s.id}),e,[t,n,r])})))}catch(e){return Promise.reject(e)}},track:function(e,t,n,r){try{var o=on(e)?e.event:e;if(!o||!q$1(o))throw new Error("EventMissing");var a=on(e)?e:t||{},c=on(n)?n:{};return Promise.resolve(new Promise((function(e){V.dispatch({type:z.trackStart,event:o,properties:a,options:c,userId:i(k$1,x,t),anonymousId:i(j,x,t)},e,[t,n,r])})))}catch(e){return Promise.reject(e)}},page:function(e,t,n){try{var r=on(e)?e:{},o=on(t)?t:{};return Promise.resolve(new Promise((function(a){V.dispatch({type:z.pageStart,properties:be(r),options:o,userId:i(k$1,x,r),anonymousId:i(j,x,r)},a,[e,t,n])})))}catch(e){return Promise.reject(e)}},user:function(e){if(e===k$1||"id"===e)return i(k$1,x);if(e===j||"anonId"===e)return i(j,x);var t=x.getState("user");return e?n$2(t,e):t},reset:function(e){return new Promise((function(t){V.dispatch({type:z.resetStart},t,e)}))},ready:function(e){return x.on(z.ready,e)},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:x,plugins:a}),e(r)}}},o=function(e){return function(e){return function(r){return r.type.match(n)||t({payload:r,instance:x,plugins:a}),e(r)}}};return m(r,je),m(o,xe),function(){p(r,je),p(o,xe)}}var i=e.match(n)?je:xe,c=function(n){return function(n){return function(r){return r.type===e&&t({payload:r,instance:x,plugins:a,abort:h}),n(r)}}};return m(c,i),function(){return p(c,i)}},once:function(e,t){if(!e||!W$1(t))return!1;if(e===z.bootstrap)throw new Error(".once disabled for "+e);var n=x.on(e,(function(e){t({payload:e.payload,instance:x,plugins:a,abort:h}),n()}));return n},getState:function(e){var t=V.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._||{})});V.dispatch(n)},enablePlugin:_.enable,disablePlugin:_.disable,plugins:_,storage:{getItem:o.getItem,setItem:function(e,t,n){V.dispatch({type:z.setItemStart,key:e,value:t,options:n})},removeItem:function(e,t){V.dispatch({type:z.removeItemStart,key:e,options:t})}},setAnonymousId:function(e,t){x.storage.setItem(N$1,e,t)},events:{core:x$1,plugins:c}},E=r.middlewares.concat([function(e){return function(e){return function(t){return t.meta||(t.meta=Oe()),e(t)}}},b(je),ae(x,g,{all:l,plugins:c}),oe(o),C$1(x),D(x),b(xe)]),N={context:Pe,user:U(o),page:we,track:pe,plugins:ce(g),queue:ge},A=P,L=P;if($$1&&e.debug){var C=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;C&&(A=C({trace:!0,traceLimit:25})),L=function(){return 0===arguments.length?Ne():on(typeof arguments[0])?Ae():Ae().apply(null,arguments)}}var M,J=function(e){return Object.keys(e).reduce((function(t,n){return Se.includes(n)||(t[n]=e[n]),t}),{})}(e),q=r.pluginsArray.reduce((function(e,t){var n=t.name,o=t.config,i=t.loaded,a=r.pluginEnabled[n];return e[n]={enabled:a,initialized:!!a&&Boolean(!t.initialize),loaded:Boolean(i()),config:o||{}},e}),{}),F={context:J,user:O,plugins:q},V=w(function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var o=t[r];typeof e[o]===h$1&&(n[o]=e[o])}var i,a=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){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var r=!1,o={},c=0;c<a.length;c++){var s=a[c],u=e[s],l=(0,n[s])(u,t);if(typeof l===v){var g=E$1(s,t);throw new Error(g)}o[s]=l,r=r||l!==u}return r?o:e}}(g$1({},N,t)),F,L(A(S.apply(void 0,E))));V.dispatch=(M=V.dispatch,function(e,t,n){var r=g$1({},e,{meta:Oe(e.meta,t,_e(n))});return M.apply(null,[r])});var G=Object.keys(a);V.dispatch({type:z.bootstrap,plugins:G,config:J,params:k,user:O,initialUser:n,persistedUser:I});var W=G.filter((function(e){return r.pluginEnabled[e]})),B=G.filter((function(e){return!r.pluginEnabled[e]}));return V.dispatch({type:z.registerPlugins,plugins:G,enabled:r.pluginEnabled}),r.pluginsArray.map((function(e,t){var n=e.bootstrap,o=e.config,i=e.name;n&&W$1(n)&&n({instance:x,config:o,payload:e}),V.dispatch({type:z.registerPluginType(i),name:i,enabled:r.pluginEnabled[i],plugin:e}),r.pluginsArray.length===t+1&&V.dispatch({type:z.initializeStart,plugins:W,disabled:B})})),x}var je="before",xe="after",t="cookie",i$1=a$1(),r$1=d$1,c=d$1;function u(e){return i$1?d$1(e,"",-1):i$2(e)}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,n,r,o,i){if("undefined"!=typeof window){var a=arguments.length>1;return!1===i$1&&(a?f(e,t):a$2(e)),a?document.cookie=e+"="+encodeURIComponent(t)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(o?"; domain="+o:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var 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);var a="sessionStorage",i=b$2.bind(null,"sessionStorage");function I(e){var t=e;try{if("true"===(t=JSON.parse(e)))return!0;if("false"===t)return!1;if(on(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}u$1("sessionStorage","getItem",a$2),u$1("sessionStorage","setItem",f),u$1("sessionStorage","removeItem",i$2);var k=g(),O=i(),x=a$1();function C(e,t){if(e){var n=A(t),r=!N(n),o=d(n)?I(localStorage.getItem(e)):void 0;if(r&&!I$2(o))return o;var i=h(n)?I(r$1(e)):void 0;if(r&&i)return i;var a=E(n)?I(sessionStorage.getItem(e)):void 0;if(r&&a)return a;var c=a$2(e);return r?c:{localStorage:o,sessionStorage:a,cookie:i,global:c}}}function L(e,n,o){if(e&&!I$2(n)){var i={},s=A(o),u=JSON.stringify(n),g=!N(s);return d(s)&&(i[r]=F(r,n,I(localStorage.getItem(e))),localStorage.setItem(e,u),g)?i[r]:h(s)&&(i[t]=F(t,n,I(r$1(e))),c(e,u),g)?i[t]:E(s)&&(i[a]=F(a,n,I(sessionStorage.getItem(e))),sessionStorage.setItem(e,u),g)?i[a]:(i[l]=F(l,n,a$2(e)),f(e,n),g?i[l]:i)}}function b(e,n){if(e){var o=A(n),i=C(e,m$1),c={};return!I$2(i.localStorage)&&d(o)&&(localStorage.removeItem(e),c[r]=i.localStorage),!I$2(i.cookie)&&h(o)&&(u(e),c[t]=i.cookie),!I$2(i.sessionStorage)&&E(o)&&(sessionStorage.removeItem(e),c[a]=i.sessionStorage),!I$2(i.global)&&G(o,l)&&(i$2(e),c[l]=i.global),c}}function A(e){return e?q$1(e)?e:e.storage:g$2}function d(e){return k&&G(e,r)}function h(e){return x&&G(e,t)}function E(e){return O&&G(e,a)}function N(e){return e===m$1||"all"===e}function G(e,t){return e===g$2||e===t||N(e)}function F(e,t,n){return{location:e,current:t,previous:n}}var J={setItem:L,getItem:C,removeItem:b};function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function analyticsLib(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ke(_objectSpread2(_objectSpread2({},{storage:J}),e))}function findScript(e){return Array.prototype.slice.call(window.document.querySelectorAll("script")).find((t=>t.src===e))}function loadScript(e,t){const n=findScript(e);if(void 0!==n){const e=null==n?void 0:n.getAttribute("status");if("loaded"===e)return Promise.resolve(n);if("loading"===e)return new Promise(((e,t)=>{n.addEventListener("load",(()=>e(n))),n.addEventListener("error",(e=>t(e)))}))}return new Promise(((n,r)=>{var o;const i=window.document.createElement("script");i.type="text/javascript",i.src=e,i.async=!0,i.setAttribute("status","loading");for(const[e,n]of Object.entries(null!=t?t:{}))i.setAttribute(e,n);i.onload=()=>{i.onerror=i.onload=null,i.setAttribute("status","loaded"),n(i)},i.onerror=()=>{i.onerror=i.onload=null,i.setAttribute("status","error"),r(new Error(`Failed to load ${e}`))};const a=window.document.getElementsByTagName("script")[0];null===(o=a.parentElement)||void 0===o||o.insertBefore(i,a)}))}var __awaiter$3=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const tagPlugin={id:"tag",handle(e,t){return __awaiter$3(this,void 0,void 0,(function*(){applyFilters(t,e)&&insertTags(e.code,t)}))}};function insertTags(e,t,n={}){let r;try{r=JSON.parse(e)}catch(t){r={code:e,lang:"javascript"}}const o=n.debug||!1;if(isInBrowser())if("javascript"===r.lang)execJs(r.code,t);else{const e=document.createElement("span");e.innerHTML=replaceMacro(r.code,t),document.body.insertAdjacentElement("beforeend",e);e.querySelectorAll("script").forEach((e=>{const t=document.createElement("script");t.type=t.type||"text/javascript",e.hasAttribute("src")&&(t.src=e.src),t.text=e.text,o&&console.log("[JITSU] Executing script"+(e.hasAttribute("src")?` ${e.src}`:""),t.text),document.head.appendChild(t),document.head.removeChild(t)}))}else o&&console.log("[JITSU] insertTags(): cannot insert tags in non-browser environment")}function execJs(code,event){const varName=`jitsu_event_${randomId()}`;window[varName]=event;const iif=`(function(){\n const event = ${varName};\n ${code}\n })()`;try{eval(iif)}catch(e){console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `,iif)}finally{delete window[varName]}return iif}function replaceMacro(e,t){return e.replace(/{{\s*event\s*}}/g,JSON.stringify(t))}var __awaiter$2=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const logrocketPlugin={id:"logrocket",handle(e,t){return __awaiter$2(this,void 0,void 0,(function*(){if(!applyFilters(t,e))return;initLogrocketIfNeeded(e.appId);getLogRocketQueue().push((e=>{"identify"===t.type&&t.userId&&e.identify(t.userId,t.traits||{})})),"loaded"===getLogRocketState()&&flushLogRocketQueue(window.LogRocket)}))}};function getLogRocketState(){return window.__jitsuLrState||"fresh"}function setLogRocketState(e){window.__jitsuLrState=e}function getLogRocketQueue(){return window.__jitsuLrQueue||(window.__jitsuLrQueue=[])}function flushLogRocketQueue(e){const t=getLogRocketQueue();for(;t.length>0;){const n=t.shift();try{const t=n(e);t&&t.catch((e=>console.warn(`Async LogRocket method failed: ${e.message}`,e)))}catch(e){console.warn(`LogRocket method failed: ${e.message}`,e)}}}function initLogrocketIfNeeded(e){return __awaiter$2(this,void 0,void 0,(function*(){"fresh"===getLogRocketState()&&(setLogRocketState("loading"),loadScript("https://cdn.lr-ingest.io/LogRocket.min.js",{crossOrigin:"anonymous"}).then((()=>{if(window.LogRocket){try{window.LogRocket.init(e)}catch(t){console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),setLogRocketState("failed")}setLogRocketState("loaded"),flushLogRocketQueue(window.LogRocket)}})).catch((t=>{console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),setLogRocketState("failed")})))}))}var __awaiter$1=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const defaultScriptSrc="https://www.googletagmanager.com/gtag/js",gtmPlugin={id:"gtm",handle(e,t){var n,r;return __awaiter$1(this,void 0,void 0,(function*(){if(!applyFilters(t,e))return;yield initGtmIfNeeded(e);const o=window[e.dataLayerName||"dataLayer"];switch(t.type){case"page":const{properties:i,context:a}=t,c={event:"page_view",url:i.url,title:i.title,referer:null!==(r=null===(n=null==a?void 0:a.page)||void 0===n?void 0:n.referrer)&&void 0!==r?r:""};e.debug&&console.log("gtag push",c),o.push(c);break;case"track":const{properties:s}=t,u=Object.assign({event:t.event},s);t.userId&&(u.userId=t.userId),t.anonymousId&&(u.anonymousId=t.anonymousId),e.debug&&console.log("gtag push",u),o.push(u);break;case"identify":const{traits:l}=t,g=Object.assign({event:"identify"},l);t.userId&&(g.userId=t.userId),t.anonymousId&&(g.anonymousId=t.anonymousId),e.debug&&console.log("gtag push",g),o.push(g)}}))}};function getGtmState(){return window.__jitsuGtmState||"fresh"}function setGtmState(e){window.__jitsuGtmState=e}function initGtmIfNeeded(e){return __awaiter$1(this,void 0,void 0,(function*(){if("fresh"!==getGtmState())return;setGtmState("loading");const t=e.dataLayerName||"dataLayer",n="dataLayer"!==t?"&l="+t:"",r=e.preview?`&gtm_preview=${e.preview}&gtm_auth=${e.auth}&gtm_cookies_win=x`:"",o=`${e.customScriptSrc||defaultScriptSrc}?id=${e.containerId}${n}${r}`;window[t]=window[t]||[];const i=function(){window[t].push(arguments)};i("js",new Date),i("config",e.containerId),loadScript(o).then((()=>{setGtmState("loaded")})).catch((t=>{console.warn(`GTM (containerId=${e.containerId}) init failed: ${t.message}`,t),setGtmState("failed")}))}))}function satisfyFilter(e,t){return"*"===e||e.toLowerCase().trim()===(t||"").trim().toLowerCase()}function satisfyDomainFilter(e,t){return"*"===e||(t=t||"",e.startsWith("*.")?t.endsWith(e.substring(1)):e===t)}function applyFilters(e,t){const{hosts:n="*",events:r="*"}=t;try{const t=Array.isArray(r)?r:r.split("\n");return!(!(Array.isArray(n)?n:n.split("\n")).find((t=>{var n;return satisfyDomainFilter(t,null===(n=e.context)||void 0===n?void 0:n.host)}))||!t.find((t=>satisfyFilter(t,e.type)))&&!t.find((t=>satisfyFilter(t,e.event))))}catch(e){throw console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof r}, typeof hosts: ${typeof n}. Values`,r,n),new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof r}, typeof hosts: ${typeof n}`)}}const internalDestinationPlugins={[tagPlugin.id]:tagPlugin,[gtmPlugin.id]:gtmPlugin,[logrocketPlugin.id]:logrocketPlugin};var name="@jitsu/js",version="0.0.0";const publicSuffixes="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éroport.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āori.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(","),_publicSuffixesMap={};publicSuffixes.forEach((e=>{_publicSuffixesMap[e]=!0}));const publicSuffixesMap=_publicSuffixesMap;function getTopLevelDomain(e){const[t]=e.split(":"),n=t.split(".");if("localhost"===n[n.length-1]||n.length<2)return n[n.length-1];{const e=n[n.length-2]+"."+n[n.length-1];return n.length>2&&publicSuffixesMap[e]?n[n.length-3]+"."+e:e}}var __awaiter=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const defaultConfig={writeKey:null,host:null,debug:!1,fetch:null,echoEvents:!1,cookieDomain:void 0,runtime:void 0},parseQuery=e=>{if(!e)return{};let t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,n={},r=("?"===t[0]?t.substr(1):t).split("&");for(let e=0;e<r.length;e++){let t=r[e].split("=");n[decodeURIComponent(t[0])]=decodeURIComponent(t[1]||"")}return n};function utmToKey(e){const t=e.substring("utm_".length);return"campaign"===t?"name":t}function parseUtms(e){return Object.entries(e).filter((([e])=>0===e.indexOf("utm_"))).reduce(((e,[t,n])=>Object.assign(Object.assign({},e),{[utmToKey(t)]:n})),{})}function safeCall(e,t){try{return e()}catch(e){return t}}function restoreTraits(e){const t=e.getItem("__user_traits");return"string"==typeof t?safeCall((()=>JSON.parse(t)),{}):t}function getCookie(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():void 0}function removeCookie(e){document.cookie=e+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function setCookie(e,t,{domain:n,secure:r}){document.cookie=e+"="+t+";domain="+n+";path=/;expires="+new Date((new Date).getTime()+15768e7).toUTCString()+";SameSite="+(r?"None":"Lax")+(r?";secure":"")}const defaultCookie2Key={__anon_id:"__eventn_id",__user_traits:"__eventn_id_usr",__user_id:"__eventn_uid"},cookieStorage=(e,t)=>({setItem(n,r){const o="object"==typeof r&&null!==r?encodeURIComponent(JSON.stringify(r)):r;setCookie(t[n]||n,o,{domain:e,secure:"https:"===window.location.protocol})},getItem(e){const n=getCookie(t[e]||e);if(void 0===n&&"__user_id"===e){const e=parse(getCookie("__eventn_id_usr"))||{};return e.internal_id||e.user_id||e.id||e.userId}return parse(n)},removeItem(e){removeCookie(t[e]||e)}});function windowRuntime(e){return{documentEncoding:()=>window.document.characterSet,timezoneOffset:()=>(new Date).getTimezoneOffset(),store:()=>cookieStorage(e.cookieDomain||getTopLevelDomain(window.location.hostname),defaultCookie2Key),language:()=>window.navigator.language,pageTitle:()=>window.document.title,pageUrl:()=>window.location.href,referrer:()=>window.document.referrer,screen:()=>({width:window.screen.width,height:window.screen.height,innerWidth:window.innerWidth,innerHeight:window.innerHeight,density:Math.floor(window.devicePixelRatio)}),userAgent:()=>window.navigator.userAgent}}const emptyRuntime=e=>({documentEncoding(){},timezoneOffset(){},store(){const t={};return{setItem(n,r){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Set storage item ${n}=${JSON.stringify(r)}`),t[n]=r},getItem(n){const r=t[n];return e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${n}=${JSON.stringify(r)}`),r},removeItem(n){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${n}=${t[n]}`),delete t[n]}}},language(){},pageTitle(){},pageUrl(){},referrer(){},screen(){},userAgent(){}});function deepMerge(e,t){return"object"!=typeof t||null===t||"object"!=typeof e||null===e?t:Object.entries(t).reduce(((t,[n,r])=>(t[n]=deepMerge(e[n],r),t)),e)}function isInBrowser(){return"undefined"!=typeof document&&"undefined"!=typeof window}function adjustPayload(e,t,n){var r,o;const i=t.runtime||(isInBrowser()?windowRuntime(t):emptyRuntime(t)),a=i.pageUrl(),c=safeCall((()=>new URL(a)),void 0),s=c?parseQuery(c.search):{},u=e.properties||{},l=(null===(r=e.properties)||void 0===r?void 0:r.context)||{};null===(o=e.properties)||void 0===o||delete o.context;const g=i.referrer(),d={library:{name:name,version:version},userAgent:i.userAgent(),locale:i.language(),screen:i.screen(),traits:"identify"!=e.type&&"group"!=e.type?Object.assign({},restoreTraits(n)||{}):void 0,page:{path:u.path||c&&c.pathname,referrer:g,referring_domain:safeCall((()=>g&&new URL(g).hostname)),host:c&&c.host,search:u.search||c&&c.search,title:u.title||i.pageTitle(),url:u.url||a,encoding:u.encoding||i.documentEncoding()},campaign:parseUtms(s)},m=Object.assign(Object.assign({},e),{timestamp:(new Date).toISOString(),sentAt:(new Date).toISOString(),messageId:randomId(u.path||c&&c.pathname),writeKey:maskWriteKey(t.writeKey),context:deepMerge(d,l)});return delete m.meta,delete m.options,m}function processDestinations(e,t,n,r,o){return __awaiter(this,void 0,void 0,(function*(){const i=[];for(const a of e){const e=Object.assign(Object.assign({},a.credentials),a.options);if("internal-plugin"===a.deviceOptions.type){const t=internalDestinationPlugins[a.deviceOptions.name];if(t)try{i.push(t.handle(e,n))}catch(e){console.warn(`[JITSU] Error processing event with internal plugin '${a.deviceOptions.name}': ${null==e?void 0:e.message}`,e)}else console.warn(`[JITSU] Unknown internal plugin '${a.deviceOptions.name}' for destination '${a.id}'`)}else if("analytics-plugin"===a.deviceOptions.type){yield loadScript(a.deviceOptions.packageCdn);const i=window[a.deviceOptions.moduleVarName];if(i){let c;try{c=("function"==typeof i?i:i.init)(e)}catch(e){console.warn(`[JITSU] Error creating plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}`,e)}try{r&&console.log(`[JITSU] Plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}' initialized with config:`,c.config),c.initialize({config:c.config,instance:o})}catch(e){console.warn(`[JITSU] Error initializing plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}. Config: ${JSON.stringify(c.config)}`,e);continue}if(c[t])try{c[t]({payload:n,config:c.config,instance:o})}catch(e){console.warn(`[JITSU] Error processing ${t}() with plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}`,e)}}else console.warn(`[JITSU] Broken plugin '${a.deviceOptions.packageCdn}' for destination '${a.id}' - it doesn't export '${a.deviceOptions.moduleVarName}' variable`)}}}))}function looksLikeCuid(e){return 25===e.length&&"c"===e.charAt(0)}function validateWriteKey(e){if(e){const[,t]=e.split(":",2);if(!t&&!looksLikeCuid(e))throw new Error(`Legacy write key detected - ${e}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`)}return e}function maskWriteKey(e){if(e){const[t,n]=e.split(":",2);return n?`${t}:***`:"***"}return e}function send(e,t,n,r,o){if(n.echoEvents)return void console.log(`[JITSU] sending '${e}' event:`,t);const i=`${n.host}/api/s/${e}`,a=n.fetch||globalThis.fetch;if(!a)throw new Error("Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope");const c=n.debug?{"X-Enable-Debug":"true"}:{},s=adjustPayload(t,n,o),u=n.writeKey?{"X-Write-Key":n.writeKey}:{};return a(i,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},u),c),body:JSON.stringify(s)}).then((e=>(n.debug&&console.log(`[JITSU] ${i} replied ${e.status}. Original payload: `,JSON.stringify(s,null,2)),e.ok?e.text():Promise.reject(e.text())))).then((t=>{let o;try{o=JSON.parse(t)}catch(e){return Promise.reject(`Can't parse JSON: ${t}: ${null==e?void 0:e.message}`)}if(o.destinations)return n.debug&&console.log("[JITSU] Processing device destinations: ",JSON.stringify(o.destinations,null,2)),processDestinations(o.destinations,e,s,!!n.debug,r)})).catch((e=>{n.debug&&console.error(`Jitsu ${i} failed: `,e)}))}const jitsuAnalyticsPlugin=(e={})=>{const t={},n=e=>({setItem(n,r){t[n]=r,e.setItem(n,r)},getItem:n=>t[n]||e.getItem(n),removeItem(n){delete t[n],e.removeItem(n)}}),r=Object.assign(Object.assign({},defaultConfig),e);return{name:"jitsu",config:r,initialize:e=>{const{config:t}=e;if(t.debug&&console.debug("[JITSU] Initializing Jitsu plugin with config: ",JSON.stringify(t)),!t.host&&!t.echoEvents)throw new Error("Please specify host variable in jitsu plugin initialization, or set echoEvents to true");validateWriteKey(t.writeKey)},page:e=>{const{payload:t,config:r,instance:o}=e;return send("page",t,r,o,n(o.storage))},track:e=>{const{payload:t,config:r,instance:o}=e;return send("track",t,r,o,n(o.storage))},identify:e=>{const{payload:r,config:o,instance:i}=e;return t.__user_traits=r.traits,send("identify",r,o,i,n(i.storage))},reset:e=>{Object.keys(t).forEach((e=>delete t[e]))},methods:{group(e,t,o,i){const a=this.instance,c=a.user(),s=(null==o?void 0:o.userId)||(null==c?void 0:c.userId),u=(null==o?void 0:o.anonymousId)||(null==c?void 0:c.anonymousId);return send("group",Object.assign(Object.assign({type:"group",groupId:e,traits:t},u?{anonymousId:u}:{}),s?{userId:s}:{}),r,a,n(a.storage))}}}};function getSeed(){var e;const t=Date.now()%2147483647;return isInBrowser()&&(null===(e=null===window||void 0===window?void 0:window.performance)||void 0===e?void 0:e.now())||t}function randomId(e=""){const t=Date.now();return(Math.random()*t*hash(null!=e?e:"",getSeed())%Number.MAX_SAFE_INTEGER).toString(36)+(Math.random()*t*hash(null!=e?e:"",getSeed())%Number.MAX_SAFE_INTEGER).toString(36)}function hash(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),n=Math.imul(n^t,2654435761),r=Math.imul(r^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)}function parse(e){let t=e;0===(null==e?void 0:e.indexOf("%7B%22"))&&(t=decodeURIComponent(e));try{if(t=JSON.parse(t),"true"===t)return!0;if("false"===t)return!1;if("object"==typeof t)return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}function createUnderlyingAnalyticsInstance(e,t,n=[]){const r=analyticsLib({app:"test",debug:!!e.debug,storage:t.store(),plugins:[jitsuAnalyticsPlugin(e),...n]}),o=r.page;return r.page=(...e)=>2===e.length&&"string"==typeof e[0]&&"object"==typeof e[1]?o(Object.assign({name:e[0]},e[1])):o(...e),Object.assign(Object.assign({},r),{group(e,t,n,o){for(const i of Object.values(r.plugins))i.group&&i.group(e,t,n,o);return Promise.resolve({})}})}function jitsuAnalytics(e){const t=isInBrowser();return createUnderlyingAnalyticsInstance(e,e.runtime||(t?windowRuntime(e):emptyRuntime(e)))}function snakeToCamel(e){return e.replace(/([-_][a-z])/gi,(e=>e.toUpperCase().replace("-","").replace("_","")))}const booleanParser=e=>"true"===e||"1"===e||"yes"===e,parsers={debug:booleanParser,initOnly:booleanParser};function getParser(e){return parsers[e]||(e=>e)}function getScriptAttributes(e){return e.getAttributeNames().filter((e=>0===e.indexOf("data-"))).map((e=>e.substring("data-".length))).reduce(((t,n)=>Object.assign(Object.assign({},t),{[snakeToCamel(n)]:getParser(snakeToCamel(n))(e.getAttribute(`data-${n}`))})),{})}!function(){const e=function(){const e=window.document.currentScript;if(!e)throw new Error("Can't find script element");const t=new URL(e.src).origin;return Object.assign(Object.assign(Object.assign({},(null===window||void 0===window?void 0:window.jitsuConfig)||{}),getScriptAttributes(e)),{host:t})}(),t=e.namespace||"jitsu";window[t]&&console.log("Jitsu is already initialized"),e.debug&&console.log("Jitsu options: ",JSON.stringify(e));const n=jitsuAnalytics(e);if(e.onload){const t=window[e.onload];t||console.warn(`onload function ${e.onload} is not found in window`),"function"==typeof t?t(n):console.warn(`onload function ${e.onload} is not callable: ${typeof t}`)}window[t]=n,e.initOnly||n.page()}()})();
1
+ (function(){"use strict";function n$2(e,t,n,r,o){for(t=t.split?t.split("."):t,r=0;r<t.length;r++)e=e?e[t[r]]:o;return e===o?n:e}var e="undefined",o$1="object",g$2="any",m$1="*",j$1="__",F$2="undefined"!=typeof process?process:{};F$2.env&&F$2.env.NODE_ENV;var $$1="undefined"!=typeof window;function M$1(e,t){return t.charAt(0)[e]()+t.slice(1)}null!=F$2.versions&&F$2.versions.node,"undefined"!=typeof Deno&&Deno.core,$$1&&"nodejs"===window.name||"undefined"!=typeof navigator&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom"));var U$1=M$1.bind(null,"toUpperCase"),H$1=M$1.bind(null,"toLowerCase");function J$2(e){return Y$1(e)?U$1("null"):"object"==typeof e?yn(e):Object.prototype.toString.call(e).slice(8,-1)}function R$1(e,t){void 0===t&&(t=!0);var n=J$2(e);return t?H$1(n):n}function V$1(e,t){return typeof t===e}var W$1=V$1.bind(null,"function"),q$1=V$1.bind(null,"string"),I$2=V$1.bind(null,"undefined"),Q$1=V$1.bind(null,"boolean");function Y$1(e){return null===e}function nn(e){return"number"===R$1(e)&&!isNaN(e)}function rn(e){return"array"===R$1(e)}function on(e){if(!un(e))return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function un(e){return e&&("object"==typeof e||null!==e)}function yn(e){return W$1(e.constructor)?e.constructor.name:null}function hn(e){return e instanceof Error||q$1(e.message)&&e.constructor&&nn(e.constructor.stackTraceLimit)}function On(e,t){if("object"!=typeof t||Y$1(t))return!1;if(t instanceof e)return!0;var n=R$1(new e(""));if(hn(t))for(;t;){if(R$1(t)===n)return!0;t=Object.getPrototypeOf(t)}return!1}function $n(e,t){var n=e instanceof Element||e instanceof HTMLDocument;return n&&t?Tn(e,t):n}function Tn(e,t){return void 0===t&&(t=""),e&&e.nodeName===t.toUpperCase()}function _n(e){var t=[].slice.call(arguments,1);return function(){return e.apply(void 0,[].slice.call(arguments).concat(t))}}function n$1(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(e){return null}}function s(e){return function(e){for(var t,n=Object.create(null),r=/([^&=]+)=?([^&]*)/g;t=r.exec(e);){var o=n$1(t[1]),i=n$1(t[2]);"[]"===o.substring(o.length-2)?(n[o=o.substring(0,o.length-2)]||(n[o]=[])).push(i):n[o]=""===i||i}for(var a in n){var c=a.split("[");c.length>1&&(m(n,c.map((function(e){return e.replace(/[?[\]\\ ]/g,"")})),n[a]),delete n[a])}return n}(function(e){if(e){var t=e.match(/\?(.*)/);return t&&t[1]?t[1].split("#")[0]:""}return $$1&&window.location.search.substring(1)}(e))}function m(e,t,n){for(var r=t.length-1,o=0;o<r;++o){var i=t[o];if("__proto__"===i||"constructor"===i)break;i in e||(e[i]={}),e=e[i]}e[t[r]]=n}function y$1(){for(var e="",t=0,n=4294967295*Math.random()|0;t++<36;){var r="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"[t-1],o=15&n;e+="-"==r||"4"==r?r:("x"==r?o:3&o|8).toString(16),n=t%8==0?4294967295*Math.random()|0:n>>4}return e}V$1.bind(null,"symbol"),On.bind(null,TypeError),On.bind(null,SyntaxError),_n($n,"form"),_n($n,"button"),_n($n,"input"),_n($n,"select");var 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(e){return n[o][e]}function f(e,t){return n[o][e]=t}function i$2(e){delete n[o][e]}function u$1(e,t,n){var r;try{if(b$2(e)){var o=window[e];r=o[t].bind(o)}}catch(e){}return r||n}n[o]||(n[o]={});var c$1={};function b$2(t){if(typeof c$1[t]!==e)return c$1[t];try{var n=window[t];n.setItem(e,e),n.removeItem(e)}catch(e){return c$1[t]=!1}return c$1[t]=!0}function 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=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 o=e,i=t,a=[],c=a,s=!1;function u(){c===a&&(c=a.slice())}function l(){return i}function g(e){if(typeof e!==h$1)throw new Error("Listener"+I$1);var t=!0;return u(),c.push(e),function(){if(t){t=!1,u();var n=c.indexOf(e);c.splice(n,1)}}}function d(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,i=o(i,e)}finally{s=!1}for(var t=a=c,n=0;n<t.length;n++)(0,t[n])();return e}return d({type:"@@redux/INIT"}),(r={dispatch:d,subscribe:g,getState:l,replaceReducer:function(e){if(typeof e!==h$1)throw new Error("next reducer"+I$1);o=e,d({type:"@@redux/INIT"})}})[b$1]=function(){var e,t=g;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Observer != obj");function n(){e.next&&e.next(l())}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,o){var i,a=t(n,r,o),c=a.dispatch,s={getState:a.getState,dispatch:function(e){return c(e)}};return i=[].slice.call(e).map((function(e){return e(s)})),g$1({},a,{dispatch:c=P.apply(void 0,i)(a.dispatch)})}}}var N$1=j$1+"anon_id",A$1=j$1+"user_id",_=j$1+"user_traits",k$1="userId",j="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(o){if(o.type===z.bootstrap){var i=o.params,a=o.user,c=o.persistedUser,s=o.initialUser,u=c.userId===a.userId;c.anonymousId!==a.anonymousId&&t(N$1,a.anonymousId),u||t(A$1,a.userId),s.traits&&t(_,g$1({},u&&c.traits?c.traits:{},s.traits));var l=Object.keys(o.params);if(l.length){var g=i.an_uid,d=i.an_event,m=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]=i[t]}return t.match(q)&&(e.props[t.replace(q,"")]=i[t]),t.match(V)&&(e.traits[t.replace(V,"")]=i[t]),e}),{campaign:{},props:{},traits:{}});n.dispatch(g$1({type:z.params,raw:i},m,g?{userId:g}:{})),g&&setTimeout((function(){return e.identify(g,m.traits)}),0),d&&setTimeout((function(){return e.track(d,m.props)}),0),Object.keys(m.campaign).length&&n.dispatch({type:z.campaign,campaign:m.campaign})}}return r(o)}}}}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(e){var t=e.storage,n=t.setItem,r=t.removeItem,o=t.getItem;return function(e){return function(t){return function(i){var a=i.userId,c=i.traits,s=i.options;if(i.type===z.reset&&([A$1,_,N$1].forEach((function(e){r(e)})),[k$1,j,"traits"].forEach((function(e){i$2($(e))}))),i.type===z.identify){o(N$1)||n(N$1,y$1());var u=o(A$1),l=o(_)||{};u&&u!==a&&e.dispatch({type:z.userIdChanged,old:{userId:u,traits:l},new:{userId:a,traits:c},options:s}),a&&n(A$1,a),c&&n(_,g$1({},l,c))}return t(i)}}}}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,o){return t()?r(e):n<1?o(g$1({},e,{queue:!0})):new Promise((function(e){return setTimeout(e,10)})).then((function(i){return J$1(e,t,n-10).then(r,o)}))}))}var X=function(e){var t=e.data,n=e.action,r=e.instance,o=e.state,i=e.allPlugins,a=e.allMatches,c=e.store,s=e.EVENTS;try{var u=o.plugins,l=o.context,g=n.type,d=g.match(H),m=t.exact.map((function(e){return e.pluginName}));d&&(m=a.during.map((function(e){return e.pluginName})));var f=function(e,t){return function(n,r,o){var i=r.config,a=r.name,c=a+"."+n.type;o&&(c=o.event);var s=n.type.match(H)?function(e,t,n,r,o){return function(i,a){var c=r?r.name:e,s=a&&te(a)?a:n;if(r&&(!(s=a&&te(a)?a:[e]).includes(e)||1!==s.length))throw new Error("Method "+t+" can only abort "+e+" plugin. "+JSON.stringify(s)+" input valid");return g$1({},o,{abort:{reason:i,plugins:s,caller:t,_:c}})}}(a,c,t,o,n):function(e,t){return function(){throw new Error(e.type+" action not cancellable. Remove abort in "+t)}}(n,c);return{payload:ie(n),instance:e,config:i||{},abort:s}}}(r,m),p=t.exact.reduce((function(e,t){var n=t.pluginName,r=t.methodName,o=!1;return r.match(/^initialize/)||r.match(/^reset/)||(o=!u[n].loaded),l.offline&&r.match(/^(page|track|identify)/)&&(o=!0),e[""+n]=o,e}),{});return Promise.resolve(t.exact.reduce((function(e,o,a){var c=o.pluginName;return Promise.resolve(e).then((function(e){function o(){return Promise.resolve(e)}var a=function(){if(t.namespaced&&t.namespaced[c])return Promise.resolve(t.namespaced[c].reduce((function(e,t,n){return Promise.resolve(e).then((function(e){return t.method&&W$1(t.method)?(function(e,t){var n=re(e);if(n&&n.name===t){var r=re(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,o=c,a=t.pluginName,function(e,t){return g$1({},n,{abort:{reason:e,plugins:t||[o],caller:g,from:a||o}})}),config:K(t.pluginName,u,i),plugins:u})).then((function(t){var n=on(t)?t:{};return Promise.resolve(g$1({},e,n))}))):e;var n,o,a}))}),Promise.resolve(n))).then((function(t){e[c]=t}));e[c]=n}();return a&&a.then?a.then(o):o()}))}),Promise.resolve({}))).then((function(e){return Promise.resolve(t.exact.reduce((function(n,o,a){try{var s=t.exact.length===a+1,l=o.pluginName,m=i[l];return Promise.resolve(n).then((function(t){var n=e[l]?e[l]:{};if(d&&(n=t),Z(n,l))return G$1({data:n,method:g,instance:r,pluginName:l,store:c}),Promise.resolve(t);if(Z(t,l))return s&&G$1({data:t,method:g,instance:r,store:c}),Promise.resolve(t);if(p.hasOwnProperty(l)&&!0===p[l])return c.dispatch({type:"queue",plugin:l,payload:n,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(t);var o=f(e[l],i[l]);return Promise.resolve(m[g]({abort:o.abort,payload:n,instance:r,config:K(l,u,i),plugins:u})).then((function(o){var i=on(o)?o:{},a=g$1({},t,i),s=e[l];if(Z(s,l))G$1({data:s,method:g,instance:r,pluginName:l,store:c});else{var u=g+":"+l;(u.match(/:/g)||[]).length<2&&!g.match(W)&&!g.match(F$1)&&r.dispatch(g$1({},d?a:n,{type:u,_:{called:u,from:"submethod"}}))}return Promise.resolve(a)}))}))}catch(e){return Promise.reject(e)}}),Promise.resolve(n))).then((function(e){if(!(g.match(H)||g.match(/^registerPlugin/)||g.match(F$1)||g.match(W)||g.match(/^params/)||g.match(/^userIdChanged/))){if(s.plugins.includes(g),e._&&e._.originalAction===g)return e;var n=g$1({},e,{_:{originalAction:e.type,called:e.type,from:"engineEnd"}});ee(e,t.exact.length)&&!g.match(/End$/)&&(n=g$1({},n,{type:e.type+"Aborted"})),c.dispatch(n)}return e}))}))}catch(e){return Promise.reject(e)}},H=/Start$/,W=/^bootstrap/,F$1=/^ready/;function G$1(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 K(e,t,n){var r=t[e]||n[e];return r&&r.config?r.config:{}}function Q(e,t){return t.reduce((function(t,n){return n[e]?t.concat({methodName:e,pluginName:n.name,method:n[e]}):t}),[])}function Y(e,t){var n=e.replace(H,""),r=t?":"+t:"";return[""+e+r,""+n+r,n+"End"+r]}function Z(e,t){var n=e.abort;return!!n&&(!0===n||ne(n,t)||n&&ne(n.plugins,t))}function ee(e,t){var n=e.abort;if(!n)return!1;if(!0===n||q$1(n))return!0;var r=n.plugins;return te(n)&&n.length===t||te(r)&&r.length===t}function te(e){return Array.isArray(e)}function ne(e,t){return!(!e||!te(e))&&e.includes(t)}function re(e){var t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function ie(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 ae(e,t,n){var r={};return function(o){return function(i){return function(a){try{var c,s=function(e){return c?e:i(g)},u=a.type,l=a.plugins,g=a;if(a.abort)return Promise.resolve(i(a));if(u===z.enablePlugin&&o.dispatch({type:z.initializeStart,plugins:l,disabled:[],fromEnable:!0,meta:a.meta}),u===z.disablePlugin&&setTimeout((function(){return L$1(a.meta.rid,{payload:a})}),0),u===z.initializeEnd){var d=t(),m=Object.keys(d),f=m.filter((function(e){return l.includes(e)})).map((function(e){return d[e]})),p=[],b=[],v=a.disabled,h=f.map((function(e){var t=e.name;return J$1(e,e.loaded,1e4).then((function(n){return r[t]||(o.dispatch({type:z.pluginReadyType(t),name:t,events:Object.keys(e).filter((function(e){return!T.includes(e)}))}),r[t]=!0),p=p.concat(t),e})).catch((function(e){if(e instanceof Error)throw new Error(e);return b=b.concat(e.name),e}))}));Promise.all(h).then((function(e){var t={plugins:p,failed:b,disabled:v};setTimeout((function(){m.length===h.length+v.length&&o.dispatch(g$1({},{type:z.ready},t))}),0)}))}var y=function(){if(u!==z.bootstrap)return/^ready:([^:]*)$/.test(u)&&setTimeout((function(){return function(e,t,n){var r=t(),o=e.getState(),i=o.plugins,a=o.queue,c=o.user;if(!o.context.offline&&a&&a.actions&&a.actions.length){var s=a.actions.reduce((function(e,t,n){return i[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(s.processIndex&&s.processIndex.length){s.processIndex.forEach((function(t){var o=a.actions[t],s=o.plugin,u=o.payload.type,l=r[s][u];if(l&&W$1(l)){var g=function(e,t){return void 0===e&&(e={}),void 0===t&&(t={}),[k$1,j].reduce((function(n,r){return e.hasOwnProperty(r)&&t[r]&&t[r]!==e[r]&&(n[r]=t[r]),n}),e)}(o.payload,c);l({payload:g,config:i[s].config,instance:n});var d=u+":"+s;e.dispatch(g$1({},g,{type:d,_:{called:d,from:"queueDrain"}}))}}));var u=a.actions.filter((function(e,t){return!~s.processIndex.indexOf(t)}));a.actions=u}}}(o,t,e)}),0),Promise.resolve(function(e,t,n,r,o){try{var i=W$1(t)?t():t,a=e.type,c=a.replace(H,"");if(e._&&e._.called)return Promise.resolve(e);var s=n.getState(),u=(d=i,void 0===(m=s.plugins)&&(m={}),void 0===(f=e.options)&&(f={}),Object.keys(d).filter((function(e){var t=f.plugins||{};return Q$1(t[e])?t[e]:!1!==t.all&&(!m[e]||!1!==m[e].enabled)})).map((function(e){return d[e]})));a===z.initializeStart&&e.fromEnable&&(u=Object.keys(s.plugins).filter((function(t){var n=s.plugins[t];return e.plugins.includes(t)&&!n.initialized})).map((function(e){return i[e]})));var l=u.map((function(e){return e.name})),g=function(e,t,n){var r=Y(e).map((function(e){return Q(e,t)}));return t.reduce((function(n,r){var o=r.name,i=Y(e,o).map((function(e){return Q(e,t)})),a=i[0],c=i[1],s=i[2];return a.length&&(n.beforeNS[o]=a),c.length&&(n.duringNS[o]=c),s.length&&(n.afterNS[o]=s),n}),{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(a,u);return Promise.resolve(X({action:e,data:{exact:g.before,namespaced:g.beforeNS},state:s,allPlugins:i,allMatches:g,instance:n,store:r,EVENTS:o})).then((function(e){function t(){var t=function(){if(a.match(H))return Promise.resolve(X({action:g$1({},u,{type:c+"End"}),data:{exact:g.after,namespaced:g.afterNS},state:s,allPlugins:i,allMatches:g,instance:n,store:r,EVENTS:o})).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(ee(e,l.length))return e;var u,d=function(){if(a!==c)return Promise.resolve(X({action:g$1({},e,{type:c}),data:{exact:g.during,namespaced:g.duringNS},state:s,allPlugins:i,allMatches:g,instance:n,store:r,EVENTS:o})).then((function(e){u=e}));u=e}();return d&&d.then?d.then(t):t()}))}catch(e){return Promise.reject(e)}var d,m,f}(a,t,e,o,n)).then((function(e){var t=i(e);return c=1,t}))}();return Promise.resolve(y&&y.then?y.then(s):s(y))}catch(e){return Promise.reject(e)}}}}}function oe(e){return function(t){return function(t){return function(n){var r=n.type,o=n.key,i=n.value,a=n.options;if(r===z.setItem||r===z.removeItem){if(n.abort)return t(n);r===z.setItem?e.setItem(o,i,a):e.removeItem(o,a)}return t(n)}}}}var ue=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(o){var i={getState:n.getState,dispatch:function(e){return n.dispatch(e)}},a=e[t].map((function(e){return e(i)}));return P.apply(void 0,a)(r)(o)}}}}};function ce(e){return function(t,n){void 0===t&&(t={});var r={};if("initialize:aborted"===n.type)return t;if(/^registerPlugin:([^:]*)$/.test(n.type)){var o=se(n.type,"registerPlugin"),i=e()[o];if(!i||!o)return t;var a=n.enabled;return r[o]={enabled:a,initialized:!!a&&Boolean(!i.initialize),loaded:!!a&&Boolean(i.loaded()),config:i.config||{}},g$1({},t,r)}if(/^initialize:([^:]*)$/.test(n.type)){var c=se(n.type,z.initialize),s=e()[c];return s&&c?(r[c]=g$1({},t[c],{initialized:!0,loaded:Boolean(s.loaded())}),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,le(n.plugins,!1,t));case z.enablePlugin:return g$1({},t,le(n.plugins,!0,t));default:return t}}}function se(e,t){return e.substring(t.length+1,e.length)}function le(e,t,n){return e.reduce((function(e,r){return e[r]=g$1({},n[r],{enabled:t}),e}),n)}function fe(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}var de={last:{},history:[]};function pe(e,t){void 0===e&&(e=de);var n=t.options,r=t.meta;if(t.type===z.track){var o=fe(g$1({event:t.event,properties:t.properties},Object.keys(n).length&&{options:n},{meta:r}));return g$1({},e,{last:o,history:e.history.concat(o)})}return e}var me={actions:[]};function ge(e,t){void 0===e&&(e=me);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 he=/#.*$/;function ve(e){var t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(he,""):"")}var ye,be=function(e){if(void 0===e&&(e={}),!$$1)return e;var t=document,n=t.title,r=t.referrer,o=window,i=o.location,a=o.innerWidth,c=o.innerHeight,s=i.hash,u=i.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(he,"")}(u),g={title:n,url:l,path:ve(l),hash:s,search:u,width:a,height:c};return r&&""!==r&&(g.referrer=r),g$1({},g,e)},Ie={last:{},history:[]};function we(e,t){void 0===e&&(e=Ie);var n=t.options;if(t.type===z.page){var r=fe(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}ye={};var Ee={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.11.0"},timezone:void 0,locale:void 0,campaign:{},referrer:ye};function Pe(e,t){void 0===e&&(e=Ee);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({},Ee,e,{initialized:!0})}}var Se=["plugins","reducers","storage"];function Ne(){return f("analytics",[]),function(e){return function(t,r,i){var a=e(t,r,i),c=a.dispatch;return Object.assign(a,{dispatch:function(e){return n[o].analytics.push(e.action||e),c(e)}})}}}function Ae(e){return function(){return P(P.apply(null,arguments),Ne())}}function _e(e){return e?rn(e)?e:[e]:[]}function Oe(e,t,n){void 0===e&&(e={});var r,o,i=y$1();return t&&(B[i]=(r=t,o=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}(n),function(e){o&&o(e),r(e)})),g$1({},e,{rid:i,ts:(new Date).getTime()},t?{hasCallback:!0}:{})}function ke(e){void 0===e&&(e={});var t=e.reducers||{},n=e.initialUser||{},r=(e.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");var n=t.EVENTS?Object.keys(t.EVENTS).map((function(e){return t.EVENTS[e]})):[];e.pluginEnabled[t.name]=!(!1===t.enabled||t.config&&!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]=x,r.apply({instance:x},t)}),e}),{}),delete t.methods);var r=Object.keys(t).concat(n),o=new Set(e.events.concat(r));if(e.events=Array.from(o),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:[]}),o=e.storage?e.storage:{getItem:a$2,setItem:f,removeItem:i$2},i=function(e){return function(t,n,r){return n.getState("user")[t]||(r&&on(r)&&r[t]?r[t]:R(e)[t]||a$2($(t))||null)}}(o),a=r.plugins,c=r.events.filter((function(e){return!T.includes(e)})).sort(),u=new Set(c.concat(x$1).filter((function(e){return!T.includes(e)}))),l=Array.from(u).sort(),g=function(){return a},d=new ue,m=d.addMiddleware,p=d.removeMiddleware,b=d.dynamicMiddlewares,h=function(){throw new Error("Abort disabled inListener")},k=s(),I=R(o),O=g$1({},I,n,k.an_uid?{userId:k.an_uid}:{},k.an_aid?{anonymousId:k.an_aid}:{});O.anonymousId||(O.anonymousId=y$1());var _=g$1({enable:function(e,t){return new Promise((function(n){V.dispatch({type:z.enablePlugin,plugins:_e(e),_:{originalAction:z.enablePlugin}},n,[t])}))},disable:function(e,t){return new Promise((function(n){V.dispatch({type:z.disablePlugin,plugins:_e(e),_:{originalAction:z.disablePlugin}},n,[t])}))}},r.methods),x={identify:function(e,t,n,r){try{var o=q$1(e)?e:null,a=on(e)?e:t,c=n||{},s=x.user();f($(k$1),o);var u=o||a.userId||i(k$1,x,a);return Promise.resolve(new Promise((function(e){V.dispatch(g$1({type:z.identifyStart,userId:u,traits:a||{},options:c,anonymousId:s.anonymousId},s.id&&s.id!==o&&{previousId:s.id}),e,[t,n,r])})))}catch(e){return Promise.reject(e)}},track:function(e,t,n,r){try{var o=on(e)?e.event:e;if(!o||!q$1(o))throw new Error("EventMissing");var a=on(e)?e:t||{},c=on(n)?n:{};return Promise.resolve(new Promise((function(e){V.dispatch({type:z.trackStart,event:o,properties:a,options:c,userId:i(k$1,x,t),anonymousId:i(j,x,t)},e,[t,n,r])})))}catch(e){return Promise.reject(e)}},page:function(e,t,n){try{var r=on(e)?e:{},o=on(t)?t:{};return Promise.resolve(new Promise((function(a){V.dispatch({type:z.pageStart,properties:be(r),options:o,userId:i(k$1,x,r),anonymousId:i(j,x,r)},a,[e,t,n])})))}catch(e){return Promise.reject(e)}},user:function(e){if(e===k$1||"id"===e)return i(k$1,x);if(e===j||"anonId"===e)return i(j,x);var t=x.getState("user");return e?n$2(t,e):t},reset:function(e){return new Promise((function(t){V.dispatch({type:z.resetStart},t,e)}))},ready:function(e){return x.on(z.ready,e)},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:x,plugins:a}),e(r)}}},o=function(e){return function(e){return function(r){return r.type.match(n)||t({payload:r,instance:x,plugins:a}),e(r)}}};return m(r,je),m(o,xe),function(){p(r,je),p(o,xe)}}var i=e.match(n)?je:xe,c=function(n){return function(n){return function(r){return r.type===e&&t({payload:r,instance:x,plugins:a,abort:h}),n(r)}}};return m(c,i),function(){return p(c,i)}},once:function(e,t){if(!e||!W$1(t))return!1;if(e===z.bootstrap)throw new Error(".once disabled for "+e);var n=x.on(e,(function(e){t({payload:e.payload,instance:x,plugins:a,abort:h}),n()}));return n},getState:function(e){var t=V.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._||{})});V.dispatch(n)},enablePlugin:_.enable,disablePlugin:_.disable,plugins:_,storage:{getItem:o.getItem,setItem:function(e,t,n){V.dispatch({type:z.setItemStart,key:e,value:t,options:n})},removeItem:function(e,t){V.dispatch({type:z.removeItemStart,key:e,options:t})}},setAnonymousId:function(e,t){x.storage.setItem(N$1,e,t)},events:{core:x$1,plugins:c}},E=r.middlewares.concat([function(e){return function(e){return function(t){return t.meta||(t.meta=Oe()),e(t)}}},b(je),ae(x,g,{all:l,plugins:c}),oe(o),C$1(x),D(x),b(xe)]),N={context:Pe,user:U(o),page:we,track:pe,plugins:ce(g),queue:ge},A=P,C=P;if($$1&&e.debug){var L=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;L&&(A=L({trace:!0,traceLimit:25})),C=function(){return 0===arguments.length?Ne():on(typeof arguments[0])?Ae():Ae().apply(null,arguments)}}var M,J=function(e){return Object.keys(e).reduce((function(t,n){return Se.includes(n)||(t[n]=e[n]),t}),{})}(e),q=r.pluginsArray.reduce((function(e,t){var n=t.name,o=t.config,i=t.loaded,a=r.pluginEnabled[n];return e[n]={enabled:a,initialized:!!a&&Boolean(!t.initialize),loaded:Boolean(i()),config:o||{}},e}),{}),F={context:J,user:O,plugins:q},V=w(function(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var o=t[r];typeof e[o]===h$1&&(n[o]=e[o])}var i,a=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){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var r=!1,o={},c=0;c<a.length;c++){var s=a[c],u=e[s],l=(0,n[s])(u,t);if(typeof l===v){var g=E$1(s,t);throw new Error(g)}o[s]=l,r=r||l!==u}return r?o:e}}(g$1({},N,t)),F,C(A(S.apply(void 0,E))));V.dispatch=(M=V.dispatch,function(e,t,n){var r=g$1({},e,{meta:Oe(e.meta,t,_e(n))});return M.apply(null,[r])});var G=Object.keys(a);V.dispatch({type:z.bootstrap,plugins:G,config:J,params:k,user:O,initialUser:n,persistedUser:I});var W=G.filter((function(e){return r.pluginEnabled[e]})),B=G.filter((function(e){return!r.pluginEnabled[e]}));return V.dispatch({type:z.registerPlugins,plugins:G,enabled:r.pluginEnabled}),r.pluginsArray.map((function(e,t){var n=e.bootstrap,o=e.config,i=e.name;n&&W$1(n)&&n({instance:x,config:o,payload:e}),V.dispatch({type:z.registerPluginType(i),name:i,enabled:r.pluginEnabled[i],plugin:e}),r.pluginsArray.length===t+1&&V.dispatch({type:z.initializeStart,plugins:W,disabled:B})})),x}var je="before",xe="after",t="cookie",i$1=a$1(),r$1=d$1,c=d$1;function u(e){return i$1?d$1(e,"",-1):i$2(e)}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,n,r,o,i){if("undefined"!=typeof window){var a=arguments.length>1;return!1===i$1&&(a?f(e,t):a$2(e)),a?document.cookie=e+"="+encodeURIComponent(t)+(n?"; expires="+new Date(+new Date+1e3*n).toUTCString()+(r?"; path="+r:"")+(o?"; domain="+o:"")+(i?"; secure":""):""):decodeURIComponent((("; "+document.cookie).split("; "+e+"=")[1]||"").split(";")[0])}}var 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);var a="sessionStorage",i=b$2.bind(null,"sessionStorage");function I(e){var t=e;try{if("true"===(t=JSON.parse(e)))return!0;if("false"===t)return!1;if(on(t))return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}u$1("sessionStorage","getItem",a$2),u$1("sessionStorage","setItem",f),u$1("sessionStorage","removeItem",i$2);var k=g(),O=i(),x=a$1();function C(e,t){if(e){var n=A(t),r=!N(n),o=d(n)?I(localStorage.getItem(e)):void 0;if(r&&!I$2(o))return o;var i=h(n)?I(r$1(e)):void 0;if(r&&i)return i;var a=E(n)?I(sessionStorage.getItem(e)):void 0;if(r&&a)return a;var c=a$2(e);return r?c:{localStorage:o,sessionStorage:a,cookie:i,global:c}}}function L(e,n,o){if(e&&!I$2(n)){var i={},s=A(o),u=JSON.stringify(n),g=!N(s);return d(s)&&(i[r]=F(r,n,I(localStorage.getItem(e))),localStorage.setItem(e,u),g)?i[r]:h(s)&&(i[t]=F(t,n,I(r$1(e))),c(e,u),g)?i[t]:E(s)&&(i[a]=F(a,n,I(sessionStorage.getItem(e))),sessionStorage.setItem(e,u),g)?i[a]:(i[l]=F(l,n,a$2(e)),f(e,n),g?i[l]:i)}}function b(e,n){if(e){var o=A(n),i=C(e,m$1),c={};return!I$2(i.localStorage)&&d(o)&&(localStorage.removeItem(e),c[r]=i.localStorage),!I$2(i.cookie)&&h(o)&&(u(e),c[t]=i.cookie),!I$2(i.sessionStorage)&&E(o)&&(sessionStorage.removeItem(e),c[a]=i.sessionStorage),!I$2(i.global)&&G(o,l)&&(i$2(e),c[l]=i.global),c}}function A(e){return e?q$1(e)?e:e.storage:g$2}function d(e){return k&&G(e,r)}function h(e){return x&&G(e,t)}function E(e){return O&&G(e,a)}function N(e){return e===m$1||"all"===e}function G(e,t){return e===g$2||e===t||N(e)}function F(e,t,n){return{location:e,current:t,previous:n}}var J={setItem:L,getItem:C,removeItem:b};function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function analyticsLib(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return ke(_objectSpread2(_objectSpread2({},{storage:J}),e))}function findScript(e){return Array.prototype.slice.call(window.document.querySelectorAll("script")).find((t=>t.src===e))}function loadScript(e,t){const n=findScript(e);if(void 0!==n){const e=null==n?void 0:n.getAttribute("status");if("loaded"===e)return Promise.resolve(n);if("loading"===e)return new Promise(((e,t)=>{n.addEventListener("load",(()=>e(n))),n.addEventListener("error",(e=>t(e)))}))}return new Promise(((n,r)=>{var o;const i=window.document.createElement("script");i.type="text/javascript",i.src=e,i.async=!0,i.setAttribute("status","loading");for(const[e,n]of Object.entries(null!=t?t:{}))i.setAttribute(e,n);i.onload=()=>{i.onerror=i.onload=null,i.setAttribute("status","loaded"),n(i)},i.onerror=()=>{i.onerror=i.onload=null,i.setAttribute("status","error"),r(new Error(`Failed to load ${e}`))};const a=window.document.getElementsByTagName("script")[0];null===(o=a.parentElement)||void 0===o||o.insertBefore(i,a)}))}var __awaiter$3=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const tagPlugin={id:"tag",handle(e,t){return __awaiter$3(this,void 0,void 0,(function*(){applyFilters(t,e)&&insertTags(e.code,t)}))}};function insertTags(e,t,n={}){let r;try{r=JSON.parse(e)}catch(t){r={code:e,lang:"javascript"}}const o=n.debug||!1;if(isInBrowser())if("javascript"===r.lang)execJs(r.code,t);else{const e=document.createElement("span");e.innerHTML=replaceMacro(r.code,t),document.body.insertAdjacentElement("beforeend",e);e.querySelectorAll("script").forEach((e=>{const t=document.createElement("script");t.type=t.type||"text/javascript",e.hasAttribute("src")&&(t.src=e.src),t.text=e.text,o&&console.log("[JITSU] Executing script"+(e.hasAttribute("src")?` ${e.src}`:""),t.text),document.head.appendChild(t),document.head.removeChild(t)}))}else o&&console.log("[JITSU] insertTags(): cannot insert tags in non-browser environment")}function execJs(code,event){const varName=`jitsu_event_${randomId()}`;window[varName]=event;const iif=`(function(){\n const event = ${varName};\n ${code}\n })()`;try{eval(iif)}catch(e){console.error(`[JITSU] Error executing JS code: ${e.message}. Code: `,iif)}finally{delete window[varName]}return iif}function replaceMacro(e,t){return e.replace(/{{\s*event\s*}}/g,JSON.stringify(t))}var __awaiter$2=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const logrocketPlugin={id:"logrocket",handle(e,t){return __awaiter$2(this,void 0,void 0,(function*(){if(!applyFilters(t,e))return;initLogrocketIfNeeded(e.appId);getLogRocketQueue().push((e=>{"identify"===t.type&&t.userId&&e.identify(t.userId,t.traits||{})})),"loaded"===getLogRocketState()&&flushLogRocketQueue(window.LogRocket)}))}};function getLogRocketState(){return window.__jitsuLrState||"fresh"}function setLogRocketState(e){window.__jitsuLrState=e}function getLogRocketQueue(){return window.__jitsuLrQueue||(window.__jitsuLrQueue=[])}function flushLogRocketQueue(e){const t=getLogRocketQueue();for(;t.length>0;){const n=t.shift();try{const t=n(e);t&&t.catch((e=>console.warn(`Async LogRocket method failed: ${e.message}`,e)))}catch(e){console.warn(`LogRocket method failed: ${e.message}`,e)}}}function initLogrocketIfNeeded(e){return __awaiter$2(this,void 0,void 0,(function*(){"fresh"===getLogRocketState()&&(setLogRocketState("loading"),loadScript("https://cdn.lr-ingest.io/LogRocket.min.js",{crossOrigin:"anonymous"}).then((()=>{if(window.LogRocket){try{window.LogRocket.init(e)}catch(t){console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),setLogRocketState("failed")}setLogRocketState("loaded"),flushLogRocketQueue(window.LogRocket)}})).catch((t=>{console.warn(`LogRocket (id=${e}) init failed: ${t.message}`,t),setLogRocketState("failed")})))}))}var __awaiter$1=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const defaultScriptSrc="https://www.googletagmanager.com/gtag/js",gtmPlugin={id:"gtm",handle(e,t){var n,r;return __awaiter$1(this,void 0,void 0,(function*(){if(!applyFilters(t,e))return;yield initGtmIfNeeded(e);const o=window[e.dataLayerName||"dataLayer"];switch(t.type){case"page":const{properties:i,context:a}=t,c={event:"page_view",url:i.url,title:i.title,referer:null!==(r=null===(n=null==a?void 0:a.page)||void 0===n?void 0:n.referrer)&&void 0!==r?r:""};e.debug&&console.log("gtag push",c),o.push(c);break;case"track":const{properties:s}=t,u=Object.assign({event:t.event},s);t.userId&&(u.userId=t.userId),t.anonymousId&&(u.anonymousId=t.anonymousId),e.debug&&console.log("gtag push",u),o.push(u);break;case"identify":const{traits:l}=t,g=Object.assign({event:"identify"},l);t.userId&&(g.userId=t.userId),t.anonymousId&&(g.anonymousId=t.anonymousId),e.debug&&console.log("gtag push",g),o.push(g)}}))}};function getGtmState(){return window.__jitsuGtmState||"fresh"}function setGtmState(e){window.__jitsuGtmState=e}function initGtmIfNeeded(e){return __awaiter$1(this,void 0,void 0,(function*(){if("fresh"!==getGtmState())return;setGtmState("loading");const t=e.dataLayerName||"dataLayer",n="dataLayer"!==t?"&l="+t:"",r=e.preview?`&gtm_preview=${e.preview}&gtm_auth=${e.auth}&gtm_cookies_win=x`:"",o=`${e.customScriptSrc||defaultScriptSrc}?id=${e.containerId}${n}${r}`;window[t]=window[t]||[];const i=function(){window[t].push(arguments)};i("js",new Date),i("config",e.containerId),loadScript(o).then((()=>{setGtmState("loaded")})).catch((t=>{console.warn(`GTM (containerId=${e.containerId}) init failed: ${t.message}`,t),setGtmState("failed")}))}))}function satisfyFilter(e,t){return"*"===e||e.toLowerCase().trim()===(t||"").trim().toLowerCase()}function satisfyDomainFilter(e,t){return"*"===e||(t=t||"",e.startsWith("*.")?t.endsWith(e.substring(1)):e===t)}function applyFilters(e,t){const{hosts:n="*",events:r="*"}=t;try{const t=Array.isArray(r)?r:r.split("\n");return!(!(Array.isArray(n)?n:n.split("\n")).find((t=>{var n;return satisfyDomainFilter(t,null===(n=e.context)||void 0===n?void 0:n.host)}))||!t.find((t=>satisfyFilter(t,e.type)))&&!t.find((t=>satisfyFilter(t,e.event))))}catch(e){throw console.warn(`Failed to apply filters: ${e.message}. Typeof events: ${typeof r}, typeof hosts: ${typeof n}. Values`,r,n),new Error(`Failed to apply filters: ${e.message}. Typeof events: ${typeof r}, typeof hosts: ${typeof n}`)}}const internalDestinationPlugins={[tagPlugin.id]:tagPlugin,[gtmPlugin.id]:gtmPlugin,[logrocketPlugin.id]:logrocketPlugin};var name="@jitsu/js",version="0.0.0";const publicSuffixes="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éroport.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āori.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(","),_publicSuffixesMap={};publicSuffixes.forEach((e=>{_publicSuffixesMap[e]=!0}));const publicSuffixesMap=_publicSuffixesMap;function getTopLevelDomain(e){const[t]=e.split(":"),n=t.split(".");if("localhost"===n[n.length-1]||n.length<2)return n[n.length-1];{const e=n[n.length-2]+"."+n[n.length-1];return n.length>2&&publicSuffixesMap[e]?n[n.length-3]+"."+e:e}}var __awaiter=function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function c(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,c)}s((r=r.apply(e,t||[])).next())}))};const defaultConfig={writeKey:null,host:null,debug:!1,fetch:null,echoEvents:!1,cookieDomain:void 0,runtime:void 0},parseQuery=e=>{if(!e)return{};let t=e.length>0&&"?"===e.charAt(0)?e.substring(1):e,n={},r=("?"===t[0]?t.substr(1):t).split("&");for(let e=0;e<r.length;e++){let t=r[e].split("=");n[decodeURIComponent(t[0])]=decodeURIComponent(t[1]||"")}return n};function utmToKey(e){const t=e.substring("utm_".length);return"campaign"===t?"name":t}function parseUtms(e){return Object.entries(e).filter((([e])=>0===e.indexOf("utm_"))).reduce(((e,[t,n])=>Object.assign(Object.assign({},e),{[utmToKey(t)]:n})),{})}function safeCall(e,t){try{return e()}catch(e){return t}}function restoreTraits(e){const t=e.getItem("__user_traits");return"string"==typeof t?safeCall((()=>JSON.parse(t)),{}):t}function getCookie(e){const t=`; ${document.cookie}`.split(`; ${e}=`);return 2===t.length?t.pop().split(";").shift():void 0}function removeCookie(e){document.cookie=e+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;"}function setCookie(e,t,{domain:n,secure:r}){document.cookie=e+"="+t+";domain="+n+";path=/;expires="+new Date((new Date).getTime()+15768e7).toUTCString()+";SameSite="+(r?"None":"Lax")+(r?";secure":"")}const defaultCookie2Key={__anon_id:"__eventn_id",__user_traits:"__eventn_id_usr",__user_id:"__eventn_uid"},cookieStorage=(e,t)=>({setItem(n,r){const o="object"==typeof r&&null!==r?encodeURIComponent(JSON.stringify(r)):r;setCookie(t[n]||n,o,{domain:e,secure:"https:"===window.location.protocol})},getItem(e){const n=getCookie(t[e]||e);if(void 0===n&&"__user_id"===e){const e=parse(getCookie("__eventn_id_usr"))||{};return e.internal_id||e.user_id||e.id||e.userId}return parse(n)},removeItem(e){removeCookie(t[e]||e)}});function windowRuntime(e){return{documentEncoding:()=>window.document.characterSet,timezoneOffset:()=>(new Date).getTimezoneOffset(),store:()=>cookieStorage(e.cookieDomain||getTopLevelDomain(window.location.hostname),defaultCookie2Key),language:()=>window.navigator.language,pageTitle:()=>window.document.title,pageUrl:()=>window.location.href,referrer:()=>window.document.referrer,screen:()=>({width:window.screen.width,height:window.screen.height,innerWidth:window.innerWidth,innerHeight:window.innerHeight,density:Math.floor(window.devicePixelRatio)}),userAgent:()=>window.navigator.userAgent}}const emptyRuntime=e=>({documentEncoding(){},timezoneOffset(){},store(){const t={};return{setItem(n,r){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Set storage item ${n}=${JSON.stringify(r)}`),t[n]=r},getItem(n){const r=t[n];return e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${n}=${JSON.stringify(r)}`),r},removeItem(n){e.debug&&console.log(`[JITSU EMPTY RUNTIME] Get storage item ${n}=${t[n]}`),delete t[n]}}},language(){},pageTitle(){},pageUrl(){},referrer(){},screen(){},userAgent(){}});function deepMerge(e,t){return"object"!=typeof t||null===t||"object"!=typeof e||null===e?t:Object.entries(t).reduce(((t,[n,r])=>(t[n]=deepMerge(e[n],r),t)),e)}function isInBrowser(){return"undefined"!=typeof document&&"undefined"!=typeof window}function adjustPayload(e,t,n){var r,o;const i=t.runtime||(isInBrowser()?windowRuntime(t):emptyRuntime(t)),a=i.pageUrl(),c=safeCall((()=>new URL(a)),void 0),s=c?parseQuery(c.search):{},u=e.properties||{},l=(null===(r=e.properties)||void 0===r?void 0:r.context)||{};null===(o=e.properties)||void 0===o||delete o.context;const g=i.referrer(),d={library:{name:name,version:version},userAgent:i.userAgent(),locale:i.language(),screen:i.screen(),traits:"identify"!=e.type&&"group"!=e.type?Object.assign({},restoreTraits(n)||{}):void 0,page:{path:u.path||c&&c.pathname,referrer:g,referring_domain:safeCall((()=>g&&new URL(g).hostname)),host:c&&c.host,search:u.search||c&&c.search,title:u.title||i.pageTitle(),url:u.url||a,encoding:u.encoding||i.documentEncoding()},clientIds:{fbc:getCookie("_fbc"),fbp:getCookie("_fbp")},campaign:parseUtms(s)},m=Object.assign(Object.assign({},e),{timestamp:(new Date).toISOString(),sentAt:(new Date).toISOString(),messageId:randomId(u.path||c&&c.pathname),writeKey:maskWriteKey(t.writeKey),context:deepMerge(d,l)});return delete m.meta,delete m.options,m}function processDestinations(e,t,n,r,o){return __awaiter(this,void 0,void 0,(function*(){const i=[];for(const a of e){const e=Object.assign(Object.assign({},a.credentials),a.options);if("internal-plugin"===a.deviceOptions.type){const t=internalDestinationPlugins[a.deviceOptions.name];if(t)try{i.push(t.handle(e,n))}catch(e){console.warn(`[JITSU] Error processing event with internal plugin '${a.deviceOptions.name}': ${null==e?void 0:e.message}`,e)}else console.warn(`[JITSU] Unknown internal plugin '${a.deviceOptions.name}' for destination '${a.id}'`)}else if("analytics-plugin"===a.deviceOptions.type){yield loadScript(a.deviceOptions.packageCdn);const i=window[a.deviceOptions.moduleVarName];if(i){let c;try{c=("function"==typeof i?i:i.init)(e)}catch(e){console.warn(`[JITSU] Error creating plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}`,e)}try{r&&console.log(`[JITSU] Plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}' initialized with config:`,c.config),c.initialize({config:c.config,instance:o})}catch(e){console.warn(`[JITSU] Error initializing plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}. Config: ${JSON.stringify(c.config)}`,e);continue}if(c[t])try{c[t]({payload:n,config:c.config,instance:o})}catch(e){console.warn(`[JITSU] Error processing ${t}() with plugin '${a.deviceOptions.moduleVarName}@${a.deviceOptions.packageCdn}' for destination '${a.id}': ${null==e?void 0:e.message}`,e)}}else console.warn(`[JITSU] Broken plugin '${a.deviceOptions.packageCdn}' for destination '${a.id}' - it doesn't export '${a.deviceOptions.moduleVarName}' variable`)}}}))}function looksLikeCuid(e){return 25===e.length&&"c"===e.charAt(0)}function validateWriteKey(e){if(e){const[,t]=e.split(":",2);if(!t&&!looksLikeCuid(e))throw new Error(`Legacy write key detected - ${e}! This format doesn't work anymore, it should be 'key:secret'. Please download a new key from Jitsu UI`)}return e}function maskWriteKey(e){if(e){const[t,n]=e.split(":",2);return n?`${t}:***`:"***"}return e}function send(e,t,n,r,o){if(n.echoEvents)return void console.log(`[JITSU] sending '${e}' event:`,t);const i=`${n.host}/api/s/${e}`,a=n.fetch||globalThis.fetch;if(!a)throw new Error("Please specify fetch function in jitsu plugin initialization, fetch isn't available in global scope");const c=n.debug?{"X-Enable-Debug":"true"}:{},s=adjustPayload(t,n,o),u=n.writeKey?{"X-Write-Key":n.writeKey}:{};return a(i,{method:"POST",headers:Object.assign(Object.assign({"Content-Type":"application/json"},u),c),body:JSON.stringify(s)}).then((e=>(n.debug&&console.log(`[JITSU] ${i} replied ${e.status}. Original payload: `,JSON.stringify(s,null,2)),e.ok?e.text():Promise.reject(e.text())))).then((t=>{let o;try{o=JSON.parse(t)}catch(e){return Promise.reject(`Can't parse JSON: ${t}: ${null==e?void 0:e.message}`)}if(o.destinations)return n.debug&&console.log("[JITSU] Processing device destinations: ",JSON.stringify(o.destinations,null,2)),processDestinations(o.destinations,e,s,!!n.debug,r)})).catch((e=>{n.debug&&console.error(`Jitsu ${i} failed: `,e)}))}const jitsuAnalyticsPlugin=(e={})=>{const t={},n=e=>({setItem(n,r){t[n]=r,e.setItem(n,r)},getItem:n=>t[n]||e.getItem(n),removeItem(n){delete t[n],e.removeItem(n)}}),r=Object.assign(Object.assign({},defaultConfig),e);return{name:"jitsu",config:r,initialize:e=>{const{config:t}=e;if(t.debug&&console.debug("[JITSU] Initializing Jitsu plugin with config: ",JSON.stringify(t)),!t.host&&!t.echoEvents)throw new Error("Please specify host variable in jitsu plugin initialization, or set echoEvents to true");validateWriteKey(t.writeKey)},page:e=>{const{payload:t,config:r,instance:o}=e;return send("page",t,r,o,n(o.storage))},track:e=>{const{payload:t,config:r,instance:o}=e;return send("track",t,r,o,n(o.storage))},identify:e=>{const{payload:r,config:o,instance:i}=e;return t.__user_traits=r.traits,send("identify",r,o,i,n(i.storage))},reset:e=>{Object.keys(t).forEach((e=>delete t[e]))},methods:{group(e,t,o,i){const a=this.instance,c=a.user(),s=(null==o?void 0:o.userId)||(null==c?void 0:c.userId),u=(null==o?void 0:o.anonymousId)||(null==c?void 0:c.anonymousId);return send("group",Object.assign(Object.assign({type:"group",groupId:e,traits:t},u?{anonymousId:u}:{}),s?{userId:s}:{}),r,a,n(a.storage))}}}};function getSeed(){var e;const t=Date.now()%2147483647;return isInBrowser()&&(null===(e=null===window||void 0===window?void 0:window.performance)||void 0===e?void 0:e.now())||t}function randomId(e=""){const t=Date.now();return(Math.random()*t*hash(null!=e?e:"",getSeed())%Number.MAX_SAFE_INTEGER).toString(36)+(Math.random()*t*hash(null!=e?e:"",getSeed())%Number.MAX_SAFE_INTEGER).toString(36)}function hash(e,t=0){let n=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),n=Math.imul(n^t,2654435761),r=Math.imul(r^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&r)+(n>>>0)}function parse(e){let t=e;0===(null==e?void 0:e.indexOf("%7B%22"))&&(t=decodeURIComponent(e));try{if(t=JSON.parse(t),"true"===t)return!0;if("false"===t)return!1;if("object"==typeof t)return t;parseFloat(t)===t&&(t=parseFloat(t))}catch(e){}if(null!==t&&""!==t)return t}function createUnderlyingAnalyticsInstance(e,t,n=[]){const r=analyticsLib({app:"test",debug:!!e.debug,storage:t.store(),plugins:[jitsuAnalyticsPlugin(e),...n]}),o=r.page;return r.page=(...e)=>2===e.length&&"string"==typeof e[0]&&"object"==typeof e[1]?o(Object.assign({name:e[0]},e[1])):o(...e),Object.assign(Object.assign({},r),{group(e,t,n,o){for(const i of Object.values(r.plugins))i.group&&i.group(e,t,n,o);return Promise.resolve({})}})}function jitsuAnalytics(e){const t=isInBrowser();return createUnderlyingAnalyticsInstance(e,e.runtime||(t?windowRuntime(e):emptyRuntime(e)))}function snakeToCamel(e){return e.replace(/([-_][a-z])/gi,(e=>e.toUpperCase().replace("-","").replace("_","")))}const booleanParser=e=>"true"===e||"1"===e||"yes"===e,parsers={debug:booleanParser,initOnly:booleanParser};function getParser(e){return parsers[e]||(e=>e)}function getScriptAttributes(e){return e.getAttributeNames().filter((e=>0===e.indexOf("data-"))).map((e=>e.substring("data-".length))).reduce(((t,n)=>Object.assign(Object.assign({},t),{[snakeToCamel(n)]:getParser(snakeToCamel(n))(e.getAttribute(`data-${n}`))})),{})}!function(){const e=function(){const e=window.document.currentScript;if(!e)throw new Error("Can't find script element");const t=new URL(e.src).origin;return Object.assign(Object.assign(Object.assign({},(null===window||void 0===window?void 0:window.jitsuConfig)||{}),getScriptAttributes(e)),{host:t})}(),t=e.namespace||"jitsu";window[t]&&console.log("Jitsu is already initialized"),e.debug&&console.log("Jitsu options: ",JSON.stringify(e));const n=jitsuAnalytics(e);if(e.onload){const t=window[e.onload];t||console.warn(`onload function ${e.onload} is not found in window`),"function"==typeof t?t(n):console.warn(`onload function ${e.onload} is not callable: ${typeof t}`)}window[t]=n,e.initOnly||n.page()}()})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jitsu/js",
3
- "version": "1.3.1-canary.301.20231020113455",
3
+ "version": "1.5.1",
4
4
  "description": "",
5
5
  "author": "Jitsu Dev Team <dev@jitsu.com>",
6
6
  "main": "dist/jitsu.cjs.js",
@@ -34,7 +34,7 @@
34
34
  "rollup": "^3.2.5",
35
35
  "ts-jest": "29.0.5",
36
36
  "typescript": "^4.9.5",
37
- "@jitsu/protocols": "1.3.1-canary.301.20231020113455"
37
+ "@jitsu/protocols": "1.5.1"
38
38
  },
39
39
  "dependencies": {
40
40
  "analytics": "^0.8.1"
@@ -245,7 +245,7 @@ function adjustPayload(payload: any, config: JitsuOptions, storage: PersistentSt
245
245
  const customContext = payload.properties?.context || {};
246
246
  delete payload.properties?.context;
247
247
  const referrer = runtime.referrer();
248
- const context = {
248
+ const context: AnalyticsClientEvent["context"] = {
249
249
  library: {
250
250
  name: jitsuLibraryName,
251
251
  version: jitsuVersion,
@@ -264,6 +264,10 @@ function adjustPayload(payload: any, config: JitsuOptions, storage: PersistentSt
264
264
  url: properties.url || url,
265
265
  encoding: properties.encoding || runtime.documentEncoding(),
266
266
  },
267
+ clientIds: {
268
+ fbc: getCookie("_fbc"),
269
+ fbp: getCookie("_fbp"),
270
+ },
267
271
  campaign: parseUtms(query),
268
272
  };
269
273
  const withContext = {