@ekko-earth/ekko-js
Version:
A framework-agnostic web SDK for displaying carbon impact.
1 lines • 61 kB
JavaScript
const e={log:"log",debug:"debug",info:"info",warn:"warn",error:"error"},t=console,n={};Object.keys(e).forEach((e=>{n[e]=t[e]}));const o="Datadog Browser SDK:",r={debug:n.debug.bind(t,o),log:n.log.bind(t,o),info:n.info.bind(t,o),warn:n.warn.bind(t,o),error:n.error.bind(t,o)},s="https://docs.datadoghq.com",i=`${s}/real_user_monitoring/browser/troubleshooting`,a="More details:";function c(e,t){return(...n)=>{try{return e(...n)}catch(e){r.error(t,e)}}}function u(e){return 0!==e&&100*Math.random()<=e}const l=1e3,d=6e4;function f(){return(new Date).getTime()}function p(){return f()}function g(){return performance.now()}function m(){return{relative:g(),timeStamp:p()}}let h;function y(){return void 0===h&&(h=performance.timing.navigationStart),h}const b=1024,v=/[^\u0000-\u007F]/;function w(e){return v.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length}function k(e,t){return Object.keys(e).some((n=>e[n]===t))}function S(e){return 0===Object.keys(e).length}function C(){if("object"==typeof globalThis)return globalThis;Object.defineProperty(Object.prototype,"_dd_temp_",{get(){return this},configurable:!0});let e=_dd_temp_;return delete Object.prototype._dd_temp_,"object"!=typeof e&&(e="object"==typeof self?self:"object"==typeof window?window:{}),e}function x(e,t){const n=C();let o;return n.Zone&&"function"==typeof n.Zone.__symbol__&&(o=e[n.Zone.__symbol__(t)]),o||(o=e[t]),o}let E,_=!1;function R(e){_=e}function T(e){return function(){return $(e,this,arguments)}}function $(e,t,n){try{return e.apply(t,n)}catch(e){I(e)}}function I(e){if(O(e),E)try{E(e)}catch(e){O(e)}}function O(...e){_&&r.error("[MONITOR]",...e)}function L(e,t){return x(C(),"setTimeout")(T(e),t)}function A(e){x(C(),"clearTimeout")(e)}function P(e,t){return x(C(),"setInterval")(T(e),t)}function D(e){x(C(),"clearInterval")(e)}class U{constructor(e){this.onFirstSubscribe=e,this.observers=[]}subscribe(e){return this.observers.push(e),1===this.observers.length&&this.onFirstSubscribe&&(this.onLastUnsubscribe=this.onFirstSubscribe(this)||void 0),{unsubscribe:()=>{this.observers=this.observers.filter((t=>e!==t)),!this.observers.length&&this.onLastUnsubscribe&&this.onLastUnsubscribe()}}}notify(e){this.observers.forEach((t=>t(e)))}}function M(...e){return new U((t=>{const n=e.map((e=>e.subscribe((e=>t.notify(e)))));return()=>n.forEach((e=>e.unsubscribe()))}))}function q(e,t,n){let o,r,s=!1;return{throttled:(...n)=>{s?o=n:(e(...n),s=!0,r=L((()=>{o&&e(...o),s=!1,o=void 0}),t))},cancel:()=>{A(r),s=!1,o=void 0}}}function j(){}function B(e){return e?(parseInt(e,10)^16*Math.random()>>parseInt(e,10)/4).toString(16):"10000000-1000-4000-8000-100000000000".replace(/[018]/g,B)}const N=/([\w-]+)\s*=\s*([^;]+)/g;function F(e,t,n=""){const o=e.charCodeAt(t-1),r=o>=55296&&o<=56319?t+1:t;return e.length<=r?e:`${e.slice(0,r)}${n}`}function H(){return 0===(null!=z?z:z=function(e=window){var t;const n=e.navigator.userAgent;return e.chrome||/HeadlessChrome/.test(n)?0:0===(null===(t=e.navigator.vendor)||void 0===t?void 0:t.indexOf("Apple"))||/safari/i.test(n)&&!/chrome|android/i.test(n)?1:2}())}let z,G,W;function J(e,t,n=0,o){const r=new Date;r.setTime(r.getTime()+n);const s=`expires=${r.toUTCString()}`,i=o&&o.crossSite?"none":"strict",a=o&&o.domain?`;domain=${o.domain}`:"",c=o&&o.secure?";secure":"",u=o&&o.partitioned?";partitioned":"";document.cookie=`${e}=${t};${s};path=/;samesite=${i}${a}${c}${u}`}function Y(e){return function(e,t){for(N.lastIndex=0;;){const n=N.exec(e);if(!n)break;if(n[1]===t)return n[2]}}(document.cookie,e)}function K(e){return G||(G=function(e){const t=new Map;for(N.lastIndex=0;;){const n=N.exec(e);if(!n)break;t.set(n[1],n[2])}return t}(document.cookie)),G.get(e)}function V(e,t){J(e,"",0,t)}const X="_dd_s";function Z(e){return Object.values(e)}const Q=144e5,ee=9e5,te=31536e6,ne="cookie",oe="local-storage",re=/^([a-zA-Z]+)=([a-z0-9-]+)$/;function se(e,t){const n={isExpired:"1"};return t.trackAnonymousUser&&((null==e?void 0:e.anonymousId)?n.anonymousId=null==e?void 0:e.anonymousId:n.anonymousId=B()),n}function ie(e){return S(e)}function ae(e){return!ie(e)}function ce(e){return void 0!==e.isExpired||!((void 0===(t=e).created||f()-Number(t.created)<Q)&&(void 0===t.expire||f()<Number(t.expire)));var t}function ue(e){e.expire=String(f()+ee)}function le(e){return(t=e,Object.entries(t)).map((([e,t])=>"anonymousId"===e?`aid=${t}`:`${e}=${t}`)).join("&");var t}function de(e){const t={};return function(e){return!!e&&(-1!==e.indexOf("&")||re.test(e))}(e)&&e.split("&").forEach((e=>{const n=re.exec(e);if(null!==n){const[,e,o]=n;"aid"===e?t.anonymousId=o:t[e]=o}})),t}function fe(e){const t=function(e){const t={};t.secure=!!e.useSecureSessionCookie||!!e.usePartitionedCrossSiteSessionCookie,t.crossSite=!!e.usePartitionedCrossSiteSessionCookie,t.partitioned=!!e.usePartitionedCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(t.domain=function(){if(void 0===W){const e=`dd_site_test_${B()}`,t="test",n=window.location.hostname.split(".");let o=n.pop();for(;n.length&&!Y(e);)o=`${n.pop()}.${o}`,J(e,t,l,{domain:o});V(e,{domain:o}),W=o}return W}());return t}(e);return function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{const t=`dd_cookie_test_${B()}`,n="test";J(t,n,d,e);const o=Y(t)===n;return V(t,e),o}catch(e){return r.error(e),!1}}(t)?{type:ne,cookieOptions:t}:void 0}function pe(e,t){const n={isLockEnabled:H(),persistSession:(o=t,e=>{J(X,le(e),ee,o)}),retrieveSession:ge,expireSession:n=>function(e,t,n){const o=se(t,n);J(X,le(o),n.trackAnonymousUser?te:Q,e)}(t,n,e)};var o;return function(e){if(!K(X)){const t=K("_dd"),n=K("_dd_r"),o=K("_dd_l"),r={};t&&(r.id=t),o&&/^[01]$/.test(o)&&(r.logs=o),n&&/^[012]$/.test(n)&&(r.rum=n),ae(r)&&(ue(r),e.persistSession(r))}}(n),n}function ge(){return de(Y(X))}function me(){try{const e=B(),t=`_dd_test_${e}`;localStorage.setItem(t,e);const n=localStorage.getItem(t);return localStorage.removeItem(t),e===n?{type:oe}:void 0}catch(e){return}}function he(e){return{isLockEnabled:!1,persistSession:ye,retrieveSession:be,expireSession:t=>function(e,t){ye(se(e,t))}(t,e)}}function ye(e){localStorage.setItem(X,le(e))}function be(){return de(localStorage.getItem(X))}const ve=[];let we;function ke(e,t,n=0){var o;const{isLockEnabled:r,persistSession:s,expireSession:i}=t,a=e=>s({...e,lock:u}),c=()=>{const e=t.retrieveSession(),n=e.lock;return e.lock&&delete e.lock,{session:e,lock:n}};if(we||(we=e),e!==we)return void ve.push(e);if(r&&n>=100)return void Ce(t);let u,l=c();if(r){if(l.lock)return void Se(e,t,n);if(u=B(),a(l.session),l=c(),l.lock!==u)return void Se(e,t,n)}let d=e.process(l.session);if(r&&(l=c(),l.lock!==u))Se(e,t,n);else{if(d&&(ce(d)?i(d):(ue(d),r?a(d):s(d))),r&&(!d||!ce(d))){if(l=c(),l.lock!==u)return void Se(e,t,n);s(l.session),d=l.session}null===(o=e.after)||void 0===o||o.call(e,d||l.session),Ce(t)}}function Se(e,t,n){L((()=>{ke(e,t,n+1)}),10)}function Ce(e){we=void 0;const t=ve.shift();t&&ke(t,e)}const xe=l;function Ee(e){switch(e.sessionPersistence){case ne:return fe(e);case oe:return me();case void 0:{let t=fe(e);return!t&&e.allowFallbackToLocalStorage&&(t=me()),t}default:r.error(`Invalid session persistence '${String(e.sessionPersistence)}'`)}}function _e(e,t,n,o){const r=new U,s=new U,i=new U,a=e.type===ne?pe(t,e.cookieOptions):he(t),{expireSession:c}=a,u=P((function(){ke({process:e=>ce(e)?se(e,t):void 0,after:g},a)}),xe);let l;m();const{throttled:d,cancel:p}=q((()=>{ke({process:e=>{if(ie(e))return;const t=g(e);return function(e){if(ie(e))return!1;const{trackingType:t,isTracked:r}=o(e[n]);e[n]=t,delete e.isExpired,r&&!e.id&&(e.id=B(),e.created=String(f()))}(t),t},after:e=>{ae(e)&&!h()&&function(e){l=e,r.notify()}(e),l=e}},a)}),xe);function g(e){return ce(e)&&(e=se(e,t)),h()&&(!function(e){return l.id!==e.id||l[n]!==e[n]}(e)?(i.notify({previousState:l,newState:e}),l=e):(l=se(l,t),s.notify())),e}function m(){ke({process:e=>{if(ie(e))return se(e,t)},after:e=>{l=e}},a)}function h(){return void 0!==l[n]}return{expandOrRenewSession:d,expandSession:function(){ke({process:e=>h()?g(e):void 0},a)},getSession:()=>l,renewObservable:r,expireObservable:s,sessionStateUpdateObservable:i,restartSession:m,expire:()=>{p(),c(l),g(se(l,t))},stop:()=>{D(u)},updateSessionState:function(e){ke({process:t=>({...t,...e}),after:g},a)}}}const Re={GRANTED:"granted",NOT_GRANTED:"not-granted"};function Te(e,t,n){if("object"!=typeof e||null===e)return JSON.stringify(e);const o=$e(Object.prototype),r=$e(Array.prototype),s=$e(Object.getPrototypeOf(e)),i=$e(e);try{return JSON.stringify(e,t,n)}catch(e){return"<error: unable to serialize object>"}finally{o(),r(),s(),i()}}function $e(e){const t=e,n=t.toJSON;return n?(delete t.toJSON,()=>{t.toJSON=n}):j}function Ie(e){return function(e,t){const n=function(){if(void 0===Le)try{const e=new Oe("http://test/path");Le="http://test/path"===e.href}catch(e){Le=!1}return Le?Oe:void 0}();if(n)try{return void 0!==t?new n(e,t):new n(e)}catch(n){throw new Error(`Failed to construct URL: ${String(n)} ${Te({url:e,base:t})}`)}if(void 0===t&&!/:/.test(e))throw new Error(`Invalid URL: '${e}'`);let o=document;const r=o.createElement("a");if(void 0!==t){o=document.implementation.createHTMLDocument("");const e=o.createElement("base");e.href=t,o.head.appendChild(e),o.body.appendChild(r)}return r.href=e,r}(e,location.href).href}const Oe=URL;let Le;const Ae="dd0g-gov.com",Pe="datadoghq.com",De="pci.browser-intake-datadoghq.com",Ue=["ddsource","ddtags"];function Me(e,t,n){const o=function(e,t){const n=`/api/v2/${t}`,o=e.proxy;if("string"==typeof o){const e=Ie(o);return t=>`${e}?ddforward=${encodeURIComponent(`${n}?${t}`)}`}if("function"==typeof o)return e=>o({path:n,parameters:e});const r=function(e,t){const{site:n=Pe,internalAnalyticsSubdomain:o}=t;if("logs"===e&&t.usePciIntake&&n===Pe)return De;if(o&&n===Pe)return`${o}.${Pe}`;if(n===Ae)return`http-intake.logs.${n}`;const r=n.split("."),s=r.pop();return`browser-intake-${r.join("-")}.${s}`}(t,e);return e=>`https://${r}${n}?${e}`}(e,t);return{build(r,s){const i=function({clientToken:e,internalAnalyticsSubdomain:t},n,o,r,{retry:s,encoding:i}){const a=["sdk_version:6.6.2",`api:${r}`].concat(o);s&&a.push(`retry_count:${s.count}`,`retry_after:${s.lastFailureStatus}`);const c=["ddsource=browser",`ddtags=${encodeURIComponent(a.join(","))}`,`dd-api-key=${e}`,`dd-evp-origin-version=${encodeURIComponent("6.6.2")}`,"dd-evp-origin=browser",`dd-request-id=${B()}`];i&&c.push(`dd-evp-encoding=${i}`);"rum"===n&&c.push(`batch_time=${p()}`);t&&c.reverse();return c.join("&")}(e,t,n,r,s);return o(i)},tags:n,urlPrefix:o(""),trackType:t}}function qe(e,t){const n=200-e.length-1;(t.length>n||function(e){if(!function(){try{return new RegExp("[\\p{Ll}]","u"),!0}catch(e){return!1}}())return!1;return new RegExp("[^\\p{Ll}\\p{Lo}0-9_:./-]","u").test(e)}(t))&&r.warn(`${e} value doesn't meet tag requirements and will be sanitized. ${a} ${s}/getting_started/tagging/#defining-tags`);return`${e}:${t.replace(/,/g,"_")}`}function je(e){const t=e.site||Pe,n=function(e){const{env:t,service:n,version:o,datacenter:r}=e,s=[];return t&&s.push(qe("env",t)),n&&s.push(qe("service",n)),o&&s.push(qe("version",o)),r&&s.push(qe("datacenter",r)),s}(e),o=function(e,t){return{logsEndpointBuilder:Me(e,"logs",t),rumEndpointBuilder:Me(e,"rum",t),profilingEndpointBuilder:Me(e,"profile",t),sessionReplayEndpointBuilder:Me(e,"replay",t)}}(e,n),r=function(e,t){if(!e.replica)return;const n={...e,site:Pe,clientToken:e.replica.clientToken},o={logsEndpointBuilder:Me(n,"logs",t),rumEndpointBuilder:Me(n,"rum",t)};return{applicationId:e.replica.applicationId,...o}}(e,n);return{replica:r,site:t,...o}}function Be(e,t){return null==e||"string"==typeof e||(r.error(`${t} must be defined as a string`),!1)}function Ne(e,t){return!!(void 0===e||(n=e,function(e){return"number"==typeof e}(n)&&n>=0&&n<=100))||(r.error(`${t} Sample Rate should be a number between 0 and 100`),!1);var n}function Fe(e){var t,n,o,i,u,l;if(e&&e.clientToken){if((!(d=e.site)||"string"!=typeof d||/(datadog|ddog|datad0g|dd0g)/.test(d)||(r.error(`Site should be a valid Datadog site. ${a} ${s}/getting_started/site/.`),0))&&Ne(e.sessionSampleRate,"Session")&&Ne(e.telemetrySampleRate,"Telemetry")&&Ne(e.telemetryConfigurationSampleRate,"Telemetry Configuration")&&Ne(e.telemetryUsageSampleRate,"Telemetry Usage")&&Be(e.version,"Version")&&Be(e.env,"Env")&&Be(e.service,"Service")){var d;if(void 0===e.trackingConsent||k(Re,e.trackingConsent))return{beforeSend:e.beforeSend&&c(e.beforeSend,"beforeSend threw an error:"),sessionStoreStrategyType:Ee(e),sessionSampleRate:null!==(t=e.sessionSampleRate)&&void 0!==t?t:100,telemetrySampleRate:null!==(n=e.telemetrySampleRate)&&void 0!==n?n:20,telemetryConfigurationSampleRate:null!==(o=e.telemetryConfigurationSampleRate)&&void 0!==o?o:5,telemetryUsageSampleRate:null!==(i=e.telemetryUsageSampleRate)&&void 0!==i?i:5,service:e.service||void 0,silentMultipleInit:!!e.silentMultipleInit,allowUntrustedEvents:!!e.allowUntrustedEvents,trackingConsent:null!==(u=e.trackingConsent)&&void 0!==u?u:Re.GRANTED,trackAnonymousUser:null===(l=e.trackAnonymousUser)||void 0===l||l,storeContextsAcrossPages:!!e.storeContextsAcrossPages,batchBytesLimit:16384,eventRateLimiterThreshold:3e3,maxTelemetryEventsPerPage:15,flushTimeout:3e4,batchMessagesLimit:50,messageBytesLimit:262144,...je(e)};r.error('Tracking Consent should be either "granted" or "not-granted"')}}else r.error("Client Token is not configured, we will not send any data.")}var He;!function(e){e.WRITABLE_RESOURCE_GRAPHQL="writable_resource_graphql",e.MISSING_URL_CONTEXT_TELEMETRY="missing_url_context_telemetry",e.USER_ACCOUNT_TRACE_HEADER="user_account_trace_header",e.PROFILING="profiling"}(He||(He={}));const ze=new Set;function Ge(e){Array.isArray(e)&&e.filter((e=>k(He,e))).forEach((e=>{ze.add(e)}))}function We(){return ze}const Je="?";function Ye(e){const t=[];let n=ot(e,"stack");const o=String(e);return n&&n.startsWith(o)&&(n=n.slice(o.length)),n&&n.split("\n").forEach((e=>{const n=function(e){const t=Xe.exec(e);if(!t)return;const n=t[2]&&0===t[2].indexOf("native"),o=t[2]&&0===t[2].indexOf("eval"),r=Ze.exec(t[2]);o&&r&&(t[2]=r[1],t[3]=r[2],t[4]=r[3]);return{args:n?[t[2]]:[],column:t[4]?+t[4]:void 0,func:t[1]||Je,line:t[3]?+t[3]:void 0,url:n?void 0:t[2]}}(e)||function(e){const t=Qe.exec(e);if(!t)return;return{args:[],column:t[3]?+t[3]:void 0,func:Je,line:t[2]?+t[2]:void 0,url:t[1]}}(e)||function(e){const t=et.exec(e);if(!t)return;return{args:[],column:t[4]?+t[4]:void 0,func:t[1]||Je,line:+t[3],url:t[2]}}(e)||function(e){const t=tt.exec(e);if(!t)return;const n=t[3]&&t[3].indexOf(" > eval")>-1,o=nt.exec(t[3]);n&&o&&(t[3]=o[1],t[4]=o[2],t[5]=void 0);return{args:t[2]?t[2].split(","):[],column:t[5]?+t[5]:void 0,func:t[1]||Je,line:t[4]?+t[4]:void 0,url:t[3]}}(e);n&&(!n.func&&n.line&&(n.func=Je),t.push(n))})),{message:ot(e,"message"),name:ot(e,"name"),stack:t}}const Ke="((?:file|https?|blob|chrome-extension|electron|native|eval|webpack|snippet|<anonymous>|\\w+\\.|\\/).*?)",Ve="(?::(\\d+))",Xe=new RegExp(`^\\s*at (.*?) ?\\(${Ke}${Ve}?${Ve}?\\)?\\s*$`,"i"),Ze=new RegExp(`\\((\\S*)${Ve}${Ve}\\)`);const Qe=new RegExp(`^\\s*at ?${Ke}${Ve}?${Ve}??\\s*$`,"i");const et=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;const tt=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,nt=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function ot(e,t){if("object"!=typeof e||!e||!(t in e))return;const n=e[t];return"string"==typeof n?n:void 0}function rt(e,t,n,o){const r=[{url:t,column:o,line:n}],{name:s,message:i}=function(e){let t,n;"[object String]"==={}.toString.call(e)&&([,t,n]=st.exec(e));return{name:t,message:n}}(e);return{name:s,message:i,stack:r}}const st=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\s\S]*)$/;function it(e){const t=new Error(e);let n;return t.name="HandlingStack",$((()=>{const e=Ye(t);e.stack=e.stack.slice(2),n=at(e)})),n}function at(e){let t=ct(e);return e.stack.forEach((e=>{const n="?"===e.func?"<anonymous>":e.func,o=e.args&&e.args.length>0?`(${e.args.join(", ")})`:"",r=e.line?`:${e.line}`:"",s=e.line&&e.column?`:${e.column}`:"";t+=`\n at ${n}${o} @ ${e.url}${r}${s}`})),t}function ct(e){return`${e.name||"Error"}: ${e.message}`}function ut(e,t,n,{computeHandlingStack:o}={}){let r=e[t];if("function"!=typeof r){if(!(t in e)||!t.startsWith("on"))return{stop:j};r=j}let s=!1;const i=function(){if(s)return r.apply(this,arguments);const e=Array.from(arguments);let t;$(n,null,[{target:this,parameters:e,onPostCall:e=>{t=e},handlingStack:o?it("instrumented method"):void 0}]);const i=r.apply(this,e);return t&&$(t,null,[i]),i};return e[t]=i,{stop:()=>{s=!0,e[t]===i&&(e[t]=r)}}}function lt(e,t=225280){const n=$e(Object.prototype),o=$e(Array.prototype),r=[],s=new WeakMap,i=dt(e,"$",void 0,r,s),a=JSON.stringify(i);let c=a?a.length:0;if(!(c>t)){for(;r.length>0&&c<t;){const n=r.shift();let o=0;if(Array.isArray(n.source))for(let i=0;i<n.source.length;i++){const a=dt(n.source[i],n.path,i,r,s);if(c+=void 0!==a?JSON.stringify(a).length:4,c+=o,o=1,c>t){pt(t,"truncated",e);break}n.target[i]=a}else for(const i in n.source)if(Object.prototype.hasOwnProperty.call(n.source,i)){const a=dt(n.source[i],n.path,i,r,s);if(void 0!==a&&(c+=JSON.stringify(a).length+o+i.length+3,o=1),c>t){pt(t,"truncated",e);break}n.target[i]=a}}return n(),o(),i}pt(t,"discarded",e)}function dt(e,t,n,o,r){const s=function(e){const t=e;if(t&&"function"==typeof t.toJSON)try{return t.toJSON()}catch(e){}return e}(e);if(!s||"object"!=typeof s)return function(e){if("bigint"==typeof e)return`[BigInt] ${e.toString()}`;if("function"==typeof e)return`[Function] ${e.name||"unknown"}`;if("symbol"==typeof e)return`[Symbol] ${e.description||e.toString()}`;return e}(s);const i=ft(s);if("[Object]"!==i&&"[Array]"!==i&&"[Error]"!==i)return i;const a=e;if(r.has(a))return`[Reference seen at ${r.get(a)}]`;const c=void 0!==n?`${t}.${n}`:t,u=Array.isArray(s)?[]:{};return r.set(a,c),o.push({source:s,target:u,path:c}),u}function ft(e){try{if(e instanceof Event)return{type:(t=e).type,isTrusted:t.isTrusted,currentTarget:t.currentTarget?ft(t.currentTarget):null,target:t.target?ft(t.target):null};if(e instanceof RegExp)return`[RegExp] ${e.toString()}`;const n=Object.prototype.toString.call(e).match(/\[object (.*)\]/);if(n&&n[1])return`[${n[1]}]`}catch(e){}var t;return"[Unserializable]"}function pt(e,t,n){r.warn(`The data provided has been ${t} as it is over the limit of ${e} characters:`,n)}const gt="No stack, consider using an instance of Error";function mt({stackTrace:e,originalError:t,handlingStack:n,componentStack:o,startClocks:r,nonErrorPrefix:s,source:i,handling:a}){const c=bt(t),u=function(e,t,n,o){return(null==e?void 0:e.message)&&(null==e?void 0:e.name)?e.message:t?"Empty message":`${n} ${Te(lt(o))}`}(e,c,s,t),l=function(e,t){if(void 0===t)return!1;if(e)return!0;return t.stack.length>0&&(t.stack.length>1||void 0!==t.stack[0].url)}(c,e)?at(e):gt,d=c?vt(t,i):void 0;return{startClocks:r,source:i,handling:a,handlingStack:n,componentStack:o,originalError:t,type:e?e.name:void 0,message:u,stack:l,causes:d,fingerprint:ht(t),context:yt(t)}}function ht(e){return bt(e)&&"dd_fingerprint"in e?String(e.dd_fingerprint):void 0}function yt(e){if(null!==e&&"object"==typeof e&&"dd_context"in e)return e.dd_context}function bt(e){return e instanceof Error||"[object Error]"===Object.prototype.toString.call(e)}function vt(e,t){let n=e;const o=[];for(;bt(null==n?void 0:n.cause)&&o.length<10;){const e=Ye(n.cause);o.push({message:n.cause.message,source:t,type:null==e?void 0:e.name,stack:e&&at(e)}),n=n.cause}return o.length?o:void 0}const wt="agent",kt="console",St="logger",Ct="network",xt="source",Et="report";function _t(e){const t=(t,n)=>{const o=mt({stackTrace:t,originalError:n,startClocks:m(),nonErrorPrefix:"Uncaught",source:xt,handling:"unhandled"});e.notify(o)},{stop:n}=(o=t,ut(window,"onerror",(({parameters:[e,t,n,r,s]})=>{let i;i=bt(s)?Ye(s):rt(e,t,n,r),o(i,null!=s?s:e)})));var o;const{stop:r}=function(e){return ut(window,"onunhandledrejection",(({parameters:[t]})=>{const n=t.reason||"Empty reason",o=Ye(n);e(o,n)}))}(t);return{stop:()=>{n(),r()}}}function Rt(e,t){t.silentMultipleInit||r.error(`${e} is already initialized.`)}function Tt(e,t,n,o,r){return $t(e,t,[n],o,r)}function $t(e,t,n,o,{once:r,capture:s,passive:i}={}){const a=T((t=>{(t.isTrusted||t.__ddIsTrusted||e.allowUntrustedEvents)&&(r&&d(),o(t))})),c=i?{capture:s,passive:i}:s,u=window.EventTarget&&t instanceof EventTarget?window.EventTarget.prototype:t,l=x(u,"addEventListener");function d(){const e=x(u,"removeEventListener");n.forEach((n=>e.call(t,n,a,c)))}return n.forEach((e=>l.call(t,e,a,c))),{stop:d}}const It={intervention:"intervention",deprecation:"deprecation",cspViolation:"csp_violation"};function Ot(e,t){const n=[];t.includes(It.cspViolation)&&n.push(function(e){return new U((t=>{const{stop:n}=Tt(e,document,"securitypolicyviolation",(e=>{t.notify(function(e){const t=`'${e.blockedURI}' blocked by '${e.effectiveDirective}' directive`;return Lt({type:e.effectiveDirective,message:`${It.cspViolation}: ${t}`,originalError:e,csp:{disposition:e.disposition},stack:At(e.effectiveDirective,e.originalPolicy?`${t} of the policy "${F(e.originalPolicy,100,"...")}"`:"no policy",e.sourceFile,e.lineNumber,e.columnNumber)})}(e))}));return n}))}(e));const o=t.filter((e=>e!==It.cspViolation));return o.length&&n.push(function(e){return new U((t=>{if(!window.ReportingObserver)return;const n=T(((e,n)=>e.forEach((e=>t.notify(function(e){const{type:t,body:n}=e;return Lt({type:n.id,message:`${t}: ${n.message}`,originalError:e,stack:At(n.id,n.message,n.sourceFile,n.lineNumber,n.columnNumber)})}(e)))))),o=new window.ReportingObserver(n,{types:e,buffered:!0});return o.observe(),()=>{o.disconnect()}}))}(o)),M(...n)}function Lt(e){return{startClocks:m(),source:Et,handling:"unhandled",...e}}function At(e,t,n,o,r){return n?at({name:e,message:t,stack:[{func:"?",url:n,line:null!=o?o:void 0,column:null!=r?r:void 0}]}):void 0}function Pt(e,t){const n=window.__ddBrowserSdkExtensionCallback;n&&n({type:e,payload:t})}function Dt(e){return null===e?"null":Array.isArray(e)?"array":typeof e}function Ut(e,t,n=function(){if("undefined"!=typeof WeakSet){const e=new WeakSet;return{hasAlreadyBeenSeen(t){const n=e.has(t);return n||e.add(t),n}}}const e=[];return{hasAlreadyBeenSeen(t){const n=e.indexOf(t)>=0;return n||e.push(t),n}}}()){if(void 0===t)return e;if("object"!=typeof t||null===t)return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const e=t.flags||[t.global?"g":"",t.ignoreCase?"i":"",t.multiline?"m":"",t.sticky?"y":"",t.unicode?"u":""].join("");return new RegExp(t.source,e)}if(n.hasAlreadyBeenSeen(t))return;if(Array.isArray(t)){const o=Array.isArray(e)?e:[];for(let e=0;e<t.length;++e)o[e]=Ut(o[e],t[e],n);return o}const o="object"===Dt(e)?e:{};for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(o[e]=Ut(o[e],t[e],n));return o}function Mt(e){return Ut(void 0,e)}function qt(...e){let t;for(const n of e)null!=n&&(t=Ut(t,n));return t}function jt(){var e;const t=window.navigator;return{status:t.onLine?"connected":"not_connected",interfaces:t.connection&&t.connection.type?[t.connection.type]:void 0,effective_type:null===(e=t.connection)||void 0===e?void 0:e.effectiveType}}function Bt(e,t){const n=e.indexOf(t);n>=0&&e.splice(n,1)}function Nt(){const e=[];return{add:t=>{e.push(t)>500&&e.splice(0,1)},remove:t=>{Bt(e,t)},drain:t=>{e.forEach((e=>e(t))),e.length=0}}}const Ft="log",Ht="configuration",zt="usage",Gt=["https://www.datadoghq-browser-agent.com","https://www.datad0g-browser-agent.com","https://d3uc069fcn7uxw.cloudfront.net","https://d20xtzwzcl0ceb.cloudfront.net","http://localhost","<anonymous>"],Wt=["ddog-gov.com"];let Jt=Nt(),Yt=e=>{Jt.add((()=>Yt(e)))};function Kt(e,t){let n;const o=new U,r=new Set,s=!Wt.includes(t.site)&&u(t.telemetrySampleRate),i={[Ft]:s,[Ht]:s&&u(t.telemetryConfigurationSampleRate),[zt]:s&&u(t.telemetryUsageSampleRate)},a={is_local_file:"file:"===window.location.protocol,is_worker:"WorkerGlobalScope"in self};return Yt=s=>{const c=Te(s);if(i[s.type]&&r.size<t.maxTelemetryEventsPerPage&&!r.has(c)){const t=function(e,t,o){return qt({type:"telemetry",date:p(),service:e,version:"6.6.2",source:"browser",_dd:{format_version:2},telemetry:qt(t,{runtime_env:o,connectivity:jt(),sdk_setup:"npm"}),experimental_features:Array.from(We())},void 0!==n?n():{})}(e,s,a);o.notify(t),Pt("telemetry",t),r.add(c)}},E=Xt,{setContextProvider:e=>{n=e},observable:o,enabled:s}}function Vt(t,n){O(e.debug,t,n),Yt({type:Ft,message:t,status:"debug",...n})}function Xt(e,t){Yt({type:Ft,status:"error",...Zt(e),...t})}function Zt(e){if(bt(e)){const t=Ye(e);return{error:{kind:t.name,stack:at(Qt(t))},message:t.message}}return{error:{stack:gt},message:`Uncaught ${Te(e)}`}}function Qt(e){return e.stack=e.stack.filter((e=>!e.url||Gt.some((t=>e.url.startsWith(t))))),e}const en=1/0;let tn=null;const nn=new Set;function on({expireDelay:e,maxEntries:t}){let n=[];const o=[];tn||(tn=P((()=>{nn.forEach((e=>e()))}),6e4));const r=()=>{const t=g()-e;for(;n.length>0&&n[n.length-1].endTime<t;){const e=n.pop();e&&o.push(e.startTime)}};return nn.add(r),{add:function(e,o){const r={value:e,startTime:o,endTime:en,remove:()=>{Bt(n,r)},close:e=>{r.endTime=e}};return t&&n.length>=t&&n.pop(),n.unshift(r),r},find:function(e=Infinity,t={returnInactive:!1}){for(const o of n)if(o.startTime<=e){if(t.returnInactive||e<=o.endTime)return o.value;break}},closeActive:function(e){const t=n[0];t&&t.endTime===en&&t.close(e)},findAll:function(e=Infinity,t=0){const o=e+t;return n.filter((t=>t.startTime<=o&&e<=t.endTime)).map((e=>e.value))},reset:function(){n=[]},stop:function(){nn.delete(r),0===nn.size&&tn&&(D(tn),tn=null)},getAllEntries:function(){return n.map((({startTime:e,endTime:t,value:n})=>({startTime:e,endTime:t===en?"Infinity":t,value:n})))},getDeletedEntries:function(){return o}}}const rn=d,sn=Q;function an(e,t,n,o){const r=new U,s=new U,i=_e(e.sessionStoreStrategyType,e,t,n),a=on({expireDelay:sn});function c(){return{id:i.getSession().id,trackingType:i.getSession()[t],isReplayForced:!!i.getSession().forcedReplay,anonymousId:i.getSession().anonymousId}}return i.renewObservable.subscribe((()=>{a.add(c(),g()),r.notify()})),i.expireObservable.subscribe((()=>{s.notify(),a.closeActive(g())})),i.expandOrRenewSession(),a.add(c(),[0,y()][0]),o.observable.subscribe((()=>{o.isGranted()?i.expandOrRenewSession():i.expire()})),function(e,t){const{stop:n}=$t(e,window,["click","touchstart","keydown","scroll"],t,{capture:!0,passive:!0})}(e,(()=>{o.isGranted()&&i.expandOrRenewSession()})),function(e,t){const n=()=>{"visible"===document.visibilityState&&t()},{stop:o}=Tt(e,document,"visibilitychange",n);P(n,rn)}(e,(()=>i.expandSession())),function(e,t){const{stop:n}=Tt(e,window,"resume",t,{capture:!0})}(e,(()=>i.restartSession())),{findSession:(e,t)=>a.find(e,t),renewObservable:r,expireObservable:s,sessionStateUpdateObservable:i.sessionStateUpdateObservable,expire:i.expire,updateSessionState:i.updateSessionState}}function cn(e){return e>=500}const un=3145728,ln=l;function dn(e,t,n,o,r){0===t.transportStatus&&0===t.queuedPayloads.size()&&t.bandwidthMonitor.canHandle(e)?pn(e,t,n,{onSuccess:()=>gn(0,t,n,o,r),onFailure:()=>{t.queuedPayloads.enqueue(e),fn(t,n,o,r)}}):t.queuedPayloads.enqueue(e)}function fn(e,t,n,o){2===e.transportStatus&&L((()=>{pn(e.queuedPayloads.first(),e,t,{onSuccess:()=>{e.queuedPayloads.dequeue(),e.currentBackoffTime=ln,gn(1,e,t,n,o)},onFailure:()=>{e.currentBackoffTime=Math.min(6e4,2*e.currentBackoffTime),fn(e,t,n,o)}})}),e.currentBackoffTime)}function pn(e,t,n,{onSuccess:o,onFailure:r}){t.bandwidthMonitor.add(e),n(e,(n=>{t.bandwidthMonitor.remove(e),!function(e){return"opaque"!==e.type&&(0===e.status&&!navigator.onLine||408===e.status||429===e.status||cn(e.status))}(n)?(t.transportStatus=0,o()):(t.transportStatus=t.bandwidthMonitor.ongoingRequestCount>0?1:2,e.retry={count:e.retry?e.retry.count+1:1,lastFailureStatus:n.status},r())}))}function gn(e,t,n,o,r){0===e&&t.queuedPayloads.isFull()&&!t.queueFullReported&&(r({message:`Reached max ${o} events size queued for upload: 3MiB`,source:wt,startClocks:m()}),t.queueFullReported=!0);const s=t.queuedPayloads;for(t.queuedPayloads=mn();s.size()>0;)dn(s.dequeue(),t,n,o,r)}function mn(){const e=[];return{bytesCount:0,enqueue(t){this.isFull()||(e.push(t),this.bytesCount+=t.bytesCount)},first:()=>e[0],dequeue(){const t=e.shift();return t&&(this.bytesCount-=t.bytesCount),t},size:()=>e.length,isFull(){return this.bytesCount>=un}}}function hn(e,t,n){const o={transportStatus:0,currentBackoffTime:ln,bandwidthMonitor:{ongoingRequestCount:0,ongoingByteCount:0,canHandle(e){return 0===this.ongoingRequestCount||this.ongoingByteCount+e.bytesCount<=81920&&this.ongoingRequestCount<32},add(e){this.ongoingRequestCount+=1,this.ongoingByteCount+=e.bytesCount},remove(e){this.ongoingRequestCount-=1,this.ongoingByteCount-=e.bytesCount}},queuedPayloads:mn(),queueFullReported:!1},r=(n,o)=>function(e,t,n,o){const r=function(){try{return window.Request&&"keepalive"in new Request("http://a")}catch(e){return!1}}()&&n.bytesCount<t;if(r){const t=e.build("fetch-keepalive",n);fetch(t,{method:"POST",body:n.data,keepalive:!0,mode:"cors"}).then(T((e=>null==o?void 0:o({status:e.status,type:e.type})))).catch(T((()=>bn(e,n,o))))}else bn(e,n,o)}(e,t,n,o);return{send:t=>{dn(t,o,r,e.trackType,n)},sendOnExit:n=>{!function(e,t,n){const o=!!navigator.sendBeacon&&n.bytesCount<t;if(o)try{const t=e.build("beacon",n);if(navigator.sendBeacon(t,n.data))return}catch(e){!function(e){yn||(yn=!0,I(e))}(e)}bn(e,n)}(e,t,n)}}}let yn=!1;function bn(e,t,n){const o=e.build("fetch",t);fetch(o,{method:"POST",body:t.data,mode:"cors"}).then(T((e=>null==n?void 0:n({status:e.status,type:e.type})))).catch(T((()=>null==n?void 0:n({status:0}))))}function vn(){const e=C().DatadogEventBridge;if(e)return{getCapabilities(){var t;return JSON.parse((null===(t=e.getCapabilities)||void 0===t?void 0:t.call(e))||"[]")},getPrivacyLevel(){var t;return null===(t=e.getPrivacyLevel)||void 0===t?void 0:t.call(e)},getAllowedWebViewHosts:()=>JSON.parse(e.getAllowedWebViewHosts()),send(t,n,o){const r=o?{id:o}:void 0;e.send(JSON.stringify({eventType:t,event:n,view:r}))}}}function wn(e){var t;void 0===e&&(e=null===(t=C().location)||void 0===t?void 0:t.hostname);const n=vn();return!!n&&n.getAllowedWebViewHosts().some((t=>e===t||e.endsWith(`.${t}`)))}const kn={HIDDEN:"visibility_hidden",UNLOADING:"before_unload",PAGEHIDE:"page_hide",FROZEN:"page_frozen"};function Sn({encoder:e,request:t,flushController:n,messageBytesLimit:o}){let s={};const c=n.flushObservable.subscribe((n=>function(n){const o=Z(s).join("\n");s={};const r=(a=n.reason,Z(kn).includes(a)),i=r?t.sendOnExit:t.send;var a;if(r&&e.isAsync){const t=e.finishSync();t.outputBytesCount&&i(Cn(t));const n=[t.pendingData,o].filter(Boolean).join("\n");n&&i({data:n,bytesCount:w(n)})}else o&&e.write(e.isEmpty?o:`\n${o}`),e.finish((e=>{i(Cn(e))}))}(n)));function u(t,c){const u=Te(t),l=e.estimateEncodedBytesCount(u);l>=o?r.warn(`Discarded a message whose size was bigger than the maximum allowed size ${o}KB. ${a} ${i}/#technical-limitations`):(function(e){return void 0!==e&&void 0!==s[e]}(c)&&function(t){const o=s[t];delete s[t];const r=e.estimateEncodedBytesCount(o);n.notifyAfterRemoveMessage(r)}(c),function(t,o,r){n.notifyBeforeAddMessage(o),void 0!==r?(s[r]=t,n.notifyAfterAddMessage()):e.write(e.isEmpty?t:`\n${t}`,(e=>{n.notifyAfterAddMessage(e-o)}))}(u,l,c))}return{flushController:n,add:u,upsert:u,stop:c.unsubscribe}}function Cn(e){let t;return t="string"==typeof e.output?e.output:new Blob([e.output],{type:"text/plain"}),{data:t,bytesCount:e.outputBytesCount,encoding:e.encoding}}function xn({messagesLimit:e,bytesLimit:t,durationLimit:n,pageMayExitObservable:o,sessionExpireObservable:r}){const s=o.subscribe((e=>d(e.reason))),i=r.subscribe((()=>d("session_expire"))),a=new U((()=>()=>{s.unsubscribe(),i.unsubscribe()}));let c,u=0,l=0;function d(e){if(0===l)return;const t=l,n=u;l=0,u=0,f(),a.notify({reason:e,messagesCount:t,bytesCount:n})}function f(){A(c),c=void 0}return{flushObservable:a,get messagesCount(){return l},notifyBeforeAddMessage(e){u+e>=t&&d("bytes_limit"),l+=1,u+=e,void 0===c&&(c=L((()=>{d("duration_limit")}),n))},notifyAfterAddMessage(n=0){u+=n,l>=e?d("messages_limit"):u>=t&&d("bytes_limit")},notifyAfterRemoveMessage(e){u-=e,l-=1,0===l&&f()}}}function En(e,t,n,o,r,s,i=Sn){const a=u(e,t),c=n&&u(e,n);function u(e,{endpoint:t,encoder:n}){return i({encoder:n,request:hn(t,e.batchBytesLimit,o),flushController:xn({messagesLimit:e.batchMessagesLimit,bytesLimit:e.batchBytesLimit,durationLimit:e.flushTimeout,pageMayExitObservable:r,sessionExpireObservable:s}),messageBytesLimit:e.messageBytesLimit})}return{flushObservable:a.flushController.flushObservable,add(e,t=!0){a.add(e),c&&t&&c.add(n.transformMessage?n.transformMessage(e):e)},upsert:(e,t)=>{a.upsert(e,t),c&&c.upsert(n.transformMessage?n.transformMessage(e):e,t)},stop:()=>{a.stop(),c&&c.stop()}}}function _n(){let e="",t=0;return{isAsync:!1,get isEmpty(){return!e},write(n,o){const r=w(n);t+=r,e+=n,o&&o(r)},finish(e){e(this.finishSync())},finishSync(){const n={output:e,outputBytesCount:t,rawBytesCount:t,pendingData:""};return e="",t=0,n},estimateEncodedBytesCount:e=>e.length}}let Rn;const Tn=new WeakMap;function $n(e){return Rn||(Rn=function(e){return new U((t=>{const{stop:n}=ut(XMLHttpRequest.prototype,"open",In),{stop:o}=ut(XMLHttpRequest.prototype,"send",(n=>{!function({target:e,handlingStack:t},n,o){const r=Tn.get(e);if(!r)return;const s=r;s.state="start",s.startClocks=m(),s.isAborted=!1,s.xhr=e,s.handlingStack=t;let i=!1;const{stop:a}=ut(e,"onreadystatechange",(()=>{e.readyState===XMLHttpRequest.DONE&&c()})),c=()=>{if(u(),a(),i)return;i=!0;const t=r;var n,c;t.state="complete",t.duration=(n=s.startClocks.timeStamp,p()-n),t.status=e.status,o.notify((c=t,{...c}))},{stop:u}=Tt(n,e,"loadend",c);o.notify(s)}(n,e,t)}),{computeHandlingStack:!0}),{stop:r}=ut(XMLHttpRequest.prototype,"abort",On);return()=>{n(),o(),r()}}))}(e)),Rn}function In({target:e,parameters:[t,n]}){Tn.set(e,{state:"open",method:String(t).toUpperCase(),url:Ie(String(n))})}function On({target:e}){const t=Tn.get(e);t&&(t.isAborted=!0)}let Ln;function An(){return Ln||(Ln=new U((e=>{if(!window.fetch)return;const{stop:t}=ut(window,"fetch",(t=>function({parameters:e,onPostCall:t,handlingStack:n},o){const[r,s]=e;let i=s&&s.method;void 0===i&&r instanceof Request&&(i=r.method);const a=void 0!==i?String(i).toUpperCase():"GET",c=r instanceof Request?r.url:Ie(String(r)),u=m(),l={state:"start",init:s,input:r,method:a,startClocks:u,url:c,handlingStack:n};o.notify(l),e[0]=l.input,e[1]=l.init,t((e=>function(e,t,n){const o=n;function r(t){o.state="resolve",Object.assign(o,t),e.notify(o)}t.then(T((e=>{r({response:e,responseType:e.type,status:e.status,isAborted:!1})})),T((e=>{var t,n;r({status:0,isAborted:(null===(n=null===(t=o.init)||void 0===t?void 0:t.signal)||void 0===n?void 0:n.aborted)||e instanceof DOMException&&e.code===DOMException.ABORT_ERR,error:e})})))}(o,e,l)))}(t,e)),{computeHandlingStack:!0});return t}))),Ln}let Pn={};function Dn(n){return M(...n.map((n=>(Pn[n]||(Pn[n]=function(n){return new U((o=>{const r=t[n];return t[n]=(...t)=>{r.apply(console,t);const s=it("console error");$((()=>{o.notify(function(t,n,o){const r=t.map((e=>function(e){if("string"==typeof e)return lt(e);if(bt(e))return ct(Ye(e));return Te(lt(e),void 0,2)}(e))).join(" ");let s;if(n===e.error){const e=t.find(bt);s={stack:e?at(Ye(e)):void 0,fingerprint:ht(e),causes:e?vt(e,"console"):void 0,startClocks:m(),message:r,source:kt,handling:"handled",handlingStack:o,context:yt(e)}}return{api:n,message:r,error:s,handlingStack:o}}(t,n,s))}))},()=>{t[n]=r}}))}(n)),Pn[n]))))}function Un(e,t,n){const o={...e};for(const[s,{required:i,type:a}]of Object.entries(t))"string"===a&&s in o&&(o[s]=String(o[s])),i&&!(s in e)&&r.warn(`The property ${s} of ${n} is required; context will not be sent to the intake.`);return o}function Mn(e="",{customerDataTracker:t,propertiesConfig:n={}}={}){let o={};const s=new U,i={getContext:()=>Mt(o),setContext:a=>{!function(e){const t="object"===Dt(e);return t||r.error("Unsupported context:",e),t}(a)?i.clearContext():(o=lt(Un(a,n,e)),null==t||t.updateCustomerData(o)),s.notify()},setContextProperty:(r,i)=>{o=lt(Un({...o,[r]:i},n,e)),null==t||t.updateCustomerData(o),s.notify()},removeContextProperty:r=>{delete o[r],null==t||t.updateCustomerData(o),Un(o,n,e),s.notify()},clearContext:()=>{o={},null==t||t.resetCustomerData(),s.notify()},changeObservable:s};return i}const qn="_dd_c",jn=[];function Bn(e,t,n,o){const r=function(e,t){return`${qn}_${e}_${t}`}(n,o);jn.push(Tt(e,window,"storage",(({key:e})=>{r===e&&t.setContext(i())}))),t.changeObservable.subscribe((function(){localStorage.setItem(r,JSON.stringify(t.getContext()))}));const s=qt(i(),t.getContext());function i(){const e=localStorage.getItem(r);return e?JSON.parse(e):{}}S(s)||t.setContext(s)}function Nn(e=2){const t=new Map;let n=!1;function o(o=0){if(n||0===e)return;const s=2===e?3072:16384;let c=o;t.forEach((e=>{c+=e.getBytesCount()})),c>s&&(!function(e){r.warn(`Customer data exceeds the recommended ${e/b}KiB threshold. ${a} ${i}/#customer-data-exceeds-the-recommended-threshold-warning`)}(s),n=!0)}return{createDetachedTracker:()=>{const e=Fn((()=>o(e.getBytesCount())));return e},getOrCreateTracker:e=>(t.has(e)||t.set(e,Fn(o)),t.get(e)),setCompressionStatus:t=>{0===e&&(e=t,o())},getCompressionStatus:()=>e,stop:()=>{t.forEach((e=>e.stop())),t.clear()}}}function Fn(e){let t=0;const{throttled:n,cancel:o}=q((n=>{t=w(Te(n)),e()}),200),r=()=>{o(),t=0};return{updateCustomerData:e=>{S(e)?r():n(e)},resetCustomerData:r,getBytesCount:()=>t,stop:()=>{o()}}}function Hn(){return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM||K("datadog-synthetics-injects-rum"))}function zn(){const e=window._DATADOG_SYNTHETICS_PUBLIC_ID||K("datadog-synthetics-public-id");return"string"==typeof e?e:void 0}function Gn(){const e=window._DATADOG_SYNTHETICS_RESULT_ID||K("datadog-synthetics-result-id");return"string"==typeof e?e:void 0}function Wn(e,t,n){const o=n.getHandler(),r=Array.isArray(o)?o:[o];return Yn[e]>=Yn[n.getLevel()]&&r.includes(t)}const Jn={ok:"ok",debug:"debug",info:"info",notice:"notice",warn:"warn",error:"error",critical:"critical",alert:"alert",emerg:"emerg"},Yn={[Jn.ok]:0,[Jn.debug]:1,[Jn.info]:2,[Jn.notice]:4,[Jn.warn]:5,[Jn.error]:6,[Jn.critical]:7,[Jn.alert]:8,[Jn.emerg]:9};function Kn(e,{includeMessage:t=!1}={}){return{stack:e.stack,kind:e.type,message:t?e.message:void 0,causes:e.causes,fingerprint:e.fingerprint,handling:e.handling}}var Vn=window&&window.__decorate||function(e,t,n,o){var r,s=arguments.length,i=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(i=(s<3?r(i):s>3?r(t,n,i):r(t,n))||i);return s>3&&i&&Object.defineProperty(t,n,i),i};const Xn="console",Zn="http",Qn=Object.keys(Jn);class eo{constructor(e,t,n,o=Zn,r=Jn.debug,s={}){this.handleLogStrategy=e,this.handlerType=o,this.level=r,this.contextManager=Mn("logger",{customerDataTracker:t}),this.contextManager.setContext(s),n&&this.contextManager.setContextProperty("logger",{name:n})}logImplementation(e,t,n=Jn.info,o,r){const s=lt(t);let i;if(null!=o){i=qt({error:Kn(mt({stackTrace:bt(o)?Ye(o):void 0,originalError:o,nonErrorPrefix:"Provided",source:St,handling:"handled",startClocks:m()}),{includeMessage:!0})},s)}else i=s;this.handleLogStrategy({message:lt(e),context:i,status:n},this,r)}log(e,t,n=Jn.info,o){let r;Wn(n,Zn,this)&&(r=it("log")),this.logImplementation(e,t,n,o,r)}setContext(e){this.contextManager.setContext(e)}getContext(){return this.contextManager.getContext()}setContextProperty(e,t){this.contextManager.setContextProperty(e,t)}removeContextProperty(e){this.contextManager.removeContextProperty(e)}clearContext(){this.contextManager.clearContext()}setHandler(e){this.handlerType=e}getHandler(){return this.handlerType}setLevel(e){this.level=e}getLevel(){return this.level}}function to(e){return function(t,n,o){let r;Wn(e,Zn,this)&&(r=it("log")),this.logImplementation(t,n,e,o,r)}}Vn([function(e,t,n){const o=n.value;n.value=function(...e){return(E?T(o):o).apply(this,e)}}],eo.prototype,"logImplementation",null),eo.prototype.ok=to(Jn.ok),eo.prototype.debug=to(Jn.debug),eo.prototype.info=to(Jn.info),eo.prototype.notice=to(Jn.notice),eo.prototype.warn=to(Jn.warn),eo.prototype.error=to(Jn.error),eo.prototype.critical=to(Jn.critical),eo.prototype.alert=to(Jn.alert),eo.prototype.emerg=to(Jn.emerg);function no(e,t,n){return void 0===e?[]:"all"===e||Array.isArray(e)&&e.every((e=>t.includes(e)))?"all"===e?t:function(e){const t=new Set;return e.forEach((e=>t.add(e))),Array.from(t)}(e):void r.error(`${n} should be "all" or an array with allowed values "${t.join('", "')}"`)}function oo(t,n,o){const s=Nt();let i,a;const c=n.observable.subscribe(u);function u(){if(!a||!i||!n.isGranted())return;c.unsubscribe();const e=o(i,a);s.drain(e)}return{init(t){if(!t)return void r.error("Missing configuration");if(Ge(t.enableExperimentalFeatures),wn()&&(t=function(e){return{...e,clientToken:"empty"}}(t)),i=t,a)return void Rt("DD_LOGS",t);const o=function(t){!0===t.usePciIntake&&t.site&&"datadoghq.com"!==t.site&&r.warn("PCI compliance for Logs is only available for Datadog organizations in the US1 site. Default intake will be used.");const n=Fe(t),o=no(t.forwardConsoleLogs,Z(e),"Forward Console Logs"),s=no(t.forwardReports,Z(It),"Forward Reports");if(n&&o&&s)return t.forwardErrorsToLogs&&!o.includes(e.error)&&o.push(e.error),{forwardErrorsToLogs:!1!==t.forwardErrorsToLogs,forwardConsoleLogs:o,forwardReports:s,requestErrorResponseLengthLimit:32768,...n}}(t);o&&(a=o,An().subscribe(j),n.tryToInit(o.trackingConsent),u())},get initConfiguration(){return i},getInternalContext:j,handleLog(e,n,o,r=t(),i=p()){s.add((t=>t.handleLog(e,n,o,r,i)))}}}const ro="logs";function so(e,t){const n=an(e,"logs",(t=>function(e,t){const n=function(e){return"0"===e||"1"===e}(t)?t:io(e);return{trackingType:n,isTracked:"1"===n}}(e,t)),t);return{findTrackedSession:(e,t={returnInactive:!1})=>{const o=n.findSession(e,t);return o&&"1"===o.trackingType?{id:o.id,anonymousId:o.anonymousId}:void 0},expireObservable:n.expireObservable}}function io(e){return u(e.sessionSampleRate)?"1":"0"}let ao=!1;function co(e){const t=window;if(Hn()){const e=n(t.DD_RUM_SYNTHETICS);return e||ao||(ao=!0,Vt("Logs sent before RUM is injected by the synthetics worker",{testId:zn(),resultId:Gn()})),e}return n(t.DD_RUM);function n(t){if(t&&t.getInternalContext)return t.getInternalContext(e)}}function uo(e,t,n,o,r){const s=Qn.concat(["custom"]),i={};s.forEach((e=>{i[e]=function(e,t,n){let o=0,r=!1;return{isLimitReached(){if(0===o&&L((()=>{o=0}),d),o+=1,o<=t||r)return r=!1,!1;if(o===t+1){r=!0;try{n({message:`Reached max number of ${e}s by minute: ${t}`,source:wt,startClocks:m()})}finally{r=!1}}return!0}}}(e,t.eventRateLimiterThreshold,r)})),n.subscribe(0,(({rawLogsEvent:r,messageContext:s,savedCommonContext:a,domainContext:c})=>{var u,l;const d=r.date-y();const f=e.findTrackedSession(d);if(!e.findTrackedSession(d,{returnInactive:!0}))return;const p=a||o();let g;!S(p.account)&&p.account.id&&(g=p.account),f&&f.anonymousId&&!p.user.anonymous_id&&(p.user.anonymous_id=f.anonymousId);const m=qt({service:t.service,session_id:f?f.id:void 0,session:f?{id:f.id}:void 0,usr:S(p.user)?void 0:p.user,account:g,view:p.view},p.context,co(d),r,s);!1===(null===(u=t.beforeSend)||void 0===u?void 0:u.call(t,m,c))||m.origin!==wt&&(null!==(l=i[m.status])&&void 0!==l?l:i.custom).isLimitReached()||n.notify(1,m)}))}const lo={[e.log]:Jn.info,[e.debug]:Jn.debug,[e.info]:Jn.info,[e.warn]:Jn.warn,[e.error]:Jn.error};function fo(e,t){if(!e.forwardErrorsToLogs)return{stop:j};const n=$n(e).subscribe((e=>{"complete"===e.state&&r("xhr",e)})),o=An().subscribe((e=>{"resolve"===e.state&&r("fetch",e)}));function r(n,o){var r;function s(e){const r={isAborted:o.isAborted,handlingStack:o.handlingStack};t.notify(0,{rawLogsEvent:{message:`${go(n)} error ${o.method} ${o.url}`,date:o.startClocks.timeStamp,error:{stack:e||"Failed to load",handling:void 0},http:{method:o.method,status_code:o.status,url:o.url},status:Jn.error,origin:Ct},domainContext:r})}r=o.url,Ue.every((e=>r.includes(e)))||!function(e){return 0===e.status&&"opaque"!==e.responseType}(o)&&!cn(o.status)||("xhr"in o?function(e,t,n){"string"==typeof e.response?n(po(e.response,t)):n(e.response)}(o.xhr,e,s):o.response?function(e,t,n){const o=function(e){try{return e.clone()}catch(e){return}}(e);o&&o.body?window.TextDecoder?function(e,t,n){!function(e,t,n){const o=e.getReader(),r=[];let s=0;function i(){let e,i;o.cancel().catch(j);{let t;if(1===r.length)t=r[0];else{t=new Uint8Array(s);let e=0;r.forEach((n=>{t.set(n,e),e+=n.length}))}e=t.slice(0,n.bytesLimit),i=t.length>n.bytesLimit}t(void 0,e,i)}!function e(){o.read().then(T((t=>{t.done?i():(r.push(t.value),s+=t.value.length,s>n.bytesLimit?i():e())})),T((e=>t(e))))}()}(e,((e,t,o)=>{if(e)n(e);else{let e=(new TextDecoder).decode(t);o&&(e+="..."),n(void 0,e)}}),{bytesLimit:t})}(o.body,t.requestErrorResponseLengthLimit,((e,t)=>{n(e?`Unable to retrieve response: ${e}`:t)})):o.text().then(T((e=>n(po(e,t)))),T((e=>n(`Unable to retrieve response: ${e}`)))):n()}(o.response,e,s):o.error&&function(e,t,n){n(po(at(Ye(e)),t))}(o.error,e,s))}return{stop:()=>{n.unsubscribe(),o.unsubscribe()}}}function po(e,t){return e.length>t.requestErrorResponseLengthLimit?`${e.substring(0,t.requestErrorResponseLengthLimit)}...`:e}function go(e){return"xhr"===e?"XHR":"Fetch"}const mo=class{constructor(){this.callbacks={}}notify(e,t){const n=this.callbacks[e];n&&n.forEach((e=>e(t)))}subscribe(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),{unsubscribe:()=>{this.callbacks[e]=this.callbacks[e].filter((e=>t!==e))}}}};function ho(e){return{handleLog:function(o,r,s,i,a){const c=qt(r.getContext(),o.context);if(Wn(o.status,Xn,r)&&function({status:e,message:o},r){n[yo[e]].call(t,o,r)}(o,c),Wn(o.status,Zn,r)){const t={rawLogsEvent:{date:a||p(),message:o.message,status:o.status,origin:St},messageContext:c,savedCommonContext:i};s&&(t.domainContext={handlingStack:s}),e.notify(0,t)}}}}const yo={[Jn.ok]:e.debug,[Jn.debug]:e.debug,[Jn.info]:e.info,[Jn.notice]:e.info,[Jn.warn]:e.warn,[Jn.error]:e.error,[Jn.critical]:e.error,[Jn.alert]:e.error,[Jn.emerg]:e.error};function bo(e,t,n,o,r){const s=Kt("browser-logs-sdk",t);s.setContextProvider((()=>{var e,t,n,o,s,i;return{application:{id:null===(e=co())||void 0===e?void 0:e.application_id},session:{id:null===(t=r.findTrackedSession())||void 0===t?void 0:t.id},view:{id:null===(o=null===(n=co())||void 0===n?void 0:n.view)||void 0===o?void 0:o.id},action:{id:null===(i=null===(s=co())||void 0===s?void 0:s.user_action)||void 0===i?void 0:i.id}}}));const i=[];if(wn()){const e=vn(),t=s.observable.subscribe((t=>e.send("internal_telemetry",t)));i.push((()=>t.unsubscribe()))}else{const e=En(t,{endpoint:t.rumEndpointBuilder,encoder:_n()},t.replica&&{endpoint:t.replica.rumEndpointBuilder,encoder:_n()},n,o,r.expireObservable);i.push((()=>e.stop()));const a=s.observable.subscribe((n=>e.add(n,function(e){return"datad0g.com"===e.site}(t))));i.push((()=>a.unsubscribe()))}return Jt.drain(),function(e){Yt({type:Ht,configuration:e})}(function(e){const t={session_sample_rate:(n=e).sessionSampleRate,telemetry_sample_rate:n.telemetrySampleRate,telemetry_configuration_sample_rate:n.telemetryConfigurationSampleRate,telemetry_usage_sample_rate:n.telemetryUsageSampleRate,use_before_send:!!n.beforeSend,use_partitioned_cross_site_session_cookie:n.usePartitionedCrossSiteSessionCookie,use_secure_session_cookie:n.useSecureSessionCookie,use_proxy:!!n.proxy,silent_multiple_init:n.silentMultipleInit,track_session_across_subdomains:n.trackSessionAcrossSubdomains,track_anonymous_user:n.trackAnonymousUser,session_persistence:n.sessionPersistence,allow_fallback_to_local_storage:!!n.allowFallbackToLocalStorage,store_contexts_across_pages:!!n.storeContextsAcrossPages,allow_untrusted_events:!!n.allowUntrustedEvents,tracking_consent:n.trackingConsent};var n;return{forward_errors_to_logs:e.forwardErrorsToLogs,forward_console_logs:e.forwardConsoleLogs,forward_reports:e.forwardReports,use_pci_intake:e.usePciIntake,...t}}(e)),{telemetry:s,stop:()=>{i.forEach((e=>e()))}}}const vo=function(e){const t=Nn(),n=Mn("global context",{customerDataTracker:t.getOrCreateTracker(2)}),o=Mn("user",{customerDataTracker:t.getOrCreateTracker(1),propertiesConfig:{id:{type:"string"},name:{type:"string"},email:{type:"string"}}}),r=Mn("account",{customerDataTracker:t.getOrCreateTracker(1),propertiesConfig:{id:{type:"string",required:!0},name:{type:"string"}}}),s=function(e){const t=new U;return{tryToInit(t){e||(e=t)},update(n){e=n,t.notify()},isGranted:()=>e===Re.GRANTED,observable:t}}();function i(){return function(e,t,n){return{view:{referrer:document.referrer,url:window.location.href},context:e.getContext(),user:t.getContext(),account:n.getContext()}}(n,o,r)}let a=oo(i,s,((t,c)=>{t.storeContextsAcrossPages&&(Bn(c,n,ro,2),Bn(c,o,ro,1),Bn(c,r,ro,4));const u=e(t,c,i,s);return a=function(e,t){return{init:e=>{Rt("DD_LOGS",e)},initConfiguration:e,...t}}(t,u),u}));const c={};return function(e){const t={version:"6.6.2",onReady(e){e()},...e};return Object.defineProperty(t,"_setDebug",{get:()=>R,enumerable:!1}),t}({logger:new eo(((...e)=>a.handleLog(...e)),t.createDetachedTracker()),init:T((e=>a.init(e))),setTrackingConsent:T((e=>{s.update(e),Yt({type:zt,usage:{feature:"set-tracking-consent",tracking_consent:e}})})),getGlobalContext:T((()=>n.getContext())),setGlobalContext:T((e=>n.setContext(e))),setGlobalContextProperty:T(((e,t)=>n.setContextProperty(e,t))),removeGlobalContextProperty:T((e=>n.r