@walkeros/walker.js 1.0.3 → 1.0.5

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 CHANGED
@@ -1,5 +1,26 @@
1
1
  # @walkeros/walker.js
2
2
 
3
+ ## 1.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [e9c9faa]
8
+ - @walkeros/collector@1.1.3
9
+ - @walkeros/web-source-browser@1.1.3
10
+ - @walkeros/web-source-datalayer@1.0.5
11
+
12
+ ## 1.0.4
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [7ad6cfb]
17
+ - @walkeros/collector@1.1.2
18
+ - @walkeros/core@1.2.2
19
+ - @walkeros/web-source-browser@1.1.2
20
+ - @walkeros/web-source-datalayer@1.0.4
21
+ - @walkeros/web-core@1.0.4
22
+ - @walkeros/web-source-session@1.1.2
23
+
3
24
  ## 1.0.3
4
25
 
5
26
  ### Patch Changes
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];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,t,n,r,o,a,i){try{var c=e[a](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){asyncGeneratorStep(a,r,o,i,c,"next",e)}function c(e){asyncGeneratorStep(a,r,o,i,c,"throw",e)}i(void 0)})}}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}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,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)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 t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _object_without_properties(e,t){if(null==e)return{};var n,r,o,a={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=_object_without_properties_loose(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_array(e){return _array_with_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_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,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var n,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),c=Object.defineProperty;return c(i,"next",{value:s(0)}),c(i,"throw",{value:s(1)}),c(i,"return",{value:s(2)}),"function"==typeof Symbol&&c(i,Symbol.iterator,{value:function(){return this}}),i;function s(c){return function(s){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function _ts_values(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.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(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var Walkerjs=function(){var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},Ve,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},t=function(e){return Array.isArray(e)},n=function(e){return void 0!==e},r=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},o=function(e){return"string"==typeof e},a=function(e,t,n){if(!r(e))return e;for(var o=$e(e),a=t.split("."),i=o,c=0;c<a.length;c++){var s=a[c];c===a.length-1?i[s]=n:(s in i&&"object"==_type_of(i[s])&&null!==i[s]||(i[s]={}),i=i[s])}return o},i=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},c=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t="";t.length<e;)t+=(36*Math.random()|0).toString(36);return t},s=function(e){var t,n=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,c=new Array(i),s=0;s<i;s++)c[s]=arguments[s];return new Promise(function(i){var s=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(t=e.apply(void 0,_to_consumable_array(c)),i(t))},n),s&&(a=!0,t=e.apply(void 0,_to_consumable_array(c)),i(t))})}},u=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},l=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=u(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=u(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=u(r.error)):r.value=t),{message:n,context:r}},f=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return et({level:void 0!==t.level?(e=t.level,"string"==typeof e?ze[e]:e):0,handler:t.handler,scope:[]})},d=function(e){return tt(e)?e:void 0},_=function(e,t,n){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(!t)return;return t(e)}finally{null==n||n()}}},g=function(e,t,n){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(),t?[4,t(r)]:[2];case 4:return[4,null==n?void 0:n()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},v=function(e,n){return _async_to_generator(function(){var r,o,a,i,c,s,u,l,f,d;return _ts_generator(this,function(_){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],n&&a&&i?(s="",l=i,f=function(n){if(n)return(n=t(n)?n:[n]).find(function(t){return!t.condition||t.condition(e)})},n[u=a]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),c=f(d[l])),c||(u="*",l="*",c=f(null===(r=n[u])||void 0===r?void 0:r[l])),c&&(s="".concat(u," ").concat(l)),{eventMapping:c,mappingKey:s})]):[2,{}]})})()},p=function(e){return _async_to_generator(function(e){var o,a,i,c,s,u,l,f,d,_,v,p,y,m=arguments;return _ts_generator(this,function(h){switch(h.label){case 0:if(o=m.length>1&&void 0!==m[1]?m[1]:{},a=m.length>2&&void 0!==m[2]?m[2]:{},!n(e))return[2];c=r(e)&&e.consent||a.consent||(null===(i=a.collector)||void 0===i?void 0:i.consent),s=t(o)?o:[o],u=!0,l=!1,f=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),d=s[Symbol.iterator](),h.label=2;case 2:return(u=(_=d.next()).done)?[3,5]:(v=_.value,[4,g(nt)(e,v,_object_spread_props(_object_spread({},a),{consent:c}))]);case 3:if(p=h.sent(),n(p))return[2,p];h.label=4;case 4:return u=!0,[3,2];case 5:return[3,8];case 6:return y=h.sent(),l=!0,f=y,[3,8];case 7:try{u||null==d.return||d.return()}finally{if(l)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},y=function(t,n,o){return _async_to_generator(function(){var i,c,s,u,l,f,d;return _ts_generator(this,function(_){switch(_.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(e){var n=_sliced_to_array(e,2),r=n[0],i=n[1];return _async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,p(t,i,{collector:o})];case 1:return e=n.sent(),t=a(t,r,e),[2]}})})()}))]:[3,2];case 1:_.sent(),_.label=2;case 2:return[4,v(t,n.mapping)];case 3:return i=_.sent(),c=i.eventMapping,s=i.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(e){var n=_sliced_to_array(e,2),r=n[0],i=n[1];return _async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,p(t,i,{collector:o})];case 1:return e=n.sent(),t=a(t,r,e),[2]}})})()}))]:[3,5];case 4:_.sent(),_.label=5;case 5:return(l=n.data)?[4,p(t,n.data,{collector:o})]:[3,7];case 6:l=_.sent(),_.label=7;case 7:return u=l,c?c.ignore?[2,{event:t,data:u,mapping:c,mappingKey:s,ignore:!0}]:(c.name&&(t.name=c.name),c.data?(d=c.data)?[4,p(t,c.data,{collector:o})]:[3,9]:[3,10]):[3,10];case 8:d=_.sent(),_.label=9;case 9:f=d,u=r(u)&&r(f)?e(u,f):f,_.label=10;case 10:return[2,{event:t,data:u,mapping:c,mappingKey:s,ignore:!1}]}})})()},m=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];var i,c="post"+t,s=n["pre"+t],u=n[c];return i=s?s.apply(void 0,[{fn:e}].concat(_to_consumable_array(o))):e.apply(void 0,_to_consumable_array(o)),u&&(i=u.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(o)))),i}},h=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",i=e.logger.scope(a).scope("on").scope(r),c={collector:e,logger:i,id:n,config:t.config,data:o,env:L(t.env,t.config.env)};_(t.on)(r,c)}},b=function(e,t,n,r){var o,a,i,c,s=n||[];switch(n||(s=e.on[t]||[]),t){case ot.Commands.Consent:o=r||e.consent;break;case ot.Commands.Session:o=e.session;break;case ot.Commands.Ready:case ot.Commands.Run:default:o=void 0}if(Object.values(e.sources).forEach(function(e){e.on&&_(e.on)(t,o)}),Object.entries(e.destinations).forEach(function(n){var r=_sliced_to_array(n,2),a=r[0],i=r[1];if(i.on){if(!i.config.init)return i.queueOn=i.queueOn||[],void i.queueOn.push({type:t,data:o});h(e,i,a,t,o)}}),s.length)switch(t){case ot.Commands.Consent:a=e,i=s,c=r||a.consent,i.forEach(function(e){Object.keys(c).filter(function(t){return t in e}).forEach(function(t){_(e[t])(a,c)})});break;case ot.Commands.Ready:case ot.Commands.Run:!function(e,t){e.allowed&&t.forEach(function(t){_(t)(e)})}(e,s);break;case ot.Commands.Session:!function(e,t){e.session&&t.forEach(function(t){_(t)(e,e.session)})}(e,s)}},w=function(e,t,n){return _async_to_generator(function(){var r,o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(r=t.type||"unknown",o=e.logger.scope("transformer:".concat(r)),a={collector:e,logger:o,id:n,config:t.config,env:O(t.config.env)},o.debug("init"),[4,m(t.init,"TransformerInit",e.hooks)(a)]);case 1:if(!1===(i=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},i||t.config),{init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},j=function(e,t,n,r,o){return _async_to_generator(function(){var a,i,c,s;return _ts_generator(this,function(u){switch(u.label){case 0:return a=t.type||"unknown",i=e.logger.scope("transformer:".concat(a)),c={collector:e,logger:i,id:n,ingest:o,config:t.config,env:O(t.config.env)},i.debug("push",{event:r.name}),[4,m(t.push,"TransformerPush",e.hooks)(r,c)];case 1:return s=u.sent(),[2,(i.debug("push done"),s)]}})})()},k=function(e,t,n,r,o){return _async_to_generator(function(){var a,i,c,s,u,l,f,d,_;return _ts_generator(this,function(v){switch(v.label){case 0:a=r,i=!0,c=!1,s=void 0,v.label=1;case 1:v.trys.push([1,6,7,8]),u=function(){var n,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return n=f.value,(r=t[n])?[4,g(w)(e,r,n)]:(e.logger.info("Transformer not found: ".concat(n)),[2,"continue"]);case 1:return c.sent()?[4,g(j,function(t){return e.logger.scope("transformer:".concat(r.type||"unknown")).error("Push failed",{error:t}),!1})(e,r,n,a,o)]:[2,{v:(e.logger.info("Transformer init failed: ".concat(n)),null)}];case 2:return!1===(i=c.sent())?[2,{v:null}]:(void 0!==i&&(a=i),[2])}})},l=n[Symbol.iterator](),v.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:[5,_ts_values(u())];case 3:if("object"===_type_of(d=v.sent()))return[2,d.v];v.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return _=v.sent(),c=!0,s=_,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw s}return[7];case 8:return[2,a]}})})()},O=function(e){return e&&r(e)?e:{}},S=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,s,u,l,f;return _ts_generator(this,function(d){if(r=t.code,o=t.config,a=void 0===o?{}:o,i=t.env,s=void 0===i?{}:i,u=n||a||{init:!1},l=_object_spread_props(_object_spread({},r),{config:u,env:L(r.env,s)}),!(f=l.config.id))do{f=c(4)}while(e.destinations[f]);return[2,(e.destinations[f]=l,!1!==l.config.queue&&(l.queuePush=_to_consumable_array(e.queue)),E(e,void 0,{},_define_property({},f,l)))]})})()},E=function(t,n,r){return _async_to_generator(function(t,n){var r,o,a,c,s,u,l,f,d,_,v,p,y,m,h,b,w,j,O=arguments;return _ts_generator(this,function(S){switch(S.label){case 0:return r=O.length>2&&void 0!==O[2]?O[2]:{},o=O.length>3?O[3]:void 0,a=t.allowed,c=t.consent,s=t.globals,u=t.user,a?(n&&t.queue.push(n),o||(o=t.destinations),[4,Promise.all(Object.entries(o||{}).map(function(o){var a=_sliced_to_array(o,2),l=a[0],f=a[1];return _async_to_generator(function(){var o,a,d,_,v,p,y,m,h,b,w,j;return _ts_generator(this,function(O){switch(O.label){case 0:return v=(f.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:c})}),f.queuePush=[],n&&(p=$e(n),v.push(p)),v.length||(null===(o=f.queueOn)||void 0===o?void 0:o.length)?v.length||!(null===(a=f.queueOn)||void 0===a?void 0:a.length)?[3,2]:[4,g(x)(t,f,l)]:[2,{id:l,destination:f,skipped:!0}];case 1:return y=O.sent(),[2,{id:l,destination:f,skipped:!y}];case 2:return m=[],h=v.filter(function(e){var t=i(f.config.consent,c,e.consent);return!t||(e.consent=t,m.push(e),!1)}),f.queuePush.concat(h),m.length?[4,g(x)(t,f,l)]:[2,{id:l,destination:f,queue:v}];case 3:return O.sent()?(f.dlq||(f.dlq=[]),j=(null===(_=t.transformerChain)||void 0===_||null===(d=_.post)||void 0===d?void 0:d[l])||[],[4,Promise.all(m.map(function(n){return _async_to_generator(function(){var o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return n.globals=e(s,n.globals),n.user=e(u,n.user),o=n,j.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,k(t,t.transformers,j,n,r.ingest)]:[3,2];case 1:if(null===(a=c.sent()))return[2,n];o=a,c.label=2;case 2:return[4,g(A,function(e){var n=f.type||"unknown";t.logger.scope(n).error("Push failed",{error:e,event:o.name}),b=e,f.dlq.push([o,e])})(t,f,l,o,r.ingest)];case 3:return[2,(void 0!==(i=c.sent())&&(w=i),n)]}})})()}))]):[2,{id:l,destination:f,queue:v}];case 4:return[2,(O.sent(),{id:l,destination:f,error:b,response:w})]}})})()}))]):[2,C({ok:!1})];case 1:l=S.sent(),f={},d={},_={},v=!0,p=!1,y=void 0;try{for(m=l[Symbol.iterator]();!(v=(h=m.next()).done);v=!0)(b=h.value).skipped||(w=b.destination,j={type:w.type||"unknown",data:b.response},b.error?(j.error=b.error,_[b.id]=j):b.queue&&b.queue.length?(w.queuePush=(w.queuePush||[]).concat(b.queue),d[b.id]=j):f[b.id]=j)}catch(e){p=!0,y=e}finally{try{v||null==m.return||m.return()}finally{if(p)throw y}}return[2,C(_object_spread({event:n},Object.keys(f).length&&{done:f},Object.keys(d).length&&{queued:d},Object.keys(_).length&&{failed:_}))]}})}).apply(this,arguments)},x=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,s,u,l,f,d,_,g,v,p;return _ts_generator(this,function(y){switch(y.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=e.logger.scope(o),i={collector:e,logger:a,id:n,config:t.config,env:L(t.env,t.config.env)},a.debug("init"),[4,m(t.init,"DestinationInit",e.hooks)(i)]);case 1:if(!1===(c=y.sent()))return[2,c];if(t.config=_object_spread_props(_object_spread({},c||t.config),{init:!0}),null===(r=t.queueOn)||void 0===r?void 0:r.length){s=t.queueOn,t.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=s[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)g=_.value,v=g.type,p=g.data,h(e,t,n,v,p)}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]}})})()},A=function(e,t,r,o,a){return _async_to_generator(function(){var i,c,u,l,f,d,_,g,v,p;return _ts_generator(this,function(h){switch(h.label){case 0:return i=t.config,[4,y(o,i,e)];case 1:return(c=h.sent()).ignore?[2,!1]:(u=t.type||"unknown",l=e.logger.scope(u),f={collector:e,logger:l,id:r,config:i,data:c.data,rule:c.mapping,ingest:a,env:L(t.env,i.env)},d=c.mapping,_=c.mappingKey||"* *",(null==d?void 0:d.batch)&&t.pushBatch?[3,3]:(l.debug("push",{event:c.event.name}),[4,m(t.push,"DestinationPush",e.hooks)(c.event,f)]));case 2:return g=h.sent(),[2,(l.debug("push done"),g)];case 3:return t.batches=t.batches||{},t.batches[_]||(v={key:_,events:[],data:[]},t.batches[_]={batched:v,batchFn:s(function(){var n=t.batches[_].batched,o={collector:e,logger:l,id:r,config:i,data:void 0,rule:d,ingest:a,env:L(t.env,i.env)};l.debug("push batch",{events:n.events.length}),m(t.pushBatch,"DestinationPushBatch",e.hooks)(n,o),l.debug("push batch done"),n.events=[],n.data=[]},d.batch)}),(p=t.batches[_]).batched.events.push(c.event),n(c.data)&&p.batched.data.push(c.data),p.batchFn(),[2,!0]}})})()},C=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},P=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,f,d,_,g,v,p,y,m=arguments;return _ts_generator(this,function(e){t=m.length>1&&void 0!==m[1]?m[1]:{},n={},r=!0,o=!1,a=void 0;try{for(i=Object.entries(t)[Symbol.iterator]();!(r=(c=i.next()).done);r=!0)s=_sliced_to_array(c.value,2),u=s[0],l=s[1],f=l.code,d=l.config,_=void 0===d?{}:d,g=l.env,v=void 0===g?{}:g,p=_object_spread({},f.config,_),y=L(f.env,v),n[u]=_object_spread_props(_object_spread({},f),{config:p,env:y})}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return[2,n]})}).apply(this,arguments)},L=function(e,t){return e||t?t?e&&r(e)&&r(t)?_object_spread({},e,t):t:e:{}},q=function(t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=t.consent,o=!1,a={},[2,(Object.entries(n).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=!!t[1];a[n]=r,o=o||r}),t.consent=e(r,a),b(t,"consent",void 0,a),o?E(t):C({ok:!0}))]})})()},R=function(n,a,i,c){return _async_to_generator(function(){var s,u;return _ts_generator(this,function(l){switch(l.label){case 0:switch(a){case ot.Commands.Config:return[3,1];case ot.Commands.Consent:return[3,2];case ot.Commands.Custom:return[3,5];case ot.Commands.Destination:return[3,6];case ot.Commands.Globals:return[3,9];case ot.Commands.On:return[3,10];case ot.Commands.Ready:return[3,11];case ot.Commands.Run:return[3,12];case ot.Commands.Session:return[3,14];case ot.Commands.User:return[3,15]}return[3,16];case 1:return r(i)&&e(n.config,i,{shallow:!1}),[3,16];case 2:return r(i)?[4,q(n,i)]:[3,4];case 3:s=l.sent(),l.label=4;case 4:return[3,16];case 5:return r(i)&&(n.custom=e(n.custom,i)),[3,16];case 6:return u=r(i)&&function(e){return"function"==typeof e}(i.push),u?[4,S(n,{code:i},c)]:[3,8];case 7:u=s=l.sent(),l.label=8;case 8:return[3,16];case 9:return r(i)&&(n.globals=e(n.globals,i)),[3,16];case 10:return o(i)&&function(e,n,r){var o=e.on,a=o[n]||[],i=t(r)?r:[r];i.forEach(function(e){a.push(e)}),o[n]=a,b(e,n,i)}(n,i,c),[3,16];case 11:return b(n,"ready"),[3,16];case 12:return[4,I(n,i)];case 13:return s=l.sent(),[3,16];case 14:return b(n,"session"),[3,16];case 15:r(i)&&e(n.user,i,{shallow:!1}),l.label=16;case 16:return[2,s||C({ok:!0})]}})})()},I=function(t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return t.allowed=!0,t.count=0,t.group=c(),t.timing=Date.now(),n&&(n.consent&&(t.consent=e(t.consent,n.consent)),n.user&&(t.user=e(t.user,n.user)),n.globals&&(t.globals=e(t.config.globalsStatic||{},n.globals)),n.custom&&(t.custom=e(t.custom,n.custom))),Object.values(t.destinations).forEach(function(e){e.queuePush=[]}),t.queue=[],t.round++,[4,E(t)];case 1:return r=o.sent(),[2,(b(t,"run"),r)]}})})()},U=function(e,t){return m(function(n){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,g(function(){return _async_to_generator(function(){var o,a,c,s,u,l,f,d,_,g;return _ts_generator(this,function(v){switch(v.label){case 0:return o=r.id,a=r.ingest,c=r.mapping,s=r.preChain,u=n,l=a?Object.freeze(a):void 0,c?[4,y(u,c,e)]:[3,2];case 1:if((f=v.sent()).ignore)return[2,C({ok:!0})];if(c.consent&&!i(c.consent,e.consent,f.event.consent))return[2,C({ok:!0})];u=f.event,v.label=2;case 2:return(null==s?void 0:s.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,k(e,e.transformers,s,u,l)]:[3,4];case 3:if(null===(d=v.sent()))return[2,C({ok:!0})];u=d,v.label=4;case 4:return _=t(u),g=function(e,t){if(!t.name)throw new Error("Event name is required");var n=_sliced_to_array(t.name.split(" "),2),r=n[0],o=n[1];if(!r||!o)throw new Error("Event name is invalid");++e.count;var a=t.timestamp,i=void 0===a?Date.now():a,c=t.group,s=void 0===c?e.group:c,u=t.count,l=void 0===u?e.count:u,f=t.name,d=void 0===f?"".concat(r," ").concat(o):f,_=t.data,g=void 0===_?{}:_,v=t.context,p=void 0===v?{}:v,y=t.globals,m=void 0===y?e.globals:y,h=t.custom,b=void 0===h?{}:h,w=t.user,j=void 0===w?e.user:w,k=t.nested,O=void 0===k?[]:k,S=t.consent,E=void 0===S?e.consent:S,x=t.id,A=void 0===x?"".concat(i,"-").concat(s,"-").concat(l):x,C=t.trigger,P=void 0===C?"":C,L=t.entity,q=void 0===L?r:L,R=t.action,I=void 0===R?o:R,U=t.timing,D=void 0===U?0:U,T=t.version,N=void 0===T?{source:e.version,tagging:e.config.tagging||0}:T,W=t.source;return{name:d,data:g,context:p,globals:m,custom:b,user:j,nested:O,consent:E,id:A,trigger:P,entity:q,action:I,timestamp:i,timing:D,group:s,count:l,version:N,source:void 0===W?{type:"collector",id:"",previous_id:""}:W}}(e,_),[4,E(e,g,{id:o,ingest:l})];case 5:return[2,v.sent()]}})})()},function(){return C({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks)},D=function(t){return _async_to_generator(function(){var n,r,o,a,i,c,s;return _ts_generator(this,function(u){switch(u.label){case 0:return o=e({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},t,{merge:!1,extend:!1}),a={level:null===(n=t.logger)||void 0===n?void 0:n.level,handler:null===(r=t.logger)||void 0===r?void 0:r.handler},i=f(a),c=_object_spread({},o.globalsStatic,t.globals),(s={allowed:!1,config:o,consent:t.consent||{},count:0,custom:t.custom||{},destinations:{},transformers:{},transformerChain:{pre:[],post:{}},globals:c,group:"",hooks:{},logger:i,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:t.user||{},version:"1.1.0",sources:{},push:void 0,command:void 0}).push=U(s,function(e){return _object_spread({timing:Math.round((Date.now()-s.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),s.command=(d=R,m(function(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,g(function(){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,d(l,e,t,n)];case 1:return[2,r.sent()]}})})()},function(){return C({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(l=s).hooks)),[4,P(0,t.destinations||{})];case 1:return s.destinations=u.sent(),[4,function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,f,d,_,g,v,p,y,m,h=arguments;return _ts_generator(this,function(b){switch(b.label){case 0:t=h.length>1&&void 0!==h[1]?h[1]:{},n={},r=!0,o=!1,a=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),b.label=2;case 2:return(r=(c=i.next()).done)?[3,5]:(s=_sliced_to_array(c.value,2),u=s[0],l=s[1],f=l.code,d=l.config,_=void 0===d?{}:d,g=l.env,v=void 0===g?{}:g,p=e.logger.scope("transformer").scope(u),[4,f({collector:e,logger:p,id:u,config:_,env:v})]);case 3:y=b.sent(),n[u]=y,b.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return m=b.sent(),o=!0,a=m,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)}(s,t.transformers||{})];case 2:return[2,(s.transformers=u.sent(),s)]}var l,d})})()},T=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l=arguments;return _ts_generator(this,function(f){switch(f.label){case 0:t=l.length>1&&void 0!==l[1]?l[1]:{},n={},r=!0,o=!1,a=void 0,f.label=1;case 1:f.trys.push([1,6,7,8]),i=function(){var t,r,o,a,i,c,u,l,f,d,_,v,y,m,h,b,w,j,k;return _ts_generator(this,function(O){switch(O.label){case 0:return t=_sliced_to_array(s.value,2),r=t[0],o=t[1],a=o.code,i=o.config,c=void 0===i?{}:i,u=o.env,l=void 0===u?{}:u,f=o.primary,d=o.next,_=void 0,v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var n=[],r=new Set,o=e;o&&t[o]&&!r.has(o);){r.add(o),n.push(o);var a=t[o].next;if(Array.isArray(a)){var i;(i=n).push.apply(i,_to_consumable_array(a));break}o=a}return n}(d,function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,i=Object.entries(e)[Symbol.iterator]();!(n=(a=i.next()).done);n=!0){var c=_sliced_to_array(a.value,2),s=c[0],u=c[1];t[s]={next:u.config.next}}}catch(e){r=!0,o=e}finally{try{n||null==i.return||i.return()}finally{if(r)throw o}}return t}(e.transformers)),y=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.push(t,_object_spread_props(_object_spread({},n),{id:r,ingest:_,mapping:c,preChain:v}))},m=e.logger.scope("source").scope(r),h=_object_spread({push:y,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:m},l),b={collector:e,logger:m,id:r,config:c,env:h,setIngest:function(t){return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return c.ingest?[4,p(t,c.ingest,{collector:e})]:[3,2];case 1:return n=r.sent(),[3,3];case 2:n=void 0,r.label=3;case 3:return _=n,[2]}})})()}},[4,g(a)(b)];case 1:return(w=O.sent())?(j=w.type||"unknown",k=e.logger.scope(j).scope(r),h.logger=k,f&&(w.config=_object_spread_props(_object_spread({},w.config),{primary:f})),n[r]=w,[2]):[2,"continue"]}})},c=Object.entries(t)[Symbol.iterator](),f.label=2;case 2:return(r=(s=c.next()).done)?[3,5]:[5,_ts_values(i())];case 3:f.sent(),f.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return u=f.sent(),o=!0,a=u,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)},N=function(e,t){return(e.getAttribute(t)||"").trim()},W=function(e){var t,n=getComputedStyle(e);if("none"===n.display)return!1;if("visible"!==n.visibility)return!1;if(n.opacity&&Number(n.opacity)<.1)return!1;var r=window.innerHeight,o=e.getBoundingClientRect(),a=o.height,i=o.y,c=i+a,s={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(a<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(s.x<0)return!1;if(s.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(s.y<0)return!1;if(s.y>(document.documentElement.clientHeight||window.innerHeight))return!1;t=document.elementFromPoint(s.x,s.y)}else{var u=r/2;if(i<0&&c<u)return!1;if(c>r&&i>u)return!1;t=document.elementFromPoint(s.x,r/2)}if(t)do{if(t===e)return!0}while(t=t.parentElement);return!1},X=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ye.Utils.Storage.Session;function o(e){try{return JSON.parse(e||"")}catch(r){var t=1,n="";return e&&(t=0,n=e),{e:t,v:n}}}switch(r){case Ye.Utils.Storage.Cookie:var a;t=decodeURIComponent((null===(a=document.cookie.split("; ").find(function(t){return t.startsWith(e+"=")}))||void 0===a?void 0:a.split("=")[1])||"");break;case Ye.Utils.Storage.Local:n=o(window.localStorage.getItem(e));break;case Ye.Utils.Storage.Session:n=o(window.sessionStorage.getItem(e))}return n&&(t=n.v,0!=n.e&&n.e<Date.now()&&(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ye.Utils.Storage.Session;switch(t){case Ye.Utils.Storage.Cookie:G(e,"",0,t);break;case Ye.Utils.Storage.Local:window.localStorage.removeItem(e);break;case Ye.Utils.Storage.Session:window.sessionStorage.removeItem(e)}}(e,r),t="")),function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)}(t||"")},G=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ye.Utils.Storage.Session,o=arguments.length>4?arguments[4]:void 0,a={e:Date.now()+6e4*n,v:String(t)},i=JSON.stringify(a);switch(r){case Ye.Utils.Storage.Cookie:t="object"==(void 0===t?"undefined":_type_of(t))?JSON.stringify(t):t;var c="".concat(e,"=").concat(encodeURIComponent(t),"; max-age=").concat(60*n,"; path=/; SameSite=Lax; secure");o&&(c+="; domain="+o),document.cookie=c;break;case Ye.Utils.Storage.Local:window.localStorage.setItem(e,i);break;case Ye.Utils.Storage.Session:window.sessionStorage.setItem(e,i)}return X(e,r)},M=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},ut,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},K=function(e){return Array.isArray(e)},B=function(e){return e===document||_instanceof(e,Element)},H=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!K(e)&&"[object Object]"===Object.prototype.toString.call(e)},F=function(e){return"string"==typeof e},J=function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)},z=function(e,t,n){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(!t)return;return t(e)}finally{null==n||n()}}},Y=function(e){return e?e.trim().replace(/^'|'$/g,"").trim():""},V=function(e,t){return e+(null!=t?(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?"-":"")+t:"")},$=function(e,t,n){return ie(N(t,V(e,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]))||"").reduce(function(e,n){var r=_sliced_to_array(ce(n),2),o=r[0],a=r[1];if(!o)return e;if(a||(o.endsWith(":")&&(o=o.slice(0,-1)),a=""),a.startsWith("#")){a=a.slice(1);try{var i=t[a];i||"selected"!==a||(i=t.options[t.selectedIndex].text),a=String(i)}catch(i){a=""}}return o.endsWith("[]")?(o=o.slice(0,-2),K(e[o])||(e[o]=[]),e[o].push(J(a))):e[o]=J(a),e},{})},Q=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ot.Commands.Prefix,r=e||document.body;if(!r)return[];var o=[],a=ot.Commands.Action,i="[".concat(V(n,a,!1),"]"),c=function(e){Object.keys($(n,e,a,!1)).forEach(function(t){o=o.concat(Z(e,t,n))})};return r!==document&&(null==(t=r.matches)?void 0:t.call(r,i))&&c(r),ae(r,i,c),o},Z=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ot.Commands.Prefix,r=[],o=function(e,t,n){for(var r=t;r;){var o=N(r,V(e,ot.Commands.Actions,!1));if(o){var a=te(o);if(a[n])return{actions:a[n],nearestOnly:!1}}var i=N(r,V(e,ot.Commands.Action,!1));if(i){var c=te(i);if(c[n]||"click"!==n)return{actions:c[n]||[],nearestOnly:!0}}r=re(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t),a=o.actions,i=o.nearestOnly;return a.length?(a.forEach(function(o){var a=ie(o.actionParams||"",",").reduce(function(e,t){return e[Y(t)]=!0,e},{}),c=ne(n,e,a,i);if(!c.length){var s="page",u="[".concat(V(n,s),"]"),l=_sliced_to_array(oe(e,u,n,s),2),f=l[0],d=l[1];c.push({entity:s,data:f,nested:[],context:d})}c.forEach(function(e){r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r},ee=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ot.Commands.Prefix,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,n=V(e,ot.Commands.Globals,!1),r={};return ae(t,"[".concat(n,"]"),function(t){r=M(r,$(e,t,ot.Commands.Globals,!1))}),r},te=function(e){var t={};return ie(e).forEach(function(e){var n=_sliced_to_array(ce(e),2),r=n[0],o=n[1],a=_sliced_to_array(se(r),2),i=a[0],c=a[1];if(i){var s=_sliced_to_array(se(o||""),2),u=s[0],l=s[1];u=u||i,t[i]||(t[i]=[]),t[i].push({trigger:i,triggerParams:c,action:u,actionParams:l})}}),t},ne=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],a=t;for(n=0!==Object.keys(n||{}).length?n:void 0;a;){var i=lt(e,a,t,n);if(i&&(o.push(i),r))break;a=re(e,a)}return o},re=function(e,t){var n=V(e,ot.Commands.Link,!1);if(t.matches("[".concat(n,"]"))){var r=_sliced_to_array(ce(N(t,n)),2),o=r[0];if("child"===r[1])return document.querySelector("[".concat(n,'="').concat(o,':parent"]'))}return!t.parentElement&&t.getRootNode&&_instanceof(t.getRootNode(),ShadowRoot)?t.getRootNode().host:t.parentElement},oe=function(e,t,n,r){for(var o={},a={},i=e,c="[".concat(V(n,ot.Commands.Context,!1),"]"),s=0;i;)i.matches(t)&&(o=M($(n,i,""),o),o=M($(n,i,r),o)),i.matches(c)&&(Object.entries($(n,i,ot.Commands.Context,!1)).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=t[1];r&&!a[n]&&(a[n]=[r,s])}),++s),i=re(n,i);return[o,a]},ae=function(e,t,n){e.querySelectorAll(t).forEach(n)},ie=function(e){if(!e)return[];var t=new RegExp("(?:[^".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:";","']+|'[^']*')+"),"ig");return e.match(t)||[]},ce=function(e){var t=_sliced_to_array(e.split(/:(.+)/,2),2),n=t[0],r=t[1];return[Y(n),Y(r)]},se=function(e){var t=_sliced_to_array(e.split("(",2),2),n=t[0],r=t[1];return[n,r?r.slice(0,-1):""]},ue=function(e){var t=Date.now(),n=_t.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:W(e),lastChecked:t},_t.set(e,n)),n.isVisible},le=function(e){if(window.IntersectionObserver)return z(function(){return new window.IntersectionObserver(function(t){t.forEach(function(t){!function(e,t){var n,r,o=t.target,a=gt.get(e);if(a){var i=a.timers.get(o);if(t.intersectionRatio>0){var c=Date.now(),s=dt.get(o);if((!s||c-s.lastChecked>1e3)&&(s={isLarge:o.offsetHeight>window.innerHeight,lastChecked:c},dt.set(o,s)),t.intersectionRatio>=.5||s.isLarge&&ue(o)){var u=null==(n=a.elementConfigs)?void 0:n.get(o);if((null==u?void 0:u.multiple)&&u.blocked)return;if(!i){var l=window.setTimeout(function(){return _async_to_generator(function(){var t,n,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return ue(o)?(r=null==(t=a.elementConfigs)?void 0:t.get(o),(null==r?void 0:r.context)?[4,ye(r.context,o,r.trigger)]:[3,2]):[3,3];case 1:c.sent(),c.label=2;case 2:(null==(i=null==(n=a.elementConfigs)?void 0:n.get(o))?void 0:i.multiple)?i.blocked=!0:function(e,t){var n=gt.get(e);if(n){n.observer&&n.observer.unobserve(t);var r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),dt.delete(t),_t.delete(t)}}(e,o),c.label=3;case 3:return[2]}})})()},a.duration);a.timers.set(o,l)}return}}i&&(clearTimeout(i),a.timers.delete(o));var f=null==(r=a.elementConfigs)?void 0:r.get(o);(null==f?void 0:f.multiple)&&(f.blocked=!1)}}(e,t)})},{rootMargin:"0px",threshold:[0,.5]})},function(){})()},fe=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{multiple:!1},o=e.settings.scope||document,a=gt.get(o);(null==a?void 0:a.observer)&&t&&(a.elementConfigs||(a.elementConfigs=new WeakMap),a.elementConfigs.set(t,{multiple:null!=(n=r.multiple)&&n,blocked:!1,context:e,trigger:r.multiple?"visible":"impression"}),a.observer.observe(t))},de=function(e){if(e){var t=gt.get(e);t&&(t.observer&&t.observer.disconnect(),gt.delete(e))}},_e=function(e,t,n,r,o,a,i){var c=e.elb,s=e.settings;if(F(t)&&t.startsWith("walker "))return c(t,n);if(H(t)){var u=t;return u.source||(u.source=ge()),u.globals||(u.globals=ee(s.prefix,s.scope||document)),c(u)}var l,f=_sliced_to_array(String(H(t)?t.name:t).split(" "),1)[0],d=H(n)?n:{},_={},g=!1;if(B(n)&&(l=n,g=!0),B(o)?l=o:H(o)&&Object.keys(o).length&&(_=o),l){var v=ne(s.prefix||"data-elb",l).find(function(e){return e.entity===f});v&&(g&&(d=v.data),_=v.context)}"page"===f&&(d.id=d.id||window.location.pathname);var p=ee(s.prefix,s.scope);return c({name:String(t||""),data:d,context:_,globals:p,nested:a,custom:i,trigger:F(r)?r:"",source:ge()})},ge=function(){return{type:"browser",id:window.location.href,previous_id:document.referrer}},ve=function(e,t){var n,r;t.scope&&(n=e,(r=t.scope)&&(r.addEventListener("click",z(function(e){he.call(this,n,e)})),r.addEventListener("submit",z(function(e){be.call(this,n,e)}))))},pe=function(e,t){t.scope&&function(e,t){var n=t.scope;vt=[];var r=n||document;de(r),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;gt.has(e)||gt.set(e,{observer:le(e),timers:new WeakMap,duration:t})}(r,1e3);var o,a,i,c=V(t.prefix,ot.Commands.Action,!1);r!==document&&me(e,r,c,t),r.querySelectorAll("[".concat(c,"]")).forEach(function(n){me(e,n,c,t)}),vt.length&&(o=e,a=r,i=function(e,t){return e.filter(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1],a=window.scrollY+window.innerHeight,i=r.offsetTop;if(a<i)return!0;var c=r.clientHeight;return!(100*(1-(i+c-a)/(c||1))>=o&&(ye(t,r,bt),1))})},ft||(ft=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=null;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(null===n)return n=setTimeout(function(){n=null},t),e.apply(void 0,_to_consumable_array(o))}}(function(){vt=i.call(a,vt,o)}),a.addEventListener("scroll",ft)))}(e,t)},ye=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=Z(t,n,e.settings.prefix),[2,Promise.all(r.map(function(t){return _e(e,_object_spread_props(_object_spread({name:"".concat(t.entity," ").concat(t.action)},t),{trigger:n}))}))]})})()},me=function(e,t,n,r){var o=N(t,n);o&&Object.values(te(o)).forEach(function(n){return n.forEach(function(n){switch(n.trigger){case yt:r=e,t.addEventListener("mouseenter",z(function(e){_instanceof(e.target,Element)&&ye(r,e.target,yt)}));break;case mt:!function(e,t){ye(e,t,mt)}(e,t);break;case ht:!function(e,t){setInterval(function(){document.hidden||ye(e,t,ht)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams);break;case bt:!function(e){var t=parseInt((arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||"")||50;t<0||t>100||vt.push([e,t])}(t,n.triggerParams);break;case jt:fe(e,t);break;case kt:fe(e,t,{multiple:!0});break;case Ot:!function(e,t){setTimeout(function(){return ye(e,t,Ot)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams)}var r})})},he=function(e,t){ye(e,t.target,pt)},be=function(e,t){t.target&&ye(e,t.target,wt)},we=function(e,t,n,r){var o=[],a=!0;n.forEach(function(e){var t,n=ke(e)?_to_consumable_array(Array.from(e)):null!=(t=e)&&"object"==(void 0===t?"undefined":_type_of(t))&&"length"in t&&"number"==typeof t.length?Array.from(e):[e];if((!Array.isArray(n)||0!==n.length)&&(!Array.isArray(n)||1!==n.length||n[0])){var i=n[0],c=!H(i)&&F(i)&&i.startsWith("walker ");if(H(i)){if("object"==(void 0===i?"undefined":_type_of(i))&&0===Object.keys(i).length)return}else{var s=Array.from(n);if(!F(s[0])||""===s[0].trim())return;a&&"walker run"===s[0]&&(a=!1)}(r&&c||!r&&!c)&&o.push(n)}}),o.forEach(function(n){je(e,t,n)})},je=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;z(function(){if(Array.isArray(n)){var r=_to_array(n),o=r[0],a=r.slice(1);if(!o||F(o)&&""===o.trim())return;if(F(o)&&o.startsWith("walker "))return void e(o,a[0]);_e.apply(void 0,[{elb:e,settings:{prefix:t,scope:document,pageview:!1,elb:"",elbLayer:!1}},o].concat(_to_consumable_array(a)))}else if(n&&"object"==(void 0===n?"undefined":_type_of(n))){if(0===Object.keys(n).length)return;e(n)}},function(){})()},ke=function(e){return null!=e&&"object"==(void 0===e?"undefined":_type_of(e))&&"[object Arguments]"===Object.prototype.toString.call(e)},Oe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.isStart||!1,r={isStart:n,storage:!1};if(!1===t.isStart)return r;if(!n&&"navigate"!==_sliced_to_array(performance.getEntriesByType("navigation"),1)[0].type)return r;var o=new URL(t.url||window.location.href),a=t.referrer||document.referrer,i=a&&new URL(a).hostname,s=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="clickId",o={},a={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:r,fbclid:r,gclid:r,msclkid:r,ttclid:r,twclid:r,igshid:r,sclid:r};return Object.entries(e(a,n)).forEach(function(e){var n=_sliced_to_array(e,2),a=n[0],i=n[1],c=t.searchParams.get(a);c&&(i===r&&(i=a,o[r]=a),o[i]=c)}),o}(o,t.parameters);if(Object.keys(s).length&&(s.marketing||(s.marketing=!0),n=!0),!n){var u=t.domains||[];u.push(o.hostname),n=!u.includes(i)}return n?Object.assign({isStart:n,storage:!1,start:Date.now(),id:c(12),referrer:i},s,t.data):r},Se=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now(),n=e.length,r=void 0===n?30:n,o=e.deviceKey,a=void 0===o?"elbDeviceId":o,i=e.deviceStorage,s=void 0===i?"local":i,u=e.deviceAge,l=void 0===u?30:u,f=e.sessionKey,d=void 0===f?"elbSessionId":f,g=e.sessionStorage,v=void 0===g?"local":g,p=e.pulse,y=void 0!==p&&p,m=Oe(e),h=!1,b=_(function(e,t,n){var r=X(e,n);return r||(r=c(8),G(e,r,1440*t,n)),String(r)})(a,l,s),w=_(function(e,n){var o=JSON.parse(String(X(e,n)));return y||(o.isNew=!1,m.marketing&&(Object.assign(o,m),h=!0),h||o.updated+6e4*r<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,h=!0):o.runs++),o},function(){h=!0})(d,v)||{},j={id:c(12),start:t,isNew:!0,count:1,runs:1},k=Object.assign(j,m,w,{device:b},{isStart:h,storage:!0,updated:t},e.data);return G(d,JSON.stringify(k),2*r,v),k},Ee=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.cb,r=e.consent,o=e.collector,a=e.storage;if(!r)return xe((a?Se:Oe)(e),o,n);var i=Ae(e,n),c=(t(r)?r:[r]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,i))},{});o&&o.command("on","consent",c)},xe=function(e,t,n){return!1===n?e:(n||(n=Lt),n(e,t,Lt))},Ae=function(e,r){var o;return function(a,c){if(!n(o)||o!==(null==a?void 0:a.group)){o=null==a?void 0:a.group;var s=function(){return Oe(e)};if(e.consent){var u=(t(e.consent)?e.consent:[e.consent]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,!0))},{});i(u,c)&&(s=function(){return Se(e)})}return xe(s(),a,r)}}},Ce=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;if(!n.filter||!0!==_(function(){return n.filter(a)},function(){return!1})()){var i,c,s=r(i=a)&&o(i.event)?_object_spread({name:i.event},_object_without_properties(i,["event"])):t(i)&&i.length>=2?Pe(i):null!=(c=i)&&"object"==(void 0===c?"undefined":_type_of(c))&&"length"in c&&"number"==typeof c.length&&c.length>0?Pe(Array.from(i)):null;if(s){var u="".concat(n.prefix||"dataLayer"," ").concat(s.name),l=(s.name,{name:u,data:_object_without_properties(s,["name"])});_(function(){return e(l)},function(){})()}}},Pe=function(e){var t=_sliced_to_array(e,3),n=t[0],a=t[1],i=t[2];if(!o(n))return null;var c,s={};switch(n){case"consent":if(!o(a)||e.length<3)return null;if("default"!==a&&"update"!==a)return null;if(!r(i)||null===i)return null;c="".concat(n," ").concat(a),s=_object_spread({},i);break;case"event":if(!o(a))return null;c=a,r(i)&&(s=_object_spread({},i));break;case"config":if(!o(a))return null;c="".concat(n," ").concat(a),r(i)&&(s=_object_spread({},i));break;case"set":if(o(a))c="".concat(n," ").concat(a),r(i)&&(s=_object_spread({},i));else{if(!r(a))return null;c="".concat(n," custom"),s=_object_spread({},a)}break;default:return null}return _object_spread({name:c},s)},Le=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},qe=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},Re=function(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]},Ie=function(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]},Ue=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},De=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},Te=function(){return["set",{currency:"EUR",country:"DE"}]},Ne=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},We=function(){window.dataLayer=window.dataLayer||[];var e=function(e){r(e)&&r(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:function(t,n){e(n.data||t)},pushBatch:function(t){e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}},Xe=function(){return _async_to_generator(function(){var t,n,o,a,i,c,s,u=arguments;return _ts_generator(this,function(l){switch(l.label){case 0:return t=u.length>0&&void 0!==u[0]?u[0]:{},n={collector:{destinations:{dataLayer:{code:We()}}},browser:{},session:!0,dataLayer:!1,elb:"elb",run:!0},o=e(n,t),a=_object_spread_props(_object_spread({},o.collector),{sources:{browser:{code:Pt,config:{settings:o.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}}),!1!==o.session&&(i=r(o.session)?o.session:{},a.sources&&(a.sources.session={code:qt,config:{settings:i}})),o.dataLayer&&(c=r(o.dataLayer)?o.dataLayer:{},a.sources&&(a.sources.dataLayer={code:Yt,config:{settings:c}})),[4,(f=a,_async_to_generator(function(){var e,t,n,r,o,a,i,c,s,u,l;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,D(f=f||{})];case 1:return e=d.sent(),n=e,t={type:"elb",config:{},push:function(e,t,r,o,a,i){return _async_to_generator(function(){var c,s;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return c=e.replace("walker ",""),[2,n.command(c,t,r)];if("string"==typeof e)s={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,C({ok:!1})];s=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=_object_spread({},s.data||{},t))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(s.context=o),a&&Array.isArray(a)&&(s.nested=a),i&&"object"==(void 0===i?"undefined":_type_of(i))&&(s.custom=i),n.push(s))]})})()}},e.sources.elb=t,[4,T(e,f.sources||{})];case 2:return r=d.sent(),Object.assign(e.sources,r),o=f.consent,a=f.user,i=f.globals,c=f.custom,o?[4,e.command("consent",o)]:[3,4];case 3:d.sent(),d.label=4;case 4:return a?[4,e.command("user",a)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(e.globals,i),c&&Object.assign(e.custom,c),e.config.run?[4,e.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return s=t.push,u=Object.values(e.sources).filter(function(e){return"elb"!==e.type}),[2,((l=u.find(function(e){return e.config.primary}))?s=l.push:u.length>0&&(s=u[0].push),{collector:e,elb:s})]}})})())];case 1:return s=l.sent(),"undefined"!=typeof window&&(o.elb&&(window[o.elb]=s.elb),o.name&&(window[o.name]=s.collector)),[2,s]}var f})}).apply(this,arguments)},Ge=Object.defineProperty,Me=Object.getOwnPropertyDescriptor,Ke=Object.getOwnPropertyNames,Be=Object.prototype.hasOwnProperty,He={};!function(e,t){for(var n in t)Ge(e,n,{get:t[n],enumerable:!0})}(He,{Walkerjs:function(){return Vt},createWalkerjs:function(){return Xe},default:function(){return $t},getAllEvents:function(){return Q},getEvents:function(){return Z},getGlobals:function(){return ee}});var Fe=Object.defineProperty;!function(e,t){for(var n in t)Fe(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return ze}});var Je,ze=((Je=ze||{})[Je.ERROR=0]="ERROR",Je[Je.INFO=1]="INFO",Je[Je.DEBUG=2]="DEBUG",Je),Ye={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}},Ve={merge:!0,shallow:!0,extend:!0};function $e(e){var t=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(t.has(e))return t.get(e);var n=Object.prototype.toString.call(e);if("[object Object]"===n){var r={};for(var o in t.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=$e(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push($e(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var i=e;return new RegExp(i.source,i.flags)}return e}function Qe(e){for(var r=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 c=o[i];if("*"===c&&t(a)){var s=o.slice(i+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,g=a[Symbol.iterator]();!(l=(_=g.next()).done);l=!0){var v=Qe(_.value,s,r);u.push(v)}}catch(e){f=!0,d=e}finally{try{l||null==g.return||g.return()}finally{if(f)throw d}}return u}if(!(a=_instanceof(a,Object)?a[c]:void 0))break}return n(a)?a:r}var Ze=function(e,t,n,r){var o="".concat(ze[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0;0===e?a?console.error(o,t,n):console.error(o,t):a?console.log(o,t,n):console.log(o,t)};function et(e){var t=e.level,n=e.handler,r=e.scope,o=function(e,o,a){if(e<=t){var i=l(o,a);n?n(e,i.message,i.context,r,Ze):Ze(e,i.message,i.context,r)}};return{error:function(e,t){return o(0,e,t)},info:function(e,t){return o(1,e,t)},debug:function(e,t){return o(2,e,t)},throw:function(e,t){var o=l(e,t);throw n?n(0,o.message,o.context,r,Ze):Ze(0,o.message,o.context,r),new Error(o.message)},scope:function(e){return et({level:t,handler:n,scope:_to_consumable_array(r).concat([e])})}}}function tt(e){return function(e){return"boolean"==typeof e}(e)||o(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!n(e)||t(e)&&e.every(tt)||r(e)&&Object.values(e).every(tt)}function nt(e,r){return _async_to_generator(function(e,r){var a,c,s,u=arguments;return _ts_generator(this,function(l){return c=(a=u.length>2&&void 0!==u[2]?u[2]:{}).collector,s=a.consent,[2,(t(r)?r:[r]).reduce(function(r,u){return _async_to_generator(function(){var l,f,_,v,y,m,h,b,w,j,k,O,S,E,x,A,C,P,L,q,R;return _ts_generator(this,function(I){switch(I.label){case 0:return[4,r];case 1:return(l=I.sent())?[2,l]:(f=o(u)?{key:u}:u,Object.keys(f).length?(_=f.condition,v=f.consent,y=f.fn,m=f.key,h=f.loop,b=f.map,w=f.set,j=f.validate,k=f.value,(O=_)?[4,g(_)(e,u,c)]:[3,3]):[2]);case 2:O=!I.sent(),I.label=3;case 3:return O?[2]:v&&!i(v,s)?[2,k]:(S=n(k)?k:e,y?[4,g(y)(e,u,a)]:[3,5]);case 4:S=I.sent(),I.label=5;case 5:return m&&(S=Qe(e,m,k)),h?(E=_sliced_to_array(h,2),x=E[0],A=E[1],"this"!==x?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,p(e,x,a)];case 7:P=I.sent(),I.label=8;case 8:return t(C=P)?[4,Promise.all(C.map(function(e){return p(e,A,a)}))]:[3,10];case 9:S=I.sent().filter(n),I.label=10;case 10:return[3,17];case 11:return b?[4,Object.entries(b).reduce(function(t,r){var o=_sliced_to_array(r,2),i=o[0],c=o[1];return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,t];case 1:return r=s.sent(),[4,p(e,c,a)];case 2:return o=s.sent(),[2,(n(o)&&(r[i]=o),r)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=I.sent(),[3,16];case 13:return(L=w)?[4,Promise.all(w.map(function(t){return nt(e,t,a)}))]:[3,15];case 14:L=S=I.sent(),I.label=15;case 15:I.label=16;case 16:I.label=17;case 17:return(q=j)?[4,g(j)(S)]:[3,19];case 18:q=!I.sent(),I.label=19;case 19:return q&&(S=void 0),R=d(S),[2,n(R)?R:d(k)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}var rt,ot={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",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}},at=Object.defineProperty,it=function(e,t){for(var n in t)at(e,n,{get:t[n],enumerable:!0})},ct=Object.defineProperty;!function(e,t){for(var n in t)ct(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return st}});var st=((rt=st||{})[rt.ERROR=0]="ERROR",rt[rt.INFO=1]="INFO",rt[rt.DEBUG=2]="DEBUG",rt),ut={merge:!0,shallow:!0,extend:!0};function lt(e,t,n,r){var o=N(t,V(e));if(!o||r&&!r[o])return null;var a=[t],i="[".concat(V(e,o),"],[").concat(V(e,""),"]"),c=V(e,ot.Commands.Link,!1),s={},u=[],l=_sliced_to_array(oe(n||t,i,e,o),2),f=l[0],d=l[1];ae(t,"[".concat(c,"]"),function(t){var n=_sliced_to_array(ce(N(t,c)),2),r=n[0];"parent"===n[1]&&ae(document.body,"[".concat(c,'="').concat(r,':child"]'),function(t){a.push(t);var n=lt(e,t);n&&u.push(n)})});var _=[];a.forEach(function(e){e.matches(i)&&_.push(e),ae(e,i,function(e){return _.push(e)})});var g={};return _.forEach(function(t){g=M(g,$(e,t,"")),s=M(s,$(e,t,o))}),s=M(M(g,s),f),a.forEach(function(t){ae(t,"[".concat(V(e),"]"),function(t){var n=lt(e,t);n&&u.push(n)})}),{entity:o,data:s,context:d,nested:u}}var ft,dt=new WeakMap,_t=new WeakMap,gt=new WeakMap,vt=[],pt="click",yt="hover",mt="load",ht="pulse",bt="scroll",wt="submit",jt="impression",kt="visible",Ot="wait";it({},{env:function(){return St}});var St={};it(St,{push:function(){return Ct}});var Et=function(){},xt=function(){return function(){return Promise.resolve({ok:!0})}},At={error:Et,info:Et,debug:Et,throw:function(e){throw"string"==typeof e?new Error(e):e},scope:function(){return At}},Ct={get push(){return xt()},get command(){return xt()},get elb(){return xt()},get window(){return{addEventListener:Et,removeEventListener:Et,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Et,removeEventListener:Et,querySelector:Et,querySelectorAll:function(){return[]},getElementById:Et,getElementsByClassName:function(){return[]},getElementsByTagName:function(){return[]},createElement:function(){return{setAttribute:Et,getAttribute:Et,addEventListener:Et,removeEventListener:Et}},body:{appendChild:Et,removeChild:Et},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:At},Pt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,c,s,u,l,f,d;return _ts_generator(this,function(_){switch(_.label){case 0:return t=e.config,n=e.env,r=n.elb,n.command,o=n.window,a=n.document,i=(null==t?void 0:t.settings)||{},c=o||(void 0!==globalThis.window?globalThis.window:void 0),s=a||(void 0!==globalThis.document?globalThis.document:void 0),u=function(){return _object_spread({prefix:"data-elb",pageview:!0,elb:"elb",elbLayer:"elbLayer",scope:(arguments.length>1?arguments[1]:void 0)||void 0},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}(i,s),l={settings:u},f={elb:r,settings:u},d=function(e){if(e.pageview){var t=_sliced_to_array((o=e.prefix||"data-elb",a=e.scope,i=window.location,c="page",s=a===document?document.body:a,u=_sliced_to_array(oe(s,"[".concat(V(o,c),"]"),o,c),2),l=u[0],d=u[1],l.domain=i.hostname,l.title=document.title,l.referrer=document.referrer,i.search&&(l.search=i.search),i.hash&&(l.hash=i.hash),[l,d]),2),n=t[0],r=t[1];_e(f,"page view",n,"load",r)}var o,a,i,c,s,u,l,d},c&&s?(!1!==u.elbLayer&&r&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name||"elbLayer",r=t.window||window;if(r){var o=r;o[n]||(o[n]=[]);var a=o[n];a.push=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];if(ke(r[0])){var a=_to_consumable_array(Array.from(r[0])),i=Array.prototype.push.apply(this,[a]);return je(e,t.prefix,a),i}var c=Array.prototype.push.apply(this,r);return r.forEach(function(n){je(e,t.prefix,n)}),c},Array.isArray(a)&&a.length>0&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;we(e,t,n,!0),we(e,t,n,!1),n.length=0}(e,t.prefix,a)}}(r,{name:F(u.elbLayer)?u.elbLayer:"elbLayer",prefix:u.prefix,window:c}),[4,(g=ve,v=f,p=u,_async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=function(){g(v,p)},"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e),[2]})})())]):[3,2];case 1:_.sent(),pe(f,u),d(u),F(u.elb)&&u.elb&&(c[u.elb]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],s=r[4],u=r[5];return _e(f,o,a,i,c,s,u)}),_.label=2;case 2:return[2,{type:"browser",config:l,push:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],s=r[4],u=r[5];return _e(f,o,a,i,c,s,u)},destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return s&&de(u.scope||s),[2]})})()},on:function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(e){case"ready":default:break;case"run":s&&c&&(pe(f,u),d(u))}return[2]})})()}}]}var g,v,p})})()},Lt=function(e,t){var n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t&&t.command("user",n),e.isStart&&t&&t.push({name:"session start",data:e}),e},qt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,c;return _ts_generator(this,function(s){return t=e.config,n=e.env,r=n.elb,o=n.command,a=_object_spread({},null==t?void 0:t.settings),i={settings:a},c={push:r,group:void 0,command:o},Ee(_object_spread_props(_object_spread({},a),{collector:c})),[2,{type:"session",config:i,push:r,on:function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"consent"===e&&Ee(_object_spread_props(_object_spread({},a),{collector:c})),[2]})})()}}]})})()},Rt=Object.defineProperty,It=function(e,t){for(var n in t)Rt(e,n,{get:t[n],enumerable:!0})},Ut=!1;It({},{push:function(){return Wt}});var Dt=function(){},Tt=function(){return function(){return Promise.resolve({ok:!0})}},Nt={error:Dt,info:Dt,debug:Dt,throw:function(e){throw"string"==typeof e?new Error(e):e},scope:function(){return Nt}},Wt={get push(){return Tt()},get command(){return Tt()},get elb(){return Tt()},get window(){return{dataLayer:[],addEventListener:Dt,removeEventListener:Dt}},logger:Nt};It({},{add_to_cart:function(){return Ie},config:function(){return De},consentDefault:function(){return qe},consentUpdate:function(){return Le},directDataLayerEvent:function(){return Ne},purchase:function(){return Re},setCustom:function(){return Te},view_item:function(){return Ue}});It({},{add_to_cart:function(){return Kt},config:function(){return Jt},configGA4:function(){return Ht},consentOnlyMapping:function(){return zt},consentUpdate:function(){return Gt},customEvent:function(){return Ft},purchase:function(){return Mt},view_item:function(){return Bt}});var Xt,Gt={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(e){return"granted"===e}},marketing:{key:"ad_storage",fn:function(e){return"granted"===e}}}}}},Mt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},Kt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Bt={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},Ht={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Ft={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},Jt={consent:{update:Gt},purchase:Mt,add_to_cart:Kt,view_item:Bt,"config G-XXXXXXXXXX":Ht,custom_event:Ft,"*":{data:{}}},zt={consent:{update:Gt}},Yt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i;return _ts_generator(this,function(c){return t=e.config,n=e.env,r=n.elb,o=n.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),i={settings:a},[2,(o&&(function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",o=window[r];if(Array.isArray(o)&&!Ut){Ut=!0;try{var a=!0,i=!1,c=void 0;try{for(var s,u=o[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value;Ce(e,n,l)}}catch(e){i=!0,c=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw c}}}finally{Ut=!1}}}(r,i),function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);var o=window[r];if(Array.isArray(o)){var a=o.push.bind(o);o.push=function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];if(Ut)return a.apply(void 0,_to_consumable_array(r));Ut=!0;try{var i=!0,c=!1,s=void 0;try{for(var u,l=r[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var f=u.value;Ce(e,n,f)}}catch(e){c=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(c)throw s}}}finally{Ut=!1}return a.apply(void 0,_to_consumable_array(r))}}}(r,i)),{type:"dataLayer",config:i,push:r,destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",o&&o[e]&&Array.isArray(o[e]),[2]})})()}})]})})()},Vt={},$t=Xe;return Xt=He,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var c,s=function(){var o=c.value;Be.call(e,o)||o===n||Ge(e,o,{get:function(){return t[o]},enumerable:!(r=Me(t,o))||r.enumerable})},u=Ke(t)[Symbol.iterator]();!(o=(c=u.next()).done);o=!0)s()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(Ge({},"__esModule",{value:!0}),Xt)}();
1
+ "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];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,t,n,r,o,a,i){try{var c=e[a](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function i(e){asyncGeneratorStep(a,r,o,i,c,"next",e)}function c(e){asyncGeneratorStep(a,r,o,i,c,"throw",e)}i(void 0)})}}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}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,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)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 t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _object_without_properties(e,t){if(null==e)return{};var n,r,o,a={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=_object_without_properties_loose(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_array(e){return _array_with_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_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,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var n,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),c=Object.defineProperty;return c(i,"next",{value:s(0)}),c(i,"throw",{value:s(1)}),c(i,"return",{value:s(2)}),"function"==typeof Symbol&&c(i,Symbol.iterator,{value:function(){return this}}),i;function s(c){return function(s){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function _ts_values(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.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(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var Walkerjs=function(){var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},Ze,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},t=function(e){return Array.isArray(e)},n=function(e){return void 0!==e},r=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},o=function(e){return"string"==typeof e},a=function(e,t,n){if(!r(e))return e;for(var o=et(e),a=t.split("."),i=o,c=0;c<a.length;c++){var s=a[c];c===a.length-1?i[s]=n:(s in i&&"object"==_type_of(i[s])&&null!==i[s]||(i[s]={}),i=i[s])}return o},i=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},c=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t="";t.length<e;)t+=(36*Math.random()|0).toString(36);return t},s=function(e){var t,n=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,c=new Array(i),s=0;s<i;s++)c[s]=arguments[s];return new Promise(function(i){var s=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(t=e.apply(void 0,_to_consumable_array(c)),i(t))},n),s&&(a=!0,t=e.apply(void 0,_to_consumable_array(c)),i(t))})}},u=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},l=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=u(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=u(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=u(r.error)):r.value=t),{message:n,context:r}},f=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return rt({level:void 0!==t.level?(e=t.level,"string"==typeof e?$e[e]:e):0,handler:t.handler,scope:[]})},d=function(e){return ot(e)?e:void 0},_=function(e,t,n){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(!t)return;return t(e)}finally{null==n||n()}}},g=function(e,t,n){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(),t?[4,t(r)]:[2];case 4:return[4,null==n?void 0:n()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},v=function(e,n){return _async_to_generator(function(){var r,o,a,i,c,s,u,l,f,d;return _ts_generator(this,function(_){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],n&&a&&i?(s="",l=i,f=function(n){if(n)return(n=t(n)?n:[n]).find(function(t){return!t.condition||t.condition(e)})},n[u=a]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),c=f(d[l])),c||(u="*",l="*",c=f(null===(r=n[u])||void 0===r?void 0:r[l])),c&&(s="".concat(u," ").concat(l)),{eventMapping:c,mappingKey:s})]):[2,{}]})})()},p=function(e){return _async_to_generator(function(e){var o,a,i,c,s,u,l,f,d,_,v,p,y,m=arguments;return _ts_generator(this,function(h){switch(h.label){case 0:if(o=m.length>1&&void 0!==m[1]?m[1]:{},a=m.length>2&&void 0!==m[2]?m[2]:{},!n(e))return[2];c=r(e)&&e.consent||a.consent||(null===(i=a.collector)||void 0===i?void 0:i.consent),s=t(o)?o:[o],u=!0,l=!1,f=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),d=s[Symbol.iterator](),h.label=2;case 2:return(u=(_=d.next()).done)?[3,5]:(v=_.value,[4,g(at)(e,v,_object_spread_props(_object_spread({},a),{consent:c}))]);case 3:if(p=h.sent(),n(p))return[2,p];h.label=4;case 4:return u=!0,[3,2];case 5:return[3,8];case 6:return y=h.sent(),l=!0,f=y,[3,8];case 7:try{u||null==d.return||d.return()}finally{if(l)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},y=function(t,n,o){return _async_to_generator(function(){var i,c,s,u,l,f,d;return _ts_generator(this,function(_){switch(_.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(e){var n=_sliced_to_array(e,2),r=n[0],i=n[1];return _async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,p(t,i,{collector:o})];case 1:return e=n.sent(),t=a(t,r,e),[2]}})})()}))]:[3,2];case 1:_.sent(),_.label=2;case 2:return[4,v(t,n.mapping)];case 3:return i=_.sent(),c=i.eventMapping,s=i.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(e){var n=_sliced_to_array(e,2),r=n[0],i=n[1];return _async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,p(t,i,{collector:o})];case 1:return e=n.sent(),t=a(t,r,e),[2]}})})()}))]:[3,5];case 4:_.sent(),_.label=5;case 5:return(l=n.data)?[4,p(t,n.data,{collector:o})]:[3,7];case 6:l=_.sent(),_.label=7;case 7:return u=l,c?c.ignore?[2,{event:t,data:u,mapping:c,mappingKey:s,ignore:!0}]:(c.name&&(t.name=c.name),c.data?(d=c.data)?[4,p(t,c.data,{collector:o})]:[3,9]:[3,10]):[3,10];case 8:d=_.sent(),_.label=9;case 9:f=d,u=r(u)&&r(f)?e(u,f):f,_.label=10;case 10:return[2,{event:t,data:u,mapping:c,mappingKey:s,ignore:!1}]}})})()},m=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];var i,c="post"+t,s=n["pre"+t],u=n[c];return i=s?s.apply(void 0,[{fn:e}].concat(_to_consumable_array(o))):e.apply(void 0,_to_consumable_array(o)),u&&(i=u.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(o)))),i}},h=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",i=e.logger.scope(a).scope("on").scope(r),c={collector:e,logger:i,id:n,config:t.config,data:o,env:I(t.env,t.config.env)};_(t.on)(r,c)}},b=function(e,t,n,r){var o,a,i,c,s=n||[];switch(n||(s=e.on[t]||[]),t){case ct.Commands.Consent:o=r||e.consent;break;case ct.Commands.Session:o=e.session;break;case ct.Commands.Ready:case ct.Commands.Run:default:o=void 0}if(Object.values(e.sources).forEach(function(e){e.on&&_(e.on)(t,o)}),Object.entries(e.destinations).forEach(function(n){var r=_sliced_to_array(n,2),a=r[0],i=r[1];if(i.on){if(!i.config.init)return i.queueOn=i.queueOn||[],void i.queueOn.push({type:t,data:o});h(e,i,a,t,o)}}),s.length)switch(t){case ct.Commands.Consent:a=e,i=s,c=r||a.consent,i.forEach(function(e){Object.keys(c).filter(function(t){return t in e}).forEach(function(t){_(e[t])(a,c)})});break;case ct.Commands.Ready:case ct.Commands.Run:!function(e,t){e.allowed&&t.forEach(function(t){_(t)(e)})}(e,s);break;case ct.Commands.Session:!function(e,t){e.session&&t.forEach(function(t){_(t)(e,e.session)})}(e,s)}},w=function(e){var t,n={},r=!0,o=!1,a=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(r=(i=c.next()).done);r=!0){var s=_sliced_to_array(i.value,2),u=s[0],l=s[1];(null===(t=l.config)||void 0===t?void 0:t.next)?n[u]={next:l.config.next}:n[u]={}}}catch(e){o=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw a}}return n},j=function(e,t){var n=e.config||{},r=e[t];return void 0!==r?{config:_object_spread_props(_object_spread({},n),_define_property({},t,r)),chainValue:r}:{config:n,chainValue:void 0}},k=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var n=[],r=new Set,o=e;o&&t[o]&&!r.has(o);){r.add(o),n.push(o);var a=t[o].next;if(Array.isArray(a)){var i;(i=n).push.apply(i,_to_consumable_array(a));break}o=a}return n},O=function(e,t,n){return _async_to_generator(function(){var r,o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(r=t.type||"unknown",o=e.logger.scope("transformer:".concat(r)),a={collector:e,logger:o,id:n,config:t.config,env:x(t.config.env)},o.debug("init"),[4,m(t.init,"TransformerInit",e.hooks)(a)]);case 1:if(!1===(i=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},i||t.config),{init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},S=function(e,t,n,r,o){return _async_to_generator(function(){var a,i,c,s;return _ts_generator(this,function(u){switch(u.label){case 0:return a=t.type||"unknown",i=e.logger.scope("transformer:".concat(a)),c={collector:e,logger:i,id:n,ingest:o,config:t.config,env:x(t.config.env)},i.debug("push",{event:r.name}),[4,m(t.push,"TransformerPush",e.hooks)(r,c)];case 1:return s=u.sent(),[2,(i.debug("push done"),s)]}})})()},E=function(e,t,n,r,o){return _async_to_generator(function(){var a,i,c,s,u,l,f,d,_;return _ts_generator(this,function(v){switch(v.label){case 0:a=r,i=!0,c=!1,s=void 0,v.label=1;case 1:v.trys.push([1,6,7,8]),u=function(){var n,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return n=f.value,(r=t[n])?[4,g(O)(e,r,n)]:(e.logger.info("Transformer not found: ".concat(n)),[2,"continue"]);case 1:return c.sent()?[4,g(S,function(t){return e.logger.scope("transformer:".concat(r.type||"unknown")).error("Push failed",{error:t}),!1})(e,r,n,a,o)]:[2,{v:(e.logger.info("Transformer init failed: ".concat(n)),null)}];case 2:return!1===(i=c.sent())?[2,{v:null}]:(void 0!==i&&(a=i),[2])}})},l=n[Symbol.iterator](),v.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:[5,_ts_values(u())];case 3:if("object"===_type_of(d=v.sent()))return[2,d.v];v.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return _=v.sent(),c=!0,s=_,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw s}return[7];case 8:return[2,a]}})})()},x=function(e){return e&&r(e)?e:{}},A=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,s,u,l,f,d,_;return _ts_generator(this,function(g){if(r=t.code,o=t.config,a=void 0===o?{}:o,i=t.env,s=void 0===i?{}:i,u=t.before,!function(e){return"function"==typeof e}(r.push))return[2,q({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(l=n||a||{init:!1},f=u?_object_spread_props(_object_spread({},l),{before:u}):l,d=_object_spread_props(_object_spread({},r),{config:f,env:I(r.env,s)}),!(_=d.config.id))do{_=c(4)}while(e.destinations[_]);return[2,(e.destinations[_]=d,!1!==d.config.queue&&(d.queuePush=_to_consumable_array(e.queue)),C(e,void 0,{},_define_property({},_,d)))]})})()},C=function(t,n,r){return _async_to_generator(function(t,n){var r,o,a,c,s,u,l,f,d,_,v,p,y,m,h,b,j,O,S=arguments;return _ts_generator(this,function(x){switch(x.label){case 0:return r=S.length>2&&void 0!==S[2]?S[2]:{},o=S.length>3?S[3]:void 0,a=t.allowed,c=t.consent,s=t.globals,u=t.user,a?(n&&t.queue.push(n),o||(o=t.destinations),[4,Promise.all(Object.entries(o||{}).map(function(o){var a=_sliced_to_array(o,2),l=a[0],f=a[1];return _async_to_generator(function(){var o,a,d,_,v,p,y,m,h,b;return _ts_generator(this,function(j){switch(j.label){case 0:return d=(f.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:c})}),f.queuePush=[],n&&(_=et(n),d.push(_)),d.length||(null===(o=f.queueOn)||void 0===o?void 0:o.length)?d.length||!(null===(a=f.queueOn)||void 0===a?void 0:a.length)?[3,2]:[4,g(P)(t,f,l)]:[2,{id:l,destination:f,skipped:!0}];case 1:return v=j.sent(),[2,{id:l,destination:f,skipped:!v}];case 2:return p=[],y=d.filter(function(e){var t=i(f.config.consent,c,e.consent);return!t||(e.consent=t,p.push(e),!1)}),f.queuePush.concat(y),p.length?[4,g(P)(t,f,l)]:[2,{id:l,destination:f,queue:d}];case 3:return j.sent()?(f.dlq||(f.dlq=[]),b=function(e,t){var n=e.config.before;return n?k(n,w(t)):[]}(f,t.transformers),[4,Promise.all(p.map(function(n){return _async_to_generator(function(){var o,a,i;return _ts_generator(this,function(c){switch(c.label){case 0:return n.globals=e(s,n.globals),n.user=e(u,n.user),o=n,b.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,E(t,t.transformers,b,n,r.ingest)]:[3,2];case 1:if(null===(a=c.sent()))return[2,n];o=a,c.label=2;case 2:return[4,g(L,function(e){var n=f.type||"unknown";t.logger.scope(n).error("Push failed",{error:e,event:o.name}),m=e,f.dlq.push([o,e])})(t,f,l,o,r.ingest)];case 3:return[2,(void 0!==(i=c.sent())&&(h=i),n)]}})})()}))]):[2,{id:l,destination:f,queue:d}];case 4:return[2,(j.sent(),{id:l,destination:f,error:m,response:h})]}})})()}))]):[2,q({ok:!1})];case 1:l=x.sent(),f={},d={},_={},v=!0,p=!1,y=void 0;try{for(m=l[Symbol.iterator]();!(v=(h=m.next()).done);v=!0)(b=h.value).skipped||(j=b.destination,O={type:j.type||"unknown",data:b.response},b.error?(O.error=b.error,_[b.id]=O):b.queue&&b.queue.length?(j.queuePush=(j.queuePush||[]).concat(b.queue),d[b.id]=O):f[b.id]=O)}catch(e){p=!0,y=e}finally{try{v||null==m.return||m.return()}finally{if(p)throw y}}return[2,q(_object_spread({event:n},Object.keys(f).length&&{done:f},Object.keys(d).length&&{queued:d},Object.keys(_).length&&{failed:_}))]}})}).apply(this,arguments)},P=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,s,u,l,f,d,_,g,v,p;return _ts_generator(this,function(y){switch(y.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=e.logger.scope(o),i={collector:e,logger:a,id:n,config:t.config,env:I(t.env,t.config.env)},a.debug("init"),[4,m(t.init,"DestinationInit",e.hooks)(i)]);case 1:if(!1===(c=y.sent()))return[2,c];if(t.config=_object_spread_props(_object_spread({},c||t.config),{init:!0}),null===(r=t.queueOn)||void 0===r?void 0:r.length){s=t.queueOn,t.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=s[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)g=_.value,v=g.type,p=g.data,h(e,t,n,v,p)}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]}})})()},L=function(e,t,r,o,a){return _async_to_generator(function(){var i,c,u,l,f,d,_,g,v,p;return _ts_generator(this,function(h){switch(h.label){case 0:return i=t.config,[4,y(o,i,e)];case 1:return(c=h.sent()).ignore?[2,!1]:(u=t.type||"unknown",l=e.logger.scope(u),f={collector:e,logger:l,id:r,config:i,data:c.data,rule:c.mapping,ingest:a,env:I(t.env,i.env)},d=c.mapping,_=c.mappingKey||"* *",(null==d?void 0:d.batch)&&t.pushBatch?[3,3]:(l.debug("push",{event:c.event.name}),[4,m(t.push,"DestinationPush",e.hooks)(c.event,f)]));case 2:return g=h.sent(),[2,(l.debug("push done"),g)];case 3:return t.batches=t.batches||{},t.batches[_]||(v={key:_,events:[],data:[]},t.batches[_]={batched:v,batchFn:s(function(){var n=t.batches[_].batched,o={collector:e,logger:l,id:r,config:i,data:void 0,rule:d,ingest:a,env:I(t.env,i.env)};l.debug("push batch",{events:n.events.length}),m(t.pushBatch,"DestinationPushBatch",e.hooks)(n,o),l.debug("push batch done"),n.events=[],n.data=[]},d.batch)}),(p=t.batches[_]).batched.events.push(c.event),n(c.data)&&p.batched.data.push(c.data),p.batchFn(),[2,!0]}})})()},q=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},R=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,f,d,_,g,v,p,y,m,h,b=arguments;return _ts_generator(this,function(e){t=b.length>1&&void 0!==b[1]?b[1]:{},n={},r=!0,o=!1,a=void 0;try{for(i=Object.entries(t)[Symbol.iterator]();!(r=(c=i.next()).done);r=!0)s=_sliced_to_array(c.value,2),u=s[0],l=s[1],f=l.code,d=l.config,_=void 0===d?{}:d,g=l.env,v=void 0===g?{}:g,p=j(l,"before"),y=p.config,m=_object_spread({},f.config,_,y),h=I(f.env,v),n[u]=_object_spread_props(_object_spread({},f),{config:m,env:h})}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return[2,n]})}).apply(this,arguments)},I=function(e,t){return e||t?t?e&&r(e)&&r(t)?_object_spread({},e,t):t:e:{}},U=function(t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=t.consent,o=!1,a={},[2,(Object.entries(n).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=!!t[1];a[n]=r,o=o||r}),t.consent=e(r,a),b(t,"consent",void 0,a),o?C(t):q({ok:!0}))]})})()},D=function(n,a,i,c){return _async_to_generator(function(){var s;return _ts_generator(this,function(u){switch(u.label){case 0:switch(a){case ct.Commands.Config:return[3,1];case ct.Commands.Consent:return[3,2];case ct.Commands.Custom:return[3,5];case ct.Commands.Destination:return[3,6];case ct.Commands.Globals:return[3,9];case ct.Commands.On:return[3,10];case ct.Commands.Ready:return[3,11];case ct.Commands.Run:return[3,12];case ct.Commands.Session:return[3,14];case ct.Commands.User:return[3,15]}return[3,16];case 1:return r(i)&&e(n.config,i,{shallow:!1}),[3,16];case 2:return r(i)?[4,U(n,i)]:[3,4];case 3:s=u.sent(),u.label=4;case 4:return[3,16];case 5:return r(i)&&(n.custom=e(n.custom,i)),[3,16];case 6:return r(i)&&"code"in i&&r(i.code)?[4,A(n,i,c)]:[3,8];case 7:s=u.sent(),u.label=8;case 8:return[3,16];case 9:return r(i)&&(n.globals=e(n.globals,i)),[3,16];case 10:return o(i)&&function(e,n,r){var o=e.on,a=o[n]||[],i=t(r)?r:[r];i.forEach(function(e){a.push(e)}),o[n]=a,b(e,n,i)}(n,i,c),[3,16];case 11:return b(n,"ready"),[3,16];case 12:return[4,T(n,i)];case 13:return s=u.sent(),[3,16];case 14:return b(n,"session"),[3,16];case 15:r(i)&&e(n.user,i,{shallow:!1}),u.label=16;case 16:return[2,s||q({ok:!0})]}})})()},T=function(t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return t.allowed=!0,t.count=0,t.group=c(),t.timing=Date.now(),n&&(n.consent&&(t.consent=e(t.consent,n.consent)),n.user&&(t.user=e(t.user,n.user)),n.globals&&(t.globals=e(t.config.globalsStatic||{},n.globals)),n.custom&&(t.custom=e(t.custom,n.custom))),Object.values(t.destinations).forEach(function(e){e.queuePush=[]}),t.queue=[],t.round++,[4,C(t)];case 1:return r=o.sent(),[2,(b(t,"run"),r)]}})})()},N=function(e,t){return m(function(n){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,g(function(){return _async_to_generator(function(){var o,a,c,s,u,l,f,d,_,g;return _ts_generator(this,function(v){switch(v.label){case 0:return o=r.id,a=r.ingest,c=r.mapping,s=r.preChain,u=n,l=a?Object.freeze(a):void 0,c?[4,y(u,c,e)]:[3,2];case 1:if((f=v.sent()).ignore)return[2,q({ok:!0})];if(c.consent&&!i(c.consent,e.consent,f.event.consent))return[2,q({ok:!0})];u=f.event,v.label=2;case 2:return(null==s?void 0:s.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,E(e,e.transformers,s,u,l)]:[3,4];case 3:if(null===(d=v.sent()))return[2,q({ok:!0})];u=d,v.label=4;case 4:return _=t(u),g=function(e,t){if(!t.name)throw new Error("Event name is required");var n=_sliced_to_array(t.name.split(" "),2),r=n[0],o=n[1];if(!r||!o)throw new Error("Event name is invalid");++e.count;var a=t.timestamp,i=void 0===a?Date.now():a,c=t.group,s=void 0===c?e.group:c,u=t.count,l=void 0===u?e.count:u,f=t.name,d=void 0===f?"".concat(r," ").concat(o):f,_=t.data,g=void 0===_?{}:_,v=t.context,p=void 0===v?{}:v,y=t.globals,m=void 0===y?e.globals:y,h=t.custom,b=void 0===h?{}:h,w=t.user,j=void 0===w?e.user:w,k=t.nested,O=void 0===k?[]:k,S=t.consent,E=void 0===S?e.consent:S,x=t.id,A=void 0===x?"".concat(i,"-").concat(s,"-").concat(l):x,C=t.trigger,P=void 0===C?"":C,L=t.entity,q=void 0===L?r:L,R=t.action,I=void 0===R?o:R,U=t.timing,D=void 0===U?0:U,T=t.version,N=void 0===T?{source:e.version,tagging:e.config.tagging||0}:T,W=t.source;return{name:d,data:g,context:p,globals:m,custom:b,user:j,nested:O,consent:E,id:A,trigger:P,entity:q,action:I,timestamp:i,timing:D,group:s,count:l,version:N,source:void 0===W?{type:"collector",id:"",previous_id:""}:W}}(e,_),[4,C(e,g,{id:o,ingest:l})];case 5:return[2,v.sent()]}})})()},function(){return q({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks)},W=function(t){return _async_to_generator(function(){var n,r,o,a,i,c,s;return _ts_generator(this,function(u){switch(u.label){case 0:return o=e({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},t,{merge:!1,extend:!1}),a={level:null===(n=t.logger)||void 0===n?void 0:n.level,handler:null===(r=t.logger)||void 0===r?void 0:r.handler},i=f(a),c=_object_spread({},o.globalsStatic,t.globals),(s={allowed:!1,config:o,consent:t.consent||{},count:0,custom:t.custom||{},destinations:{},transformers:{},globals:c,group:"",hooks:{},logger:i,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:t.user||{},version:"1.1.2",sources:{},push:void 0,command:void 0}).push=N(s,function(e){return _object_spread({timing:Math.round((Date.now()-s.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),s.command=(d=D,m(function(e,t,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,g(function(){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return[4,d(l,e,t,n)];case 1:return[2,r.sent()]}})})()},function(){return q({ok:!1})})()];case 1:return[2,r.sent()]}})})()},"Command",(l=s).hooks)),[4,R(0,t.destinations||{})];case 1:return s.destinations=u.sent(),[4,function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,f,d,_,g,v,p,y,m,h=arguments;return _ts_generator(this,function(b){switch(b.label){case 0:t=h.length>1&&void 0!==h[1]?h[1]:{},n={},r=!0,o=!1,a=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),b.label=2;case 2:return(r=(c=i.next()).done)?[3,5]:(s=_sliced_to_array(c.value,2),u=s[0],l=s[1],f=l.code,d=l.env,_=void 0===d?{}:d,g=j(l,"next"),v=g.config,p=e.logger.scope("transformer").scope(u),[4,f({collector:e,logger:p,id:u,config:v,env:_})]);case 3:y=b.sent(),n[u]=y,b.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return m=b.sent(),o=!0,a=m,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)}(s,t.transformers||{})];case 2:return[2,(s.transformers=u.sent(),s)]}var l,d})})()},X=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l=arguments;return _ts_generator(this,function(f){switch(f.label){case 0:t=l.length>1&&void 0!==l[1]?l[1]:{},n={},r=!0,o=!1,a=void 0,f.label=1;case 1:f.trys.push([1,6,7,8]),i=function(){var t,r,o,a,i,c,u,l,f,d,_,v,y,m,h,b,j,O,S;return _ts_generator(this,function(E){switch(E.label){case 0:return t=_sliced_to_array(s.value,2),r=t[0],o=t[1],a=o.code,i=o.config,c=void 0===i?{}:i,u=o.env,l=void 0===u?{}:u,f=o.primary,d=o.next,_=void 0,v=k(d,w(e.transformers)),y=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.push(t,_object_spread_props(_object_spread({},n),{id:r,ingest:_,mapping:c,preChain:v}))},m=e.logger.scope("source").scope(r),h=_object_spread({push:y,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:m},l),b={collector:e,logger:m,id:r,config:c,env:h,setIngest:function(t){return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return c.ingest?[4,p(t,c.ingest,{collector:e})]:[3,2];case 1:return n=r.sent(),[3,3];case 2:n=void 0,r.label=3;case 3:return _=n,[2]}})})()}},[4,g(a)(b)];case 1:return(j=E.sent())?(O=j.type||"unknown",S=e.logger.scope(O).scope(r),h.logger=S,f&&(j.config=_object_spread_props(_object_spread({},j.config),{primary:f})),n[r]=j,[2]):[2,"continue"]}})},c=Object.entries(t)[Symbol.iterator](),f.label=2;case 2:return(r=(s=c.next()).done)?[3,5]:[5,_ts_values(i())];case 3:f.sent(),f.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return u=f.sent(),o=!0,a=u,[3,8];case 7:try{r||null==c.return||c.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)},G=function(e,t){return(e.getAttribute(t)||"").trim()},M=function(e){var t,n=getComputedStyle(e);if("none"===n.display)return!1;if("visible"!==n.visibility)return!1;if(n.opacity&&Number(n.opacity)<.1)return!1;var r=window.innerHeight,o=e.getBoundingClientRect(),a=o.height,i=o.y,c=i+a,s={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(a<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(s.x<0)return!1;if(s.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(s.y<0)return!1;if(s.y>(document.documentElement.clientHeight||window.innerHeight))return!1;t=document.elementFromPoint(s.x,s.y)}else{var u=r/2;if(i<0&&c<u)return!1;if(c>r&&i>u)return!1;t=document.elementFromPoint(s.x,r/2)}if(t)do{if(t===e)return!0}while(t=t.parentElement);return!1},K=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qe.Utils.Storage.Session;function o(e){try{return JSON.parse(e||"")}catch(r){var t=1,n="";return e&&(t=0,n=e),{e:t,v:n}}}switch(r){case Qe.Utils.Storage.Cookie:var a;t=decodeURIComponent((null===(a=document.cookie.split("; ").find(function(t){return t.startsWith(e+"=")}))||void 0===a?void 0:a.split("=")[1])||"");break;case Qe.Utils.Storage.Local:n=o(window.localStorage.getItem(e));break;case Qe.Utils.Storage.Session:n=o(window.sessionStorage.getItem(e))}return n&&(t=n.v,0!=n.e&&n.e<Date.now()&&(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qe.Utils.Storage.Session;switch(t){case Qe.Utils.Storage.Cookie:B(e,"",0,t);break;case Qe.Utils.Storage.Local:window.localStorage.removeItem(e);break;case Qe.Utils.Storage.Session:window.sessionStorage.removeItem(e)}}(e,r),t="")),function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)}(t||"")},B=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Qe.Utils.Storage.Session,o=arguments.length>4?arguments[4]:void 0,a={e:Date.now()+6e4*n,v:String(t)},i=JSON.stringify(a);switch(r){case Qe.Utils.Storage.Cookie:t="object"==(void 0===t?"undefined":_type_of(t))?JSON.stringify(t):t;var c="".concat(e,"=").concat(encodeURIComponent(t),"; max-age=").concat(60*n,"; path=/; SameSite=Lax; secure");o&&(c+="; domain="+o),document.cookie=c;break;case Qe.Utils.Storage.Local:window.localStorage.setItem(e,i);break;case Qe.Utils.Storage.Session:window.sessionStorage.setItem(e,i)}return K(e,r)},H=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},dt,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},F=function(e){return Array.isArray(e)},J=function(e){return e===document||_instanceof(e,Element)},z=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!F(e)&&"[object Object]"===Object.prototype.toString.call(e)},V=function(e){return"string"==typeof e},Y=function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)},$=function(e,t,n){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(!t)return;return t(e)}finally{null==n||n()}}},Q=function(e){return e?e.trim().replace(/^'|'$/g,"").trim():""},Z=function(e,t){return e+(null!=t?(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?"-":"")+t:"")},ee=function(e,t,n){return ue(G(t,Z(e,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]))||"").reduce(function(e,n){var r=_sliced_to_array(le(n),2),o=r[0],a=r[1];if(!o)return e;if(a||(o.endsWith(":")&&(o=o.slice(0,-1)),a=""),a.startsWith("#")){a=a.slice(1);try{var i=t[a];i||"selected"!==a||(i=t.options[t.selectedIndex].text),a=String(i)}catch(i){a=""}}return o.endsWith("[]")?(o=o.slice(0,-2),F(e[o])||(e[o]=[]),e[o].push(Y(a))):e[o]=Y(a),e},{})},te=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ct.Commands.Prefix,r=e||document.body;if(!r)return[];var o=[],a=ct.Commands.Action,i="[".concat(Z(n,a,!1),"]"),c=function(e){Object.keys(ee(n,e,a,!1)).forEach(function(t){o=o.concat(ne(e,t,n))})};return r!==document&&(null==(t=r.matches)?void 0:t.call(r,i))&&c(r),se(r,i,c),o},ne=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ct.Commands.Prefix,r=[],o=function(e,t,n){for(var r=t;r;){var o=G(r,Z(e,ct.Commands.Actions,!1));if(o){var a=oe(o);if(a[n])return{actions:a[n],nearestOnly:!1}}var i=G(r,Z(e,ct.Commands.Action,!1));if(i){var c=oe(i);if(c[n]||"click"!==n)return{actions:c[n]||[],nearestOnly:!0}}r=ie(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t),a=o.actions,i=o.nearestOnly;return a.length?(a.forEach(function(o){var a=ue(o.actionParams||"",",").reduce(function(e,t){return e[Q(t)]=!0,e},{}),c=ae(n,e,a,i);if(!c.length){var s="page",u="[".concat(Z(n,s),"]"),l=_sliced_to_array(ce(e,u,n,s),2),f=l[0],d=l[1];c.push({entity:s,data:f,nested:[],context:d})}c.forEach(function(e){r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r},re=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ct.Commands.Prefix,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,n=Z(e,ct.Commands.Globals,!1),r={};return se(t,"[".concat(n,"]"),function(t){r=H(r,ee(e,t,ct.Commands.Globals,!1))}),r},oe=function(e){var t={};return ue(e).forEach(function(e){var n=_sliced_to_array(le(e),2),r=n[0],o=n[1],a=_sliced_to_array(fe(r),2),i=a[0],c=a[1];if(i){var s=_sliced_to_array(fe(o||""),2),u=s[0],l=s[1];u=u||i,t[i]||(t[i]=[]),t[i].push({trigger:i,triggerParams:c,action:u,actionParams:l})}}),t},ae=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],a=t;for(n=0!==Object.keys(n||{}).length?n:void 0;a;){var i=_t(e,a,t,n);if(i&&(o.push(i),r))break;a=ie(e,a)}return o},ie=function(e,t){var n=Z(e,ct.Commands.Link,!1);if(t.matches("[".concat(n,"]"))){var r=_sliced_to_array(le(G(t,n)),2),o=r[0];if("child"===r[1])return document.querySelector("[".concat(n,'="').concat(o,':parent"]'))}return!t.parentElement&&t.getRootNode&&_instanceof(t.getRootNode(),ShadowRoot)?t.getRootNode().host:t.parentElement},ce=function(e,t,n,r){for(var o={},a={},i=e,c="[".concat(Z(n,ct.Commands.Context,!1),"]"),s=0;i;)i.matches(t)&&(o=H(ee(n,i,""),o),o=H(ee(n,i,r),o)),i.matches(c)&&(Object.entries(ee(n,i,ct.Commands.Context,!1)).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=t[1];r&&!a[n]&&(a[n]=[r,s])}),++s),i=ie(n,i);return[o,a]},se=function(e,t,n){e.querySelectorAll(t).forEach(n)},ue=function(e){if(!e)return[];var t=new RegExp("(?:[^".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:";","']+|'[^']*')+"),"ig");return e.match(t)||[]},le=function(e){var t=_sliced_to_array(e.split(/:(.+)/,2),2),n=t[0],r=t[1];return[Q(n),Q(r)]},fe=function(e){var t=_sliced_to_array(e.split("(",2),2),n=t[0],r=t[1];return[n,r?r.slice(0,-1):""]},de=function(e){var t=Date.now(),n=pt.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:M(e),lastChecked:t},pt.set(e,n)),n.isVisible},_e=function(e){if(window.IntersectionObserver)return $(function(){return new window.IntersectionObserver(function(t){t.forEach(function(t){!function(e,t){var n,r,o=t.target,a=yt.get(e);if(a){var i=a.timers.get(o);if(t.intersectionRatio>0){var c=Date.now(),s=vt.get(o);if((!s||c-s.lastChecked>1e3)&&(s={isLarge:o.offsetHeight>window.innerHeight,lastChecked:c},vt.set(o,s)),t.intersectionRatio>=.5||s.isLarge&&de(o)){var u=null==(n=a.elementConfigs)?void 0:n.get(o);if((null==u?void 0:u.multiple)&&u.blocked)return;if(!i){var l=window.setTimeout(function(){return _async_to_generator(function(){var t,n,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return de(o)?(r=null==(t=a.elementConfigs)?void 0:t.get(o),(null==r?void 0:r.context)?[4,be(r.context,o,r.trigger)]:[3,2]):[3,3];case 1:c.sent(),c.label=2;case 2:(null==(i=null==(n=a.elementConfigs)?void 0:n.get(o))?void 0:i.multiple)?i.blocked=!0:function(e,t){var n=yt.get(e);if(n){n.observer&&n.observer.unobserve(t);var r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),vt.delete(t),pt.delete(t)}}(e,o),c.label=3;case 3:return[2]}})})()},a.duration);a.timers.set(o,l)}return}}i&&(clearTimeout(i),a.timers.delete(o));var f=null==(r=a.elementConfigs)?void 0:r.get(o);(null==f?void 0:f.multiple)&&(f.blocked=!1)}}(e,t)})},{rootMargin:"0px",threshold:[0,.5]})},function(){})()},ge=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{multiple:!1},o=e.settings.scope||document,a=yt.get(o);(null==a?void 0:a.observer)&&t&&(a.elementConfigs||(a.elementConfigs=new WeakMap),a.elementConfigs.set(t,{multiple:null!=(n=r.multiple)&&n,blocked:!1,context:e,trigger:r.multiple?"visible":"impression"}),a.observer.observe(t))},ve=function(e){if(e){var t=yt.get(e);t&&(t.observer&&t.observer.disconnect(),yt.delete(e))}},pe=function(e,t,n,r,o,a,i){var c=e.elb,s=e.settings;if(V(t)&&t.startsWith("walker "))return c(t,n);if(z(t)){var u=t;return u.source||(u.source=ye()),u.globals||(u.globals=re(s.prefix,s.scope||document)),c(u)}var l,f=_sliced_to_array(String(z(t)?t.name:t).split(" "),1)[0],d=z(n)?n:{},_={},g=!1;if(J(n)&&(l=n,g=!0),J(o)?l=o:z(o)&&Object.keys(o).length&&(_=o),l){var v=ae(s.prefix||"data-elb",l).find(function(e){return e.entity===f});v&&(g&&(d=v.data),_=v.context)}"page"===f&&(d.id=d.id||window.location.pathname);var p=re(s.prefix,s.scope);return c({name:String(t||""),data:d,context:_,globals:p,nested:a,custom:i,trigger:V(r)?r:"",source:ye()})},ye=function(){return{type:"browser",id:window.location.href,previous_id:document.referrer}},me=function(e,t){var n,r;t.scope&&(n=e,(r=t.scope)&&(r.addEventListener("click",$(function(e){je.call(this,n,e)})),r.addEventListener("submit",$(function(e){ke.call(this,n,e)}))))},he=function(e,t){t.scope&&function(e,t){var n=t.scope;mt=[];var r=n||document;ve(r),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;yt.has(e)||yt.set(e,{observer:_e(e),timers:new WeakMap,duration:t})}(r,1e3);var o,a,i,c=Z(t.prefix,ct.Commands.Action,!1);r!==document&&we(e,r,c,t),r.querySelectorAll("[".concat(c,"]")).forEach(function(n){we(e,n,c,t)}),mt.length&&(o=e,a=r,i=function(e,t){return e.filter(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1],a=window.scrollY+window.innerHeight,i=r.offsetTop;if(a<i)return!0;var c=r.clientHeight;return!(100*(1-(i+c-a)/(c||1))>=o&&(be(t,r,kt),1))})},gt||(gt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=null;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(null===n)return n=setTimeout(function(){n=null},t),e.apply(void 0,_to_consumable_array(o))}}(function(){mt=i.call(a,mt,o)}),a.addEventListener("scroll",gt)))}(e,t)},be=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=ne(t,n,e.settings.prefix),[2,Promise.all(r.map(function(t){return pe(e,_object_spread_props(_object_spread({name:"".concat(t.entity," ").concat(t.action)},t),{trigger:n}))}))]})})()},we=function(e,t,n,r){var o=G(t,n);o&&Object.values(oe(o)).forEach(function(n){return n.forEach(function(n){switch(n.trigger){case bt:r=e,t.addEventListener("mouseenter",$(function(e){_instanceof(e.target,Element)&&be(r,e.target,bt)}));break;case wt:!function(e,t){be(e,t,wt)}(e,t);break;case jt:!function(e,t){setInterval(function(){document.hidden||be(e,t,jt)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams);break;case kt:!function(e){var t=parseInt((arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||"")||50;t<0||t>100||mt.push([e,t])}(t,n.triggerParams);break;case St:ge(e,t);break;case Et:ge(e,t,{multiple:!0});break;case xt:!function(e,t){setTimeout(function(){return be(e,t,xt)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams)}var r})})},je=function(e,t){be(e,t.target,ht)},ke=function(e,t){t.target&&be(e,t.target,Ot)},Oe=function(e,t,n,r){var o=[],a=!0;n.forEach(function(e){var t,n=Ee(e)?_to_consumable_array(Array.from(e)):null!=(t=e)&&"object"==(void 0===t?"undefined":_type_of(t))&&"length"in t&&"number"==typeof t.length?Array.from(e):[e];if((!Array.isArray(n)||0!==n.length)&&(!Array.isArray(n)||1!==n.length||n[0])){var i=n[0],c=!z(i)&&V(i)&&i.startsWith("walker ");if(z(i)){if("object"==(void 0===i?"undefined":_type_of(i))&&0===Object.keys(i).length)return}else{var s=Array.from(n);if(!V(s[0])||""===s[0].trim())return;a&&"walker run"===s[0]&&(a=!1)}(r&&c||!r&&!c)&&o.push(n)}}),o.forEach(function(n){Se(e,t,n)})},Se=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;$(function(){if(Array.isArray(n)){var r=_to_array(n),o=r[0],a=r.slice(1);if(!o||V(o)&&""===o.trim())return;if(V(o)&&o.startsWith("walker "))return void e(o,a[0]);pe.apply(void 0,[{elb:e,settings:{prefix:t,scope:document,pageview:!1,elb:"",elbLayer:!1}},o].concat(_to_consumable_array(a)))}else if(n&&"object"==(void 0===n?"undefined":_type_of(n))){if(0===Object.keys(n).length)return;e(n)}},function(){})()},Ee=function(e){return null!=e&&"object"==(void 0===e?"undefined":_type_of(e))&&"[object Arguments]"===Object.prototype.toString.call(e)},xe=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.isStart||!1,r={isStart:n,storage:!1};if(!1===t.isStart)return r;if(!n&&"navigate"!==_sliced_to_array(performance.getEntriesByType("navigation"),1)[0].type)return r;var o=new URL(t.url||window.location.href),a=t.referrer||document.referrer,i=a&&new URL(a).hostname,s=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="clickId",o={},a={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:r,fbclid:r,gclid:r,msclkid:r,ttclid:r,twclid:r,igshid:r,sclid:r};return Object.entries(e(a,n)).forEach(function(e){var n=_sliced_to_array(e,2),a=n[0],i=n[1],c=t.searchParams.get(a);c&&(i===r&&(i=a,o[r]=a),o[i]=c)}),o}(o,t.parameters);if(Object.keys(s).length&&(s.marketing||(s.marketing=!0),n=!0),!n){var u=t.domains||[];u.push(o.hostname),n=!u.includes(i)}return n?Object.assign({isStart:n,storage:!1,start:Date.now(),id:c(12),referrer:i},s,t.data):r},Ae=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now(),n=e.length,r=void 0===n?30:n,o=e.deviceKey,a=void 0===o?"elbDeviceId":o,i=e.deviceStorage,s=void 0===i?"local":i,u=e.deviceAge,l=void 0===u?30:u,f=e.sessionKey,d=void 0===f?"elbSessionId":f,g=e.sessionStorage,v=void 0===g?"local":g,p=e.pulse,y=void 0!==p&&p,m=xe(e),h=!1,b=_(function(e,t,n){var r=K(e,n);return r||(r=c(8),B(e,r,1440*t,n)),String(r)})(a,l,s),w=_(function(e,n){var o=JSON.parse(String(K(e,n)));return y||(o.isNew=!1,m.marketing&&(Object.assign(o,m),h=!0),h||o.updated+6e4*r<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,h=!0):o.runs++),o},function(){h=!0})(d,v)||{},j={id:c(12),start:t,isNew:!0,count:1,runs:1},k=Object.assign(j,m,w,{device:b},{isStart:h,storage:!0,updated:t},e.data);return B(d,JSON.stringify(k),2*r,v),k},Ce=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.cb,r=e.consent,o=e.collector,a=e.storage;if(!r)return Pe((a?Ae:xe)(e),o,n);var i=Le(e,n),c=(t(r)?r:[r]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,i))},{});o&&o.command("on","consent",c)},Pe=function(e,t,n){return!1===n?e:(n||(n=It),n(e,t,It))},Le=function(e,r){var o;return function(a,c){if(!n(o)||o!==(null==a?void 0:a.group)){o=null==a?void 0:a.group;var s=function(){return xe(e)};if(e.consent){var u=(t(e.consent)?e.consent:[e.consent]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,!0))},{});i(u,c)&&(s=function(){return Ae(e)})}return Pe(s(),a,r)}}},qe=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;if(!n.filter||!0!==_(function(){return n.filter(a)},function(){return!1})()){var i,c,s=r(i=a)&&o(i.event)?_object_spread({name:i.event},_object_without_properties(i,["event"])):t(i)&&i.length>=2?Re(i):null!=(c=i)&&"object"==(void 0===c?"undefined":_type_of(c))&&"length"in c&&"number"==typeof c.length&&c.length>0?Re(Array.from(i)):null;if(s){var u="".concat(n.prefix||"dataLayer"," ").concat(s.name),l=(s.name,{name:u,data:_object_without_properties(s,["name"])});_(function(){return e(l)},function(){})()}}},Re=function(e){var t=_sliced_to_array(e,3),n=t[0],a=t[1],i=t[2];if(!o(n))return null;var c,s={};switch(n){case"consent":if(!o(a)||e.length<3)return null;if("default"!==a&&"update"!==a)return null;if(!r(i)||null===i)return null;c="".concat(n," ").concat(a),s=_object_spread({},i);break;case"event":if(!o(a))return null;c=a,r(i)&&(s=_object_spread({},i));break;case"config":if(!o(a))return null;c="".concat(n," ").concat(a),r(i)&&(s=_object_spread({},i));break;case"set":if(o(a))c="".concat(n," ").concat(a),r(i)&&(s=_object_spread({},i));else{if(!r(a))return null;c="".concat(n," custom"),s=_object_spread({},a)}break;default:return null}return _object_spread({name:c},s)},Ie=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},Ue=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},De=function(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]},Te=function(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]},Ne=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},We=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},Xe=function(){return["set",{currency:"EUR",country:"DE"}]},Ge=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},Me=function(){window.dataLayer=window.dataLayer||[];var e=function(e){r(e)&&r(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:function(t,n){e(n.data||t)},pushBatch:function(t){e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}},Ke=function(){return _async_to_generator(function(){var t,n,o,a,i,c,s,u=arguments;return _ts_generator(this,function(l){switch(l.label){case 0:return t=u.length>0&&void 0!==u[0]?u[0]:{},n={collector:{destinations:{dataLayer:{code:Me()}}},browser:{},session:!0,dataLayer:!1,elb:"elb",run:!0},o=e(n,t),a=_object_spread_props(_object_spread({},o.collector),{sources:{browser:{code:Rt,config:{settings:o.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}}),!1!==o.session&&(i=r(o.session)?o.session:{},a.sources&&(a.sources.session={code:Ut,config:{settings:i}})),o.dataLayer&&(c=r(o.dataLayer)?o.dataLayer:{},a.sources&&(a.sources.dataLayer={code:Qt,config:{settings:c}})),[4,(f=a,_async_to_generator(function(){var e,t,n,r,o,a,i,c,s,u,l;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,W(f=f||{})];case 1:return e=d.sent(),n=e,t={type:"elb",config:{},push:function(e,t,r,o,a,i){return _async_to_generator(function(){var c,s;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return c=e.replace("walker ",""),[2,n.command(c,t,r)];if("string"==typeof e)s={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,q({ok:!1})];s=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(s.data=_object_spread({},s.data||{},t))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(s.context=o),a&&Array.isArray(a)&&(s.nested=a),i&&"object"==(void 0===i?"undefined":_type_of(i))&&(s.custom=i),n.push(s))]})})()}},e.sources.elb=t,[4,X(e,f.sources||{})];case 2:return r=d.sent(),Object.assign(e.sources,r),o=f.consent,a=f.user,i=f.globals,c=f.custom,o?[4,e.command("consent",o)]:[3,4];case 3:d.sent(),d.label=4;case 4:return a?[4,e.command("user",a)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(e.globals,i),c&&Object.assign(e.custom,c),e.config.run?[4,e.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return s=t.push,u=Object.values(e.sources).filter(function(e){return"elb"!==e.type}),[2,((l=u.find(function(e){return e.config.primary}))?s=l.push:u.length>0&&(s=u[0].push),{collector:e,elb:s})]}})})())];case 1:return s=l.sent(),"undefined"!=typeof window&&(o.elb&&(window[o.elb]=s.elb),o.name&&(window[o.name]=s.collector)),[2,s]}var f})}).apply(this,arguments)},Be=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Fe=Object.getOwnPropertyNames,Je=Object.prototype.hasOwnProperty,ze={};!function(e,t){for(var n in t)Be(e,n,{get:t[n],enumerable:!0})}(ze,{Walkerjs:function(){return Zt},createWalkerjs:function(){return Ke},default:function(){return en},getAllEvents:function(){return te},getEvents:function(){return ne},getGlobals:function(){return re}});var Ve=Object.defineProperty;!function(e,t){for(var n in t)Ve(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return $e}});var Ye,$e=((Ye=$e||{})[Ye.ERROR=0]="ERROR",Ye[Ye.INFO=1]="INFO",Ye[Ye.DEBUG=2]="DEBUG",Ye),Qe={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}},Ze={merge:!0,shallow:!0,extend:!0};function et(e){var t=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(t.has(e))return t.get(e);var n=Object.prototype.toString.call(e);if("[object Object]"===n){var r={};for(var o in t.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=et(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(et(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var i=e;return new RegExp(i.source,i.flags)}return e}function tt(e){for(var r=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 c=o[i];if("*"===c&&t(a)){var s=o.slice(i+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,g=a[Symbol.iterator]();!(l=(_=g.next()).done);l=!0){var v=tt(_.value,s,r);u.push(v)}}catch(e){f=!0,d=e}finally{try{l||null==g.return||g.return()}finally{if(f)throw d}}return u}if(!(a=_instanceof(a,Object)?a[c]:void 0))break}return n(a)?a:r}var nt=function(e,t,n,r){var o="".concat($e[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0;0===e?a?console.error(o,t,n):console.error(o,t):a?console.log(o,t,n):console.log(o,t)};function rt(e){var t=e.level,n=e.handler,r=e.scope,o=function(e,o,a){if(e<=t){var i=l(o,a);n?n(e,i.message,i.context,r,nt):nt(e,i.message,i.context,r)}};return{error:function(e,t){return o(0,e,t)},info:function(e,t){return o(1,e,t)},debug:function(e,t){return o(2,e,t)},throw:function(e,t){var o=l(e,t);throw n?n(0,o.message,o.context,r,nt):nt(0,o.message,o.context,r),new Error(o.message)},scope:function(e){return rt({level:t,handler:n,scope:_to_consumable_array(r).concat([e])})}}}function ot(e){return function(e){return"boolean"==typeof e}(e)||o(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!n(e)||t(e)&&e.every(ot)||r(e)&&Object.values(e).every(ot)}function at(e,r){return _async_to_generator(function(e,r){var a,c,s,u=arguments;return _ts_generator(this,function(l){return c=(a=u.length>2&&void 0!==u[2]?u[2]:{}).collector,s=a.consent,[2,(t(r)?r:[r]).reduce(function(r,u){return _async_to_generator(function(){var l,f,_,v,y,m,h,b,w,j,k,O,S,E,x,A,C,P,L,q,R;return _ts_generator(this,function(I){switch(I.label){case 0:return[4,r];case 1:return(l=I.sent())?[2,l]:(f=o(u)?{key:u}:u,Object.keys(f).length?(_=f.condition,v=f.consent,y=f.fn,m=f.key,h=f.loop,b=f.map,w=f.set,j=f.validate,k=f.value,(O=_)?[4,g(_)(e,u,c)]:[3,3]):[2]);case 2:O=!I.sent(),I.label=3;case 3:return O?[2]:v&&!i(v,s)?[2,k]:(S=n(k)?k:e,y?[4,g(y)(e,u,a)]:[3,5]);case 4:S=I.sent(),I.label=5;case 5:return m&&(S=tt(e,m,k)),h?(E=_sliced_to_array(h,2),x=E[0],A=E[1],"this"!==x?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,p(e,x,a)];case 7:P=I.sent(),I.label=8;case 8:return t(C=P)?[4,Promise.all(C.map(function(e){return p(e,A,a)}))]:[3,10];case 9:S=I.sent().filter(n),I.label=10;case 10:return[3,17];case 11:return b?[4,Object.entries(b).reduce(function(t,r){var o=_sliced_to_array(r,2),i=o[0],c=o[1];return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,t];case 1:return r=s.sent(),[4,p(e,c,a)];case 2:return o=s.sent(),[2,(n(o)&&(r[i]=o),r)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=I.sent(),[3,16];case 13:return(L=w)?[4,Promise.all(w.map(function(t){return at(e,t,a)}))]:[3,15];case 14:L=S=I.sent(),I.label=15;case 15:I.label=16;case 16:I.label=17;case 17:return(q=j)?[4,g(j)(S)]:[3,19];case 18:q=!I.sent(),I.label=19;case 19:return q&&(S=void 0),R=d(S),[2,n(R)?R:d(k)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}var it,ct={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",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}},st=Object.defineProperty,ut=function(e,t){for(var n in t)st(e,n,{get:t[n],enumerable:!0})},lt=Object.defineProperty;!function(e,t){for(var n in t)lt(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return ft}});var ft=((it=ft||{})[it.ERROR=0]="ERROR",it[it.INFO=1]="INFO",it[it.DEBUG=2]="DEBUG",it),dt={merge:!0,shallow:!0,extend:!0};function _t(e,t,n,r){var o=G(t,Z(e));if(!o||r&&!r[o])return null;var a=[t],i="[".concat(Z(e,o),"],[").concat(Z(e,""),"]"),c=Z(e,ct.Commands.Link,!1),s={},u=[],l=_sliced_to_array(ce(n||t,i,e,o),2),f=l[0],d=l[1];se(t,"[".concat(c,"]"),function(t){var n=_sliced_to_array(le(G(t,c)),2),r=n[0];"parent"===n[1]&&se(document.body,"[".concat(c,'="').concat(r,':child"]'),function(t){a.push(t);var n=_t(e,t);n&&u.push(n)})});var _=[];a.forEach(function(e){e.matches(i)&&_.push(e),se(e,i,function(e){return _.push(e)})});var g={};return _.forEach(function(t){g=H(g,ee(e,t,"")),s=H(s,ee(e,t,o))}),s=H(H(g,s),f),a.forEach(function(t){se(t,"[".concat(Z(e),"]"),function(t){var n=_t(e,t);n&&u.push(n)})}),{entity:o,data:s,context:d,nested:u}}var gt,vt=new WeakMap,pt=new WeakMap,yt=new WeakMap,mt=[],ht="click",bt="hover",wt="load",jt="pulse",kt="scroll",Ot="submit",St="impression",Et="visible",xt="wait";ut({},{env:function(){return At}});var At={};ut(At,{push:function(){return qt}});var Ct=function(){},Pt=function(){return function(){return Promise.resolve({ok:!0})}},Lt={error:Ct,info:Ct,debug:Ct,throw:function(e){throw"string"==typeof e?new Error(e):e},scope:function(){return Lt}},qt={get push(){return Pt()},get command(){return Pt()},get elb(){return Pt()},get window(){return{addEventListener:Ct,removeEventListener:Ct,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Ct,removeEventListener:Ct,querySelector:Ct,querySelectorAll:function(){return[]},getElementById:Ct,getElementsByClassName:function(){return[]},getElementsByTagName:function(){return[]},createElement:function(){return{setAttribute:Ct,getAttribute:Ct,addEventListener:Ct,removeEventListener:Ct}},body:{appendChild:Ct,removeChild:Ct},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:Lt},Rt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,c,s,u,l,f,d;return _ts_generator(this,function(_){switch(_.label){case 0:return t=e.config,n=e.env,r=n.elb,n.command,o=n.window,a=n.document,i=(null==t?void 0:t.settings)||{},c=o||(void 0!==globalThis.window?globalThis.window:void 0),s=a||(void 0!==globalThis.document?globalThis.document:void 0),u=function(){return _object_spread({prefix:"data-elb",pageview:!0,elb:"elb",elbLayer:"elbLayer",scope:(arguments.length>1?arguments[1]:void 0)||void 0},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}(i,s),l={settings:u},f={elb:r,settings:u},d=function(e){if(e.pageview){var t=_sliced_to_array((o=e.prefix||"data-elb",a=e.scope,i=window.location,c="page",s=a===document?document.body:a,u=_sliced_to_array(ce(s,"[".concat(Z(o,c),"]"),o,c),2),l=u[0],d=u[1],l.domain=i.hostname,l.title=document.title,l.referrer=document.referrer,i.search&&(l.search=i.search),i.hash&&(l.hash=i.hash),[l,d]),2),n=t[0],r=t[1];pe(f,"page view",n,"load",r)}var o,a,i,c,s,u,l,d},c&&s?(!1!==u.elbLayer&&r&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name||"elbLayer",r=t.window||window;if(r){var o=r;o[n]||(o[n]=[]);var a=o[n];a.push=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];if(Ee(r[0])){var a=_to_consumable_array(Array.from(r[0])),i=Array.prototype.push.apply(this,[a]);return Se(e,t.prefix,a),i}var c=Array.prototype.push.apply(this,r);return r.forEach(function(n){Se(e,t.prefix,n)}),c},Array.isArray(a)&&a.length>0&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;Oe(e,t,n,!0),Oe(e,t,n,!1),n.length=0}(e,t.prefix,a)}}(r,{name:V(u.elbLayer)?u.elbLayer:"elbLayer",prefix:u.prefix,window:c}),[4,(g=me,v=f,p=u,_async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=function(){g(v,p)},"loading"!==document.readyState?e():document.addEventListener("DOMContentLoaded",e),[2]})})())]):[3,2];case 1:_.sent(),he(f,u),d(u),V(u.elb)&&u.elb&&(c[u.elb]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],s=r[4],u=r[5];return pe(f,o,a,i,c,s,u)}),_.label=2;case 2:return[2,{type:"browser",config:l,push:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],s=r[4],u=r[5];return pe(f,o,a,i,c,s,u)},destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return s&&ve(u.scope||s),[2]})})()},on:function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(e){case"ready":default:break;case"run":s&&c&&(he(f,u),d(u))}return[2]})})()}}]}var g,v,p})})()},It=function(e,t){var n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t&&t.command("user",n),e.isStart&&t&&t.push({name:"session start",data:e}),e},Ut=function(e){return _async_to_generator(function(){var t,n,r,o,a,i,c;return _ts_generator(this,function(s){return t=e.config,n=e.env,r=n.elb,o=n.command,a=_object_spread({},null==t?void 0:t.settings),i={settings:a},c={push:r,group:void 0,command:o},Ce(_object_spread_props(_object_spread({},a),{collector:c})),[2,{type:"session",config:i,push:r,on:function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"consent"===e&&Ce(_object_spread_props(_object_spread({},a),{collector:c})),[2]})})()}}]})})()},Dt=Object.defineProperty,Tt=function(e,t){for(var n in t)Dt(e,n,{get:t[n],enumerable:!0})},Nt=!1;Tt({},{push:function(){return Mt}});var Wt=function(){},Xt=function(){return function(){return Promise.resolve({ok:!0})}},Gt={error:Wt,info:Wt,debug:Wt,throw:function(e){throw"string"==typeof e?new Error(e):e},scope:function(){return Gt}},Mt={get push(){return Xt()},get command(){return Xt()},get elb(){return Xt()},get window(){return{dataLayer:[],addEventListener:Wt,removeEventListener:Wt}},logger:Gt};Tt({},{add_to_cart:function(){return Te},config:function(){return We},consentDefault:function(){return Ue},consentUpdate:function(){return Ie},directDataLayerEvent:function(){return Ge},purchase:function(){return De},setCustom:function(){return Xe},view_item:function(){return Ne}});Tt({},{add_to_cart:function(){return Ft},config:function(){return Yt},configGA4:function(){return zt},consentOnlyMapping:function(){return $t},consentUpdate:function(){return Bt},customEvent:function(){return Vt},purchase:function(){return Ht},view_item:function(){return Jt}});var Kt,Bt={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(e){return"granted"===e}},marketing:{key:"ad_storage",fn:function(e){return"granted"===e}}}}}},Ht={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},Ft={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Jt={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},zt={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Vt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},Yt={consent:{update:Bt},purchase:Ht,add_to_cart:Ft,view_item:Jt,"config G-XXXXXXXXXX":zt,custom_event:Vt,"*":{data:{}}},$t={consent:{update:Bt}},Qt=function(e){return _async_to_generator(function(){var t,n,r,o,a,i;return _ts_generator(this,function(c){return t=e.config,n=e.env,r=n.elb,o=n.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),i={settings:a},[2,(o&&(function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",o=window[r];if(Array.isArray(o)&&!Nt){Nt=!0;try{var a=!0,i=!1,c=void 0;try{for(var s,u=o[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value;qe(e,n,l)}}catch(e){i=!0,c=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw c}}}finally{Nt=!1}}}(r,i),function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);var o=window[r];if(Array.isArray(o)){var a=o.push.bind(o);o.push=function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];if(Nt)return a.apply(void 0,_to_consumable_array(r));Nt=!0;try{var i=!0,c=!1,s=void 0;try{for(var u,l=r[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var f=u.value;qe(e,n,f)}}catch(e){c=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(c)throw s}}}finally{Nt=!1}return a.apply(void 0,_to_consumable_array(r))}}}(r,i)),{type:"dataLayer",config:i,push:r,destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",o&&o[e]&&Array.isArray(o[e]),[2]})})()}})]})})()},Zt={},en=Ke;return Kt=ze,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var c,s=function(){var o=c.value;Je.call(e,o)||o===n||Be(e,o,{get:function(){return t[o]},enumerable:!(r=He(t,o))||r.enumerable})},u=Fe(t)[Symbol.iterator]();!(o=(c=u.next()).done);o=!0)s()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(Be({},"__esModule",{value:!0}),Kt)}();
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty;((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{Level:()=>n});var t,n=((t=n||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},r={merge:!0,shallow:!0,extend:!0};function i(e,t={},n={}){n={...r,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function s(e){return Array.isArray(e)}function a(e){return void 0!==e}function c(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function l(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=l(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(l(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function f(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&s(r)){const t=o.slice(e+1).join("."),i=[];for(const e of r){const o=f(e,t,n);i.push(o)}return i}if(r=r instanceof Object?r[t]:void 0,!r)break}return a(r)?r:n}function d(e,t,n){if(!c(e))return e;const o=l(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}function g(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function p(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}function h(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function y(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=h(e)):n=e,void 0!==t&&(t instanceof Error?o.error=h(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=h(o.error))):o.value=t),{message:n,context:o}}var v=(e,t,o,r)=>{const i=`${n[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(o).length>0;0===e?s?console.error(i,t,o):console.error(i,t):s?console.log(i,t,o):console.log(i,t)};function b(e={}){return w({level:void 0!==e.level?(t=e.level,"string"==typeof t?n[t]:t):0,handler:e.handler,scope:[]});var t}function w(e){const{level:t,handler:n,scope:o}=e,r=(e,r,i)=>{if(e<=t){const t=y(r,i);n?n(e,t.message,t.context,o,v):v(e,t.message,t.context,o)}};return{error:(e,t)=>r(0,e,t),info:(e,t)=>r(1,e,t),debug:(e,t)=>r(2,e,t),throw:(e,t)=>{const r=y(e,t);throw n?n(0,r.message,r.context,o,v):v(0,r.message,r.context,o),new Error(r.message)},scope:e=>w({level:t,handler:n,scope:[...o,e]})}}function k(e){return function(e){return"boolean"==typeof e}(e)||u(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!a(e)||s(e)&&e.every(k)||c(e)&&Object.values(e).every(k)}function O(e){return k(e)?e:void 0}function E(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function j(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function S(e,t={},n={}){var o;if(!a(e))return;const r=c(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(t)?t:[t];for(const t of i){const o=await j(_)(e,t,{...n,consent:r});if(a(o))return o}}async function _(e,t,n={}){const{collector:o,consent:r}=n;return(s(t)?t:[t]).reduce(async(t,i)=>{const c=await t;if(c)return c;const l=u(i)?{key:i}:i;if(!Object.keys(l).length)return;const{condition:d,consent:m,fn:p,key:h,loop:y,map:v,set:b,validate:w,value:k}=l;if(d&&!await j(d)(e,i,o))return;if(m&&!g(m,r))return k;let E=a(k)?k:e;if(p&&(E=await j(p)(e,i,n)),h&&(E=f(e,h,k)),y){const[t,o]=y,r="this"===t?[e]:await S(e,t,n);s(r)&&(E=(await Promise.all(r.map(e=>S(e,o,n)))).filter(a))}else v?E=await Object.entries(v).reduce(async(t,[o,r])=>{const i=await t,s=await S(e,r,n);return a(s)&&(i[o]=s),i},Promise.resolve({})):b&&(E=await Promise.all(b.map(t=>_(e,t,n))));w&&!await j(w)(E)&&(E=void 0);const x=O(E);return a(x)?x:O(k)},Promise.resolve(void 0))}async function x(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));const{eventMapping:o,mappingKey:r}=await async function(e,t){var n;const[o,r]=(e.name||"").split(" ");if(!t||!o||!r)return{};let i,a="",c=o,u=r;const l=t=>{if(t)return(t=s(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),i=l(f[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping);(null==o?void 0:o.policy)&&await Promise.all(Object.entries(o.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));let a=t.data&&await S(e,t.data,{collector:n});if(o){if(o.ignore)return{event:e,data:a,mapping:o,mappingKey:r,ignore:!0};if(o.name&&(e.name=o.name),o.data){const t=o.data&&await S(e,o.data,{collector:n});a=c(a)&&c(t)?i(a,t):t}}return{event:e,data:a,mapping:o,mappingKey:r,ignore:!1}}function A(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}var L={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",User:"user",Walker:"walker"};function P(e,t,n,o,r){if(!t.on)return;const i=t.type||"unknown",s=e.logger.scope(i).scope("on").scope(o),a={collector:e,logger:s,id:n,config:t.config,data:r,env:U(t.env,t.config.env)};E(t.on)(o,a)}function $(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case L.Consent:r=o||e.consent;break;case L.Session:r=e.session;break;case L.Ready:case L.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&E(e.on)(t,r)}),Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:r});P(e,o,n,t,r)}}),i.length)switch(t){case L.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{E(t[n])(e,o)})})}(e,i,o);break;case L.Ready:case L.Run:a=i,(s=e).allowed&&a.forEach(e=>{E(e)(s)});break;case L.Session:!function(e,t){e.session&&t.forEach(t=>{E(t)(e,e.session)})}(e,i)}var s,a}function C(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function q(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),i={collector:e,logger:r,id:n,config:t.config,env:D(t.config.env)};r.debug("init");const s=await A(t.init,"TransformerInit",e.hooks)(i);if(!1===s)return!1;t.config={...s||t.config,init:!0},r.debug("init done")}return!0}async function R(e,t,n,o,r){const i=t.type||"unknown",s=e.logger.scope(`transformer:${i}`),a={collector:e,logger:s,id:n,ingest:r,config:t.config,env:D(t.config.env)};s.debug("push",{event:o.name});const c=await A(t.push,"TransformerPush",e.hooks)(o,a);return s.debug("push done"),c}async function I(e,t,n,o,r){let i=o;for(const o of n){const n=t[o];if(!n){e.logger.info(`Transformer not found: ${o}`);continue}if(!await j(q)(e,n,o))return e.logger.info(`Transformer init failed: ${o}`),null;const s=await j(R,t=>(e.logger.scope(`transformer:${n.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,n,o,i,r);if(!1===s)return null;void 0!==s&&(i=s)}return i}function D(e){return e&&c(e)?e:{}}async function N(e,t,n={},o){const{allowed:r,consent:s,globals:a,user:c}=e;if(!r)return W({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const u=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var u,f,d,m;let p=(r.queuePush||[]).map(e=>({...e,consent:s}));if(r.queuePush=[],t){const e=l(t);p.push(e)}if(!p.length&&!(null==(u=r.queueOn)?void 0:u.length))return{id:o,destination:r,skipped:!0};if(!p.length&&(null==(f=r.queueOn)?void 0:f.length)){const t=await j(T)(e,r,o);return{id:o,destination:r,skipped:!t}}const h=[],y=p.filter(e=>{const t=g(r.config.consent,s,e.consent);return!t||(e.consent=t,h.push(e),!1)});if(r.queuePush.concat(y),!h.length)return{id:o,destination:r,queue:p};if(!await j(T)(e,r,o))return{id:o,destination:r,queue:p};let v,b;r.dlq||(r.dlq=[]);const w=(null==(m=null==(d=e.transformerChain)?void 0:d.post)?void 0:m[o])||[];return await Promise.all(h.map(async t=>{t.globals=i(a,t.globals),t.user=i(c,t.user);let s=t;if(w.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await I(e,e.transformers,w,t,n.ingest);if(null===o)return t;s=o}const u=await j(X,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:s.name}),v=t,r.dlq.push([s,t])})(e,r,o,s,n.ingest);return void 0!==u&&(b=u),t})),{id:o,destination:r,error:v,response:b}})),f={},d={},m={};for(const e of u){if(e.skipped)continue;const t=e.destination,n={type:t.type||"unknown",data:e.response};e.error?(n.error=e.error,m[e.id]=n):e.queue&&e.queue.length?(t.queuePush=(t.queuePush||[]).concat(e.queue),d[e.id]=n):f[e.id]=n}return W({event:t,...Object.keys(f).length&&{done:f},...Object.keys(d).length&&{queued:d},...Object.keys(m).length&&{failed:m}})}async function T(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",i=e.logger.scope(r),s={collector:e,logger:i,id:n,config:t.config,env:U(t.env,t.config.env)};i.debug("init");const a=await A(t.init,"DestinationInit",e.hooks)(s);if(!1===a)return a;if(t.config={...a||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:i}of o)P(e,t,n,r,i)}i.debug("init done")}return!0}async function X(e,t,n,o,r){const{config:i}=t,s=await x(o,i,e);if(s.ignore)return!1;const c=t.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:n,config:i,data:s.data,rule:s.mapping,ingest:r,env:U(t.env,i.env)},f=s.mapping,d=s.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch){u.debug("push",{event:s.event.name});const n=await A(t.push,"DestinationPush",e.hooks)(s.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:p(()=>{const o=t.batches[d].batched,s={collector:e,logger:u,id:n,config:i,data:void 0,rule:f,ingest:r,env:U(t.env,i.env)};u.debug("push batch",{events:o.events.length}),A(t.pushBatch,"DestinationPushBatch",e.hooks)(o,s),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(s.event),a(s.data)&&o.batched.data.push(s.data),o.batchFn()}return!0}function W(e){return{ok:!(null==e?void 0:e.failed),...e}}function U(e,t){return e||t?t?e&&c(e)&&c(t)?{...e,...t}:t:e:{}}async function M(e,t,n,o){let r;switch(t){case L.Config:c(n)&&i(e.config,n,{shallow:!1});break;case L.Consent:c(n)&&(r=await async function(e,t){const{consent:n}=e;let o=!1;const r={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;r[e]=n,o=o||n}),e.consent=i(n,r),$(e,"consent",void 0,r),o?N(e):W({ok:!0})}(e,n));break;case L.Custom:c(n)&&(e.custom=i(e.custom,n));break;case L.Destination:c(n)&&function(e){return"function"==typeof e}(n.push)&&(r=await async function(e,t,n){const{code:o,config:r={},env:i={}}=t,s=n||r||{init:!1},a={...o,config:s,env:U(o.env,i)};let c=a.config.id;if(!c)do{c=m(4)}while(e.destinations[c]);return e.destinations[c]=a,!1!==a.config.queue&&(a.queuePush=[...e.queue]),N(e,void 0,{},{[c]:a})}(e,{code:n},o));break;case L.Globals:c(n)&&(e.globals=i(e.globals,n));break;case L.On:u(n)&&function(e,t,n){const o=e.on,r=o[t]||[],i=s(n)?n:[n];i.forEach(e=>{r.push(e)}),o[t]=r,$(e,t,i)}(e,n,o);break;case L.Ready:$(e,"ready");break;case L.Run:r=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++;const n=await N(e);return $(e,"run"),n}(e,n);break;case L.Session:$(e,"session");break;case L.User:c(n)&&i(e.user,n,{shallow:!1})}return r||W({ok:!0})}function B(e,t){return A(async(n,o={})=>await j(async()=>{const{id:r,ingest:i,mapping:s,preChain:a}=o;let c=n;const u=i?Object.freeze(i):void 0;if(s){const t=await x(c,s,e);if(t.ignore)return W({ok:!0});if(s.consent&&!g(s.consent,e.consent,t.event.consent))return W({ok:!0});c=t.event}if((null==a?void 0:a.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await I(e,e.transformers,a,c,u);if(null===t)return W({ok:!0});c=t}const l=t(c),f=function(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");++e.count;const{timestamp:r=Date.now(),group:i=e.group,count:s=e.count}=t,{name:a=`${n} ${o}`,data:c={},context:u={},globals:l=e.globals,custom:f={},user:d=e.user,nested:g=[],consent:m=e.consent,id:p=`${r}-${i}-${s}`,trigger:h="",entity:y=n,action:v=o,timing:b=0,version:w={source:e.version,tagging:e.config.tagging||0},source:k={type:"collector",id:"",previous_id:""}}=t;return{name:a,data:c,context:u,globals:l,custom:f,user:d,nested:g,consent:m,id:p,trigger:h,entity:y,action:v,timestamp:r,timing:b,group:i,count:s,version:w,source:k}}(e,l);return await N(e,f,{id:r,ingest:u})},()=>W({ok:!1}))(),"Push",e.hooks)}async function G(e){var t,n;const o=i({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),r=b({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},transformers:{},transformerChain:{pre:[],post:{}},globals:s,group:"",hooks:{},logger:r,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"1.1.0",sources:{},push:void 0,command:void 0};return a.push=B(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),a.command=(u=M,A(async(e,t,n)=>await j(async()=>await u(c,e,t,n),()=>W({ok:!1}))(),"Command",(c=a).hooks)),a.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,s={...t.config,...r},a=U(t.env,i);n[e]={...t,config:s,env:a}}return n}(0,e.destinations||{}),a.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={}}=r,a=e.logger.scope("transformer").scope(o),c={collector:e,logger:a,id:o,config:i,env:s},u=await t(c);n[o]=u}return n}(a,e.transformers||{}),a;var c,u}function H(e){const t={};for(const[n,o]of Object.entries(e))t[n]={next:o.config.next};return t}async function K(e){e=e||{};const t=await G(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return W({ok:!1});a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}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;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a,next:c}=r;let u;const l=C(c,H(e.transformers)),f=(t,n={})=>e.push(t,{...n,id:o,ingest:u,mapping:i,preChain:l}),d=e.logger.scope("source").scope(o),g={push:f,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:d,...s},m={collector:e,logger:d,id:o,config:i,env:g,setIngest:async t=>{u=i.ingest?await S(t,i.ingest,{collector:e}):void 0}},p=await j(t)(m);if(!p)continue;const h=p.type||"unknown",y=e.logger.scope(h).scope(o);g.logger=y,a&&(p.config={...p.config,primary:a}),n[o]=p}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:i,user:s,globals:a,custom:c}=e;i&&await t.command("consent",i),s&&await t.command("user",s),a&&Object.assign(t.globals,a),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}function F(e,t){return(e.getAttribute(t)||"").trim()}function J(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function z(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:Y(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function Y(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let o=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(o+="; domain="+i),document.cookie=o;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return z(e,r)}var V,Q=Object.defineProperty,Z=(e,t)=>{for(var n in t)Q(e,n,{get:t[n],enumerable:!0})},ee=Object.defineProperty;((e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>te});var te=((V=te||{})[V.ERROR=0]="ERROR",V[V.INFO=1]="INFO",V[V.DEBUG=2]="DEBUG",V),ne={merge:!0,shallow:!0,extend:!0};function oe(e,t={},n={}){n={...ne,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function re(e){return Array.isArray(e)}function ie(e){return e===document||e instanceof Element}function se(e){return"object"==typeof e&&null!==e&&!re(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ae(e){return"string"==typeof e}function ce(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function ue(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function le(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function fe(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function de(e,t,n,o=!0){return Oe(F(t,fe(e,n,o))||"").reduce((e,n)=>{let[o,r]=Ee(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),re(e[o])||(e[o]=[]),e[o].push(ce(r))):e[o]=ce(r),e},{})}function ge(e,t=L.Prefix){var n;const o=e||document.body;if(!o)return[];let r=[];const i=L.Action,s=`[${fe(t,i,!1)}]`,a=e=>{Object.keys(de(t,e,i,!1)).forEach(n=>{r=r.concat(me(e,n,t))})};return o!==document&&(null==(n=o.matches)?void 0:n.call(o,s))&&a(o),ke(o,s,a),r}function me(e,t,n=L.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=F(o,fe(e,L.Actions,!1));if(t){const e=he(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=F(o,fe(e,L.Action,!1));if(r){const e=he(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=be(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=Oe(r.actionParams||"",",").reduce((e,t)=>(e[le(t)]=!0,e),{}),a=ye(n,e,s,i);if(!a.length){const t="page",o=`[${fe(n,t)}]`,[r,i]=we(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}function pe(e=L.Prefix,t=document){const n=fe(e,L.Globals,!1);let o={};return ke(t,`[${n}]`,t=>{o=oe(o,de(e,t,L.Globals,!1))}),o}function he(e){const t={};return Oe(e).forEach(e=>{const[n,o]=Ee(e),[r,i]=je(n);if(!r)return;let[s,a]=je(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function ye(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=ve(e,i,t,n);if(s&&(r.push(s),o))break;i=be(e,i)}return r}function ve(e,t,n,o){const r=F(t,fe(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${fe(e,r)}],[${fe(e,"")}]`,a=fe(e,L.Link,!1);let c={};const u=[],[l,f]=we(n||t,s,e,r);ke(t,`[${a}]`,t=>{const[n,o]=Ee(F(t,a));"parent"===o&&ke(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=ve(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),ke(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=oe(g,de(e,t,"")),c=oe(c,de(e,t,r))}),c=oe(oe(g,c),l),i.forEach(t=>{ke(t,`[${fe(e)}]`,t=>{const n=ve(e,t);n&&u.push(n)})}),{entity:r,data:c,context:f,nested:u}}function be(e,t){const n=fe(e,L.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=Ee(F(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function we(e,t,n,o){let r={};const i={};let s=e;const a=`[${fe(n,L.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=oe(de(n,s,""),r),r=oe(de(n,s,o),r)),s.matches(a)&&(Object.entries(de(n,s,L.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=be(n,s);return[r,i]}function ke(e,t,n){e.querySelectorAll(t).forEach(n)}function Oe(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function Ee(e){const[t,n]=e.split(/:(.+)/,2);return[le(t),le(n)]}function je(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Se,_e=new WeakMap,xe=new WeakMap,Ae=new WeakMap;function Le(e){const t=Date.now();let n=xe.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:J(e),lastChecked:t},xe.set(e,n)),n.isVisible}function Pe(e){if(window.IntersectionObserver)return ue(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=Ae.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=_e.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},_e.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&Le(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(Le(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Be(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Ae.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),_e.delete(t),xe.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function $e(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=Ae.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Ce(e){if(!e)return;const t=Ae.get(e);t&&(t.observer&&t.observer.disconnect(),Ae.delete(e))}function qe(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(ae(t)&&t.startsWith("walker "))return a(t,n);if(se(t)){const e=t;return e.source||(e.source=Re()),e.globals||(e.globals=pe(c.prefix,c.scope||document)),a(e)}const[u]=String(se(t)?t.name:t).split(" ");let l,f=se(n)?n:{},d={},g=!1;if(ie(n)&&(l=n,g=!0),ie(r)?l=r:se(r)&&Object.keys(r).length&&(d=r),l){const e=ye(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=pe(c.prefix,c.scope);return a({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:ae(o)?o:"",source:Re()})}function Re(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Ie=[],De="hover",Ne="load",Te="pulse",Xe="scroll",We="wait";function Ue(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",ue(function(t){He.call(this,e,t)})),n.addEventListener("submit",ue(function(t){Ke.call(this,e,t)})))}(e,t)}function Me(e,t){t.scope&&function(e,t){const n=t.scope;Ie=[];const o=n||document;Ce(o),function(e,t=1e3){Ae.has(e)||Ae.set(e,{observer:Pe(e),timers:new WeakMap,duration:t})}(o,1e3);const r=fe(t.prefix,L.Action,!1);o!==document&&Ge(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{Ge(e,n,r,t)}),Ie.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Be(t,e,Xe),1))});Se||(Se=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){Ie=n.call(t,Ie,e)}),t.addEventListener("scroll",Se))}(e,o)}(e,t)}async function Be(e,t,n){const o=me(t,n,e.settings.prefix);return Promise.all(o.map(t=>qe(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ge(e,t,n,o){const r=F(t,n);r&&Object.values(he(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case De:o=e,t.addEventListener("mouseenter",ue(function(e){e.target instanceof Element&&Be(o,e.target,De)}));break;case Ne:!function(e,t){Be(e,t,Ne)}(e,t);break;case Te:!function(e,t,n=""){setInterval(()=>{document.hidden||Be(e,t,Te)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Xe:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Ie.push([e,n])}(t,n.triggerParams);break;case"impression":$e(e,t);break;case"visible":$e(e,t,{multiple:!0});break;case We:!function(e,t,n=""){setTimeout(()=>Be(e,t,We),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function He(e,t){Be(e,t.target,"click")}function Ke(e,t){t.target&&Be(e,t.target,"submit")}function Fe(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=ze(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!se(s)&&ae(s)&&s.startsWith("walker ");if(se(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!ae(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{Je(e,t,n)})}function Je(e,t="data-elb",n){ue(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||ae(o)&&""===o.trim())return;if(ae(o)&&o.startsWith("walker "))return void e(o,r[0]);qe({elb:e,settings:{prefix:t,scope:document,pageview:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function ze(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}Z({},{env:()=>Ye});var Ye={};Z(Ye,{push:()=>et});var Ve=()=>{},Qe=()=>()=>Promise.resolve({ok:!0}),Ze={error:Ve,info:Ve,debug:Ve,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>Ze},et={get push(){return Qe()},get command(){return Qe()},get elb(){return Qe()},get window(){return{addEventListener:Ve,removeEventListener:Ve,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Ve,removeEventListener:Ve,querySelector:Ve,querySelectorAll:()=>[],getElementById:Ve,getElementsByClassName:()=>[],getElementsByTagName:()=>[],createElement:()=>({setAttribute:Ve,getAttribute:Ve,addEventListener:Ve,removeEventListener:Ve}),body:{appendChild:Ve,removeChild:Ve},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:Ze},tt=async e=>{const{config:t,env:n}=e,{elb:o,command:r,window:i,document:s}=n,a=(null==t?void 0:t.settings)||{},c=i||(void 0!==globalThis.window?globalThis.window:void 0),u=s||(void 0!==globalThis.document?globalThis.document:void 0),l=function(e={},t){return{prefix:"data-elb",pageview:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(a,u),f={settings:l},d={elb:o,settings:l},g=e=>{if(e.pageview){const[t,n]=function(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=we(r,`[${fe(e,o)}]`,e,o);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}(e.prefix||"data-elb",e.scope);qe(d,"page view",t,"load",n)}};return c&&u&&(!1!==l.elbLayer&&o&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||window;if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(ze(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return Je(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{Je(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){Fe(e,t,n,!0),Fe(e,t,n,!1),n.length=0}(e,t.prefix,i)}(o,{name:ae(l.elbLayer)?l.elbLayer:"elbLayer",prefix:l.prefix,window:c}),await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(Ue,d,l),Me(d,l),g(l),ae(l.elb)&&l.elb&&(c[l.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return qe(d,t,n,o,r,i,s)})),{type:"browser",config:f,push:(...e)=>{const[t,n,o,r,i,s]=e;return qe(d,t,n,o,r,i,s)},destroy:async()=>{u&&Ce(l.scope||u)},on:async e=>{switch(e){case"ready":default:break;case"run":u&&c&&(Me(d,l),g(l))}}}};function nt(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const o=new URL(e.url||window.location.href),r=e.referrer||document.referrer,s=r&&new URL(r).hostname,a=function(e,t={}){const n="clickId",o={},r={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(i(r,t)).forEach(([t,r])=>{const i=e.searchParams.get(t);i&&(r===n&&(r=t,o[n]=t),o[r]=i)}),o}(o,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(o.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:s},a,e.data):n}function ot(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=nt(e);let l=!1;const f=E((e,t,n)=>{let o=z(e,n);return o||(o=m(8),Y(e,o,1440*t,n)),String(o)})(o,i,r),d=E((e,o)=>{const r=JSON.parse(String(z(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),l=!0),l||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,l=!0):r.runs++),r},()=>{l=!0})(s,a)||{},g={id:m(12),start:t,isNew:!0,count:1,runs:1},p=Object.assign(g,u,d,{device:f},{isStart:l,storage:!0,updated:t},e.data);return Y(s,JSON.stringify(p),2*n,a),p}function rt(e={}){const{cb:t,consent:n,collector:o,storage:r}=e;if(!n)return it((r?ot:nt)(e),o,t);{const r=function(e,t){let n;const o=(o,r)=>{if(a(n)&&n===(null==o?void 0:o.group))return;n=null==o?void 0:o.group;let i=()=>nt(e);if(e.consent){g((s(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),r)&&(i=()=>ot(e))}return it(i(),o,t)};return o}(e,t),i=(s(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{});o&&o.command("on","consent",i)}}function it(e,t,n){return!1===n?e:(n||(n=st),n(e,t,st))}var st=(e,t)=>{const n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t&&t.command("user",n),e.isStart&&t&&t.push({name:"session start",data:e}),e},at=async e=>{const{config:t,env:n}=e,{elb:o,command:r}=n,i={...null==t?void 0:t.settings},s={settings:i},a={push:o,group:void 0,command:r};rt({...i,collector:a});return{type:"session",config:s,push:o,on:async e=>{"consent"===e&&rt({...i,collector:a})}}},ct=Object.defineProperty,ut=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:!0})},lt=!1;function ft(e,t={},n){if(t.filter&&!0===E(()=>t.filter(n),()=>!1)())return;const o=function(e){if(c(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}return s(e)&&e.length>=2?dt(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?dt(Array.from(e)):null;var t}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:i,...a}=o,l={name:r,data:a};E(()=>e(l),()=>{})()}function dt(e){const[t,n,o]=e;if(!u(t))return null;let r,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!c(o)||null===o)return null;r=`${t} ${n}`,i={...o};break;case"event":if(!u(n))return null;r=n,c(o)&&(i={...o});break;case"config":if(!u(n))return null;r=`${t} ${n}`,c(o)&&(i={...o});break;case"set":if(u(n))r=`${t} ${n}`,c(o)&&(i={...o});else{if(!c(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}ut({},{push:()=>ht});var gt=()=>{},mt=()=>()=>Promise.resolve({ok:!0}),pt={error:gt,info:gt,debug:gt,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>pt},ht={get push(){return mt()},get command(){return mt()},get elb(){return mt()},get window(){return{dataLayer:[],addEventListener:gt,removeEventListener:gt}},logger:pt};function yt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function vt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function bt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function wt(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function kt(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Ot(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function Et(){return["set",{currency:"EUR",country:"DE"}]}function jt(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}ut({},{add_to_cart:()=>wt,config:()=>Ot,consentDefault:()=>vt,consentUpdate:()=>yt,directDataLayerEvent:()=>jt,purchase:()=>bt,setCustom:()=>Et,view_item:()=>kt});ut({},{add_to_cart:()=>xt,config:()=>$t,configGA4:()=>Lt,consentOnlyMapping:()=>Ct,consentUpdate:()=>St,customEvent:()=>Pt,purchase:()=>_t,view_item:()=>At});var St={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},_t={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},xt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},At={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},Lt={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Pt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},$t={consent:{update:St},purchase:_t,add_to_cart:xt,view_item:At,"config G-XXXXXXXXXX":Lt,custom_event:Pt,"*":{data:{}}},Ct={consent:{update:St}},qt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,i={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},s={settings:i};return r&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!lt){lt=!0;try{for(const t of r)ft(e,n,t)}finally{lt=!1}}}(o,s),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(lt)return i(...t);lt=!0;try{for(const o of t)ft(e,n,o)}finally{lt=!1}return i(...t)}}(o,s)),{type:"dataLayer",config:s,push:o,destroy:async()=>{const e=i.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}};function Rt(){window.dataLayer=window.dataLayer||[];const e=e=>{c(e)&&c(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}var It={};async function Dt(e={}){const t=i({collector:{destinations:{dataLayer:{code:Rt()}}},browser:{},session:!0,dataLayer:!1,elb:"elb",run:!0},e),n={...t.collector,sources:{browser:{code:tt,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(!1!==t.session){const e=c(t.session)?t.session:{};n.sources&&(n.sources.session={code:at,config:{settings:e}})}if(t.dataLayer){const e=c(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:qt,config:{settings:e}})}const o=await K(n);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o.elb),t.name&&(window[t.name]=o.collector)),o}var Nt=Dt;export{It as Walkerjs,Dt as createWalkerjs,Nt as default,ge as getAllEvents,me as getEvents,pe as getGlobals};//# sourceMappingURL=index.mjs.map
1
+ var e=Object.defineProperty;((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{Level:()=>n});var t,n=((t=n||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},r={merge:!0,shallow:!0,extend:!0};function i(e,t={},n={}){n={...r,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function s(e){return Array.isArray(e)}function a(e){return void 0!==e}function c(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function l(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=l(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(l(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function f(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&s(r)){const t=o.slice(e+1).join("."),i=[];for(const e of r){const o=f(e,t,n);i.push(o)}return i}if(r=r instanceof Object?r[t]:void 0,!r)break}return a(r)?r:n}function d(e,t,n){if(!c(e))return e;const o=l(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}function g(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function p(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}function h(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function y(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=h(e)):n=e,void 0!==t&&(t instanceof Error?o.error=h(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=h(o.error))):o.value=t),{message:n,context:o}}var v=(e,t,o,r)=>{const i=`${n[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(o).length>0;0===e?s?console.error(i,t,o):console.error(i,t):s?console.log(i,t,o):console.log(i,t)};function b(e={}){return w({level:void 0!==e.level?(t=e.level,"string"==typeof t?n[t]:t):0,handler:e.handler,scope:[]});var t}function w(e){const{level:t,handler:n,scope:o}=e,r=(e,r,i)=>{if(e<=t){const t=y(r,i);n?n(e,t.message,t.context,o,v):v(e,t.message,t.context,o)}};return{error:(e,t)=>r(0,e,t),info:(e,t)=>r(1,e,t),debug:(e,t)=>r(2,e,t),throw:(e,t)=>{const r=y(e,t);throw n?n(0,r.message,r.context,o,v):v(0,r.message,r.context,o),new Error(r.message)},scope:e=>w({level:t,handler:n,scope:[...o,e]})}}function k(e){return function(e){return"boolean"==typeof e}(e)||u(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!a(e)||s(e)&&e.every(k)||c(e)&&Object.values(e).every(k)}function O(e){return k(e)?e:void 0}function E(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function j(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function S(e,t={},n={}){var o;if(!a(e))return;const r=c(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(t)?t:[t];for(const t of i){const o=await j(_)(e,t,{...n,consent:r});if(a(o))return o}}async function _(e,t,n={}){const{collector:o,consent:r}=n;return(s(t)?t:[t]).reduce(async(t,i)=>{const c=await t;if(c)return c;const l=u(i)?{key:i}:i;if(!Object.keys(l).length)return;const{condition:d,consent:m,fn:p,key:h,loop:y,map:v,set:b,validate:w,value:k}=l;if(d&&!await j(d)(e,i,o))return;if(m&&!g(m,r))return k;let E=a(k)?k:e;if(p&&(E=await j(p)(e,i,n)),h&&(E=f(e,h,k)),y){const[t,o]=y,r="this"===t?[e]:await S(e,t,n);s(r)&&(E=(await Promise.all(r.map(e=>S(e,o,n)))).filter(a))}else v?E=await Object.entries(v).reduce(async(t,[o,r])=>{const i=await t,s=await S(e,r,n);return a(s)&&(i[o]=s),i},Promise.resolve({})):b&&(E=await Promise.all(b.map(t=>_(e,t,n))));w&&!await j(w)(E)&&(E=void 0);const x=O(E);return a(x)?x:O(k)},Promise.resolve(void 0))}async function x(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));const{eventMapping:o,mappingKey:r}=await async function(e,t){var n;const[o,r]=(e.name||"").split(" ");if(!t||!o||!r)return{};let i,a="",c=o,u=r;const l=t=>{if(t)return(t=s(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),i=l(f[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping);(null==o?void 0:o.policy)&&await Promise.all(Object.entries(o.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));let a=t.data&&await S(e,t.data,{collector:n});if(o){if(o.ignore)return{event:e,data:a,mapping:o,mappingKey:r,ignore:!0};if(o.name&&(e.name=o.name),o.data){const t=o.data&&await S(e,o.data,{collector:n});a=c(a)&&c(t)?i(a,t):t}}return{event:e,data:a,mapping:o,mappingKey:r,ignore:!1}}function A(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}var L={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",User:"user",Walker:"walker"};function P(e,t,n,o,r){if(!t.on)return;const i=t.type||"unknown",s=e.logger.scope(i).scope("on").scope(o),a={collector:e,logger:s,id:n,config:t.config,data:r,env:B(t.env,t.config.env)};E(t.on)(o,a)}function $(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case L.Consent:r=o||e.consent;break;case L.Session:r=e.session;break;case L.Ready:case L.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&E(e.on)(t,r)}),Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:r});P(e,o,n,t,r)}}),i.length)switch(t){case L.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{E(t[n])(e,o)})})}(e,i,o);break;case L.Ready:case L.Run:a=i,(s=e).allowed&&a.forEach(e=>{E(e)(s)});break;case L.Session:!function(e,t){e.session&&t.forEach(t=>{E(t)(e,e.session)})}(e,i)}var s,a}function q(e){var t;const n={};for(const[o,r]of Object.entries(e))(null==(t=r.config)?void 0:t.next)?n[o]={next:r.config.next}:n[o]={};return n}function C(e,t){const n=e.config||{},o=e[t];return void 0!==o?{config:{...n,[t]:o},chainValue:o}:{config:n,chainValue:void 0}}function R(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function D(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),i={collector:e,logger:r,id:n,config:t.config,env:T(t.config.env)};r.debug("init");const s=await A(t.init,"TransformerInit",e.hooks)(i);if(!1===s)return!1;t.config={...s||t.config,init:!0},r.debug("init done")}return!0}async function I(e,t,n,o,r){const i=t.type||"unknown",s=e.logger.scope(`transformer:${i}`),a={collector:e,logger:s,id:n,ingest:r,config:t.config,env:T(t.config.env)};s.debug("push",{event:o.name});const c=await A(t.push,"TransformerPush",e.hooks)(o,a);return s.debug("push done"),c}async function N(e,t,n,o,r){let i=o;for(const o of n){const n=t[o];if(!n){e.logger.info(`Transformer not found: ${o}`);continue}if(!await j(D)(e,n,o))return e.logger.info(`Transformer init failed: ${o}`),null;const s=await j(I,t=>(e.logger.scope(`transformer:${n.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,n,o,i,r);if(!1===s)return null;void 0!==s&&(i=s)}return i}function T(e){return e&&c(e)?e:{}}async function X(e,t,n={},o){const{allowed:r,consent:s,globals:a,user:c}=e;if(!r)return M({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const u=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var u,f;let d=(r.queuePush||[]).map(e=>({...e,consent:s}));if(r.queuePush=[],t){const e=l(t);d.push(e)}if(!d.length&&!(null==(u=r.queueOn)?void 0:u.length))return{id:o,destination:r,skipped:!0};if(!d.length&&(null==(f=r.queueOn)?void 0:f.length)){const t=await j(W)(e,r,o);return{id:o,destination:r,skipped:!t}}const m=[],p=d.filter(e=>{const t=g(r.config.consent,s,e.consent);return!t||(e.consent=t,m.push(e),!1)});if(r.queuePush.concat(p),!m.length)return{id:o,destination:r,queue:d};if(!await j(W)(e,r,o))return{id:o,destination:r,queue:d};let h,y;r.dlq||(r.dlq=[]);const v=function(e,t){const n=e.config.before;return n?R(n,q(t)):[]}(r,e.transformers);return await Promise.all(m.map(async t=>{t.globals=i(a,t.globals),t.user=i(c,t.user);let s=t;if(v.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await N(e,e.transformers,v,t,n.ingest);if(null===o)return t;s=o}const u=await j(U,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:s.name}),h=t,r.dlq.push([s,t])})(e,r,o,s,n.ingest);return void 0!==u&&(y=u),t})),{id:o,destination:r,error:h,response:y}})),f={},d={},m={};for(const e of u){if(e.skipped)continue;const t=e.destination,n={type:t.type||"unknown",data:e.response};e.error?(n.error=e.error,m[e.id]=n):e.queue&&e.queue.length?(t.queuePush=(t.queuePush||[]).concat(e.queue),d[e.id]=n):f[e.id]=n}return M({event:t,...Object.keys(f).length&&{done:f},...Object.keys(d).length&&{queued:d},...Object.keys(m).length&&{failed:m}})}async function W(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",i=e.logger.scope(r),s={collector:e,logger:i,id:n,config:t.config,env:B(t.env,t.config.env)};i.debug("init");const a=await A(t.init,"DestinationInit",e.hooks)(s);if(!1===a)return a;if(t.config={...a||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:i}of o)P(e,t,n,r,i)}i.debug("init done")}return!0}async function U(e,t,n,o,r){const{config:i}=t,s=await x(o,i,e);if(s.ignore)return!1;const c=t.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:n,config:i,data:s.data,rule:s.mapping,ingest:r,env:B(t.env,i.env)},f=s.mapping,d=s.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch){u.debug("push",{event:s.event.name});const n=await A(t.push,"DestinationPush",e.hooks)(s.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:p(()=>{const o=t.batches[d].batched,s={collector:e,logger:u,id:n,config:i,data:void 0,rule:f,ingest:r,env:B(t.env,i.env)};u.debug("push batch",{events:o.events.length}),A(t.pushBatch,"DestinationPushBatch",e.hooks)(o,s),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(s.event),a(s.data)&&o.batched.data.push(s.data),o.batchFn()}return!0}function M(e){return{ok:!(null==e?void 0:e.failed),...e}}function B(e,t){return e||t?t?e&&c(e)&&c(t)?{...e,...t}:t:e:{}}async function G(e,t,n,o){let r;switch(t){case L.Config:c(n)&&i(e.config,n,{shallow:!1});break;case L.Consent:c(n)&&(r=await async function(e,t){const{consent:n}=e;let o=!1;const r={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;r[e]=n,o=o||n}),e.consent=i(n,r),$(e,"consent",void 0,r),o?X(e):M({ok:!0})}(e,n));break;case L.Custom:c(n)&&(e.custom=i(e.custom,n));break;case L.Destination:c(n)&&"code"in n&&c(n.code)&&(r=await async function(e,t,n){const{code:o,config:r={},env:i={},before:s}=t;if(!function(e){return"function"==typeof e}(o.push))return M({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const a=n||r||{init:!1},c=s?{...a,before:s}:a,u={...o,config:c,env:B(o.env,i)};let l=u.config.id;if(!l)do{l=m(4)}while(e.destinations[l]);return e.destinations[l]=u,!1!==u.config.queue&&(u.queuePush=[...e.queue]),X(e,void 0,{},{[l]:u})}(e,n,o));break;case L.Globals:c(n)&&(e.globals=i(e.globals,n));break;case L.On:u(n)&&function(e,t,n){const o=e.on,r=o[t]||[],i=s(n)?n:[n];i.forEach(e=>{r.push(e)}),o[t]=r,$(e,t,i)}(e,n,o);break;case L.Ready:$(e,"ready");break;case L.Run:r=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++;const n=await X(e);return $(e,"run"),n}(e,n);break;case L.Session:$(e,"session");break;case L.User:c(n)&&i(e.user,n,{shallow:!1})}return r||M({ok:!0})}function H(e,t){return A(async(n,o={})=>await j(async()=>{const{id:r,ingest:i,mapping:s,preChain:a}=o;let c=n;const u=i?Object.freeze(i):void 0;if(s){const t=await x(c,s,e);if(t.ignore)return M({ok:!0});if(s.consent&&!g(s.consent,e.consent,t.event.consent))return M({ok:!0});c=t.event}if((null==a?void 0:a.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await N(e,e.transformers,a,c,u);if(null===t)return M({ok:!0});c=t}const l=t(c),f=function(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");++e.count;const{timestamp:r=Date.now(),group:i=e.group,count:s=e.count}=t,{name:a=`${n} ${o}`,data:c={},context:u={},globals:l=e.globals,custom:f={},user:d=e.user,nested:g=[],consent:m=e.consent,id:p=`${r}-${i}-${s}`,trigger:h="",entity:y=n,action:v=o,timing:b=0,version:w={source:e.version,tagging:e.config.tagging||0},source:k={type:"collector",id:"",previous_id:""}}=t;return{name:a,data:c,context:u,globals:l,custom:f,user:d,nested:g,consent:m,id:p,trigger:h,entity:y,action:v,timestamp:r,timing:b,group:i,count:s,version:w,source:k}}(e,l);return await X(e,f,{id:r,ingest:u})},()=>M({ok:!1}))(),"Push",e.hooks)}async function K(e){var t,n;const o=i({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),r=b({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},transformers:{},globals:s,group:"",hooks:{},logger:r,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"1.1.2",sources:{},push:void 0,command:void 0};return a.push=H(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),a.command=(u=G,A(async(e,t,n)=>await j(async()=>await u(c,e,t,n),()=>M({ok:!1}))(),"Command",(c=a).hooks)),a.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,{config:s}=C(o,"before"),a={...t.config,...r,...s},c=B(t.env,i);n[e]={...t,config:a,env:c}}return n}(0,e.destinations||{}),a.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,env:i={}}=r,{config:s}=C(r,"next"),a=e.logger.scope("transformer").scope(o),c={collector:e,logger:a,id:o,config:s,env:i},u=await t(c);n[o]=u}return n}(a,e.transformers||{}),a;var c,u}async function F(e){e=e||{};const t=await K(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return M({ok:!1});a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}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;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a,next:c}=r;let u;const l=R(c,q(e.transformers)),f=(t,n={})=>e.push(t,{...n,id:o,ingest:u,mapping:i,preChain:l}),d=e.logger.scope("source").scope(o),g={push:f,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:d,...s},m={collector:e,logger:d,id:o,config:i,env:g,setIngest:async t=>{u=i.ingest?await S(t,i.ingest,{collector:e}):void 0}},p=await j(t)(m);if(!p)continue;const h=p.type||"unknown",y=e.logger.scope(h).scope(o);g.logger=y,a&&(p.config={...p.config,primary:a}),n[o]=p}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:i,user:s,globals:a,custom:c}=e;i&&await t.command("consent",i),s&&await t.command("user",s),a&&Object.assign(t.globals,a),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}function J(e,t){return(e.getAttribute(t)||"").trim()}function z(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function V(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:Y(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function Y(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let o=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(o+="; domain="+i),document.cookie=o;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return V(e,r)}var Q,Z=Object.defineProperty,ee=(e,t)=>{for(var n in t)Z(e,n,{get:t[n],enumerable:!0})},te=Object.defineProperty;((e,t)=>{for(var n in t)te(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>ne});var ne=((Q=ne||{})[Q.ERROR=0]="ERROR",Q[Q.INFO=1]="INFO",Q[Q.DEBUG=2]="DEBUG",Q),oe={merge:!0,shallow:!0,extend:!0};function re(e,t={},n={}){n={...oe,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function ie(e){return Array.isArray(e)}function se(e){return e===document||e instanceof Element}function ae(e){return"object"==typeof e&&null!==e&&!ie(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ce(e){return"string"==typeof e}function ue(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function le(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function fe(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function de(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function ge(e,t,n,o=!0){return Ee(J(t,de(e,n,o))||"").reduce((e,n)=>{let[o,r]=je(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),ie(e[o])||(e[o]=[]),e[o].push(ue(r))):e[o]=ue(r),e},{})}function me(e,t=L.Prefix){var n;const o=e||document.body;if(!o)return[];let r=[];const i=L.Action,s=`[${de(t,i,!1)}]`,a=e=>{Object.keys(ge(t,e,i,!1)).forEach(n=>{r=r.concat(pe(e,n,t))})};return o!==document&&(null==(n=o.matches)?void 0:n.call(o,s))&&a(o),Oe(o,s,a),r}function pe(e,t,n=L.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=J(o,de(e,L.Actions,!1));if(t){const e=ye(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=J(o,de(e,L.Action,!1));if(r){const e=ye(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=we(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=Ee(r.actionParams||"",",").reduce((e,t)=>(e[fe(t)]=!0,e),{}),a=ve(n,e,s,i);if(!a.length){const t="page",o=`[${de(n,t)}]`,[r,i]=ke(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}function he(e=L.Prefix,t=document){const n=de(e,L.Globals,!1);let o={};return Oe(t,`[${n}]`,t=>{o=re(o,ge(e,t,L.Globals,!1))}),o}function ye(e){const t={};return Ee(e).forEach(e=>{const[n,o]=je(e),[r,i]=Se(n);if(!r)return;let[s,a]=Se(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function ve(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=be(e,i,t,n);if(s&&(r.push(s),o))break;i=we(e,i)}return r}function be(e,t,n,o){const r=J(t,de(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${de(e,r)}],[${de(e,"")}]`,a=de(e,L.Link,!1);let c={};const u=[],[l,f]=ke(n||t,s,e,r);Oe(t,`[${a}]`,t=>{const[n,o]=je(J(t,a));"parent"===o&&Oe(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=be(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),Oe(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=re(g,ge(e,t,"")),c=re(c,ge(e,t,r))}),c=re(re(g,c),l),i.forEach(t=>{Oe(t,`[${de(e)}]`,t=>{const n=be(e,t);n&&u.push(n)})}),{entity:r,data:c,context:f,nested:u}}function we(e,t){const n=de(e,L.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=je(J(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function ke(e,t,n,o){let r={};const i={};let s=e;const a=`[${de(n,L.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=re(ge(n,s,""),r),r=re(ge(n,s,o),r)),s.matches(a)&&(Object.entries(ge(n,s,L.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=we(n,s);return[r,i]}function Oe(e,t,n){e.querySelectorAll(t).forEach(n)}function Ee(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function je(e){const[t,n]=e.split(/:(.+)/,2);return[fe(t),fe(n)]}function Se(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var _e,xe=new WeakMap,Ae=new WeakMap,Le=new WeakMap;function Pe(e){const t=Date.now();let n=Ae.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:z(e),lastChecked:t},Ae.set(e,n)),n.isVisible}function $e(e){if(window.IntersectionObserver)return le(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=Le.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=xe.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},xe.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&Pe(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(Pe(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Ge(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Le.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),xe.delete(t),Ae.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function qe(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=Le.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Ce(e){if(!e)return;const t=Le.get(e);t&&(t.observer&&t.observer.disconnect(),Le.delete(e))}function Re(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(ce(t)&&t.startsWith("walker "))return a(t,n);if(ae(t)){const e=t;return e.source||(e.source=De()),e.globals||(e.globals=he(c.prefix,c.scope||document)),a(e)}const[u]=String(ae(t)?t.name:t).split(" ");let l,f=ae(n)?n:{},d={},g=!1;if(se(n)&&(l=n,g=!0),se(r)?l=r:ae(r)&&Object.keys(r).length&&(d=r),l){const e=ve(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=he(c.prefix,c.scope);return a({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:ce(o)?o:"",source:De()})}function De(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Ie=[],Ne="hover",Te="load",Xe="pulse",We="scroll",Ue="wait";function Me(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",le(function(t){Ke.call(this,e,t)})),n.addEventListener("submit",le(function(t){Fe.call(this,e,t)})))}(e,t)}function Be(e,t){t.scope&&function(e,t){const n=t.scope;Ie=[];const o=n||document;Ce(o),function(e,t=1e3){Le.has(e)||Le.set(e,{observer:$e(e),timers:new WeakMap,duration:t})}(o,1e3);const r=de(t.prefix,L.Action,!1);o!==document&&He(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{He(e,n,r,t)}),Ie.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Ge(t,e,We),1))});_e||(_e=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){Ie=n.call(t,Ie,e)}),t.addEventListener("scroll",_e))}(e,o)}(e,t)}async function Ge(e,t,n){const o=pe(t,n,e.settings.prefix);return Promise.all(o.map(t=>Re(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function He(e,t,n,o){const r=J(t,n);r&&Object.values(ye(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case Ne:o=e,t.addEventListener("mouseenter",le(function(e){e.target instanceof Element&&Ge(o,e.target,Ne)}));break;case Te:!function(e,t){Ge(e,t,Te)}(e,t);break;case Xe:!function(e,t,n=""){setInterval(()=>{document.hidden||Ge(e,t,Xe)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case We:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Ie.push([e,n])}(t,n.triggerParams);break;case"impression":qe(e,t);break;case"visible":qe(e,t,{multiple:!0});break;case Ue:!function(e,t,n=""){setTimeout(()=>Ge(e,t,Ue),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function Ke(e,t){Ge(e,t.target,"click")}function Fe(e,t){t.target&&Ge(e,t.target,"submit")}function Je(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=Ve(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!ae(s)&&ce(s)&&s.startsWith("walker ");if(ae(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!ce(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{ze(e,t,n)})}function ze(e,t="data-elb",n){le(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||ce(o)&&""===o.trim())return;if(ce(o)&&o.startsWith("walker "))return void e(o,r[0]);Re({elb:e,settings:{prefix:t,scope:document,pageview:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Ve(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}ee({},{env:()=>Ye});var Ye={};ee(Ye,{push:()=>tt});var Qe=()=>{},Ze=()=>()=>Promise.resolve({ok:!0}),et={error:Qe,info:Qe,debug:Qe,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>et},tt={get push(){return Ze()},get command(){return Ze()},get elb(){return Ze()},get window(){return{addEventListener:Qe,removeEventListener:Qe,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Qe,removeEventListener:Qe,querySelector:Qe,querySelectorAll:()=>[],getElementById:Qe,getElementsByClassName:()=>[],getElementsByTagName:()=>[],createElement:()=>({setAttribute:Qe,getAttribute:Qe,addEventListener:Qe,removeEventListener:Qe}),body:{appendChild:Qe,removeChild:Qe},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:et},nt=async e=>{const{config:t,env:n}=e,{elb:o,command:r,window:i,document:s}=n,a=(null==t?void 0:t.settings)||{},c=i||(void 0!==globalThis.window?globalThis.window:void 0),u=s||(void 0!==globalThis.document?globalThis.document:void 0),l=function(e={},t){return{prefix:"data-elb",pageview:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(a,u),f={settings:l},d={elb:o,settings:l},g=e=>{if(e.pageview){const[t,n]=function(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=ke(r,`[${de(e,o)}]`,e,o);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}(e.prefix||"data-elb",e.scope);Re(d,"page view",t,"load",n)}};return c&&u&&(!1!==l.elbLayer&&o&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||window;if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(Ve(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return ze(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{ze(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){Je(e,t,n,!0),Je(e,t,n,!1),n.length=0}(e,t.prefix,i)}(o,{name:ce(l.elbLayer)?l.elbLayer:"elbLayer",prefix:l.prefix,window:c}),await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(Me,d,l),Be(d,l),g(l),ce(l.elb)&&l.elb&&(c[l.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return Re(d,t,n,o,r,i,s)})),{type:"browser",config:f,push:(...e)=>{const[t,n,o,r,i,s]=e;return Re(d,t,n,o,r,i,s)},destroy:async()=>{u&&Ce(l.scope||u)},on:async e=>{switch(e){case"ready":default:break;case"run":u&&c&&(Be(d,l),g(l))}}}};function ot(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const o=new URL(e.url||window.location.href),r=e.referrer||document.referrer,s=r&&new URL(r).hostname,a=function(e,t={}){const n="clickId",o={},r={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(i(r,t)).forEach(([t,r])=>{const i=e.searchParams.get(t);i&&(r===n&&(r=t,o[n]=t),o[r]=i)}),o}(o,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(o.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:s},a,e.data):n}function rt(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=ot(e);let l=!1;const f=E((e,t,n)=>{let o=V(e,n);return o||(o=m(8),Y(e,o,1440*t,n)),String(o)})(o,i,r),d=E((e,o)=>{const r=JSON.parse(String(V(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),l=!0),l||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,l=!0):r.runs++),r},()=>{l=!0})(s,a)||{},g={id:m(12),start:t,isNew:!0,count:1,runs:1},p=Object.assign(g,u,d,{device:f},{isStart:l,storage:!0,updated:t},e.data);return Y(s,JSON.stringify(p),2*n,a),p}function it(e={}){const{cb:t,consent:n,collector:o,storage:r}=e;if(!n)return st((r?rt:ot)(e),o,t);{const r=function(e,t){let n;const o=(o,r)=>{if(a(n)&&n===(null==o?void 0:o.group))return;n=null==o?void 0:o.group;let i=()=>ot(e);if(e.consent){g((s(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),r)&&(i=()=>rt(e))}return st(i(),o,t)};return o}(e,t),i=(s(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{});o&&o.command("on","consent",i)}}function st(e,t,n){return!1===n?e:(n||(n=at),n(e,t,at))}var at=(e,t)=>{const n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t&&t.command("user",n),e.isStart&&t&&t.push({name:"session start",data:e}),e},ct=async e=>{const{config:t,env:n}=e,{elb:o,command:r}=n,i={...null==t?void 0:t.settings},s={settings:i},a={push:o,group:void 0,command:r};it({...i,collector:a});return{type:"session",config:s,push:o,on:async e=>{"consent"===e&&it({...i,collector:a})}}},ut=Object.defineProperty,lt=(e,t)=>{for(var n in t)ut(e,n,{get:t[n],enumerable:!0})},ft=!1;function dt(e,t={},n){if(t.filter&&!0===E(()=>t.filter(n),()=>!1)())return;const o=function(e){if(c(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}return s(e)&&e.length>=2?gt(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?gt(Array.from(e)):null;var t}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:i,...a}=o,l={name:r,data:a};E(()=>e(l),()=>{})()}function gt(e){const[t,n,o]=e;if(!u(t))return null;let r,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!c(o)||null===o)return null;r=`${t} ${n}`,i={...o};break;case"event":if(!u(n))return null;r=n,c(o)&&(i={...o});break;case"config":if(!u(n))return null;r=`${t} ${n}`,c(o)&&(i={...o});break;case"set":if(u(n))r=`${t} ${n}`,c(o)&&(i={...o});else{if(!c(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}lt({},{push:()=>yt});var mt=()=>{},pt=()=>()=>Promise.resolve({ok:!0}),ht={error:mt,info:mt,debug:mt,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>ht},yt={get push(){return pt()},get command(){return pt()},get elb(){return pt()},get window(){return{dataLayer:[],addEventListener:mt,removeEventListener:mt}},logger:ht};function vt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function bt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function wt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function kt(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function Ot(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Et(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function jt(){return["set",{currency:"EUR",country:"DE"}]}function St(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}lt({},{add_to_cart:()=>kt,config:()=>Et,consentDefault:()=>bt,consentUpdate:()=>vt,directDataLayerEvent:()=>St,purchase:()=>wt,setCustom:()=>jt,view_item:()=>Ot});lt({},{add_to_cart:()=>At,config:()=>qt,configGA4:()=>Pt,consentOnlyMapping:()=>Ct,consentUpdate:()=>_t,customEvent:()=>$t,purchase:()=>xt,view_item:()=>Lt});var _t={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},xt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},At={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Lt={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},Pt={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},$t={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},qt={consent:{update:_t},purchase:xt,add_to_cart:At,view_item:Lt,"config G-XXXXXXXXXX":Pt,custom_event:$t,"*":{data:{}}},Ct={consent:{update:_t}},Rt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,i={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},s={settings:i};return r&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!ft){ft=!0;try{for(const t of r)dt(e,n,t)}finally{ft=!1}}}(o,s),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(ft)return i(...t);ft=!0;try{for(const o of t)dt(e,n,o)}finally{ft=!1}return i(...t)}}(o,s)),{type:"dataLayer",config:s,push:o,destroy:async()=>{const e=i.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}};function Dt(){window.dataLayer=window.dataLayer||[];const e=e=>{c(e)&&c(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}var It={};async function Nt(e={}){const t=i({collector:{destinations:{dataLayer:{code:Dt()}}},browser:{},session:!0,dataLayer:!1,elb:"elb",run:!0},e),n={...t.collector,sources:{browser:{code:nt,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(!1!==t.session){const e=c(t.session)?t.session:{};n.sources&&(n.sources.session={code:ct,config:{settings:e}})}if(t.dataLayer){const e=c(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:Rt,config:{settings:e}})}const o=await F(n);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o.elb),t.name&&(window[t.name]=o.collector)),o}var Tt=Nt;export{It as Walkerjs,Nt as createWalkerjs,Tt as default,me as getAllEvents,pe as getEvents,he as getGlobals};//# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/web/sources/session/src/lib/sessionStorage.ts","../../../packages/web/sources/session/src/lib/sessionWindow.ts","../../../packages/web/sources/session/src/lib/sessionStart.ts","../../../packages/web/sources/session/src/types/index.ts","../../../packages/web/sources/session/src/index.ts","../src/destination.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { Collector } from '@walkeros/core';\nimport type { SessionWindowConfig } from './sessionWindow';\nimport type { StorageType } from '@walkeros/core';\nimport { getId, tryCatch } from '@walkeros/core';\nimport { storageRead, storageWrite } from '@walkeros/web-core';\nimport { sessionWindow } from './sessionWindow';\n\nexport interface SessionStorageConfig extends SessionWindowConfig {\n deviceKey?: string;\n deviceStorage?: StorageType;\n deviceAge?: number;\n sessionKey?: string;\n sessionStorage?: StorageType;\n length?: number; // Minutes after last update to consider session as expired (default: 30)\n pulse?: boolean;\n}\n\nexport function sessionStorage(\n config: SessionStorageConfig = {},\n): Collector.SessionData {\n const now = Date.now();\n const {\n length = 30, // Session length in minutes\n deviceKey = 'elbDeviceId',\n deviceStorage = 'local',\n deviceAge = 30, // Device ID age in days\n sessionKey = 'elbSessionId',\n sessionStorage = 'local',\n pulse = false, // Handle the counting\n } = config;\n const windowSession = sessionWindow(config); // Status based on window only\n let isStart = false;\n\n // Retrieve or create device ID\n const device = tryCatch((key: string, age: number, storage: StorageType) => {\n let id = storageRead(key, storage);\n if (!id) {\n id = getId(8); // Create a new device ID\n storageWrite(key, id, age * 1440, storage); // Write device ID to storage\n }\n return String(id);\n })(deviceKey, deviceAge, deviceStorage);\n\n // Retrieve or initialize session data\n const existingSession: Collector.SessionData =\n tryCatch(\n (key: string, storage?: StorageType) => {\n const session = JSON.parse(String(storageRead(key, storage)));\n\n // Only update session if it's not a pulse check\n if (pulse) return session;\n\n // Mark session as not new by default\n session.isNew = false;\n\n // Handle new marketing entry\n if (windowSession.marketing) {\n Object.assign(session, windowSession); // Overwrite existing session with marketing data\n isStart = true; // This is a session start\n }\n\n // Check if session is still active\n if (isStart || session.updated + length * 60000 < now) {\n // Session has expired\n delete session.id; // Unset session ID\n delete session.referrer; // Unset referrer\n session.start = now; // Set new session start\n session.count++; // Increase session count\n session.runs = 1; // Reset runs\n isStart = true; // It's a new session\n } else {\n // Session is still active\n session.runs++; // Increase number of runs\n }\n\n return session;\n },\n () => {\n // No existing session or something went wrong\n isStart = true; // Start a new session\n },\n )(sessionKey, sessionStorage) || {};\n\n // Default session data\n const defaultSession: Partial<Collector.SessionData> = {\n id: getId(12),\n start: now,\n isNew: true,\n count: 1,\n runs: 1,\n };\n\n // Merge session data\n const session = Object.assign(\n defaultSession, // Default session values\n windowSession, // Basic session data based on window\n existingSession, // (Updated) existing session\n { device }, // Device ID\n { isStart, storage: true, updated: now }, // Status of the session\n config.data, // Given data has the highest priority\n );\n\n // Write (updated) session to storage\n storageWrite(sessionKey, JSON.stringify(session), length * 2, sessionStorage);\n\n return session;\n}\n","import type { Collector, WalkerOS } from '@walkeros/core';\nimport {\n getId,\n getMarketingParameters,\n type MarketingParameters,\n} from '@walkeros/core';\n\nexport interface SessionWindowConfig {\n data?: WalkerOS.Properties;\n domains?: string[];\n isStart?: boolean;\n parameters?: MarketingParameters;\n referrer?: string;\n url?: string;\n}\n\nexport function sessionWindow(\n config: SessionWindowConfig = {},\n): Collector.SessionData {\n let isStart = config.isStart || false;\n const known = { isStart, storage: false };\n\n // If session has explicitly started, return known\n if (config.isStart === false) return known;\n\n // Entry type\n if (!isStart) {\n // Only focus on linked or direct navigation types\n // and ignore reloads and all others\n const [perf] = performance.getEntriesByType(\n 'navigation',\n ) as PerformanceNavigationTiming[];\n if (perf.type !== 'navigate') return known;\n }\n\n const url = new URL(config.url || window.location.href);\n const ref = config.referrer || document.referrer;\n const referrer = ref && new URL(ref).hostname;\n\n // Marketing\n const marketing = getMarketingParameters(url, config.parameters);\n if (Object.keys(marketing).length) {\n // Check for marketing parameters like UTM and add existing\n if (!marketing.marketing)\n // Flag as a marketing session without overwriting\n marketing.marketing = true;\n\n isStart = true;\n }\n\n // Referrer\n if (!isStart) {\n // Small chance of multiple unintended events for same users\n // https://en.wikipedia.org/wiki/HTTP_referer#Referrer_hiding\n // Use domains: [''] to disable direct or hidden referrer\n\n const domains = config.domains || [];\n domains.push(url.hostname);\n isStart = !domains.includes(referrer);\n }\n\n return isStart\n ? // It's a session start, moin\n Object.assign(\n {\n isStart,\n storage: false,\n start: Date.now(),\n id: getId(12),\n referrer,\n },\n marketing,\n config.data,\n )\n : // No session start\n known;\n}\n","import type { Collector, WalkerOS, On } from '@walkeros/core';\nimport type { SessionStorageConfig } from './sessionStorage';\nimport { sessionStorage } from './sessionStorage';\nimport { sessionWindow } from './sessionWindow';\nimport { getGrantedConsent, isArray, isDefined } from '@walkeros/core';\n\nexport interface SessionConfig extends SessionStorageConfig {\n consent?: string | string[];\n storage?: boolean;\n cb?: SessionCallback | false;\n collector?: Collector.Instance;\n}\n\nexport type SessionFunction = typeof sessionStorage | typeof sessionWindow;\nexport type SessionCallback = (\n session: Collector.SessionData,\n collector: Collector.Instance | undefined,\n defaultCb: SessionCallback,\n) => void;\n\nexport function sessionStart(\n config: SessionConfig = {},\n): Collector.SessionData | void {\n const { cb, consent, collector, storage } = config;\n const sessionFn: SessionFunction = storage ? sessionStorage : sessionWindow;\n\n // Consent\n if (consent) {\n const consentHandler = onConsentFn(config, cb);\n\n const consentConfig = (\n isArray(consent) ? consent : [consent]\n ).reduce<On.ConsentConfig>(\n (acc, key) => ({ ...acc, [key]: consentHandler }),\n {},\n );\n // Register consent handlers with the collector\n if (collector) {\n collector.command('on', 'consent', consentConfig);\n }\n // No fallback - session source always provides collector\n } else {\n // just do it\n return callFuncAndCb(sessionFn(config), collector, cb);\n }\n}\n\nfunction callFuncAndCb(\n session: Collector.SessionData,\n collector?: Collector.Instance,\n cb?: SessionCallback | false,\n) {\n if (cb === false) return session; // Callback is disabled\n if (!cb) cb = defaultCb; // Default callback if none is provided\n return cb(session, collector, defaultCb);\n}\n\nfunction onConsentFn(config: SessionConfig, cb?: SessionCallback | false) {\n // Track the last processed group to prevent duplicate processing\n let lastProcessedGroup: string | undefined;\n\n const func = (collector: Collector.Instance, consent: WalkerOS.Consent) => {\n // Skip if we've already processed this group\n if (\n isDefined(lastProcessedGroup) &&\n lastProcessedGroup === collector?.group\n )\n return;\n\n // Remember this group has been processed\n lastProcessedGroup = collector?.group;\n\n let sessionFn: SessionFunction = () => sessionWindow(config); // Window by default\n\n if (config.consent) {\n const consentKeys = (\n isArray(config.consent) ? config.consent : [config.consent]\n ).reduce<WalkerOS.Consent>((acc, key) => ({ ...acc, [key]: true }), {});\n\n if (getGrantedConsent(consentKeys, consent))\n // Use storage if consent is granted\n sessionFn = () => sessionStorage(config);\n }\n\n return callFuncAndCb(sessionFn(), collector, cb);\n };\n\n return func;\n}\n\nconst defaultCb: SessionCallback = (\n session,\n collector,\n): Collector.SessionData => {\n const user: WalkerOS.User = {};\n\n // User.session is the session ID\n if (session.id) user.session = session.id;\n\n // Set device ID only in storage mode\n if (session.storage && session.device) user.device = session.device;\n\n // Set user IDs\n if (collector) {\n collector.command('user', user);\n }\n // No fallback - session source always provides collector\n\n if (session.isStart) {\n // Convert session start to an event object\n if (collector) {\n collector.push({\n name: 'session start',\n data: session,\n });\n }\n // No fallback - session source always provides collector\n }\n\n return session;\n};\n","import type { Source, Elb } from '@walkeros/core';\nimport type { SessionConfig, SessionCallback } from '../lib';\n\n// Settings: configuration for session source\nexport interface Settings extends SessionConfig {\n // All settings inherited from SessionConfig:\n // - consent?: string | string[]\n // - storage?: boolean\n // - cb?: SessionCallback | false\n // - pulse?: boolean\n // - sessionStorage?: 'local' | 'session'\n // - deviceStorage?: 'local' | 'session'\n // - sessionKey?: string\n // - deviceKey?: string\n // - length?: number (session timeout in minutes)\n}\n\n// InitSettings: user input (all optional)\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {}\n\nexport type Push = Elb.Fn;\n\nexport interface Env extends Source.BaseEnv {}\n\nexport type Types = Source.Types<Settings, Mapping, Push, Env, InitSettings>;\n\nexport type Config = Source.Config<Types>;\n\n// Re-export session types from lib\nexport type {\n SessionConfig,\n SessionCallback,\n SessionFunction,\n SessionStorageConfig,\n SessionWindowConfig,\n} from '../lib';\n","import type { Source, On, Collector } from '@walkeros/core';\nimport type { Types, Settings } from './types';\nimport { sessionStart } from './lib';\n\n// Export types for external usage\nexport * as SourceSession from './types';\n\n// Export lib functions for direct usage\nexport { sessionStart, sessionStorage, sessionWindow } from './lib';\nexport type {\n SessionConfig,\n SessionCallback,\n SessionFunction,\n SessionStorageConfig,\n SessionWindowConfig,\n} from './lib';\n\n/**\n * Session source implementation.\n *\n * This source handles session detection and management.\n */\nexport const sourceSession: Source.Init<Types> = async (context) => {\n const { config, env } = context;\n const { elb, command } = env;\n\n const settings: Settings = {\n ...config?.settings,\n };\n\n const fullConfig: Source.Config<Types> = {\n settings,\n };\n\n // Create minimal collector interface for sessionStart\n const collectorInterface: Partial<Collector.Instance> = {\n push: elb,\n group: undefined,\n command,\n };\n\n // Initialize session using local lib\n sessionStart({\n ...settings,\n collector: collectorInterface as Collector.Instance,\n });\n\n // Handle events pushed from collector (consent, session, ready, run)\n const handleEvent = async (event: On.Types) => {\n if (event === 'consent') {\n // Re-initialize session on consent changes\n sessionStart({\n ...settings,\n collector: collectorInterface as Collector.Instance,\n });\n }\n };\n\n return {\n type: 'session',\n config: fullConfig,\n push: elb,\n on: handleEvent,\n };\n};\n\nexport default sourceSession;\n","import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\nimport type { SourceSession } from '@walkeros/web-source-session';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // Session source configuration\n session?: boolean | Partial<SourceSession.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n","import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceSession } from '@walkeros/web-source-session';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: { code: dataLayerDestination() },\n },\n },\n browser: {},\n session: true,\n dataLayer: false,\n elb: 'elb',\n run: true,\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Collector.InitConfig = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n env: {\n window: typeof window !== 'undefined' ? window : undefined,\n document: typeof document !== 'undefined' ? document : undefined,\n },\n },\n },\n };\n\n // Add session source if configured\n if (fullConfig.session !== false) {\n const sessionSettings = isObject(fullConfig.session)\n ? fullConfig.session\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.session = {\n code: sourceSession,\n config: {\n settings: sessionSettings,\n },\n };\n }\n }\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer,\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const flow = await startFlow<SourceBrowser.BrowserPush>(collectorConfig);\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = flow.elb;\n if (fullConfig.name) window[fullConfig.name] = flow.collector;\n }\n\n return flow;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgBO,SAAS,cACd,SAA8B,CAAC,GACR;AACvB,MAAI,UAAU,OAAO,WAAW;AAChC,QAAM,QAAQ,EAAE,SAAS,SAAS,MAAM;AAGxC,MAAI,OAAO,YAAY,MAAO,QAAO;AAGrC,MAAI,CAAC,SAAS;AAGZ,UAAM,CAAC,IAAI,IAAI,YAAY;MACzB;IACF;AACA,QAAI,KAAK,SAAS,WAAY,QAAO;EACvC;AAEA,QAAM,MAAM,IAAI,IAAI,OAAO,OAAO,OAAO,SAAS,IAAI;AACtD,QAAM,MAAM,OAAO,YAAY,SAAS;AACxC,QAAM,WAAW,OAAO,IAAI,IAAI,GAAG,EAAE;AAGrC,QAAM,YAAY,EAAuB,KAAK,OAAO,UAAU;AAC/D,MAAI,OAAO,KAAK,SAAS,EAAE,QAAQ;AAEjC,QAAI,CAAC,UAAU;AAEb,gBAAU,YAAY;AAExB,cAAU;EACZ;AAGA,MAAI,CAAC,SAAS;AAKZ,UAAM,UAAU,OAAO,WAAW,CAAC;AACnC,YAAQ,KAAK,IAAI,QAAQ;AACzB,cAAU,CAAC,QAAQ,SAAS,QAAQ;EACtC;AAEA,SAAO;;IAEH,OAAO;MACL;QACE;QACA,SAAS;QACT,OAAO,KAAK,IAAI;QAChB,IAAI,EAAM,EAAE;QACZ;MACF;MACA;MACA,OAAO;IACT;;;IAEA;;AACN;AD3DO,SAAS,eACd,SAA+B,CAAC,GACT;AACvB,QAAM,MAAM,KAAK,IAAI;AACrB,QAAM;IACJ,SAAS;;IACT,YAAY;IACZ,gBAAgB;IAChB,YAAY;;IACZ,aAAa;IACb,gBAAAA,kBAAiB;IACjB,QAAQ;;EACV,IAAI;AACJ,QAAM,gBAAgB,cAAc,MAAM;AAC1C,MAAI,UAAU;AAGd,QAAM,SAAS,GAAS,CAAC,KAAa,KAAa,YAAyB;AAC1E,QAAI,KAAKC,GAAY,KAAK,OAAO;AACjC,QAAI,CAAC,IAAI;AACP,WAAKC,EAAM,CAAC;AACZ,MAAAC,GAAa,KAAK,IAAI,MAAM,MAAM,OAAO;IAC3C;AACA,WAAO,OAAO,EAAE;EAClB,CAAC,EAAE,WAAW,WAAW,aAAa;AAGtC,QAAM,kBACJ;IACE,CAAC,KAAa,YAA0B;AACtC,YAAMC,WAAU,KAAK,MAAM,OAAOH,GAAY,KAAK,OAAO,CAAC,CAAC;AAG5D,UAAI,MAAO,QAAOG;AAGlBA,eAAQ,QAAQ;AAGhB,UAAI,cAAc,WAAW;AAC3B,eAAO,OAAOA,UAAS,aAAa;AACpC,kBAAU;MACZ;AAGA,UAAI,WAAWA,SAAQ,UAAU,SAAS,MAAQ,KAAK;AAErD,eAAOA,SAAQ;AACf,eAAOA,SAAQ;AACfA,iBAAQ,QAAQ;AAChBA,iBAAQ;AACRA,iBAAQ,OAAO;AACf,kBAAU;MACZ,OAAO;AAELA,iBAAQ;MACV;AAEA,aAAOA;IACT;IACA,MAAM;AAEJ,gBAAU;IACZ;EACF,EAAE,YAAYJ,eAAc,KAAK,CAAC;AAGpC,QAAM,iBAAiD;IACrD,IAAIE,EAAM,EAAE;IACZ,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;EACR;AAGA,QAAM,UAAU,OAAO;IACrB;;IACA;;IACA;;IACA,EAAE,OAAO;;IACT,EAAE,SAAS,SAAS,MAAM,SAAS,IAAI;;IACvC,OAAO;;EACT;AAGA,EAAAC,GAAa,YAAY,KAAK,UAAU,OAAO,GAAG,SAAS,GAAGH,eAAc;AAE5E,SAAO;AACT;AEtFO,SAAS,aACd,SAAwB,CAAC,GACK;AAC9B,QAAM,EAAE,IAAI,SAAS,WAAW,QAAQ,IAAI;AAC5C,QAAM,YAA6B,UAAU,iBAAiB;AAG9D,MAAI,SAAS;AACX,UAAM,iBAAiB,YAAY,QAAQ,EAAE;AAE7C,UAAM,iBACJ,EAAQ,OAAO,IAAI,UAAU,CAAC,OAAO,GACrC;MACA,CAAC,KAAK,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,eAAe;MAC/C,CAAC;IACH;AAEA,QAAI,WAAW;AACb,gBAAU,QAAQ,MAAM,WAAW,aAAa;IAClD;EAEF,OAAO;AAEL,WAAO,cAAc,UAAU,MAAM,GAAG,WAAW,EAAE;EACvD;AACF;AAEA,SAAS,cACP,SACA,WACA,IACA;AACA,MAAI,OAAO,MAAO,QAAO;AACzB,MAAI,CAAC,GAAI,MAAK;AACd,SAAO,GAAG,SAAS,WAAW,SAAS;AACzC;AAEA,SAAS,YAAY,QAAuB,IAA8B;AAExE,MAAI;AAEJ,QAAM,OAAO,CAAC,WAA+B,YAA8B;AAEzE,QACE,EAAU,kBAAkB,KAC5B,wBAAuB,aAAA,OAAA,SAAA,UAAW;AAElC;AAGF,yBAAqB,aAAA,OAAA,SAAA,UAAW;AAEhC,QAAI,YAA6B,MAAM,cAAc,MAAM;AAE3D,QAAI,OAAO,SAAS;AAClB,YAAM,eACJ,EAAQ,OAAO,OAAO,IAAI,OAAO,UAAU,CAAC,OAAO,OAAO,GAC1D,OAAyB,CAAC,KAAK,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC;AAEtE,UAAI,EAAkB,aAAa,OAAO;AAExC,oBAAY,MAAM,eAAe,MAAM;IAC3C;AAEA,WAAO,cAAc,UAAU,GAAG,WAAW,EAAE;EACjD;AAEA,SAAO;AACT;AAEA,IAAM,YAA6B,CACjC,SACA,cAC0B;AAC1B,QAAM,OAAsB,CAAC;AAG7B,MAAI,QAAQ,GAAI,MAAK,UAAU,QAAQ;AAGvC,MAAI,QAAQ,WAAW,QAAQ,OAAQ,MAAK,SAAS,QAAQ;AAG7D,MAAI,WAAW;AACb,cAAU,QAAQ,QAAQ,IAAI;EAChC;AAGA,MAAI,QAAQ,SAAS;AAEnB,QAAI,WAAW;AACb,gBAAU,KAAK;QACb,MAAM;QACN,MAAM;MACR,CAAC;IACH;EAEF;AAEA,SAAO;AACT;AElGO,IAAM,gBAAoC,OAAO,YAAY;AAClE,QAAM,EAAE,QAAQ,IAAI,IAAI;AACxB,QAAM,EAAE,KAAK,QAAQ,IAAI;AAEzB,QAAM,WAAqB;IACzB,GAAG,UAAA,OAAA,SAAA,OAAQ;EACb;AAEA,QAAM,aAAmC;IACvC;EACF;AAGA,QAAM,qBAAkD;IACtD,MAAM;IACN,OAAO;IACP;EACF;AAGA,eAAa;IACX,GAAG;IACH,WAAW;EACb,CAAC;AAGD,QAAM,cAAc,OAAO,UAAoB;AAC7C,QAAI,UAAU,WAAW;AAEvB,mBAAa;QACX,GAAG;QACH,WAAW;MACb,CAAC;IACH;EACF;AAEA,SAAO;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,IAAI;EACN;AACF;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DO,SAAS,uBAA6C;AAC3D,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,QACE,EAAS,KAAK,KACd,EAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,MAAM;AAAA,QACN,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;ACqBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,EAAE,MAAM,qBAAqB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAEA,QAAM,aAAa,EAAO,eAAe,MAAM;AAG/C,QAAM,kBAAwC;AAAA,IAC5C,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAMK;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,UACH,QAAQ,OAAO,WAAW,cAAc,SAAS;AAAA,UACjD,UAAU,OAAO,aAAa,cAAc,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,YAAY,OAAO;AAChC,UAAM,kBAAkB,EAAS,WAAW,OAAO,IAC/C,WAAW,UACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,UAAU;AAAA,QAChC,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,oBAAoB,EAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAMC;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAM,GAAqC,eAAe;AAGvE,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI,KAAK;AAClD,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI,KAAK;AAAA,EACtD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["sessionStorage","U","getId","C","session","ve","D"]}
1
+ {"version":3,"sources":["../../../packages/web/sources/session/src/lib/sessionStorage.ts","../../../packages/web/sources/session/src/lib/sessionWindow.ts","../../../packages/web/sources/session/src/lib/sessionStart.ts","../../../packages/web/sources/session/src/types/index.ts","../../../packages/web/sources/session/src/index.ts","../src/destination.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { Collector } from '@walkeros/core';\nimport type { SessionWindowConfig } from './sessionWindow';\nimport type { StorageType } from '@walkeros/core';\nimport { getId, tryCatch } from '@walkeros/core';\nimport { storageRead, storageWrite } from '@walkeros/web-core';\nimport { sessionWindow } from './sessionWindow';\n\nexport interface SessionStorageConfig extends SessionWindowConfig {\n deviceKey?: string;\n deviceStorage?: StorageType;\n deviceAge?: number;\n sessionKey?: string;\n sessionStorage?: StorageType;\n length?: number; // Minutes after last update to consider session as expired (default: 30)\n pulse?: boolean;\n}\n\nexport function sessionStorage(\n config: SessionStorageConfig = {},\n): Collector.SessionData {\n const now = Date.now();\n const {\n length = 30, // Session length in minutes\n deviceKey = 'elbDeviceId',\n deviceStorage = 'local',\n deviceAge = 30, // Device ID age in days\n sessionKey = 'elbSessionId',\n sessionStorage = 'local',\n pulse = false, // Handle the counting\n } = config;\n const windowSession = sessionWindow(config); // Status based on window only\n let isStart = false;\n\n // Retrieve or create device ID\n const device = tryCatch((key: string, age: number, storage: StorageType) => {\n let id = storageRead(key, storage);\n if (!id) {\n id = getId(8); // Create a new device ID\n storageWrite(key, id, age * 1440, storage); // Write device ID to storage\n }\n return String(id);\n })(deviceKey, deviceAge, deviceStorage);\n\n // Retrieve or initialize session data\n const existingSession: Collector.SessionData =\n tryCatch(\n (key: string, storage?: StorageType) => {\n const session = JSON.parse(String(storageRead(key, storage)));\n\n // Only update session if it's not a pulse check\n if (pulse) return session;\n\n // Mark session as not new by default\n session.isNew = false;\n\n // Handle new marketing entry\n if (windowSession.marketing) {\n Object.assign(session, windowSession); // Overwrite existing session with marketing data\n isStart = true; // This is a session start\n }\n\n // Check if session is still active\n if (isStart || session.updated + length * 60000 < now) {\n // Session has expired\n delete session.id; // Unset session ID\n delete session.referrer; // Unset referrer\n session.start = now; // Set new session start\n session.count++; // Increase session count\n session.runs = 1; // Reset runs\n isStart = true; // It's a new session\n } else {\n // Session is still active\n session.runs++; // Increase number of runs\n }\n\n return session;\n },\n () => {\n // No existing session or something went wrong\n isStart = true; // Start a new session\n },\n )(sessionKey, sessionStorage) || {};\n\n // Default session data\n const defaultSession: Partial<Collector.SessionData> = {\n id: getId(12),\n start: now,\n isNew: true,\n count: 1,\n runs: 1,\n };\n\n // Merge session data\n const session = Object.assign(\n defaultSession, // Default session values\n windowSession, // Basic session data based on window\n existingSession, // (Updated) existing session\n { device }, // Device ID\n { isStart, storage: true, updated: now }, // Status of the session\n config.data, // Given data has the highest priority\n );\n\n // Write (updated) session to storage\n storageWrite(sessionKey, JSON.stringify(session), length * 2, sessionStorage);\n\n return session;\n}\n","import type { Collector, WalkerOS } from '@walkeros/core';\nimport {\n getId,\n getMarketingParameters,\n type MarketingParameters,\n} from '@walkeros/core';\n\nexport interface SessionWindowConfig {\n data?: WalkerOS.Properties;\n domains?: string[];\n isStart?: boolean;\n parameters?: MarketingParameters;\n referrer?: string;\n url?: string;\n}\n\nexport function sessionWindow(\n config: SessionWindowConfig = {},\n): Collector.SessionData {\n let isStart = config.isStart || false;\n const known = { isStart, storage: false };\n\n // If session has explicitly started, return known\n if (config.isStart === false) return known;\n\n // Entry type\n if (!isStart) {\n // Only focus on linked or direct navigation types\n // and ignore reloads and all others\n const [perf] = performance.getEntriesByType(\n 'navigation',\n ) as PerformanceNavigationTiming[];\n if (perf.type !== 'navigate') return known;\n }\n\n const url = new URL(config.url || window.location.href);\n const ref = config.referrer || document.referrer;\n const referrer = ref && new URL(ref).hostname;\n\n // Marketing\n const marketing = getMarketingParameters(url, config.parameters);\n if (Object.keys(marketing).length) {\n // Check for marketing parameters like UTM and add existing\n if (!marketing.marketing)\n // Flag as a marketing session without overwriting\n marketing.marketing = true;\n\n isStart = true;\n }\n\n // Referrer\n if (!isStart) {\n // Small chance of multiple unintended events for same users\n // https://en.wikipedia.org/wiki/HTTP_referer#Referrer_hiding\n // Use domains: [''] to disable direct or hidden referrer\n\n const domains = config.domains || [];\n domains.push(url.hostname);\n isStart = !domains.includes(referrer);\n }\n\n return isStart\n ? // It's a session start, moin\n Object.assign(\n {\n isStart,\n storage: false,\n start: Date.now(),\n id: getId(12),\n referrer,\n },\n marketing,\n config.data,\n )\n : // No session start\n known;\n}\n","import type { Collector, WalkerOS, On } from '@walkeros/core';\nimport type { SessionStorageConfig } from './sessionStorage';\nimport { sessionStorage } from './sessionStorage';\nimport { sessionWindow } from './sessionWindow';\nimport { getGrantedConsent, isArray, isDefined } from '@walkeros/core';\n\nexport interface SessionConfig extends SessionStorageConfig {\n consent?: string | string[];\n storage?: boolean;\n cb?: SessionCallback | false;\n collector?: Collector.Instance;\n}\n\nexport type SessionFunction = typeof sessionStorage | typeof sessionWindow;\nexport type SessionCallback = (\n session: Collector.SessionData,\n collector: Collector.Instance | undefined,\n defaultCb: SessionCallback,\n) => void;\n\nexport function sessionStart(\n config: SessionConfig = {},\n): Collector.SessionData | void {\n const { cb, consent, collector, storage } = config;\n const sessionFn: SessionFunction = storage ? sessionStorage : sessionWindow;\n\n // Consent\n if (consent) {\n const consentHandler = onConsentFn(config, cb);\n\n const consentConfig = (\n isArray(consent) ? consent : [consent]\n ).reduce<On.ConsentConfig>(\n (acc, key) => ({ ...acc, [key]: consentHandler }),\n {},\n );\n // Register consent handlers with the collector\n if (collector) {\n collector.command('on', 'consent', consentConfig);\n }\n // No fallback - session source always provides collector\n } else {\n // just do it\n return callFuncAndCb(sessionFn(config), collector, cb);\n }\n}\n\nfunction callFuncAndCb(\n session: Collector.SessionData,\n collector?: Collector.Instance,\n cb?: SessionCallback | false,\n) {\n if (cb === false) return session; // Callback is disabled\n if (!cb) cb = defaultCb; // Default callback if none is provided\n return cb(session, collector, defaultCb);\n}\n\nfunction onConsentFn(config: SessionConfig, cb?: SessionCallback | false) {\n // Track the last processed group to prevent duplicate processing\n let lastProcessedGroup: string | undefined;\n\n const func = (collector: Collector.Instance, consent: WalkerOS.Consent) => {\n // Skip if we've already processed this group\n if (\n isDefined(lastProcessedGroup) &&\n lastProcessedGroup === collector?.group\n )\n return;\n\n // Remember this group has been processed\n lastProcessedGroup = collector?.group;\n\n let sessionFn: SessionFunction = () => sessionWindow(config); // Window by default\n\n if (config.consent) {\n const consentKeys = (\n isArray(config.consent) ? config.consent : [config.consent]\n ).reduce<WalkerOS.Consent>((acc, key) => ({ ...acc, [key]: true }), {});\n\n if (getGrantedConsent(consentKeys, consent))\n // Use storage if consent is granted\n sessionFn = () => sessionStorage(config);\n }\n\n return callFuncAndCb(sessionFn(), collector, cb);\n };\n\n return func;\n}\n\nconst defaultCb: SessionCallback = (\n session,\n collector,\n): Collector.SessionData => {\n const user: WalkerOS.User = {};\n\n // User.session is the session ID\n if (session.id) user.session = session.id;\n\n // Set device ID only in storage mode\n if (session.storage && session.device) user.device = session.device;\n\n // Set user IDs\n if (collector) {\n collector.command('user', user);\n }\n // No fallback - session source always provides collector\n\n if (session.isStart) {\n // Convert session start to an event object\n if (collector) {\n collector.push({\n name: 'session start',\n data: session,\n });\n }\n // No fallback - session source always provides collector\n }\n\n return session;\n};\n","import type { Source, Elb } from '@walkeros/core';\nimport type { SessionConfig, SessionCallback } from '../lib';\n\n// Settings: configuration for session source\nexport interface Settings extends SessionConfig {\n // All settings inherited from SessionConfig:\n // - consent?: string | string[]\n // - storage?: boolean\n // - cb?: SessionCallback | false\n // - pulse?: boolean\n // - sessionStorage?: 'local' | 'session'\n // - deviceStorage?: 'local' | 'session'\n // - sessionKey?: string\n // - deviceKey?: string\n // - length?: number (session timeout in minutes)\n}\n\n// InitSettings: user input (all optional)\nexport type InitSettings = Partial<Settings>;\n\nexport interface Mapping {}\n\nexport type Push = Elb.Fn;\n\nexport interface Env extends Source.BaseEnv {}\n\nexport type Types = Source.Types<Settings, Mapping, Push, Env, InitSettings>;\n\nexport type Config = Source.Config<Types>;\n\n// Re-export session types from lib\nexport type {\n SessionConfig,\n SessionCallback,\n SessionFunction,\n SessionStorageConfig,\n SessionWindowConfig,\n} from '../lib';\n","import type { Source, On, Collector } from '@walkeros/core';\nimport type { Types, Settings } from './types';\nimport { sessionStart } from './lib';\n\n// Export types for external usage\nexport * as SourceSession from './types';\n\n// Export lib functions for direct usage\nexport { sessionStart, sessionStorage, sessionWindow } from './lib';\nexport type {\n SessionConfig,\n SessionCallback,\n SessionFunction,\n SessionStorageConfig,\n SessionWindowConfig,\n} from './lib';\n\n/**\n * Session source implementation.\n *\n * This source handles session detection and management.\n */\nexport const sourceSession: Source.Init<Types> = async (context) => {\n const { config, env } = context;\n const { elb, command } = env;\n\n const settings: Settings = {\n ...config?.settings,\n };\n\n const fullConfig: Source.Config<Types> = {\n settings,\n };\n\n // Create minimal collector interface for sessionStart\n const collectorInterface: Partial<Collector.Instance> = {\n push: elb,\n group: undefined,\n command,\n };\n\n // Initialize session using local lib\n sessionStart({\n ...settings,\n collector: collectorInterface as Collector.Instance,\n });\n\n // Handle events pushed from collector (consent, session, ready, run)\n const handleEvent = async (event: On.Types) => {\n if (event === 'consent') {\n // Re-initialize session on consent changes\n sessionStart({\n ...settings,\n collector: collectorInterface as Collector.Instance,\n });\n }\n };\n\n return {\n type: 'session',\n config: fullConfig,\n push: elb,\n on: handleEvent,\n };\n};\n\nexport default sourceSession;\n","import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\nimport type { SourceSession } from '@walkeros/web-source-session';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // Session source configuration\n session?: boolean | Partial<SourceSession.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n","import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceSession } from '@walkeros/web-source-session';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: { code: dataLayerDestination() },\n },\n },\n browser: {},\n session: true,\n dataLayer: false,\n elb: 'elb',\n run: true,\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Collector.InitConfig = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n env: {\n window: typeof window !== 'undefined' ? window : undefined,\n document: typeof document !== 'undefined' ? document : undefined,\n },\n },\n },\n };\n\n // Add session source if configured\n if (fullConfig.session !== false) {\n const sessionSettings = isObject(fullConfig.session)\n ? fullConfig.session\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.session = {\n code: sourceSession,\n config: {\n settings: sessionSettings,\n },\n };\n }\n }\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer,\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const flow = await startFlow<SourceBrowser.BrowserPush>(collectorConfig);\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = flow.elb;\n if (fullConfig.name) window[fullConfig.name] = flow.collector;\n }\n\n return flow;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACgBO,SAAS,cACd,SAA8B,CAAC,GACR;AACvB,MAAI,UAAU,OAAO,WAAW;AAChC,QAAM,QAAQ,EAAE,SAAS,SAAS,MAAM;AAGxC,MAAI,OAAO,YAAY,MAAO,QAAO;AAGrC,MAAI,CAAC,SAAS;AAGZ,UAAM,CAAC,IAAI,IAAI,YAAY;MACzB;IACF;AACA,QAAI,KAAK,SAAS,WAAY,QAAO;EACvC;AAEA,QAAM,MAAM,IAAI,IAAI,OAAO,OAAO,OAAO,SAAS,IAAI;AACtD,QAAM,MAAM,OAAO,YAAY,SAAS;AACxC,QAAM,WAAW,OAAO,IAAI,IAAI,GAAG,EAAE;AAGrC,QAAM,YAAY,EAAuB,KAAK,OAAO,UAAU;AAC/D,MAAI,OAAO,KAAK,SAAS,EAAE,QAAQ;AAEjC,QAAI,CAAC,UAAU;AAEb,gBAAU,YAAY;AAExB,cAAU;EACZ;AAGA,MAAI,CAAC,SAAS;AAKZ,UAAM,UAAU,OAAO,WAAW,CAAC;AACnC,YAAQ,KAAK,IAAI,QAAQ;AACzB,cAAU,CAAC,QAAQ,SAAS,QAAQ;EACtC;AAEA,SAAO;;IAEH,OAAO;MACL;QACE;QACA,SAAS;QACT,OAAO,KAAK,IAAI;QAChB,IAAI,EAAM,EAAE;QACZ;MACF;MACA;MACA,OAAO;IACT;;;IAEA;;AACN;AD3DO,SAAS,eACd,SAA+B,CAAC,GACT;AACvB,QAAM,MAAM,KAAK,IAAI;AACrB,QAAM;IACJ,SAAS;;IACT,YAAY;IACZ,gBAAgB;IAChB,YAAY;;IACZ,aAAa;IACb,gBAAAA,kBAAiB;IACjB,QAAQ;;EACV,IAAI;AACJ,QAAM,gBAAgB,cAAc,MAAM;AAC1C,MAAI,UAAU;AAGd,QAAM,SAAS,GAAS,CAAC,KAAa,KAAa,YAAyB;AAC1E,QAAI,KAAKC,GAAY,KAAK,OAAO;AACjC,QAAI,CAAC,IAAI;AACP,WAAKC,EAAM,CAAC;AACZ,MAAAC,GAAa,KAAK,IAAI,MAAM,MAAM,OAAO;IAC3C;AACA,WAAO,OAAO,EAAE;EAClB,CAAC,EAAE,WAAW,WAAW,aAAa;AAGtC,QAAM,kBACJ;IACE,CAAC,KAAa,YAA0B;AACtC,YAAMC,WAAU,KAAK,MAAM,OAAOH,GAAY,KAAK,OAAO,CAAC,CAAC;AAG5D,UAAI,MAAO,QAAOG;AAGlBA,eAAQ,QAAQ;AAGhB,UAAI,cAAc,WAAW;AAC3B,eAAO,OAAOA,UAAS,aAAa;AACpC,kBAAU;MACZ;AAGA,UAAI,WAAWA,SAAQ,UAAU,SAAS,MAAQ,KAAK;AAErD,eAAOA,SAAQ;AACf,eAAOA,SAAQ;AACfA,iBAAQ,QAAQ;AAChBA,iBAAQ;AACRA,iBAAQ,OAAO;AACf,kBAAU;MACZ,OAAO;AAELA,iBAAQ;MACV;AAEA,aAAOA;IACT;IACA,MAAM;AAEJ,gBAAU;IACZ;EACF,EAAE,YAAYJ,eAAc,KAAK,CAAC;AAGpC,QAAM,iBAAiD;IACrD,IAAIE,EAAM,EAAE;IACZ,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;EACR;AAGA,QAAM,UAAU,OAAO;IACrB;;IACA;;IACA;;IACA,EAAE,OAAO;;IACT,EAAE,SAAS,SAAS,MAAM,SAAS,IAAI;;IACvC,OAAO;;EACT;AAGA,EAAAC,GAAa,YAAY,KAAK,UAAU,OAAO,GAAG,SAAS,GAAGH,eAAc;AAE5E,SAAO;AACT;AEtFO,SAAS,aACd,SAAwB,CAAC,GACK;AAC9B,QAAM,EAAE,IAAI,SAAS,WAAW,QAAQ,IAAI;AAC5C,QAAM,YAA6B,UAAU,iBAAiB;AAG9D,MAAI,SAAS;AACX,UAAM,iBAAiB,YAAY,QAAQ,EAAE;AAE7C,UAAM,iBACJ,EAAQ,OAAO,IAAI,UAAU,CAAC,OAAO,GACrC;MACA,CAAC,KAAK,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,eAAe;MAC/C,CAAC;IACH;AAEA,QAAI,WAAW;AACb,gBAAU,QAAQ,MAAM,WAAW,aAAa;IAClD;EAEF,OAAO;AAEL,WAAO,cAAc,UAAU,MAAM,GAAG,WAAW,EAAE;EACvD;AACF;AAEA,SAAS,cACP,SACA,WACA,IACA;AACA,MAAI,OAAO,MAAO,QAAO;AACzB,MAAI,CAAC,GAAI,MAAK;AACd,SAAO,GAAG,SAAS,WAAW,SAAS;AACzC;AAEA,SAAS,YAAY,QAAuB,IAA8B;AAExE,MAAI;AAEJ,QAAM,OAAO,CAAC,WAA+B,YAA8B;AAEzE,QACE,EAAU,kBAAkB,KAC5B,wBAAuB,aAAA,OAAA,SAAA,UAAW;AAElC;AAGF,yBAAqB,aAAA,OAAA,SAAA,UAAW;AAEhC,QAAI,YAA6B,MAAM,cAAc,MAAM;AAE3D,QAAI,OAAO,SAAS;AAClB,YAAM,eACJ,EAAQ,OAAO,OAAO,IAAI,OAAO,UAAU,CAAC,OAAO,OAAO,GAC1D,OAAyB,CAAC,KAAK,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC;AAEtE,UAAI,EAAkB,aAAa,OAAO;AAExC,oBAAY,MAAM,eAAe,MAAM;IAC3C;AAEA,WAAO,cAAc,UAAU,GAAG,WAAW,EAAE;EACjD;AAEA,SAAO;AACT;AAEA,IAAM,YAA6B,CACjC,SACA,cAC0B;AAC1B,QAAM,OAAsB,CAAC;AAG7B,MAAI,QAAQ,GAAI,MAAK,UAAU,QAAQ;AAGvC,MAAI,QAAQ,WAAW,QAAQ,OAAQ,MAAK,SAAS,QAAQ;AAG7D,MAAI,WAAW;AACb,cAAU,QAAQ,QAAQ,IAAI;EAChC;AAGA,MAAI,QAAQ,SAAS;AAEnB,QAAI,WAAW;AACb,gBAAU,KAAK;QACb,MAAM;QACN,MAAM;MACR,CAAC;IACH;EAEF;AAEA,SAAO;AACT;AElGO,IAAM,gBAAoC,OAAO,YAAY;AAClE,QAAM,EAAE,QAAQ,IAAI,IAAI;AACxB,QAAM,EAAE,KAAK,QAAQ,IAAI;AAEzB,QAAM,WAAqB;IACzB,GAAG,UAAA,OAAA,SAAA,OAAQ;EACb;AAEA,QAAM,aAAmC;IACvC;EACF;AAGA,QAAM,qBAAkD;IACtD,MAAM;IACN,OAAO;IACP;EACF;AAGA,eAAa;IACX,GAAG;IACH,WAAW;EACb,CAAC;AAGD,QAAM,cAAc,OAAO,UAAoB;AAC7C,QAAI,UAAU,WAAW;AAEvB,mBAAa;QACX,GAAG;QACH,WAAW;MACb,CAAC;IACH;EACF;AAEA,SAAO;IACL,MAAM;IACN,QAAQ;IACR,MAAM;IACN,IAAI;EACN;AACF;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5DO,SAAS,uBAA6C;AAC3D,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,QACE,EAAS,KAAK,KACd,EAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,MAAM;AAAA,QACN,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;ACqBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,EAAE,MAAM,qBAAqB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS,CAAC;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,KAAK;AAAA,IACL,KAAK;AAAA,EACP;AAEA,QAAM,aAAa,EAAO,eAAe,MAAM;AAG/C,QAAM,kBAAwC;AAAA,IAC5C,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAMK;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,UACH,QAAQ,OAAO,WAAW,cAAc,SAAS;AAAA,UACjD,UAAU,OAAO,aAAa,cAAc,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,YAAY,OAAO;AAChC,UAAM,kBAAkB,EAAS,WAAW,OAAO,IAC/C,WAAW,UACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,UAAU;AAAA,QAChC,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,oBAAoB,EAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAMC;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAM,GAAqC,eAAe;AAGvE,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI,KAAK;AAClD,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI,KAAK;AAAA,EACtD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["sessionStorage","U","getId","C","session","ve","D"]}
package/dist/walker.js CHANGED
@@ -1 +1 @@
1
- "use strict";(()=>{var e=Object.defineProperty;((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{Level:()=>n});var t,n=((t=n||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},r={merge:!0,shallow:!0,extend:!0};function i(e,t={},n={}){n={...r,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function s(e){return Array.isArray(e)}function a(e){return void 0!==e}function c(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function l(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=l(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(l(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function f(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&s(r)){const t=o.slice(e+1).join("."),i=[];for(const e of r){const o=f(e,t,n);i.push(o)}return i}if(r=r instanceof Object?r[t]:void 0,!r)break}return a(r)?r:n}function d(e,t,n){if(!c(e))return e;const o=l(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}function g(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function p(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}function h(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function y(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=h(e)):n=e,void 0!==t&&(t instanceof Error?o.error=h(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=h(o.error))):o.value=t),{message:n,context:o}}var b=(e,t,o,r)=>{const i=`${n[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(o).length>0;0===e?s?console.error(i,t,o):console.error(i,t):s?console.log(i,t,o):console.log(i,t)};function v(e={}){return w({level:void 0!==e.level?(t=e.level,"string"==typeof t?n[t]:t):0,handler:e.handler,scope:[]});var t}function w(e){const{level:t,handler:n,scope:o}=e,r=(e,r,i)=>{if(e<=t){const t=y(r,i);n?n(e,t.message,t.context,o,b):b(e,t.message,t.context,o)}};return{error:(e,t)=>r(0,e,t),info:(e,t)=>r(1,e,t),debug:(e,t)=>r(2,e,t),throw:(e,t)=>{const r=y(e,t);throw n?n(0,r.message,r.context,o,b):b(0,r.message,r.context,o),new Error(r.message)},scope:e=>w({level:t,handler:n,scope:[...o,e]})}}function k(e){return function(e){return"boolean"==typeof e}(e)||u(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!a(e)||s(e)&&e.every(k)||c(e)&&Object.values(e).every(k)}function O(e){return k(e)?e:void 0}function E(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function j(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function S(e,t={},n={}){var o;if(!a(e))return;const r=c(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(t)?t:[t];for(const t of i){const o=await j(_)(e,t,{...n,consent:r});if(a(o))return o}}async function _(e,t,n={}){const{collector:o,consent:r}=n;return(s(t)?t:[t]).reduce(async(t,i)=>{const c=await t;if(c)return c;const l=u(i)?{key:i}:i;if(!Object.keys(l).length)return;const{condition:d,consent:m,fn:p,key:h,loop:y,map:b,set:v,validate:w,value:k}=l;if(d&&!await j(d)(e,i,o))return;if(m&&!g(m,r))return k;let E=a(k)?k:e;if(p&&(E=await j(p)(e,i,n)),h&&(E=f(e,h,k)),y){const[t,o]=y,r="this"===t?[e]:await S(e,t,n);s(r)&&(E=(await Promise.all(r.map(e=>S(e,o,n)))).filter(a))}else b?E=await Object.entries(b).reduce(async(t,[o,r])=>{const i=await t,s=await S(e,r,n);return a(s)&&(i[o]=s),i},Promise.resolve({})):v&&(E=await Promise.all(v.map(t=>_(e,t,n))));w&&!await j(w)(E)&&(E=void 0);const x=O(E);return a(x)?x:O(k)},Promise.resolve(void 0))}async function x(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));const{eventMapping:o,mappingKey:r}=await async function(e,t){var n;const[o,r]=(e.name||"").split(" ");if(!t||!o||!r)return{};let i,a="",c=o,u=r;const l=t=>{if(t)return(t=s(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),i=l(f[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping);(null==o?void 0:o.policy)&&await Promise.all(Object.entries(o.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));let a=t.data&&await S(e,t.data,{collector:n});if(o){if(o.ignore)return{event:e,data:a,mapping:o,mappingKey:r,ignore:!0};if(o.name&&(e.name=o.name),o.data){const t=o.data&&await S(e,o.data,{collector:n});a=c(a)&&c(t)?i(a,t):t}}return{event:e,data:a,mapping:o,mappingKey:r,ignore:!1}}function A(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function L(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}function $(e,t){return(e.getAttribute(t)||"").trim()}function P(e){const t={};return function(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}(e).forEach(e=>{const[n,o]=function(e){const[t,n]=e.split(/:(.+)/,2);return[A(t||""),A(n||"")]}(e);n&&("true"===o?t[n]=!0:"false"===o?t[n]=!1:o&&/^\d+$/.test(o)?t[n]=parseInt(o,10):o&&/^\d+\.\d+$/.test(o)?t[n]=parseFloat(o):t[n]=o||!0)}),t}function C(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function q(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:R(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function R(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let o=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(o+="; domain="+i),document.cookie=o;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return q(e,r)}var I={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",User:"user",Walker:"walker"};function D(e,t,n,o,r){if(!t.on)return;const i=t.type||"unknown",s=e.logger.scope(i).scope("on").scope(o),a={collector:e,logger:s,id:n,config:t.config,data:r,env:F(t.env,t.config.env)};E(t.on)(o,a)}function N(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case I.Consent:r=o||e.consent;break;case I.Session:r=e.session;break;case I.Ready:case I.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&E(e.on)(t,r)}),Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:r});D(e,o,n,t,r)}}),i.length)switch(t){case I.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{E(t[n])(e,o)})})}(e,i,o);break;case I.Ready:case I.Run:a=i,(s=e).allowed&&a.forEach(e=>{E(e)(s)});break;case I.Session:!function(e,t){e.session&&t.forEach(t=>{E(t)(e,e.session)})}(e,i)}var s,a}function T(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function X(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),i={collector:e,logger:r,id:n,config:t.config,env:M(t.config.env)};r.debug("init");const s=await L(t.init,"TransformerInit",e.hooks)(i);if(!1===s)return!1;t.config={...s||t.config,init:!0},r.debug("init done")}return!0}async function U(e,t,n,o,r){const i=t.type||"unknown",s=e.logger.scope(`transformer:${i}`),a={collector:e,logger:s,id:n,ingest:r,config:t.config,env:M(t.config.env)};s.debug("push",{event:o.name});const c=await L(t.push,"TransformerPush",e.hooks)(o,a);return s.debug("push done"),c}async function W(e,t,n,o,r){let i=o;for(const o of n){const n=t[o];if(!n){e.logger.info(`Transformer not found: ${o}`);continue}if(!await j(X)(e,n,o))return e.logger.info(`Transformer init failed: ${o}`),null;const s=await j(U,t=>(e.logger.scope(`transformer:${n.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,n,o,i,r);if(!1===s)return null;void 0!==s&&(i=s)}return i}function M(e){return e&&c(e)?e:{}}async function B(e,t,n={},o){const{allowed:r,consent:s,globals:a,user:c}=e;if(!r)return K({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const u=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var u,f,d,m;let p=(r.queuePush||[]).map(e=>({...e,consent:s}));if(r.queuePush=[],t){const e=l(t);p.push(e)}if(!p.length&&!(null==(u=r.queueOn)?void 0:u.length))return{id:o,destination:r,skipped:!0};if(!p.length&&(null==(f=r.queueOn)?void 0:f.length)){const t=await j(G)(e,r,o);return{id:o,destination:r,skipped:!t}}const h=[],y=p.filter(e=>{const t=g(r.config.consent,s,e.consent);return!t||(e.consent=t,h.push(e),!1)});if(r.queuePush.concat(y),!h.length)return{id:o,destination:r,queue:p};if(!await j(G)(e,r,o))return{id:o,destination:r,queue:p};let b,v;r.dlq||(r.dlq=[]);const w=(null==(m=null==(d=e.transformerChain)?void 0:d.post)?void 0:m[o])||[];return await Promise.all(h.map(async t=>{t.globals=i(a,t.globals),t.user=i(c,t.user);let s=t;if(w.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await W(e,e.transformers,w,t,n.ingest);if(null===o)return t;s=o}const u=await j(H,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:s.name}),b=t,r.dlq.push([s,t])})(e,r,o,s,n.ingest);return void 0!==u&&(v=u),t})),{id:o,destination:r,error:b,response:v}})),f={},d={},m={};for(const e of u){if(e.skipped)continue;const t=e.destination,n={type:t.type||"unknown",data:e.response};e.error?(n.error=e.error,m[e.id]=n):e.queue&&e.queue.length?(t.queuePush=(t.queuePush||[]).concat(e.queue),d[e.id]=n):f[e.id]=n}return K({event:t,...Object.keys(f).length&&{done:f},...Object.keys(d).length&&{queued:d},...Object.keys(m).length&&{failed:m}})}async function G(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",i=e.logger.scope(r),s={collector:e,logger:i,id:n,config:t.config,env:F(t.env,t.config.env)};i.debug("init");const a=await L(t.init,"DestinationInit",e.hooks)(s);if(!1===a)return a;if(t.config={...a||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:i}of o)D(e,t,n,r,i)}i.debug("init done")}return!0}async function H(e,t,n,o,r){const{config:i}=t,s=await x(o,i,e);if(s.ignore)return!1;const c=t.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:n,config:i,data:s.data,rule:s.mapping,ingest:r,env:F(t.env,i.env)},f=s.mapping,d=s.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch){u.debug("push",{event:s.event.name});const n=await L(t.push,"DestinationPush",e.hooks)(s.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:p(()=>{const o=t.batches[d].batched,s={collector:e,logger:u,id:n,config:i,data:void 0,rule:f,ingest:r,env:F(t.env,i.env)};u.debug("push batch",{events:o.events.length}),L(t.pushBatch,"DestinationPushBatch",e.hooks)(o,s),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(s.event),a(s.data)&&o.batched.data.push(s.data),o.batchFn()}return!0}function K(e){return{ok:!(null==e?void 0:e.failed),...e}}function F(e,t){return e||t?t?e&&c(e)&&c(t)?{...e,...t}:t:e:{}}async function J(e,t,n,o){let r;switch(t){case I.Config:c(n)&&i(e.config,n,{shallow:!1});break;case I.Consent:c(n)&&(r=await async function(e,t){const{consent:n}=e;let o=!1;const r={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;r[e]=n,o=o||n}),e.consent=i(n,r),N(e,"consent",void 0,r),o?B(e):K({ok:!0})}(e,n));break;case I.Custom:c(n)&&(e.custom=i(e.custom,n));break;case I.Destination:c(n)&&function(e){return"function"==typeof e}(n.push)&&(r=await async function(e,t,n){const{code:o,config:r={},env:i={}}=t,s=n||r||{init:!1},a={...o,config:s,env:F(o.env,i)};let c=a.config.id;if(!c)do{c=m(4)}while(e.destinations[c]);return e.destinations[c]=a,!1!==a.config.queue&&(a.queuePush=[...e.queue]),B(e,void 0,{},{[c]:a})}(e,{code:n},o));break;case I.Globals:c(n)&&(e.globals=i(e.globals,n));break;case I.On:u(n)&&function(e,t,n){const o=e.on,r=o[t]||[],i=s(n)?n:[n];i.forEach(e=>{r.push(e)}),o[t]=r,N(e,t,i)}(e,n,o);break;case I.Ready:N(e,"ready");break;case I.Run:r=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++;const n=await B(e);return N(e,"run"),n}(e,n);break;case I.Session:N(e,"session");break;case I.User:c(n)&&i(e.user,n,{shallow:!1})}return r||K({ok:!0})}function z(e,t){return L(async(n,o={})=>await j(async()=>{const{id:r,ingest:i,mapping:s,preChain:a}=o;let c=n;const u=i?Object.freeze(i):void 0;if(s){const t=await x(c,s,e);if(t.ignore)return K({ok:!0});if(s.consent&&!g(s.consent,e.consent,t.event.consent))return K({ok:!0});c=t.event}if((null==a?void 0:a.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await W(e,e.transformers,a,c,u);if(null===t)return K({ok:!0});c=t}const l=t(c),f=function(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");++e.count;const{timestamp:r=Date.now(),group:i=e.group,count:s=e.count}=t,{name:a=`${n} ${o}`,data:c={},context:u={},globals:l=e.globals,custom:f={},user:d=e.user,nested:g=[],consent:m=e.consent,id:p=`${r}-${i}-${s}`,trigger:h="",entity:y=n,action:b=o,timing:v=0,version:w={source:e.version,tagging:e.config.tagging||0},source:k={type:"collector",id:"",previous_id:""}}=t;return{name:a,data:c,context:u,globals:l,custom:f,user:d,nested:g,consent:m,id:p,trigger:h,entity:y,action:b,timestamp:r,timing:v,group:i,count:s,version:w,source:k}}(e,l);return await B(e,f,{id:r,ingest:u})},()=>K({ok:!1}))(),"Push",e.hooks)}async function Y(e){var t,n;const o=i({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),r=v({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},transformers:{},transformerChain:{pre:[],post:{}},globals:s,group:"",hooks:{},logger:r,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"1.1.0",sources:{},push:void 0,command:void 0};return a.push=z(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),a.command=(u=J,L(async(e,t,n)=>await j(async()=>await u(c,e,t,n),()=>K({ok:!1}))(),"Command",(c=a).hooks)),a.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,s={...t.config,...r},a=F(t.env,i);n[e]={...t,config:s,env:a}}return n}(0,e.destinations||{}),a.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={}}=r,a=e.logger.scope("transformer").scope(o),c={collector:e,logger:a,id:o,config:i,env:s},u=await t(c);n[o]=u}return n}(a,e.transformers||{}),a;var c,u}function V(e){const t={};for(const[n,o]of Object.entries(e))t[n]={next:o.config.next};return t}async function Q(e){e=e||{};const t=await Y(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return K({ok:!1});a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}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;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a,next:c}=r;let u;const l=T(c,V(e.transformers)),f=(t,n={})=>e.push(t,{...n,id:o,ingest:u,mapping:i,preChain:l}),d=e.logger.scope("source").scope(o),g={push:f,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:d,...s},m={collector:e,logger:d,id:o,config:i,env:g,setIngest:async t=>{u=i.ingest?await S(t,i.ingest,{collector:e}):void 0}},p=await j(t)(m);if(!p)continue;const h=p.type||"unknown",y=e.logger.scope(h).scope(o);g.logger=y,a&&(p.config={...p.config,primary:a}),n[o]=p}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:i,user:s,globals:a,custom:c}=e;i&&await t.command("consent",i),s&&await t.command("user",s),a&&Object.assign(t.globals,a),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}var Z,ee=Object.defineProperty,te=(e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})},ne=Object.defineProperty;((e,t)=>{for(var n in t)ne(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>oe});var oe=((Z=oe||{})[Z.ERROR=0]="ERROR",Z[Z.INFO=1]="INFO",Z[Z.DEBUG=2]="DEBUG",Z),re={merge:!0,shallow:!0,extend:!0};function ie(e,t={},n={}){n={...re,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function se(e){return Array.isArray(e)}function ae(e){return e===document||e instanceof Element}function ce(e){return"object"==typeof e&&null!==e&&!se(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ue(e){return"string"==typeof e}function le(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function fe(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function de(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function ge(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function me(e,t,n,o=!0){return Oe($(t,ge(e,n,o))||"").reduce((e,n)=>{let[o,r]=Ee(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),se(e[o])||(e[o]=[]),e[o].push(le(r))):e[o]=le(r),e},{})}function pe(e=I.Prefix,t=document){const n=ge(e,I.Globals,!1);let o={};return ke(t,`[${n}]`,t=>{o=ie(o,me(e,t,I.Globals,!1))}),o}function he(e){const t={};return Oe(e).forEach(e=>{const[n,o]=Ee(e),[r,i]=je(n);if(!r)return;let[s,a]=je(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function ye(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=be(e,i,t,n);if(s&&(r.push(s),o))break;i=ve(e,i)}return r}function be(e,t,n,o){const r=$(t,ge(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${ge(e,r)}],[${ge(e,"")}]`,a=ge(e,I.Link,!1);let c={};const u=[],[l,f]=we(n||t,s,e,r);ke(t,`[${a}]`,t=>{const[n,o]=Ee($(t,a));"parent"===o&&ke(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=be(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),ke(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=ie(g,me(e,t,"")),c=ie(c,me(e,t,r))}),c=ie(ie(g,c),l),i.forEach(t=>{ke(t,`[${ge(e)}]`,t=>{const n=be(e,t);n&&u.push(n)})}),{entity:r,data:c,context:f,nested:u}}function ve(e,t){const n=ge(e,I.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=Ee($(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function we(e,t,n,o){let r={};const i={};let s=e;const a=`[${ge(n,I.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=ie(me(n,s,""),r),r=ie(me(n,s,o),r)),s.matches(a)&&(Object.entries(me(n,s,I.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=ve(n,s);return[r,i]}function ke(e,t,n){e.querySelectorAll(t).forEach(n)}function Oe(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function Ee(e){const[t,n]=e.split(/:(.+)/,2);return[de(t),de(n)]}function je(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Se,_e=new WeakMap,xe=new WeakMap,Ae=new WeakMap;function Le(e){const t=Date.now();let n=xe.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:C(e),lastChecked:t},xe.set(e,n)),n.isVisible}function $e(e){if(window.IntersectionObserver)return fe(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=Ae.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=_e.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},_e.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&Le(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(Le(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Be(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Ae.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),_e.delete(t),xe.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function Pe(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=Ae.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Ce(e){if(!e)return;const t=Ae.get(e);t&&(t.observer&&t.observer.disconnect(),Ae.delete(e))}function qe(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(ue(t)&&t.startsWith("walker "))return a(t,n);if(ce(t)){const e=t;return e.source||(e.source=Re()),e.globals||(e.globals=pe(c.prefix,c.scope||document)),a(e)}const[u]=String(ce(t)?t.name:t).split(" ");let l,f=ce(n)?n:{},d={},g=!1;if(ae(n)&&(l=n,g=!0),ae(r)?l=r:ce(r)&&Object.keys(r).length&&(d=r),l){const e=ye(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=pe(c.prefix,c.scope);return a({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:ue(o)?o:"",source:Re()})}function Re(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Ie=[],De="hover",Ne="load",Te="pulse",Xe="scroll",Ue="wait";function We(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",fe(function(t){He.call(this,e,t)})),n.addEventListener("submit",fe(function(t){Ke.call(this,e,t)})))}(e,t)}function Me(e,t){t.scope&&function(e,t){const n=t.scope;Ie=[];const o=n||document;Ce(o),function(e,t=1e3){Ae.has(e)||Ae.set(e,{observer:$e(e),timers:new WeakMap,duration:t})}(o,1e3);const r=ge(t.prefix,I.Action,!1);o!==document&&Ge(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{Ge(e,n,r,t)}),Ie.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Be(t,e,Xe),1))});Se||(Se=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){Ie=n.call(t,Ie,e)}),t.addEventListener("scroll",Se))}(e,o)}(e,t)}async function Be(e,t,n){const o=function(e,t,n=I.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=$(o,ge(e,I.Actions,!1));if(t){const e=he(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=$(o,ge(e,I.Action,!1));if(r){const e=he(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=ve(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=Oe(r.actionParams||"",",").reduce((e,t)=>(e[de(t)]=!0,e),{}),a=ye(n,e,s,i);if(!a.length){const t="page",o=`[${ge(n,t)}]`,[r,i]=we(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}(t,n,e.settings.prefix);return Promise.all(o.map(t=>qe(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ge(e,t,n,o){const r=$(t,n);r&&Object.values(he(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case De:o=e,t.addEventListener("mouseenter",fe(function(e){e.target instanceof Element&&Be(o,e.target,De)}));break;case Ne:!function(e,t){Be(e,t,Ne)}(e,t);break;case Te:!function(e,t,n=""){setInterval(()=>{document.hidden||Be(e,t,Te)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Xe:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Ie.push([e,n])}(t,n.triggerParams);break;case"impression":Pe(e,t);break;case"visible":Pe(e,t,{multiple:!0});break;case Ue:!function(e,t,n=""){setTimeout(()=>Be(e,t,Ue),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function He(e,t){Be(e,t.target,"click")}function Ke(e,t){t.target&&Be(e,t.target,"submit")}function Fe(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=ze(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!ce(s)&&ue(s)&&s.startsWith("walker ");if(ce(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!ue(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{Je(e,t,n)})}function Je(e,t="data-elb",n){fe(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||ue(o)&&""===o.trim())return;if(ue(o)&&o.startsWith("walker "))return void e(o,r[0]);qe({elb:e,settings:{prefix:t,scope:document,pageview:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function ze(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}te({},{env:()=>Ye});var Ye={};te(Ye,{push:()=>et});var Ve=()=>{},Qe=()=>()=>Promise.resolve({ok:!0}),Ze={error:Ve,info:Ve,debug:Ve,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>Ze},et={get push(){return Qe()},get command(){return Qe()},get elb(){return Qe()},get window(){return{addEventListener:Ve,removeEventListener:Ve,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Ve,removeEventListener:Ve,querySelector:Ve,querySelectorAll:()=>[],getElementById:Ve,getElementsByClassName:()=>[],getElementsByTagName:()=>[],createElement:()=>({setAttribute:Ve,getAttribute:Ve,addEventListener:Ve,removeEventListener:Ve}),body:{appendChild:Ve,removeChild:Ve},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:Ze},tt=async e=>{const{config:t,env:n}=e,{elb:o,command:r,window:i,document:s}=n,a=(null==t?void 0:t.settings)||{},c=i||(void 0!==globalThis.window?globalThis.window:void 0),u=s||(void 0!==globalThis.document?globalThis.document:void 0),l=function(e={},t){return{prefix:"data-elb",pageview:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(a,u),f={settings:l},d={elb:o,settings:l},g=e=>{if(e.pageview){const[t,n]=function(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=we(r,`[${ge(e,o)}]`,e,o);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}(e.prefix||"data-elb",e.scope);qe(d,"page view",t,"load",n)}};return c&&u&&(!1!==l.elbLayer&&o&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||window;if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(ze(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return Je(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{Je(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){Fe(e,t,n,!0),Fe(e,t,n,!1),n.length=0}(e,t.prefix,i)}(o,{name:ue(l.elbLayer)?l.elbLayer:"elbLayer",prefix:l.prefix,window:c}),await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(We,d,l),Me(d,l),g(l),ue(l.elb)&&l.elb&&(c[l.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return qe(d,t,n,o,r,i,s)})),{type:"browser",config:f,push:(...e)=>{const[t,n,o,r,i,s]=e;return qe(d,t,n,o,r,i,s)},destroy:async()=>{u&&Ce(l.scope||u)},on:async e=>{switch(e){case"ready":default:break;case"run":u&&c&&(Me(d,l),g(l))}}}};function nt(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const o=new URL(e.url||window.location.href),r=e.referrer||document.referrer,s=r&&new URL(r).hostname,a=function(e,t={}){const n="clickId",o={},r={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(i(r,t)).forEach(([t,r])=>{const i=e.searchParams.get(t);i&&(r===n&&(r=t,o[n]=t),o[r]=i)}),o}(o,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(o.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:s},a,e.data):n}function ot(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=nt(e);let l=!1;const f=E((e,t,n)=>{let o=q(e,n);return o||(o=m(8),R(e,o,1440*t,n)),String(o)})(o,i,r),d=E((e,o)=>{const r=JSON.parse(String(q(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),l=!0),l||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,l=!0):r.runs++),r},()=>{l=!0})(s,a)||{},g={id:m(12),start:t,isNew:!0,count:1,runs:1},p=Object.assign(g,u,d,{device:f},{isStart:l,storage:!0,updated:t},e.data);return R(s,JSON.stringify(p),2*n,a),p}function rt(e={}){const{cb:t,consent:n,collector:o,storage:r}=e;if(!n)return it((r?ot:nt)(e),o,t);{const r=function(e,t){let n;const o=(o,r)=>{if(a(n)&&n===(null==o?void 0:o.group))return;n=null==o?void 0:o.group;let i=()=>nt(e);if(e.consent){g((s(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),r)&&(i=()=>ot(e))}return it(i(),o,t)};return o}(e,t),i=(s(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{});o&&o.command("on","consent",i)}}function it(e,t,n){return!1===n?e:(n||(n=st),n(e,t,st))}var st=(e,t)=>{const n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t&&t.command("user",n),e.isStart&&t&&t.push({name:"session start",data:e}),e},at=async e=>{const{config:t,env:n}=e,{elb:o,command:r}=n,i={...null==t?void 0:t.settings},s={settings:i},a={push:o,group:void 0,command:r};rt({...i,collector:a});return{type:"session",config:s,push:o,on:async e=>{"consent"===e&&rt({...i,collector:a})}}},ct=Object.defineProperty,ut=(e,t)=>{for(var n in t)ct(e,n,{get:t[n],enumerable:!0})},lt=!1;function ft(e,t={},n){if(t.filter&&!0===E(()=>t.filter(n),()=>!1)())return;const o=function(e){if(c(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}return s(e)&&e.length>=2?dt(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?dt(Array.from(e)):null;var t}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:i,...a}=o,l={name:r,data:a};E(()=>e(l),()=>{})()}function dt(e){const[t,n,o]=e;if(!u(t))return null;let r,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!c(o)||null===o)return null;r=`${t} ${n}`,i={...o};break;case"event":if(!u(n))return null;r=n,c(o)&&(i={...o});break;case"config":if(!u(n))return null;r=`${t} ${n}`,c(o)&&(i={...o});break;case"set":if(u(n))r=`${t} ${n}`,c(o)&&(i={...o});else{if(!c(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}ut({},{push:()=>ht});var gt=()=>{},mt=()=>()=>Promise.resolve({ok:!0}),pt={error:gt,info:gt,debug:gt,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>pt},ht={get push(){return mt()},get command(){return mt()},get elb(){return mt()},get window(){return{dataLayer:[],addEventListener:gt,removeEventListener:gt}},logger:pt};function yt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function bt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function vt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function wt(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function kt(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Ot(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function Et(){return["set",{currency:"EUR",country:"DE"}]}function jt(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}ut({},{add_to_cart:()=>wt,config:()=>Ot,consentDefault:()=>bt,consentUpdate:()=>yt,directDataLayerEvent:()=>jt,purchase:()=>vt,setCustom:()=>Et,view_item:()=>kt});ut({},{add_to_cart:()=>xt,config:()=>Pt,configGA4:()=>Lt,consentOnlyMapping:()=>Ct,consentUpdate:()=>St,customEvent:()=>$t,purchase:()=>_t,view_item:()=>At});var St={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},_t={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},xt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},At={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},Lt={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},$t={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},Pt={consent:{update:St},purchase:_t,add_to_cart:xt,view_item:At,"config G-XXXXXXXXXX":Lt,custom_event:$t,"*":{data:{}}},Ct={consent:{update:St}},qt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,i={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},s={settings:i};return r&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!lt){lt=!0;try{for(const t of r)ft(e,n,t)}finally{lt=!1}}}(o,s),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(lt)return i(...t);lt=!0;try{for(const o of t)ft(e,n,o)}finally{lt=!1}return i(...t)}}(o,s)),{type:"dataLayer",config:s,push:o,destroy:async()=>{const e=i.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}};function Rt(){window.dataLayer=window.dataLayer||[];const e=e=>{c(e)&&c(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}if(window&&document){const e=async()=>{let e;const t=document.querySelector("script[data-elbconfig]");if(t){const n=t.getAttribute("data-elbconfig")||"";n.includes(":")?e=P(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(e={}){const t=i({collector:{destinations:{dataLayer:{code:Rt()}}},browser:{},session:!0,dataLayer:!1,elb:"elb",run:!0},e),n={...t.collector,sources:{browser:{code:tt,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(!1!==t.session){const e=c(t.session)?t.session:{};n.sources&&(n.sources.session={code:at,config:{settings:e}})}if(t.dataLayer){const e=c(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:qt,config:{settings:e}})}const o=await Q(n);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o.elb),t.name&&(window[t.name]=o.collector)),o}(e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}})();
1
+ "use strict";(()=>{var e=Object.defineProperty;((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{Level:()=>n});var t,n=((t=n||{})[t.ERROR=0]="ERROR",t[t.INFO=1]="INFO",t[t.DEBUG=2]="DEBUG",t),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},r={merge:!0,shallow:!0,extend:!0};function i(e,t={},n={}){n={...r,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function s(e){return Array.isArray(e)}function a(e){return void 0!==e}function c(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function l(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=l(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(l(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function f(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&s(r)){const t=o.slice(e+1).join("."),i=[];for(const e of r){const o=f(e,t,n);i.push(o)}return i}if(r=r instanceof Object?r[t]:void 0,!r)break}return a(r)?r:n}function d(e,t,n){if(!c(e))return e;const o=l(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}function g(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function p(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}function h(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function y(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=h(e)):n=e,void 0!==t&&(t instanceof Error?o.error=h(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=h(o.error))):o.value=t),{message:n,context:o}}var b=(e,t,o,r)=>{const i=`${n[e]}${r.length>0?` [${r.join(":")}]`:""}`,s=Object.keys(o).length>0;0===e?s?console.error(i,t,o):console.error(i,t):s?console.log(i,t,o):console.log(i,t)};function v(e={}){return w({level:void 0!==e.level?(t=e.level,"string"==typeof t?n[t]:t):0,handler:e.handler,scope:[]});var t}function w(e){const{level:t,handler:n,scope:o}=e,r=(e,r,i)=>{if(e<=t){const t=y(r,i);n?n(e,t.message,t.context,o,b):b(e,t.message,t.context,o)}};return{error:(e,t)=>r(0,e,t),info:(e,t)=>r(1,e,t),debug:(e,t)=>r(2,e,t),throw:(e,t)=>{const r=y(e,t);throw n?n(0,r.message,r.context,o,b):b(0,r.message,r.context,o),new Error(r.message)},scope:e=>w({level:t,handler:n,scope:[...o,e]})}}function k(e){return function(e){return"boolean"==typeof e}(e)||u(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!a(e)||s(e)&&e.every(k)||c(e)&&Object.values(e).every(k)}function O(e){return k(e)?e:void 0}function E(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function j(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function S(e,t={},n={}){var o;if(!a(e))return;const r=c(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),i=s(t)?t:[t];for(const t of i){const o=await j(_)(e,t,{...n,consent:r});if(a(o))return o}}async function _(e,t,n={}){const{collector:o,consent:r}=n;return(s(t)?t:[t]).reduce(async(t,i)=>{const c=await t;if(c)return c;const l=u(i)?{key:i}:i;if(!Object.keys(l).length)return;const{condition:d,consent:m,fn:p,key:h,loop:y,map:b,set:v,validate:w,value:k}=l;if(d&&!await j(d)(e,i,o))return;if(m&&!g(m,r))return k;let E=a(k)?k:e;if(p&&(E=await j(p)(e,i,n)),h&&(E=f(e,h,k)),y){const[t,o]=y,r="this"===t?[e]:await S(e,t,n);s(r)&&(E=(await Promise.all(r.map(e=>S(e,o,n)))).filter(a))}else b?E=await Object.entries(b).reduce(async(t,[o,r])=>{const i=await t,s=await S(e,r,n);return a(s)&&(i[o]=s),i},Promise.resolve({})):v&&(E=await Promise.all(v.map(t=>_(e,t,n))));w&&!await j(w)(E)&&(E=void 0);const x=O(E);return a(x)?x:O(k)},Promise.resolve(void 0))}async function x(e,t,n){t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));const{eventMapping:o,mappingKey:r}=await async function(e,t){var n;const[o,r]=(e.name||"").split(" ");if(!t||!o||!r)return{};let i,a="",c=o,u=r;const l=t=>{if(t)return(t=s(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),i=l(f[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(a=`${c} ${u}`),{eventMapping:i,mappingKey:a}}(e,t.mapping);(null==o?void 0:o.policy)&&await Promise.all(Object.entries(o.policy).map(async([t,o])=>{const r=await S(e,o,{collector:n});e=d(e,t,r)}));let a=t.data&&await S(e,t.data,{collector:n});if(o){if(o.ignore)return{event:e,data:a,mapping:o,mappingKey:r,ignore:!0};if(o.name&&(e.name=o.name),o.data){const t=o.data&&await S(e,o.data,{collector:n});a=c(a)&&c(t)?i(a,t):t}}return{event:e,data:a,mapping:o,mappingKey:r,ignore:!1}}function A(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function L(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}function $(e,t){return(e.getAttribute(t)||"").trim()}function P(e){const t={};return function(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}(e).forEach(e=>{const[n,o]=function(e){const[t,n]=e.split(/:(.+)/,2);return[A(t||""),A(n||"")]}(e);n&&("true"===o?t[n]=!0:"false"===o?t[n]=!1:o&&/^\d+$/.test(o)?t[n]=parseInt(o,10):o&&/^\d+\.\d+$/.test(o)?t[n]=parseFloat(o):t[n]=o||!0)}),t}function q(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function C(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:R(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function R(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let o=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(o+="; domain="+i),document.cookie=o;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return C(e,r)}var D={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",User:"user",Walker:"walker"};function I(e,t,n,o,r){if(!t.on)return;const i=t.type||"unknown",s=e.logger.scope(i).scope("on").scope(o),a={collector:e,logger:s,id:n,config:t.config,data:r,env:z(t.env,t.config.env)};E(t.on)(o,a)}function N(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case D.Consent:r=o||e.consent;break;case D.Session:r=e.session;break;case D.Ready:case D.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&E(e.on)(t,r)}),Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:r});I(e,o,n,t,r)}}),i.length)switch(t){case D.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{E(t[n])(e,o)})})}(e,i,o);break;case D.Ready:case D.Run:a=i,(s=e).allowed&&a.forEach(e=>{E(e)(s)});break;case D.Session:!function(e,t){e.session&&t.forEach(t=>{E(t)(e,e.session)})}(e,i)}var s,a}function T(e){var t;const n={};for(const[o,r]of Object.entries(e))(null==(t=r.config)?void 0:t.next)?n[o]={next:r.config.next}:n[o]={};return n}function X(e,t){const n=e.config||{},o=e[t];return void 0!==o?{config:{...n,[t]:o},chainValue:o}:{config:n,chainValue:void 0}}function U(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function W(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),i={collector:e,logger:r,id:n,config:t.config,env:G(t.config.env)};r.debug("init");const s=await L(t.init,"TransformerInit",e.hooks)(i);if(!1===s)return!1;t.config={...s||t.config,init:!0},r.debug("init done")}return!0}async function M(e,t,n,o,r){const i=t.type||"unknown",s=e.logger.scope(`transformer:${i}`),a={collector:e,logger:s,id:n,ingest:r,config:t.config,env:G(t.config.env)};s.debug("push",{event:o.name});const c=await L(t.push,"TransformerPush",e.hooks)(o,a);return s.debug("push done"),c}async function B(e,t,n,o,r){let i=o;for(const o of n){const n=t[o];if(!n){e.logger.info(`Transformer not found: ${o}`);continue}if(!await j(W)(e,n,o))return e.logger.info(`Transformer init failed: ${o}`),null;const s=await j(M,t=>(e.logger.scope(`transformer:${n.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,n,o,i,r);if(!1===s)return null;void 0!==s&&(i=s)}return i}function G(e){return e&&c(e)?e:{}}async function H(e,t,n={},o){const{allowed:r,consent:s,globals:a,user:c}=e;if(!r)return J({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const u=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var u,f;let d=(r.queuePush||[]).map(e=>({...e,consent:s}));if(r.queuePush=[],t){const e=l(t);d.push(e)}if(!d.length&&!(null==(u=r.queueOn)?void 0:u.length))return{id:o,destination:r,skipped:!0};if(!d.length&&(null==(f=r.queueOn)?void 0:f.length)){const t=await j(K)(e,r,o);return{id:o,destination:r,skipped:!t}}const m=[],p=d.filter(e=>{const t=g(r.config.consent,s,e.consent);return!t||(e.consent=t,m.push(e),!1)});if(r.queuePush.concat(p),!m.length)return{id:o,destination:r,queue:d};if(!await j(K)(e,r,o))return{id:o,destination:r,queue:d};let h,y;r.dlq||(r.dlq=[]);const b=function(e,t){const n=e.config.before;return n?U(n,T(t)):[]}(r,e.transformers);return await Promise.all(m.map(async t=>{t.globals=i(a,t.globals),t.user=i(c,t.user);let s=t;if(b.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const o=await B(e,e.transformers,b,t,n.ingest);if(null===o)return t;s=o}const u=await j(F,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:s.name}),h=t,r.dlq.push([s,t])})(e,r,o,s,n.ingest);return void 0!==u&&(y=u),t})),{id:o,destination:r,error:h,response:y}})),f={},d={},m={};for(const e of u){if(e.skipped)continue;const t=e.destination,n={type:t.type||"unknown",data:e.response};e.error?(n.error=e.error,m[e.id]=n):e.queue&&e.queue.length?(t.queuePush=(t.queuePush||[]).concat(e.queue),d[e.id]=n):f[e.id]=n}return J({event:t,...Object.keys(f).length&&{done:f},...Object.keys(d).length&&{queued:d},...Object.keys(m).length&&{failed:m}})}async function K(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",i=e.logger.scope(r),s={collector:e,logger:i,id:n,config:t.config,env:z(t.env,t.config.env)};i.debug("init");const a=await L(t.init,"DestinationInit",e.hooks)(s);if(!1===a)return a;if(t.config={...a||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:i}of o)I(e,t,n,r,i)}i.debug("init done")}return!0}async function F(e,t,n,o,r){const{config:i}=t,s=await x(o,i,e);if(s.ignore)return!1;const c=t.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:n,config:i,data:s.data,rule:s.mapping,ingest:r,env:z(t.env,i.env)},f=s.mapping,d=s.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch){u.debug("push",{event:s.event.name});const n=await L(t.push,"DestinationPush",e.hooks)(s.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:p(()=>{const o=t.batches[d].batched,s={collector:e,logger:u,id:n,config:i,data:void 0,rule:f,ingest:r,env:z(t.env,i.env)};u.debug("push batch",{events:o.events.length}),L(t.pushBatch,"DestinationPushBatch",e.hooks)(o,s),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(s.event),a(s.data)&&o.batched.data.push(s.data),o.batchFn()}return!0}function J(e){return{ok:!(null==e?void 0:e.failed),...e}}function z(e,t){return e||t?t?e&&c(e)&&c(t)?{...e,...t}:t:e:{}}async function V(e,t,n,o){let r;switch(t){case D.Config:c(n)&&i(e.config,n,{shallow:!1});break;case D.Consent:c(n)&&(r=await async function(e,t){const{consent:n}=e;let o=!1;const r={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;r[e]=n,o=o||n}),e.consent=i(n,r),N(e,"consent",void 0,r),o?H(e):J({ok:!0})}(e,n));break;case D.Custom:c(n)&&(e.custom=i(e.custom,n));break;case D.Destination:c(n)&&"code"in n&&c(n.code)&&(r=await async function(e,t,n){const{code:o,config:r={},env:i={},before:s}=t;if(!function(e){return"function"==typeof e}(o.push))return J({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const a=n||r||{init:!1},c=s?{...a,before:s}:a,u={...o,config:c,env:z(o.env,i)};let l=u.config.id;if(!l)do{l=m(4)}while(e.destinations[l]);return e.destinations[l]=u,!1!==u.config.queue&&(u.queuePush=[...e.queue]),H(e,void 0,{},{[l]:u})}(e,n,o));break;case D.Globals:c(n)&&(e.globals=i(e.globals,n));break;case D.On:u(n)&&function(e,t,n){const o=e.on,r=o[t]||[],i=s(n)?n:[n];i.forEach(e=>{r.push(e)}),o[t]=r,N(e,t,i)}(e,n,o);break;case D.Ready:N(e,"ready");break;case D.Run:r=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=i(e.consent,t.consent)),t.user&&(e.user=i(e.user,t.user)),t.globals&&(e.globals=i(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=i(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++;const n=await H(e);return N(e,"run"),n}(e,n);break;case D.Session:N(e,"session");break;case D.User:c(n)&&i(e.user,n,{shallow:!1})}return r||J({ok:!0})}function Y(e,t){return L(async(n,o={})=>await j(async()=>{const{id:r,ingest:i,mapping:s,preChain:a}=o;let c=n;const u=i?Object.freeze(i):void 0;if(s){const t=await x(c,s,e);if(t.ignore)return J({ok:!0});if(s.consent&&!g(s.consent,e.consent,t.event.consent))return J({ok:!0});c=t.event}if((null==a?void 0:a.length)&&e.transformers&&Object.keys(e.transformers).length>0){const t=await B(e,e.transformers,a,c,u);if(null===t)return J({ok:!0});c=t}const l=t(c),f=function(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");++e.count;const{timestamp:r=Date.now(),group:i=e.group,count:s=e.count}=t,{name:a=`${n} ${o}`,data:c={},context:u={},globals:l=e.globals,custom:f={},user:d=e.user,nested:g=[],consent:m=e.consent,id:p=`${r}-${i}-${s}`,trigger:h="",entity:y=n,action:b=o,timing:v=0,version:w={source:e.version,tagging:e.config.tagging||0},source:k={type:"collector",id:"",previous_id:""}}=t;return{name:a,data:c,context:u,globals:l,custom:f,user:d,nested:g,consent:m,id:p,trigger:h,entity:y,action:b,timestamp:r,timing:v,group:i,count:s,version:w,source:k}}(e,l);return await H(e,f,{id:r,ingest:u})},()=>J({ok:!1}))(),"Push",e.hooks)}async function Q(e){var t,n;const o=i({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),r=v({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},transformers:{},globals:s,group:"",hooks:{},logger:r,on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"1.1.2",sources:{},push:void 0,command:void 0};return a.push=Y(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),a.command=(u=V,L(async(e,t,n)=>await j(async()=>await u(c,e,t,n),()=>J({ok:!1}))(),"Command",(c=a).hooks)),a.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,{config:s}=X(o,"before"),a={...t.config,...r,...s},c=z(t.env,i);n[e]={...t,config:a,env:c}}return n}(0,e.destinations||{}),a.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,env:i={}}=r,{config:s}=X(r,"next"),a=e.logger.scope("transformer").scope(o),c={collector:e,logger:a,id:o,config:s,env:i},u=await t(c);n[o]=u}return n}(a,e.transformers||{}),a;var c,u}async function Z(e){e=e||{};const t=await Q(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,i,s)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let a;if("string"==typeof e)a={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(a.data=t);else{if(!e||"object"!=typeof e)return J({ok:!1});a=e,t&&"object"==typeof t&&!Array.isArray(t)&&(a.data={...a.data||{},...t})}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;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a,next:c}=r;let u;const l=U(c,T(e.transformers)),f=(t,n={})=>e.push(t,{...n,id:o,ingest:u,mapping:i,preChain:l}),d=e.logger.scope("source").scope(o),g={push:f,command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:d,...s},m={collector:e,logger:d,id:o,config:i,env:g,setIngest:async t=>{u=i.ingest?await S(t,i.ingest,{collector:e}):void 0}},p=await j(t)(m);if(!p)continue;const h=p.type||"unknown",y=e.logger.scope(h).scope(o);g.logger=y,a&&(p.config={...p.config,primary:a}),n[o]=p}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:i,user:s,globals:a,custom:c}=e;i&&await t.command("consent",i),s&&await t.command("user",s),a&&Object.assign(t.globals,a),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}var ee,te=Object.defineProperty,ne=(e,t)=>{for(var n in t)te(e,n,{get:t[n],enumerable:!0})},oe=Object.defineProperty;((e,t)=>{for(var n in t)oe(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>re});var re=((ee=re||{})[ee.ERROR=0]="ERROR",ee[ee.INFO=1]="INFO",ee[ee.DEBUG=2]="DEBUG",ee),ie={merge:!0,shallow:!0,extend:!0};function se(e,t={},n={}){n={...ie,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function ae(e){return Array.isArray(e)}function ce(e){return e===document||e instanceof Element}function ue(e){return"object"==typeof e&&null!==e&&!ae(e)&&"[object Object]"===Object.prototype.toString.call(e)}function le(e){return"string"==typeof e}function fe(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function de(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function ge(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function me(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function pe(e,t,n,o=!0){return Ee($(t,me(e,n,o))||"").reduce((e,n)=>{let[o,r]=je(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),ae(e[o])||(e[o]=[]),e[o].push(fe(r))):e[o]=fe(r),e},{})}function he(e=D.Prefix,t=document){const n=me(e,D.Globals,!1);let o={};return Oe(t,`[${n}]`,t=>{o=se(o,pe(e,t,D.Globals,!1))}),o}function ye(e){const t={};return Ee(e).forEach(e=>{const[n,o]=je(e),[r,i]=Se(n);if(!r)return;let[s,a]=Se(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function be(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=ve(e,i,t,n);if(s&&(r.push(s),o))break;i=we(e,i)}return r}function ve(e,t,n,o){const r=$(t,me(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${me(e,r)}],[${me(e,"")}]`,a=me(e,D.Link,!1);let c={};const u=[],[l,f]=ke(n||t,s,e,r);Oe(t,`[${a}]`,t=>{const[n,o]=je($(t,a));"parent"===o&&Oe(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=ve(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),Oe(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=se(g,pe(e,t,"")),c=se(c,pe(e,t,r))}),c=se(se(g,c),l),i.forEach(t=>{Oe(t,`[${me(e)}]`,t=>{const n=ve(e,t);n&&u.push(n)})}),{entity:r,data:c,context:f,nested:u}}function we(e,t){const n=me(e,D.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=je($(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function ke(e,t,n,o){let r={};const i={};let s=e;const a=`[${me(n,D.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=se(pe(n,s,""),r),r=se(pe(n,s,o),r)),s.matches(a)&&(Object.entries(pe(n,s,D.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=we(n,s);return[r,i]}function Oe(e,t,n){e.querySelectorAll(t).forEach(n)}function Ee(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function je(e){const[t,n]=e.split(/:(.+)/,2);return[ge(t),ge(n)]}function Se(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var _e,xe=new WeakMap,Ae=new WeakMap,Le=new WeakMap;function $e(e){const t=Date.now();let n=Ae.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:q(e),lastChecked:t},Ae.set(e,n)),n.isVisible}function Pe(e){if(window.IntersectionObserver)return de(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=Le.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=xe.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},xe.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&$e(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if($e(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Ge(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Le.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),xe.delete(t),Ae.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function qe(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=Le.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Ce(e){if(!e)return;const t=Le.get(e);t&&(t.observer&&t.observer.disconnect(),Le.delete(e))}function Re(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(le(t)&&t.startsWith("walker "))return a(t,n);if(ue(t)){const e=t;return e.source||(e.source=De()),e.globals||(e.globals=he(c.prefix,c.scope||document)),a(e)}const[u]=String(ue(t)?t.name:t).split(" ");let l,f=ue(n)?n:{},d={},g=!1;if(ce(n)&&(l=n,g=!0),ce(r)?l=r:ue(r)&&Object.keys(r).length&&(d=r),l){const e=be(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=he(c.prefix,c.scope);return a({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:le(o)?o:"",source:De()})}function De(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Ie=[],Ne="hover",Te="load",Xe="pulse",Ue="scroll",We="wait";function Me(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",de(function(t){Ke.call(this,e,t)})),n.addEventListener("submit",de(function(t){Fe.call(this,e,t)})))}(e,t)}function Be(e,t){t.scope&&function(e,t){const n=t.scope;Ie=[];const o=n||document;Ce(o),function(e,t=1e3){Le.has(e)||Le.set(e,{observer:Pe(e),timers:new WeakMap,duration:t})}(o,1e3);const r=me(t.prefix,D.Action,!1);o!==document&&He(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{He(e,n,r,t)}),Ie.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Ge(t,e,Ue),1))});_e||(_e=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){Ie=n.call(t,Ie,e)}),t.addEventListener("scroll",_e))}(e,o)}(e,t)}async function Ge(e,t,n){const o=function(e,t,n=D.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=$(o,me(e,D.Actions,!1));if(t){const e=ye(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=$(o,me(e,D.Action,!1));if(r){const e=ye(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=we(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=Ee(r.actionParams||"",",").reduce((e,t)=>(e[ge(t)]=!0,e),{}),a=be(n,e,s,i);if(!a.length){const t="page",o=`[${me(n,t)}]`,[r,i]=ke(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}(t,n,e.settings.prefix);return Promise.all(o.map(t=>Re(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function He(e,t,n,o){const r=$(t,n);r&&Object.values(ye(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case Ne:o=e,t.addEventListener("mouseenter",de(function(e){e.target instanceof Element&&Ge(o,e.target,Ne)}));break;case Te:!function(e,t){Ge(e,t,Te)}(e,t);break;case Xe:!function(e,t,n=""){setInterval(()=>{document.hidden||Ge(e,t,Xe)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Ue:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Ie.push([e,n])}(t,n.triggerParams);break;case"impression":qe(e,t);break;case"visible":qe(e,t,{multiple:!0});break;case We:!function(e,t,n=""){setTimeout(()=>Ge(e,t,We),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function Ke(e,t){Ge(e,t.target,"click")}function Fe(e,t){t.target&&Ge(e,t.target,"submit")}function Je(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=Ve(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!ue(s)&&le(s)&&s.startsWith("walker ");if(ue(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!le(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{ze(e,t,n)})}function ze(e,t="data-elb",n){de(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||le(o)&&""===o.trim())return;if(le(o)&&o.startsWith("walker "))return void e(o,r[0]);Re({elb:e,settings:{prefix:t,scope:document,pageview:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Ve(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}ne({},{env:()=>Ye});var Ye={};ne(Ye,{push:()=>tt});var Qe=()=>{},Ze=()=>()=>Promise.resolve({ok:!0}),et={error:Qe,info:Qe,debug:Qe,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>et},tt={get push(){return Ze()},get command(){return Ze()},get elb(){return Ze()},get window(){return{addEventListener:Qe,removeEventListener:Qe,location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0}},get document(){return{addEventListener:Qe,removeEventListener:Qe,querySelector:Qe,querySelectorAll:()=>[],getElementById:Qe,getElementsByClassName:()=>[],getElementsByTagName:()=>[],createElement:()=>({setAttribute:Qe,getAttribute:Qe,addEventListener:Qe,removeEventListener:Qe}),body:{appendChild:Qe,removeChild:Qe},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""}},logger:et},nt=async e=>{const{config:t,env:n}=e,{elb:o,command:r,window:i,document:s}=n,a=(null==t?void 0:t.settings)||{},c=i||(void 0!==globalThis.window?globalThis.window:void 0),u=s||(void 0!==globalThis.document?globalThis.document:void 0),l=function(e={},t){return{prefix:"data-elb",pageview:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(a,u),f={settings:l},d={elb:o,settings:l},g=e=>{if(e.pageview){const[t,n]=function(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=ke(r,`[${me(e,o)}]`,e,o);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}(e.prefix||"data-elb",e.scope);Re(d,"page view",t,"load",n)}};return c&&u&&(!1!==l.elbLayer&&o&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||window;if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(Ve(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return ze(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{ze(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){Je(e,t,n,!0),Je(e,t,n,!1),n.length=0}(e,t.prefix,i)}(o,{name:le(l.elbLayer)?l.elbLayer:"elbLayer",prefix:l.prefix,window:c}),await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(Me,d,l),Be(d,l),g(l),le(l.elb)&&l.elb&&(c[l.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return Re(d,t,n,o,r,i,s)})),{type:"browser",config:f,push:(...e)=>{const[t,n,o,r,i,s]=e;return Re(d,t,n,o,r,i,s)},destroy:async()=>{u&&Ce(l.scope||u)},on:async e=>{switch(e){case"ready":default:break;case"run":u&&c&&(Be(d,l),g(l))}}}};function ot(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const o=new URL(e.url||window.location.href),r=e.referrer||document.referrer,s=r&&new URL(r).hostname,a=function(e,t={}){const n="clickId",o={},r={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(i(r,t)).forEach(([t,r])=>{const i=e.searchParams.get(t);i&&(r===n&&(r=t,o[n]=t),o[r]=i)}),o}(o,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(o.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:s},a,e.data):n}function rt(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=ot(e);let l=!1;const f=E((e,t,n)=>{let o=C(e,n);return o||(o=m(8),R(e,o,1440*t,n)),String(o)})(o,i,r),d=E((e,o)=>{const r=JSON.parse(String(C(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),l=!0),l||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,l=!0):r.runs++),r},()=>{l=!0})(s,a)||{},g={id:m(12),start:t,isNew:!0,count:1,runs:1},p=Object.assign(g,u,d,{device:f},{isStart:l,storage:!0,updated:t},e.data);return R(s,JSON.stringify(p),2*n,a),p}function it(e={}){const{cb:t,consent:n,collector:o,storage:r}=e;if(!n)return st((r?rt:ot)(e),o,t);{const r=function(e,t){let n;const o=(o,r)=>{if(a(n)&&n===(null==o?void 0:o.group))return;n=null==o?void 0:o.group;let i=()=>ot(e);if(e.consent){g((s(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),r)&&(i=()=>rt(e))}return st(i(),o,t)};return o}(e,t),i=(s(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{});o&&o.command("on","consent",i)}}function st(e,t,n){return!1===n?e:(n||(n=at),n(e,t,at))}var at=(e,t)=>{const n={};return e.id&&(n.session=e.id),e.storage&&e.device&&(n.device=e.device),t&&t.command("user",n),e.isStart&&t&&t.push({name:"session start",data:e}),e},ct=async e=>{const{config:t,env:n}=e,{elb:o,command:r}=n,i={...null==t?void 0:t.settings},s={settings:i},a={push:o,group:void 0,command:r};it({...i,collector:a});return{type:"session",config:s,push:o,on:async e=>{"consent"===e&&it({...i,collector:a})}}},ut=Object.defineProperty,lt=(e,t)=>{for(var n in t)ut(e,n,{get:t[n],enumerable:!0})},ft=!1;function dt(e,t={},n){if(t.filter&&!0===E(()=>t.filter(n),()=>!1)())return;const o=function(e){if(c(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}return s(e)&&e.length>=2?gt(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?gt(Array.from(e)):null;var t}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:i,...a}=o,l={name:r,data:a};E(()=>e(l),()=>{})()}function gt(e){const[t,n,o]=e;if(!u(t))return null;let r,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!c(o)||null===o)return null;r=`${t} ${n}`,i={...o};break;case"event":if(!u(n))return null;r=n,c(o)&&(i={...o});break;case"config":if(!u(n))return null;r=`${t} ${n}`,c(o)&&(i={...o});break;case"set":if(u(n))r=`${t} ${n}`,c(o)&&(i={...o});else{if(!c(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}lt({},{push:()=>yt});var mt=()=>{},pt=()=>()=>Promise.resolve({ok:!0}),ht={error:mt,info:mt,debug:mt,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>ht},yt={get push(){return pt()},get command(){return pt()},get elb(){return pt()},get window(){return{dataLayer:[],addEventListener:mt,removeEventListener:mt}},logger:ht};function bt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function vt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function wt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function kt(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function Ot(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Et(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function jt(){return["set",{currency:"EUR",country:"DE"}]}function St(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}lt({},{add_to_cart:()=>kt,config:()=>Et,consentDefault:()=>vt,consentUpdate:()=>bt,directDataLayerEvent:()=>St,purchase:()=>wt,setCustom:()=>jt,view_item:()=>Ot});lt({},{add_to_cart:()=>At,config:()=>qt,configGA4:()=>$t,consentOnlyMapping:()=>Ct,consentUpdate:()=>_t,customEvent:()=>Pt,purchase:()=>xt,view_item:()=>Lt});var _t={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},xt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},At={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Lt={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},$t={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Pt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},qt={consent:{update:_t},purchase:xt,add_to_cart:At,view_item:Lt,"config G-XXXXXXXXXX":$t,custom_event:Pt,"*":{data:{}}},Ct={consent:{update:_t}},Rt=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,i={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},s={settings:i};return r&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!ft){ft=!0;try{for(const t of r)dt(e,n,t)}finally{ft=!1}}}(o,s),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(ft)return i(...t);ft=!0;try{for(const o of t)dt(e,n,o)}finally{ft=!1}return i(...t)}}(o,s)),{type:"dataLayer",config:s,push:o,destroy:async()=>{const e=i.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}};function Dt(){window.dataLayer=window.dataLayer||[];const e=e=>{c(e)&&c(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}if(window&&document){const e=async()=>{let e;const t=document.querySelector("script[data-elbconfig]");if(t){const n=t.getAttribute("data-elbconfig")||"";n.includes(":")?e=P(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(e={}){const t=i({collector:{destinations:{dataLayer:{code:Dt()}}},browser:{},session:!0,dataLayer:!1,elb:"elb",run:!0},e),n={...t.collector,sources:{browser:{code:nt,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(!1!==t.session){const e=c(t.session)?t.session:{};n.sources&&(n.sources.session={code:ct,config:{settings:e}})}if(t.dataLayer){const e=c(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:Rt,config:{settings:e}})}const o=await Z(n);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o.elb),t.name&&(window[t.name]=o.collector)),o}(e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@walkeros/walker.js",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Ready-to-use walkerOS bundle with browser source, collector, and dataLayer support",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -38,12 +38,12 @@
38
38
  "preview": "npm run build && npx serve -l 3333 examples"
39
39
  },
40
40
  "dependencies": {
41
- "@walkeros/core": "1.2.1",
42
- "@walkeros/collector": "1.1.1",
43
- "@walkeros/web-core": "1.0.3",
44
- "@walkeros/web-source-browser": "1.1.1",
45
- "@walkeros/web-source-datalayer": "1.0.3",
46
- "@walkeros/web-source-session": "1.1.1"
41
+ "@walkeros/core": "1.2.2",
42
+ "@walkeros/collector": "1.1.3",
43
+ "@walkeros/web-core": "1.0.4",
44
+ "@walkeros/web-source-browser": "1.1.3",
45
+ "@walkeros/web-source-datalayer": "1.0.5",
46
+ "@walkeros/web-source-session": "1.1.2"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@swc/jest": "^0.2.39",