@walkeros/web-source-cmp-cookiefirst 4.1.0-next-1778668930820 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,272 @@
1
+ # @walkeros/web-source-cmp-cookiefirst
2
+
3
+ ## 4.1.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [e155ff8]
8
+ - Updated dependencies [e800974]
9
+ - Updated dependencies [e155ff8]
10
+ - Updated dependencies [1a8f2d7]
11
+ - Updated dependencies [1a8f2d7]
12
+ - Updated dependencies [b276173]
13
+ - Updated dependencies [dd9f5ad]
14
+ - Updated dependencies [c60ef35]
15
+ - Updated dependencies [adeebea]
16
+ - Updated dependencies [13aaeaa]
17
+ - Updated dependencies [e800974]
18
+ - Updated dependencies [adeebea]
19
+ - Updated dependencies [6cdc362]
20
+ - Updated dependencies [e800974]
21
+ - Updated dependencies [e800974]
22
+ - Updated dependencies [058f7ed]
23
+ - Updated dependencies [28a8ac2]
24
+ - Updated dependencies [fd6076e]
25
+ - @walkeros/core@4.1.0
26
+ - @walkeros/collector@4.1.0
27
+
28
+ ## 4.0.2
29
+
30
+ ### Patch Changes
31
+
32
+ - Updated dependencies [a6a0ea7]
33
+ - @walkeros/core@4.0.2
34
+ - @walkeros/collector@4.0.2
35
+
36
+ ## 4.0.1
37
+
38
+ ### Patch Changes
39
+
40
+ - Updated dependencies [cb265eb]
41
+ - Updated dependencies [381dfe7]
42
+ - Updated dependencies [1524275]
43
+ - Updated dependencies [03d7055]
44
+ - @walkeros/collector@4.0.1
45
+ - @walkeros/core@4.0.1
46
+
47
+ ## 4.0.0
48
+
49
+ ### Major Changes
50
+
51
+ - 93ea9c4: Event model v4: breaking changes to the `Event`, `Source`, and
52
+ `Entity` shapes.
53
+ - `event.id` is now a W3C span_id (16 lowercase hex chars), generated by the
54
+ collector. Reference: W3C Trace Context (W3C Recommendation, January 2020).
55
+ - `event.version`, `event.group`, `event.count` are removed.
56
+ - `source.type` is now the source kind (e.g. `browser`, `gtag`, `mcp`, `cli`).
57
+ New `source.platform` holds the runtime (`web` | `server` | `app` | ...).
58
+ - `source.id` and `source.previous_id` are removed.
59
+ - Browser source now sets `source.url` and `source.referrer`.
60
+ - MCP source sets `source.tool` per emission. CLI source sets
61
+ `source.command`.
62
+ - `Entity.nested` and `Entity.context` are now optional. Root `event.nested`
63
+ and `event.context` remain required.
64
+ - Each source self-registers via TypeScript module augmentation of `SourceMap`
65
+ in `@walkeros/core`.
66
+ - App-side coordination (`/workspaces/developer/app`) is a follow-up plan, not
67
+ part of this release. Telemetry from v4 CLI/MCP will not validate against
68
+ the existing app schema until that follow-up ships.
69
+ - `Mapping.Rule.skip` is renamed to `Mapping.Rule.silent`. Customer flow.json
70
+ configs using `skip: true` in mapping rules must rename to `silent: true`.
71
+ Hard cut: no legacy alias, the field is gone.
72
+
73
+ ### Patch Changes
74
+
75
+ - Updated dependencies [93ea9c4]
76
+ - Updated dependencies [465775c]
77
+ - Updated dependencies [942a7fe]
78
+ - Updated dependencies [cfc7469]
79
+ - Updated dependencies [8e06b1f]
80
+ - Updated dependencies [3d50dd6]
81
+ - Updated dependencies [1ef33d9]
82
+ - @walkeros/core@4.0.0
83
+ - @walkeros/collector@4.0.0
84
+
85
+ ## 3.4.2
86
+
87
+ ### Patch Changes
88
+
89
+ - @walkeros/collector@3.4.2
90
+ - @walkeros/core@3.4.2
91
+
92
+ ## 3.4.1
93
+
94
+ ### Patch Changes
95
+
96
+ - Updated dependencies [12adf24]
97
+ - Updated dependencies [75aa26b]
98
+ - @walkeros/core@3.4.1
99
+ - @walkeros/collector@3.4.1
100
+
101
+ ## 3.4.0
102
+
103
+ ### Minor Changes
104
+
105
+ - 724f97e: Migrate every step example in every walkerOS package to the
106
+ standardized `[callable, ...args][]` shape introduced in `@walkeros/core`.
107
+ Every step example's `out` is now an array of effect tuples whose first
108
+ element is the callable's public SDK name (`'gtag'`, `'analytics.track'`,
109
+ `'fbq'`, `'dataLayer.push'`, `'sendServer'`, `'fetch'`, `'trackClient.track'`,
110
+ `'amplitude.track'`, `'fs.writeFile'`, `'producer.send'`, `'client.xadd'`,
111
+ `'client.send'`, `'dataset.table.insert'`, etc.). Source examples use `'elb'`
112
+ as the callable; transformer examples use the reserved `'return'` keyword;
113
+ store examples use store-operation callables (`'get'`, `'set'`). Tests capture
114
+ real calls on each component's spy and assert against `example.out` directly —
115
+ the hardcoded `PACKAGE_CALLS` registry in the app is no longer consulted
116
+ (emptied; plan #3 removes it structurally).
117
+
118
+ ### Patch Changes
119
+
120
+ - Updated dependencies [74940cc]
121
+ - Updated dependencies [525f5d9]
122
+ - @walkeros/core@3.4.0
123
+ - @walkeros/collector@3.4.0
124
+
125
+ ## 3.3.1
126
+
127
+ ### Patch Changes
128
+
129
+ - Updated dependencies [b10144a]
130
+ - Updated dependencies [206185a]
131
+ - Updated dependencies [50e5d09]
132
+ - Updated dependencies [32ff626]
133
+ - @walkeros/collector@3.3.1
134
+ - @walkeros/core@3.3.1
135
+
136
+ ## 3.3.0
137
+
138
+ ### Patch Changes
139
+
140
+ - Updated dependencies [2849acb]
141
+ - Updated dependencies [08c365a]
142
+ - Updated dependencies [08c365a]
143
+ - Updated dependencies [08c365a]
144
+ - Updated dependencies [08c365a]
145
+ - @walkeros/core@3.3.0
146
+ - @walkeros/collector@3.3.0
147
+
148
+ ## 3.2.0
149
+
150
+ ### Patch Changes
151
+
152
+ - Updated dependencies [eb865e1]
153
+ - Updated dependencies [c0a53f9]
154
+ - Updated dependencies [8cdc0bb]
155
+ - Updated dependencies [f007c9f]
156
+ - Updated dependencies [bf2dc5b]
157
+ - Updated dependencies [da0b640]
158
+ - Updated dependencies [a5d25bc]
159
+ - Updated dependencies [9a99298]
160
+ - Updated dependencies [884527d]
161
+ - @walkeros/core@3.2.0
162
+ - @walkeros/collector@3.2.0
163
+
164
+ ## 3.1.1
165
+
166
+ ### Patch Changes
167
+
168
+ - @walkeros/core@3.1.1
169
+ - @walkeros/collector@3.1.1
170
+
171
+ ## 3.1.0
172
+
173
+ ### Minor Changes
174
+
175
+ - 956c337: Add createTrigger following unified Trigger.CreateFn interface. Step
176
+ examples updated with trigger metadata.
177
+
178
+ ### Patch Changes
179
+
180
+ - Updated dependencies [a9149e4]
181
+ - Updated dependencies [dfc6738]
182
+ - Updated dependencies [966342b]
183
+ - Updated dependencies [bee8ba7]
184
+ - Updated dependencies [966342b]
185
+ - Updated dependencies [df990d4]
186
+ - @walkeros/collector@3.1.0
187
+ - @walkeros/core@3.1.0
188
+
189
+ ## 3.0.2
190
+
191
+ ### Patch Changes
192
+
193
+ - @walkeros/core@3.0.2
194
+ - @walkeros/collector@3.0.2
195
+
196
+ ## 3.0.1
197
+
198
+ ### Patch Changes
199
+
200
+ - @walkeros/core@3.0.1
201
+ - @walkeros/collector@3.0.1
202
+
203
+ ## 3.0.0
204
+
205
+ ### Patch Changes
206
+
207
+ - 499e27a: Add sideEffects declarations to all packages for bundler tree-shaking
208
+ support.
209
+ - Updated dependencies [2b259b6]
210
+ - Updated dependencies [2614014]
211
+ - Updated dependencies [6ae0ee3]
212
+ - Updated dependencies [37299a9]
213
+ - Updated dependencies [499e27a]
214
+ - Updated dependencies [499e27a]
215
+ - Updated dependencies [0e5eede]
216
+ - Updated dependencies [d11f574]
217
+ - Updated dependencies [d11f574]
218
+ - Updated dependencies [1fe337a]
219
+ - Updated dependencies [5cb84c1]
220
+ - Updated dependencies [23f218a]
221
+ - Updated dependencies [499e27a]
222
+ - Updated dependencies [c83d909]
223
+ - Updated dependencies [a2aa491]
224
+ - Updated dependencies [b6c8fa8]
225
+ - @walkeros/core@3.0.0
226
+ - @walkeros/collector@3.0.0
227
+
228
+ ## 2.1.1
229
+
230
+ ### Patch Changes
231
+
232
+ - Updated dependencies [fab477d]
233
+ - @walkeros/core@2.1.1
234
+ - @walkeros/collector@2.1.1
235
+
236
+ ## 2.1.0
237
+
238
+ ### Minor Changes
239
+
240
+ - 97df0b2: Step examples: upgrade all packages to blueprint pattern with inline
241
+ mapping, no intermediate variables, no `all` export
242
+
243
+ ### Patch Changes
244
+
245
+ - 60f0a1c: Add setup functions and renderer metadata for source simulation
246
+ - Updated dependencies [7fc4cee]
247
+ - Updated dependencies [7fc4cee]
248
+ - Updated dependencies [cb2da05]
249
+ - Updated dependencies [2bbe8c8]
250
+ - Updated dependencies [3eb6416]
251
+ - Updated dependencies [02a7958]
252
+ - Updated dependencies [97df0b2]
253
+ - Updated dependencies [97df0b2]
254
+ - Updated dependencies [026c412]
255
+ - Updated dependencies [7d38d9d]
256
+ - @walkeros/core@2.1.0
257
+ - @walkeros/collector@2.1.0
258
+
259
+ ## 2.0.1
260
+
261
+ ## 1.1.0
262
+
263
+ ### Minor Changes
264
+
265
+ - 32bfc92: Add CookieFirst consent management source
266
+
267
+ ### Patch Changes
268
+
269
+ - Updated dependencies [32bfc92]
270
+ - Updated dependencies [7b2d750]
271
+ - @walkeros/collector@2.0.0
272
+ - @walkeros/core@1.4.0
package/README.md CHANGED
@@ -1,9 +1,20 @@
1
+ <p align="left">
2
+ <a href="https://www.walkeros.io">
3
+ <img alt="walkerOS" title="walkerOS" src="https://www.walkeros.io/img/walkerOS_logo.svg" width="256px"/>
4
+ </a>
5
+ </p>
6
+
1
7
  # @walkeros/web-source-cmp-cookiefirst
2
8
 
3
- CookieFirst consent management source for walkerOS.
9
+ Integrates CookieFirst consent management with walkerOS by listening for
10
+ CookieFirst events and translating consent categories to walkerOS consent
11
+ groups.
4
12
 
5
- This source listens to [CookieFirst](https://cookiefirst.com/) CMP events and
6
- translates consent states to walkerOS consent commands.
13
+ [Documentation](https://www.walkeros.io/docs/sources/web/cmps/cookiefirst)
14
+ &bull;
15
+ [NPM Package](https://www.npmjs.com/package/@walkeros/web-source-cmp-cookiefirst)
16
+ &bull;
17
+ [Source Code](https://github.com/elbwalker/walkerOS/tree/main/packages/web/sources/cmps/cookiefirst)
7
18
 
8
19
  ## Installation
9
20
 
@@ -11,9 +22,9 @@ translates consent states to walkerOS consent commands.
11
22
  npm install @walkeros/web-source-cmp-cookiefirst
12
23
  ```
13
24
 
14
- ## Usage
25
+ ## Quick start
15
26
 
16
- ```typescript
27
+ ```ts
17
28
  import { startFlow } from '@walkeros/collector';
18
29
  import { sourceCookieFirst } from '@walkeros/web-source-cmp-cookiefirst';
19
30
 
@@ -23,84 +34,20 @@ await startFlow({
23
34
  code: sourceCookieFirst,
24
35
  },
25
36
  },
26
- destinations: {
27
- gtag: {
28
- code: destinationGtag,
29
- config: {
30
- consent: { analytics: true }, // Requires analytics consent
31
- },
32
- },
33
- },
34
37
  });
35
38
  ```
36
39
 
37
- ## Configuration
38
-
39
- ### Settings
40
-
41
- | Setting | Type | Default | Description |
42
- | -------------- | ------------------------ | --------------- | ------------------------------------------------------ |
43
- | `categoryMap` | `Record<string, string>` | See below | Maps CookieFirst categories to walkerOS consent groups |
44
- | `explicitOnly` | `boolean` | `true` | Only process explicit consent (user made a choice) |
45
- | `globalName` | `string` | `'CookieFirst'` | Custom name for `window.CookieFirst` object |
46
-
47
- ### Default Category Mapping
48
-
49
- ```typescript
50
- {
51
- necessary: 'functional',
52
- functional: 'functional',
53
- performance: 'analytics',
54
- advertising: 'marketing',
55
- }
56
- ```
57
-
58
- When multiple CookieFirst categories map to the same walkerOS group (e.g., both
59
- `necessary` and `functional` → `functional`), the source uses OR logic: if ANY
60
- source category is `true`, the target group is `true`.
61
-
62
- ### Custom Mapping Example
63
-
64
- ```typescript
65
- await startFlow({
66
- sources: {
67
- consent: {
68
- code: sourceCookieFirst,
69
- config: {
70
- settings: {
71
- categoryMap: {
72
- performance: 'statistics', // Use 'statistics' instead of 'analytics'
73
- },
74
- explicitOnly: true,
75
- },
76
- },
77
- },
78
- },
79
- });
80
- ```
81
-
82
- ## How It Works
83
-
84
- 1. **Initialization**: When the source loads, it checks if CookieFirst is
85
- already initialized and processes any existing consent state.
86
-
87
- 2. **cf_init Event**: Listens for the `cf_init` event fired when CookieFirst
88
- banner initializes.
89
-
90
- 3. **cf_consent Event**: Listens for the `cf_consent` event fired when user
91
- changes their consent preferences.
92
-
93
- 4. **Consent Mapping**: Translates CookieFirst categories to walkerOS consent
94
- groups and calls `elb('walker consent', state)`.
95
-
96
- ## CookieFirst API Reference
40
+ ## Documentation
97
41
 
98
- - [CookieFirst Public API Documentation](https://support.cookiefirst.com/hc/en-us/articles/360011568738-Cookie-Banner-Public-API-documentation)
42
+ Full configuration, mapping, and examples live in the docs:
43
+ **https://www.walkeros.io/docs/sources/web/cmps/cookiefirst**
99
44
 
100
- ## Related
45
+ ## Contribute
101
46
 
102
- - [Consent management guide](https://www.walkeros.io/docs/guides/consent)
103
- - [CookieFirst documentation](https://www.walkeros.io/docs/sources/web/cmps/cookiefirst)
47
+ Feel free to contribute by submitting an
48
+ [issue](https://github.com/elbwalker/walkerOS/issues), starting a
49
+ [discussion](https://github.com/elbwalker/walkerOS/discussions), or getting in
50
+ [contact](https://calendly.com/elb-alexander/30min).
104
51
 
105
52
  ## License
106
53
 
@@ -1 +1 @@
1
- "use strict";var SourceCookieFirst=(()=>{var e=Object.defineProperty,n=Object.getOwnPropertyDescriptor,t=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r=(n,t)=>{for(var o in t)e(n,o,{get:t[o],enumerable:!0})},i={};r(i,{DEFAULT_CATEGORY_MAP:()=>Je,SourceCookieFirst:()=>s,analyticsOnlyConsent:()=>f,analyticsOnlyMapped:()=>y,createMockCookieFirstAPI:()=>k,createMockElbFn:()=>b,createMockWindow:()=>O,createTrigger:()=>Ve,default:()=>Qe,fullConsent:()=>a,fullConsentMapped:()=>d,marketingOnlyConsent:()=>g,marketingOnlyMapped:()=>m,minimalConsent:()=>u,minimalConsentMapped:()=>v,mockEnv:()=>j,noConsent:()=>l,noopLogger:()=>w,partialConsent:()=>c,partialConsentMapped:()=>p,sourceCookieFirst:()=>Ye,step:()=>x,trigger:()=>ze});var s={},a={necessary:!0,functional:!0,performance:!0,advertising:!0},c={necessary:!0,functional:!0,performance:!1,advertising:!1},u={necessary:!0,functional:!1,performance:!1,advertising:!1},l=null,f={necessary:!0,functional:!1,performance:!0,advertising:!1},g={necessary:!0,functional:!1,performance:!1,advertising:!0},d={functional:!0,analytics:!0,marketing:!0},p={functional:!0,analytics:!1,marketing:!1},v={functional:!0,analytics:!1,marketing:!1},y={functional:!0,analytics:!0,marketing:!1},m={functional:!0,analytics:!1,marketing:!0},h=()=>{},b=()=>()=>Promise.resolve({ok:!0}),w={error:h,warn:h,info:h,debug:h,throw:e=>{throw"string"==typeof e?new Error(e):e},json:h,scope:()=>w},k=(e=null)=>({consent:e}),O=(e=null)=>({CookieFirst:k(e),addEventListener:h,removeEventListener:h}),j={get push(){return b()},get command(){return b()},get elb(){return b()},get window(){return O()},logger:w},x={};r(x,{categoryMapOverride:()=>q,cfInitDetection:()=>E,fullConsent:()=>A,partialConsent:()=>S});var A={title:"Full consent",description:"CookieFirst reports all categories granted and the source forwards a walker consent command with all groups true.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!0,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!0}]]},S={title:"Partial consent",description:"A partial CookieFirst grant maps analytics and marketing to false in the emitted walker consent command.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!1,advertising:!1},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!1}]]},q={title:"Category map override",description:"Custom categoryMap remaps performance to statistics instead of analytics",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!0,advertising:!1},mapping:{settings:{categoryMap:{performance:"statistics"}}},out:[["elb","walker consent",{functional:!0,statistics:!0,marketing:!1}]]},E={title:"cf_init detection",description:"CMP detected via cf_init CustomEvent (primary detection path)",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!1,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!0}]]},C=Object.defineProperty;((e,n)=>{for(var t in n)C(e,t,{get:n[t],enumerable:!0})})({},{Level:()=>M});var $,M=(($=M||{})[$.ERROR=0]="ERROR",$[$.WARN=1]="WARN",$[$.INFO=2]="INFO",$[$.DEBUG=3]="DEBUG",$);function P(e){return{_meta:{hops:0,path:[e]}}}var _={merge:!0,shallow:!0,extend:!0};function D(e,n={},t={}){t={..._,...t};const o=Object.entries(n).reduce((n,[o,r])=>{const i=e[o];return t.merge&&Array.isArray(i)&&Array.isArray(r)?n[o]=r.reduce((e,n)=>e.includes(n)?e:[...e,n],[...i]):(t.extend||o in e)&&(n[o]=r),n},{});return t.shallow?{...e,...o}:(Object.assign(e,o),e)}function I(e){return Array.isArray(e)}function R(e){return void 0!==e}function T(e){return"function"==typeof e}function N(e){return"object"==typeof e&&null!==e&&!I(e)&&"[object Object]"===Object.prototype.toString.call(e)}function F(e){return"string"==typeof e}function H(e,n=new WeakMap){if("object"!=typeof e||null===e)return e;if(n.has(e))return n.get(e);const t=Object.prototype.toString.call(e);if("[object Object]"===t){const t={};n.set(e,t);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=H(e[o],n));return t}if("[object Array]"===t){const t=[];return n.set(e,t),e.forEach(e=>{t.push(H(e,n))}),t}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){const n=e;return new RegExp(n.source,n.flags)}return e}function L(e,n="",t){const o=n.split(".");let r=e;for(let e=0;e<o.length;e++){const n=o[e];if("*"===n&&I(r)){const n=o.slice(e+1).join("."),i=[];for(const e of r){const o=L(e,n,t);i.push(o)}return i}if(r=r instanceof Object?r[n]:void 0,void 0===r)break}return R(r)?r:t}function B(e,n,t){if(!N(e))return e;const o=H(e),r=n.split(".");let i=o;for(let e=0;e<r.length;e++){const n=r[e];e===r.length-1?i[n]=t:(n in i&&"object"==typeof i[n]&&null!==i[n]||(i[n]={}),i=i[n])}return o}var U={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function W(e,n={},t={}){const o={...n,...t},r={};let i=!e||0===Object.keys(e).length;return Object.keys(o).forEach(n=>{o[n]&&(r[n]=!0,e&&e[n]&&(i=!0))}),!!i&&r}function G(){let e="";for(let n=0;n<16;n++)e+=(16*Math.random()|0).toString(16);return e}function K(e=6,n){if(n){const t=n.length;let o="";for(let r=0;r<e;r++)o+=n[Math.random()*t|0];return o}let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function V(e,n=1e3,t=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=t&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,t&&!i||(o=e(...s),a(o))},n),c&&(i=!0,o=e(...s),a(o))})}function z(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function J(e,n){let t,o={};return e instanceof Error?(t=e.message,o.error=z(e)):t=e,void 0!==n&&(n instanceof Error?o.error=z(n):"object"==typeof n&&null!==n?(o={...o,...n},"error"in o&&o.error instanceof Error&&(o.error=z(o.error))):o.value=n),{message:t,context:o}}var Y=(e,n,t,o)=>{const r=`${M[e]}${o.length>0?` [${o.join(":")}]`:""}`,i=Object.keys(t).length>0,s=0===e?console.error:1===e?console.warn:console.log;i?s(r,n,t):s(r,n)};function Q(e={}){return X({level:void 0!==e.level?(n=e.level,"string"==typeof n?M[n]:n):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var n}function X(e){const{level:n,handler:t,jsonHandler:o,scope:r}=e,i=(e,o,i)=>{if(e<=n){const n=J(o,i);t?t(e,n.message,n.context,r,Y):Y(e,n.message,n.context,r)}};return{error:(e,n)=>i(0,e,n),warn:(e,n)=>i(1,e,n),info:(e,n)=>i(2,e,n),debug:(e,n)=>i(3,e,n),throw:(e,n)=>{const o=J(e,n);throw t?t(0,o.message,o.context,r,Y):Y(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>X({level:n,handler:t,jsonHandler:o,scope:[...r,e]})}}function Z(e){return function(e){return"boolean"==typeof e}(e)||F(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!R(e)||I(e)&&e.every(Z)||N(e)&&Object.values(e).every(Z)}function ee(e){return Z(e)?e:void 0}function ne(e,n,t){return function(...o){try{return e(...o)}catch(e){if(!n)return;return n(e)}finally{null==t||t()}}}function te(e,n,t){return async function(...o){try{return await e(...o)}catch(e){if(!n)return;return await n(e)}finally{await(null==t?void 0:t())}}}async function oe(e,n={},t={}){var o,r;if(!R(e))return;const i=N(e)&&e.consent||t.consent||(null==(o=t.collector)?void 0:o.consent),s=null!=(r=t.event)?r:N(e)?e:{};if(!t.collector)throw new Error("getMappingValue: context.collector is required");const a={event:s,mapping:n,collector:t.collector,logger:t.collector.logger,consent:i},c=I(n)?n:[n];for(const n of c){const t=await te(re)(e,n,{...a,mapping:n});if(R(t))return t}}async function re(e,n,t){return(I(n)?n:[n]).reduce(async(n,o)=>{const r=await n;if(r)return r;const i=F(o)?{key:o}:o;if(!Object.keys(i).length)return;const{condition:s,consent:a,fn:c,key:u,loop:l,map:f,set:g,validate:d,value:p}=i,v={...t,mapping:o};if(s&&!await te(s)(e,v))return;if(a&&!W(a,v.consent))return p;let y=R(p)?p:e;if(c&&(y=await te(c)(e,v)),u&&(y=L(e,u,p)),l){const[n,t]=l,o="this"===n?[e]:await oe(e,n,v);I(o)&&(y=(await Promise.all(o.map(e=>oe(e,t,v)))).filter(R))}else f?y=await Object.entries(f).reduce(async(n,[t,o])=>{const r=await n,i=await oe(e,o,v);return R(i)&&(r[t]=i),r},Promise.resolve({})):g&&(y=await Promise.all(g.map(n=>re(e,n,v))));d&&!await te(d)(y,v)&&(y=void 0);const m=ee(y);return R(m)?m:ee(p)},Promise.resolve(void 0))}async function ie(e,n,t){var o;n.policy&&await Promise.all(Object.entries(n.policy).map(async([n,o])=>{const r=await oe(e,o,{collector:t,event:e});e=B(e,n,r)}));const{eventMapping:r,mappingKey:i}=await async function(e,n,t){var o;const[r,i]=(e.name||"").split(" ");if(!n||!r||!i)return{};let s,a="",c=r,u=i;const l=n=>{if(n)return(I(n)?n:[n]).find(n=>{if(!n.condition)return!0;if(!t)return Boolean(n.condition(e,void 0));const o={event:e,mapping:n,collector:t,logger:t.logger,consent:N(e)&&e.consent||t.consent};return Boolean(n.condition(e,o))})};n[c]||(c="*");const f=n[c];return f&&(f[u]||(u="*"),s=l(f[u])),s||(c="*",u="*",s=l(null==(o=n[c])?void 0:o[u])),s&&(a=`${c} ${u}`),{eventMapping:s,mappingKey:a}}(e,n.mapping,t);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([n,o])=>{const r=await oe(e,o,{collector:t,event:e});e=B(e,n,r)}));let s=n.data&&await oe(e,n.data,{collector:t,event:e});const a=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:s,mapping:r,mappingKey:i,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const n=r.data&&await oe(e,r.data,{collector:t,event:e});s=N(s)&&N(n)?D(s,n):n}}const c=null!=(o=null==r?void 0:r.include)?o:n.include;if(c&&c.length>0){const n=function(e,n){const t={},o=n.includes("all")?Object.keys(U):n;for(const n of o){const o=U[n];if(!o)continue;const r=o(e);if(N(r))for(const[e,o]of Object.entries(r)){if(void 0===o)continue;const r="context"===n&&Array.isArray(o)?o[0]:o;t[`${n}_${e}`]=r}}return t}(e,c);Object.keys(n).length>0&&(s=N(s)?D(n,s):null!=s?s:n)}return{event:e,data:s,mapping:r,mappingKey:i,ignore:!1,silent:a}}function se(e,n,t,o){return function(...r){let i;const s="pre"+n,a="post"+n,c=t[s],u=t[a],l=(e,n)=>{o?o.warn(e,{error:n}):console.warn(e,n)};if(c)try{i=c({fn:e},...r)}catch(n){l(`Hook ${String(s)} failed, falling back to original function`,n),i=e(...r)}else i=e(...r);if(u)try{i=u({fn:e,result:i},...r)}catch(e){l(`Hook ${String(a)} failed, keeping original result`,e)}return i}}function ae(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const n=e.and.map(ae);return e=>n.every(n=>n(e))}if("or"in e){const n=e.or.map(ae);return e=>n.some(n=>n(e))}return function(e){const{key:n,operator:t,value:o,not:r}=e,i=function(e,n){switch(e){case"eq":return e=>String(null!=e?e:"")===n;case"contains":return e=>String(null!=e?e:"").includes(n);case"prefix":return e=>String(null!=e?e:"").startsWith(n);case"suffix":return e=>String(null!=e?e:"").endsWith(n);case"regex":{const e=new RegExp(n);return n=>e.test(String(null!=n?n:""))}case"gt":{const e=Number(n);return n=>Number(n)>e}case"lt":{const e=Number(n);return n=>Number(n)<e}case"exists":return e=>null!=e}}(t,o);return e=>{const t=L(e,n),o=i(t);return r?!o:o}}(e)}function ce(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(function(e){return Array.isArray(e)&&e.length>0&&e.every(e=>{return"object"==typeof(n=e)&&null!==n&&!Array.isArray(n)&&("match"in n||"next"in n||"case"in n);var n})}(e))return ce({case:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const n=[];for(const t of e){const e=ce(t);void 0!==e&&n.push(e)}if(0===n.length)return;return{type:"sequence",value:n}}const n=e;if("next"in n&&void 0!==n.next)return n.match?{type:"gate",match:ae(n.match),next:ce(n.next)}:ce(n.next);if("case"in n&&n.case){const e=n.case.map(e=>{var n;if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:ce(e)};const t=e;return{match:t.match?ae(t.match):()=>!0,next:null!=(n=ce(t))?n:{type:"chain",value:[]}}});return n.match?{type:"gate",match:ae(n.match),next:{type:"case",routes:e}}:{type:"case",routes:e}}return n.match?{type:"gate",match:ae(n.match)}:void 0}function ue(e,n={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(n))return;return ue(e.next,n)}if("sequence"===e.type){const t=[];for(const o of e.value){const e=ue(o,n);void 0!==e&&(Array.isArray(e)?t.push(...e):t.push(e))}return t.length>0?t:void 0}for(const t of e.routes)if(t.match(n))return ue(t.next,n)}}function le(e,n){const t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t}function fe(e){var n;return{stop:null!=(n=e.stop)&&n,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?ae(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}function ge(e,n,t,o){const r=e.rules.find(e=>e.match(t));if(!r)return null;const i=r.key.map(e=>{var n;return String(null!=(n=L(t,e))?n:"")});if(i.every(e=>""===e))return null;const s=i.join(":"),a=null!=o?o:e.namespace,c=a?`${a}:${s}`:s,u=n.get(c);return void 0!==u?{status:"HIT",key:c,value:u,rule:r}:{status:"MISS",key:c,rule:r}}function de(e,n,t,o){e.set(n,t,1e3*o)}async function pe(e,n,t,o){if(!n)return e;let r=e;for(const[e,i]of Object.entries(n))r=B(r,e,await oe(t,i,{collector:o}));return r}var ve=new Set(["code","package","before","next","cache","mapping","config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"]);function ye(e){for(const n of Object.keys(e))if(!ve.has(n))return{ok:!1,code:"UNKNOWN_KEY",key:n,reason:`Unknown key "${n}". Allowed: ${[...ve].join(", ")}.`};return void 0!==e.code&&void 0!==e.package?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:{ok:!0}}var me={Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"};function he(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache}function be(e){var n;const t={};for(const[o,r]of Object.entries(e)){const e=ce(null==(n=r.config)?void 0:n.next);t[o]="static"===(null==e?void 0:e.type)||"chain"===(null==e?void 0:e.type)?{next:e.value}:{}}return t}function we(e,n){const t=e.config||{},o=e[n];return void 0!==o?{config:{...t,[n]:o},chainValue:o}:{config:t,chainValue:void 0}}function ke(e,n={}){if(!e)return[];if(Array.isArray(e))return e;const t=[],o=new Set;let r=e;for(;r&&n[r]&&!o.has(r);){o.add(r),t.push(r);const e=n[r].next;if(Array.isArray(e)){t.push(...e);break}r=e}return t}async function Oe(e,n,t){if(n.init&&!n.config.init){const o=n.type||"unknown",r=e.logger.scope(`transformer:${o}`),i={collector:e,logger:r,id:t,ingest:P(t),config:n.config,env:Se(n.config.env)};r.debug("init");const s=await se(n.init,"TransformerInit",e.hooks,e.logger)(i);if(!1===s)return!1;n.config={...s||n.config,env:(null==s?void 0:s.env)||n.config.env,init:!0},r.debug("init done")}return!0}async function je(e,n,t,o,r,i){const s=n.type||"unknown",a=e.logger.scope(`transformer:${s}`),c={collector:e,logger:a,id:t,ingest:r,config:n.config,env:{...Se(n.config.env),...i?{respond:i}:{}}};a.debug("push",{event:o.name});const u=await se(n.push,"TransformerPush",e.hooks,e.logger)(o,c);return a.debug("push done"),u}function xe(e,n){var t;if(e)return null!=(t=ue(ce(e),n))?t:void 0}async function Ae(e,n,t,o,r,i,s){var a,c,u,l,f,g,d;s&&(null==r?void 0:r._meta)&&(r._meta.chainPath=s);let p=o,v=i;for(const o of t){const i=n[o];if(!i){e.logger.warn(`Transformer not found: ${o}`);continue}if(r&&r._meta&&r._meta.path.length>256)return e.logger.error(`Max path length exceeded at ${o}`),{event:null,respond:v};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await te(Oe)(e,i,o))return e.logger.error(`Transformer init failed: ${o}`),{event:null,respond:v};if(s&&void 0!==(null==(c=null==(a=i.config)?void 0:a.chainMocks)?void 0:c[s])){const n=i.config.chainMocks[s];e.logger.scope(`transformer:${i.type||"unknown"}`).debug("chainMock",{chain:s}),p=n;continue}if(void 0!==(null==(u=i.config)?void 0:u.mock)){e.logger.scope(`transformer:${i.type||"unknown"}`).debug("mock"),p=i.config.mock;continue}if(null==(l=i.config)?void 0:l.disabled)continue;const y=null==(f=i.config)?void 0:f.cache,m=y?fe(y):void 0,h=m?he(m,e):void 0;let b;if(m&&h){const e=ge(m,h,le(r,p));if("HIT"===(null==e?void 0:e.status)&&e.value){if(p=e.value,m.stop)return{event:p,respond:v,stopped:!0};continue}"MISS"===(null==e?void 0:e.status)&&(b={key:e.key,ttl:e.rule.ttl})}const w=i.config.before;if(w){const t=ke(xe(w,le(r,p)),be(n));if(t.length>0){const o=await Ae(e,n,t,p,r,v,s);if(null===o.event)return{event:null,respond:null!=(g=o.respond)?g:v};if(o.stopped)return{event:Array.isArray(o.event)?o.event[0]:o.event,respond:null!=(d=o.respond)?d:v,stopped:!0};o.respond&&(v=o.respond),p=Array.isArray(o.event)?o.event[0]:o.event}}const k=await te(je,n=>(e.logger.scope(`transformer:${i.type||"unknown"}`).error("Push failed",{error:n}),!1))(e,i,o,p,r,v);if(!1===k)return{event:null,respond:v};if(Array.isArray(k)){const i=t.slice(t.indexOf(o)+1),a=await Promise.all(k.map(async t=>{const o=t.event||p,a=r?{...r,_meta:{...r._meta,path:[...r._meta.path]}}:P("unknown");if(t.next){const r=xe(t.next,le(a,o));if(r){const t=ke(r,be(n));if(t.length>0)return Ae(e,n,t,o,a,v,s)}return{event:o,respond:v}}return i.length>0?Ae(e,n,i,o,a,v,s):{event:o,respond:v}}));let c=v;const u=[];for(const e of a.flat())if(null!==e)if(e&&"object"==typeof e&&"event"in e){const n=e;if(n.respond&&(c=n.respond),null===n.event)continue;Array.isArray(n.event)?u.push(...n.event):u.push(n.event)}else u.push(e);return 0===u.length?{event:null,respond:c}:1===u.length?{event:u[0],respond:c}:{event:u,respond:c}}if(k&&"object"==typeof k){const{event:t,respond:o,next:i}=k;if(o&&(v=o),i){const o=xe(i,le(r,p));if(!o){t&&(p=t);continue}const a=ke(o,be(n));return a.length>0?Ae(e,n,a,t||p,r,v,s):(e.logger.warn(`Branch target not found: ${JSON.stringify(i)}`),{event:null,respond:v})}t&&(p=t)}b&&h&&de(h,b.key,p,b.ttl);const O=i.config.next?ce(i.config.next):void 0,j="case"===(null==O?void 0:O.type)||"gate"===(null==O?void 0:O.type)||"sequence"===(null==O?void 0:O.type);if((!k||"object"==typeof k&&!k.next)&&O&&j){const t=ue(O,le(r,p));if(t){const o=ke(t,be(n));if(o.length>0)return Ae(e,n,o,p,r,v,s)}return{event:p,respond:v}}}return{event:p,respond:v}}function Se(e){return e&&N(e)?e:{}}async function qe(e,n){var t;if(!n.on||!(null==(t=n.queueOn)?void 0:t.length))return;const o=n.queueOn;n.queueOn=[];for(const{type:e,data:t}of o)await te(n.on)(e,t)}function Ee(e){var n;return Boolean(e.config.init)&&!(null==(n=e.config.require)?void 0:n.length)}async function Ce(e,n,t){var o;const{code:r,config:i={},env:s={},primary:a,next:c,before:u,cache:l}=t;let f,g=P(n);const d=l?fe({...l,stop:null==(o=l.stop)||o}):void 0,p=ce(c),v="static"!==(null==p?void 0:p.type)&&"chain"!==(null==p?void 0:p.type)||!p?void 0:ke(ue(p),be(e.transformers)),y=ce(u),m="static"!==(null==y?void 0:y.type)&&"chain"!==(null==y?void 0:y.type)||!y?void 0:ke(ue(y),be(e.transformers)),h=e.logger.scope("source").scope(n),b={push:async(t,o={})=>{let r;const s=null!=m?m:y?ke(ue(y,le(g)),be(e.transformers)):[];let a=[t];if(s.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await Ae(e,e.transformers,s,t,g,f,`source.${n}.before`);if(null===o.event)return{ok:!0};if(o.stopped)return o.respond&&(f=o.respond),{ok:!0};o.respond&&(f=o.respond),a=Array.isArray(o.event)?o.event:[o.event]}if(d){const n=he(d,e);if(n){const t=le(g),o=ge(d,n,t);if(o){if("HIT"===o.status&&void 0!==o.value&&d.stop){let n=o.value;return o.rule.update&&(n=await pe(n,o.rule.update,{...t,cache:{status:"HIT"}},e)),null==f||f(n),{ok:!0}}if("MISS"===o.status&&d.stop&&f){const i=f,s=o.rule.update,a={...t,cache:{status:"MISS"}},c=o.key,u=o.rule.ttl;f=t=>{de(n,c,t,u),s?r=(async()=>{const n=await pe(t,s,a,e);i(n)})():i(t)}}"MISS"!==o.status||d.stop||de(n,o.key,!0,o.rule.ttl)}}}const c=null!=v?v:p?ke(ue(p,le(g)),be(e.transformers)):[];let u={ok:!0};for(const t of a)u=await e.push(t,{...o,id:n,ingest:g,respond:f,mapping:i,preChain:c});return r&&await r,u},command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:h,...s},w={collector:e,logger:h,id:n,config:i,env:b,setIngest:async t=>{if(!i.ingest)return void(g=P(n));const o=await oe(t,i.ingest,{collector:e}),r=P(n);g={...r,...o,_meta:r._meta}},setRespond:e=>{f=e}},k=await te(r)(w);if(!k)return;const O=k.type||"unknown",j=e.logger.scope(O).scope(n);return b.logger=j,a&&(k.config={...k.config,primary:a}),k}function $e(e,n){return{collector:e,logger:e.logger.scope("on").scope(String(n))}}function Me(e,n,t,o,r){if(!n.on)return;const i=n.type||"unknown",s=e.logger.scope(i).scope("on").scope(o),a={collector:e,logger:s,id:t,config:n.config,data:r,env:He(n.env,n.config.env)};ne(n.on)(o,a)}function Pe(e,n,t,o){let r;switch(n){case me.Consent:r=o||e.consent;break;case me.Session:r=e.session;break;case me.User:r=o||e.user;break;case me.Custom:r=o||e.custom;break;case me.Globals:r=o||e.globals;break;case me.Config:r=o||e.config;break;case me.Ready:case me.Run:default:r=void 0}if(t.length)switch(n){case me.Consent:!function(e,n,t){const o=t||e.consent,r=$e(e,me.Consent);n.forEach(e=>{Object.keys(o).filter(n=>n in e).forEach(n=>{ne(e[n])(o,r)})})}(e,t,o);break;case me.Ready:!function(e,n){if(!e.allowed)return;const t=$e(e,me.Ready);n.forEach(e=>{ne(e)(void 0,t)})}(e,t);break;case me.Run:!function(e,n){if(!e.allowed)return;const t=$e(e,me.Run);n.forEach(e=>{ne(e)(void 0,t)})}(e,t);break;case me.Session:!function(e,n){if(!e.session)return;const t=$e(e,me.Session);n.forEach(n=>{ne(n)(e.session,t)})}(e,t);break;default:{const o=$e(e,n);t.forEach(e=>{"function"==typeof e&&ne(e)(r,o)});break}}}function _e(e,n,t,o){if(!e)return[];const r=ue(null!=n?n:ce(e),le(o));return r?ke(r,t):[]}async function De(e,n,t){const{code:o,config:r={},env:i={},before:s,next:a,cache:c}=n;if(!T(o.push))return Ne({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const u=t||r||{init:!1};let l=s?{...u,before:s}:{...u};a&&(l={...l,next:a}),c&&(l={...l,cache:c});const f={...o,config:l,env:He(o.env,i)};let g=f.config.id;if(!g)do{g=K(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[g]);return e.destinations[g]=f,!1!==f.config.queue&&(f.queuePush=[...e.queue]),Ie(e,void 0,{},{[g]:f})}async function Ie(e,n,t={},o){const{allowed:r,consent:i,globals:s,user:a}=e;if(!r)return Ne({ok:!1});n&&(e.queue.push(n),e.status.in++),o||(o=e.destinations);const c=e.transformers?be(e.transformers):{},u=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var u,l,f;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let g=(r.queuePush||[]).map(e=>({...e,consent:i}));r.queuePush=[],n&&g.push(H(n));const d=t.ingest?{...t.ingest,_meta:{...t.ingest._meta,path:[...t.ingest._meta.path]}}:P("unknown");if(!g.length&&!(null==(u=r.queueOn)?void 0:u.length))return{id:o,destination:r,skipped:!0};if(!g.length&&(null==(l=r.queueOn)?void 0:l.length)){let n=!1;try{n=await Re(e,r,o)}catch(n){const t=r.type||"unknown";e.logger.scope(t).error("Destination init threw",{error:n instanceof Error?n.message:String(n)})}return{id:o,destination:r,skipped:!n}}const p=[],v=g.filter(e=>{const n=W(r.config.consent,i,e.consent);return!n||(e.consent=n,p.push(e),!1)});if(r.queuePush.push(...v),!p.length)return{id:o,destination:r,queue:g};let y,m,h=!1;try{h=await Re(e,r,o)}catch(n){const t=r.type||"unknown";e.logger.scope(t).error("Destination init threw",{error:n instanceof Error?n.message:String(n)})}if(!h)return{id:o,destination:r,queue:g};r.dlq||(r.dlq=[]);const b=r.config.before,w=_e(b,b&&Array.isArray(b)?ce(b):void 0,c,d),k=r.config.next,O=k&&Array.isArray(k)?ce(k):void 0,j=null==(f=r.config)?void 0:f.cache,x=j?fe(j):void 0,A=x?he(x,e):void 0;let S=0;return await Promise.all(p.map(async n=>{let i;if(n.globals=D(s,n.globals),n.user=D(a,n.user),(null==x?void 0:x.stop)&&A){const e=le(d,n),t=ge(x,A,e);if("HIT"===(null==t?void 0:t.status))return n;"MISS"===(null==t?void 0:t.status)&&(i={key:t.key,ttl:t.rule.ttl})}let u=n,l=t.respond;if(w.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await Ae(e,e.transformers,w,n,d,t.respond,`destination.${o}.before`);if(null===r.event)return n;r.respond&&(l=r.respond),u=Array.isArray(r.event)?r.event[0]:r.event}if(x&&!x.stop&&A){const e=le(d,u),t=ge(x,A,e);if("HIT"===(null==t?void 0:t.status))return n;"MISS"===(null==t?void 0:t.status)&&(i={key:t.key,ttl:t.rule.ttl})}const f=Date.now();let g=!1;const p=await te(Te,n=>{const t=r.type||"unknown";e.logger.scope(t).error("Push failed",{error:n,event:u.name}),y=n,g=!0,r.dlq.push([u,n])})(e,r,o,u,d,l);if(S+=Date.now()-f,i&&A&&void 0===r.config.mock&&de(A,i.key,null==p||p,i.ttl),void 0!==p&&(m=p),!g&&k){void 0!==p&&(d._response=p);const n=_e(k,O,c,d);if(n.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const t=await Ae(e,e.transformers,n,u,d,l,`destination.${o}.next`);t.respond&&(l=t.respond)}}return n})),{id:o,destination:r,error:y,response:m,totalDuration:S}})),l={},f={},g={};for(const n of u){if(n.skipped)continue;const t={type:n.destination.type||"unknown",data:n.response};e.status.destinations[n.id]||(e.status.destinations[n.id]={count:0,failed:0,duration:0});const o=e.status.destinations[n.id],r=Date.now();n.error?(t.error=n.error,g[n.id]=t,o.failed++,o.lastAt=r,o.duration+=n.totalDuration||0,e.status.failed++):n.queue&&n.queue.length?f[n.id]=t:(l[n.id]=t,o.count++,o.lastAt=r,o.duration+=n.totalDuration||0,e.status.out++)}return Ne({event:n,...Object.keys(l).length&&{done:l},...Object.keys(f).length&&{queued:f},...Object.keys(g).length&&{failed:g}})}async function Re(e,n,t){var o;if(n.init&&!n.config.init){const r=n.type||"unknown",i=e.logger.scope(r),s={collector:e,logger:i,id:t,config:n.config,env:He(n.env,n.config.env)};i.debug("init");const a=await se(n.init,"DestinationInit",e.hooks,e.logger)(s);if(!1===a)return a;if(n.config={...a||n.config,init:!0},null==(o=n.queueOn)?void 0:o.length){const o=n.queueOn;n.queueOn=[];for(const{type:r,data:i}of o)Me(e,n,t,r,i)}i.debug("init done")}return!0}async function Te(e,n,t,o,r,i){const{config:s}=n,a=await ie(o,s,e);if(a.ignore)return!1;const c=n.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:t,config:s,data:a.data,rule:a.mapping,ingest:r,env:{...He(n.env,s.env),...i?{respond:i}:{}}};if(void 0!==s.mock)return u.debug("mock",{event:a.event.name}),s.mock;const f=a.mapping,g=a.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!n.pushBatch||void 0!==s.mock){u.debug("push",{event:a.event.name});const t=await se(n.push,"DestinationPush",e.hooks,e.logger)(a.event,l);return u.debug("push done"),t}{if(n.batches=n.batches||{},!n.batches[g]){const o={key:g,events:[],data:[]};n.batches[g]={batched:o,batchFn:V(()=>{const o=n.batches[g].batched,a={collector:e,logger:u,id:t,config:s,data:void 0,rule:f,ingest:r,env:{...He(n.env,s.env),...i?{respond:i}:{}}};u.debug("push batch",{events:o.events.length}),se(n.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(o,a),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=n.batches[g];o.batched.events.push(a.event),R(a.data)&&o.batched.data.push(a.data),o.batchFn()}return!0}function Ne(e){return{ok:!(null==e?void 0:e.failed),...e}}function Fe(e){const{code:n,config:t={},env:o={},cache:r}=e,{config:i}=we(e,"before"),{config:s}=we({...e,config:i},"next"),a={...n.config,...t,...s};r&&(a.cache=r);const c=He(n.env,o);return{...n,config:a,env:c}}function He(e,n){return e||n?n?e&&N(e)&&N(n)?{...e,...n}:n:e:{}}async function Le(e,n,t){const o=Object.entries(e).map(async([e,o])=>{var r;const i=o.destroy;if(!i)return;const s=o.type||"unknown",a=t.scope(s),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:a};try{await Promise.race([i(c),new Promise((t,o)=>setTimeout(()=>o(new Error(`${n} '${e}' destroy timed out`)),5e3))])}catch(t){a.error(`${n} '${e}' destroy failed: ${t}`)}});await Promise.allSettled(o)}async function Be(e,n,t,o){let r,i,s=!1;switch(n){case me.Config:N(t)&&(D(e.config,t,{shallow:!1}),i=t,s=!0);break;case me.Consent:if(N(t)){const{update:n}=function(e,n){const t={};return Object.entries(n).forEach(([e,n])=>{t[e]=!!n}),e.consent=D(e.consent,t),{update:t}}(e,t);i=n,s=!0}break;case me.Custom:N(t)&&(e.custom=D(e.custom,t),i=t,s=!0);break;case me.Destination:N(t)&&("code"in t&&N(t.code)?r=await De(e,t,o):T(t.push)&&(r=await De(e,{code:t},o)));break;case me.Globals:N(t)&&(e.globals=D(e.globals,t),i=t,s=!0);break;case me.On:F(t)&&await async function(e,n,t){const o=e.on,r=o[n]||[],i=I(t)?t:[t];i.forEach(e=>{r.push(e)}),o[n]=r,Pe(e,n,i)}(e,t,o);break;case me.Ready:s=!0;break;case me.Run:r=await async function(e,n){return e.allowed=!0,e.timing=Date.now(),n&&(n.consent&&(e.consent=D(e.consent,n.consent)),n.user&&(e.user=D(e.user,n.user)),n.globals&&(e.globals=D(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=D(e.custom,n.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await Ie(e)}(e,t),s=!0;break;case me.Session:s=!0;break;case me.Shutdown:await async function(e){const n=e.logger;await Le(e.sources,"source",n),await Le(e.destinations,"destination",n),await Le(e.transformers,"transformer",n),await Le(e.stores,"store",n)}(e);break;case me.User:N(t)&&(D(e.user,t,{shallow:!1}),i=t,s=!0)}return s&&(await async function(e,n,t,o){var r,i;let s,a=t||[];switch(t||(a=e.on[n]||[]),n){case me.Consent:s=o||e.consent;break;case me.Session:s=e.session;break;case me.User:s=o||e.user;break;case me.Custom:s=o||e.custom;break;case me.Globals:s=o||e.globals;break;case me.Config:s=o||e.config;break;case me.Ready:case me.Run:default:s=void 0}let c=!1;for(const t of Object.values(e.sources)){if(null==(r=t.config.require)?void 0:r.length){const e=t.config.require.indexOf(n);-1!==e&&t.config.require.splice(e,1)}t.on&&(Ee(t)?!1===await te(t.on)(n,s)&&(c=!0):(t.queueOn=t.queueOn||[],t.queueOn.push({type:n,data:s})))}Object.entries(e.destinations).forEach(([t,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:n,data:s});Me(e,o,t,n,s)}});for(const n of Object.values(e.sources))Ee(n)&&(null==(i=n.queueOn)?void 0:i.length)&&await qe(0,n);return Object.keys(e.pending.destinations).length>0&&await async function(e,n){var t;for(const[o,r]of Object.entries(e.pending.destinations)){if(!e.pending.destinations[o]||e.destinations[o])continue;const i=null==(t=r.config)?void 0:t.require;if(!i)continue;const s=i.indexOf(n);if(-1===s)continue;if(i.splice(s,1),i.length>0)continue;delete e.pending.destinations[o];const a=Fe(r);!1!==a.config.queue&&(a.queuePush=[...e.queue]),e.destinations[o]=a}}(e,n),Pe(e,n,a,o),!c}(e,n,void 0,i),r=await Ie(e)),r||Ne({ok:!0})}function Ue(e,n){if(!n.name)throw new Error("Event name is required");const[t,o]=n.name.split(" ");if(!t||!o)throw new Error("Event name is invalid");const{timestamp:r=Date.now(),name:i=`${t} ${o}`,data:s={},context:a={},globals:c=e.globals,custom:u={},user:l=e.user,nested:f=[],consent:g=e.consent,id:d=G(),trigger:p="",entity:v=t,action:y=o,timing:m=0,source:h={type:"collector",schema:"4"}}=n;return{name:i,data:s,context:a,globals:c,custom:u,user:l,nested:f,consent:g,id:d,trigger:p,entity:v,action:y,timestamp:r,timing:m,source:h}}async function We(e){var n,t;const o=D({globalsStatic:{},sessionStatic:{},run:!0},e,{merge:!1,extend:!1}),r=Q({level:null==(n=e.logger)?void 0:n.level,handler:null==(t=e.logger)?void 0:t.handler}),i={...o.globalsStatic,...e.globals},s={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:i,hooks:e.hooks||{},logger:r,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0};var a,c;s.push=function(e,n){return se(async(t,o={})=>await te(async()=>{var r;const i=Date.now(),{id:s,ingest:a,respond:c,mapping:u,preChain:l,include:f,exclude:g}=o;let d=c,p=t;const v=f||g?function(e,n,t){let o=e;return n&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>n.includes(e)))),t&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>!t.includes(e)))),o}(e.destinations,f,g):void 0,y=null!=a?a:P(s||"unknown");if(u){const n=await ie(p,u,e);if(n.ignore)return Ne({ok:!0});if(u.consent&&!W(u.consent,e.consent,n.event.consent))return Ne({ok:!0});p=n.event}if((null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await Ae(e,e.transformers,l,p,y,d,s?`source.${s}.next`:void 0);if(null===t.event)return Ne({ok:!0});if(t.stopped)return t.respond&&(d=t.respond),Ne({ok:!0});if(t.respond&&(d=t.respond),Array.isArray(t.event)){const o=await Promise.all(t.event.map(async t=>{const o=n(t),r=Ue(e,o);return Ie(e,r,{id:s,ingest:y,respond:d},v)}));if(s){e.status.sources[s]||(e.status.sources[s]={count:0,duration:0});const n=e.status.sources[s];n.count+=t.event.length,n.lastAt=Date.now(),n.duration+=Date.now()-i}return null!=(r=o[0])?r:Ne({ok:!0})}p=t.event}const m=n(p),h=Ue(e,m),b=await Ie(e,h,{id:s,ingest:y,respond:d},v);if(s){e.status.sources[s]||(e.status.sources[s]={count:0,duration:0});const n=e.status.sources[s];n.count++,n.lastAt=Date.now(),n.duration+=Date.now()-i}return b},()=>Ne({ok:!1}))(),"Push",e.hooks,e.logger)}(s,e=>({timing:Math.round((Date.now()-s.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0-next-1778668930820"},...e})),s.command=(c=Be,se(async(e,n,t)=>await te(async()=>await c(a,e,n,t),()=>Ne({ok:!1}))(),"Command",(a=s).hooks,a.logger));const u=e.stores||{};if(s.stores=await async function(e,n={}){const t={};for(const[o,r]of Object.entries(n)){const{code:n,config:i={},env:s={}}=r,a=e.logger.scope("store").scope(o),c={collector:e,logger:a,id:o,config:i,env:s},u=await n(c),l=u.get,f=u.set,g=u.delete;u.get=se(l,"StoreGet",e.hooks,e.logger),u.set=se(f,"StoreSet",e.hooks,e.logger),u.delete=se(g,"StoreDelete",e.hooks,e.logger),t[o]=u}return t}(s,u),function(e,n,t){const o=new Map;for(const[t,r]of Object.entries(e))n[t]&&o.set(r,n[t]);if(0!==o.size)for(const e of[t.transformers,t.destinations,t.sources])if(e)for(const n of Object.values(e))r(n.env);function r(e){if(e)for(const[n,t]of Object.entries(e))if("object"==typeof t&&null!==t){const r=o.get(t);r&&(e[n]=r)}}}(u,s.stores,e),!s.stores.__cache){const e=new Map;s.stores.__cache={type:"memory",config:{},get:n=>{const t=e.get(n);if(t){if(!(t.expires&&Date.now()>t.expires))return t.value;e.delete(n)}},set:(n,t,o)=>{e.set(n,{value:t,expires:o?Date.now()+o:void 0})},delete:n=>{e.delete(n)}}}return s.destinations=await async function(e,n={}){var t,o;const r={};for(const[i,s]of Object.entries(n))(null==(o=null==(t=s.config)?void 0:t.require)?void 0:o.length)?e.pending.destinations[i]=s:r[i]=Fe(s);return r}(s,e.destinations||{}),s.transformers=await async function(e,n={}){var t,o,r,i;const s={};for(const[a,c]of Object.entries(n)){const{code:n,env:u={}}=c,l=ye(c);if(!l.ok){e.logger.warn(`Transformer ${a} invalid (${l.code}): ${l.reason}. Skipping.`);continue}const{config:f}=we(c,"before"),{config:g}=we({...c,config:f},"next"),d=Object.keys(u).length>0?{...g,env:u}:g,{cache:p}=c,v=p?{...d,cache:p}:d,y=e.logger.scope("transformer").scope(a),m={collector:e,logger:y,id:a,ingest:P(a),config:v,env:u},h=null!=n?n:e=>{const n=c.mapping;if(n){const t=[];if(void 0!==n.data&&t.push("data"),n.mapping)for(const[e,o]of Object.entries(n.mapping))if("object"==typeof o&&null!==o)for(const[n,r]of Object.entries(o)){if("object"!=typeof r||null===r)continue;const o=r;void 0!==o.data&&t.push(`mapping[${e}][${n}].data`),void 0!==o.silent&&t.push(`mapping[${e}][${n}].silent`)}return t.length>0&&e.collector.logger.warn(`Transformer ${a}: \`${t.join(", ")}\` ignored at transformer position (only event-mutating fields apply).`),{type:"pass",config:e.config,push:async t=>{const o=await ie(t,n,e.collector);return!o.ignore&&{event:o.event}}}}return{type:"pass",config:e.config,push:e=>({event:e})}},b=await h(m);void 0!==c.before&&void 0===(null==(t=b.config)?void 0:t.before)&&(b.config={...null!=(o=b.config)?o:{},before:c.before}),void 0!==c.next&&void 0===(null==(r=b.config)?void 0:r.next)&&(b.config={...null!=(i=b.config)?i:{},next:c.next}),s[a]=b}return s}(s,e.transformers||{}),s}async function Ge(e){e=e||{};const n=await We(e),t=(o=n,{type:"elb",config:{},push:async(e,n,t,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,n,t)}let a;if("string"==typeof e)a={name:e},n&&"object"==typeof n&&!Array.isArray(n)&&(a.data=n);else{if(!e||"object"!=typeof e)return Ne({ok:!1});a=e,n&&"object"==typeof n&&!Array.isArray(n)&&(a.data={...a.data||{},...n})}return r&&"object"==typeof r&&(a.context=r),i&&Array.isArray(i)&&(a.nested=i),s&&"object"==typeof s&&(a.custom=s),o.push(a)}});var o;n.sources.elb=t,await async function(e,n={}){var t;const o={};for(const[r,i]of Object.entries(n)){const n=await Ce(e,r,i);if(!n)continue;const s=null==(t=i.config)?void 0:t.require;n.config={...n.config,init:!1,...s?{require:[...s]}:{}},o[r]=n}Object.assign(e.sources,o);for(const n of Object.keys(o)){const t=e.sources[n];t.init&&await te(t.init.bind(t))(),t.config.init=!0,Ee(t)&&await qe(0,t)}return o}(n,e.sources||{});const{consent:r,user:i,globals:s,custom:a}=e;r&&await n.command("consent",r),i&&await n.command("user",i),s&&Object.assign(n.globals,s),a&&Object.assign(n.custom,a),n.config.run&&await n.command("run");let c=t.push;const u=Object.values(n.sources).filter(e=>"elb"!==e.type),l=u.find(e=>e.config.primary);return l?c=l.push:u.length>0&&(c=u[0].push),{collector:n,elb:c}}var Ke,Ve=async e=>{let n;return{get flow(){return n},trigger:()=>async t=>{var o;if(window.CookieFirst={consent:t},!n){const t=await Ge({...e,run:null==(o=e.run)||o});n={collector:t.collector,elb:t.elb}}window.dispatchEvent(new Event("cf_init"))}}},ze=(e,n)=>{e&&"object"==typeof e&&(n.window.CookieFirst={consent:e})},Je={necessary:"functional",functional:"functional",performance:"analytics",advertising:"marketing"},Ye=async e=>{var n,t,o,r,i,s,a;const{config:c,env:u}=e,{elb:l}=u,f=null!=(n=u.window)?n:void 0!==globalThis.window?globalThis.window:void 0,g={categoryMap:{...Je,...null==(t=null==c?void 0:c.settings)?void 0:t.categoryMap},explicitOnly:null==(r=null==(o=null==c?void 0:c.settings)?void 0:o.explicitOnly)||r,globalName:null!=(s=null==(i=null==c?void 0:c.settings)?void 0:i.globalName)?s:"CookieFirst"},d={settings:g};let p,v;if(f){const e=e=>{if(g.explicitOnly&&!e)return;if(!e)return;const n={};Object.entries(e).forEach(([e,t])=>{var o,r;if("boolean"!=typeof t)return;const i=null!=(r=null==(o=g.categoryMap)?void 0:o[e])?r:e;n[i]=n[i]||t}),Object.keys(n).length>0&&l("walker consent",n)},n=null!=(a=g.globalName)?a:"CookieFirst",t=f[n];(null==t?void 0:t.consent)&&e(t.consent),p=()=>{var t;const o=f[n];e(null!=(t=null==o?void 0:o.consent)?t:null)},f.addEventListener("cf_init",p),v=n=>{e(n.detail)},f.addEventListener("cf_consent",v)}return{type:"cookiefirst",config:d,push:l,destroy:async e=>{f&&p&&f.removeEventListener("cf_init",p),f&&v&&f.removeEventListener("cf_consent",v)}}},Qe=Ye;return Ke=i,((r,i,s,a)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let c of t(i))o.call(r,c)||c===s||e(r,c,{get:()=>i[c],enumerable:!(a=n(i,c))||a.enumerable});return r})(e({},"__esModule",{value:!0}),Ke)})();
1
+ "use strict";var SourceCookieFirst=(()=>{var e=Object.defineProperty,n=Object.getOwnPropertyDescriptor,t=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r=(n,t)=>{for(var o in t)e(n,o,{get:t[o],enumerable:!0})},s={};r(s,{DEFAULT_CATEGORY_MAP:()=>kn,SourceCookieFirst:()=>i,analyticsOnlyConsent:()=>f,analyticsOnlyMapped:()=>v,createMockCookieFirstAPI:()=>k,createMockElbFn:()=>w,createMockWindow:()=>O,createTrigger:()=>wn,default:()=>jn,fullConsent:()=>a,fullConsentMapped:()=>g,marketingOnlyConsent:()=>d,marketingOnlyMapped:()=>m,minimalConsent:()=>l,minimalConsentMapped:()=>h,mockEnv:()=>j,noConsent:()=>u,noopLogger:()=>b,partialConsent:()=>c,partialConsentMapped:()=>p,sourceCookieFirst:()=>On,step:()=>x,trigger:()=>bn});var i={},a={necessary:!0,functional:!0,performance:!0,advertising:!0},c={necessary:!0,functional:!0,performance:!1,advertising:!1},l={necessary:!0,functional:!1,performance:!1,advertising:!1},u=null,f={necessary:!0,functional:!1,performance:!0,advertising:!1},d={necessary:!0,functional:!1,performance:!1,advertising:!0},g={functional:!0,analytics:!0,marketing:!0},p={functional:!0,analytics:!1,marketing:!1},h={functional:!0,analytics:!1,marketing:!1},v={functional:!0,analytics:!0,marketing:!1},m={functional:!0,analytics:!1,marketing:!0},y=()=>{},w=()=>()=>Promise.resolve({ok:!0}),b={error:y,warn:y,info:y,debug:y,throw:e=>{throw"string"==typeof e?new Error(e):e},json:y,scope:()=>b},k=(e=null)=>({consent:e}),O=(e=null)=>({CookieFirst:k(e),addEventListener:y,removeEventListener:y}),j={get push(){return w()},get command(){return w()},get elb(){return w()},get window(){return O()},logger:b},x={};r(x,{categoryMapOverride:()=>S,cfInitDetection:()=>C,fullConsent:()=>A,partialConsent:()=>q});var A={title:"Full consent",description:"CookieFirst reports all categories granted and the source forwards a walker consent command with all groups true.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!0,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!0}]]},q={title:"Partial consent",description:"A partial CookieFirst grant maps analytics and marketing to false in the emitted walker consent command.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!1,advertising:!1},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!1}]]},S={title:"Category map override",description:"Custom categoryMap remaps performance to statistics instead of analytics",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!0,advertising:!1},mapping:{settings:{categoryMap:{performance:"statistics"}}},out:[["elb","walker consent",{functional:!0,statistics:!0,marketing:!1}]]},C={title:"cf_init detection",description:"CMP detected via cf_init CustomEvent (primary detection path)",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!1,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!0}]]},E=Object.defineProperty,$=(e,n)=>{for(var t in n)E(e,t,{get:n[t],enumerable:!0})};function _(e,n){if("collector"===e)return"collector";if(!n)throw new Error(`stepId(${e}) requires an id`);return`${e}.${n}`}$({},{stepId:()=>_});function P(e,n){const t=e.destinations[n];if(!t)throw new Error(`Destination not found: ${n}`);return t}$({},{getDestination:()=>P});$({},{Level:()=>I});var M,I=((M=I||{})[M.ERROR=0]="ERROR",M[M.WARN=1]="WARN",M[M.INFO=2]="INFO",M[M.DEBUG=3]="DEBUG",M);function D(e,n){const t=e.transformers[n];if(!t)throw new Error(`Transformer not found: ${n}`);return t}$({},{getTransformer:()=>D});function T(e,n){const t=e.sources[n];if(!t)throw new Error(`Source not found: ${n}`);return t}$({},{getSource:()=>T});function N(e,n){const t=e.stores[n];if(!t)throw new Error(`Store not found: ${n}`);return t}function R(e){return{_meta:{hops:0,path:[e]}}}$({},{getStore:()=>N});var F={merge:!0,shallow:!0,extend:!0};function z(e,n={},t={}){t={...F,...t};const o=Object.entries(n).reduce((n,[o,r])=>{const s=e[o];return t.merge&&Array.isArray(s)&&Array.isArray(r)?n[o]=r.reduce((e,n)=>e.includes(n)?e:[...e,n],[...s]):(t.extend||o in e)&&(n[o]=r),n},{});return t.shallow?{...e,...o}:(Object.assign(e,o),e)}function B(e){return Array.isArray(e)}function H(e){return void 0!==e}function L(e){return"function"==typeof e}function G(e){return"object"==typeof e&&null!==e&&!B(e)&&"[object Object]"===Object.prototype.toString.call(e)}function W(e){return"string"==typeof e}function U(e,n=new WeakMap){if("object"!=typeof e||null===e)return e;if(n.has(e))return n.get(e);const t=Object.prototype.toString.call(e);if("[object Object]"===t){const t={};n.set(e,t);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=U(e[o],n));return t}if("[object Array]"===t){const t=[];return n.set(e,t),e.forEach(e=>{t.push(U(e,n))}),t}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){const n=e;return new RegExp(n.source,n.flags)}return e}function K(e,n="",t){const o=n.split(".");let r=e;for(let e=0;e<o.length;e++){const n=o[e];if("*"===n&&B(r)){const n=o.slice(e+1).join("."),s=[];for(const e of r){const o=K(e,n,t);s.push(o)}return s}if(r=G(r)||B(r)?r[n]:void 0,void 0===r)break}return H(r)?r:t}function V(e,n,t){if(!G(e))return e;const o=U(e),r=n.split(".");let s=o;for(let e=0;e<r.length;e++){const n=r[e];e===r.length-1?s[n]=t:(n in s&&"object"==typeof s[n]&&null!==s[n]||(s[n]={}),s=s[n])}return o}var Y={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function J(e,n={},t={}){const o={...n,...t},r={};let s=!e||0===Object.keys(e).length;return Object.keys(o).forEach(n=>{o[n]&&(r[n]=!0,e&&e[n]&&(s=!0))}),!!s&&r}function Z(){let e="";for(let n=0;n<16;n++)e+=(16*Math.random()|0).toString(16);return e}function Q(e=6,n){if(n){const t=n.length;let o="";for(let r=0;r<e;r++)o+=n[Math.random()*t|0];return o}let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function X(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function ee(e,n){let t,o={};return e instanceof Error?(t=e.message,o.error=X(e)):t=e,void 0!==n&&(n instanceof Error?o.error=X(n):"object"==typeof n&&null!==n?(o={...o,...n},"error"in o&&o.error instanceof Error&&(o.error=X(o.error))):o.value=n),{message:t,context:o}}var ne=(e,n,t,o)=>{const r=`${I[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(t).length>0,i=0===e?console.error:1===e?console.warn:console.log;s?i(r,n,t):i(r,n)};function te(e={}){return oe({level:void 0!==e.level?(n=e.level,"string"==typeof n?I[n]:n):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var n}function oe(e){const{level:n,handler:t,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=n){const n=ee(o,s);t?t(e,n.message,n.context,r,ne):ne(e,n.message,n.context,r)}};return{error:(e,n)=>s(0,e,n),warn:(e,n)=>s(1,e,n),info:(e,n)=>s(2,e,n),debug:(e,n)=>s(3,e,n),throw:(e,n)=>{const o=ee(e,n);throw t?t(0,o.message,o.context,r,ne):ne(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>oe({level:n,handler:t,jsonHandler:o,scope:[...r,e]})}}function re(e){return function(e){return"boolean"==typeof e}(e)||W(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!H(e)||B(e)&&e.every(re)||G(e)&&Object.values(e).every(re)}function se(e){return re(e)?e:void 0}function ie(e,n,t){return function(...o){try{return e(...o)}catch(e){if(!n)return;return n(e)}finally{null==t||t()}}}function ae(e,n,t){return async function(...o){try{return await e(...o)}catch(e){if(!n)return;return await n(e)}finally{await(null==t?void 0:t())}}}var ce=class e extends Error{constructor(n,t){super(n,t),this.name="FatalError",Object.setPrototypeOf(this,e.prototype)}};async function le(e,n={},t={}){var o,r;if(!H(e))return;const s=G(e)&&e.consent||t.consent||(null==(o=t.collector)?void 0:o.consent),i=null!=(r=t.event)?r:G(e)?e:{};if(!t.collector)throw new Error("getMappingValue: context.collector is required");const a={event:i,mapping:n,collector:t.collector,logger:t.collector.logger,consent:s},c=B(n)?n:[n];for(const n of c){const o=await ae(ue,e=>{if(e instanceof ce)throw e;t.collector&&t.collector.status.failed++,a.logger.error("mapping processing failed",{event:i,error:e})})(e,n,{...a,mapping:n});if(H(o))return o}}async function ue(e,n,t){return(B(n)?n:[n]).reduce(async(n,o)=>{const r=await n;if(r)return r;const s=W(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:i,consent:a,fn:c,key:l,loop:u,map:f,set:d,validate:g,value:p}=s,h={...t,mapping:o};if(i&&!await ae(i,e=>{if(e instanceof ce)throw e;return h.logger.error("mapping condition failed",{event:h.event,error:e}),!1})(e,h))return;if(a&&!J(a,h.consent))return p;let v=H(p)?p:e;if(c&&(v=await ae(c,e=>{if(e instanceof ce)throw e;h.logger.error("mapping fn failed",{event:h.event,error:e})})(e,h)),l&&(v=K(e,l,p)),u){const[n,t]=u,o="this"===n?[e]:await le(e,n,h);B(o)&&(v=(await Promise.all(o.map(e=>le(e,t,h)))).filter(H))}else f?v=await Object.entries(f).reduce(async(n,[t,o])=>{const r=await n,s=await le(e,o,h);return H(s)&&(r[t]=s),r},Promise.resolve({})):d&&(v=await Promise.all(d.map(n=>ue(e,n,h))));g&&!await ae(g,e=>{if(e instanceof ce)throw e;return h.logger.error("mapping validate failed",{event:h.event,error:e}),!1})(v,h)&&(v=void 0);const m=se(v);return H(m)?m:se(p)},Promise.resolve(void 0))}async function fe(e,n,t){var o;n.policy&&await Promise.all(Object.entries(n.policy).map(async([n,o])=>{const r=await le(e,o,{collector:t,event:e});e=V(e,n,r)}));const{eventMapping:r,mappingKey:s}=await async function(e,n,t){var o;const[r,s]=(e.name||"").split(" ");if(!n||!r||!s)return{};let i,a="",c=r,l=s;const u=n=>{if(n)return(B(n)?n:[n]).find(n=>{if(!n.condition)return!0;if(!t)return Boolean(n.condition(e,void 0));const o={event:e,mapping:n,collector:t,logger:t.logger,consent:G(e)&&e.consent||t.consent};return Boolean(n.condition(e,o))})};n[c]||(c="*");const f=n[c];return f&&(f[l]||(l="*"),i=u(f[l])),i||(c="*",l="*",i=u(null==(o=n[c])?void 0:o[l])),i&&(a=`${c} ${l}`),{eventMapping:i,mappingKey:a}}(e,n.mapping,t);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([n,o])=>{const r=await le(e,o,{collector:t,event:e});e=V(e,n,r)}));let i=n.data&&await le(e,n.data,{collector:t,event:e});const a=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:i,mapping:r,mappingKey:s,ignore:!0,silent:a};if(r.name&&(e.name=r.name),r.data){const n=r.data&&await le(e,r.data,{collector:t,event:e});i=G(i)&&G(n)?z(i,n):n}}const c=null!=(o=null==r?void 0:r.include)?o:n.include;if(c&&c.length>0){const n=function(e,n){const t={},o=n.includes("all")?Object.keys(Y):n;for(const n of o){const o=Y[n];if(!o)continue;const r=o(e);if(G(r))for(const[e,o]of Object.entries(r)){if(void 0===o)continue;const r="context"===n&&Array.isArray(o)?o[0]:o;t[`${n}_${e}`]=r}}return t}(e,c);Object.keys(n).length>0&&(i=G(i)?z(n,i):null!=i?i:n)}return{event:e,data:i,mapping:r,mappingKey:s,ignore:!1,silent:a}}function de(e,n,t,o){return function(...r){let s;const i="pre"+n,a="post"+n,c=t[i],l=t[a],u=(e,n)=>{o?o.warn(e,{error:n}):console.warn(e,n)};if(c)try{s=c({fn:e},...r)}catch(n){u(`Hook ${String(i)} failed, falling back to original function`,n),s=e(...r)}else s=e(...r);if(l)try{s=l({fn:e,result:s},...r)}catch(e){u(`Hook ${String(a)} failed, keeping original result`,e)}return s}}function ge(e){if(void 0===e||"*"===e)return()=>!0;if("and"in e){const n=e.and.map(ge);return e=>n.every(n=>n(e))}if("or"in e){const n=e.or.map(ge);return e=>n.some(n=>n(e))}return function(e){const{key:n,operator:t,value:o,not:r}=e,s=function(e,n){switch(e){case"eq":return e=>String(null!=e?e:"")===n;case"contains":return e=>String(null!=e?e:"").includes(n);case"prefix":return e=>String(null!=e?e:"").startsWith(n);case"suffix":return e=>String(null!=e?e:"").endsWith(n);case"regex":{const e=new RegExp(n);return n=>e.test(String(null!=n?n:""))}case"gt":{const e=Number(n);return n=>Number(n)>e}case"lt":{const e=Number(n);return n=>Number(n)<e}case"exists":return e=>null!=e}}(t,o);return e=>{const t=K(e,n),o=s(t);return r?!o:o}}(e)}function pe(e){return e.map(e=>{var n,t;if("string"==typeof e)return{match:()=>!0,next:{type:"static",value:e}};if(Array.isArray(e))return{match:()=>!0,next:null!=(n=he(e))?n:{type:"chain",value:[]}};const o=e;return{match:o.match?ge(o.match):()=>!0,next:null!=(t=he(o))?t:{type:"chain",value:[]}}})}function he(e){if(null==e)return;if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(function(e){return Array.isArray(e)&&e.length>0&&e.every(e=>{return"object"==typeof(n=e)&&null!==n&&!Array.isArray(n)&&("match"in n||"next"in n||"one"in n||"many"in n);var n})}(e))return he({one:e});if(e.every(e=>"string"==typeof e))return{type:"chain",value:e};const n=[];for(const t of e){const e=he(t);void 0!==e&&n.push(e)}if(0===n.length)return;return{type:"sequence",value:n}}const n=e;if("next"in n&&void 0!==n.next)return n.match?{type:"gate",match:ge(n.match),next:he(n.next)}:he(n.next);if("one"in n&&n.one){const e=pe(n.one);return n.match?{type:"gate",match:ge(n.match),next:{type:"one",routes:e}}:{type:"one",routes:e}}if("many"in n&&n.many){const e=pe(n.many);return n.match?{type:"gate",match:ge(n.match),next:{type:"many",routes:e}}:{type:"many",routes:e}}return n.match?{type:"gate",match:ge(n.match)}:void 0}var ve=new WeakMap;function me(e,n={}){if(null==e)return[];let t;if("object"==typeof e){const n=ve.get(e);n?t=n:(t=he(e),t&&ve.set(e,t))}else t=he(e);if(!t)return[];const o=ye(t,n);return void 0===o?[]:Array.isArray(o)?o:[o]}function ye(e,n={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(n))return;return ye(e.next,n)}if("sequence"===e.type){const t=[];for(const o of e.value){const e=ye(o,n);void 0!==e&&(Array.isArray(e)?t.push(...e):t.push(e))}return t.length>0?t:void 0}if("many"===e.type){const t=[];for(const o of e.routes){if(!o.match(n))continue;const e=ye(o.next,n);void 0!==e&&(Array.isArray(e)?t.push(...e):t.push(e))}return t.length>0?t:void 0}for(const t of e.routes)if(t.match(n))return ye(t.next,n)}}function we(e,n){const t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t}function be(e){var n;return{stop:null!=(n=e.stop)&&n,storeId:e.store,namespace:e.namespace,rules:e.rules.map(e=>({match:e.match?ge(e.match):()=>!0,key:e.key,ttl:e.ttl,update:e.update}))}}async function ke(e,n,t,o){const r=e.rules.find(e=>e.match(t));if(!r)return null;const s=r.key.map(e=>{var n;return String(null!=(n=K(t,e))?n:"")});if(s.every(e=>""===e))return null;const i=s.join(":"),a=null!=o?o:e.namespace,c=a?`${a}:${i}`:i,l=await n.get(c);return void 0!==l?{status:"HIT",key:c,value:l,rule:r}:{status:"MISS",key:c,rule:r}}function Oe(e,n,t,o){e.set(n,t,1e3*o)}async function je(e,n,t,o){if(!n)return e;let r=e;for(const[e,s]of Object.entries(n))r=V(r,e,await le(t,s,{collector:o}));return r}var xe={Source:["code","package","import","before","next","cache"],Transformer:["code","package","import","before","next","cache","mapping"],Destination:["code","package","import","before","next","cache"],Store:["code","package","import","cache"]},Ae=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],qe={Source:["primary"],Transformer:[],Destination:[],Store:[]},Se=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Ce(e,n){const t=(o=n,new Set([...xe[o],...Ae,...qe[o]]));var o;for(const o of Object.keys(e))if(!t.has(o))return{ok:!1,code:"UNKNOWN_KEY",key:o,reason:`Unknown key "${o}" on ${n}. Allowed: ${[...t].sort().join(", ")}.`};const r=void 0!==e.package,s=void 0!==e.import,i=void 0!==e.code;return i&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:`code: "<name>" is no longer supported. Use import: "${e.code}" with the package field instead.`}:i&&("object"!=typeof e.code&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:i&&r?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:i&&s?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:s&&!r?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!s||"string"==typeof e.import&&Se.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:`import must match ${Se.source}. Got: ${JSON.stringify(e.import)}.`}}var Ee={Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"};function $e(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache}function _e(e){var n;const t={};for(const[o,r]of Object.entries(e)){const e=null==(n=r.config)?void 0:n.next;"string"==typeof e||Array.isArray(e)&&e.every(e=>"string"==typeof e)?t[o]={next:e}:t[o]={}}return t}function Pe(e,n){const t=e.config||{},o=e[n];return void 0!==o?{config:{...t,[n]:o},chainValue:o}:{config:t,chainValue:void 0}}function Me(e,n={}){if(!e)return[];if(Array.isArray(e))return e;const t=[],o=new Set;let r=e;for(;r&&n[r]&&!o.has(r);){o.add(r),t.push(r);const e=n[r].next;if(Array.isArray(e)){t.push(...e);break}r=e}return t}async function Ie(e,n,t){if(n.init&&!n.config.init){const o=n.type||"unknown",r=e.logger.scope(`transformer:${o}`),s={collector:e,logger:r,id:t,ingest:R(t),config:n.config,env:Re(n.config.env)};r.debug("init");const i=await de(n.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===i)return!1;n.config={...i||n.config,env:(null==i?void 0:i.env)||n.config.env,init:!0},r.debug("init done")}return!0}async function De(e,n,t,o,r,s){const i=n.type||"unknown",a=e.logger.scope(`transformer:${i}`),c={collector:e,logger:a,id:t,ingest:r,config:n.config,env:{...Re(n.config.env),...s?{respond:s}:{}}};a.debug("push",{event:o.name});const l=await de(n.push,"TransformerPush",e.hooks,e.logger)(o,c);return a.debug("push done"),l}function Te(e,n){return e?{...e,_meta:{...e._meta,path:[...e._meta.path]}}:R(n)}async function Ne(e,n,t,o,r,s,i){var a,c,l,u,f,d,g,p;r||(r=R(null!=(a=t[0])?a:"chain")),i&&r._meta&&(r._meta.chainPath=i);let h=o,v=s;for(const o of t){const s=n[o];if(!s){e.logger.warn(`Transformer not found: ${o}`);continue}if(r&&r._meta&&r._meta.path.length>256)return e.logger.error(`Max path length exceeded at ${o}`),{event:null,respond:v};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await ae(Ie,n=>{if(n instanceof ce)throw n;return e.status.failed++,e.logger.scope(`transformer:${s.type||"unknown"}`).error("transformer init failed",{transformer:o,error:n}),!1})(e,s,o))return{event:null,respond:v};if(i&&void 0!==(null==(l=null==(c=s.config)?void 0:c.chainMocks)?void 0:l[i])){const n=s.config.chainMocks[i];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:i}),h=n;continue}if(void 0!==(null==(u=s.config)?void 0:u.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),h=s.config.mock;continue}if(null==(f=s.config)?void 0:f.disabled)continue;const a=null==(d=s.config)?void 0:d.cache,m=a?be(a):void 0,y=m?$e(m,e):void 0;let w;if(m&&y){const e=we(r,h),n=await ke(m,y,e);if("HIT"===(null==n?void 0:n.status)&&n.value){if(h=n.value,m.stop)return{event:h,respond:v,stopped:!0};continue}"MISS"===(null==n?void 0:n.status)&&(w={key:n.key,ttl:n.rule.ttl})}const b=s.config.before;if(b){const t=me(b,we(r,h));if(1===t.length){const o=Me(t[0],_e(n));if(o.length>0){const t=await Ne(e,n,o,h,r,v,i);if(null===t.event)return{event:null,respond:null!=(g=t.respond)?g:v};if(t.stopped)return{event:Array.isArray(t.event)?t.event[0]:t.event,respond:null!=(p=t.respond)?p:v,stopped:!0};t.respond&&(v=t.respond),h=Array.isArray(t.event)?t.event[0]:t.event}}else t.length>1&&await Promise.all(t.map(t=>ae(Ne,n=>(e.logger.scope("transformer:many").error(`many branch ${t} failed`,{error:n}),{event:null,respond:void 0}))(e,n,Me(t,_e(n)),h,Te(r,t),void 0,i)))}const k=await ae(De,n=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:n}),!1))(e,s,o,h,r,v);if(!1===k)return{event:null,respond:v};if(Array.isArray(k)){const s=t.slice(t.indexOf(o)+1),a=await Promise.all(k.map(async t=>{const o=t.event||h,a=Te(r,"unknown");if(t.next){const r=me(t.next,we(a,o));if(0===r.length)return{event:o,respond:v};if(1===r.length){const t=Me(r[0],_e(n));return t.length>0?Ne(e,n,t,o,a,v,i):{event:o,respond:v}}return(await Promise.all(r.map(t=>ae(Ne,n=>(e.logger.scope("transformer:many").error(`many branch ${t} failed`,{error:n}),{event:null,respond:void 0}))(e,n,Me(t,_e(n)),o,Te(a,t),void 0,i)))).map(e=>({event:e.event,respond:void 0}))}return s.length>0?Ne(e,n,s,o,a,v,i):{event:o,respond:v}}));let c=v;const l=[];for(const e of a.flat())if(null!==e)if(e&&"object"==typeof e&&"event"in e){const n=e;if(n.respond&&(c=n.respond),null===n.event)continue;Array.isArray(n.event)?l.push(...n.event):l.push(n.event)}else l.push(e);return 0===l.length?{event:null,respond:c}:1===l.length?{event:l[0],respond:c}:{event:l,respond:c}}if(k&&"object"==typeof k){const{event:t,respond:o,next:s}=k;if(o&&(v=o),void 0!==s){const o=me(s,we(r,h));if(0===o.length){t&&(h=t);continue}if(1===o.length){const a=Me(o[0],_e(n));return a.length>0?Ne(e,n,a,t||h,r,v,i):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:v})}return await Promise.all(o.map(o=>ae(Ne,n=>(e.logger.scope("transformer:many").error(`many branch ${o} failed`,{error:n}),{event:null,respond:void 0}))(e,n,Me(o,_e(n)),t||h,Te(r,o),void 0,i))),{event:null,respond:void 0}}t&&(h=t)}w&&y&&Oe(y,w.key,h,w.ttl);const O=s.config.next,j="string"==typeof O||Array.isArray(O)&&O.every(e=>"string"==typeof e),x=void 0!==O&&!j;if((!k||"object"==typeof k&&!k.next)&&x){const t=me(s.config.next,we(r,h));if(1===t.length){const o=Me(t[0],_e(n));return o.length>0?Ne(e,n,o,h,r,v,i):{event:h,respond:v}}return t.length>1?(await Promise.all(t.map(t=>ae(Ne,n=>(e.logger.scope("transformer:many").error(`many branch ${t} failed`,{error:n}),{event:null,respond:void 0}))(e,n,Me(t,_e(n)),h,Te(r,t),void 0,i))),{event:null,respond:void 0}):{event:h,respond:v}}}return{event:h,respond:v}}function Re(e){return e&&G(e)?e:{}}function Fe(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(e=>"string"==typeof e))}async function ze(e,n,t){var o,r;if(!n.on||!(null==(o=n.queueOn)?void 0:o.length))return;const s=n.queueOn;n.queueOn=[];const i=t||(null==(r=n.config)?void 0:r.id)||"unknown";for(const{type:t,data:o}of s)await ae(n.on,n=>{if(n instanceof ce)throw n;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:i,type:t,error:n})})(t,o)}function Be(e){var n;return Boolean(e.config.init)&&!(null==(n=e.config.require)?void 0:n.length)}async function He(e,n,t){var o;const{code:r,config:s={},env:i={},primary:a,next:c,before:l,cache:u}=t,f=u,d=f?be({...f,stop:null==(o=f.stop)||o}):void 0,g=Fe(c)?Me(c,_e(e.transformers)):void 0,p=Fe(l)?Me(l,_e(e.transformers)):void 0,h=i.push,v=null!=h?h:e.push,m=Boolean(h),y=async(t,o,r)=>{var i;let a;const u=null!=p?p:void 0!==l?(()=>{const n=me(l,we(r.ingest));return 0===n.length?[]:Me(1===n.length?n[0]:n,_e(e.transformers))})():[];let f=[t];if(u.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await Ne(e,e.transformers,u,t,r.ingest,r.respond,`source.${n}.before`);if(null===o.event)return{ok:!0};if(o.stopped)return o.respond&&(r.respond=o.respond),{ok:!0};o.respond&&(r.respond=o.respond),f=Array.isArray(o.event)?o.event:[o.event]}if(d){const n=$e(d,e);if(n){const t=we(r.ingest),o=await ke(d,n,t);if(o){if("HIT"===o.status&&void 0!==o.value&&d.stop){let n=o.value;return o.rule.update&&(n=await je(n,o.rule.update,{...t,cache:{status:"HIT"}},e)),null==(i=r.respond)||i.call(r,n),{ok:!0}}if("MISS"===o.status&&d.stop&&r.respond){const s=r.respond,i=o.rule.update,c={...t,cache:{status:"MISS"}},l=o.key,u=o.rule.ttl,f=t=>{Oe(n,l,t,u),i?a=(async()=>{const n=await je(t,i,c,e);s(n)})():s(t)};r.respond=f}"MISS"!==o.status||d.stop||Oe(n,o.key,!0,o.rule.ttl)}}}const h=g?{kind:"single",preChain:g}:void 0!==c?(()=>{const n=me(c,we(r.ingest));return 0===n.length?{kind:"single",preChain:[]}:1===n.length?{kind:"single",preChain:Me(n[0],_e(e.transformers))}:{kind:"many",branches:n.map(n=>Me(n,_e(e.transformers)))}})():{kind:"single",preChain:[]};let y={ok:!0};for(const t of f)"many"===h.kind?(await Promise.all(h.branches.map((i,a)=>ae(async()=>m?v(t):v(t,{...o,id:n,ingest:Te(r.ingest,`${n}.${a}`),respond:void 0,mapping:s,preChain:i}),n=>(e.logger.scope("source:many").error(`many branch ${a} failed`,{error:n}),{ok:!0}))())),y={ok:!0}):y=m?await v(t):await v(t,{...o,id:n,ingest:r.ingest,respond:r.respond,mapping:s,preChain:h.preChain});return a&&await a,y},w=async t=>{const o=R(n);if(!s.ingest||void 0===t)return o;const r=await le(t,s.ingest,{collector:e});return{...o,...r,_meta:o._meta}},b=e.logger.scope("source").scope(n),k={command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:b,...i,push:async(e,t={})=>{const o={ingest:R(n),respond:void 0};return y(e,t,o)}},O={collector:e,logger:b,id:n,config:s,env:k,withScope:async(e,n,t)=>{const o={ingest:await w(e),respond:n};return t({...k,push:(e,n={})=>y(e,n,o),ingest:o.ingest,respond:o.respond})}},j=await ae(r,t=>{if(t instanceof ce)throw t;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:n,error:t})})(O);if(!j)return;const x=j.type||"unknown",A=e.logger.scope(x).scope(n);return k.logger=A,a&&(j.config={...j.config,primary:a}),j}function Le(e,n,t,o){if(t instanceof ce)throw t;e.logger.scope("on").error("on callback failed",{kind:n,...o,error:t})}function Ge(e,n){return{collector:e,logger:e.logger.scope("on").scope(String(n))}}function We(e,n,t,o,r){if(!n.on)return;const s=n.type||"unknown",i=e.logger.scope(s).scope("on").scope(o),a={collector:e,logger:i,id:t,config:n.config,data:r,env:ln(n.env,n.config.env)};ie(n.on,n=>Le(e,"destination",n,{destId:t,type:o}))(o,a)}function Ue(e,n,t,o){let r;switch(n){case Ee.Consent:r=o||e.consent;break;case Ee.Session:r=e.session;break;case Ee.User:r=o||e.user;break;case Ee.Custom:r=o||e.custom;break;case Ee.Globals:r=o||e.globals;break;case Ee.Config:r=o||e.config;break;case Ee.Ready:case Ee.Run:default:r=void 0}if(t.length)switch(n){case Ee.Consent:!function(e,n,t){const o=t||e.consent,r=Ge(e,Ee.Consent);n.forEach(n=>{Object.keys(o).filter(e=>e in n).forEach(t=>{ie(n[t],n=>Le(e,"consent",n,{key:t}))(o,r)})})}(e,t,o);break;case Ee.Ready:!function(e,n){if(!e.allowed)return;const t=Ge(e,Ee.Ready);n.forEach(n=>{ie(n,n=>Le(e,"ready",n))(void 0,t)})}(e,t);break;case Ee.Run:!function(e,n){if(!e.allowed)return;const t=Ge(e,Ee.Run);n.forEach(n=>{ie(n,n=>Le(e,"run",n))(void 0,t)})}(e,t);break;case Ee.Session:!function(e,n){if(!e.session)return;const t=Ge(e,Ee.Session);n.forEach(n=>{ie(n,n=>Le(e,"session",n))(e.session,t)})}(e,t);break;default:{const o=Ge(e,n);t.forEach(t=>{"function"==typeof t&&ie(t,t=>Le(e,"generic",t,{type:n}))(r,o)});break}}}function Ke(e,n,t,o){var r;if(!Number.isFinite(t.max)||t.max<=0)throw new Error(`pushBounded: max must be > 0 (got ${t.max})`);if("dropNewest"===(null!=(r=t.onOverflow)?r:"dropOldest"))return e.length>=t.max?(o&&o([n]),{appended:!1,dropped:1}):(e.push(n),{appended:!0,dropped:0});const s=[];for(;e.length>=t.max;)s.push(e.shift());return e.push(n),s.length>0&&o&&o(s),{appended:!0,dropped:s.length}}var Ve=new WeakMap;function Ye(e,n,t,o){Ve.get(e)||(Ve.set(e,!0),n.warn(t,o))}function Je(e){Ve.delete(e)}var Ze=Object.freeze({batched:!0});function Qe(e){return e===Ze}function Xe(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}}function en(e,n){return e.status.destinations[n]||(e.status.destinations[n]={count:0,failed:0,duration:0,queuePushSize:0,dlqSize:0}),e.status.destinations[n]}function nn(e,n,t,o){var r;e.dropped[n]||(e.dropped[n]={});const s=e.dropped[n];return s[t]=(null!=(r=s[t])?r:0)+o,s[t]}function tn(e,n,t){if(!e)return[];if(Array.isArray(e)&&e.every(e=>"string"==typeof e))return Me(e,n);if("string"==typeof e)return Me(e,n);const o=me(e,we(t));return 0===o.length?[]:1===o.length?Me(o[0],n):Me(o,n)}async function on(e,n,t={},o){var r,s,i,a,c,l;const{allowed:u,consent:f,globals:d,user:g}=e;if(!u)return an({ok:!1});if(n){const t=e.config.queueMax;if(void 0===t)throw new Error("Collector.Config.queueMax is undefined; defaults must be seeded by collector()");const o=Ke(e.queue,n,{max:t});if(o.dropped>0){const n=nn(e.status,_("collector"),"queue",o.dropped);Ye(e.queue,e.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:t,droppedCount:n})}else e.queue.length<t&&Je(e.queue);e.status.in++}o||(o=e.destinations);const p=e.transformers?_e(e.transformers):{},h=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var s,i,a,c;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let l=(r.queuePush||[]).map(e=>({...e,consent:f}));r.queuePush=[],n&&l.push(U(n));const u=t.ingest?{...t.ingest,_meta:{...t.ingest._meta,path:[...t.ingest._meta.path]}}:R("unknown");if(!l.length&&!(null==(s=r.queueOn)?void 0:s.length))return{id:o,destination:r,skipped:!0};if(!l.length&&(null==(i=r.queueOn)?void 0:i.length)){let n=!1;try{n=await rn(e,r,o)}catch(n){e.status.failed++;const t=r.type||"unknown";e.logger.scope(t).error("destination init failed",{error:n instanceof Error?n.message:String(n)})}return{id:o,destination:r,skipped:!n}}const h=[],v=l.filter(e=>{const n=J(r.config.consent,f,e.consent);return!n||(e.consent=n,h.push(e),!1)});if(v.length>0){const n=r.queuePush,t=r.config.id||o,s={max:null!=(a=r.config.queueMax)?a:1e3};let i=0;for(const e of v)i+=Ke(n,e,s).dropped;if(i>0){en(e,t);const o=nn(e.status,_("destination",t),"queue",i);Ye(n,e.logger.scope(r.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:t,cap:s.max,droppedCount:o})}else n.length<s.max&&Je(n)}if(!h.length)return{id:o,destination:r,queue:l};let m,y,w=!1;try{w=await rn(e,r,o)}catch(n){e.status.failed++;const t=r.type||"unknown";e.logger.scope(t).error("destination init failed",{error:n instanceof Error?n.message:String(n)})}if(!w)return{id:o,destination:r,queue:l};r.dlq||(r.dlq=[]);const b=tn(r.config.before,p,u),k=r.config.next,O=null==(c=r.config)?void 0:c.cache,j=O?be(O):void 0,x=j?$e(j,e):void 0;let A=0,q=0;return await Promise.all(h.map(async n=>{let s;if(n.globals=z(d,n.globals),n.user=z(g,n.user),(null==j?void 0:j.stop)&&x){const e=we(u,n),t=await ke(j,x,e);if("HIT"===(null==t?void 0:t.status))return n;"MISS"===(null==t?void 0:t.status)&&(s={key:t.key,ttl:t.rule.ttl})}let i=n,a=t.respond;if(b.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await Ne(e,e.transformers,b,n,u,t.respond,`destination.${o}.before`);if(null===r.event)return n;r.respond&&(a=r.respond),i=Array.isArray(r.event)?r.event[0]:r.event}if(j&&!j.stop&&x){const e=we(u,i),t=await ke(j,x,e);if("HIT"===(null==t?void 0:t.status))return n;"MISS"===(null==t?void 0:t.status)&&(s={key:t.key,ttl:t.rule.ttl})}const c=Date.now();let l=!1;const f=await ae(sn,n=>{var t;const s=r.type||"unknown";e.logger.scope(s).error("Push failed",{error:n,event:i.name}),m=n,l=!0;const a=r.dlq,c=r.config.id||o,u={max:null!=(t=r.config.dlqMax)?t:100},f=Ke(a,[i,n],u);if(f.dropped>0){en(e,c);const n=nn(e.status,_("destination",c),"dlq",f.dropped);Ye(a,e.logger.scope(r.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:c,cap:u.max,droppedCount:n})}else a.length<u.max&&Je(a)})(e,r,o,i,u,a);if(A+=Date.now()-c,s&&x&&void 0===r.config.mock&&Oe(x,s.key,null==f||f,s.ttl),void 0===f||Qe(f)||(y=f),Qe(f)&&q++,!l&&k){void 0!==f&&(u._response=f);const n=tn(k,p,u);if(n.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const t=await Ne(e,e.transformers,n,i,u,a,`destination.${o}.next`);t.respond&&(a=t.respond)}}return n})),{id:o,destination:r,error:m,response:y,totalDuration:A,batchedCount:q,allowedCount:h.length}})),v={},m={},y={};for(const n of h){if(n.skipped)continue;const t=n.destination,o={type:t.type||"unknown",data:n.response};en(e,n.id);const u=e.status.destinations[n.id],f=Date.now();if(u.queuePushSize=null!=(s=null==(r=t.queuePush)?void 0:r.length)?s:0,u.dlqSize=null!=(a=null==(i=t.dlq)?void 0:i.length)?a:0,n.error)o.error=n.error,y[n.id]=o,u.failed++,u.lastAt=f,u.duration+=n.totalDuration||0,e.status.failed++;else if(n.queue&&n.queue.length)m[n.id]=o;else{const t=null!=(c=n.batchedCount)?c:0,r=null!=(l=n.allowedCount)?l:0;(Math.max(0,r-t)>0||0===r)&&(v[n.id]=o,u.count++,u.lastAt=f,u.duration+=n.totalDuration||0,e.status.out++)}}return an({event:n,...Object.keys(v).length&&{done:v},...Object.keys(m).length&&{queued:m},...Object.keys(y).length&&{failed:y}})}async function rn(e,n,t){var o;if(n.init&&!n.config.init){const r=n.type||"unknown",s=e.logger.scope(r),i={collector:e,logger:s,id:t,config:n.config,env:ln(n.env,n.config.env)};s.debug("init");const a=await de(n.init,"DestinationInit",e.hooks,e.logger)(i);if(!1===a)return a;if(n.config={...a||n.config,init:!0},null==(o=n.queueOn)?void 0:o.length){const o=n.queueOn;n.queueOn=[];for(const{type:r,data:s}of o)We(e,n,t,r,s)}s.debug("init done")}return!0}async function sn(e,n,t,o,r,s){var i,a,c,l,u,f,d;const{config:g}=n,p=await fe(o,g,e);if(p.ignore)return!1;const h=n.type||"unknown",v=e.logger.scope(h),m={collector:e,logger:v,id:t,config:g,data:p.data,rule:p.mapping,ingest:r,env:{...ln(n.env,g.env),...s?{respond:s}:{}}};if(void 0!==g.mock)return v.debug("mock",{event:p.event.name}),g.mock;const y=p.mapping,w=p.mappingKey||"* *";if((null==y?void 0:y.batch)&&n.pushBatch&&void 0===g.mock){if(n.batches=n.batches||{},!n.batches[w]){const o={key:w,entries:[],events:[],data:[]},r=Xe(y.batch),s=Xe(g.batch),d=null!=(a=null!=(i=r.wait)?i:s.wait)?a:3e4,p=null!=(l=null!=(c=r.size)?c:s.size)?l:1e3,h=null!=(f=null!=(u=r.age)?u:s.age)?f:3e4,m=ln(n.env,g.env),b=function(e,n=1e3,t=!1){const{wait:o,size:r,age:s}=function(e,n){var t;return"number"==typeof e?{wait:e}:e?{wait:null!=(t=e.wait)?t:n,size:e.size,age:e.age}:{wait:n}}(n,1e3);let i,a,c=null,l=null,u=!1,f=[],d=0;const g=()=>{c&&(clearTimeout(c),c=null),l&&(clearTimeout(l),l=null),d=0,a=void 0},p=()=>{const n=a,t=f;if(g(),f=[],n)return i=e(...n),t.forEach(e=>e(i)),i;t.forEach(e=>e(void 0))},h=(...n)=>new Promise(g=>{const h=t&&!u;if(a=n,d+=1,f.push(g),c&&clearTimeout(c),c=setTimeout(()=>{c=null,t&&!u||p()},o),void 0===s||l||(l=setTimeout(()=>{l=null,p()},s)),void 0!==r&&d>=r)p();else if(h){u=!0,i=e(...n);const t=f;f=[],t.forEach(e=>e(i))}});return h.flush=()=>a||0!==f.length?new Promise(e=>{f.push(e),p()}):Promise.resolve(void 0),h.cancel=()=>{const e=f;f=[],g(),e.forEach(e=>e(void 0))},h.size=()=>d,h}(async()=>{var o;const r=n.batches[w].batched;if(0===r.entries.length)return;const s={key:r.key,entries:r.entries,events:r.events,data:r.data};r.entries=[],r.events=[],r.data=[];const i=s.entries[0],a={collector:e,logger:v,id:t,config:g,data:void 0,rule:i.rule,ingest:i.ingest,env:{...m,...i.respond?{respond:i.respond}:{}}};v.debug("push batch",{events:s.entries.length});const c=n.config.id||t,l=en(e,c);let u=!0;await ae(de(n.pushBatch,"DestinationPushBatch",e.hooks,e.logger),t=>{var o;u=!1;const r=n.dlq=n.dlq||[],i={max:null!=(o=n.config.dlqMax)?o:100};let a=0;for(const e of s.entries)a+=Ke(r,[e.event,t],i).dropped;if(a>0){const n=nn(e.status,_("destination",c),"dlq",a);Ye(r,v,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:c,cap:i.max,droppedCount:n})}else r.length<i.max&&Je(r);l.failed+=s.entries.length,l.dlqSize=r.length,e.status.failed+=s.entries.length,v.error("Push batch failed",{error:t instanceof Error?t.message:String(t),entries:s.entries.length})})(s,a),v.debug("push batch done"),l.inFlightBatch=Math.max(0,(null!=(o=l.inFlightBatch)?o:0)-s.entries.length),u&&(l.count+=s.entries.length,l.lastAt=Date.now(),e.status.out+=s.entries.length)},{wait:d,size:p,age:h});n.batches[w]={batched:o,batchFn:()=>{b()},flush:async()=>{await b.flush()}}}const o=n.batches[w];o.batched.entries.push({event:p.event,ingest:r,respond:s,rule:y,data:p.data}),o.batched.events.push(p.event),H(p.data)&&o.batched.data.push(p.data);const h=n.config.id||t,m=en(e,h);return m.inFlightBatch=(null!=(d=m.inFlightBatch)?d:0)+1,o.batchFn(),Ze}{v.debug("push",{event:p.event.name});const t=await de(n.push,"DestinationPush",e.hooks,e.logger)(p.event,m);return v.debug("push done"),t}}function an(e){return{ok:!(null==e?void 0:e.failed),...e}}function cn(e){const{code:n,config:t={},env:o={},cache:r}=e,{config:s}=Pe(e,"before"),{config:i}=Pe({...e,config:s},"next"),a={...n.config,...t,...i};r&&(a.cache=r);const c=ln(n.env,o);return{...n,config:a,env:c}}function ln(e,n){return e||n?n?e&&G(e)&&G(n)?{...e,...n}:n:e:{}}async function un(e,n,t){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const i=o.type||"unknown",a=t.scope(i),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:a};try{await Promise.race([s(c),new Promise((t,o)=>setTimeout(()=>o(new Error(`${n} '${e}' destroy timed out`)),5e3))])}catch(t){a.error(`${n} '${e}' destroy failed: ${t}`)}});await Promise.allSettled(o)}async function fn(e,n,t){let o,r,s=!1;switch(n){case Ee.Config:G(t)&&(z(e.config,t,{shallow:!1}),r=t,s=!0);break;case Ee.Consent:if(G(t)){const{update:n}=function(e,n){const t={};return Object.entries(n).forEach(([e,n])=>{t[e]=!!n}),e.consent=z(e.consent,t),{update:t}}(e,t);r=n,s=!0}break;case Ee.Custom:G(t)&&(e.custom=z(e.custom,t),r=t,s=!0);break;case Ee.Destination:G(t)&&"code"in t&&G(t.code)&&(o=await async function(e,n){const{code:t,config:o={},env:r={},before:s,next:i,cache:a}=n;if(!L(t.push))return an({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const c=o||{init:!1};let l=s?{...c,before:s}:{...c};i&&(l={...l,next:i}),a&&(l={...l,cache:a});const u={...t,config:l,env:ln(t.env,r)};let f=u.config.id;if(!f)do{f=Q(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[f]);return e.destinations[f]=u,!1!==u.config.queue&&(u.queuePush=[...e.queue]),on(e,void 0,{},{[f]:u})}(e,t));break;case Ee.Globals:G(t)&&(e.globals=z(e.globals,t),r=t,s=!0);break;case Ee.Hook:if(G(t)&&W(t.name)&&L(t.fn)){const{name:n,fn:o}=t;e.hooks[n]=o,r=t,s=!0}break;case Ee.On:if(G(t)&&W(t.type)){const{type:n,rules:o}=t;await async function(e,n,t){const o=e.on,r=o[n]||[],s=B(t)?t:[t];s.forEach(e=>{r.push(e)}),o[n]=r,Ue(e,n,s)}(e,n,o)}break;case Ee.Ready:s=!0;break;case Ee.Run:o=await async function(e,n){return e.allowed=!0,e.timing=Date.now(),n&&(n.consent&&(e.consent=z(e.consent,n.consent)),n.user&&(e.user=z(e.user,n.user)),n.globals&&(e.globals=z(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=z(e.custom,n.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await on(e)}(e,t),s=!0;break;case Ee.Session:s=!0;break;case Ee.Shutdown:await async function(e){const n=e.logger;await un(e.sources,"source",n),await un(e.destinations,"destination",n),await un(e.transformers,"transformer",n),await un(e.stores,"store",n)}(e);break;case Ee.User:G(t)&&(z(e.user,t,{shallow:!1}),r=t,s=!0)}return s&&(await async function(e,n,t,o){var r,s;let i,a=t||[];switch(t||(a=e.on[n]||[]),n){case Ee.Consent:i=o||e.consent;break;case Ee.Session:i=e.session;break;case Ee.User:i=o||e.user;break;case Ee.Custom:i=o||e.custom;break;case Ee.Globals:i=o||e.globals;break;case Ee.Config:i=o||e.config;break;case Ee.Ready:case Ee.Run:default:i=void 0}let c=!1;for(const[t,o]of Object.entries(e.sources)){if(null==(r=o.config.require)?void 0:r.length){const e=o.config.require.indexOf(n);-1!==e&&o.config.require.splice(e,1)}o.on&&(Be(o)?!1===await ae(o.on,o=>Le(e,"source",o,{sourceId:t,type:n}))(n,i)&&(c=!0):(o.queueOn=o.queueOn||[],o.queueOn.push({type:n,data:i})))}Object.entries(e.destinations).forEach(([t,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:n,data:i});We(e,o,t,n,i)}});for(const[n,t]of Object.entries(e.sources))Be(t)&&(null==(s=t.queueOn)?void 0:s.length)&&await ze(e,t,n);return Object.keys(e.pending.destinations).length>0&&await async function(e,n){var t;for(const[o,r]of Object.entries(e.pending.destinations)){if(!e.pending.destinations[o]||e.destinations[o])continue;const s=null==(t=r.config)?void 0:t.require;if(!s)continue;const i=s.indexOf(n);if(-1===i)continue;if(s.splice(i,1),s.length>0)continue;delete e.pending.destinations[o];const a=cn(r);!1!==a.config.queue&&(a.queuePush=[...e.queue]),e.destinations[o]=a}}(e,n),Ue(e,n,a,o),!c}(e,n,void 0,r),o=await on(e)),o||an({ok:!0})}function dn(e,n){if(!n.name)throw new Error("Event name is required");const[t,o]=n.name.split(" ");if(!t||!o)throw new Error("Event name is invalid");const{timestamp:r=Date.now(),name:s=`${t} ${o}`,data:i={},context:a={},globals:c=e.globals,custom:l={},user:u=e.user,nested:f=[],consent:d=e.consent,id:g=Z(),trigger:p="",entity:h=t,action:v=o,timing:m=0,source:y={type:"collector",schema:"4"}}=n;return{name:s,data:i,context:a,globals:c,custom:l,user:u,nested:f,consent:d,id:g,trigger:p,entity:h,action:v,timestamp:r,timing:m,source:y}}function gn(e={}){var n,t,o;const r=null!=(n=e.maxEntries)?n:1e4,s=null!=(t=e.lowWaterMark)?t:.8,i=null!=(o=e.sweepIntervalMs)?o:6e4,a=Math.floor(r*s),c=new Map,l={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};let u;return i>0&&(u=setInterval(function(){const e=Date.now();let n=0;for(const[t,o]of c)void 0!==o.expires&&o.expires<=e&&(c.delete(t),n++);l.evictions_ttl+=n},i),u&&"function"==typeof u.unref&&u.unref()),{type:"memory",config:{},get(e){const n=c.get(e);if(n)return void 0!==n.expires&&n.expires<=Date.now()?(c.delete(e),l.evictions_ttl++,void l.misses++):(c.delete(e),c.set(e,n),l.hits++,n.value);l.misses++},set(e,n,t){const o=!c.has(e);o||c.delete(e),c.set(e,{value:n,expires:void 0!==t?Date.now()+t:void 0}),l.writes++,o&&l.populates++,c.size>r&&function(){if(c.size<=r)return;const e=c.size-a;let n=0;for(const t of c.keys()){if(n>=e)break;c.delete(t),n++}l.evictions_entries+=n}()},delete(e){c.delete(e)&&l.deletes++},get counters(){return{...l}},destroy(){void 0!==u&&(clearInterval(u),u=void 0),c.clear()}}}function pn(e,n){const{cacheConfig:t,cacheStore:o,namespace:r,logger:s,storeId:i}=n,a={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},c=t.rules.map(e=>({match:e.match?ge(e.match):()=>!0,ttl:e.ttl})),l=e=>`${r}:${e}`;function u(e,n){const t=void 0===n?{key:e}:{key:e,value:n};return c.find(e=>e.match(t))}const f=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return{...a}},async get(n){const t=l(n),r=await o.get(t);if(void 0!==r)return a.hits++,r;const s=f.get(t);if(s)return a.inflight_dedups++,s;a.misses++;const i=(async()=>{try{const r=await e.get(n);if(void 0===r)return;const s=u(n,r);if(s)try{await o.set(t,r,1e3*s.ttl),a.populates++}catch(e){d("set",n,e)}return r}finally{f.delete(t)}})();return f.set(t,i),i},async set(n,t,r){a.writes++,await e.set(n,t,r);const s=u(n,t);if(s)try{await o.set(l(n),t,1e3*s.ttl)}catch(e){d("set",n,e)}},async delete(n){a.deletes++,await e.delete(n);try{await o.delete(l(n))}catch(e){d("delete",n,e)}}};function d(e,n,t){const o=`store-cache(${i}): cache ${e} failed for "${n}"; backing succeeded, continuing`;s?s.warn(o,{error:t}):console.warn(o,t)}}function hn(e,n){const t=n.get,o=n.set,r=n.delete;n.get=de(t,"StoreGet",e.hooks,e.logger),n.set=de(o,"StoreSet",e.hooks,e.logger),n.delete=de(r,"StoreDelete",e.hooks,e.logger)}async function vn(e){var n,t;const o=z({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),r=te({level:null==(n=e.logger)?void 0:n.level,handler:null==(t=e.logger)?void 0:t.handler}),s={...o.globalsStatic,...e.globals},i={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},logger:r,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{},dropped:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0};var a,c;i.push=function(e,n){return de(async(t,o={})=>await ae(async()=>{var r;const s=Date.now(),{id:i,ingest:a,respond:c,mapping:l,preChain:u,include:f,exclude:d}=o;let g=c,p=t;const h=f||d?function(e,n,t){let o=e;return n&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>n.includes(e)))),t&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>!t.includes(e)))),o}(e.destinations,f,d):void 0,v=null!=a?a:R(i||"unknown");if(l){const n=await fe(p,l,e);if(n.ignore)return an({ok:!0});if(l.consent&&!J(l.consent,e.consent,n.event.consent))return an({ok:!0});p=n.event}if((null==u?void 0:u.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await Ne(e,e.transformers,u,p,v,g,i?`source.${i}.next`:void 0);if(null===t.event)return an({ok:!0});if(t.stopped)return t.respond&&(g=t.respond),an({ok:!0});if(t.respond&&(g=t.respond),Array.isArray(t.event)){const o=await Promise.all(t.event.map(async t=>{const o=n(t),r=dn(e,o);return on(e,r,{id:i,ingest:v,respond:g},h)}));if(i){e.status.sources[i]||(e.status.sources[i]={count:0,duration:0});const n=e.status.sources[i];n.count+=t.event.length,n.lastAt=Date.now(),n.duration+=Date.now()-s}return null!=(r=o[0])?r:an({ok:!0})}p=t.event}const m=n(p),y=dn(e,m),w=await on(e,y,{id:i,ingest:v,respond:g},h);if(i){e.status.sources[i]||(e.status.sources[i]={count:0,duration:0});const n=e.status.sources[i];n.count++,n.lastAt=Date.now(),n.duration+=Date.now()-s}return w},n=>{if(n instanceof ce)throw n;return e.status.failed++,e.logger.error("push failed",{event:t,ingest:o.ingest,error:n}),an({ok:!1})})(),"Push",e.hooks,e.logger)}(i,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0"},...e})),i.command=(c=fn,de(async(e,n,t)=>await ae(async()=>await c(a,e,n,t),t=>{if(t instanceof ce)throw t;return a.status.failed++,a.logger.error("command failed",{command:e,data:n,error:t}),an({ok:!1})})(),"Command",(a=i).hooks,a.logger));const l=e.stores||{};return i.stores=await async function(e,n={}){var t;const o={};for(const[t,r]of Object.entries(n)){const{code:n,config:s={},env:i={}}=r,a=e.logger.scope("store").scope(t),c={collector:e,logger:a,id:t,config:s,env:i},l=await n(c);o[t]=l}const r=n,s=function(e){const n={};for(const t of Object.keys(e))n[t]="WHITE";const t=[],o=[];function r(s){var i;const a=n[s];if("BLACK"===a)return;if("GRAY"===a){const e=o.indexOf(s),n=o.slice(-1===e?0:e).concat(s).join(" -> ");throw new Error(`Cycle in cache.store chain: ${n}`)}n[s]="GRAY",o.push(s);const c=null==(i=e[s].cache)?void 0:i.store;if(void 0!==c){if(!(c in e))throw new Error(`Store "${s}" cache.store references "${c}", which is not declared in flow.stores`);r(c)}o.pop(),n[s]="BLACK",t.push(s)}for(const t of Object.keys(e))"WHITE"===n[t]&&r(t);return t}(r);for(const n of s){const s=r[n].cache;if(!s)continue;let i,a;void 0!==s.store?(i=o[s.store],a=s.store):(o.__cache||(o.__cache=gn()),i=o.__cache,a="__cache");const c=null!=(t=s.namespace)?t:n;e.logger.scope("store-cache").scope(n).info(`store "${n}" caches with namespace "${c}:" via ${a}`),o[n]=pn(o[n],{storeId:n,cacheConfig:s,cacheStore:i,namespace:c,logger:e.logger.scope("store-cache").scope(n)})}for(const[n,t]of Object.entries(o))"__cache"!==n&&hn(e,t);return o}(i,l),function(e,n,t){const o=new Map;for(const[t,r]of Object.entries(e))n[t]&&o.set(r,n[t]);if(0!==o.size)for(const e of[t.transformers,t.destinations,t.sources])if(e)for(const n of Object.values(e))r(n.env);function r(e){if(e)for(const[n,t]of Object.entries(e))if("object"==typeof t&&null!==t){const r=o.get(t);r&&(e[n]=r)}}}(l,i.stores,e),i.stores.__cache||(i.stores.__cache=gn()),i.destinations=await async function(e,n={}){var t,o;const r={};for(const[s,i]of Object.entries(n))(null==(o=null==(t=i.config)?void 0:t.require)?void 0:o.length)?e.pending.destinations[s]=i:r[s]=cn(i);return r}(i,e.destinations||{}),i.transformers=await async function(e,n={}){var t,o,r,s;const i={};for(const[a,c]of Object.entries(n)){const{code:n,env:l={}}=c,u=Ce(c,"Transformer");if(!u.ok){e.logger.warn(`Transformer ${a} invalid (${u.code}): ${u.reason}. Skipping.`);continue}const{config:f}=Pe(c,"before"),{config:d}=Pe({...c,config:f},"next"),g=Object.keys(l).length>0?{...d,env:l}:d,{cache:p}=c,h=p?{...g,cache:p}:g,v=e.logger.scope("transformer").scope(a),m={collector:e,logger:v,id:a,ingest:R(a),config:h,env:l},y=null!=n?n:e=>{const n=c.mapping;if(n){const t=[];if(void 0!==n.data&&t.push("data"),n.mapping)for(const[e,o]of Object.entries(n.mapping))if("object"==typeof o&&null!==o)for(const[n,r]of Object.entries(o)){if("object"!=typeof r||null===r)continue;const o=r;void 0!==o.data&&t.push(`mapping[${e}][${n}].data`),void 0!==o.silent&&t.push(`mapping[${e}][${n}].silent`)}return t.length>0&&e.collector.logger.warn(`Transformer ${a}: \`${t.join(", ")}\` ignored at transformer position (only event-mutating fields apply).`),{type:"pass",config:e.config,push:async t=>{const o=await fe(t,n,e.collector);return!o.ignore&&{event:o.event}}}}return{type:"pass",config:e.config,push:e=>({event:e})}},w=await y(m);void 0!==c.before&&void 0===(null==(t=w.config)?void 0:t.before)&&(w.config={...null!=(o=w.config)?o:{},before:c.before}),void 0!==c.next&&void 0===(null==(r=w.config)?void 0:r.next)&&(w.config={...null!=(s=w.config)?s:{},next:c.next}),i[a]=w}return i}(i,e.transformers||{}),i}async function mn(e){e=e||{};const n=await vn(e),t=(o=n,{type:"elb",config:{},push:async(e,n,t,r,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const t=e.replace("walker ","");return o.command(t,n)}let i;if("string"==typeof e)i={name:e},n&&"object"==typeof n&&!Array.isArray(n)&&(i.data=n);else{if(!e||"object"!=typeof e)return an({ok:!1});i=e,n&&"object"==typeof n&&!Array.isArray(n)&&(i.data={...i.data||{},...n})}return t&&"object"==typeof t&&(i.context=t),r&&Array.isArray(r)&&(i.nested=r),s&&"object"==typeof s&&(i.custom=s),o.push(i)}});var o;n.sources.elb=t,await async function(e,n={}){var t;const o={};for(const[r,s]of Object.entries(n)){const n=await He(e,r,s);if(!n)continue;const i=null==(t=s.config)?void 0:t.require;n.config={...n.config,init:!1,...i?{require:[...i]}:{}},o[r]=n}Object.assign(e.sources,o);for(const n of Object.keys(o)){const t=e.sources[n];let o=!1;t.init&&await ae(t.init.bind(t),t=>{if(t instanceof ce)throw t;o=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:n,error:t})})(),o||(t.config.init=!0,Be(t)&&await ze(e,t,n))}return o}(n,e.sources||{});const{consent:r,user:s,globals:i,custom:a}=e;r&&await n.command("consent",r),s&&await n.command("user",s),i&&Object.assign(n.globals,i),a&&Object.assign(n.custom,a),n.config.run&&await n.command("run");let c=t.push;const l=Object.values(n.sources).filter(e=>"elb"!==e.type),u=l.find(e=>e.config.primary);return u?c=u.push:l.length>0&&(c=l[0].push),{collector:n,elb:c}}var yn,wn=async e=>{let n;return{get flow(){return n},trigger:()=>async t=>{var o;if(window.CookieFirst={consent:t},!n){const t=await mn({...e,run:null==(o=e.run)||o});n={collector:t.collector,elb:t.elb}}window.dispatchEvent(new Event("cf_init"))}}},bn=(e,n)=>{e&&"object"==typeof e&&(n.window.CookieFirst={consent:e})},kn={necessary:"functional",functional:"functional",performance:"analytics",advertising:"marketing"},On=async e=>{var n,t,o,r,s,i,a;const{config:c,env:l}=e,{elb:u}=l,f=null!=(n=l.window)?n:void 0!==globalThis.window?globalThis.window:void 0,d={categoryMap:{...kn,...null==(t=null==c?void 0:c.settings)?void 0:t.categoryMap},explicitOnly:null==(r=null==(o=null==c?void 0:c.settings)?void 0:o.explicitOnly)||r,globalName:null!=(i=null==(s=null==c?void 0:c.settings)?void 0:s.globalName)?i:"CookieFirst"},g={settings:d};let p,h;if(f){const e=e=>{if(d.explicitOnly&&!e)return;if(!e)return;const n={};Object.entries(e).forEach(([e,t])=>{var o,r;if("boolean"!=typeof t)return;const s=null!=(r=null==(o=d.categoryMap)?void 0:o[e])?r:e;n[s]=n[s]||t}),Object.keys(n).length>0&&u("walker consent",n)},n=null!=(a=d.globalName)?a:"CookieFirst",t=f[n];(null==t?void 0:t.consent)&&e(t.consent),p=()=>{var t;const o=f[n];e(null!=(t=null==o?void 0:o.consent)?t:null)},f.addEventListener("cf_init",p),h=n=>{e(n.detail)},f.addEventListener("cf_consent",h)}return{type:"cookiefirst",config:g,push:u,destroy:async e=>{f&&p&&f.removeEventListener("cf_init",p),f&&h&&f.removeEventListener("cf_consent",h)}}},jn=On;return yn=s,((r,s,i,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of t(s))o.call(r,c)||c===i||e(r,c,{get:()=>s[c],enumerable:!(a=n(s,c))||a.enumerable});return r})(e({},"__esModule",{value:!0}),yn)})();
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,n,t,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function i(e){asyncGeneratorStep(a,r,o,i,s,"next",e)}function s(e){asyncGeneratorStep(a,r,o,i,s,"throw",e)}i(void 0)})}}function _define_property(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _instanceof(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,a=[],i=!0,s=!1;try{for(t=t.call(e);!(i=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==t.return||t.return()}finally{if(s)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){_define_property(e,n,t[n])})}return e}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function _object_spread_props(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function _sliced_to_array(e,n){return _array_with_holes(e)||_iterable_to_array_limit(e,n)||_unsupported_iterable_to_array(e,n)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,n){if(e){if("string"==typeof e)return _array_like_to_array(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(e,n):void 0}}function _ts_generator(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:c(0)}),s(i,"throw",{value:c(1)}),s(i,"return",{value:c(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function c(s){return function(c){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],r=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function _ts_values(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var SourceCookieFirst=function(){var e=function(e){return{_meta:{hops:0,path:[e]}}},n=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},Re,t);var r=Object.entries(n).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],s=e[a];return t.merge&&Array.isArray(s)&&Array.isArray(i)?n[a]=i.reduce(function(e,n){return e.includes(n)?e:_to_consumable_array(e).concat([n])},_to_consumable_array(s)):(t.extend||a in e)&&(n[a]=i),n},{});return t.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},t=function(e){return Array.isArray(e)},r=function(e){return void 0!==e},o=function(e){return"function"==typeof e},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},i=function(e){return"string"==typeof e},s=function(e,n,t){if(!a(e))return e;for(var r=Ne(e),o=n.split("."),i=r,s=0;s<o.length;s++){var c=o[s];s===o.length-1?i[c]=t:(c in i&&"object"==_type_of(i[c])&&null!==i[c]||(i[c]={}),i=i[c])}return r},c=function(e){var n=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),t={},r=!e||0===Object.keys(e).length;return Object.keys(n).forEach(function(o){n[o]&&(t[o]=!0,e&&e[o]&&(r=!0))}),!!r&&t},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,n=arguments.length>1?arguments[1]:void 0;if(n){for(var t=n.length,r="",o=0;o<e;o++)r+=n[Math.random()*t|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},l=function(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var i=arguments.length,s=new Array(i),c=0;c<i;c++)s[c]=arguments[c];return new Promise(function(i){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(n=e.apply(void 0,_to_consumable_array(s)),i(n))},t),c&&(a=!0,n=e.apply(void 0,_to_consumable_array(s)),i(n))})}},f=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},d=function(e,n){var t,r={};return _instanceof(e,Error)?(t=e.message,r.error=f(e)):t=e,void 0!==n&&(_instanceof(n,Error)?r.error=f(n):"object"==(void 0===n?"undefined":_type_of(n))&&null!==n?"error"in(r=_object_spread({},r,n))&&_instanceof(r.error,Error)&&(r.error=f(r.error)):r.value=n),{message:t,context:r}},_=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Le({level:void 0!==n.level?(e=n.level,"string"==typeof e?Te[e]:e):0,handler:n.handler,jsonHandler:n.jsonHandler,scope:[]})},v=function(e){return Ue(e)?e:void 0},p=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!n)return;return n(e)}finally{null==t||t()}}},g=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),n?[4,n(r)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},y=function(e,n,r){return _async_to_generator(function(){var o,i,s,c,u,l,f,d,_,v;return _ts_generator(this,function(p){return i=_sliced_to_array((e.name||"").split(" "),2),s=i[0],c=i[1],n&&s&&c?(l="",d=c,_=function(n){if(n)return(t(n)?n:[n]).find(function(n){if(!n.condition)return!0;if(!r)return Boolean(n.condition(e,void 0));var t={event:e,mapping:n,collector:r,logger:r.logger,consent:a(e)&&e.consent||r.consent};return Boolean(n.condition(e,t))})},n[f=s]||(f="*"),[2,((v=n[f])&&(v[d]||(d="*"),u=_(v[d])),u||(f="*",d="*",u=_(null===(o=n[f])||void 0===o?void 0:o[d])),u&&(l="".concat(f," ").concat(d)),{eventMapping:u,mappingKey:l})]):[2,{}]})})()},b=function(e){return _async_to_generator(function(e){var n,o,i,s,c,u,l,f,d,_,v,p,y,b,h,m,w=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(n=w.length>1&&void 0!==w[1]?w[1]:{},o=w.length>2&&void 0!==w[2]?w[2]:{},!r(e))return[2];if(c=a(e)&&e.consent||o.consent||(null===(s=o.collector)||void 0===s?void 0:s.consent),u=null!==(i=o.event)&&void 0!==i?i:a(e)?e:{},!o.collector)throw new Error("getMappingValue: context.collector is required");l={event:u,mapping:n,collector:o.collector,logger:o.collector.logger,consent:c},f=t(n)?n:[n],d=!0,_=!1,v=void 0,j.label=1;case 1:j.trys.push([1,6,7,8]),p=f[Symbol.iterator](),j.label=2;case 2:return(d=(y=p.next()).done)?[3,5]:(b=y.value,[4,g(Be)(e,b,_object_spread_props(_object_spread({},l),{mapping:b}))]);case 3:if(h=j.sent(),r(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return m=j.sent(),_=!0,v=m,[3,8];case 7:try{d||null==p.return||p.return()}finally{if(_)throw v}return[7];case 8:return[2]}})}).apply(this,arguments)},h=function(e,t,r){return _async_to_generator(function(){var o,i,c,u,l,f,d,_,v,p,g;return _ts_generator(this,function(h){switch(h.label){case 0:return t.policy?[4,Promise.all(Object.entries(t.policy).map(function(n){var t=_sliced_to_array(n,2),o=t[0],a=t[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,b(e,a,{collector:r,event:e})];case 1:return n=t.sent(),e=s(e,o,n),[2]}})})()}))]:[3,2];case 1:h.sent(),h.label=2;case 2:return[4,y(e,t.mapping,r)];case 3:return i=h.sent(),c=i.eventMapping,u=i.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(n){var t=_sliced_to_array(n,2),o=t[0],a=t[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,b(e,a,{collector:r,event:e})];case 1:return n=t.sent(),e=s(e,o,n),[2]}})})()}))]:[3,5];case 4:h.sent(),h.label=5;case 5:return(f=t.data)?[4,b(e,t.data,{collector:r,event:e})]:[3,7];case 6:f=h.sent(),h.label=7;case 7:return l=f,d=Boolean(null==c?void 0:c.silent),c?c.ignore?[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!0,silent:d}]:(c.name&&(e.name=c.name),c.data?(v=c.data)?[4,b(e,c.data,{collector:r,event:e})]:[3,9]:[3,10]):[3,10];case 8:v=h.sent(),h.label=9;case 9:_=v,l=a(l)&&a(_)?n(l,_):_,h.label=10;case 10:return(p=null!==(o=null==c?void 0:c.include)&&void 0!==o?o:t.include)&&p.length>0&&(g=function(e,n){var t={},r=n.includes("all")?Object.keys(He):n,o=!0,i=!1,s=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var l=c.value,f=He[l];if(f){var d=f(e),_=!0,v=!1,p=void 0;if(a(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(_=(g=y.next()).done);_=!0){var b=_sliced_to_array(g.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===l&&Array.isArray(m)?m[0]:m;t["".concat(l,"_").concat(h)]=w}}}catch(e){v=!0,p=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw p}}}}}catch(e){i=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(i)throw s}}return t}(e,p),Object.keys(g).length>0&&(l=a(l)?n(g,l):null!=l?l:g)),[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!1,silent:d}]}})})()},m=function(e,n,t,r){return function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];var s,c="pre"+n,u="post"+n,l=t[c],f=t[u],d=function(e,n){r?r.warn(e,{error:n}):console.warn(e,n)};if(l)try{s=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(n){d("Hook ".concat(String(c)," failed, falling back to original function"),n),s=e.apply(void 0,_to_consumable_array(a))}else s=e.apply(void 0,_to_consumable_array(a));if(f)try{s=f.apply(void 0,[{fn:e,result:s}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return s}},w=function(e,n){var t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t},j=function(e){var n;return{stop:null!==(n=e.stop)&&void 0!==n&&n,storeId:e.store,namespace:e.namespace,rules:e.rules.map(function(e){return{match:e.match?Ke(e.match):function(){return!0},key:e.key,ttl:e.ttl,update:e.update}})}},k=function(e,n,t,r){var o=e.rules.find(function(e){return e.match(t)});if(!o)return null;var a=o.key.map(function(e){var n;return String(null!==(n=Fe(t,e))&&void 0!==n?n:"")});if(a.every(function(e){return""===e}))return null;var i=a.join(":"),s=null!=r?r:e.namespace,c=s?"".concat(s,":").concat(i):i,u=n.get(c);return void 0!==u?{status:"HIT",key:c,value:u,rule:o}:{status:"MISS",key:c,rule:o}},O=function(e,n,t,r){e.set(n,t,1e3*r)},x=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,c,u,l,f,d,_,v,p;return _ts_generator(this,function(g){switch(g.label){case 0:if(!n)return[2,e];o=e,a=!0,i=!1,c=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),u=Object.entries(n)[Symbol.iterator](),g.label=2;case 2:return(a=(l=u.next()).done)?[3,5]:(f=_sliced_to_array(l.value,2),d=f[0],_=f[1],v=[o,d],[4,b(t,_,{collector:r})]);case 3:o=s.apply(void 0,v.concat([g.sent()])),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return p=g.sent(),i=!0,c=p,[3,8];case 7:try{a||null==u.return||u.return()}finally{if(i)throw c}return[7];case 8:return[2,o]}})})()},S=function(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache},C=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s,c=_sliced_to_array(a.value,2),u=c[0],l=We(null===(s=c[1].config)||void 0===s?void 0:s.next);n[u]="static"===(null==l?void 0:l.type)||"chain"===(null==l?void 0:l.type)?{next:l.value}:{}}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}return n},A=function(e,n){var t=e.config||{},r=e[n];return void 0!==r?{config:_object_spread_props(_object_spread({},t),_define_property({},n,r)),chainValue:r}:{config:t,chainValue:void 0}},E=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var t=[],r=new Set,o=e;o&&n[o]&&!r.has(o);){r.add(o),t.push(o);var a=n[o].next;if(Array.isArray(a)){var i;(i=t).push.apply(i,_to_consumable_array(a));break}o=a}return t},P=function(n,t,r){return _async_to_generator(function(){var o,a,i,s;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=n.logger.scope("transformer:".concat(o)),i={collector:n,logger:a,id:r,ingest:e(r),config:t.config,env:D(t.config.env)},a.debug("init"),[4,m(t.init,"TransformerInit",n.hooks,n.logger)(i)]);case 1:if(!1===(s=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},s||t.config),{env:(null==s?void 0:s.env)||t.config.env,init:!0}),a.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},q=function(e,n,t,r,o,a){return _async_to_generator(function(){var i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return i=n.type||"unknown",s=e.logger.scope("transformer:".concat(i)),c={collector:e,logger:s,id:t,ingest:o,config:n.config,env:_object_spread({},D(n.config.env),a?{respond:a}:{})},s.debug("push",{event:r.name}),[4,m(n.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(s.debug("push done"),u)]}})})()},M=function(e,n){var t;if(e)return null!==(t=Ve(We(e),n))&&void 0!==t?t:void 0},D=function(e){return e&&a(e)?e:{}},I=function(e,n){return _async_to_generator(function(){var e,t,r,o,a,i,s,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:if(!n.on||!(null===(e=n.queueOn)||void 0===e?void 0:e.length))return[2];t=n.queueOn,n.queueOn=[],r=!0,o=!1,a=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),i=t[Symbol.iterator](),d.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=s.value,u=c.type,l=c.data,[4,g(n.on)(u,l)]);case 3:d.sent(),d.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return f=d.sent(),o=!0,a=f,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:return[2]}})})()},T=function(e){var n;return Boolean(e.config.init)&&!(null===(n=e.config.require)||void 0===n?void 0:n.length)},R=function(n,t,r){return _async_to_generator(function(){var o,a,i,s,c,u,l,f,d,_,v,p,y,h,m,A,P,q,M,D,I,T,R;return _ts_generator(this,function(N){switch(N.label){case 0:return a=r.code,i=r.config,s=void 0===i?{}:i,c=r.env,u=void 0===c?{}:c,l=r.primary,f=r.next,d=r.before,_=r.cache,p=e(t),y=_?j(_object_spread_props(_object_spread({},_),{stop:null===(o=_.stop)||void 0===o||o})):void 0,h=We(f),m="static"!==(null==h?void 0:h.type)&&"chain"!==(null==h?void 0:h.type)||!h?void 0:E(Ve(h),C(n.transformers)),A=We(d),P="static"!==(null==A?void 0:A.type)&&"chain"!==(null==A?void 0:A.type)||!A?void 0:E(Ve(A),C(n.transformers)),q=n.logger.scope("source").scope(t),M=_object_spread({push:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,i,c,u,l,f,d,_,g,b,j,q,M,D,I,T,R,N,F,H,G;return _ts_generator(this,function(L){switch(L.label){case 0:return a=null!=P?P:A?E(Ve(A,w(p)),C(n.transformers)):[],i=[e],a.length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,Ye(n,n.transformers,a,e,p,v,"source.".concat(t,".before"))]:[3,2];case 1:if(null===(c=L.sent()).event)return[2,{ok:!0}];if(c.stopped)return[2,(c.respond&&(v=c.respond),{ok:!0})];c.respond&&(v=c.respond),i=Array.isArray(c.event)?c.event:[c.event],L.label=2;case 2:return y&&(u=S(y,n))?(l=w(p),(f=k(y,u,l))?"HIT"===f.status&&void 0!==f.value&&y.stop?(d=f.value,f.rule.update?[4,x(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}),n)]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=L.sent(),L.label=4;case 4:return[2,(null==v||v(d),{ok:!0})];case 5:"MISS"===f.status&&y.stop&&v&&(_=v,g=f.rule.update,b=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),j=f.key,q=f.rule.ttl,v=function(e){O(u,j,e,q),g?o=_async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,x(e,g,b,n)];case 1:return t=r.sent(),_(t),[2]}})})():_(e)}),"MISS"!==f.status||y.stop||O(u,f.key,!0,f.rule.ttl),L.label=6;case 6:M=null!=m?m:h?E(Ve(h,w(p)),C(n.transformers)):[],D={ok:!0},I=!0,T=!1,R=void 0,L.label=7;case 7:L.trys.push([7,12,13,14]),N=i[Symbol.iterator](),L.label=8;case 8:return(I=(F=N.next()).done)?[3,11]:(H=F.value,[4,n.push(H,_object_spread_props(_object_spread({},r),{id:t,ingest:p,respond:v,mapping:s,preChain:M}))]);case 9:D=L.sent(),L.label=10;case 10:return I=!0,[3,8];case 11:return[3,14];case 12:return G=L.sent(),T=!0,R=G,[3,14];case 13:try{I||null==N.return||N.return()}finally{if(T)throw R}return[7];case 14:return o?[4,o]:[3,16];case 15:L.sent(),L.label=16;case 16:return[2,D]}})})()},command:n.command,sources:n.sources,elb:n.sources.elb.push,logger:q},u),D={collector:n,logger:q,id:t,config:s,env:M,setIngest:function(r){return _async_to_generator(function(){var o,a;return _ts_generator(this,function(i){switch(i.label){case 0:return s.ingest?[4,b(r,s.ingest,{collector:n})]:[2,void(p=e(t))];case 1:return o=i.sent(),a=e(t),p=_object_spread_props(_object_spread({},a,o),{_meta:a._meta}),[2]}})})()},setRespond:function(e){v=e}},[4,g(a)(D)];case 1:return(I=N.sent())?(T=I.type||"unknown",R=n.logger.scope(T).scope(t),[2,(M.logger=R,l&&(I.config=_object_spread_props(_object_spread({},I.config),{primary:l})),I)]):[2]}})})()},N=function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,s,c,u,l,f,d,_,v,p,y,b,h,m,w,j,k=arguments;return _ts_generator(this,function(O){switch(O.label){case 0:n=k.length>1&&void 0!==k[1]?k[1]:{},t={},r=!0,o=!1,a=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),O.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],[4,R(e,u,l)]);case 3:if(!(d=O.sent()))return[3,4];_=null===(f=l.config)||void 0===f?void 0:f.require,d.config=_object_spread(_object_spread_props(_object_spread({},d.config),{init:!1}),_?{require:_to_consumable_array(_)}:{}),t[u]=d,O.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),o=!0,a=j,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:Object.assign(e.sources,t),v=!0,p=!1,y=void 0,O.label=9;case 9:O.trys.push([9,17,18,19]),b=Object.keys(t)[Symbol.iterator](),O.label=10;case 10:return(v=(h=b.next()).done)?[3,16]:(m=h.value,w=e.sources[m],w.init?[4,g(w.init.bind(w))()]:[3,12]);case 11:O.sent(),O.label=12;case 12:return w.config.init=!0,T(w)?[4,I(0,w)]:[3,14];case 13:O.sent(),O.label=14;case 14:O.label=15;case 15:return v=!0,[3,10];case 16:return[3,19];case 17:return j=O.sent(),p=!0,y=j,[3,19];case 18:try{v||null==b.return||b.return()}finally{if(p)throw y}return[7];case 19:return[2,t]}})}).apply(this,arguments)},F=function(e,n){return{collector:e,logger:e.logger.scope("on").scope(String(n))}},H=function(e,n,r){return _async_to_generator(function(){var o,a,i;return _ts_generator(this,function(s){return o=e.on,a=o[n]||[],(i=t(r)?r:[r]).forEach(function(e){a.push(e)}),o[n]=a,L(e,n,i),[2]})})()},G=function(e,n,t,r,o){if(n.on){var a=n.type||"unknown",i=e.logger.scope(a).scope("on").scope(r),s={collector:e,logger:i,id:t,config:n.config,data:o,env:Q(n.env,n.config.env)};p(n.on)(r,s)}},L=function(e,n,t,r){var o,a,i,s,c;switch(n){case Je.Commands.Consent:o=r||e.consent;break;case Je.Commands.Session:o=e.session;break;case Je.Commands.User:o=r||e.user;break;case Je.Commands.Custom:o=r||e.custom;break;case Je.Commands.Globals:o=r||e.globals;break;case Je.Commands.Config:o=r||e.config;break;case Je.Commands.Ready:case Je.Commands.Run:default:o=void 0}if(t.length)switch(n){case Je.Commands.Consent:a=e,i=t,s=r||a.consent,c=F(a,Je.Commands.Consent),i.forEach(function(e){Object.keys(s).filter(function(n){return n in e}).forEach(function(n){p(e[n])(s,c)})});break;case Je.Commands.Ready:!function(e,n){if(e.allowed){var t=F(e,Je.Commands.Ready);n.forEach(function(e){p(e)(void 0,t)})}}(e,t);break;case Je.Commands.Run:!function(e,n){if(e.allowed){var t=F(e,Je.Commands.Run);n.forEach(function(e){p(e)(void 0,t)})}}(e,t);break;case Je.Commands.Session:!function(e,n){if(e.session){var t=F(e,Je.Commands.Session);n.forEach(function(n){p(n)(e.session,t)})}}(e,t);break;default:var u=F(e,n);t.forEach(function(e){"function"==typeof e&&p(e)(o,u)})}},U=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,s,c,u,l,f,d,_,v,p,y,b,h,m,w,j,k,O;return _ts_generator(this,function(x){switch(x.label){case 0:switch(i=t||[],t||(i=e.on[n]||[]),n){case Je.Commands.Consent:a=r||e.consent;break;case Je.Commands.Session:a=e.session;break;case Je.Commands.User:a=r||e.user;break;case Je.Commands.Custom:a=r||e.custom;break;case Je.Commands.Globals:a=r||e.globals;break;case Je.Commands.Config:a=r||e.config;break;case Je.Commands.Ready:case Je.Commands.Run:default:a=void 0}s=!1,c=!0,u=!1,l=void 0,x.label=1;case 1:x.trys.push([1,7,8,9]),f=Object.values(e.sources)[Symbol.iterator](),x.label=2;case 2:return(c=(d=f.next()).done)?[3,6]:(_=d.value,(null===(v=_.config.require)||void 0===v?void 0:v.length)&&-1!==(p=_.config.require.indexOf(n))&&_.config.require.splice(p,1),_.on?T(_)?(y=!1,[4,g(_.on)(n,a)]):[3,4]:[3,5]);case 3:return y===x.sent()&&(s=!0),[3,5];case 4:_.queueOn=_.queueOn||[],_.queueOn.push({type:n,data:a}),x.label=5;case 5:return c=!0,[3,2];case 6:return[3,9];case 7:return O=x.sent(),u=!0,l=O,[3,9];case 8:try{c||null==f.return||f.return()}finally{if(u)throw l}return[7];case 9:Object.entries(e.destinations).forEach(function(t){var r=_sliced_to_array(t,2),o=r[0],i=r[1];if(i.on){if(!i.config.init)return i.queueOn=i.queueOn||[],void i.queueOn.push({type:n,data:a});G(e,i,o,n,a)}}),b=!0,h=!1,m=void 0,x.label=10;case 10:x.trys.push([10,16,17,18]),w=Object.values(e.sources)[Symbol.iterator](),x.label=11;case 11:return(b=(j=w.next()).done)?[3,15]:(k=j.value,T(k)&&(null===(o=k.queueOn)||void 0===o?void 0:o.length)?[4,I(0,k)]:[3,13]);case 12:x.sent(),x.label=13;case 13:x.label=14;case 14:return b=!0,[3,11];case 15:return[3,18];case 16:return O=x.sent(),h=!0,m=O,[3,18];case 17:try{b||null==w.return||w.return()}finally{if(h)throw m}return[7];case 18:return Object.keys(e.pending.destinations).length>0?[4,function(e,n){return _async_to_generator(function(){var t,r,o,a,i,s,c,u,l,f,d,_;return _ts_generator(this,function(v){t=!0,r=!1,o=void 0;try{for(a=Object.entries(e.pending.destinations)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)s=_sliced_to_array(i.value,2),c=s[0],u=s[1],e.pending.destinations[c]&&!e.destinations[c]&&(f=null===(l=u.config)||void 0===l?void 0:l.require)&&-1!==(d=f.indexOf(n))&&(f.splice(d,1),f.length>0||(delete e.pending.destinations[c],!1!==(_=Y(u)).config.queue&&(_.queuePush=_to_consumable_array(e.queue)),e.destinations[c]=_))}catch(e){r=!0,o=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw o}}return[2]})})()}(e,n)]:[3,20];case 19:x.sent(),x.label=20;case 20:return[2,(L(e,n,i,r),!s)]}})})()},B=function(e,n,t,r){if(!e)return[];var o=Ve(null!=n?n:We(e),w(r));return o?E(o,t):[]},K=function(e,n,t){return _async_to_generator(function(){var r,a,i,s,c,l,f,d,_,v,p,g;return _ts_generator(this,function(y){if(r=n.code,a=n.config,i=void 0===a?{}:a,s=n.env,c=void 0===s?{}:s,l=n.before,f=n.next,d=n.cache,!o(r.push))return[2,J({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(_=t||i||{init:!1},v=l?_object_spread_props(_object_spread({},_),{before:l}):_object_spread({},_),f&&(v=_object_spread_props(_object_spread({},v),{next:f})),d&&(v=_object_spread_props(_object_spread({},v),{cache:d})),p=_object_spread_props(_object_spread({},r),{config:v,env:Q(r.env,c)}),!(g=p.config.id))do{g=u(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[g]);return[2,(e.destinations[g]=p,!1!==p.config.queue&&(p.queuePush=_to_consumable_array(e.queue)),W(e,void 0,{},_define_property({},g,p)))]})})()},W=function(t,r,o){return _async_to_generator(function(t,r){var o,a,i,s,u,l,f,d,_,v,p,y,b,h,m,x,A,E,P,q,M=arguments;return _ts_generator(this,function(D){switch(D.label){case 0:return o=M.length>2&&void 0!==M[2]?M[2]:{},a=M.length>3?M[3]:void 0,i=t.allowed,s=t.consent,u=t.globals,l=t.user,i?(r&&(t.queue.push(r),t.status.in++),a||(a=t.destinations),f=t.transformers?C(t.transformers):{},[4,Promise.all(Object.entries(a||{}).map(function(a){var i=_sliced_to_array(a,2),d=i[0],_=i[1];return _async_to_generator(function(){var a,i,v,p,y,b,h,m,x,C,A,E,P,q,M,D,I,T,R,N,F,H,G,L;return _ts_generator(this,function(U){switch(U.label){case 0:if(_.config.disabled)return[2,{id:d,destination:_,skipped:!0}];if(y=(_.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:s})}),_.queuePush=[],r&&y.push(Ne(r)),b=o.ingest?_object_spread_props(_object_spread({},o.ingest),{_meta:_object_spread_props(_object_spread({},o.ingest._meta),{path:_to_consumable_array(o.ingest._meta.path)})}):e("unknown"),!y.length&&!(null===(i=_.queueOn)||void 0===i?void 0:i.length))return[2,{id:d,destination:_,skipped:!0}];if(y.length||!(null===(v=_.queueOn)||void 0===v?void 0:v.length))return[3,5];h=!1,U.label=1;case 1:return U.trys.push([1,3,,4]),[4,V(t,_,d)];case 2:return h=U.sent(),[3,4];case 3:return m=U.sent(),x=_.type||"unknown",t.logger.scope(x).error("Destination init threw",{error:_instanceof(m,Error)?m.message:String(m)}),[3,4];case 4:return[2,{id:d,destination:_,skipped:!h}];case 5:if(C=[],A=y.filter(function(e){var n=c(_.config.consent,s,e.consent);return!n||(e.consent=n,C.push(e),!1)}),(a=_.queuePush).push.apply(a,_to_consumable_array(A)),!C.length)return[2,{id:d,destination:_,queue:y}];q=!1,U.label=6;case 6:return U.trys.push([6,8,,9]),[4,V(t,_,d)];case 7:return q=U.sent(),[3,9];case 8:return M=U.sent(),D=_.type||"unknown",t.logger.scope(D).error("Destination init threw",{error:_instanceof(M,Error)?M.message:String(M)}),[3,9];case 9:return q?(_.dlq||(_.dlq=[]),I=_.config.before,T=B(I,I&&Array.isArray(I)?We(I):void 0,f,b),R=_.config.next,N=R&&Array.isArray(R)?We(R):void 0,F=null===(p=_.config)||void 0===p?void 0:p.cache,H=F?j(F):void 0,G=H?S(H,t):void 0,L=0,[4,Promise.all(C.map(function(e){return _async_to_generator(function(){var r,a,i,s,c,v,p,y,h,m,j,x,S;return _ts_generator(this,function(C){switch(C.label){case 0:if(e.globals=n(u,e.globals),e.user=n(l,e.user),(null==H?void 0:H.stop)&&G){if(a=w(b,e),"HIT"===(null==(i=k(H,G,a))?void 0:i.status))return[2,e];"MISS"===(null==i?void 0:i.status)&&(r={key:i.key,ttl:i.rule.ttl})}return s=e,c=o.respond,T.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,Ye(t,t.transformers,T,e,b,o.respond,"destination.".concat(d,".before"))]:[3,2];case 1:if(null===(v=C.sent()).event)return[2,e];v.respond&&(c=v.respond),s=Array.isArray(v.event)?v.event[0]:v.event,C.label=2;case 2:if(H&&!H.stop&&G){if(p=w(b,s),"HIT"===(null==(y=k(H,G,p))?void 0:y.status))return[2,e];"MISS"===(null==y?void 0:y.status)&&(r={key:y.key,ttl:y.rule.ttl})}return h=Date.now(),m=!1,[4,g(z,function(e){var n=_.type||"unknown";t.logger.scope(n).error("Push failed",{error:e,event:s.name}),E=e,m=!0,_.dlq.push([s,e])})(t,_,d,s,b,c)];case 3:return j=C.sent(),L+=Date.now()-h,r&&G&&void 0===_.config.mock&&O(G,r.key,null==j||j,r.ttl),void 0!==j&&(P=j),m||!R?[3,5]:(void 0!==j&&(b._response=j),(x=B(R,N,f,b)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,Ye(t,t.transformers,x,s,b,c,"destination.".concat(d,".next"))]:[3,5]);case 4:(S=C.sent()).respond&&(c=S.respond),C.label=5;case 5:return[2,e]}})})()}))]):[2,{id:d,destination:_,queue:y}];case 10:return[2,(U.sent(),{id:d,destination:_,error:E,response:P,totalDuration:L})]}})})()}))]):[2,J({ok:!1})];case 1:d=D.sent(),_={},v={},p={},y=!0,b=!1,h=void 0;try{for(m=d[Symbol.iterator]();!(y=(x=m.next()).done);y=!0)(A=x.value).skipped||(E={type:A.destination.type||"unknown",data:A.response},t.status.destinations[A.id]||(t.status.destinations[A.id]={count:0,failed:0,duration:0}),P=t.status.destinations[A.id],q=Date.now(),A.error?(E.error=A.error,p[A.id]=E,P.failed++,P.lastAt=q,P.duration+=A.totalDuration||0,t.status.failed++):A.queue&&A.queue.length?v[A.id]=E:(_[A.id]=E,P.count++,P.lastAt=q,P.duration+=A.totalDuration||0,t.status.out++))}catch(e){b=!0,h=e}finally{try{y||null==m.return||m.return()}finally{if(b)throw h}}return[2,J(_object_spread({event:r},Object.keys(_).length&&{done:_},Object.keys(v).length&&{queued:v},Object.keys(p).length&&{failed:p}))]}})}).apply(this,arguments)},V=function(e,n,t){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,_,v,p,g;return _ts_generator(this,function(y){switch(y.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=e.logger.scope(o),i={collector:e,logger:a,id:t,config:n.config,env:Q(n.env,n.config.env)},a.debug("init"),[4,m(n.init,"DestinationInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=y.sent()))return[2,s];if(n.config=_object_spread_props(_object_spread({},s||n.config),{init:!0}),null===(r=n.queueOn)||void 0===r?void 0:r.length){c=n.queueOn,n.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)v=_.value,p=v.type,g=v.data,G(e,n,t,p,g)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},z=function(e,n,t,o,a,i){return _async_to_generator(function(){var s,c,u,f,d,_,v,p,g,y;return _ts_generator(this,function(b){switch(b.label){case 0:return s=n.config,[4,h(o,s,e)];case 1:return(c=b.sent()).ignore?[2,!1]:(u=n.type||"unknown",f=e.logger.scope(u),d={collector:e,logger:f,id:t,config:s,data:c.data,rule:c.mapping,ingest:a,env:_object_spread({},Q(n.env,s.env),i?{respond:i}:{})},void 0!==s.mock?[2,(f.debug("mock",{event:c.event.name}),s.mock)]:(_=c.mapping,v=c.mappingKey||"* *",(null==_?void 0:_.batch)&&n.pushBatch&&void 0===s.mock?[3,3]:(f.debug("push",{event:c.event.name}),[4,m(n.push,"DestinationPush",e.hooks,e.logger)(c.event,d)])));case 2:return p=b.sent(),[2,(f.debug("push done"),p)];case 3:return n.batches=n.batches||{},n.batches[v]||(g={key:v,events:[],data:[]},n.batches[v]={batched:g,batchFn:l(function(){var r=n.batches[v].batched,o={collector:e,logger:f,id:t,config:s,data:void 0,rule:_,ingest:a,env:_object_spread({},Q(n.env,s.env),i?{respond:i}:{})};f.debug("push batch",{events:r.events.length}),m(n.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(r,o),f.debug("push batch done"),r.events=[],r.data=[]},_.batch)}),(y=n.batches[v]).batched.events.push(c.event),r(c.data)&&y.batched.data.push(c.data),y.batchFn(),[2,!0]}})})()},J=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},Y=function(e){var n=e.code,t=e.config,r=void 0===t?{}:t,o=e.env,a=void 0===o?{}:o,i=e.cache,s=A(e,"before").config,c=A(_object_spread_props(_object_spread({},e),{config:s}),"next").config,u=_object_spread({},n.config,r,c);i&&(u.cache=i);var l=Q(n.env,a);return _object_spread_props(_object_spread({},n),{config:u,env:l})},$=function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,s,c,u,l,f,d,_=arguments;return _ts_generator(this,function(v){n=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,i=!1,s=void 0;try{for(c=Object.entries(n)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(t=r.require)||void 0===t?void 0:t.length)?e.pending.destinations[f]=d:o[f]=Y(d)}catch(e){i=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}return[2,o]})}).apply(this,arguments)},Q=function(e,n){return e||n?n?e&&a(e)&&a(n)?_object_spread({},e,n):n:e:{}},X=function(e,n,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];i=a.type||"unknown",s=t.scope(i),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:s},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,t){return setTimeout(function(){return t(new Error("".concat(n," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),s.error("".concat(n," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},Z=function(e,t,r,s){return _async_to_generator(function(){var c,u,l,f,d,_,v;return _ts_generator(this,function(p){switch(p.label){case 0:switch(l=!1,t){case Je.Commands.Config:return[3,1];case Je.Commands.Consent:return[3,2];case Je.Commands.Custom:return[3,3];case Je.Commands.Destination:return[3,4];case Je.Commands.Globals:return[3,11];case Je.Commands.On:return[3,12];case Je.Commands.Ready:return[3,15];case Je.Commands.Run:return[3,16];case Je.Commands.Session:return[3,18];case Je.Commands.Shutdown:return[3,19];case Je.Commands.User:return[3,21]}return[3,22];case 1:return a(r)&&(n(e.config,r,{shallow:!1}),u=r,l=!0),[3,22];case 2:return a(r)&&(f=function(e,t){var r={};return Object.entries(t).forEach(function(e){var n=_sliced_to_array(e,2),t=n[0],o=n[1];r[t]=!!o}),e.consent=n(e.consent,r),{update:r}}(e,r),d=f.update,u=d,l=!0),[3,22];case 3:return a(r)&&(e.custom=n(e.custom,r),u=r,l=!0),[3,22];case 4:return a(r)?"code"in r&&a(r.code)?[4,K(e,r,s)]:[3,6]:[3,10];case 5:return _=c=p.sent(),[3,9];case 6:return(v=o(r.push))?[4,K(e,{code:r},s)]:[3,8];case 7:v=c=p.sent(),p.label=8;case 8:_=v,p.label=9;case 9:p.label=10;case 10:return[3,22];case 11:return a(r)&&(e.globals=n(e.globals,r),u=r,l=!0),[3,22];case 12:return i(r)?[4,H(e,r,s)]:[3,14];case 13:p.sent(),p.label=14;case 14:return[3,22];case 15:return l=!0,[3,22];case 16:return[4,ne(e,r)];case 17:return c=p.sent(),l=!0,[3,22];case 18:return l=!0,[3,22];case 19:return[4,(g=e,_async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=g.logger,[4,X(g.sources,"source",e)];case 1:return n.sent(),[4,X(g.destinations,"destination",e)];case 2:return n.sent(),[4,X(g.transformers,"transformer",e)];case 3:return n.sent(),[4,X(g.stores,"store",e)];case 4:return n.sent(),[2]}})})())];case 20:return p.sent(),[3,22];case 21:a(r)&&(n(e.user,r,{shallow:!1}),u=r,l=!0),p.label=22;case 22:return l?[4,U(e,t,void 0,u)]:[3,25];case 23:return p.sent(),[4,W(e)];case 24:c=p.sent(),p.label=25;case 25:return[2,c||J({ok:!0})]}var g})})()},ee=function(e,n){if(!n.name)throw new Error("Event name is required");var t=_sliced_to_array(n.name.split(" "),2),r=t[0],o=t[1];if(!r||!o)throw new Error("Event name is invalid");var a=n.timestamp,i=void 0===a?Date.now():a,s=n.name,c=void 0===s?"".concat(r," ").concat(o):s,u=n.data,l=void 0===u?{}:u,f=n.context,d=void 0===f?{}:f,_=n.globals,v=void 0===_?e.globals:_,p=n.custom,g=void 0===p?{}:p,y=n.user,b=void 0===y?e.user:y,h=n.nested,m=void 0===h?[]:h,w=n.consent,j=void 0===w?e.consent:w,k=n.id,O=void 0===k?function(){for(var e="",n=0;n<16;n++)e+=(16*Math.random()|0).toString(16);return e}():k,x=n.trigger,S=void 0===x?"":x,C=n.entity,A=void 0===C?r:C,E=n.action,P=void 0===E?o:E,q=n.timing,M=void 0===q?0:q,D=n.source;return{name:c,data:l,context:d,globals:v,custom:g,user:b,nested:m,consent:j,id:O,trigger:S,entity:A,action:P,timestamp:i,timing:M,source:void 0===D?{type:"collector",schema:"4"}:D}},ne=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=n(e.consent,t.consent)),t.user&&(e.user=n(e.user,t.user)),t.globals&&(e.globals=n(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=n(e.custom,t.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,W(e)];case 1:return[2,r.sent()]}})})()},te=function(t){return _async_to_generator(function(){var r,o,a,i,s,u,l,f,d;return _ts_generator(this,function(v){switch(v.label){case 0:return a=n({globalsStatic:{},sessionStatic:{},run:!0},t,{merge:!1,extend:!1}),i={level:null===(r=t.logger)||void 0===r?void 0:r.level,handler:null===(o=t.logger)||void 0===o?void 0:o.handler},s=_(i),u=_object_spread({},a.globalsStatic,t.globals),(l={allowed:!1,config:a,consent:t.consent||{},custom:t.custom||{},destinations:{},transformers:{},stores:{},globals:u,hooks:t.hooks||{},logger:s,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:t.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0}).push=function(n,t){return m(function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,g(function(){return _async_to_generator(function(){var a,i,s,u,l,f,d,_,v,p,g,y,b,m,w,j,k,O,x,S,C;return _ts_generator(this,function(A){switch(A.label){case 0:return a=Date.now(),i=o.id,s=o.ingest,u=o.respond,l=o.mapping,f=o.preChain,d=o.include,_=o.exclude,v=u,p=r,g=d||_?function(e,n,t){var r=e;return n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return n.includes(t)}))),t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return!t.includes(n)}))),r}(n.destinations,d,_):void 0,y=null!=s?s:e(i||"unknown"),l?[4,h(p,l,n)]:[3,2];case 1:if((b=A.sent()).ignore)return[2,J({ok:!0})];if(l.consent&&!c(l.consent,n.consent,b.event.consent))return[2,J({ok:!0})];p=b.event,A.label=2;case 2:return(null==f?void 0:f.length)&&n.transformers&&Object.keys(n.transformers).length>0?[4,Ye(n,n.transformers,f,p,y,v,i?"source.".concat(i,".next"):void 0)]:[3,6];case 3:return null===(m=A.sent()).event?[2,J({ok:!0})]:m.stopped?[2,(m.respond&&(v=m.respond),J({ok:!0}))]:(m.respond&&(v=m.respond),Array.isArray(m.event)?[4,Promise.all(m.event.map(function(e){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(e),o=ee(n,r),[2,W(n,o,{id:i,ingest:y,respond:v},g)]})})()}))]:[3,5]);case 4:return j=A.sent(),i&&(n.status.sources[i]||(n.status.sources[i]={count:0,duration:0}),(k=n.status.sources[i]).count+=m.event.length,k.lastAt=Date.now(),k.duration+=Date.now()-a),[2,null!==(w=j[0])&&void 0!==w?w:J({ok:!0})];case 5:p=m.event,A.label=6;case 6:return O=t(p),x=ee(n,O),[4,W(n,x,{id:i,ingest:y,respond:v},g)];case 7:return S=A.sent(),i&&(n.status.sources[i]||(n.status.sources[i]={count:0,duration:0}),(C=n.status.sources[i]).count++,C.lastAt=Date.now(),C.duration+=Date.now()-a),[2,S]}})})()},function(){return J({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Push",n.hooks,n.logger)}(l,function(e){return _object_spread({timing:Math.round((Date.now()-l.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0-next-1778668930820"}},e)}),l.command=function(e,n){return m(function(t,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,g(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,n(e,t,r,o)];case 1:return[2,a.sent()]}})})()},function(){return J({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks,e.logger)}(l,Z),f=t.stores||{},[4,function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,s,c,u,l,f,d,_,v,p,g,y,b,h,w,j,k=arguments;return _ts_generator(this,function(O){switch(O.label){case 0:n=k.length>1&&void 0!==k[1]?k[1]:{},t={},r=!0,o=!1,a=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),O.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,v=l.env,p=void 0===v?{}:v,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:_,env:p})]);case 3:y=O.sent(),b=y.get,h=y.set,w=y.delete,y.get=m(b,"StoreGet",e.hooks,e.logger),y.set=m(h,"StoreSet",e.hooks,e.logger),y.delete=m(w,"StoreDelete",e.hooks,e.logger),t[u]=y,O.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),o=!0,a=j,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(l,f)];case 1:return l.stores=v.sent(),function(e,n,t){var r=new Map,o=!0,a=!1,i=void 0;try{for(var s,c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=_sliced_to_array(s.value,2),l=u[0],f=u[1];n[l]&&r.set(f,n[l])}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}if(0!==r.size)for(var d=!0,_=!1,v=void 0,p=0,g=[t.transformers,t.destinations,t.sources];p<g.length;p++){var y=g[p];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,v=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw v}}}function m(e){if(e){var n=!0,t=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=_sliced_to_array(a.value,2),c=s[0],u=s[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){t=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(t)throw o}}}}}(f,l.stores,t),l.stores.__cache||(d=new Map,l.stores.__cache={type:"memory",config:{},get:function(e){var n=d.get(e);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;d.delete(e)}},set:function(e,n,t){d.set(e,{value:n,expires:t?Date.now()+t:void 0})},delete:function(e){d.delete(e)}}),[4,$(l,t.destinations||{})];case 2:return l.destinations=v.sent(),[4,function(n){return _async_to_generator(function(n){var t,r,o,a,i,s,c,u,l,f=arguments;return _ts_generator(this,function(d){switch(d.label){case 0:t=f.length>1&&void 0!==f[1]?f[1]:{},r={},o=!0,a=!1,i=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),s=function(){var t,o,a,i,s,c,l,f,d,_,v,p,g,y,b,m,w,j,k,O,x,S;return _ts_generator(this,function(C){switch(C.label){case 0:return t=_sliced_to_array(u.value,2),o=t[0],a=t[1],f=a.code,d=a.env,_=void 0===d?{}:d,v=function(e){var n=!0,t=!1,r=void 0;try{for(var o,a=Object.keys(e)[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var i=o.value;if(!ze.has(i))return{ok:!1,code:"UNKNOWN_KEY",key:i,reason:'Unknown key "'.concat(i,'". Allowed: ').concat(_to_consumable_array(ze).join(", "),".")}}}catch(e){t=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(t)throw r}}return void 0!==e.code&&void 0!==e.package?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:{ok:!0}}(a),v.ok?(p=A(a,"before"),g=p.config,y=A(_object_spread_props(_object_spread({},a),{config:g}),"next"),b=y.config,m=Object.keys(_).length>0?_object_spread_props(_object_spread({},b),{env:_}):b,w=a.cache,j=w?_object_spread_props(_object_spread({},m),{cache:w}):m,k=n.logger.scope("transformer").scope(o),O={collector:n,logger:k,id:o,ingest:e(o),config:j,env:_},x=null!=f?f:function(e){var n=a.mapping;if(n){var t=[];if(void 0!==n.data&&t.push("data"),n.mapping){var r=!0,i=!1,s=void 0,c=!0,u=!1,l=void 0;try{for(var f,d=Object.entries(n.mapping)[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var _=_sliced_to_array(f.value,2),v=_[0],p=_[1];if("object"==(void 0===p?"undefined":_type_of(p))&&null!==p)try{for(var g,y=Object.entries(p)[Symbol.iterator]();!(r=(g=y.next()).done);r=!0){var b=_sliced_to_array(g.value,2),m=b[0],w=b[1];if("object"==(void 0===w?"undefined":_type_of(w))&&null!==w){var j=w;void 0!==j.data&&t.push("mapping[".concat(v,"][").concat(m,"].data")),void 0!==j.silent&&t.push("mapping[".concat(v,"][").concat(m,"].silent"))}}}catch(e){i=!0,s=e}finally{try{r||null==y.return||y.return()}finally{if(i)throw s}}}}catch(e){u=!0,l=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw l}}}return t.length>0&&e.collector.logger.warn("Transformer ".concat(o,": `").concat(t.join(", "),"` ignored at transformer position (only event-mutating fields apply).")),{type:"pass",config:e.config,push:function(t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return[4,h(t,n,e.collector)];case 1:return[2,!(r=o.sent()).ignore&&{event:r.event}]}})})()}}}return{type:"pass",config:e.config,push:function(e){return{event:e}}}},[4,x(O)]):(n.logger.warn("Transformer ".concat(o," invalid (").concat(v.code,"): ").concat(v.reason,". Skipping.")),[2,"continue"]);case 1:return S=C.sent(),void 0!==a.before&&void 0===(null===(c=S.config)||void 0===c?void 0:c.before)&&(S.config=_object_spread_props(_object_spread({},null!==(i=S.config)&&void 0!==i?i:{}),{before:a.before})),void 0!==a.next&&void 0===(null===(l=S.config)||void 0===l?void 0:l.next)&&(S.config=_object_spread_props(_object_spread({},null!==(s=S.config)&&void 0!==s?s:{}),{next:a.next})),r[o]=S,[2]}})},c=Object.entries(t)[Symbol.iterator](),d.label=2;case 2:return(o=(u=c.next()).done)?[3,5]:[5,_ts_values(s())];case 3:d.sent(),d.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return l=d.sent(),a=!0,i=l,[3,8];case 7:try{o||null==c.return||c.return()}finally{if(a)throw i}return[7];case 8:return[2,r]}})}).apply(this,arguments)}(l,t.transformers||{})];case 3:return[2,(l.transformers=v.sent(),l)]}})})()},re=function(e){return _async_to_generator(function(){var n,t,r,o,a,i,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,te(e=e||{})];case 1:return n=f.sent(),r=n,t={type:"elb",config:{},push:function(e,n,t,o,a,i){return _async_to_generator(function(){var s,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return s=e.replace("walker ",""),[2,r.command(s,n,t)];if("string"==typeof e)c={name:e},n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=n);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,J({ok:!1})];c=e,n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=_object_spread({},c.data||{},n))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),i&&"object"==(void 0===i?"undefined":_type_of(i))&&(c.custom=i),r.push(c))]})})()}},n.sources.elb=t,[4,N(n,e.sources||{})];case 2:return f.sent(),o=e.consent,a=e.user,i=e.globals,s=e.custom,o?[4,n.command("consent",o)]:[3,4];case 3:f.sent(),f.label=4;case 4:return a?[4,n.command("user",a)]:[3,6];case 5:f.sent(),f.label=6;case 6:return i&&Object.assign(n.globals,i),s&&Object.assign(n.custom,s),n.config.run?[4,n.command("run")]:[3,8];case 7:f.sent(),f.label=8;case 8:return c=t.push,u=Object.values(n.sources).filter(function(e){return"elb"!==e.type}),[2,((l=u.find(function(e){return e.config.primary}))?c=l.push:u.length>0&&(c=u[0].push),{collector:n,elb:c})]}})})()},oe=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,ie=Object.getOwnPropertyNames,se=Object.prototype.hasOwnProperty,ce=function(e,n){for(var t in n)oe(e,t,{get:n[t],enumerable:!0})},ue={};ce(ue,{DEFAULT_CATEGORY_MAP:function(){return Ze},SourceCookieFirst:function(){return le},analyticsOnlyConsent:function(){return pe},analyticsOnlyMapped:function(){return me},createMockCookieFirstAPI:function(){return xe},createMockElbFn:function(){return ke},createMockWindow:function(){return Se},createTrigger:function(){return Qe},default:function(){return nn},fullConsent:function(){return fe},fullConsentMapped:function(){return ye},marketingOnlyConsent:function(){return ge},marketingOnlyMapped:function(){return we},minimalConsent:function(){return _e},minimalConsentMapped:function(){return he},mockEnv:function(){return Ce},noConsent:function(){return ve},noopLogger:function(){return Oe},partialConsent:function(){return de},partialConsentMapped:function(){return be},sourceCookieFirst:function(){return en},step:function(){return Ae},trigger:function(){return Xe}});var le={},fe={necessary:!0,functional:!0,performance:!0,advertising:!0},de={necessary:!0,functional:!0,performance:!1,advertising:!1},_e={necessary:!0,functional:!1,performance:!1,advertising:!1},ve=null,pe={necessary:!0,functional:!1,performance:!0,advertising:!1},ge={necessary:!0,functional:!1,performance:!1,advertising:!0},ye={functional:!0,analytics:!0,marketing:!0},be={functional:!0,analytics:!1,marketing:!1},he={functional:!0,analytics:!1,marketing:!1},me={functional:!0,analytics:!0,marketing:!1},we={functional:!0,analytics:!1,marketing:!0},je=function(){},ke=function(){return function(){return Promise.resolve({ok:!0})}},Oe={error:je,warn:je,info:je,debug:je,throw:function(e){throw"string"==typeof e?new Error(e):e},json:je,scope:function(){return Oe}},xe=function(){return{consent:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},Se=function(){return{CookieFirst:xe(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null),addEventListener:je,removeEventListener:je}},Ce={get push(){return ke()},get command(){return ke()},get elb(){return ke()},get window(){return Se()},logger:Oe},Ae={};ce(Ae,{categoryMapOverride:function(){return qe},cfInitDetection:function(){return Me},fullConsent:function(){return Ee},partialConsent:function(){return Pe}});var Ee={title:"Full consent",description:"CookieFirst reports all categories granted and the source forwards a walker consent command with all groups true.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!0,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!0}]]},Pe={title:"Partial consent",description:"A partial CookieFirst grant maps analytics and marketing to false in the emitted walker consent command.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!1,advertising:!1},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!1}]]},qe={title:"Category map override",description:"Custom categoryMap remaps performance to statistics instead of analytics",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!0,advertising:!1},mapping:{settings:{categoryMap:{performance:"statistics"}}},out:[["elb","walker consent",{functional:!0,statistics:!0,marketing:!1}]]},Me={title:"cf_init detection",description:"CMP detected via cf_init CustomEvent (primary detection path)",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!1,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!0}]]},De=Object.defineProperty;!function(e,n){for(var t in n)De(e,t,{get:n[t],enumerable:!0})}({},{Level:function(){return Te}});var Ie,Te=((Ie=Te||{})[Ie.ERROR=0]="ERROR",Ie[Ie.WARN=1]="WARN",Ie[Ie.INFO=2]="INFO",Ie[Ie.DEBUG=3]="DEBUG",Ie),Re={merge:!0,shallow:!0,extend:!0};function Ne(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(n.has(e))return n.get(e);var t=Object.prototype.toString.call(e);if("[object Object]"===t){var r={};for(var o in n.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=Ne(e[o],n));return r}if("[object Array]"===t){var a=[];return n.set(e,a),e.forEach(function(e){a.push(Ne(e,n))}),a}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){var i=e;return new RegExp(i.source,i.flags)}return e}function Fe(e){for(var n=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,i=0;i<o.length;i++){var s=o[i];if("*"===s&&t(a)){var c=o.slice(i+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,v=a[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var p=Fe(_.value,c,n);u.push(p)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}return u}if(void 0===(a=_instanceof(a,Object)?a[s]:void 0))break}return r(a)?a:n}var He={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},Ge=function(e,n,t,r){var o="".concat(Te[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(t).length>0,i=0===e?console.error:1===e?console.warn:console.log;a?i(o,n,t):i(o,n)};function Le(e){var n=e.level,t=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=n){var i=d(r,a);t?t(e,i.message,i.context,o,Ge):Ge(e,i.message,i.context,o)}};return{error:function(e,n){return a(0,e,n)},warn:function(e,n){return a(1,e,n)},info:function(e,n){return a(2,e,n)},debug:function(e,n){return a(3,e,n)},throw:function(e,n){var r=d(e,n);throw t?t(0,r.message,r.context,o,Ge):Ge(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Le({level:n,handler:t,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function Ue(e){return function(e){return"boolean"==typeof e}(e)||i(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||t(e)&&e.every(Ue)||a(e)&&Object.values(e).every(Ue)}function Be(e,n,o){return _async_to_generator(function(){return _ts_generator(this,function(a){return[2,(t(n)?n:[n]).reduce(function(n,a){return _async_to_generator(function(){var s,u,l,f,d,_,p,y,h,m,w,j,k,O,x,S,C,A,E,P,q,M;return _ts_generator(this,function(D){switch(D.label){case 0:return[4,n];case 1:return(s=D.sent())?[2,s]:(u=i(a)?{key:a}:a,Object.keys(u).length?(l=u.condition,f=u.consent,d=u.fn,_=u.key,p=u.loop,y=u.map,h=u.set,m=u.validate,w=u.value,j=_object_spread_props(_object_spread({},o),{mapping:a}),(k=l)?[4,g(l)(e,j)]:[3,3]):[2]);case 2:k=!D.sent(),D.label=3;case 3:return k?[2]:f&&!c(f,j.consent)?[2,w]:(O=r(w)?w:e,d?[4,g(d)(e,j)]:[3,5]);case 4:O=D.sent(),D.label=5;case 5:return _&&(O=Fe(e,_,w)),p?(x=_sliced_to_array(p,2),S=x[0],C=x[1],"this"!==S?[3,6]:(E=[e],[3,8])):[3,11];case 6:return[4,b(e,S,j)];case 7:E=D.sent(),D.label=8;case 8:return t(A=E)?[4,Promise.all(A.map(function(e){return b(e,C,j)}))]:[3,10];case 9:O=D.sent().filter(r),D.label=10;case 10:return[3,17];case 11:return y?[4,Object.entries(y).reduce(function(n,t){var o=_sliced_to_array(t,2),a=o[0],i=o[1];return _async_to_generator(function(){var t,o;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,n];case 1:return t=s.sent(),[4,b(e,i,j)];case 2:return o=s.sent(),[2,(r(o)&&(t[a]=o),t)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=D.sent(),[3,16];case 13:return(P=h)?[4,Promise.all(h.map(function(n){return Be(e,n,j)}))]:[3,15];case 14:P=O=D.sent(),D.label=15;case 15:D.label=16;case 16:D.label=17;case 17:return(q=m)?[4,g(m)(O,j)]:[3,19];case 18:q=!D.sent(),D.label=19;case 19:return q&&(O=void 0),M=v(O),[2,r(M)?M:v(w)]}})})()},Promise.resolve(void 0))]})})()}function Ke(e){if(void 0===e||"*"===e)return function(){return!0};if("and"in e){var n=e.and.map(Ke);return function(e){return n.every(function(n){return n(e)})}}if("or"in e){var t=e.or.map(Ke);return function(e){return t.some(function(n){return n(e)})}}return function(e){var n=e.key,t=e.operator,r=e.value,o=e.not,a=function(e,n){switch(e){case"eq":return function(e){return String(null!=e?e:"")===n};case"contains":return function(e){return String(null!=e?e:"").includes(n)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(n)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(n)};case"regex":var t=new RegExp(n);return function(e){return t.test(String(null!=e?e:""))};case"gt":var r=Number(n);return function(e){return Number(e)>r};case"lt":var o=Number(n);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(t,r);return function(e){var t=Fe(e,n),r=a(t);return o?!r:r}}(e)}function We(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(function(e){return Array.isArray(e)&&e.length>0&&e.every(function(e){return"object"==(void 0===(n=e)?"undefined":_type_of(n))&&null!==n&&!Array.isArray(n)&&("match"in n||"next"in n||"case"in n);var n})}(e))return We({case:e});if(e.every(function(e){return"string"==typeof e}))return{type:"chain",value:e};var n=[],t=!0,r=!1,o=void 0;try{for(var a,i=e[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=We(a.value);void 0!==s&&n.push(s)}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}if(0===n.length)return;return{type:"sequence",value:n}}var c=e;if("next"in c&&void 0!==c.next)return c.match?{type:"gate",match:Ke(c.match),next:We(c.next)}:We(c.next);if("case"in c&&c.case){var u=c.case.map(function(e){var n;if("string"==typeof e)return{match:function(){return!0},next:{type:"static",value:e}};if(Array.isArray(e))return{match:function(){return!0},next:We(e)};var t=e;return{match:t.match?Ke(t.match):function(){return!0},next:null!==(n=We(t))&&void 0!==n?n:{type:"chain",value:[]}}});return c.match?{type:"gate",match:Ke(c.match),next:{type:"case",routes:u}}:{type:"case",routes:u}}return c.match?{type:"gate",match:Ke(c.match)}:void 0}}function Ve(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(n))return;return Ve(e.next,n)}if("sequence"===e.type){var t=[],r=!0,o=!1,a=void 0;try{for(var i,s=e.value[Symbol.iterator]();!(r=(i=s.next()).done);r=!0){var c,u=Ve(i.value,n);void 0!==u&&(Array.isArray(u)?(c=t).push.apply(c,_to_consumable_array(u)):t.push(u))}}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return t.length>0?t:void 0}var l=!0,f=!1,d=void 0;try{for(var _,v=e.routes[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var p=_.value;if(p.match(n))return Ve(p.next,n)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}}}var ze=new Set(_to_consumable_array(["code","package","before","next","cache","mapping"]).concat(["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"])),Je={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function Ye(n,t,r,o,a,i,s){return _async_to_generator(function(){var c,u,l,f,d,_,v,p,y,b;return _ts_generator(this,function(h){switch(h.label){case 0:s&&(null==a?void 0:a._meta)&&(a._meta.chainPath=s),c=o,u=i,l=!0,f=!1,d=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),_=function(){var o,i,l,f,d,_,v,y,b,h,m,x,A,D,I,T,R,N,F,H,G,L,U,B,K,W,V,z,J,Y,$,Q,X,Z,ee,ne,te,re,oe,ae,ie;return _ts_generator(this,function(se){switch(se.label){case 0:return o=p.value,(v=t[o])?a&&a._meta&&a._meta.path.length>256?[2,{v:(n.logger.error("Max path length exceeded at ".concat(o)),{event:null,respond:u})}]:(a&&a._meta&&(a._meta.hops++,a._meta.path.push(o)),[4,g(P)(n,v,o)]):(n.logger.warn("Transformer not found: ".concat(o)),[2,"continue"]);case 1:if(!se.sent())return[2,{v:(n.logger.error("Transformer init failed: ".concat(o)),{event:null,respond:u})}];if(s&&void 0!==(null===(l=v.config)||void 0===l||null===(i=l.chainMocks)||void 0===i?void 0:i[s]))return y=v.config.chainMocks[s],n.logger.scope("transformer:".concat(v.type||"unknown")).debug("chainMock",{chain:s}),c=y,[2,"continue"];if(void 0!==(null===(f=v.config)||void 0===f?void 0:f.mock))return n.logger.scope("transformer:".concat(v.type||"unknown")).debug("mock"),c=v.config.mock,[2,"continue"];if(null===(d=v.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(b=null===(_=v.config)||void 0===_?void 0:_.cache,h=b?j(b):void 0,m=h?S(h,n):void 0,x=void 0,h&&m){if(A=w(a,c),"HIT"===(null==(D=k(h,m,A))?void 0:D.status)&&D.value)return c=D.value,h.stop?[2,{v:{event:c,respond:u,stopped:!0}}]:[2,"continue"];"MISS"===(null==D?void 0:D.status)&&(x={key:D.key,ttl:D.rule.ttl})}return(I=v.config.before)&&(T=E(M(I,w(a,c)),C(t))).length>0?[4,Ye(n,t,T,c,a,u,s)]:[3,3];case 2:if(null===(F=se.sent()).event)return[2,{v:{event:null,respond:null!==(R=F.respond)&&void 0!==R?R:u}}];if(F.stopped)return[2,{v:{event:Array.isArray(F.event)?F.event[0]:F.event,respond:null!==(N=F.respond)&&void 0!==N?N:u,stopped:!0}}];F.respond&&(u=F.respond),c=Array.isArray(F.event)?F.event[0]:F.event,se.label=3;case 3:return[4,g(q,function(e){return n.logger.scope("transformer:".concat(v.type||"unknown")).error("Push failed",{error:e}),!1})(n,v,o,c,a,u)];case 4:return!1===(H=se.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(H)?(G=r.slice(r.indexOf(o)+1),[4,Promise.all(H.map(function(r){return _async_to_generator(function(){var o,i,l,f;return _ts_generator(this,function(d){return o=r.event||c,i=a?_object_spread_props(_object_spread({},a),{_meta:_object_spread_props(_object_spread({},a._meta),{path:_to_consumable_array(a._meta.path)})}):e("unknown"),r.next?(l=M(r.next,w(i,o)))&&(f=E(l,C(t))).length>0?[2,Ye(n,t,f,o,i,u,s)]:[2,{event:o,respond:u}]:[2,G.length>0?Ye(n,t,G,o,i,u,s):{event:o,respond:u}]})})()}))]):[3,6];case 5:L=se.sent(),U=u,B=[],K=!0,W=!1,V=void 0;try{for(z=L.flat()[Symbol.iterator]();!(K=(J=z.next()).done);K=!0)if(null!==(Y=J.value))if(Y&&"object"==(void 0===Y?"undefined":_type_of(Y))&&"event"in Y){if((Q=Y).respond&&(U=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?($=B).push.apply($,_to_consumable_array(Q.event)):B.push(Q.event)}else B.push(Y)}catch(e){W=!0,V=e}finally{try{K||null==z.return||z.return()}finally{if(W)throw V}}return[2,{v:0===B.length?{event:null,respond:U}:1===B.length?{event:B[0],respond:U}:{event:B,respond:U}}];case 6:if(H&&"object"==(void 0===H?"undefined":_type_of(H))){if(X=H.event,Z=H.respond,ee=H.next,Z&&(u=Z),ee)return(ne=M(ee,w(a,c)))?[2,{v:(te=E(ne,C(t))).length>0?Ye(n,t,te,X||c,a,u,s):(n.logger.warn("Branch target not found: ".concat(JSON.stringify(ee))),{event:null,respond:u})}]:(X&&(c=X),[2,"continue"]);X&&(c=X)}return x&&m&&O(m,x.key,c,x.ttl),re=v.config.next?We(v.config.next):void 0,oe="case"===(null==re?void 0:re.type)||"gate"===(null==re?void 0:re.type)||"sequence"===(null==re?void 0:re.type),(!H||"object"==(void 0===H?"undefined":_type_of(H))&&!H.next)&&re&&oe?(ae=Ve(re,w(a,c)))&&(ie=E(ae,C(t))).length>0?[2,{v:Ye(n,t,ie,c,a,u,s)}]:[2,{v:{event:c,respond:u}}]:[2]}})},v=r[Symbol.iterator](),h.label=2;case 2:return(l=(p=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=h.sent()))return[2,y.v];h.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return b=h.sent(),f=!0,d=b,[3,8];case 7:try{l||null==v.return||v.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var $e,Qe=function(e){return _async_to_generator(function(){var n,t;return _ts_generator(this,function(r){return t=function(){return function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return window.CookieFirst={consent:t},n?[3,2]:[4,re(_object_spread_props(_object_spread({},e),{run:null===(r=e.run)||void 0===r||r}))];case 1:o=a.sent(),n={collector:o.collector,elb:o.elb},a.label=2;case 2:return window.dispatchEvent(new Event("cf_init")),[2]}})})()}},[2,{get flow(){return n},trigger:t}]})})()},Xe=function(e,n){e&&"object"===(void 0===e?"undefined":_type_of(e))&&(n.window.CookieFirst={consent:e})},Ze={necessary:"functional",functional:"functional",performance:"analytics",advertising:"marketing"},en=function(e){return _async_to_generator(function(){var n,t,r,o,a,i,s,c,u,l,f,d,_,v,p,g,y,b;return _ts_generator(this,function(h){return s=e.config,c=e.env,u=c.elb,l=null!==(n=c.window)&&void 0!==n?n:void 0!==globalThis.window?globalThis.window:void 0,f={categoryMap:_object_spread({},Ze,null==s||null===(o=s.settings)||void 0===o?void 0:o.categoryMap),explicitOnly:null===(t=null==s||null===(a=s.settings)||void 0===a?void 0:a.explicitOnly)||void 0===t||t,globalName:null!==(r=null==s||null===(i=s.settings)||void 0===i?void 0:i.globalName)&&void 0!==r?r:"CookieFirst"},d={settings:f},l&&(g=function(e){if((!f.explicitOnly||e)&&e){var n={};Object.entries(e).forEach(function(e){var t,r,o=_sliced_to_array(e,2),a=o[0],i=o[1];if("boolean"==typeof i){var s=null!==(t=null===(r=f.categoryMap)||void 0===r?void 0:r[a])&&void 0!==t?t:a;n[s]=n[s]||i}}),Object.keys(n).length>0&&u("walker consent",n)}},y=null!==(p=f.globalName)&&void 0!==p?p:"CookieFirst",(null==(b=l[y])?void 0:b.consent)&&g(b.consent),_=function(){var e,n=l[y];g(null!==(e=null==n?void 0:n.consent)&&void 0!==e?e:null)},l.addEventListener("cf_init",_),v=function(e){g(e.detail)},l.addEventListener("cf_consent",v)),[2,{type:"cookiefirst",config:d,push:u,destroy:function(e){return _async_to_generator(function(){return _ts_generator(this,function(e){return l&&_&&l.removeEventListener("cf_init",_),l&&v&&l.removeEventListener("cf_consent",v),[2]})})()}}]})})()},nn=en;return $e=ue,function(e,n,t,r){if(n&&"object"===(void 0===n?"undefined":_type_of(n))||"function"==typeof n){var o=!0,a=!1,i=void 0;try{for(var s,c=function(){var o=s.value;se.call(e,o)||o===t||oe(e,o,{get:function(){return n[o]},enumerable:!(r=ae(n,o))||r.enumerable})},u=ie(n)[Symbol.iterator]();!(o=(s=u.next()).done);o=!0)c()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(oe({},"__esModule",{value:!0}),$e)}();
1
+ "use strict";function _array_like_to_array(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function asyncGeneratorStep(e,n,t,r,o,a,i){try{var s=e[a](i),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function i(e){asyncGeneratorStep(a,r,o,i,s,"next",e)}function s(e){asyncGeneratorStep(a,r,o,i,s,"throw",e)}i(void 0)})}}function _call_super(e,n,t){return n=_get_prototype_of(n),_possible_constructor_return(e,_is_native_reflect_construct()?Reflect.construct(n,t||[],_get_prototype_of(e).constructor):n.apply(e,t))}function _class_call_check(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _construct(e,n,t){return _construct=_is_native_reflect_construct()?Reflect.construct:function(e,n,t){var r=[null];r.push.apply(r,n);var o=new(Function.bind.apply(e,r));return t&&_set_prototype_of(o,t.prototype),o},_construct.apply(null,arguments)}function _define_property(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&_set_prototype_of(e,n)}function _instanceof(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function _is_native_function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,a=[],i=!0,s=!1;try{for(t=t.call(e);!(i=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);i=!0);}catch(e){s=!0,o=e}finally{try{i||null==t.return||t.return()}finally{if(s)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){_define_property(e,n,t[n])})}return e}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function _object_spread_props(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function _possible_constructor_return(e,n){return!n||"object"!==_type_of(n)&&"function"!=typeof n?_assert_this_initialized(e):n}function _set_prototype_of(e,n){return _set_prototype_of=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e},_set_prototype_of(e,n)}function _sliced_to_array(e,n){return _array_with_holes(e)||_iterable_to_array_limit(e,n)||_unsupported_iterable_to_array(e,n)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,n){if(e){if("string"==typeof e)return _array_like_to_array(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(e,n):void 0}}function _wrap_native_super(e){var n="function"==typeof Map?new Map:void 0;return _wrap_native_super=function(e){if(null===e||!_is_native_function(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return _construct(e,arguments,_get_prototype_of(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(t,e)},_wrap_native_super(e)}function _is_native_reflect_construct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_is_native_reflect_construct=function(){return!!e})()}function _ts_generator(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(i,"next",{value:c(0)}),s(i,"throw",{value:c(1)}),s(i,"return",{value:c(2)}),"function"==typeof Symbol&&s(i,Symbol.iterator,{value:function(){return this}}),i;function c(s){return function(c){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,s[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&s[0]?r.return:s[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,s[1])).done)return o;switch(r=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],r=0}finally{t=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function _ts_values(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var SourceCookieFirst=function(){var e=function(e,n){if("collector"===e)return"collector";if(!n)throw new Error("stepId(".concat(e,") requires an id"));return"".concat(e,".").concat(n)},n=function(e,n){var t=e.destinations[n];if(!t)throw new Error("Destination not found: ".concat(n));return t},t=function(e,n){var t=e.transformers[n];if(!t)throw new Error("Transformer not found: ".concat(n));return t},r=function(e,n){var t=e.sources[n];if(!t)throw new Error("Source not found: ".concat(n));return t},o=function(e,n){var t=e.stores[n];if(!t)throw new Error("Store not found: ".concat(n));return t},a=function(e){return{_meta:{hops:0,path:[e]}}},i=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},tn,t);var r=Object.entries(n).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],s=e[a];return t.merge&&Array.isArray(s)&&Array.isArray(i)?n[a]=i.reduce(function(e,n){return e.includes(n)?e:_to_consumable_array(e).concat([n])},_to_consumable_array(s)):(t.extend||a in e)&&(n[a]=i),n},{});return t.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},s=function(e){return Array.isArray(e)},c=function(e){return void 0!==e},u=function(e){return"function"==typeof e},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)},f=function(e){return"string"==typeof e},d=function(e,n,t){if(!l(e))return e;for(var r=rn(e),o=n.split("."),a=r,i=0;i<o.length;i++){var s=o[i];i===o.length-1?a[s]=t:(s in a&&"object"==_type_of(a[s])&&null!==a[s]||(a[s]={}),a=a[s])}return r},p=function(e){var n=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),t={},r=!e||0===Object.keys(e).length;return Object.keys(n).forEach(function(o){n[o]&&(t[o]=!0,e&&e[o]&&(r=!0))}),!!r&&t},_=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,n=arguments.length>1?arguments[1]:void 0;if(n){for(var t=n.length,r="",o=0;o<e;o++)r+=n[Math.random()*t|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},v=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},g=function(e,n){var t,r={};return _instanceof(e,Error)?(t=e.message,r.error=v(e)):t=e,void 0!==n&&(_instanceof(n,Error)?r.error=v(n):"object"==(void 0===n?"undefined":_type_of(n))&&null!==n?"error"in(r=_object_spread({},r,n))&&_instanceof(r.error,Error)&&(r.error=v(r.error)):r.value=n),{message:t,context:r}},y=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return cn({level:void 0!==n.level?(e=n.level,"string"==typeof e?nn[e]:e):0,handler:n.handler,jsonHandler:n.jsonHandler,scope:[]})},h=function(e){return un(e)?e:void 0},b=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!n)return;return n(e)}finally{null==t||t()}}},m=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),n?[4,n(r)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},w=function(e,n,t){return _async_to_generator(function(){var r,o,a,i,c,u,f,d,p,_;return _ts_generator(this,function(v){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],n&&a&&i?(u="",d=i,p=function(n){if(n)return(s(n)?n:[n]).find(function(n){if(!n.condition)return!0;if(!t)return Boolean(n.condition(e,void 0));var r={event:e,mapping:n,collector:t,logger:t.logger,consent:l(e)&&e.consent||t.consent};return Boolean(n.condition(e,r))})},n[f=a]||(f="*"),[2,((_=n[f])&&(_[d]||(d="*"),c=p(_[d])),c||(f="*",d="*",c=p(null===(r=n[f])||void 0===r?void 0:r[d])),c&&(u="".concat(f," ").concat(d)),{eventMapping:c,mappingKey:u})]):[2,{}]})})()},k=function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,u,f,d,p,_,v,g,y,h,b,w=arguments;return _ts_generator(this,function(k){switch(k.label){case 0:if(n=w.length>1&&void 0!==w[1]?w[1]:{},t=w.length>2&&void 0!==w[2]?w[2]:{},!c(e))return[2];if(a=l(e)&&e.consent||t.consent||(null===(o=t.collector)||void 0===o?void 0:o.consent),i=null!==(r=t.event)&&void 0!==r?r:l(e)?e:{},!t.collector)throw new Error("getMappingValue: context.collector is required");u={event:i,mapping:n,collector:t.collector,logger:t.collector.logger,consent:a},f=s(n)?n:[n],d=!0,p=!1,_=void 0,k.label=1;case 1:k.trys.push([1,6,7,8]),v=f[Symbol.iterator](),k.label=2;case 2:return(d=(g=v.next()).done)?[3,5]:(y=g.value,[4,m(fn,function(e){if(_instanceof(e,ln))throw e;t.collector&&t.collector.status.failed++,u.logger.error("mapping processing failed",{event:i,error:e})})(e,y,_object_spread_props(_object_spread({},u),{mapping:y}))]);case 3:if(h=k.sent(),c(h))return[2,h];k.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return b=k.sent(),p=!0,_=b,[3,8];case 7:try{d||null==v.return||v.return()}finally{if(p)throw _}return[7];case 8:return[2]}})}).apply(this,arguments)},j=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,c,u,f,p,_,v,g;return _ts_generator(this,function(y){switch(y.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:t,event:e})];case 1:return n=r.sent(),e=d(e,o,n),[2]}})})()}))]:[3,2];case 1:y.sent(),y.label=2;case 2:return[4,w(e,n.mapping,t)];case 3:return o=y.sent(),a=o.eventMapping,s=o.mappingKey,(null==a?void 0:a.policy)?[4,Promise.all(Object.entries(a.policy).map(function(n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:t,event:e})];case 1:return n=r.sent(),e=d(e,o,n),[2]}})})()}))]:[3,5];case 4:y.sent(),y.label=5;case 5:return(u=n.data)?[4,k(e,n.data,{collector:t,event:e})]:[3,7];case 6:u=y.sent(),y.label=7;case 7:return c=u,f=Boolean(null==a?void 0:a.silent),a?a.ignore?[2,{event:e,data:c,mapping:a,mappingKey:s,ignore:!0,silent:f}]:(a.name&&(e.name=a.name),a.data?(_=a.data)?[4,k(e,a.data,{collector:t,event:e})]:[3,9]:[3,10]):[3,10];case 8:_=y.sent(),y.label=9;case 9:p=_,c=l(c)&&l(p)?i(c,p):p,y.label=10;case 10:return(v=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:n.include)&&v.length>0&&(g=function(e,n){var t={},r=n.includes("all")?Object.keys(an):n,o=!0,a=!1,i=void 0;try{for(var s,c=r[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=s.value,f=an[u];if(f){var d=f(e),p=!0,_=!1,v=void 0;if(l(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(p=(g=y.next()).done);p=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if(void 0!==m){var w="context"===u&&Array.isArray(m)?m[0]:m;t["".concat(u,"_").concat(b)]=w}}}catch(e){_=!0,v=e}finally{try{p||null==y.return||y.return()}finally{if(_)throw v}}}}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}return t}(e,v),Object.keys(g).length>0&&(c=l(c)?i(g,c):null!=c?c:g)),[2,{event:e,data:c,mapping:a,mappingKey:s,ignore:!1,silent:f}]}})})()},O=function(e,n,t,r){return function(){for(var o=arguments.length,a=new Array(o),i=0;i<o;i++)a[i]=arguments[i];var s,c="pre"+n,u="post"+n,l=t[c],f=t[u],d=function(e,n){r?r.warn(e,{error:n}):console.warn(e,n)};if(l)try{s=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(n){d("Hook ".concat(String(c)," failed, falling back to original function"),n),s=e.apply(void 0,_to_consumable_array(a))}else s=e.apply(void 0,_to_consumable_array(a));if(f)try{s=f.apply(void 0,[{fn:e,result:s}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return s}},x=function(e){return e.map(function(e){var n,t;if("string"==typeof e)return{match:function(){return!0},next:{type:"static",value:e}};if(Array.isArray(e))return{match:function(){return!0},next:null!==(n=pn(e))&&void 0!==n?n:{type:"chain",value:[]}};var r=e;return{match:r.match?dn(r.match):function(){return!0},next:null!==(t=pn(r))&&void 0!==t?t:{type:"chain",value:[]}}})},S=function(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null==e)return[];if("object"==(void 0===e?"undefined":_type_of(e))){var r=_n.get(e);r?n=r:(n=pn(e))&&_n.set(e,n)}else n=pn(e);if(!n)return[];var o=vn(n,t);return void 0===o?[]:Array.isArray(o)?o:[o]},C=function(e,n){var t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t},A=function(e){var n;return{stop:null!==(n=e.stop)&&void 0!==n&&n,storeId:e.store,namespace:e.namespace,rules:e.rules.map(function(e){return{match:e.match?dn(e.match):function(){return!0},key:e.key,ttl:e.ttl,update:e.update}})}},E=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return(o=e.rules.find(function(e){return e.match(t)}))?(a=o.key.map(function(e){var n;return String(null!==(n=on(t,e))&&void 0!==n?n:"")})).every(function(e){return""===e})?[2,null]:(i=a.join(":"),s=null!=r?r:e.namespace,c=s?"".concat(s,":").concat(i):i,[4,n.get(c)]):[2,null];case 1:return[2,void 0!==(u=l.sent())?{status:"HIT",key:c,value:u,rule:o}:{status:"MISS",key:c,rule:o}]}})})()},q=function(e,n,t,r){e.set(n,t,1e3*r)},P=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,s,c,u,l,f,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(!n)return[2,e];o=e,a=!0,i=!1,s=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),c=Object.entries(n)[Symbol.iterator](),g.label=2;case 2:return(a=(u=c.next()).done)?[3,5]:(l=_sliced_to_array(u.value,2),f=l[0],p=l[1],_=[o,f],[4,k(t,p,{collector:r})]);case 3:o=d.apply(void 0,_.concat([g.sent()])),g.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),i=!0,s=v,[3,8];case 7:try{a||null==c.return||c.return()}finally{if(i)throw s}return[7];case 8:return[2,o]}})})()},M=function(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache},I=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s,c=_sliced_to_array(a.value,2),u=c[0],l=null===(s=c[1].config)||void 0===s?void 0:s.next;"string"==typeof l||Array.isArray(l)&&l.every(function(e){return"string"==typeof e})?n[u]={next:l}:n[u]={}}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}return n},D=function(e,n){var t=e.config||{},r=e[n];return void 0!==r?{config:_object_spread_props(_object_spread({},t),_define_property({},n,r)),chainValue:r}:{config:t,chainValue:void 0}},T=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var t=[],r=new Set,o=e;o&&n[o]&&!r.has(o);){r.add(o),t.push(o);var a=n[o].next;if(Array.isArray(a)){var i;(i=t).push.apply(i,_to_consumable_array(a));break}o=a}return t},R=function(e,n,t){return _async_to_generator(function(){var r,o,i,s;return _ts_generator(this,function(c){switch(c.label){case 0:return!n.init||n.config.init?[3,2]:(r=n.type||"unknown",o=e.logger.scope("transformer:".concat(r)),i={collector:e,logger:o,id:t,ingest:a(t),config:n.config,env:z(n.config.env)},o.debug("init"),[4,O(n.init,"TransformerInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=c.sent()))return[2,!1];n.config=_object_spread_props(_object_spread({},s||n.config),{env:(null==s?void 0:s.env)||n.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},N=function(e,n,t,r,o,a){return _async_to_generator(function(){var i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return i=n.type||"unknown",s=e.logger.scope("transformer:".concat(i)),c={collector:e,logger:s,id:t,ingest:o,config:n.config,env:_object_spread({},z(n.config.env),a?{respond:a}:{})},s.debug("push",{event:r.name}),[4,O(n.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(s.debug("push done"),u)]}})})()},F=function(e,n){return e?_object_spread_props(_object_spread({},e),{_meta:_object_spread_props(_object_spread({},e._meta),{path:_to_consumable_array(e._meta.path)})}):a(n)},z=function(e){return e&&l(e)?e:{}},B=function(e){return"string"==typeof e||!(!Array.isArray(e)||!e.every(function(e){return"string"==typeof e}))},G=function(e,n,t){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,p;return _ts_generator(this,function(_){switch(_.label){case 0:if(!n.on||!(null===(r=n.queueOn)||void 0===r?void 0:r.length))return[2];a=n.queueOn,n.queueOn=[],i=t||(null===(o=n.config)||void 0===o?void 0:o.id)||"unknown",s=!0,c=!1,u=void 0,_.label=1;case 1:_.trys.push([1,6,7,8]),l=function(){var t,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return t=d.value,r=t.type,o=t.data,[4,m(n.on,function(n){if(_instanceof(n,ln))throw n;e.status.failed++,e.logger.scope("source").error("source on flush failed",{sourceId:i,type:r,error:n})})(r,o)];case 1:return a.sent(),[2]}})},f=a[Symbol.iterator](),_.label=2;case 2:return(s=(d=f.next()).done)?[3,5]:[5,_ts_values(l())];case 3:_.sent(),_.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return p=_.sent(),c=!0,u=p,[3,8];case 7:try{s||null==f.return||f.return()}finally{if(c)throw u}return[7];case 8:return[2]}})})()},L=function(e){var n;return Boolean(e.config.init)&&!(null===(n=e.config.require)||void 0===n?void 0:n.length)},H=function(e,n,t){return _async_to_generator(function(){var r,o,i,s,c,u,l,f,d,p,_,v,g,y,h,b,w,j,O,x,D,R,N,z,G;return _ts_generator(this,function(L){switch(L.label){case 0:return o=t.code,i=t.config,s=void 0===i?{}:i,c=t.env,u=void 0===c?{}:c,l=t.primary,f=t.next,d=t.before,p=t.cache,v=(_=p)?A(_object_spread_props(_object_spread({},_),{stop:null===(r=_.stop)||void 0===r||r})):void 0,g=B(f)?T(f,I(e.transformers)):void 0,y=B(d)?T(d,I(e.transformers)):void 0,h=u.push,b=null!=h?h:e.push,w=Boolean(h),j=function(t,r,o){return _async_to_generator(function(){var a,i,c,u,l,p,_,h,k,j,O,x,A,D,R,N,z,B,G,L,H,W,U,K;return _ts_generator(this,function(V){switch(V.label){case 0:return i=null!=y?y:void 0!==d?function(){var n=S(d,C(o.ingest));return 0===n.length?[]:T(1===n.length?n[0]:n,I(e.transformers))}():[],c=[t],i.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,wn(e,e.transformers,i,t,o.ingest,o.respond,"source.".concat(n,".before"))]:[3,2];case 1:if(null===(u=V.sent()).event)return[2,{ok:!0}];if(u.stopped)return[2,(u.respond&&(o.respond=u.respond),{ok:!0})];u.respond&&(o.respond=u.respond),c=Array.isArray(u.event)?u.event:[u.event],V.label=2;case 2:return v&&(l=M(v,e))?(p=C(o.ingest),[4,E(v,l,p)]):[3,7];case 3:return(_=V.sent())?"HIT"===_.status&&void 0!==_.value&&v.stop?(k=_.value,_.rule.update?[4,P(k,_.rule.update,_object_spread_props(_object_spread({},p),{cache:{status:"HIT"}}),e)]:[3,5]):[3,6]:[3,7];case 4:k=V.sent(),V.label=5;case 5:return[2,(null===(h=o.respond)||void 0===h||h.call(o,k),{ok:!0})];case 6:"MISS"===_.status&&v.stop&&o.respond&&(j=o.respond,O=_.rule.update,x=_object_spread_props(_object_spread({},p),{cache:{status:"MISS"}}),A=_.key,D=_.rule.ttl,R=function(n){q(l,A,n,D),O?a=_async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,P(n,O,x,e)];case 1:return t=r.sent(),j(t),[2]}})})():j(n)},o.respond=R),"MISS"!==_.status||v.stop||q(l,_.key,!0,_.rule.ttl),V.label=7;case 7:N=g?{kind:"single",preChain:g}:void 0!==f?function(){var n=S(f,C(o.ingest));return 0===n.length?{kind:"single",preChain:[]}:1===n.length?{kind:"single",preChain:T(n[0],I(e.transformers))}:{kind:"many",branches:n.map(function(n){return T(n,I(e.transformers))})}}():{kind:"single",preChain:[]},z={ok:!0},B=!0,G=!1,L=void 0,V.label=8;case 8:V.trys.push([8,13,14,15]),H=function(){var t,a;return _ts_generator(this,function(i){switch(i.label){case 0:return t=U.value,"many"!==N.kind?[3,2]:[4,Promise.all(N.branches.map(function(a,i){return m(function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return[2,w?b(t):b(t,_object_spread_props(_object_spread({},r),{id:n,ingest:F(o.ingest,"".concat(n,".").concat(i)),respond:void 0,mapping:s,preChain:a}))]})})()},function(n){return e.logger.scope("source:many").error("many branch ".concat(i," failed"),{error:n}),{ok:!0}})()}))];case 1:return i.sent(),z={ok:!0},[3,7];case 2:return w?[4,b(t)]:[3,4];case 3:return a=i.sent(),[3,6];case 4:return[4,b(t,_object_spread_props(_object_spread({},r),{id:n,ingest:o.ingest,respond:o.respond,mapping:s,preChain:N.preChain}))];case 5:a=i.sent(),i.label=6;case 6:z=a,i.label=7;case 7:return[2]}})},W=c[Symbol.iterator](),V.label=9;case 9:return(B=(U=W.next()).done)?[3,12]:[5,_ts_values(H())];case 10:V.sent(),V.label=11;case 11:return B=!0,[3,9];case 12:return[3,15];case 13:return K=V.sent(),G=!0,L=K,[3,15];case 14:try{B||null==W.return||W.return()}finally{if(G)throw L}return[7];case 15:return a?[4,a]:[3,17];case 16:V.sent(),V.label=17;case 17:return[2,z]}})})()},O=function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(i){switch(i.label){case 0:return r=a(n),s.ingest&&void 0!==t?[4,k(t,s.ingest,{collector:e})]:[2,r];case 1:return o=i.sent(),[2,_object_spread_props(_object_spread({},r,o),{_meta:r._meta})]}})})()},x=e.logger.scope("source").scope(n),D=_object_spread_props(_object_spread({command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:x},u),{push:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r={ingest:a(n),respond:void 0},[2,j(e,t,r)]})})()}}),R={collector:e,logger:x,id:n,config:s,env:D,withScope:function(e,n,t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return o={},[4,O(e)];case 1:return o.ingest=a.sent(),o.respond=n,r=o,[2,t(_object_spread_props(_object_spread({},D),{push:function(e){return j(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r)},ingest:r.ingest,respond:r.respond}))]}})})()}},[4,m(o,function(t){if(_instanceof(t,ln))throw t;e.status.failed++,e.logger.scope("source").error("source factory failed",{sourceId:n,error:t})})(R)];case 1:return(N=L.sent())?(z=N.type||"unknown",G=e.logger.scope(z).scope(n),[2,(D.logger=G,l&&(N.config=_object_spread_props(_object_spread({},N.config),{primary:l})),N)]):[2]}})})()},W=function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,s,c,u,l,f,d,p,_,v,g,y,h,b,w,k=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:n=k.length>1&&void 0!==k[1]?k[1]:{},t={},r=!0,o=!1,a=void 0,j.label=1;case 1:j.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),j.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],[4,H(e,u,l)]);case 3:if(!(d=j.sent()))return[3,4];p=null===(f=l.config)||void 0===f?void 0:f.require,d.config=_object_spread(_object_spread_props(_object_spread({},d.config),{init:!1}),p?{require:_to_consumable_array(p)}:{}),t[u]=d,j.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return w=j.sent(),o=!0,a=w,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:Object.assign(e.sources,t),_=!0,v=!1,g=void 0,j.label=9;case 9:j.trys.push([9,14,15,16]),y=function(){var n,t,r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return n=b.value,t=e.sources[n],r=!1,t.init?[4,m(t.init.bind(t),function(t){if(_instanceof(t,ln))throw t;r=!0,e.status.failed++,e.logger.scope("source").error("source init failed",{sourceId:n,error:t})})()]:[3,2];case 1:a.sent(),a.label=2;case 2:return r?[3,5]:(t.config.init=!0,(o=L(t))?[4,G(e,t,n)]:[3,4]);case 3:o=a.sent(),a.label=4;case 4:a.label=5;case 5:return[2]}})},h=Object.keys(t)[Symbol.iterator](),j.label=10;case 10:return(_=(b=h.next()).done)?[3,13]:[5,_ts_values(y())];case 11:j.sent(),j.label=12;case 12:return _=!0,[3,10];case 13:return[3,16];case 14:return w=j.sent(),v=!0,g=w,[3,16];case 15:try{_||null==h.return||h.return()}finally{if(v)throw g}return[7];case 16:return[2,t]}})}).apply(this,arguments)},U=function(e,n,t,r){if(_instanceof(t,ln))throw t;e.logger.scope("on").error("on callback failed",_object_spread_props(_object_spread({kind:n},r),{error:t}))},K=function(e,n){return{collector:e,logger:e.logger.scope("on").scope(String(n))}},V=function(e,n,t){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=e.on,o=r[n]||[],(a=s(t)?t:[t]).forEach(function(e){o.push(e)}),r[n]=o,$(e,n,a),[2]})})()},Y=function(e,n,t,r,o){if(n.on){var a=n.type||"unknown",i=e.logger.scope(a).scope("on").scope(r),s={collector:e,logger:i,id:t,config:n.config,data:o,env:de(n.env,n.config.env)};b(n.on,function(n){return U(e,"destination",n,{destId:t,type:r})})(r,s)}},$=function(e,n,t,r){var o,a,i,s,c;switch(n){case mn.Commands.Consent:o=r||e.consent;break;case mn.Commands.Session:o=e.session;break;case mn.Commands.User:o=r||e.user;break;case mn.Commands.Custom:o=r||e.custom;break;case mn.Commands.Globals:o=r||e.globals;break;case mn.Commands.Config:o=r||e.config;break;case mn.Commands.Ready:case mn.Commands.Run:default:o=void 0}if(t.length)switch(n){case mn.Commands.Consent:a=e,i=t,s=r||a.consent,c=K(a,mn.Commands.Consent),i.forEach(function(e){Object.keys(s).filter(function(n){return n in e}).forEach(function(n){b(e[n],function(e){return U(a,"consent",e,{key:n})})(s,c)})});break;case mn.Commands.Ready:!function(e,n){if(e.allowed){var t=K(e,mn.Commands.Ready);n.forEach(function(n){b(n,function(n){return U(e,"ready",n)})(void 0,t)})}}(e,t);break;case mn.Commands.Run:!function(e,n){if(e.allowed){var t=K(e,mn.Commands.Run);n.forEach(function(n){b(n,function(n){return U(e,"run",n)})(void 0,t)})}}(e,t);break;case mn.Commands.Session:!function(e,n){if(e.session){var t=K(e,mn.Commands.Session);n.forEach(function(n){b(n,function(n){return U(e,"session",n)})(e.session,t)})}}(e,t);break;default:var u=K(e,n);t.forEach(function(t){"function"==typeof t&&b(t,function(t){return U(e,"generic",t,{type:n})})(o,u)})}},J=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,s,c,u,l,f,d,p,_,v,g,y,h,b,w,k,j;return _ts_generator(this,function(O){switch(O.label){case 0:switch(i=t||[],t||(i=e.on[n]||[]),n){case mn.Commands.Consent:a=r||e.consent;break;case mn.Commands.Session:a=e.session;break;case mn.Commands.User:a=r||e.user;break;case mn.Commands.Custom:a=r||e.custom;break;case mn.Commands.Globals:a=r||e.globals;break;case mn.Commands.Config:a=r||e.config;break;case mn.Commands.Ready:case mn.Commands.Run:default:a=void 0}s=!1,c=!0,u=!1,l=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),f=function(){var t,r,o,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return t=_sliced_to_array(p.value,2),r=t[0],o=t[1],(null===(i=o.config.require)||void 0===i?void 0:i.length)&&-1!==(c=o.config.require.indexOf(n))&&o.config.require.splice(c,1),o.on?L(o)?(u=!1,[4,m(o.on,function(t){return U(e,"source",t,{sourceId:r,type:n})})(n,a)]):[3,2]:[3,3];case 1:return u===l.sent()&&(s=!0),[3,3];case 2:o.queueOn=o.queueOn||[],o.queueOn.push({type:n,data:a}),l.label=3;case 3:return[2]}})},d=Object.entries(e.sources)[Symbol.iterator](),O.label=2;case 2:return(c=(p=d.next()).done)?[3,5]:[5,_ts_values(f())];case 3:O.sent(),O.label=4;case 4:return c=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),u=!0,l=j,[3,8];case 7:try{c||null==d.return||d.return()}finally{if(u)throw l}return[7];case 8:Object.entries(e.destinations).forEach(function(t){var r=_sliced_to_array(t,2),o=r[0],i=r[1];if(i.on){if(!i.config.init)return i.queueOn=i.queueOn||[],void i.queueOn.push({type:n,data:a});Y(e,i,o,n,a)}}),_=!0,v=!1,g=void 0,O.label=9;case 9:O.trys.push([9,15,16,17]),y=Object.entries(e.sources)[Symbol.iterator](),O.label=10;case 10:return(_=(h=y.next()).done)?[3,14]:(b=_sliced_to_array(h.value,2),w=b[0],k=b[1],L(k)&&(null===(o=k.queueOn)||void 0===o?void 0:o.length)?[4,G(e,k,w)]:[3,12]);case 11:O.sent(),O.label=12;case 12:O.label=13;case 13:return _=!0,[3,10];case 14:return[3,17];case 15:return j=O.sent(),v=!0,g=j,[3,17];case 16:try{_||null==y.return||y.return()}finally{if(v)throw g}return[7];case 17:return Object.keys(e.pending.destinations).length>0?[4,function(e,n){return _async_to_generator(function(){var t,r,o,a,i,s,c,u,l,f,d,p;return _ts_generator(this,function(_){t=!0,r=!1,o=void 0;try{for(a=Object.entries(e.pending.destinations)[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)s=_sliced_to_array(i.value,2),c=s[0],u=s[1],e.pending.destinations[c]&&!e.destinations[c]&&(f=null===(l=u.config)||void 0===l?void 0:l.require)&&-1!==(d=f.indexOf(n))&&(f.splice(d,1),f.length>0||(delete e.pending.destinations[c],!1!==(p=le(u)).config.queue&&(p.queuePush=_to_consumable_array(e.queue)),e.destinations[c]=p))}catch(e){r=!0,o=e}finally{try{t||null==a.return||a.return()}finally{if(r)throw o}}return[2]})})()}(e,n)]:[3,19];case 18:O.sent(),O.label=19;case 19:return[2,($(e,n,i,r),!s)]}})})()},Z=function(e,n,t,r){var o;if(!Number.isFinite(t.max)||t.max<=0)throw new Error("pushBounded: max must be > 0 (got ".concat(t.max,")"));if("dropNewest"===(null!==(o=t.onOverflow)&&void 0!==o?o:"dropOldest"))return e.length>=t.max?(r&&r([n]),{appended:!1,dropped:1}):(e.push(n),{appended:!0,dropped:0});for(var a=[];e.length>=t.max;)a.push(e.shift());return e.push(n),a.length>0&&r&&r(a),{appended:!0,dropped:a.length}},Q=function(e,n,t,r){jn.get(e)||(jn.set(e,!0),n.warn(t,r))},X=function(e){jn.delete(e)},ee=function(e){return e===On},ne=function(e){return void 0===e?{}:"number"==typeof e?{wait:e}:{wait:e.wait,size:e.size,age:e.age}},te=function(e,n){return e.status.destinations[n]||(e.status.destinations[n]={count:0,failed:0,duration:0,queuePushSize:0,dlqSize:0}),e.status.destinations[n]},re=function(e,n,t,r){var o;e.dropped[n]||(e.dropped[n]={});var a=e.dropped[n];return a[t]=(null!==(o=a[t])&&void 0!==o?o:0)+r,a[t]},oe=function(e,n,t){if(!e)return[];if(Array.isArray(e)&&e.every(function(e){return"string"==typeof e}))return T(e,n);if("string"==typeof e)return T(e,n);var r=S(e,C(t));return 0===r.length?[]:1===r.length?T(r[0],n):T(r,n)},ae=function(e,n){return _async_to_generator(function(){var t,r,o,a,i,s,c,l,f,d,p,v;return _ts_generator(this,function(g){if(t=n.code,r=n.config,o=void 0===r?{}:r,a=n.env,i=void 0===a?{}:a,s=n.before,c=n.next,l=n.cache,!u(t.push))return[2,ue({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(f=o||{init:!1},d=s?_object_spread_props(_object_spread({},f),{before:s}):_object_spread({},f),c&&(d=_object_spread_props(_object_spread({},d),{next:c})),l&&(d=_object_spread_props(_object_spread({},d),{cache:l})),p=_object_spread_props(_object_spread({},t),{config:d,env:de(t.env,i)}),!(v=p.config.id))do{v=_(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[v]);return[2,(e.destinations[v]=p,!1!==p.config.queue&&(p.queuePush=_to_consumable_array(e.queue)),ie(e,void 0,{},_define_property({},v,p)))]})})()},ie=function(n,t,r){return _async_to_generator(function(n,t){var r,o,s,c,u,l,f,d,_,v,g,y,h,b,w,k,j,O,x,S,P,D,T,R,N,F,z,B,G,L,H,W,U=arguments;return _ts_generator(this,function(K){switch(K.label){case 0:if(r=U.length>2&&void 0!==U[2]?U[2]:{},o=U.length>3?U[3]:void 0,s=n.allowed,c=n.consent,u=n.globals,l=n.user,!s)return[2,ue({ok:!1})];if(t){if(void 0===(f=n.config.queueMax))throw new Error("Collector.Config.queueMax is undefined; defaults must be seeded by collector()");(d=Z(n.queue,t,{max:f})).dropped>0?(_=re(n.status,e("collector"),"queue",d.dropped),Q(n.queue,n.logger,"collector.queue overflow; oldest events dropped",{buffer:"queue",cap:f,droppedCount:_})):n.queue.length<f&&X(n.queue),n.status.in++}return o||(o=n.destinations),v=n.transformers?I(n.transformers):{},[4,Promise.all(Object.entries(o||{}).map(function(o){var s=_sliced_to_array(o,2),f=s[0],d=s[1];return _async_to_generator(function(){var o,s,_,g,y,h,b,w,k,j,O,x,S,P,I,D,T,R,N,F,z,B,G,L,H,W,U,K,V,Y,$,J,ne,ae;return _ts_generator(this,function(ie){switch(ie.label){case 0:if(d.config.disabled)return[2,{id:f,destination:d,skipped:!0}];if(g=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:c})}),d.queuePush=[],t&&g.push(rn(t)),y=r.ingest?_object_spread_props(_object_spread({},r.ingest),{_meta:_object_spread_props(_object_spread({},r.ingest._meta),{path:_to_consumable_array(r.ingest._meta.path)})}):a("unknown"),!g.length&&!(null===(o=d.queueOn)||void 0===o?void 0:o.length))return[2,{id:f,destination:d,skipped:!0}];if(g.length||!(null===(s=d.queueOn)||void 0===s?void 0:s.length))return[3,5];h=!1,ie.label=1;case 1:return ie.trys.push([1,3,,4]),[4,se(n,d,f)];case 2:return h=ie.sent(),[3,4];case 3:return b=ie.sent(),n.status.failed++,w=d.type||"unknown",n.logger.scope(w).error("destination init failed",{error:_instanceof(b,Error)?b.message:String(b)}),[3,4];case 4:return[2,{id:f,destination:d,skipped:!h}];case 5:if(k=[],j=g.filter(function(e){var n=p(d.config.consent,c,e.consent);return!n||(e.consent=n,k.push(e),!1)}),j.length>0){x=d.queuePush,S=d.config.id||f,P={max:null!==(O=d.config.queueMax)&&void 0!==O?O:1e3},I=0,D=!0,T=!1,R=void 0;try{for(N=j[Symbol.iterator]();!(D=(F=N.next()).done);D=!0)z=F.value,I+=Z(x,z,P).dropped}catch(e){T=!0,R=e}finally{try{D||null==N.return||N.return()}finally{if(T)throw R}}I>0?(te(n,S),B=re(n.status,e("destination",S),"queue",I),Q(x,n.logger.scope(d.type||"unknown"),"destination.queuePush overflow; oldest events dropped",{buffer:"queuePush",destination:S,cap:P.max,droppedCount:B})):x.length<P.max&&X(x)}if(!k.length)return[2,{id:f,destination:d,queue:g}];H=!1,ie.label=6;case 6:return ie.trys.push([6,8,,9]),[4,se(n,d,f)];case 7:return H=ie.sent(),[3,9];case 8:return W=ie.sent(),n.status.failed++,U=d.type||"unknown",n.logger.scope(U).error("destination init failed",{error:_instanceof(W,Error)?W.message:String(W)}),[3,9];case 9:return H?(d.dlq||(d.dlq=[]),K=oe(d.config.before,v,y),V=d.config.next,Y=null===(_=d.config)||void 0===_?void 0:_.cache,$=Y?A(Y):void 0,J=$?M($,n):void 0,ne=0,ae=0,[4,Promise.all(k.map(function(t){return _async_to_generator(function(){var o,a,s,c,p,_,g,h,b,w,k,j,O;return _ts_generator(this,function(x){switch(x.label){case 0:return t.globals=i(u,t.globals),t.user=i(l,t.user),(null==$?void 0:$.stop)&&J?(a=C(y,t),[4,E($,J,a)]):[3,2];case 1:if("HIT"===(null==(s=x.sent())?void 0:s.status))return[2,t];"MISS"===(null==s?void 0:s.status)&&(o={key:s.key,ttl:s.rule.ttl}),x.label=2;case 2:return c=t,p=r.respond,K.length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,wn(n,n.transformers,K,t,y,r.respond,"destination.".concat(f,".before"))]:[3,4];case 3:if(null===(_=x.sent()).event)return[2,t];_.respond&&(p=_.respond),c=Array.isArray(_.event)?_.event[0]:_.event,x.label=4;case 4:return $&&!$.stop&&J?(g=C(y,c),[4,E($,J,g)]):[3,6];case 5:if("HIT"===(null==(h=x.sent())?void 0:h.status))return[2,t];"MISS"===(null==h?void 0:h.status)&&(o={key:h.key,ttl:h.rule.ttl}),x.label=6;case 6:return b=Date.now(),w=!1,[4,m(ce,function(t){var r,o=d.type||"unknown";n.logger.scope(o).error("Push failed",{error:t,event:c.name}),G=t,w=!0;var a=d.dlq,i=d.config.id||f,s={max:null!==(r=d.config.dlqMax)&&void 0!==r?r:100},u=Z(a,[c,t],s);if(u.dropped>0){te(n,i);var l=re(n.status,e("destination",i),"dlq",u.dropped);Q(a,n.logger.scope(d.type||"unknown"),"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:i,cap:s.max,droppedCount:l})}else a.length<s.max&&X(a)})(n,d,f,c,y,p)];case 7:return k=x.sent(),ne+=Date.now()-b,o&&J&&void 0===d.config.mock&&q(J,o.key,null==k||k,o.ttl),void 0===k||ee(k)||(L=k),ee(k)&&ae++,w||!V?[3,9]:(void 0!==k&&(y._response=k),(j=oe(V,v,y)).length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,wn(n,n.transformers,j,c,y,p,"destination.".concat(f,".next"))]:[3,9]);case 8:(O=x.sent()).respond&&(p=O.respond),x.label=9;case 9:return[2,t]}})})()}))]):[2,{id:f,destination:d,queue:g}];case 10:return[2,(ie.sent(),{id:f,destination:d,error:G,response:L,totalDuration:ne,batchedCount:ae,allowedCount:k.length})]}})})()}))];case 1:g=K.sent(),y={},h={},b={},w=!0,k=!1,j=void 0;try{for(O=g[Symbol.iterator]();!(w=(x=O.next()).done);w=!0)(S=x.value).skipped||(N=S.destination,F={type:N.type||"unknown",data:S.response},te(n,S.id),z=n.status.destinations[S.id],B=Date.now(),z.queuePushSize=null!==(P=null===(T=N.queuePush)||void 0===T?void 0:T.length)&&void 0!==P?P:0,z.dlqSize=null!==(D=null===(R=N.dlq)||void 0===R?void 0:R.length)&&void 0!==D?D:0,S.error?(F.error=S.error,b[S.id]=F,z.failed++,z.lastAt=B,z.duration+=S.totalDuration||0,n.status.failed++):S.queue&&S.queue.length?h[S.id]=F:(H=null!==(G=S.batchedCount)&&void 0!==G?G:0,W=null!==(L=S.allowedCount)&&void 0!==L?L:0,(Math.max(0,W-H)>0||0===W)&&(y[S.id]=F,z.count++,z.lastAt=B,z.duration+=S.totalDuration||0,n.status.out++)))}catch(e){k=!0,j=e}finally{try{w||null==O.return||O.return()}finally{if(k)throw j}}return[2,ue(_object_spread({event:t},Object.keys(y).length&&{done:y},Object.keys(h).length&&{queued:h},Object.keys(b).length&&{failed:b}))]}})}).apply(this,arguments)},se=function(e,n,t){return _async_to_generator(function(){var r,o,a,i,s,c,u,l,f,d,p,_,v,g;return _ts_generator(this,function(y){switch(y.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=e.logger.scope(o),i={collector:e,logger:a,id:t,config:n.config,env:de(n.env,n.config.env)},a.debug("init"),[4,O(n.init,"DestinationInit",e.hooks,e.logger)(i)]);case 1:if(!1===(s=y.sent()))return[2,s];if(n.config=_object_spread_props(_object_spread({},s||n.config),{init:!0}),null===(r=n.queueOn)||void 0===r?void 0:r.length){c=n.queueOn,n.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(p=d.next()).done);u=!0)_=p.value,v=_.type,g=_.data,Y(e,n,t,v,g)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},ce=function(n,t,r,o,a,i){return _async_to_generator(function(){var s,u,l,f,d,p,_,v,g,y,h,b,w,k,x,S,C,A,E,q,P,M,I,D,T,R;return _ts_generator(this,function(N){switch(N.label){case 0:return s=t.config,[4,j(o,s,n)];case 1:return(u=N.sent()).ignore?[2,!1]:(l=t.type||"unknown",f=n.logger.scope(l),d={collector:n,logger:f,id:r,config:s,data:u.data,rule:u.mapping,ingest:a,env:_object_spread({},de(t.env,s.env),i?{respond:i}:{})},void 0!==s.mock?[2,(f.debug("mock",{event:u.event.name}),s.mock)]:(p=u.mapping,_=u.mappingKey||"* *",(null==p?void 0:p.batch)&&t.pushBatch&&void 0===s.mock?(t.batches=t.batches||{},t.batches[_]||(x={key:_,entries:[],events:[],data:[]},S=ne(p.batch),C=ne(s.batch),A=null!==(g=null!==(y=S.wait)&&void 0!==y?y:C.wait)&&void 0!==g?g:3e4,E=null!==(h=null!==(b=S.size)&&void 0!==b?b:C.size)&&void 0!==h?h:1e3,q=null!==(w=null!==(k=S.age)&&void 0!==k?k:C.age)&&void 0!==w?w:3e4,P=de(t.env,s.env),M=function(e){var n,t,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=function(e,n){var t;return"number"==typeof e?{wait:e}:e?{wait:null!==(t=e.wait)&&void 0!==t?t:n,size:e.size,age:e.age}:{wait:n}}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,1e3),a=o.wait,i=o.size,s=o.age,c=null,u=null,l=!1,f=[],d=0,p=function(){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),d=0,t=void 0},_=function(){var r=t,o=f;if(p(),f=[],r)return n=e.apply(void 0,_to_consumable_array(r)),o.forEach(function(e){return e(n)}),n;o.forEach(function(e){return e(void 0)})},v=function(){for(var o=arguments.length,p=new Array(o),v=0;v<o;v++)p[v]=arguments[v];return new Promise(function(o){var v=r&&!l;if(t=p,d+=1,f.push(o),c&&clearTimeout(c),c=setTimeout(function(){c=null,r&&!l||_()},a),void 0===s||u||(u=setTimeout(function(){u=null,_()},s)),void 0!==i&&d>=i)_();else if(v){l=!0,n=e.apply(void 0,_to_consumable_array(p));var g=f;f=[],g.forEach(function(e){return e(n)})}})};return v.flush=function(){return t||0!==f.length?new Promise(function(e){f.push(e),_()}):Promise.resolve(void 0)},v.cancel=function(){var e=f;f=[],p(),e.forEach(function(e){return e(void 0)})},v.size=function(){return d},v}(function(){return _async_to_generator(function(){var o,a,i,c,u,l,d,p;return _ts_generator(this,function(v){switch(v.label){case 0:return 0===(a=t.batches[_].batched).entries.length?[2]:(i={key:a.key,entries:a.entries,events:a.events,data:a.data},a.entries=[],a.events=[],a.data=[],c=i.entries[0],u={collector:n,logger:f,id:r,config:s,data:void 0,rule:c.rule,ingest:c.ingest,env:_object_spread({},P,c.respond?{respond:c.respond}:{})},f.debug("push batch",{events:i.entries.length}),l=t.config.id||r,d=te(n,l),p=!0,[4,m(O(t.pushBatch,"DestinationPushBatch",n.hooks,n.logger),function(r){var o;p=!1;var a=t.dlq=t.dlq||[],s={max:null!==(o=t.config.dlqMax)&&void 0!==o?o:100},c=0,u=!0,_=!1,v=void 0;try{for(var g,y=i.entries[Symbol.iterator]();!(u=(g=y.next()).done);u=!0){var h=g.value;c+=Z(a,[h.event,r],s).dropped}}catch(e){_=!0,v=e}finally{try{u||null==y.return||y.return()}finally{if(_)throw v}}if(c>0){var b=re(n.status,e("destination",l),"dlq",c);Q(a,f,"destination.dlq overflow; oldest entries dropped",{buffer:"dlq",destination:l,cap:s.max,droppedCount:b})}else a.length<s.max&&X(a);d.failed+=i.entries.length,d.dlqSize=a.length,n.status.failed+=i.entries.length,f.error("Push batch failed",{error:_instanceof(r,Error)?r.message:String(r),entries:i.entries.length})})(i,u)]);case 1:return v.sent(),f.debug("push batch done"),d.inFlightBatch=Math.max(0,(null!==(o=d.inFlightBatch)&&void 0!==o?o:0)-i.entries.length),p&&(d.count+=i.entries.length,d.lastAt=Date.now(),n.status.out+=i.entries.length),[2]}})})()},{wait:A,size:E,age:q}),t.batches[_]={batched:x,batchFn:function(){M()},flush:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){switch(e.label){case 0:return[4,M.flush()];case 1:return e.sent(),[2]}})})()}}),(I=t.batches[_]).batched.entries.push({event:u.event,ingest:a,respond:i,rule:p,data:u.data}),I.batched.events.push(u.event),c(u.data)&&I.batched.data.push(u.data),D=t.config.id||r,[2,((T=te(n,D)).inFlightBatch=(null!==(v=T.inFlightBatch)&&void 0!==v?v:0)+1,I.batchFn(),On)]):(f.debug("push",{event:u.event.name}),[4,O(t.push,"DestinationPush",n.hooks,n.logger)(u.event,d)])));case 2:return R=N.sent(),[2,(f.debug("push done"),R)]}})})()},ue=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},le=function(e){var n=e.code,t=e.config,r=void 0===t?{}:t,o=e.env,a=void 0===o?{}:o,i=e.cache,s=D(e,"before").config,c=D(_object_spread_props(_object_spread({},e),{config:s}),"next").config,u=_object_spread({},n.config,r,c);i&&(u.cache=i);var l=de(n.env,a);return _object_spread_props(_object_spread({},n),{config:u,env:l})},fe=function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,s,c,u,l,f,d,p=arguments;return _ts_generator(this,function(_){n=p.length>1&&void 0!==p[1]?p[1]:{},o={},a=!0,i=!1,s=void 0;try{for(c=Object.entries(n)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(t=r.require)||void 0===t?void 0:t.length)?e.pending.destinations[f]=d:o[f]=le(d)}catch(e){i=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw s}}return[2,o]})}).apply(this,arguments)},de=function(e,n){return e||n?n?e&&l(e)&&l(n)?_object_spread({},e,n):n:e:{}},pe=function(e,n,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,i,s,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];i=a.type||"unknown",s=t.scope(i),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:s},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,t){return setTimeout(function(){return t(new Error("".concat(n," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),s.error("".concat(n," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},_e=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,c,d,p,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=!1,n){case mn.Commands.Config:return[3,1];case mn.Commands.Consent:return[3,2];case mn.Commands.Custom:return[3,3];case mn.Commands.Destination:return[3,4];case mn.Commands.Globals:return[3,7];case mn.Commands.Hook:return[3,8];case mn.Commands.On:return[3,9];case mn.Commands.Ready:return[3,12];case mn.Commands.Run:return[3,13];case mn.Commands.Session:return[3,15];case mn.Commands.Shutdown:return[3,16];case mn.Commands.User:return[3,18]}return[3,19];case 1:return l(t)&&(i(e.config,t,{shallow:!1}),o=t,a=!0),[3,19];case 2:return l(t)&&(s=function(e,n){var t={};return Object.entries(n).forEach(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1];t[r]=!!o}),e.consent=i(e.consent,t),{update:t}}(e,t),c=s.update,o=c,a=!0),[3,19];case 3:return l(t)&&(e.custom=i(e.custom,t),o=t,a=!0),[3,19];case 4:return l(t)&&"code"in t&&l(t.code)?[4,ae(e,t)]:[3,6];case 5:r=g.sent(),g.label=6;case 6:return[3,19];case 7:return l(t)&&(e.globals=i(e.globals,t),o=t,a=!0),[3,19];case 8:return l(t)&&f(t.name)&&u(t.fn)&&(d=t.name,p=t.fn,e.hooks[d]=p,o=t,a=!0),[3,19];case 9:return l(t)&&f(t.type)?(_=t.type,v=t.rules,[4,V(e,_,v)]):[3,11];case 10:g.sent(),g.label=11;case 11:return[3,19];case 12:return a=!0,[3,19];case 13:return[4,ge(e,t)];case 14:return r=g.sent(),a=!0,[3,19];case 15:return a=!0,[3,19];case 16:return[4,(y=e,_async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=y.logger,[4,pe(y.sources,"source",e)];case 1:return n.sent(),[4,pe(y.destinations,"destination",e)];case 2:return n.sent(),[4,pe(y.transformers,"transformer",e)];case 3:return n.sent(),[4,pe(y.stores,"store",e)];case 4:return n.sent(),[2]}})})())];case 17:return g.sent(),[3,19];case 18:l(t)&&(i(e.user,t,{shallow:!1}),o=t,a=!0),g.label=19;case 19:return a?[4,J(e,n,void 0,o)]:[3,22];case 20:return g.sent(),[4,ie(e)];case 21:r=g.sent(),g.label=22;case 22:return[2,r||ue({ok:!0})]}var y})})()},ve=function(e,n){if(!n.name)throw new Error("Event name is required");var t=_sliced_to_array(n.name.split(" "),2),r=t[0],o=t[1];if(!r||!o)throw new Error("Event name is invalid");var a=n.timestamp,i=void 0===a?Date.now():a,s=n.name,c=void 0===s?"".concat(r," ").concat(o):s,u=n.data,l=void 0===u?{}:u,f=n.context,d=void 0===f?{}:f,p=n.globals,_=void 0===p?e.globals:p,v=n.custom,g=void 0===v?{}:v,y=n.user,h=void 0===y?e.user:y,b=n.nested,m=void 0===b?[]:b,w=n.consent,k=void 0===w?e.consent:w,j=n.id,O=void 0===j?function(){for(var e="",n=0;n<16;n++)e+=(16*Math.random()|0).toString(16);return e}():j,x=n.trigger,S=void 0===x?"":x,C=n.entity,A=void 0===C?r:C,E=n.action,q=void 0===E?o:E,P=n.timing,M=void 0===P?0:P,I=n.source;return{name:c,data:l,context:d,globals:_,custom:g,user:h,nested:m,consent:k,id:O,trigger:S,entity:A,action:q,timestamp:i,timing:M,source:void 0===I?{type:"collector",schema:"4"}:I}},ge=function(e,n){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(t.label){case 0:return e.allowed=!0,e.timing=Date.now(),n&&(n.consent&&(e.consent=i(e.consent,n.consent)),n.user&&(e.user=i(e.user,n.user)),n.globals&&(e.globals=i(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=i(e.custom,n.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,ie(e)];case 1:return[2,t.sent()]}})})()},ye=function(){var e,n,t,r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=null!==(e=o.maxEntries)&&void 0!==e?e:1e4,i=null!==(n=o.lowWaterMark)&&void 0!==n?n:.8,s=null!==(t=o.sweepIntervalMs)&&void 0!==t?t:6e4,c=Math.floor(a*i),u=new Map,l={hits:0,misses:0,populates:0,writes:0,deletes:0,evictions_entries:0,evictions_ttl:0};return s>0&&((r=setInterval(function(){var e=Date.now(),n=0,t=!0,r=!1,o=void 0;try{for(var a,i=u[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=_sliced_to_array(a.value,2),c=s[0],f=s[1];void 0!==f.expires&&f.expires<=e&&(u.delete(c),n++)}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}l.evictions_ttl+=n},s))&&"function"==typeof r.unref&&r.unref()),{type:"memory",config:{},get:function(e){var n=u.get(e);if(n)return void 0!==n.expires&&n.expires<=Date.now()?(u.delete(e),l.evictions_ttl++,void l.misses++):(u.delete(e),u.set(e,n),l.hits++,n.value);l.misses++},set:function(e,n,t){var r=!u.has(e);r||u.delete(e),u.set(e,{value:n,expires:void 0!==t?Date.now()+t:void 0}),l.writes++,r&&l.populates++,u.size>a&&function(){if(!(u.size<=a)){var e=u.size-c,n=0,t=!0,r=!1,o=void 0;try{for(var i,s=u.keys()[Symbol.iterator]();!(t=(i=s.next()).done);t=!0){var f=i.value;if(n>=e)break;u.delete(f),n++}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}l.evictions_entries+=n}}()},delete:function(e){u.delete(e)&&l.deletes++},get counters(){return _object_spread({},l)},destroy:function(){void 0!==r&&(clearInterval(r),r=void 0),u.clear()}}},he=function(e,n){var t=n.cacheConfig,r=n.cacheStore,o=n.namespace,a=n.logger,i=n.storeId,s={hits:0,misses:0,populates:0,writes:0,deletes:0,inflight_dedups:0},c=t.rules.map(function(e){return{match:e.match?dn(e.match):function(){return!0},ttl:e.ttl}}),u=function(e){return"".concat(o,":").concat(e)};function l(e,n){var t=void 0===n?{key:e}:{key:e,value:n};return c.find(function(e){return e.match(t)})}var f=new Map;return{type:e.type,config:e.config,setup:e.setup,get counters(){return _object_spread({},s)},get:function(n){return _async_to_generator(function(){var t,o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return t=u(n),[4,r.get(t)];case 1:return void 0!==(o=c.sent())?[2,(s.hits++,o)]:(a=f.get(t))?[2,(s.inflight_dedups++,a)]:(s.misses++,i=_async_to_generator(function(){var o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return c.trys.push([0,,6,7]),[4,e.get(n)];case 1:if(void 0===(o=c.sent()))return[2];if(!(a=l(n,o)))return[3,5];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,r.set(t,o,1e3*a.ttl)];case 3:return c.sent(),s.populates++,[3,5];case 4:return i=c.sent(),d("set",n,i),[3,5];case 5:return[2,o];case 6:return f.delete(t),[7];case 7:return[2]}})})(),[2,(f.set(t,i),i)])}})})()},set:function(n,t,o){return _async_to_generator(function(){var a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return s.writes++,[4,e.set(n,t,o)];case 1:if(c.sent(),!(a=l(n,t)))return[3,5];c.label=2;case 2:return c.trys.push([2,4,,5]),[4,r.set(u(n),t,1e3*a.ttl)];case 3:return c.sent(),[3,5];case 4:return i=c.sent(),d("set",n,i),[3,5];case 5:return[2]}})})()},delete:function(n){return _async_to_generator(function(){var t;return _ts_generator(this,function(o){switch(o.label){case 0:return s.deletes++,[4,e.delete(n)];case 1:o.sent(),o.label=2;case 2:return o.trys.push([2,4,,5]),[4,r.delete(u(n))];case 3:return o.sent(),[3,5];case 4:return t=o.sent(),d("delete",n,t),[3,5];case 5:return[2]}})})()}};function d(e,n,t){var r="store-cache(".concat(i,"): cache ").concat(e,' failed for "').concat(n,'"; backing succeeded, continuing');a?a.warn(r,{error:t}):console.warn(r,t)}},be=function(e,n){var t=n.get,r=n.set,o=n.delete;n.get=O(t,"StoreGet",e.hooks,e.logger),n.set=O(r,"StoreSet",e.hooks,e.logger),n.delete=O(o,"StoreDelete",e.hooks,e.logger)},me=function(e){return _async_to_generator(function(e){var n,t,r,o,a,i,s,c,u,l,f,d,p,_,v,g,y,h,b,m,w,k,j,O,x,S,C,A,E,q,P,M,I,D,T,R,N,F,z,B=arguments;return _ts_generator(this,function(G){switch(G.label){case 0:n=B.length>1&&void 0!==B[1]?B[1]:{},t={},r=!0,o=!1,a=void 0,G.label=1;case 1:G.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),G.label=2;case 2:return(r=(s=i.next()).done)?[3,5]:(c=_sliced_to_array(s.value,2),u=c[0],l=c[1],f=l.code,d=l.config,p=void 0===d?{}:d,_=l.env,v=void 0===_?{}:_,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:p,env:v})]);case 3:y=G.sent(),t[u]=y,G.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return h=G.sent(),o=!0,a=h,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:m=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,i=Object.keys(e)[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=a.value;n[s]="WHITE"}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}var c=[],u=[];function l(t){var r,o=n[t];if("BLACK"!==o){if("GRAY"===o){var a=u.indexOf(t),i=u.slice(-1===a?0:a).concat(t).join(" -> ");throw new Error("Cycle in cache.store chain: ".concat(i))}n[t]="GRAY",u.push(t);var s=null===(r=e[t].cache)||void 0===r?void 0:r.store;if(void 0!==s){if(!(s in e))throw new Error('Store "'.concat(t,'" cache.store references "').concat(s,'", which is not declared in flow.stores'));l(s)}u.pop(),n[t]="BLACK",c.push(t)}}var f=!0,d=!1,p=void 0;try{for(var _,v=Object.keys(e)[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g=_.value;"WHITE"===n[g]&&l(g)}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return c}(b=n),w=!0,k=!1,j=void 0;try{for(O=m[Symbol.iterator]();!(w=(x=O.next()).done);w=!0)S=x.value,(A=b[S].cache)&&(E=void 0,q=void 0,void 0!==A.store?(E=t[A.store],q=A.store):(t.__cache||(t.__cache=ye()),E=t.__cache,q="__cache"),P=null!==(C=A.namespace)&&void 0!==C?C:S,e.logger.scope("store-cache").scope(S).info('store "'.concat(S,'" caches with namespace "').concat(P,':" via ').concat(q)),t[S]=he(t[S],{storeId:S,cacheConfig:A,cacheStore:E,namespace:P,logger:e.logger.scope("store-cache").scope(S)}))}catch(e){k=!0,j=e}finally{try{w||null==O.return||O.return()}finally{if(k)throw j}}M=!0,I=!1,D=void 0;try{for(T=Object.entries(t)[Symbol.iterator]();!(M=(R=T.next()).done);M=!0)N=_sliced_to_array(R.value,2),F=N[0],z=N[1],"__cache"!==F&&be(e,z)}catch(e){I=!0,D=e}finally{try{M||null==T.return||T.return()}finally{if(I)throw D}}return[2,t]}})}).apply(this,arguments)},we=function(e){return _async_to_generator(function(){var n,t,r,o,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return r=i({globalsStatic:{},sessionStatic:{},run:!0,queueMax:1e3},e,{merge:!1,extend:!1}),o={level:null===(n=e.logger)||void 0===n?void 0:n.level,handler:null===(t=e.logger)||void 0===t?void 0:t.handler},s=y(o),c=_object_spread({},r.globalsStatic,e.globals),(u={allowed:!1,config:r,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:c,hooks:e.hooks||{},logger:s,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{},dropped:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{destinations:{}},push:void 0,command:void 0}).push=function(e,n){return O(function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(o){switch(o.label){case 0:return[4,m(function(){return _async_to_generator(function(){var o,i,s,c,u,l,f,d,_,v,g,y,h,b,m,w,k,O,x,S,C;return _ts_generator(this,function(A){switch(A.label){case 0:return o=Date.now(),i=r.id,s=r.ingest,c=r.respond,u=r.mapping,l=r.preChain,f=r.include,d=r.exclude,_=c,v=t,g=f||d?function(e,n,t){var r=e;return n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return n.includes(t)}))),t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return!t.includes(n)}))),r}(e.destinations,f,d):void 0,y=null!=s?s:a(i||"unknown"),u?[4,j(v,u,e)]:[3,2];case 1:if((h=A.sent()).ignore)return[2,ue({ok:!0})];if(u.consent&&!p(u.consent,e.consent,h.event.consent))return[2,ue({ok:!0})];v=h.event,A.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,wn(e,e.transformers,l,v,y,_,i?"source.".concat(i,".next"):void 0)]:[3,6];case 3:return null===(b=A.sent()).event?[2,ue({ok:!0})]:b.stopped?[2,(b.respond&&(_=b.respond),ue({ok:!0}))]:(b.respond&&(_=b.respond),Array.isArray(b.event)?[4,Promise.all(b.event.map(function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=n(t),o=ve(e,r),[2,ie(e,o,{id:i,ingest:y,respond:_},g)]})})()}))]:[3,5]);case 4:return w=A.sent(),i&&(e.status.sources[i]||(e.status.sources[i]={count:0,duration:0}),(k=e.status.sources[i]).count+=b.event.length,k.lastAt=Date.now(),k.duration+=Date.now()-o),[2,null!==(m=w[0])&&void 0!==m?m:ue({ok:!0})];case 5:v=b.event,A.label=6;case 6:return O=n(v),x=ve(e,O),[4,ie(e,x,{id:i,ingest:y,respond:_},g)];case 7:return S=A.sent(),i&&(e.status.sources[i]||(e.status.sources[i]={count:0,duration:0}),(C=e.status.sources[i]).count++,C.lastAt=Date.now(),C.duration+=Date.now()-o),[2,S]}})})()},function(n){if(_instanceof(n,ln))throw n;return e.status.failed++,e.logger.error("push failed",{event:t,ingest:r.ingest,error:n}),ue({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger)}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.1.0"}},e)}),u.command=(_=_e,O(function(e,n,t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,m(function(){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,_(d,e,n,t)];case 1:return[2,r.sent()]}})})()},function(t){if(_instanceof(t,ln))throw t;return d.status.failed++,d.logger.error("command failed",{command:e,data:n,error:t}),ue({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(d=u).hooks,d.logger)),l=e.stores||{},[4,me(u,l)];case 1:return u.stores=f.sent(),function(e,n,t){var r=new Map,o=!0,a=!1,i=void 0;try{for(var s,c=Object.entries(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=_sliced_to_array(s.value,2),l=u[0],f=u[1];n[l]&&r.set(f,n[l])}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}if(0!==r.size)for(var d=!0,p=!1,_=void 0,v=0,g=[t.transformers,t.destinations,t.sources];v<g.length;v++){var y=g[v];if(y)try{for(var h,b=Object.values(y)[Symbol.iterator]();!(d=(h=b.next()).done);d=!0){m(h.value.env)}}catch(e){p=!0,_=e}finally{try{d||null==b.return||b.return()}finally{if(p)throw _}}}function m(e){if(e){var n=!0,t=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var s=_sliced_to_array(a.value,2),c=s[0],u=s[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){t=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(t)throw o}}}}}(l,u.stores,e),u.stores.__cache||(u.stores.__cache=ye()),[4,fe(u,e.destinations||{})];case 2:return u.destinations=f.sent(),[4,function(e){return _async_to_generator(function(e){var n,t,r,o,i,s,c,u,l,f=arguments;return _ts_generator(this,function(d){switch(d.label){case 0:n=f.length>1&&void 0!==f[1]?f[1]:{},t={},r=!0,o=!1,i=void 0,d.label=1;case 1:d.trys.push([1,6,7,8]),s=function(){var n,r,o,i,s,c,l,f,d,p,_,v,g,y,h,b,m,w,k,O,x,S;return _ts_generator(this,function(C){switch(C.label){case 0:return n=_sliced_to_array(u.value,2),r=n[0],o=n[1],f=o.code,d=o.env,p=void 0===d?{}:d,_=function(e,n){var t,r=(t=n,new Set(_to_consumable_array(gn[t]).concat(_to_consumable_array(yn),_to_consumable_array(hn[t])))),o=!0,a=!1,i=void 0;try{for(var s,c=Object.keys(e)[Symbol.iterator]();!(o=(s=c.next()).done);o=!0){var u=s.value;if(!r.has(u))return{ok:!1,code:"UNKNOWN_KEY",key:u,reason:'Unknown key "'.concat(u,'" on ').concat(n,". Allowed: ").concat(_to_consumable_array(r).sort().join(", "),".")}}}catch(e){a=!0,i=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw i}}var l=void 0!==e.package,f=void 0!==e.import,d=void 0!==e.code;return d&&"string"==typeof e.code?{ok:!1,code:"OBSOLETE_CODE_STRING",key:"code",reason:'code: "<name>" is no longer supported. Use import: "'.concat(e.code,'" with the package field instead.')}:d&&("object"!=_type_of(e.code)&&"function"!=typeof e.code||null===e.code||Array.isArray(e.code))?{ok:!1,code:"INVALID_CODE_SHAPE",key:"code",reason:"code must be an object ({ push, type?, init? }) or a resolved function value."}:d&&l?{ok:!1,code:"CONFLICT",key:"package",reason:"Cannot specify both `code` and `package`. Use one or the other."}:d&&f?{ok:!1,code:"CONFLICT",key:"import",reason:"Cannot specify both `code` and `import`."}:f&&!l?{ok:!1,code:"MISSING_PACKAGE",key:"import",reason:"`import` requires `package` to be set."}:!f||"string"==typeof e.import&&bn.test(e.import)?{ok:!0}:{ok:!1,code:"INVALID_IMPORT",key:"import",reason:"import must match ".concat(bn.source,". Got: ").concat(JSON.stringify(e.import),".")}}(o,"Transformer"),_.ok?(v=D(o,"before"),g=v.config,y=D(_object_spread_props(_object_spread({},o),{config:g}),"next"),h=y.config,b=Object.keys(p).length>0?_object_spread_props(_object_spread({},h),{env:p}):h,m=o.cache,w=m?_object_spread_props(_object_spread({},b),{cache:m}):b,k=e.logger.scope("transformer").scope(r),O={collector:e,logger:k,id:r,ingest:a(r),config:w,env:p},x=null!=f?f:function(e){var n=o.mapping;if(n){var t=[];if(void 0!==n.data&&t.push("data"),n.mapping){var a=!0,i=!1,s=void 0,c=!0,u=!1,l=void 0;try{for(var f,d=Object.entries(n.mapping)[Symbol.iterator]();!(c=(f=d.next()).done);c=!0){var p=_sliced_to_array(f.value,2),_=p[0],v=p[1];if("object"==(void 0===v?"undefined":_type_of(v))&&null!==v)try{for(var g,y=Object.entries(v)[Symbol.iterator]();!(a=(g=y.next()).done);a=!0){var h=_sliced_to_array(g.value,2),b=h[0],m=h[1];if("object"==(void 0===m?"undefined":_type_of(m))&&null!==m){var w=m;void 0!==w.data&&t.push("mapping[".concat(_,"][").concat(b,"].data")),void 0!==w.silent&&t.push("mapping[".concat(_,"][").concat(b,"].silent"))}}}catch(e){i=!0,s=e}finally{try{a||null==y.return||y.return()}finally{if(i)throw s}}}}catch(e){u=!0,l=e}finally{try{c||null==d.return||d.return()}finally{if(u)throw l}}}return t.length>0&&e.collector.logger.warn("Transformer ".concat(r,": `").concat(t.join(", "),"` ignored at transformer position (only event-mutating fields apply).")),{type:"pass",config:e.config,push:function(t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return[4,j(t,n,e.collector)];case 1:return[2,!(r=o.sent()).ignore&&{event:r.event}]}})})()}}}return{type:"pass",config:e.config,push:function(e){return{event:e}}}},[4,x(O)]):(e.logger.warn("Transformer ".concat(r," invalid (").concat(_.code,"): ").concat(_.reason,". Skipping.")),[2,"continue"]);case 1:return S=C.sent(),void 0!==o.before&&void 0===(null===(c=S.config)||void 0===c?void 0:c.before)&&(S.config=_object_spread_props(_object_spread({},null!==(i=S.config)&&void 0!==i?i:{}),{before:o.before})),void 0!==o.next&&void 0===(null===(l=S.config)||void 0===l?void 0:l.next)&&(S.config=_object_spread_props(_object_spread({},null!==(s=S.config)&&void 0!==s?s:{}),{next:o.next})),t[r]=S,[2]}})},c=Object.entries(n)[Symbol.iterator](),d.label=2;case 2:return(r=(u=c.next()).done)?[3,5]:[5,_ts_values(s())];case 3:d.sent(),d.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return l=d.sent(),o=!0,i=l,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw i}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(u,e.transformers||{})];case 3:return[2,(u.transformers=f.sent(),u)]}var d,_})})()},ke=function(e){return _async_to_generator(function(){var n,t,r,o,a,i,s,c,u,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,we(e=e||{})];case 1:return n=f.sent(),r=n,t={type:"elb",config:{},push:function(e,n,t,o,a){return _async_to_generator(function(){var i,s;return _ts_generator(this,function(c){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,n)];if("string"==typeof e)s={name:e},n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(s.data=n);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,ue({ok:!1})];s=e,n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(s.data=_object_spread({},s.data||{},n))}return[2,(t&&"object"==(void 0===t?"undefined":_type_of(t))&&(s.context=t),o&&Array.isArray(o)&&(s.nested=o),a&&"object"==(void 0===a?"undefined":_type_of(a))&&(s.custom=a),r.push(s))]})})()}},n.sources.elb=t,[4,W(n,e.sources||{})];case 2:return f.sent(),o=e.consent,a=e.user,i=e.globals,s=e.custom,o?[4,n.command("consent",o)]:[3,4];case 3:f.sent(),f.label=4;case 4:return a?[4,n.command("user",a)]:[3,6];case 5:f.sent(),f.label=6;case 6:return i&&Object.assign(n.globals,i),s&&Object.assign(n.custom,s),n.config.run?[4,n.command("run")]:[3,8];case 7:f.sent(),f.label=8;case 8:return c=t.push,u=Object.values(n.sources).filter(function(e){return"elb"!==e.type}),[2,((l=u.find(function(e){return e.config.primary}))?c=l.push:u.length>0&&(c=u[0].push),{collector:n,elb:c})]}})})()},je=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,xe=Object.getOwnPropertyNames,Se=Object.prototype.hasOwnProperty,Ce=function(e,n){for(var t in n)je(e,t,{get:n[t],enumerable:!0})},Ae={};Ce(Ae,{DEFAULT_CATEGORY_MAP:function(){return Cn},SourceCookieFirst:function(){return Ee},analyticsOnlyConsent:function(){return De},analyticsOnlyMapped:function(){return ze},createMockCookieFirstAPI:function(){return We},createMockElbFn:function(){return Le},createMockWindow:function(){return Ue},createTrigger:function(){return xn},default:function(){return En},fullConsent:function(){return qe},fullConsentMapped:function(){return Re},marketingOnlyConsent:function(){return Te},marketingOnlyMapped:function(){return Be},minimalConsent:function(){return Me},minimalConsentMapped:function(){return Fe},mockEnv:function(){return Ke},noConsent:function(){return Ie},noopLogger:function(){return He},partialConsent:function(){return Pe},partialConsentMapped:function(){return Ne},sourceCookieFirst:function(){return An},step:function(){return Ve},trigger:function(){return Sn}});var Ee={},qe={necessary:!0,functional:!0,performance:!0,advertising:!0},Pe={necessary:!0,functional:!0,performance:!1,advertising:!1},Me={necessary:!0,functional:!1,performance:!1,advertising:!1},Ie=null,De={necessary:!0,functional:!1,performance:!0,advertising:!1},Te={necessary:!0,functional:!1,performance:!1,advertising:!0},Re={functional:!0,analytics:!0,marketing:!0},Ne={functional:!0,analytics:!1,marketing:!1},Fe={functional:!0,analytics:!1,marketing:!1},ze={functional:!0,analytics:!0,marketing:!1},Be={functional:!0,analytics:!1,marketing:!0},Ge=function(){},Le=function(){return function(){return Promise.resolve({ok:!0})}},He={error:Ge,warn:Ge,info:Ge,debug:Ge,throw:function(e){throw"string"==typeof e?new Error(e):e},json:Ge,scope:function(){return He}},We=function(){return{consent:arguments.length>0&&void 0!==arguments[0]?arguments[0]:null}},Ue=function(){return{CookieFirst:We(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null),addEventListener:Ge,removeEventListener:Ge}},Ke={get push(){return Le()},get command(){return Le()},get elb(){return Le()},get window(){return Ue()},logger:He},Ve={};Ce(Ve,{categoryMapOverride:function(){return Je},cfInitDetection:function(){return Ze},fullConsent:function(){return Ye},partialConsent:function(){return $e}});var Ye={title:"Full consent",description:"CookieFirst reports all categories granted and the source forwards a walker consent command with all groups true.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!0,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!0}]]},$e={title:"Partial consent",description:"A partial CookieFirst grant maps analytics and marketing to false in the emitted walker consent command.",trigger:{type:"consent"},in:{necessary:!0,functional:!0,performance:!1,advertising:!1},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!1}]]},Je={title:"Category map override",description:"Custom categoryMap remaps performance to statistics instead of analytics",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!0,advertising:!1},mapping:{settings:{categoryMap:{performance:"statistics"}}},out:[["elb","walker consent",{functional:!0,statistics:!0,marketing:!1}]]},Ze={title:"cf_init detection",description:"CMP detected via cf_init CustomEvent (primary detection path)",trigger:{type:"consent"},in:{necessary:!0,functional:!1,performance:!1,advertising:!0},out:[["elb","walker consent",{functional:!0,analytics:!1,marketing:!0}]]},Qe=Object.defineProperty,Xe=function(e,n){for(var t in n)Qe(e,t,{get:n[t],enumerable:!0})};Xe({},{stepId:function(){return e}});Xe({},{getDestination:function(){return n}});Xe({},{Level:function(){return nn}});var en,nn=((en=nn||{})[en.ERROR=0]="ERROR",en[en.WARN=1]="WARN",en[en.INFO=2]="INFO",en[en.DEBUG=3]="DEBUG",en);Xe({},{getTransformer:function(){return t}});Xe({},{getSource:function(){return r}});Xe({},{getStore:function(){return o}});var tn={merge:!0,shallow:!0,extend:!0};function rn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(n.has(e))return n.get(e);var t=Object.prototype.toString.call(e);if("[object Object]"===t){var r={};for(var o in n.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=rn(e[o],n));return r}if("[object Array]"===t){var a=[];return n.set(e,a),e.forEach(function(e){a.push(rn(e,n))}),a}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){var i=e;return new RegExp(i.source,i.flags)}return e}function on(e){for(var n=arguments.length>2?arguments[2]:void 0,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),r=e,o=0;o<t.length;o++){var a=t[o];if("*"===a&&s(r)){var i=t.slice(o+1).join("."),u=[],f=!0,d=!1,p=void 0;try{for(var _,v=r[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g=on(_.value,i,n);u.push(g)}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return u}if(void 0===(r=l(r)||s(r)?r[a]:void 0))break}return c(r)?r:n}var an={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},sn=function(e,n,t,r){var o="".concat(nn[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(t).length>0,i=0===e?console.error:1===e?console.warn:console.log;a?i(o,n,t):i(o,n)};function cn(e){var n=e.level,t=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=n){var i=g(r,a);t?t(e,i.message,i.context,o,sn):sn(e,i.message,i.context,o)}};return{error:function(e,n){return a(0,e,n)},warn:function(e,n){return a(1,e,n)},info:function(e,n){return a(2,e,n)},debug:function(e,n){return a(3,e,n)},throw:function(e,n){var r=g(e,n);throw t?t(0,r.message,r.context,o,sn):sn(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return cn({level:n,handler:t,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function un(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||s(e)&&e.every(un)||l(e)&&Object.values(e).every(un)}var ln=function(){function e(n,t){var r;return _class_call_check(this,e),(r=_call_super(this,e,[n,t])).name="FatalError",Object.setPrototypeOf(r,e.prototype),r}return _inherits(e,_wrap_native_super(Error)),e}();function fn(e,n,t){return _async_to_generator(function(){return _ts_generator(this,function(r){return[2,(s(n)?n:[n]).reduce(function(n,r){return _async_to_generator(function(){var o,a,i,u,l,d,_,v,g,y,b,w,j,O,x,S,C,A,E,q,P,M;return _ts_generator(this,function(I){switch(I.label){case 0:return[4,n];case 1:return(o=I.sent())?[2,o]:(a=f(r)?{key:r}:r,Object.keys(a).length?(i=a.condition,u=a.consent,l=a.fn,d=a.key,_=a.loop,v=a.map,g=a.set,y=a.validate,b=a.value,w=_object_spread_props(_object_spread({},t),{mapping:r}),(j=i)?[4,m(i,function(e){if(_instanceof(e,ln))throw e;return w.logger.error("mapping condition failed",{event:w.event,error:e}),!1})(e,w)]:[3,3]):[2]);case 2:j=!I.sent(),I.label=3;case 3:return j?[2]:u&&!p(u,w.consent)?[2,b]:(O=c(b)?b:e,l?[4,m(l,function(e){if(_instanceof(e,ln))throw e;w.logger.error("mapping fn failed",{event:w.event,error:e})})(e,w)]:[3,5]);case 4:O=I.sent(),I.label=5;case 5:return d&&(O=on(e,d,b)),_?(x=_sliced_to_array(_,2),S=x[0],C=x[1],"this"!==S?[3,6]:(E=[e],[3,8])):[3,11];case 6:return[4,k(e,S,w)];case 7:E=I.sent(),I.label=8;case 8:return s(A=E)?[4,Promise.all(A.map(function(e){return k(e,C,w)}))]:[3,10];case 9:O=I.sent().filter(c),I.label=10;case 10:return[3,17];case 11:return v?[4,Object.entries(v).reduce(function(n,t){var r=_sliced_to_array(t,2),o=r[0],a=r[1];return _async_to_generator(function(){var t,r;return _ts_generator(this,function(i){switch(i.label){case 0:return[4,n];case 1:return t=i.sent(),[4,k(e,a,w)];case 2:return r=i.sent(),[2,(c(r)&&(t[o]=r),t)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=I.sent(),[3,16];case 13:return(q=g)?[4,Promise.all(g.map(function(n){return fn(e,n,w)}))]:[3,15];case 14:q=O=I.sent(),I.label=15;case 15:I.label=16;case 16:I.label=17;case 17:return(P=y)?[4,m(y,function(e){if(_instanceof(e,ln))throw e;return w.logger.error("mapping validate failed",{event:w.event,error:e}),!1})(O,w)]:[3,19];case 18:P=!I.sent(),I.label=19;case 19:return P&&(O=void 0),M=h(O),[2,c(M)?M:h(b)]}})})()},Promise.resolve(void 0))]})})()}function dn(e){if(void 0===e||"*"===e)return function(){return!0};if("and"in e){var n=e.and.map(dn);return function(e){return n.every(function(n){return n(e)})}}if("or"in e){var t=e.or.map(dn);return function(e){return t.some(function(n){return n(e)})}}return function(e){var n=e.key,t=e.operator,r=e.value,o=e.not,a=function(e,n){switch(e){case"eq":return function(e){return String(null!=e?e:"")===n};case"contains":return function(e){return String(null!=e?e:"").includes(n)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(n)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(n)};case"regex":var t=new RegExp(n);return function(e){return t.test(String(null!=e?e:""))};case"gt":var r=Number(n);return function(e){return Number(e)>r};case"lt":var o=Number(n);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(t,r);return function(e){var t=on(e,n),r=a(t);return o?!r:r}}(e)}function pn(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;if(function(e){return Array.isArray(e)&&e.length>0&&e.every(function(e){return"object"==(void 0===(n=e)?"undefined":_type_of(n))&&null!==n&&!Array.isArray(n)&&("match"in n||"next"in n||"one"in n||"many"in n);var n})}(e))return pn({one:e});if(e.every(function(e){return"string"==typeof e}))return{type:"chain",value:e};var n=[],t=!0,r=!1,o=void 0;try{for(var a,i=e[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var s=pn(a.value);void 0!==s&&n.push(s)}}catch(e){r=!0,o=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw o}}if(0===n.length)return;return{type:"sequence",value:n}}var c=e;if("next"in c&&void 0!==c.next)return c.match?{type:"gate",match:dn(c.match),next:pn(c.next)}:pn(c.next);if("one"in c&&c.one){var u=x(c.one);return c.match?{type:"gate",match:dn(c.match),next:{type:"one",routes:u}}:{type:"one",routes:u}}if("many"in c&&c.many){var l=x(c.many);return c.match?{type:"gate",match:dn(c.match),next:{type:"many",routes:l}}:{type:"many",routes:l}}return c.match?{type:"gate",match:dn(c.match)}:void 0}}var _n=new WeakMap;function vn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;if("gate"===e.type){if(!e.match(n))return;return vn(e.next,n)}if("sequence"===e.type){var t=[],r=!0,o=!1,a=void 0;try{for(var i,s=e.value[Symbol.iterator]();!(r=(i=s.next()).done);r=!0){var c,u=vn(i.value,n);void 0!==u&&(Array.isArray(u)?(c=t).push.apply(c,_to_consumable_array(u)):t.push(u))}}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return t.length>0?t:void 0}if("many"===e.type){var l=[],f=!0,d=!1,p=void 0;try{for(var _,v=e.routes[Symbol.iterator]();!(f=(_=v.next()).done);f=!0){var g,y=_.value;if(y.match(n)){var h=vn(y.next,n);void 0!==h&&(Array.isArray(h)?(g=l).push.apply(g,_to_consumable_array(h)):l.push(h))}}}catch(e){d=!0,p=e}finally{try{f||null==v.return||v.return()}finally{if(d)throw p}}return l.length>0?l:void 0}var b=!0,m=!1,w=void 0;try{for(var k,j=e.routes[Symbol.iterator]();!(b=(k=j.next()).done);b=!0){var O=k.value;if(O.match(n))return vn(O.next,n)}}catch(e){m=!0,w=e}finally{try{b||null==j.return||j.return()}finally{if(m)throw w}}}}var gn={Source:["code","package","import","before","next","cache"],Transformer:["code","package","import","before","next","cache","mapping"],Destination:["code","package","import","before","next","cache"],Store:["code","package","import","cache"]},yn=["config","env","validate","variables","examples","disabled","id","logger","mock","chainMocks"],hn={Source:["primary"],Transformer:[],Destination:[],Store:[]},bn=/^[A-Za-z_$][A-Za-z0-9_$]*$/,mn={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function wn(e,n,t,r,o,i,s){return _async_to_generator(function(){var c,u,l,f,d,p,_,v,g,y,h;return _ts_generator(this,function(b){switch(b.label){case 0:o||(o=a(null!==(c=t[0])&&void 0!==c?c:"chain")),s&&o._meta&&(o._meta.chainPath=s),u=r,l=i,f=!0,d=!1,p=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),_=function(){var r,a,i,c,f,d,p,_,v,y,h,b,w,k,j,O,x,P,D,z,B,G,L,H,W,U,K,V,Y,$,J,Z,Q,X,ee,ne,te,re,oe,ae,ie,se,ce,ue,le,fe;return _ts_generator(this,function(de){switch(de.label){case 0:return r=g.value,(p=n[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:l})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,m(R,function(n){if(_instanceof(n,ln))throw n;return e.status.failed++,e.logger.scope("transformer:".concat(p.type||"unknown")).error("transformer init failed",{transformer:r,error:n}),!1})(e,p,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:return de.sent()?s&&void 0!==(null===(i=p.config)||void 0===i||null===(a=i.chainMocks)||void 0===a?void 0:a[s])?(_=p.config.chainMocks[s],e.logger.scope("transformer:".concat(p.type||"unknown")).debug("chainMock",{chain:s}),u=_,[2,"continue"]):void 0!==(null===(c=p.config)||void 0===c?void 0:c.mock)?(e.logger.scope("transformer:".concat(p.type||"unknown")).debug("mock"),u=p.config.mock,[2,"continue"]):(null===(f=p.config)||void 0===f?void 0:f.disabled)?[2,"continue"]:(v=null===(d=p.config)||void 0===d?void 0:d.cache,y=v?A(v):void 0,h=y?M(y,e):void 0,b=void 0,y&&h?(w=C(o,u),[4,E(y,h,w)]):[3,3]):[2,{v:{event:null,respond:l}}];case 2:if("HIT"===(null==(k=de.sent())?void 0:k.status)&&k.value)return u=k.value,y.stop?[2,{v:{event:u,respond:l,stopped:!0}}]:[2,"continue"];"MISS"===(null==k?void 0:k.status)&&(b={key:k.key,ttl:k.rule.ttl}),de.label=3;case 3:return(j=p.config.before)?1!==(O=S(j,C(o,u))).length?[3,6]:(x=T(O[0],I(n))).length>0?[4,wn(e,n,x,u,o,l,s)]:[3,5]:[3,9];case 4:if(null===(z=de.sent()).event)return[2,{v:{event:null,respond:null!==(P=z.respond)&&void 0!==P?P:l}}];if(z.stopped)return[2,{v:{event:Array.isArray(z.event)?z.event[0]:z.event,respond:null!==(D=z.respond)&&void 0!==D?D:l,stopped:!0}}];z.respond&&(l=z.respond),u=Array.isArray(z.event)?z.event[0]:z.event,de.label=5;case 5:return[3,9];case 6:return O.length>1?[4,Promise.all(O.map(function(t){return m(wn,function(n){return e.logger.scope("transformer:many").error("many branch ".concat(t," failed"),{error:n}),{event:null,respond:void 0}})(e,n,T(t,I(n)),u,F(o,t),void 0,s)}))]:[3,8];case 7:de.sent(),de.label=8;case 8:de.label=9;case 9:return[4,m(N,function(n){return e.logger.scope("transformer:".concat(p.type||"unknown")).error("Push failed",{error:n}),!1})(e,p,r,u,o,l)];case 10:return!1===(B=de.sent())?[2,{v:{event:null,respond:l}}]:Array.isArray(B)?(G=t.slice(t.indexOf(r)+1),[4,Promise.all(B.map(function(t){return _async_to_generator(function(){var r,a,i,c;return _ts_generator(this,function(f){switch(f.label){case 0:return r=t.event||u,a=F(o,"unknown"),t.next?0===(i=S(t.next,C(a,r))).length?[2,{event:r,respond:l}]:1===i.length?[2,(c=T(i[0],I(n))).length>0?wn(e,n,c,r,a,l,s):{event:r,respond:l}]:[4,Promise.all(i.map(function(t){return m(wn,function(n){return e.logger.scope("transformer:many").error("many branch ".concat(t," failed"),{error:n}),{event:null,respond:void 0}})(e,n,T(t,I(n)),r,F(a,t),void 0,s)}))]:[3,2];case 1:return[2,f.sent().map(function(e){return{event:e.event,respond:void 0}})];case 2:return[2,G.length>0?wn(e,n,G,r,a,l,s):{event:r,respond:l}]}})})()}))]):[3,12];case 11:L=de.sent(),H=l,W=[],U=!0,K=!1,V=void 0;try{for(Y=L.flat()[Symbol.iterator]();!(U=($=Y.next()).done);U=!0)if(null!==(J=$.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if((Q=J).respond&&(H=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?(Z=W).push.apply(Z,_to_consumable_array(Q.event)):W.push(Q.event)}else W.push(J)}catch(e){K=!0,V=e}finally{try{U||null==Y.return||Y.return()}finally{if(K)throw V}}return[2,{v:0===W.length?{event:null,respond:H}:1===W.length?{event:W[0],respond:H}:{event:W,respond:H}}];case 12:return B&&"object"==(void 0===B?"undefined":_type_of(B))?(X=B.event,ee=B.respond,ne=B.next,ee&&(l=ee),void 0===ne?[3,14]:0===(te=S(ne,C(o,u))).length?(X&&(u=X),[2,"continue"]):1===te.length?[2,{v:(re=T(te[0],I(n))).length>0?wn(e,n,re,X||u,o,l,s):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(ne))),{event:null,respond:l})}]:(oe={},[4,Promise.all(te.map(function(t){return m(wn,function(n){return e.logger.scope("transformer:many").error("many branch ".concat(t," failed"),{error:n}),{event:null,respond:void 0}})(e,n,T(t,I(n)),X||u,F(o,t),void 0,s)}))])):[3,15];case 13:return[2,(oe.v=(de.sent(),{event:null,respond:void 0}),oe)];case 14:X&&(u=X),de.label=15;case 15:return b&&h&&q(h,b.key,u,b.ttl),ae=p.config.next,ie="string"==typeof ae||Array.isArray(ae)&&ae.every(function(e){return"string"==typeof e}),se=void 0!==ae&&!ie,B&&("object"!=(void 0===B?"undefined":_type_of(B))||B.next)||!se?[3,19]:1===(ce=S(p.config.next,C(o,u))).length?[2,{v:(ue=T(ce[0],I(n))).length>0?wn(e,n,ue,u,o,l,s):{event:u,respond:l}}]:(le={},ce.length>1?[4,Promise.all(ce.map(function(t){return m(wn,function(n){return e.logger.scope("transformer:many").error("many branch ".concat(t," failed"),{error:n}),{event:null,respond:void 0}})(e,n,T(t,I(n)),u,F(o,t),void 0,s)}))]:[3,17]);case 16:return de.sent(),fe={event:null,respond:void 0},[3,18];case 17:fe={event:u,respond:l},de.label=18;case 18:return[2,(le.v=fe,le)];case 19:return[2]}})},v=t[Symbol.iterator](),b.label=2;case 2:return(f=(g=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=b.sent()))return[2,y.v];b.label=4;case 4:return f=!0,[3,2];case 5:return[3,8];case 6:return h=b.sent(),d=!0,p=h,[3,8];case 7:try{f||null==v.return||v.return()}finally{if(d)throw p}return[7];case 8:return[2,{event:u,respond:l}]}})})()}var kn,jn=new WeakMap,On=Object.freeze({batched:!0}),xn=function(e){return _async_to_generator(function(){var n,t;return _ts_generator(this,function(r){return t=function(){return function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){switch(a.label){case 0:return window.CookieFirst={consent:t},n?[3,2]:[4,ke(_object_spread_props(_object_spread({},e),{run:null===(r=e.run)||void 0===r||r}))];case 1:o=a.sent(),n={collector:o.collector,elb:o.elb},a.label=2;case 2:return window.dispatchEvent(new Event("cf_init")),[2]}})})()}},[2,{get flow(){return n},trigger:t}]})})()},Sn=function(e,n){e&&"object"===(void 0===e?"undefined":_type_of(e))&&(n.window.CookieFirst={consent:e})},Cn={necessary:"functional",functional:"functional",performance:"analytics",advertising:"marketing"},An=function(e){return _async_to_generator(function(){var n,t,r,o,a,i,s,c,u,l,f,d,p,_,v,g,y,h;return _ts_generator(this,function(b){return s=e.config,c=e.env,u=c.elb,l=null!==(n=c.window)&&void 0!==n?n:void 0!==globalThis.window?globalThis.window:void 0,f={categoryMap:_object_spread({},Cn,null==s||null===(o=s.settings)||void 0===o?void 0:o.categoryMap),explicitOnly:null===(t=null==s||null===(a=s.settings)||void 0===a?void 0:a.explicitOnly)||void 0===t||t,globalName:null!==(r=null==s||null===(i=s.settings)||void 0===i?void 0:i.globalName)&&void 0!==r?r:"CookieFirst"},d={settings:f},l&&(g=function(e){if((!f.explicitOnly||e)&&e){var n={};Object.entries(e).forEach(function(e){var t,r,o=_sliced_to_array(e,2),a=o[0],i=o[1];if("boolean"==typeof i){var s=null!==(t=null===(r=f.categoryMap)||void 0===r?void 0:r[a])&&void 0!==t?t:a;n[s]=n[s]||i}}),Object.keys(n).length>0&&u("walker consent",n)}},y=null!==(v=f.globalName)&&void 0!==v?v:"CookieFirst",(null==(h=l[y])?void 0:h.consent)&&g(h.consent),p=function(){var e,n=l[y];g(null!==(e=null==n?void 0:n.consent)&&void 0!==e?e:null)},l.addEventListener("cf_init",p),_=function(e){g(e.detail)},l.addEventListener("cf_consent",_)),[2,{type:"cookiefirst",config:d,push:u,destroy:function(e){return _async_to_generator(function(){return _ts_generator(this,function(e){return l&&p&&l.removeEventListener("cf_init",p),l&&_&&l.removeEventListener("cf_consent",_),[2]})})()}}]})})()},En=An;return kn=Ae,function(e,n,t,r){if(n&&"object"===(void 0===n?"undefined":_type_of(n))||"function"==typeof n){var o=!0,a=!1,i=void 0;try{for(var s,c=function(){var o=s.value;Se.call(e,o)||o===t||je(e,o,{get:function(){return n[o]},enumerable:!(r=Oe(n,o))||r.enumerable})},u=xe(n)[Symbol.iterator]();!(o=(s=u.next()).done);o=!0)c()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(je({},"__esModule",{value:!0}),kn)}();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/web-source-cmp-cookiefirst",
4
- "version": "4.1.0-next-1778668930820",
4
+ "version": "4.1.0",
5
5
  "type": "source",
6
6
  "platform": [
7
7
  "web"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/web-source-cmp-cookiefirst",
3
3
  "description": "CookieFirst consent management source for walkerOS",
4
- "version": "4.1.0-next-1778668930820",
4
+ "version": "4.1.0",
5
5
  "license": "MIT",
6
6
  "walkerOS": {
7
7
  "type": "source",
@@ -33,7 +33,8 @@
33
33
  "./walkerOS.json": "./dist/walkerOS.json"
34
34
  },
35
35
  "files": [
36
- "dist/**"
36
+ "dist/**",
37
+ "CHANGELOG.md"
37
38
  ],
38
39
  "scripts": {
39
40
  "build": "tsup --silent",
@@ -45,8 +46,8 @@
45
46
  "update": "npx npm-check-updates -u && npm update"
46
47
  },
47
48
  "dependencies": {
48
- "@walkeros/core": "4.1.0-next-1778668930820",
49
- "@walkeros/collector": "4.1.0-next-1778668930820"
49
+ "@walkeros/core": "4.1.0",
50
+ "@walkeros/collector": "4.1.0"
50
51
  },
51
52
  "devDependencies": {},
52
53
  "repository": {