{"version":3,"file":"static/js/5003_769b35c94e1caea1fd94.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/boot/init.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/browser/addEventListener.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/browser/cookie.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/browser/timer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/configuration/experimentalFeatures.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/tracekit/tracekit.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/session/sessionCookieStore.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/tracekit/computeStackTrace.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/domain/user/user.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/browserDetection.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/contextHistory.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/contextManager.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/createEventRateLimiter.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/display.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/error.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/limitModification.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/monitor.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/observable.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/runOnReadyState.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/timeUtils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/urlPolyfill.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/tools/utils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/transport/batch.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/transport/eventBridge.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/transport/httpRequest.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/configuration.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logger.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-core@4.34.3/node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logsSessionManager.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logsCollection/logger/loggerCollection.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/assembly.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logsCollection/console/consoleCollection.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logsCollection/report/reportCollection.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logsCollection/networkError/networkErrorCollection.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/lifeCycle.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/entries/main.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/boot/logsPublicApi.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/boot/startLogs.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/logsCollection/runtimeError/runtimeErrorCollection.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/domain/internalContext.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/transport/startLogsBridge.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@datadog+browser-logs@4.34.3_p35hra7asshzkfd2tz5kym2ude/node_modules/@datadog/browser-logs/esm/transport/startLogsBatch.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/css-jss@10.10.0/node_modules/css-jss/dist/css-jss.esm.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/css-vendor@2.0.8/node_modules/css-vendor/dist/css-vendor.esm.js"],"sourcesContent":["import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { assign } from '../tools/utils';\nexport function makePublicApi(stub) {\n var publicApi = assign({\n version: \"4.34.3\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady: function (callback) {\n callback();\n },\n }, stub);\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return catchUserErrors(fn, 'onReady callback threw an error:')(); });\n }\n}\n//# sourceMappingURL=init.js.map","import { monitor } from '../tools/monitor';\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener(eventTarget, event, listener, options) {\n return addEventListeners(eventTarget, [event], listener, options);\n}\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners(eventTarget, events, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var wrappedListener = monitor(once\n ? function (event) {\n stop();\n listener(event);\n }\n : listener);\n var options = passive ? { capture: capture, passive: passive } : capture;\n var add = getZoneJsOriginalValue(eventTarget, 'addEventListener');\n events.forEach(function (event) { return add.call(eventTarget, event, wrappedListener, options); });\n function stop() {\n var remove = getZoneJsOriginalValue(eventTarget, 'removeEventListener');\n events.forEach(function (event) { return remove.call(eventTarget, event, wrappedListener, options); });\n }\n return {\n stop: stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { display } from '../tools/display';\nimport { findCommaSeparatedValue, generateUUID, ONE_MINUTE, ONE_SECOND } from '../tools/utils';\nexport var COOKIE_ACCESS_DELAY = ONE_SECOND;\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure);\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_cookie_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n var isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache;\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_site_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(candidateDomain);\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n//# sourceMappingURL=cookie.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { callMonitored, monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { clocksNow } from '../tools/timeUtils';\nimport { normalizeUrl } from '../tools/urlPolyfill';\nvar fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nfunction createFetchObservable() {\n var observable = new Observable(function () {\n if (!window.fetch) {\n return;\n }\n var stop = instrumentMethod(window, 'fetch', function (originalFetch) {\n return function (input, init) {\n var responsePromise;\n var context = callMonitored(beforeSend, null, [observable, input, init]);\n if (context) {\n responsePromise = originalFetch.call(this, context.input, context.init);\n callMonitored(afterSend, null, [observable, responsePromise, context]);\n }\n else {\n responsePromise = originalFetch.call(this, input, init);\n }\n return responsePromise;\n };\n }).stop;\n return stop;\n });\n return observable;\n}\nfunction beforeSend(observable, input, init) {\n var method = (init && init.method) || (typeof input === 'object' && input.method) || 'GET';\n var url = normalizeUrl((typeof input === 'object' && input.url) || input);\n var startClocks = clocksNow();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n };\n observable.notify(context);\n return context;\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext;\n context.state = 'resolve';\n if ('stack' in response || response instanceof Error) {\n context.status = 0;\n context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR;\n context.error = response;\n }\n else if ('status' in response) {\n context.response = response;\n context.responseType = response.type;\n context.status = response.status;\n context.isAborted = false;\n }\n observable.notify(context);\n };\n responsePromise.then(monitor(reportFetch), monitor(reportFetch));\n}\n//# sourceMappingURL=fetchObservable.js.map","import { isExperimentalFeatureEnabled } from '../domain/configuration';\nimport { Observable } from '../tools/observable';\nimport { includes, noop, objectValues } from '../tools/utils';\nimport { addEventListeners, addEventListener } from './addEventListener';\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable() {\n var observable = new Observable(function () {\n var pagehideEnabled = isExperimentalFeatureEnabled('pagehide');\n var stopListeners = addEventListeners(window, [\"visibilitychange\" /* VISIBILITY_CHANGE */, \"freeze\" /* FREEZE */, \"pagehide\" /* PAGE_HIDE */], function (event) {\n if (event.type === \"pagehide\" /* PAGE_HIDE */ && pagehideEnabled) {\n /**\n * Only event that detect page unload events while being compatible with the back/forward cache (bfcache)\n */\n observable.notify({ reason: PageExitReason.PAGEHIDE });\n }\n else if (event.type === \"visibilitychange\" /* VISIBILITY_CHANGE */ && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN });\n }\n else if (event.type === \"freeze\" /* FREEZE */) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN });\n }\n }, { capture: true }).stop;\n var stopBeforeUnloadListener = noop;\n if (!pagehideEnabled) {\n stopBeforeUnloadListener = addEventListener(window, \"beforeunload\" /* BEFORE_UNLOAD */, function () {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n }\n return function () {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n return observable;\n}\nexport function isPageExitReason(reason) {\n return includes(objectValues(PageExitReason), reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\nimport { monitor } from '../tools/monitor';\nexport function setTimeout(callback, delay) {\n return getZoneJsOriginalValue(window, 'setTimeout')(monitor(callback), delay);\n}\nexport function clearTimeout(timeoutId) {\n getZoneJsOriginalValue(window, 'clearTimeout')(timeoutId);\n}\n//# sourceMappingURL=timer.js.map","import { instrumentMethodAndCallOriginal } from '../tools/instrumentMethod';\nimport { monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { elapsed, relativeNow, clocksNow, timeStampNow } from '../tools/timeUtils';\nimport { normalizeUrl } from '../tools/urlPolyfill';\nimport { shallowClone } from '../tools/utils';\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nexport function initXhrObservable() {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable();\n }\n return xhrObservable;\n}\nfunction createXhrObservable() {\n var observable = new Observable(function () {\n var stopInstrumentingStart = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'open', {\n before: openXhr,\n }).stop;\n var stopInstrumentingSend = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'send', {\n before: function () {\n sendXhr.call(this, observable);\n },\n }).stop;\n var stopInstrumentingAbort = instrumentMethodAndCallOriginal(XMLHttpRequest.prototype, 'abort', {\n before: abortXhr,\n }).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n return observable;\n}\nfunction openXhr(method, url) {\n xhrContexts.set(this, {\n state: 'open',\n method: method,\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr(observable) {\n var _this = this;\n var context = xhrContexts.get(this);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startTime = relativeNow();\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = this;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = instrumentMethodAndCallOriginal(this, 'onreadystatechange', {\n before: function () {\n if (this.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during a onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n },\n }).stop;\n var onEnd = monitor(function () {\n _this.removeEventListener('loadend', onEnd);\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = _this.status;\n observable.notify(shallowClone(completeContext));\n });\n this.addEventListener('loadend', onEnd);\n observable.notify(startContext);\n}\nfunction abortXhr() {\n var context = xhrContexts.get(this);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","import { timeStampNow } from '../../tools/timeUtils';\nimport { normalizeUrl } from '../../tools/urlPolyfill';\nimport { generateUUID } from '../../tools/utils';\nimport { INTAKE_SITE_AP1, INTAKE_SITE_US1 } from './intakeSites';\nimport { isExperimentalFeatureEnabled } from './experimentalFeatures';\nexport var ENDPOINTS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'session-replay',\n};\nvar INTAKE_TRACKS = {\n logs: 'logs',\n rum: 'rum',\n sessionReplay: 'replay',\n};\nexport function createEndpointBuilder(initConfiguration, endpointType, configurationTags) {\n var buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, endpointType);\n return {\n build: function (api, flushReason, retry) {\n var parameters = buildEndpointParameters(initConfiguration, endpointType, configurationTags, api, flushReason, retry);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n endpointType: endpointType,\n };\n}\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(initConfiguration, endpointType) {\n var path = \"/api/v2/\".concat(INTAKE_TRACKS[endpointType]);\n var proxy = initConfiguration.proxy, proxyUrl = initConfiguration.proxyUrl;\n if (proxy) {\n var normalizedProxyUrl_1 = normalizeUrl(proxy);\n return function (parameters) { return \"\".concat(normalizedProxyUrl_1, \"?ddforward=\").concat(encodeURIComponent(\"\".concat(path, \"?\").concat(parameters))); };\n }\n var host = buildEndpointHost(initConfiguration, endpointType);\n if (proxy === undefined && proxyUrl) {\n // TODO: remove this in a future major.\n var normalizedProxyUrl_2 = normalizeUrl(proxyUrl);\n return function (parameters) {\n return \"\".concat(normalizedProxyUrl_2, \"?ddforward=\").concat(encodeURIComponent(\"https://\".concat(host).concat(path, \"?\").concat(parameters)));\n };\n }\n return function (parameters) { return \"https://\".concat(host).concat(path, \"?\").concat(parameters); };\n}\nfunction buildEndpointHost(initConfiguration, endpointType) {\n var _a = initConfiguration.site, site = _a === void 0 ? INTAKE_SITE_US1 : _a, internalAnalyticsSubdomain = initConfiguration.internalAnalyticsSubdomain;\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return \"\".concat(internalAnalyticsSubdomain, \".\").concat(INTAKE_SITE_US1);\n }\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n var subdomain = site !== INTAKE_SITE_AP1 ? \"\".concat(ENDPOINTS[endpointType], \".\") : '';\n return \"\".concat(subdomain, \"browser-intake-\").concat(domainParts.join('-'), \".\").concat(extension);\n}\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters(_a, endpointType, configurationTags, api, flushReason, retry) {\n var clientToken = _a.clientToken, internalAnalyticsSubdomain = _a.internalAnalyticsSubdomain;\n var tags = [\"sdk_version:\".concat(\"4.34.3\"), \"api:\".concat(api)].concat(configurationTags);\n if (flushReason && isExperimentalFeatureEnabled('collect_flush_reason')) {\n tags.push(\"flush_reason:\".concat(flushReason));\n }\n if (retry) {\n tags.push(\"retry_count:\".concat(retry.count), \"retry_after:\".concat(retry.lastFailureStatus));\n }\n var parameters = [\n 'ddsource=browser',\n \"ddtags=\".concat(encodeURIComponent(tags.join(','))),\n \"dd-api-key=\".concat(clientToken),\n \"dd-evp-origin-version=\".concat(encodeURIComponent(\"4.34.3\")),\n 'dd-evp-origin=browser',\n \"dd-request-id=\".concat(generateUUID()),\n ];\n if (endpointType === 'rum') {\n parameters.push(\"batch_time=\".concat(timeStampNow()));\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { display } from '../../tools/display';\nexport var TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nvar FORBIDDEN_CHARACTERS = /[^a-z0-9_:./-]/;\nexport function buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n var valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || FORBIDDEN_CHARACTERS.test(rawValue)) {\n display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized\"));\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\n//# sourceMappingURL=tags.js.map","import { assign, objectValues } from '../../tools/utils';\nimport { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1 } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n var tags = buildTags(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var intakeUrlPrefixes = objectValues(endpointBuilders).map(function (builder) { return builder.urlPrefix; });\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags);\n return assign({\n isIntakeUrl: function (url) { return intakeUrlPrefixes.some(function (intakeEndpoint) { return url.indexOf(intakeEndpoint) === 0; }); },\n replica: replicaConfiguration,\n site: initConfiguration.site || INTAKE_SITE_US1,\n }, endpointBuilders);\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'sessionReplay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n intakeUrlPrefixes.push.apply(intakeUrlPrefixes, objectValues(replicaEndpointBuilders).map(function (builder) { return builder.urlPrefix; }));\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { getCurrentSite } from '../../browser/cookie';\nimport { catchUserErrors } from '../../tools/catchUserErrors';\nimport { display } from '../../tools/display';\nimport { assign, isPercentage, ONE_KIBI_BYTE, ONE_SECOND } from '../../tools/utils';\nimport { updateExperimentalFeatures } from './experimentalFeatures';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n var sessionSampleRate = (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : initConfiguration.sampleRate;\n if (sessionSampleRate !== undefined && !isPercentage(sessionSampleRate)) {\n display.error('Session Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetrySampleRate !== undefined && !isPercentage(initConfiguration.telemetrySampleRate)) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetryConfigurationSampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetryConfigurationSampleRate)) {\n display.error('Telemetry Configuration Sample Rate should be a number between 0 and 100');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n updateExperimentalFeatures(initConfiguration.enableExperimentalFeatures);\n return assign({\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n cookieOptions: buildCookieOptions(initConfiguration),\n sessionSampleRate: sessionSampleRate !== null && sessionSampleRate !== void 0 ? sessionSampleRate : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n service: initConfiguration.service,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: 30 * ONE_SECOND,\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n }, computeTransportConfiguration(initConfiguration));\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure = mustUseSecureCookie(initConfiguration);\n cookieOptions.crossSite = !!initConfiguration.useCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\nfunction mustUseSecureCookie(initConfiguration) {\n return !!initConfiguration.useSecureSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n}\nexport function serializeConfiguration(configuration) {\n var _a, _b;\n var proxy = (_a = configuration.proxy) !== null && _a !== void 0 ? _a : configuration.proxyUrl;\n return {\n session_sample_rate: (_b = configuration.sessionSampleRate) !== null && _b !== void 0 ? _b : configuration.sampleRate,\n telemetry_sample_rate: configuration.telemetrySampleRate,\n telemetry_configuration_sample_rate: configuration.telemetryConfigurationSampleRate,\n use_before_send: !!configuration.beforeSend,\n use_cross_site_session_cookie: configuration.useCrossSiteSessionCookie,\n use_secure_session_cookie: configuration.useSecureSessionCookie,\n use_proxy: proxy !== undefined ? !!proxy : undefined,\n silent_multiple_init: configuration.silentMultipleInit,\n track_session_across_subdomains: configuration.trackSessionAcrossSubdomains,\n track_resources: configuration.trackResources,\n track_long_task: configuration.trackLongTasks,\n };\n}\n//# sourceMappingURL=configuration.js.map","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n */\nimport { includes } from '../../tools/utils';\nimport { display } from '../../tools/display';\nvar enabledExperimentalFeatures;\nexport function updateExperimentalFeatures(enabledFeatures) {\n // Safely handle external data\n if (!Array.isArray(enabledFeatures)) {\n return;\n }\n if (!enabledExperimentalFeatures) {\n enabledExperimentalFeatures = new Set(enabledFeatures);\n }\n enabledFeatures\n .filter(function (flag) { return typeof flag === 'string'; })\n .forEach(function (flag) {\n if (includes(flag, '-')) {\n display.warn(\"please use snake case for '\".concat(flag, \"'\"));\n }\n enabledExperimentalFeatures.add(flag);\n });\n}\nexport function isExperimentalFeatureEnabled(featureName) {\n return !!enabledExperimentalFeatures && enabledExperimentalFeatures.has(featureName);\n}\nexport function resetExperimentalFeatures() {\n enabledExperimentalFeatures = new Set();\n}\nexport function getExperimentalFeatures() {\n return enabledExperimentalFeatures || new Set();\n}\n//# sourceMappingURL=experimentalFeatures.js.map","export var INTAKE_SITE_STAGING = 'datad0g.com';\nexport var INTAKE_SITE_US1 = 'datadoghq.com';\nexport var INTAKE_SITE_AP1 = 'ap1.datadoghq.com';\nexport var INTAKE_SITE_US1_FED = 'ddog-gov.com';\n//# sourceMappingURL=intakeSites.js.map","import { computeStackTrace } from '../tracekit';\nimport { createHandlingStack, formatErrorMessage, toStackTraceString } from '../../tools/error';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { find, jsonStringify } from '../../tools/utils';\nimport { ConsoleApiName } from '../../tools/display';\nimport { callMonitored } from '../../tools/monitor';\nvar consoleObservablesByApi = {};\nexport function initConsoleObservable(apis) {\n var consoleObservables = apis.map(function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api);\n }\n return consoleObservablesByApi[api];\n });\n return mergeObservables.apply(void 0, consoleObservables);\n}\n/* eslint-disable no-console */\nfunction createConsoleObservable(api) {\n var observable = new Observable(function () {\n var originalConsoleApi = console[api];\n console[api] = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n originalConsoleApi.apply(console, params);\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack));\n });\n };\n return function () {\n console[api] = originalConsoleApi;\n };\n });\n return observable;\n}\nfunction buildConsoleLog(params, api, handlingStack) {\n // Todo: remove console error prefix in the next major version\n var message = params.map(function (param) { return formatConsoleParameters(param); }).join(' ');\n var stack;\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) { return param instanceof Error; });\n stack = firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined;\n message = \"console error: \".concat(message);\n }\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack,\n };\n}\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return param;\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param));\n }\n return jsonStringify(param, undefined, 2);\n}\n//# sourceMappingURL=consoleObservable.js.map","import { instrumentMethodAndCallOriginal } from '../../tools/instrumentMethod';\nimport { computeStackTrace } from './computeStackTrace';\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;\n/**\n * Cross-browser collection of unhandled errors\n *\n * Supports:\n * - Firefox: full stack trace with line numbers, plus column number\n * on top frame; column number is not guaranteed\n * - Opera: full stack trace with line and column numbers\n * - Chrome: full stack trace with line and column numbers\n * - Safari: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n * - IE: line and column number for the top frame only; some frames\n * may be missing, and column number is not guaranteed\n *\n * In theory, TraceKit should work on all of the following versions:\n * - IE5.5+ (only 8.0 tested)\n * - Firefox 0.9+ (only 3.5+ tested)\n * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require\n * Exceptions Have Stacktrace to be enabled in opera:config)\n * - Safari 3+ (only 4+ tested)\n * - Chrome 1+ (only 5+ tested)\n * - Konqueror 3.5+ (untested)\n *\n * Tries to catch all unhandled errors and report them to the\n * callback.\n *\n * Callbacks receive a StackTrace object as described in the\n * computeStackTrace docs.\n *\n * @memberof TraceKit\n * @namespace\n */\nexport function startUnhandledErrorCollection(callback) {\n var stopInstrumentingOnError = instrumentOnError(callback).stop;\n var stopInstrumentingOnUnhandledRejection = instrumentUnhandledRejection(callback).stop;\n return {\n stop: function () {\n stopInstrumentingOnError();\n stopInstrumentingOnUnhandledRejection();\n },\n };\n}\n/**\n * Install a global onerror handler\n */\nfunction instrumentOnError(callback) {\n return instrumentMethodAndCallOriginal(window, 'onerror', {\n before: function (message, url, lineNo, columnNo, errorObj) {\n var stack;\n if (errorObj) {\n stack = computeStackTrace(errorObj);\n callback(stack, errorObj);\n }\n else {\n var location_1 = {\n url: url,\n column: columnNo,\n line: lineNo,\n };\n var name_1;\n var msg = message;\n if ({}.toString.call(message) === '[object String]') {\n var groups = ERROR_TYPES_RE.exec(msg);\n if (groups) {\n name_1 = groups[1];\n msg = groups[2];\n }\n }\n stack = {\n name: name_1,\n message: typeof msg === 'string' ? msg : undefined,\n stack: [location_1],\n };\n callback(stack, message);\n }\n },\n });\n}\n/**\n * Install a global onunhandledrejection handler\n */\nfunction instrumentUnhandledRejection(callback) {\n return instrumentMethodAndCallOriginal(window, 'onunhandledrejection', {\n before: function (e) {\n var reason = e.reason || 'Empty reason';\n var stack = computeStackTrace(reason);\n callback(stack, reason);\n },\n });\n}\n//# sourceMappingURL=tracekit.js.map","import { ErrorSource, computeRawError } from '../../tools/error';\nimport { clocksNow } from '../../tools/timeUtils';\nimport { startUnhandledErrorCollection } from '../tracekit';\nexport function trackRuntimeError(errorObservable) {\n return startUnhandledErrorCollection(function (stackTrace, originalError) {\n errorObservable.notify(computeRawError({\n stackTrace: stackTrace,\n originalError: originalError,\n startClocks: clocksNow(),\n nonErrorPrefix: 'Uncaught',\n source: ErrorSource.SOURCE,\n handling: \"unhandled\" /* UNHANDLED */,\n }));\n });\n}\n//# sourceMappingURL=trackRuntimeError.js.map","import { toStackTraceString } from '../../tools/error';\nimport { monitor } from '../../tools/monitor';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { includes, safeTruncate } from '../../tools/utils';\nimport { addEventListener } from '../../browser/addEventListener';\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n};\nexport function initReportObservable(apis) {\n var observables = [];\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable());\n }\n var reportTypes = apis.filter(function (api) { return api !== RawReportType.cspViolation; });\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes));\n }\n return mergeObservables.apply(void 0, observables);\n}\nfunction createReportObservable(reportTypes) {\n var observable = new Observable(function () {\n if (!window.ReportingObserver) {\n return;\n }\n var handleReports = monitor(function (reports) {\n return reports.forEach(function (report) {\n observable.notify(buildRawReportFromReport(report));\n });\n });\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n });\n observer.observe();\n return function () {\n observer.disconnect();\n };\n });\n return observable;\n}\nfunction createCspViolationReportObservable() {\n var observable = new Observable(function () {\n var handleCspViolation = monitor(function (event) {\n observable.notify(buildRawReportFromCspViolation(event));\n });\n var stop = addEventListener(document, \"securitypolicyviolation\" /* SECURITY_POLICY_VIOLATION */, handleCspViolation).stop;\n return stop;\n });\n return observable;\n}\nfunction buildRawReportFromReport(_a) {\n var type = _a.type, body = _a.body;\n return {\n type: type,\n subtype: body.id,\n message: \"\".concat(type, \": \").concat(body.message),\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n };\n}\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation;\n var message = \"'\".concat(event.blockedURI, \"' blocked by '\").concat(event.effectiveDirective, \"' directive\");\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: \"\".concat(type, \": \").concat(message),\n stack: buildStack(event.effectiveDirective, event.originalPolicy\n ? \"\".concat(message, \" of the policy \\\"\").concat(safeTruncate(event.originalPolicy, 100, '...'), \"\\\"\")\n : 'no policy', event.sourceFile, event.lineNumber, event.columnNumber),\n };\n}\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return (sourceFile &&\n toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber,\n column: columnNumber,\n },\n ],\n }));\n}\n//# sourceMappingURL=reportObservable.js.map","import { ONE_HOUR, ONE_MINUTE } from '../../tools/utils';\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\n//# sourceMappingURL=sessionConstants.js.map","import { getCookie, setCookie } from '../../browser/cookie';\nimport { setTimeout } from '../../browser/timer';\nimport { isChromium } from '../../tools/browserDetection';\nimport { dateNow } from '../../tools/timeUtils';\nimport * as utils from '../../tools/utils';\nimport { SESSION_EXPIRATION_DELAY } from './sessionConstants';\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/;\nvar SESSION_ENTRY_SEPARATOR = '&';\nexport var SESSION_COOKIE_NAME = '_dd_s';\n// arbitrary values\nexport var LOCK_RETRY_DELAY = 10;\nexport var MAX_NUMBER_OF_LOCK_RETRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nexport function withCookieLockAccess(operations, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (numberOfRetries >= MAX_NUMBER_OF_LOCK_RETRIES) {\n next();\n return;\n }\n var currentLock;\n var currentSession = retrieveSession();\n if (isCookieLockEnabled()) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = utils.generateUUID();\n currentSession.lock = currentLock;\n setSession(currentSession, operations.options);\n // if lock is not acquired, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentSession);\n if (isCookieLockEnabled()) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n persistSession(processedSession, operations.options);\n }\n if (isCookieLockEnabled()) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, numberOfRetries);\n return;\n }\n delete currentSession.lock;\n setSession(currentSession, operations.options);\n processedSession = currentSession;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date cookie value, the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentSession);\n next();\n}\n/**\n * Cookie lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increase cookie write failures.\n */\nfunction isCookieLockEnabled() {\n return isChromium();\n}\nfunction retryLater(operations, currentNumberOfRetries) {\n setTimeout(function () {\n withCookieLockAccess(operations, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next() {\n ongoingOperations = undefined;\n var nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n withCookieLockAccess(nextOperations);\n }\n}\nexport function persistSession(session, options) {\n if (isExpiredState(session)) {\n clearSession(options);\n return;\n }\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n setSession(session, options);\n}\nfunction setSession(session, options) {\n setCookie(SESSION_COOKIE_NAME, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n}\nexport function toSessionString(session) {\n return utils\n .objectEntries(session)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value);\n })\n .join(SESSION_ENTRY_SEPARATOR);\n}\nexport function retrieveSession() {\n var sessionString = getCookie(SESSION_COOKIE_NAME);\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n session[key] = value;\n }\n });\n }\n return session;\n}\nfunction isValidSessionString(sessionString) {\n return (sessionString !== undefined &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\nfunction isExpiredState(session) {\n return utils.isEmptyObject(session);\n}\nfunction clearSession(options) {\n setCookie(SESSION_COOKIE_NAME, '', 0, options);\n}\n//# sourceMappingURL=sessionCookieStore.js.map","import { getCookie } from '../../browser/cookie';\nimport { SESSION_COOKIE_NAME, persistSession } from './sessionCookieStore';\nexport var OLD_SESSION_COOKIE_NAME = '_dd';\nexport var OLD_RUM_COOKIE_NAME = '_dd_r';\nexport var OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport var RUM_SESSION_KEY = 'rum';\nexport var LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(options) {\n var sessionString = getCookie(SESSION_COOKIE_NAME);\n var oldSessionId = getCookie(OLD_SESSION_COOKIE_NAME);\n var oldRumType = getCookie(OLD_RUM_COOKIE_NAME);\n var oldLogsType = getCookie(OLD_LOGS_COOKIE_NAME);\n if (!sessionString) {\n var session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n persistSession(session, options);\n }\n}\n//# sourceMappingURL=oldCookiesMigration.js.map","import { COOKIE_ACCESS_DELAY } from '../../browser/cookie';\nimport { monitor } from '../../tools/monitor';\nimport { Observable } from '../../tools/observable';\nimport { dateNow } from '../../tools/timeUtils';\nimport * as utils from '../../tools/utils';\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { retrieveSession, withCookieLockAccess } from './sessionCookieStore';\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(options, productKey, computeSessionState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n var watchSessionTimeoutId = setInterval(monitor(watchSession), COOKIE_ACCESS_DELAY);\n var sessionCache = retrieveActiveSession();\n function expandOrRenewSession() {\n var isTracked;\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) {\n var synchronizedSession = synchronizeSession(cookieSession);\n isTracked = expandOrRenewCookie(synchronizedSession);\n return synchronizedSession;\n },\n after: function (cookieSession) {\n if (isTracked && !hasSessionInCache()) {\n renewSession(cookieSession);\n }\n sessionCache = cookieSession;\n },\n });\n }\n function expandSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) { return (hasSessionInCache() ? synchronizeSession(cookieSession) : undefined); },\n });\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session cookie\n * - if the session is not active, clear the session cookie and expire the session cache\n */\n function watchSession() {\n withCookieLockAccess({\n options: options,\n process: function (cookieSession) { return (!isActiveSession(cookieSession) ? {} : undefined); },\n after: synchronizeSession,\n });\n }\n function synchronizeSession(cookieSession) {\n if (!isActiveSession(cookieSession)) {\n cookieSession = {};\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(cookieSession)) {\n expireSession();\n }\n else {\n sessionCache = cookieSession;\n }\n }\n return cookieSession;\n }\n function expandOrRenewCookie(cookieSession) {\n var _a = computeSessionState(cookieSession[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n cookieSession[productKey] = trackingType;\n if (isTracked && !cookieSession.id) {\n cookieSession.id = utils.generateUUID();\n cookieSession.created = String(dateNow());\n }\n return isTracked;\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(cookieSession) {\n return sessionCache.id !== cookieSession.id || sessionCache[productKey] !== cookieSession[productKey];\n }\n function expireSession() {\n sessionCache = {};\n expireObservable.notify();\n }\n function renewSession(cookieSession) {\n sessionCache = cookieSession;\n renewObservable.notify();\n }\n function retrieveActiveSession() {\n var session = retrieveSession();\n if (isActiveSession(session)) {\n return session;\n }\n return {};\n }\n function isActiveSession(session) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((session.created === undefined || dateNow() - Number(session.created) < SESSION_TIME_OUT_DELAY) &&\n (session.expire === undefined || dateNow() < Number(session.expire)));\n }\n return {\n expandOrRenewSession: utils.throttle(expandOrRenewSession, COOKIE_ACCESS_DELAY).throttled,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n };\n}\n//# sourceMappingURL=sessionStore.js.map","import * as utils from '../../tools/utils';\nimport { ContextHistory } from '../../tools/contextHistory';\nimport { relativeNow, clocksOrigin } from '../../tools/timeUtils';\nimport { monitor } from '../../tools/monitor';\nimport { addEventListener, addEventListeners } from '../../browser/addEventListener';\nimport { tryOldCookiesMigration } from './oldCookiesMigration';\nimport { startSessionStore } from './sessionStore';\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants';\nexport var VISIBILITY_CHECK_DELAY = utils.ONE_MINUTE;\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;\nvar stopCallbacks = [];\nexport function startSessionManager(options, productKey, computeSessionState) {\n tryOldCookiesMigration(options);\n var sessionStore = startSessionStore(options, productKey, computeSessionState);\n stopCallbacks.push(function () { return sessionStore.stop(); });\n var sessionContextHistory = new ContextHistory(SESSION_CONTEXT_TIMEOUT_DELAY);\n stopCallbacks.push(function () { return sessionContextHistory.stop(); });\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow());\n });\n sessionStore.expireObservable.subscribe(function () {\n sessionContextHistory.closeActive(relativeNow());\n });\n sessionStore.expandOrRenewSession();\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative);\n trackActivity(function () { return sessionStore.expandOrRenewSession(); });\n trackVisibility(function () { return sessionStore.expandSession(); });\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n };\n }\n return {\n findActiveSession: function (startTime) { return sessionContextHistory.find(startTime); },\n renewObservable: sessionStore.renewObservable,\n expireObservable: sessionStore.expireObservable,\n };\n}\nexport function stopSessionManager() {\n stopCallbacks.forEach(function (e) { return e(); });\n stopCallbacks = [];\n}\nfunction trackActivity(expandOrRenewSession) {\n var stop = addEventListeners(window, [\"click\" /* CLICK */, \"touchstart\" /* TOUCH_START */, \"keydown\" /* KEY_DOWN */, \"scroll\" /* SCROLL */], expandOrRenewSession, { capture: true, passive: true }).stop;\n stopCallbacks.push(stop);\n}\nfunction trackVisibility(expandSession) {\n var expandSessionWhenVisible = monitor(function () {\n if (document.visibilityState === 'visible') {\n expandSession();\n }\n });\n var stop = addEventListener(document, \"visibilitychange\" /* VISIBILITY_CHANGE */, expandSessionWhenVisible).stop;\n stopCallbacks.push(stop);\n var visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY);\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval);\n });\n}\n//# sourceMappingURL=sessionManager.js.map","import { getCookie } from '../../browser/cookie';\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n var value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n var value = window._DATADOG_SYNTHETICS_RESULT_ID || getCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { toStackTraceString } from '../../tools/error';\nimport { assign, combine, jsonStringify, performDraw, includes, startsWith, arrayFrom } from '../../tools/utils';\nimport { getExperimentalFeatures, INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { computeStackTrace } from '../tracekit';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nvar ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'http://localhost',\n '',\n];\nvar TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\nvar telemetryConfiguration = { maxEventsPerPage: 0, sentEventCount: 0, telemetryEnabled: false, telemetryConfigurationEnabled: false };\nvar onRawTelemetryEventCollected;\nexport function startTelemetry(telemetryService, configuration) {\n var contextProvider;\n var observable = new Observable();\n telemetryConfiguration.telemetryEnabled =\n !includes(TELEMETRY_EXCLUDED_SITES, configuration.site) && performDraw(configuration.telemetrySampleRate);\n telemetryConfiguration.telemetryConfigurationEnabled =\n telemetryConfiguration.telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate);\n onRawTelemetryEventCollected = function (rawEvent) {\n if (telemetryConfiguration.telemetryEnabled) {\n var event_1 = toTelemetryEvent(telemetryService, rawEvent);\n observable.notify(event_1);\n sendToExtension('telemetry', event_1);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0,\n });\n function toTelemetryEvent(telemetryService, event) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"4.34.3\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: event,\n experimental_features: arrayFrom(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: function (provider) {\n contextProvider = provider;\n },\n observable: observable,\n enabled: telemetryConfiguration.telemetryEnabled,\n };\n}\nexport function startFakeTelemetry() {\n var events = [];\n assign(telemetryConfiguration, {\n maxEventsPerPage: Infinity,\n sentEventCount: 0,\n });\n onRawTelemetryEventCollected = function (event) {\n events.push(event);\n };\n return events;\n}\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined;\n}\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration) {\n return configuration.site === INTAKE_SITE_STAGING;\n}\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context);\n addTelemetry(assign({\n type: TelemetryType.log,\n message: message,\n status: \"debug\" /* debug */,\n }, context));\n}\nexport function addTelemetryError(e) {\n addTelemetry(assign({\n type: TelemetryType.log,\n status: \"error\" /* error */,\n }, formatError(e)));\n}\nexport function addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryConfigurationEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration: configuration,\n });\n }\n}\nfunction addTelemetry(event) {\n if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {\n telemetryConfiguration.sentEventCount += 1;\n onRawTelemetryEventCollected(event);\n }\n}\nexport function formatError(e) {\n if (e instanceof Error) {\n var stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: 'Not an instance of error',\n },\n message: \"Uncaught \".concat(jsonStringify(e)),\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return startsWith(frame.url, allowedFrameUrl); }); });\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","export var TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { startsWith } from '../../tools/utils';\nvar UNKNOWN_FUNCTION = '?';\n/**\n * Computes a stack trace for an exception.\n */\nexport function computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n var exString = String(ex);\n if (stackProperty && startsWith(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n };\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack||\\\\w+\\\\.|\\\\/).*?)';\nvar filePosition = '(?::(\\\\d+))';\nvar CHROME_LINE_RE = new RegExp(\"^\\\\s*at (.*?) ?\\\\(\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"?\\\\)?\\\\s*$\"), 'i');\nvar CHROME_EVAL_RE = new RegExp(\"\\\\((\\\\S*)\".concat(filePosition).concat(filePosition, \"\\\\)\"));\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\"^\\\\s*at ?\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"??\\\\s*$\"), 'i');\nfunction parseChromeAnonymousLine(line) {\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nvar GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { display } from '../../tools/display';\nimport { assign, getType } from '../../tools/utils';\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n var user = assign({}, newUser);\n var keys = ['id', 'name', 'email'];\n keys.forEach(function (key) {\n if (key in user) {\n user[key] = String(user[key]);\n }\n });\n return user;\n}\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n var isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\n//# sourceMappingURL=user.js.map","var BUFFER_LIMIT = 500;\nvar BoundedBuffer = /** @class */ (function () {\n function BoundedBuffer() {\n this.buffer = [];\n }\n BoundedBuffer.prototype.add = function (callback) {\n var length = this.buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n this.buffer.splice(0, 1);\n }\n };\n BoundedBuffer.prototype.drain = function () {\n this.buffer.forEach(function (callback) { return callback(); });\n this.buffer.length = 0;\n };\n return BoundedBuffer;\n}());\nexport { BoundedBuffer };\n//# sourceMappingURL=boundedBuffer.js.map","export function isIE() {\n return Boolean(document.documentMode);\n}\nexport function isChromium() {\n return !!window.chrome || /HeadlessChrome/.test(window.navigator.userAgent);\n}\n//# sourceMappingURL=browserDetection.js.map","import { display } from './display';\nexport function catchUserErrors(fn, errorMsg) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n return fn.apply(void 0, args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n//# sourceMappingURL=catchUserErrors.js.map","import { relativeNow } from './timeUtils';\nimport { ONE_MINUTE } from './utils';\nvar END_OF_TIMES = Infinity;\nexport var CLEAR_OLD_CONTEXTS_INTERVAL = ONE_MINUTE;\n/**\n * Store and keep track of contexts spans. This whole class assumes that contexts are added in\n * chronological order (i.e. all entries have an increasing start time).\n */\nvar ContextHistory = /** @class */ (function () {\n function ContextHistory(expireDelay) {\n var _this = this;\n this.expireDelay = expireDelay;\n this.entries = [];\n this.clearOldContextsInterval = setInterval(function () { return _this.clearOldContexts(); }, CLEAR_OLD_CONTEXTS_INTERVAL);\n }\n /**\n * Add a context to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n ContextHistory.prototype.add = function (context, startTime) {\n var _this = this;\n var entry = {\n context: context,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n var index = _this.entries.indexOf(entry);\n if (index >= 0) {\n _this.entries.splice(index, 1);\n }\n },\n close: function (endTime) {\n entry.endTime = endTime;\n },\n };\n this.entries.unshift(entry);\n return entry;\n };\n /**\n * Return the latest context that was active during `startTime`, or the currently active context\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n */\n ContextHistory.prototype.find = function (startTime) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n for (var _i = 0, _a = this.entries; _i < _a.length; _i++) {\n var entry = _a[_i];\n if (entry.startTime <= startTime) {\n if (startTime <= entry.endTime) {\n return entry.context;\n }\n break;\n }\n }\n };\n /**\n * Helper function to close the currently active context, if any. This method assumes that entries\n * are not overlapping.\n */\n ContextHistory.prototype.closeActive = function (endTime) {\n var latestEntry = this.entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n };\n /**\n * Return all contexts that were active during `startTime`, or all currently active contexts if no\n * `startTime` is provided.\n */\n ContextHistory.prototype.findAll = function (startTime) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n return this.entries\n .filter(function (entry) { return entry.startTime <= startTime && startTime <= entry.endTime; })\n .map(function (entry) { return entry.context; });\n };\n /**\n * Remove all entries from this collection.\n */\n ContextHistory.prototype.reset = function () {\n this.entries = [];\n };\n /**\n * Stop internal garbage collection of past entries.\n */\n ContextHistory.prototype.stop = function () {\n clearInterval(this.clearOldContextsInterval);\n };\n ContextHistory.prototype.clearOldContexts = function () {\n var oldTimeThreshold = relativeNow() - this.expireDelay;\n while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {\n this.entries.pop();\n }\n };\n return ContextHistory;\n}());\nexport { ContextHistory };\n//# sourceMappingURL=contextHistory.js.map","import { computeBytesCount, deepClone, jsonStringify } from './utils';\nexport function createContextManager(computeBytesCountImpl) {\n if (computeBytesCountImpl === void 0) { computeBytesCountImpl = computeBytesCount; }\n var context = {};\n var bytesCountCache;\n return {\n getBytesCount: function () {\n if (bytesCountCache === undefined) {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context));\n }\n return bytesCountCache;\n },\n /** @deprecated use getContext instead */\n get: function () { return context; },\n /** @deprecated use setContextProperty instead */\n add: function (key, value) {\n context[key] = value;\n bytesCountCache = undefined;\n },\n /** @deprecated renamed to removeContextProperty */\n remove: function (key) {\n delete context[key];\n bytesCountCache = undefined;\n },\n /** @deprecated use setContext instead */\n set: function (newContext) {\n context = newContext;\n bytesCountCache = undefined;\n },\n getContext: function () { return deepClone(context); },\n setContext: function (newContext) {\n context = deepClone(newContext);\n bytesCountCache = undefined;\n },\n setContextProperty: function (key, property) {\n context[key] = deepClone(property);\n bytesCountCache = undefined;\n },\n removeContextProperty: function (key) {\n delete context[key];\n bytesCountCache = undefined;\n },\n clearContext: function () {\n context = {};\n bytesCountCache = undefined;\n },\n };\n}\n//# sourceMappingURL=contextManager.js.map","import { setTimeout } from '../browser/timer';\nimport { ErrorSource } from './error';\nimport { clocksNow } from './timeUtils';\nimport { ONE_MINUTE } from './utils';\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: \"Reached max number of \".concat(eventType, \"s by minute: \").concat(limit),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n//# sourceMappingURL=createEventRateLimiter.js.map","/* eslint-disable no-console, local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nexport var ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\nexport var display = function (api) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!Object.prototype.hasOwnProperty.call(ConsoleApiName, api)) {\n api = ConsoleApiName.log;\n }\n display[api].apply(display, args);\n};\ndisplay.debug = console.debug.bind(console);\ndisplay.log = console.log.bind(console);\ndisplay.info = console.info.bind(console);\ndisplay.warn = console.warn.bind(console);\ndisplay.error = console.error.bind(console);\n//# sourceMappingURL=display.js.map","import { computeStackTrace } from '../domain/tracekit';\nimport { callMonitored } from './monitor';\nimport { jsonStringify, noop } from './utils';\nexport var ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\nexport function computeRawError(_a) {\n var stackTrace = _a.stackTrace, originalError = _a.originalError, handlingStack = _a.handlingStack, startClocks = _a.startClocks, nonErrorPrefix = _a.nonErrorPrefix, source = _a.source, handling = _a.handling;\n if (!stackTrace || (stackTrace.message === undefined && !(originalError instanceof Error))) {\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n originalError: originalError,\n message: \"\".concat(nonErrorPrefix, \" \").concat(jsonStringify(originalError)),\n stack: 'No stack, consider using an instance of Error',\n handlingStack: handlingStack,\n type: stackTrace && stackTrace.name,\n };\n }\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n originalError: originalError,\n message: stackTrace.message || 'Empty message',\n stack: toStackTraceString(stackTrace),\n handlingStack: handlingStack,\n type: stackTrace.name,\n causes: flattenErrorCauses(originalError, source),\n };\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (e) {\n noop();\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error;\n var causes = [];\n while ((currentError === null || currentError === void 0 ? void 0 : currentError.cause) instanceof Error && causes.length < 10) {\n var stackTrace = computeStackTrace(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\n//# sourceMappingURL=error.js.map","/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n var browserWindow = window;\n var original;\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = target[browserWindow.Zone.__symbol__(name)];\n }\n if (!original) {\n original = target[name];\n }\n return original;\n}\n//# sourceMappingURL=getZoneJsOriginalValue.js.map","import { setTimeout } from '../browser/timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils';\nexport function instrumentMethod(object, method, instrumentationFactory) {\n var original = object[method];\n var instrumentation = instrumentationFactory(original);\n var instrumentationWrapper = function () {\n if (typeof instrumentation !== 'function') {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return instrumentation.apply(this, arguments);\n };\n object[method] = instrumentationWrapper;\n return {\n stop: function () {\n if (object[method] === instrumentationWrapper) {\n object[method] = original;\n }\n else {\n instrumentation = original;\n }\n },\n };\n}\nexport function instrumentMethodAndCallOriginal(object, method, _a) {\n var before = _a.before, after = _a.after;\n return instrumentMethod(object, method, function (original) {\n return function () {\n var args = arguments;\n var result;\n if (before) {\n callMonitored(before, this, args);\n }\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, args);\n }\n if (after) {\n callMonitored(after, this, args);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n });\n}\nexport function instrumentSetter(object, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(object, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n var instrumentation = function (thisObject, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n after(thisObject, value);\n }, 0);\n };\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(object, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: function () {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(object, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(object, property, originalDescriptor);\n }\n else {\n instrumentation = noop;\n }\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { deepClone, getType } from './utils';\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object);\n var result = modifier(clone);\n modifiableFieldPaths.forEach(function (path) {\n var originalValue = get(object, path);\n var newValue = get(clone, path);\n var originalType = getType(originalValue);\n var newType = getType(newValue);\n if (newType === originalType) {\n set(object, path, newValue);\n }\n else if (originalType === 'object' && (newType === 'undefined' || newType === 'null')) {\n set(object, path, {});\n }\n });\n return result;\n}\nfunction get(object, path) {\n var current = object;\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n current = current[field];\n }\n return current;\n}\nfunction set(object, path, value) {\n var current = object;\n var fields = path.split('.');\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i];\n if (!isValidObjectContaining(current, field)) {\n return;\n }\n if (i !== fields.length - 1) {\n current = current[field];\n }\n else {\n current[field] = value;\n }\n }\n}\nfunction isValidObjectContaining(object, field) {\n return typeof object === 'object' && object !== null && Object.prototype.hasOwnProperty.call(object, field);\n}\n//# sourceMappingURL=limitModification.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { ConsoleApiName, display } from './display';\nvar onMonitorErrorCollected;\nvar debugMode = false;\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected;\n}\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode;\n}\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined;\n debugMode = false;\n}\nexport function monitored(_, __, descriptor) {\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod;\n return decorated.apply(this, args);\n };\n}\nexport function monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nexport function callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n displayIfDebugEnabled(ConsoleApiName.error, e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(ConsoleApiName.error, e);\n }\n }\n }\n}\nexport function displayIfDebugEnabled(api) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (debugMode) {\n display.apply(void 0, __spreadArray([api, '[MONITOR]'], args, false));\n }\n}\n//# sourceMappingURL=monitor.js.map","var Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe() || undefined;\n }\n this.observers.push(f);\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nexport { Observable };\nexport function mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n var globalObservable = new Observable(function () {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n return globalObservable;\n}\n//# sourceMappingURL=observable.js.map","import { monitor } from './monitor';\nimport { noop } from './utils';\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(stream, callback, options) {\n var reader = stream.getReader();\n var chunks = [];\n var readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor(function (result) {\n if (result.done) {\n onDone();\n return;\n }\n if (options.collectStreamBody) {\n chunks.push(result.value);\n }\n readBytesCount += result.value.length;\n if (readBytesCount > options.bytesLimit) {\n onDone();\n }\n else {\n readMore();\n }\n }), monitor(function (error) { return callback(error); }));\n }\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop);\n var bytes;\n var limitExceeded;\n if (options.collectStreamBody) {\n var completeBuffer_1;\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer_1 = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer_1 = new Uint8Array(readBytesCount);\n var offset_1 = 0;\n chunks.forEach(function (chunk) {\n completeBuffer_1.set(chunk, offset_1);\n offset_1 += chunk.length;\n });\n }\n bytes = completeBuffer_1.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer_1.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { addEventListener } from '../browser/addEventListener';\nexport function runOnReadyState(expectedReadyState, callback) {\n if (document.readyState === expectedReadyState || document.readyState === 'complete') {\n callback();\n }\n else {\n var eventName = expectedReadyState === 'complete' ? \"load\" /* LOAD */ : \"DOMContentLoaded\" /* DOM_CONTENT_LOADED */;\n addEventListener(window, eventName, callback, { once: true });\n }\n}\n//# sourceMappingURL=runOnReadyState.js.map","export function sendToExtension(type, payload) {\n var callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type: type, payload: payload });\n }\n}\n//# sourceMappingURL=sendToExtension.js.map","import { isNumber, ONE_YEAR, round } from './utils';\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexport function timeStampNow() {\n return dateNow();\n}\nexport function relativeNow() {\n return performance.now();\n}\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexport function elapsed(start, end) {\n return (end - start);\n}\nexport function addDuration(a, b) {\n return a + b;\n}\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nexport function getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexport function getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\nexport function resetNavigationStart() {\n navigationStart = undefined;\n}\n//# sourceMappingURL=timeUtils.js.map","import { getLinkElementOrigin, getLocationOrigin } from './utils';\nexport function normalizeUrl(url) {\n return buildUrl(url, getLocationOrigin()).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function haveSameOrigin(url1, url2) {\n return getOrigin(url1) === getOrigin(url2);\n}\nexport function getOrigin(url) {\n return getLinkElementOrigin(buildUrl(url));\n}\nexport function getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nexport function getSearch(url) {\n return buildUrl(url).search;\n}\nexport function getHash(url) {\n return buildUrl(url).hash;\n}\nexport function buildUrl(url, base) {\n if (checkURLSupported()) {\n return base !== undefined ? new URL(url, base) : new URL(url);\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nvar isURLSupported;\nfunction checkURLSupported() {\n if (isURLSupported !== undefined) {\n return isURLSupported;\n }\n try {\n var url = new URL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n return isURLSupported;\n }\n catch (_a) {\n isURLSupported = false;\n }\n return isURLSupported;\n}\n//# sourceMappingURL=urlPolyfill.js.map","import { setTimeout, clearTimeout } from '../browser/timer';\nimport { display } from './display';\nimport { monitor } from './monitor';\nexport var ONE_SECOND = 1000;\nexport var ONE_MINUTE = 60 * ONE_SECOND;\nexport var ONE_HOUR = 60 * ONE_MINUTE;\nexport var ONE_DAY = 24 * ONE_HOUR;\nexport var ONE_YEAR = 365 * ONE_DAY;\nexport var ONE_KIBI_BYTE = 1024;\nexport var ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// use lodash API\nexport function throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\nexport function assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n });\n return target;\n}\nexport function shallowClone(object) {\n return assign({}, object);\n}\n/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\n/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexport function round(num, decimals) {\n return +num.toFixed(decimals);\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n var restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n var restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nfunction detachToJsonMethod(value) {\n var object = value;\n var objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return function () {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\nexport function includes(candidate, search) {\n return candidate.indexOf(search) !== -1;\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike);\n }\n var array = [];\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) { return array.push(item); });\n }\n else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i]);\n }\n }\n return array;\n}\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i];\n if (predicate(item, i)) {\n return item;\n }\n }\n return undefined;\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\nexport function objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nexport function objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search;\n}\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search;\n}\n/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\nexport function getLocationOrigin() {\n return getLinkElementOrigin(window.location);\n}\n/**\n * IE fallback\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/origin\n */\nexport function getLinkElementOrigin(element) {\n if (element.origin) {\n return element.origin;\n }\n var sanitizedHost = element.host.replace(/(:80|:443)$/, '');\n return \"\".concat(element.protocol, \"//\").concat(sanitizedHost);\n}\nexport function findCommaSeparatedValue(rawString, name) {\n var regex = new RegExp(\"(?:^|;)\\\\s*\".concat(name, \"\\\\s*=\\\\s*([^;]+)\"));\n var matches = regex.exec(rawString);\n return matches ? matches[1] : undefined;\n}\nexport function safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\n/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n if (circularReferenceChecker === void 0) { circularReferenceChecker = createCircularReferenceChecker(); }\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n var flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value);\n}\nexport function combine() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\n/**\n * Use 'requestIdleCallback' when available: it will throttle the mutation processing if the\n * browser is busy rendering frames (ex: when frames are below 60fps). When not available, the\n * fallback on 'requestAnimationFrame' will still ensure the mutations are processed after any\n * browser rendering process (Layout, Recalculate Style, etc.), so we can serialize DOM nodes efficiently.\n *\n * Note: check both 'requestIdleCallback' and 'cancelIdleCallback' existence because some polyfills only implement 'requestIdleCallback'.\n */\nexport function requestIdleCallback(callback, opts) {\n if (window.requestIdleCallback && window.cancelIdleCallback) {\n var id_1 = window.requestIdleCallback(monitor(callback), opts);\n return function () { return window.cancelIdleCallback(id_1); };\n }\n var id = window.requestAnimationFrame(monitor(callback));\n return function () { return window.cancelAnimationFrame(id); };\n}\nexport function removeDuplicates(array) {\n var set = new Set();\n array.forEach(function (item) { return set.add(item); });\n return arrayFrom(set);\n}\nexport function isMatchOption(item) {\n var itemType = getType(item);\n return itemType === 'string' || itemType === 'function' || item instanceof RegExp;\n}\n/**\n * Returns true if value can be matched by at least one of the provided MatchOptions.\n * When comparing strings, setting useStartsWith to true will compare the value with the start of\n * the option, instead of requiring an exact match.\n */\nexport function matchList(list, value, useStartsWith) {\n if (useStartsWith === void 0) { useStartsWith = false; }\n return list.some(function (item) {\n try {\n if (typeof item === 'function') {\n return item(value);\n }\n else if (item instanceof RegExp) {\n return item.test(value);\n }\n else if (typeof item === 'string') {\n return useStartsWith ? startsWith(value, item) : item === value;\n }\n }\n catch (e) {\n display.error(e);\n }\n return false;\n });\n}\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nexport function computeBytesCount(candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n}\nexport function tryToClone(response) {\n try {\n return response.clone();\n }\n catch (e) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return;\n }\n}\n//# sourceMappingURL=utils.js.map","import { display } from '../tools/display';\nimport { computeBytesCount, jsonStringify, objectValues } from '../tools/utils';\nimport { Observable } from '../tools/observable';\nimport { setTimeout } from '../browser/timer';\nvar Batch = /** @class */ (function () {\n function Batch(request, batchMessagesLimit, batchBytesLimit, messageBytesLimit, flushTimeout, pageExitObservable) {\n var _this = this;\n this.request = request;\n this.batchMessagesLimit = batchMessagesLimit;\n this.batchBytesLimit = batchBytesLimit;\n this.messageBytesLimit = messageBytesLimit;\n this.flushTimeout = flushTimeout;\n this.pageExitObservable = pageExitObservable;\n this.flushObservable = new Observable();\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.bufferBytesCount = 0;\n this.bufferMessagesCount = 0;\n pageExitObservable.subscribe(function (event) { return _this.flush(event.reason, _this.request.sendOnExit); });\n this.flushPeriodically();\n }\n Batch.prototype.add = function (message) {\n this.addOrUpdate(message);\n };\n Batch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key);\n };\n Batch.prototype.flush = function (flushReason, sendFn) {\n if (sendFn === void 0) { sendFn = this.request.send; }\n if (this.bufferMessagesCount !== 0) {\n var messages = this.pushOnlyBuffer.concat(objectValues(this.upsertBuffer));\n var bytesCount = this.bufferBytesCount;\n this.flushObservable.notify({\n bufferBytesCount: this.bufferBytesCount,\n bufferMessagesCount: this.bufferMessagesCount,\n });\n this.pushOnlyBuffer = [];\n this.upsertBuffer = {};\n this.bufferBytesCount = 0;\n this.bufferMessagesCount = 0;\n sendFn({ data: messages.join('\\n'), bytesCount: bytesCount, flushReason: flushReason });\n }\n };\n Batch.prototype.addOrUpdate = function (message, key) {\n var _a = this.process(message), processedMessage = _a.processedMessage, messageBytesCount = _a.messageBytesCount;\n if (messageBytesCount >= this.messageBytesLimit) {\n display.warn(\"Discarded a message whose size was bigger than the maximum allowed size \".concat(this.messageBytesLimit, \"KB.\"));\n return;\n }\n if (this.hasMessageFor(key)) {\n this.remove(key);\n }\n if (this.willReachedBytesLimitWith(messageBytesCount)) {\n this.flush('batch_bytes_limit');\n }\n this.push(processedMessage, messageBytesCount, key);\n if (this.isFull()) {\n this.flush('batch_bytes_limit');\n }\n };\n Batch.prototype.process = function (message) {\n var processedMessage = jsonStringify(message);\n var messageBytesCount = computeBytesCount(processedMessage);\n return { processedMessage: processedMessage, messageBytesCount: messageBytesCount };\n };\n Batch.prototype.push = function (processedMessage, messageBytesCount, key) {\n if (this.bufferMessagesCount > 0) {\n // \\n separator at serialization\n this.bufferBytesCount += 1;\n }\n if (key !== undefined) {\n this.upsertBuffer[key] = processedMessage;\n }\n else {\n this.pushOnlyBuffer.push(processedMessage);\n }\n this.bufferBytesCount += messageBytesCount;\n this.bufferMessagesCount += 1;\n };\n Batch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key];\n delete this.upsertBuffer[key];\n var messageBytesCount = computeBytesCount(removedMessage);\n this.bufferBytesCount -= messageBytesCount;\n this.bufferMessagesCount -= 1;\n if (this.bufferMessagesCount > 0) {\n this.bufferBytesCount -= 1;\n }\n };\n Batch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined;\n };\n Batch.prototype.willReachedBytesLimitWith = function (messageBytesCount) {\n // byte of the separator at the end of the message\n return this.bufferBytesCount + messageBytesCount + 1 >= this.batchBytesLimit;\n };\n Batch.prototype.isFull = function () {\n return this.bufferMessagesCount === this.batchMessagesLimit || this.bufferBytesCount >= this.batchBytesLimit;\n };\n Batch.prototype.flushPeriodically = function () {\n var _this = this;\n setTimeout(function () {\n _this.flush('batch_duration_limit');\n _this.flushPeriodically();\n }, this.flushTimeout);\n };\n return Batch;\n}());\nexport { Batch };\n//# sourceMappingURL=batch.js.map","import { endsWith, getGlobalObject } from '../tools/utils';\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event) {\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event }));\n },\n };\n}\nexport function canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = getGlobalObject().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n var bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(function (allowedHost) { return currentHost === allowedHost || endsWith(currentHost, \".\".concat(allowedHost)); }));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","import { setTimeout } from '../browser/timer';\nimport { clocksNow } from '../tools/timeUtils';\nimport { ONE_KIBI_BYTE, ONE_MEBI_BYTE, ONE_SECOND, ONE_MINUTE } from '../tools/utils';\nimport { ErrorSource } from '../tools/error';\nexport var MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE;\nexport var MAX_ONGOING_REQUESTS = 32;\nexport var MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE;\nexport var MAX_BACKOFF_TIME = ONE_MINUTE;\nexport var INITIAL_BACKOFF_TIME = ONE_SECOND;\nexport function sendWithRetryStrategy(payload, state, sendStrategy, endpointType, reportError) {\n if (state.transportStatus === 0 /* UP */ &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)) {\n send(payload, state, sendStrategy, {\n onSuccess: function () { return retryQueuedPayloads(0 /* AFTER_SUCCESS */, state, sendStrategy, endpointType, reportError); },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload);\n scheduleRetry(state, sendStrategy, endpointType, reportError);\n },\n });\n }\n else {\n state.queuedPayloads.enqueue(payload);\n }\n}\nfunction scheduleRetry(state, sendStrategy, endpointType, reportError) {\n if (state.transportStatus !== 2 /* DOWN */) {\n return;\n }\n setTimeout(function () {\n var payload = state.queuedPayloads.first();\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue();\n state.currentBackoffTime = INITIAL_BACKOFF_TIME;\n retryQueuedPayloads(1 /* AFTER_RESUME */, state, sendStrategy, endpointType, reportError);\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(MAX_BACKOFF_TIME, state.currentBackoffTime * 2);\n scheduleRetry(state, sendStrategy, endpointType, reportError);\n },\n });\n }, state.currentBackoffTime);\n}\nfunction send(payload, state, sendStrategy, _a) {\n var onSuccess = _a.onSuccess, onFailure = _a.onFailure;\n state.bandwidthMonitor.add(payload);\n sendStrategy(payload, function (response) {\n state.bandwidthMonitor.remove(payload);\n if (!shouldRetryRequest(response)) {\n state.transportStatus = 0 /* UP */;\n onSuccess();\n }\n else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0 ? 1 /* FAILURE_DETECTED */ : 2 /* DOWN */;\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status,\n };\n onFailure();\n }\n });\n}\nfunction retryQueuedPayloads(reason, state, sendStrategy, endpointType, reportError) {\n if (reason === 0 /* AFTER_SUCCESS */ && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: \"Reached max \".concat(endpointType, \" events size queued for upload: \").concat(MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE, \"MiB\"),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n state.queueFullReported = true;\n }\n var previousQueue = state.queuedPayloads;\n state.queuedPayloads = newPayloadQueue();\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, endpointType, reportError);\n }\n}\nfunction shouldRetryRequest(response) {\n return (response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n response.status >= 500));\n}\nexport function newRetryState() {\n return {\n transportStatus: 0 /* UP */,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n };\n}\nfunction newPayloadQueue() {\n var queue = [];\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return;\n }\n queue.push(payload);\n this.bytesCount += payload.bytesCount;\n },\n first: function () {\n return queue[0];\n },\n dequeue: function () {\n var payload = queue.shift();\n if (payload) {\n this.bytesCount -= payload.bytesCount;\n }\n return payload;\n },\n size: function () {\n return queue.length;\n },\n isFull: function () {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT;\n },\n };\n}\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS));\n },\n add: function (payload) {\n this.ongoingRequestCount += 1;\n this.ongoingByteCount += payload.bytesCount;\n },\n remove: function (payload) {\n this.ongoingRequestCount -= 1;\n this.ongoingByteCount -= payload.bytesCount;\n },\n };\n}\n//# sourceMappingURL=sendWithRetryStrategy.js.map","import { addTelemetryError } from '../domain/telemetry';\nimport { monitor } from '../tools/monitor';\nimport { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy';\nexport function createHttpRequest(endpointBuilder, bytesLimit, reportError) {\n var retryState = newRetryState();\n var sendStrategyForRetry = function (payload, onResponse) {\n return fetchKeepAliveStrategy(endpointBuilder, bytesLimit, payload, onResponse);\n };\n return {\n send: function (payload) {\n sendWithRetryStrategy(payload, retryState, sendStrategyForRetry, endpointBuilder.endpointType, reportError);\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: function (payload) {\n sendBeaconStrategy(endpointBuilder, bytesLimit, payload);\n },\n };\n}\nfunction sendBeaconStrategy(endpointBuilder, bytesLimit, _a) {\n var data = _a.data, bytesCount = _a.bytesCount, flushReason = _a.flushReason;\n var canUseBeacon = !!navigator.sendBeacon && bytesCount < bytesLimit;\n if (canUseBeacon) {\n try {\n var beaconUrl = endpointBuilder.build('beacon', flushReason);\n var isQueued = navigator.sendBeacon(beaconUrl, data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n var xhrUrl = endpointBuilder.build('xhr', flushReason);\n sendXHR(xhrUrl, data);\n}\nvar hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n addTelemetryError(e);\n }\n}\nexport function fetchKeepAliveStrategy(endpointBuilder, bytesLimit, _a, onResponse) {\n var data = _a.data, bytesCount = _a.bytesCount, flushReason = _a.flushReason, retry = _a.retry;\n var canUseKeepAlive = isKeepAliveSupported() && bytesCount < bytesLimit;\n if (canUseKeepAlive) {\n var fetchUrl = endpointBuilder.build('fetch', flushReason, retry);\n fetch(fetchUrl, { method: 'POST', body: data, keepalive: true, mode: 'cors' }).then(monitor(function (response) { return onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: response.status, type: response.type }); }), monitor(function () {\n var xhrUrl = endpointBuilder.build('xhr', flushReason, retry);\n // failed to queue the request\n sendXHR(xhrUrl, data, onResponse);\n }));\n }\n else {\n var xhrUrl = endpointBuilder.build('xhr', flushReason, retry);\n sendXHR(xhrUrl, data, onResponse);\n }\n}\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a');\n }\n catch (_a) {\n return false;\n }\n}\nexport function sendXHR(url, data, onResponse) {\n var request = new XMLHttpRequest();\n var onLoadEnd = monitor(function () {\n // prevent multiple onResponse callbacks\n // if the xhr instance is reused by a third party\n request.removeEventListener('loadend', onLoadEnd);\n onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: request.status });\n });\n request.open('POST', url, true);\n request.addEventListener('loadend', onLoadEnd);\n request.send(data);\n}\n//# sourceMappingURL=httpRequest.js.map","import { serializeConfiguration, assign, ONE_KIBI_BYTE, validateAndBuildConfiguration, display, removeDuplicates, ConsoleApiName, RawReportType, includes, objectValues, } from '@datadog/browser-core';\n/**\n * arbitrary value, byte precision not needed\n */\nexport var DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT = 32 * ONE_KIBI_BYTE;\nexport function validateAndBuildLogsConfiguration(initConfiguration) {\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n var forwardConsoleLogs = validateAndBuildForwardOption(initConfiguration.forwardConsoleLogs, objectValues(ConsoleApiName), 'Forward Console Logs');\n var forwardReports = validateAndBuildForwardOption(initConfiguration.forwardReports, objectValues(RawReportType), 'Forward Reports');\n if (!baseConfiguration || !forwardConsoleLogs || !forwardReports) {\n return;\n }\n if (initConfiguration.forwardErrorsToLogs && !includes(forwardConsoleLogs, ConsoleApiName.error)) {\n forwardConsoleLogs.push(ConsoleApiName.error);\n }\n return assign({\n forwardErrorsToLogs: initConfiguration.forwardErrorsToLogs !== false,\n forwardConsoleLogs: forwardConsoleLogs,\n forwardReports: forwardReports,\n requestErrorResponseLengthLimit: DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT,\n }, baseConfiguration);\n}\nexport function validateAndBuildForwardOption(option, allowedValues, label) {\n if (option === undefined) {\n return [];\n }\n if (!(option === 'all' || (Array.isArray(option) && option.every(function (api) { return includes(allowedValues, api); })))) {\n display.error(\"\".concat(label, \" should be \\\"all\\\" or an array with allowed values \\\"\").concat(allowedValues.join('\", \"'), \"\\\"\"));\n return;\n }\n return option === 'all' ? allowedValues : removeDuplicates(option);\n}\nexport function serializeLogsConfiguration(configuration) {\n var baseSerializedInitConfiguration = serializeConfiguration(configuration);\n return assign({\n forward_errors_to_logs: configuration.forwardErrorsToLogs,\n forward_console_logs: configuration.forwardConsoleLogs,\n forward_reports: configuration.forwardReports,\n }, baseSerializedInitConfiguration);\n}\n//# sourceMappingURL=configuration.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { deepClone, assign, combine, createContextManager, ErrorSource, monitored } from '@datadog/browser-core';\nexport var StatusType = {\n debug: 'debug',\n error: 'error',\n info: 'info',\n warn: 'warn',\n};\nexport var HandlerType = {\n console: 'console',\n http: 'http',\n silent: 'silent',\n};\nexport var STATUSES = Object.keys(StatusType);\nvar Logger = /** @class */ (function () {\n function Logger(handleLogStrategy, name, handlerType, level, loggerContext) {\n if (handlerType === void 0) { handlerType = HandlerType.http; }\n if (level === void 0) { level = StatusType.debug; }\n if (loggerContext === void 0) { loggerContext = {}; }\n this.handleLogStrategy = handleLogStrategy;\n this.handlerType = handlerType;\n this.level = level;\n this.contextManager = createContextManager();\n this.contextManager.set(assign({}, loggerContext, name ? { logger: { name: name } } : undefined));\n }\n Logger.prototype.log = function (message, messageContext, status) {\n if (status === void 0) { status = StatusType.info; }\n this.handleLogStrategy({ message: message, context: deepClone(messageContext), status: status }, this);\n };\n Logger.prototype.debug = function (message, messageContext) {\n this.log(message, messageContext, StatusType.debug);\n };\n Logger.prototype.info = function (message, messageContext) {\n this.log(message, messageContext, StatusType.info);\n };\n Logger.prototype.warn = function (message, messageContext) {\n this.log(message, messageContext, StatusType.warn);\n };\n Logger.prototype.error = function (message, messageContext) {\n var errorOrigin = {\n error: {\n origin: ErrorSource.LOGGER,\n },\n };\n this.log(message, combine(errorOrigin, messageContext), StatusType.error);\n };\n Logger.prototype.setContext = function (context) {\n this.contextManager.set(context);\n };\n Logger.prototype.getContext = function () {\n return this.contextManager.get();\n };\n Logger.prototype.addContext = function (key, value) {\n this.contextManager.add(key, value);\n };\n Logger.prototype.removeContext = function (key) {\n this.contextManager.remove(key);\n };\n Logger.prototype.setHandler = function (handler) {\n this.handlerType = handler;\n };\n Logger.prototype.getHandler = function () {\n return this.handlerType;\n };\n Logger.prototype.setLevel = function (level) {\n this.level = level;\n };\n Logger.prototype.getLevel = function () {\n return this.level;\n };\n __decorate([\n monitored\n ], Logger.prototype, \"log\", null);\n return Logger;\n}());\nexport { Logger };\n//# sourceMappingURL=logger.js.map","import { Batch } from './batch';\nimport { createHttpRequest } from './httpRequest';\nexport function startBatchWithReplica(configuration, endpoint, reportError, pageExitObservable, replicaEndpoint) {\n var primaryBatch = createBatch(endpoint);\n var replicaBatch;\n if (replicaEndpoint) {\n replicaBatch = createBatch(replicaEndpoint);\n }\n function createBatch(endpointBuilder) {\n return new Batch(createHttpRequest(endpointBuilder, configuration.batchBytesLimit, reportError), configuration.batchMessagesLimit, configuration.batchBytesLimit, configuration.messageBytesLimit, configuration.flushTimeout, pageExitObservable);\n }\n return {\n add: function (message, replicated) {\n if (replicated === void 0) { replicated = true; }\n primaryBatch.add(message);\n if (replicaBatch && replicated) {\n replicaBatch.add(message);\n }\n },\n };\n}\n//# sourceMappingURL=startBatchWithReplica.js.map","import { performDraw, startSessionManager } from '@datadog/browser-core';\nexport var LOGS_SESSION_KEY = 'logs';\nexport function startLogsSessionManager(configuration) {\n var sessionManager = startSessionManager(configuration.cookieOptions, LOGS_SESSION_KEY, function (rawTrackingType) {\n return computeSessionState(configuration, rawTrackingType);\n });\n return {\n findTrackedSession: function (startTime) {\n var session = sessionManager.findActiveSession(startTime);\n return session && session.trackingType === \"1\" /* TRACKED */\n ? {\n id: session.id,\n }\n : undefined;\n },\n };\n}\nexport function startLogsSessionManagerStub(configuration) {\n var isTracked = computeTrackingType(configuration) === \"1\" /* TRACKED */;\n var session = isTracked ? {} : undefined;\n return {\n findTrackedSession: function () { return session; },\n };\n}\nfunction computeTrackingType(configuration) {\n if (!performDraw(configuration.sessionSampleRate)) {\n return \"0\" /* NOT_TRACKED */;\n }\n return \"1\" /* TRACKED */;\n}\nfunction computeSessionState(configuration, rawSessionType) {\n var trackingType = hasValidLoggerSession(rawSessionType) ? rawSessionType : computeTrackingType(configuration);\n return {\n trackingType: trackingType,\n isTracked: trackingType === \"1\" /* TRACKED */,\n };\n}\nfunction hasValidLoggerSession(trackingType) {\n return trackingType === \"0\" /* NOT_TRACKED */ || trackingType === \"1\" /* TRACKED */;\n}\n//# sourceMappingURL=logsSessionManager.js.map","var _a;\nimport { includes, display, combine, ErrorSource, timeStampNow } from '@datadog/browser-core';\nimport { StatusType, HandlerType } from '../../logger';\nexport var STATUS_PRIORITIES = (_a = {},\n _a[StatusType.debug] = 0,\n _a[StatusType.info] = 1,\n _a[StatusType.warn] = 2,\n _a[StatusType.error] = 3,\n _a);\nexport function startLoggerCollection(lifeCycle) {\n function handleLog(logsMessage, logger, savedCommonContext, savedDate) {\n var messageContext = logsMessage.context;\n if (isAuthorized(logsMessage.status, HandlerType.console, logger)) {\n display(logsMessage.status, logsMessage.message, combine(logger.getContext(), messageContext));\n }\n lifeCycle.notify(0 /* RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n date: savedDate || timeStampNow(),\n message: logsMessage.message,\n status: logsMessage.status,\n origin: ErrorSource.LOGGER,\n },\n messageContext: messageContext,\n savedCommonContext: savedCommonContext,\n logger: logger,\n });\n }\n return {\n handleLog: handleLog,\n };\n}\nexport function isAuthorized(status, handlerType, logger) {\n var loggerHandler = logger.getHandler();\n var sanitizedHandlerType = Array.isArray(loggerHandler) ? loggerHandler : [loggerHandler];\n return (STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] && includes(sanitizedHandlerType, handlerType));\n}\n//# sourceMappingURL=loggerCollection.js.map","import { getSyntheticsResultId, getSyntheticsTestId, addTelemetryDebug, willSyntheticsInjectRum, ErrorSource, combine, createEventRateLimiter, getRelativeTime, isEmptyObject, } from '@datadog/browser-core';\nimport { STATUSES, HandlerType } from './logger';\nimport { isAuthorized } from './logsCollection/logger/loggerCollection';\nexport function startLogsAssembly(sessionManager, configuration, lifeCycle, buildCommonContext, mainLogger, // Todo: [RUMF-1230] Remove this parameter in the next major release\nreportError) {\n var statusWithCustom = STATUSES.concat(['custom']);\n var logRateLimiters = {};\n statusWithCustom.forEach(function (status) {\n logRateLimiters[status] = createEventRateLimiter(status, configuration.eventRateLimiterThreshold, reportError);\n });\n lifeCycle.subscribe(0 /* RAW_LOG_COLLECTED */, function (_a) {\n var _b, _c, _d;\n var rawLogsEvent = _a.rawLogsEvent, _e = _a.messageContext, messageContext = _e === void 0 ? undefined : _e, _f = _a.savedCommonContext, savedCommonContext = _f === void 0 ? undefined : _f, _g = _a.logger, logger = _g === void 0 ? mainLogger : _g;\n var startTime = getRelativeTime(rawLogsEvent.date);\n var session = sessionManager.findTrackedSession(startTime);\n if (!session) {\n return;\n }\n var commonContext = savedCommonContext || buildCommonContext();\n var log = combine({\n service: configuration.service,\n session_id: session.id,\n // Insert user first to allow overrides from global context\n usr: !isEmptyObject(commonContext.user) ? commonContext.user : undefined,\n view: commonContext.view,\n }, commonContext.context, getRUMInternalContext(startTime), rawLogsEvent, logger.getContext(), messageContext);\n if (\n // Todo: [RUMF-1230] Move this check to the logger collection in the next major release\n !isAuthorized(rawLogsEvent.status, HandlerType.http, logger) ||\n ((_b = configuration.beforeSend) === null || _b === void 0 ? void 0 : _b.call(configuration, log)) === false ||\n (((_c = log.error) === null || _c === void 0 ? void 0 : _c.origin) !== ErrorSource.AGENT &&\n ((_d = logRateLimiters[log.status]) !== null && _d !== void 0 ? _d : logRateLimiters['custom']).isLimitReached())) {\n return;\n }\n lifeCycle.notify(1 /* LOG_COLLECTED */, log);\n });\n}\nvar logsSentBeforeRumInjectionTelemetryAdded = false;\nexport function getRUMInternalContext(startTime) {\n var browserWindow = window;\n if (willSyntheticsInjectRum()) {\n var context = getInternalContextFromRumGlobal(browserWindow.DD_RUM_SYNTHETICS);\n if (!context && !logsSentBeforeRumInjectionTelemetryAdded) {\n logsSentBeforeRumInjectionTelemetryAdded = true;\n addTelemetryDebug('Logs sent before RUM is injected by the synthetics worker', {\n testId: getSyntheticsTestId(),\n resultId: getSyntheticsResultId(),\n });\n }\n return context;\n }\n return getInternalContextFromRumGlobal(browserWindow.DD_RUM);\n function getInternalContextFromRumGlobal(rumGlobal) {\n if (rumGlobal && rumGlobal.getInternalContext) {\n return rumGlobal.getInternalContext(startTime);\n }\n }\n}\nexport function resetRUMInternalContext() {\n logsSentBeforeRumInjectionTelemetryAdded = false;\n}\n//# sourceMappingURL=assembly.js.map","var _a;\nimport { timeStampNow, ConsoleApiName, ErrorSource, initConsoleObservable } from '@datadog/browser-core';\nimport { StatusType } from '../../logger';\nvar LogStatusForApi = (_a = {},\n _a[ConsoleApiName.log] = StatusType.info,\n _a[ConsoleApiName.debug] = StatusType.debug,\n _a[ConsoleApiName.info] = StatusType.info,\n _a[ConsoleApiName.warn] = StatusType.warn,\n _a[ConsoleApiName.error] = StatusType.error,\n _a);\nexport function startConsoleCollection(configuration, lifeCycle) {\n var consoleSubscription = initConsoleObservable(configuration.forwardConsoleLogs).subscribe(function (log) {\n lifeCycle.notify(0 /* RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: log.message,\n origin: ErrorSource.CONSOLE,\n error: log.api === ConsoleApiName.error\n ? {\n origin: ErrorSource.CONSOLE,\n stack: log.stack,\n }\n : undefined,\n status: LogStatusForApi[log.api],\n },\n });\n });\n return {\n stop: function () {\n consoleSubscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=consoleCollection.js.map","var _a;\nimport { timeStampNow, ErrorSource, RawReportType, getFileFromStackTraceString, initReportObservable, } from '@datadog/browser-core';\nimport { StatusType } from '../../logger';\nvar LogStatusForReport = (_a = {},\n _a[RawReportType.cspViolation] = StatusType.error,\n _a[RawReportType.intervention] = StatusType.error,\n _a[RawReportType.deprecation] = StatusType.warn,\n _a);\nexport function startReportCollection(configuration, lifeCycle) {\n var reportSubscription = initReportObservable(configuration.forwardReports).subscribe(function (report) {\n var message = report.message;\n var status = LogStatusForReport[report.type];\n var error;\n if (status === StatusType.error) {\n error = {\n kind: report.subtype,\n origin: ErrorSource.REPORT,\n stack: report.stack,\n };\n }\n else if (report.stack) {\n message += \" Found in \".concat(getFileFromStackTraceString(report.stack));\n }\n lifeCycle.notify(0 /* RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: message,\n origin: ErrorSource.REPORT,\n error: error,\n status: status,\n },\n });\n });\n return {\n stop: function () {\n reportSubscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=reportCollection.js.map","import { ErrorSource, initXhrObservable, initFetchObservable, computeStackTrace, toStackTraceString, monitor, noop, readBytesFromStream, tryToClone, } from '@datadog/browser-core';\nimport { StatusType } from '../../logger';\nexport function startNetworkErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop };\n }\n var xhrSubscription = initXhrObservable().subscribe(function (context) {\n if (context.state === 'complete') {\n handleResponse(\"xhr\" /* XHR */, context);\n }\n });\n var fetchSubscription = initFetchObservable().subscribe(function (context) {\n if (context.state === 'resolve') {\n handleResponse(\"fetch\" /* FETCH */, context);\n }\n });\n function handleResponse(type, request) {\n if (!configuration.isIntakeUrl(request.url) && (isRejected(request) || isServerError(request))) {\n if ('xhr' in request) {\n computeXhrResponseData(request.xhr, configuration, onResponseDataAvailable);\n }\n else if (request.response) {\n computeFetchResponseText(request.response, configuration, onResponseDataAvailable);\n }\n else if (request.error) {\n computeFetchErrorText(request.error, configuration, onResponseDataAvailable);\n }\n }\n function onResponseDataAvailable(responseData) {\n lifeCycle.notify(0 /* RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n message: \"\".concat(format(type), \" error \").concat(request.method, \" \").concat(request.url),\n date: request.startClocks.timeStamp,\n error: {\n origin: ErrorSource.NETWORK,\n stack: responseData || 'Failed to load',\n },\n http: {\n method: request.method,\n status_code: request.status,\n url: request.url,\n },\n status: StatusType.error,\n origin: ErrorSource.NETWORK,\n },\n });\n }\n }\n return {\n stop: function () {\n xhrSubscription.unsubscribe();\n fetchSubscription.unsubscribe();\n },\n };\n}\n// TODO: ideally, computeXhrResponseData should always call the callback with a string instead of\n// `unknown`. But to keep backward compatibility, in the case of XHR with a `responseType` different\n// than \"text\", the response data should be whatever `xhr.response` is. This is a bit confusing as\n// Logs event 'stack' is expected to be a string. This should be changed in a future major version\n// as it could be a breaking change.\nexport function computeXhrResponseData(xhr, configuration, callback) {\n if (typeof xhr.response === 'string') {\n callback(truncateResponseText(xhr.response, configuration));\n }\n else {\n callback(xhr.response);\n }\n}\nexport function computeFetchErrorText(error, configuration, callback) {\n callback(truncateResponseText(toStackTraceString(computeStackTrace(error)), configuration));\n}\nexport function computeFetchResponseText(response, configuration, callback) {\n var clonedResponse = tryToClone(response);\n if (!clonedResponse || !clonedResponse.body) {\n // if the clone failed or if the body is null, let's not try to read it.\n callback();\n }\n else if (!window.TextDecoder) {\n // If the browser doesn't support TextDecoder, let's read the whole response then truncate it.\n //\n // This should only be the case on early versions of Edge (before they migrated to Chromium).\n // Even if it could be possible to implement a workaround for the missing TextDecoder API (using\n // a Blob and FileReader), we found another issue preventing us from reading only the first\n // bytes from the response: contrary to other browsers, when reading from the cloned response,\n // if the original response gets canceled, the cloned response is also canceled and we can't\n // know about it. In the following illustration, the promise returned by `reader.read()` may\n // never be fulfilled:\n //\n // fetch('/').then((response) => {\n // const reader = response.clone().body.getReader()\n // readMore()\n // function readMore() {\n // reader.read().then(\n // (result) => {\n // if (result.done) {\n // console.log('done')\n // } else {\n // readMore()\n // }\n // },\n // () => console.log('error')\n // )\n // }\n // response.body.getReader().cancel()\n // })\n clonedResponse.text().then(monitor(function (text) { return callback(truncateResponseText(text, configuration)); }), monitor(function (error) { return callback(\"Unable to retrieve response: \".concat(error)); }));\n }\n else {\n truncateResponseStream(clonedResponse.body, configuration.requestErrorResponseLengthLimit, function (error, responseText) {\n if (error) {\n callback(\"Unable to retrieve response: \".concat(error));\n }\n else {\n callback(responseText);\n }\n });\n }\n}\nfunction isRejected(request) {\n return request.status === 0 && request.responseType !== 'opaque';\n}\nfunction isServerError(request) {\n return request.status >= 500;\n}\nfunction truncateResponseText(responseText, configuration) {\n if (responseText.length > configuration.requestErrorResponseLengthLimit) {\n return \"\".concat(responseText.substring(0, configuration.requestErrorResponseLengthLimit), \"...\");\n }\n return responseText;\n}\nfunction format(type) {\n if (\"xhr\" /* XHR */ === type) {\n return 'XHR';\n }\n return 'Fetch';\n}\nfunction truncateResponseStream(stream, bytesLimit, callback) {\n readBytesFromStream(stream, function (error, bytes, limitExceeded) {\n if (error) {\n callback(error);\n }\n else {\n var responseText = new TextDecoder().decode(bytes);\n if (limitExceeded) {\n responseText += '...';\n }\n callback(undefined, responseText);\n }\n }, {\n bytesLimit: bytesLimit,\n collectStreamBody: true,\n });\n}\n//# sourceMappingURL=networkErrorCollection.js.map","var LifeCycle = /** @class */ (function () {\n function LifeCycle() {\n this.callbacks = {};\n }\n LifeCycle.prototype.notify = function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach(function (callback) { return callback(data); });\n }\n };\n LifeCycle.prototype.subscribe = function (eventType, callback) {\n var _this = this;\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = _this.callbacks[eventType].filter(function (other) { return callback !== other; });\n },\n };\n };\n return LifeCycle;\n}());\nexport { LifeCycle };\n//# sourceMappingURL=lifeCycle.js.map","import { defineGlobal, getGlobalObject } from '@datadog/browser-core';\nimport { makeLogsPublicApi } from '../boot/logsPublicApi';\nimport { startLogs } from '../boot/startLogs';\nexport { Logger, StatusType, HandlerType } from '../domain/logger';\nexport var datadogLogs = makeLogsPublicApi(startLogs);\ndefineGlobal(getGlobalObject(), 'DD_LOGS', datadogLogs);\n//# sourceMappingURL=main.js.map","import { assign, BoundedBuffer, createContextManager, makePublicApi, monitor, display, deepClone, canUseEventBridge, timeStampNow, checkUser, sanitizeUser, } from '@datadog/browser-core';\nimport { validateAndBuildLogsConfiguration } from '../domain/configuration';\nimport { Logger } from '../domain/logger';\nexport function makeLogsPublicApi(startLogsImpl) {\n var isAlreadyInitialized = false;\n var globalContextManager = createContextManager();\n var userContextManager = createContextManager();\n var customLoggers = {};\n var getInternalContextStrategy = function () { return undefined; };\n var beforeInitLoggerLog = new BoundedBuffer();\n var handleLogStrategy = function (logsMessage, logger, savedCommonContext, date) {\n if (savedCommonContext === void 0) { savedCommonContext = deepClone(buildCommonContext()); }\n if (date === void 0) { date = timeStampNow(); }\n beforeInitLoggerLog.add(function () { return handleLogStrategy(logsMessage, logger, savedCommonContext, date); });\n };\n var getInitConfigurationStrategy = function () { return undefined; };\n var mainLogger = new Logger(function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return handleLogStrategy.apply(void 0, params);\n });\n function buildCommonContext() {\n return {\n view: {\n referrer: document.referrer,\n url: window.location.href,\n },\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n };\n }\n return makePublicApi({\n logger: mainLogger,\n init: monitor(function (initConfiguration) {\n var _a;\n // This function should be available, regardless of initialization success.\n getInitConfigurationStrategy = function () { return deepClone(initConfiguration); };\n if (canUseEventBridge()) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n if (!canInitLogs(initConfiguration)) {\n return;\n }\n var configuration = validateAndBuildLogsConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n ;\n (_a = startLogsImpl(initConfiguration, configuration, buildCommonContext, mainLogger), handleLogStrategy = _a.handleLog, getInternalContextStrategy = _a.getInternalContext);\n beforeInitLoggerLog.drain();\n isAlreadyInitialized = true;\n }),\n /** @deprecated: use getGlobalContext instead */\n getLoggerGlobalContext: monitor(globalContextManager.get),\n getGlobalContext: monitor(globalContextManager.getContext),\n /** @deprecated: use setGlobalContext instead */\n setLoggerGlobalContext: monitor(globalContextManager.set),\n setGlobalContext: monitor(globalContextManager.setContext),\n /** @deprecated: use setGlobalContextProperty instead */\n addLoggerGlobalContext: monitor(globalContextManager.add),\n setGlobalContextProperty: monitor(globalContextManager.setContextProperty),\n /** @deprecated: use removeGlobalContextProperty instead */\n removeLoggerGlobalContext: monitor(globalContextManager.remove),\n removeGlobalContextProperty: monitor(globalContextManager.removeContextProperty),\n clearGlobalContext: monitor(globalContextManager.clearContext),\n createLogger: monitor(function (name, conf) {\n if (conf === void 0) { conf = {}; }\n customLoggers[name] = new Logger(function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return handleLogStrategy.apply(void 0, params);\n }, name, conf.handler, conf.level, conf.context);\n return customLoggers[name];\n }),\n getLogger: monitor(function (name) { return customLoggers[name]; }),\n getInitConfiguration: monitor(function () { return getInitConfigurationStrategy(); }),\n getInternalContext: monitor(function (startTime) { return getInternalContextStrategy(startTime); }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n }),\n getUser: monitor(userContextManager.getContext),\n setUserProperty: monitor(function (key, property) {\n var _a;\n var sanitizedProperty = sanitizeUser((_a = {}, _a[key] = property, _a))[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n }),\n removeUserProperty: monitor(userContextManager.removeContextProperty),\n clearUser: monitor(userContextManager.clearContext),\n });\n function overrideInitConfigurationForBridge(initConfiguration) {\n return assign({}, initConfiguration, { clientToken: 'empty' });\n }\n function canInitLogs(initConfiguration) {\n if (isAlreadyInitialized) {\n if (!initConfiguration.silentMultipleInit) {\n display.error('DD_LOGS is already initialized.');\n }\n return false;\n }\n return true;\n }\n}\n//# sourceMappingURL=logsPublicApi.js.map","import { sendToExtension, createPageExitObservable, willSyntheticsInjectRum, areCookiesAuthorized, canUseEventBridge, getEventBridge, startTelemetry, startBatchWithReplica, isTelemetryReplicationAllowed, ErrorSource, addTelemetryConfiguration, } from '@datadog/browser-core';\nimport { startLogsSessionManager, startLogsSessionManagerStub } from '../domain/logsSessionManager';\nimport { serializeLogsConfiguration } from '../domain/configuration';\nimport { startLogsAssembly, getRUMInternalContext } from '../domain/assembly';\nimport { startConsoleCollection } from '../domain/logsCollection/console/consoleCollection';\nimport { startReportCollection } from '../domain/logsCollection/report/reportCollection';\nimport { startNetworkErrorCollection } from '../domain/logsCollection/networkError/networkErrorCollection';\nimport { startRuntimeErrorCollection } from '../domain/logsCollection/runtimeError/runtimeErrorCollection';\nimport { LifeCycle } from '../domain/lifeCycle';\nimport { startLoggerCollection } from '../domain/logsCollection/logger/loggerCollection';\nimport { startLogsBatch } from '../transport/startLogsBatch';\nimport { startLogsBridge } from '../transport/startLogsBridge';\nimport { StatusType } from '../domain/logger';\nimport { startInternalContext } from '../domain/internalContext';\nexport function startLogs(initConfiguration, configuration, buildCommonContext, mainLogger) {\n var lifeCycle = new LifeCycle();\n lifeCycle.subscribe(1 /* LOG_COLLECTED */, function (log) { return sendToExtension('logs', log); });\n var reportError = function (error) {\n return lifeCycle.notify(0 /* RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n message: error.message,\n date: error.startClocks.timeStamp,\n error: {\n origin: ErrorSource.AGENT, // Todo: Remove in the next major release\n },\n origin: ErrorSource.AGENT,\n status: StatusType.error,\n },\n });\n };\n var pageExitObservable = createPageExitObservable();\n var telemetry = startLogsTelemetry(configuration, reportError, pageExitObservable);\n telemetry.setContextProvider(function () {\n var _a, _b, _c, _d, _e, _f;\n return ({\n application: {\n id: (_a = getRUMInternalContext()) === null || _a === void 0 ? void 0 : _a.application_id,\n },\n session: {\n id: (_b = session.findTrackedSession()) === null || _b === void 0 ? void 0 : _b.id,\n },\n view: {\n id: (_d = (_c = getRUMInternalContext()) === null || _c === void 0 ? void 0 : _c.view) === null || _d === void 0 ? void 0 : _d.id,\n },\n action: {\n id: (_f = (_e = getRUMInternalContext()) === null || _e === void 0 ? void 0 : _e.user_action) === null || _f === void 0 ? void 0 : _f.id,\n },\n });\n });\n startNetworkErrorCollection(configuration, lifeCycle);\n startRuntimeErrorCollection(configuration, lifeCycle);\n startConsoleCollection(configuration, lifeCycle);\n startReportCollection(configuration, lifeCycle);\n var handleLog = startLoggerCollection(lifeCycle).handleLog;\n var session = areCookiesAuthorized(configuration.cookieOptions) && !canUseEventBridge() && !willSyntheticsInjectRum()\n ? startLogsSessionManager(configuration)\n : startLogsSessionManagerStub(configuration);\n startLogsAssembly(session, configuration, lifeCycle, buildCommonContext, mainLogger, reportError);\n if (!canUseEventBridge()) {\n startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable);\n }\n else {\n startLogsBridge(lifeCycle);\n }\n addTelemetryConfiguration(serializeLogsConfiguration(initConfiguration));\n var internalContext = startInternalContext(session);\n return {\n handleLog: handleLog,\n getInternalContext: internalContext.get,\n };\n}\nfunction startLogsTelemetry(configuration, reportError, pageExitObservable) {\n var _a;\n var telemetry = startTelemetry(\"browser-logs-sdk\" /* LOGS */, configuration);\n if (canUseEventBridge()) {\n var bridge_1 = getEventBridge();\n telemetry.observable.subscribe(function (event) { return bridge_1.send('internal_telemetry', event); });\n }\n else {\n var telemetryBatch_1 = startBatchWithReplica(configuration, configuration.rumEndpointBuilder, reportError, pageExitObservable, (_a = configuration.replica) === null || _a === void 0 ? void 0 : _a.rumEndpointBuilder);\n telemetry.observable.subscribe(function (event) { return telemetryBatch_1.add(event, isTelemetryReplicationAllowed(configuration)); });\n }\n return telemetry;\n}\n//# sourceMappingURL=startLogs.js.map","import { noop, ErrorSource, trackRuntimeError, Observable } from '@datadog/browser-core';\nimport { StatusType } from '../../logger';\nexport function startRuntimeErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop };\n }\n var rawErrorObservable = new Observable();\n var stopRuntimeErrorTracking = trackRuntimeError(rawErrorObservable).stop;\n var rawErrorSubscription = rawErrorObservable.subscribe(function (rawError) {\n lifeCycle.notify(0 /* RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n message: rawError.message,\n date: rawError.startClocks.timeStamp,\n error: {\n kind: rawError.type,\n origin: ErrorSource.SOURCE,\n stack: rawError.stack,\n },\n origin: ErrorSource.SOURCE,\n status: StatusType.error,\n },\n });\n });\n return {\n stop: function () {\n stopRuntimeErrorTracking();\n rawErrorSubscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=runtimeErrorCollection.js.map","export function startInternalContext(sessionManager) {\n return {\n get: function (startTime) {\n var trackedSession = sessionManager.findTrackedSession(startTime);\n if (trackedSession) {\n return {\n session_id: trackedSession.id,\n };\n }\n },\n };\n}\n//# sourceMappingURL=internalContext.js.map","import { getEventBridge } from '@datadog/browser-core';\nexport function startLogsBridge(lifeCycle) {\n var bridge = getEventBridge();\n lifeCycle.subscribe(1 /* LOG_COLLECTED */, function (serverLogsEvent) {\n bridge.send('log', serverLogsEvent);\n });\n}\n//# sourceMappingURL=startLogsBridge.js.map","import { startBatchWithReplica } from '@datadog/browser-core';\nexport function startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable) {\n var _a;\n var batch = startBatchWithReplica(configuration, configuration.logsEndpointBuilder, reportError, pageExitObservable, (_a = configuration.replica) === null || _a === void 0 ? void 0 : _a.logsEndpointBuilder);\n lifeCycle.subscribe(1 /* LOG_COLLECTED */, function (serverLogsEvent) {\n batch.add(serverLogsEvent);\n });\n}\n//# sourceMappingURL=startLogsBatch.js.map","import { create } from 'jss';\nimport preset from 'jss-preset-default';\n\n// Since we are in a single sheet mode, user shouldn't care about this.\n\nvar MAX_RULES_PER_SHEET = 10000;\nvar defaultJss = create(preset());\n\nvar createCss = function createCss(jss) {\n if (jss === void 0) {\n jss = defaultJss;\n }\n\n var cache = new Map();\n var ruleIndex = 0;\n var sheet;\n\n var getSheet = function getSheet() {\n if (!sheet || sheet.rules.index.length > MAX_RULES_PER_SHEET) {\n sheet = jss.createStyleSheet().attach();\n }\n\n return sheet;\n };\n\n function css() {\n // eslint-disable-next-line prefer-rest-params\n var args = arguments; // We can avoid the need for stringification with a babel plugin,\n // which could generate a hash at build time and add it to the object.\n\n var argsStr = JSON.stringify(args);\n var cached = cache.get(argsStr);\n if (cached) return cached.className;\n var flatArgs = []; // Flatten arguments which can be\n // - style objects\n // - array of style objects\n // - arrays of style objects\n\n for (var argIndex in args) {\n var arg = args[argIndex];\n\n if (!Array.isArray(arg)) {\n flatArgs.push(arg);\n continue;\n }\n\n for (var innerArgIndex = 0; innerArgIndex < arg.length; innerArgIndex++) {\n flatArgs.push(arg[innerArgIndex]);\n }\n }\n\n var mergedStyle = {};\n var labels = [];\n\n for (var i = 0; i < flatArgs.length; i++) {\n var style = flatArgs[i];\n if (!style) continue;\n var styleObject = style; // It can be a class name that css() has previously generated.\n\n if (typeof style === 'string') {\n // eslint-disable-next-line no-shadow\n var _cached = cache.get(style);\n\n if (_cached) {\n // eslint-disable-next-line prefer-spread\n if (_cached.labels.length) labels.push.apply(labels, _cached.labels);\n styleObject = _cached.style;\n }\n }\n\n if (styleObject.label && labels.indexOf(styleObject.label) === -1) labels.push(styleObject.label);\n Object.assign(mergedStyle, styleObject);\n }\n\n delete mergedStyle.label;\n var label = labels.length === 0 ? 'css' : labels.join('-');\n var key = label + \"-\" + ruleIndex++;\n getSheet().addRule(key, mergedStyle);\n var className = getSheet().classes[key];\n var cacheValue = {\n style: mergedStyle,\n labels: labels,\n className: className\n };\n cache.set(argsStr, cacheValue);\n cache.set(className, cacheValue);\n return className;\n } // For testing only.\n\n\n css.getSheet = getSheet;\n return css;\n};\n\nvar css = createCss();\n\nexport default css;\nexport { createCss as create };\n","import isInBrowser from 'is-in-browser';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\n\n// Export javascript style and css style vendor prefixes.\nvar js = '';\nvar css = '';\nvar vendor = '';\nvar browser = '';\nvar isTouch = isInBrowser && 'ontouchstart' in document.documentElement; // We should not do anything if required serverside.\n\nif (isInBrowser) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n\n var _document$createEleme = document.createElement('p'),\n style = _document$createEleme.style;\n\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n } // Correctly detect the Edge browser.\n\n\n if (js === 'Webkit' && 'msHyphens' in style) {\n js = 'ms';\n css = jsCssMap.ms;\n browser = 'edge';\n } // Correctly detect the Safari browser.\n\n\n if (js === 'Webkit' && '-apple-trailing-word' in style) {\n vendor = 'apple';\n }\n}\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String, vendor: String, browser: String}}\n * @api public\n */\n\n\nvar prefix = {\n js: js,\n css: css,\n vendor: vendor,\n browser: browser,\n isTouch: isTouch\n};\n\n/**\n * Test if a keyframe at-rule should be prefixed or not\n *\n * @param {String} vendor prefix string for the current browser.\n * @return {String}\n * @api public\n */\n\nfunction supportedKeyframes(key) {\n // Keyframes is already prefixed. e.g. key = '@-webkit-keyframes a'\n if (key[1] === '-') return key; // No need to prefix IE/Edge. Older browsers will ignore unsupported rules.\n // https://caniuse.com/#search=keyframes\n\n if (prefix.js === 'ms') return key;\n return \"@\" + prefix.css + \"keyframes\" + key.substr(10);\n}\n\n// https://caniuse.com/#search=appearance\n\nvar appearence = {\n noPrefill: ['appearance'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'appearance') return false;\n if (prefix.js === 'ms') return \"-webkit-\" + prop;\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=color-adjust\n\nvar colorAdjust = {\n noPrefill: ['color-adjust'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'color-adjust') return false;\n if (prefix.js === 'Webkit') return prefix.css + \"print-\" + prop;\n return prop;\n }\n};\n\nvar regExp = /[-\\s]+(.)?/g;\n/**\n * Replaces the letter with the capital letter\n *\n * @param {String} match\n * @param {String} c\n * @return {String}\n * @api private\n */\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n/**\n * Convert dash separated strings to camel-cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\n\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\n/**\n * Convert dash separated strings to pascal cased.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nfunction pascalize(str) {\n return camelize(\"-\" + str);\n}\n\n// but we can use a longhand property instead.\n// https://caniuse.com/#search=mask\n\nvar mask = {\n noPrefill: ['mask'],\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^mask/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var longhand = 'mask-image';\n\n if (camelize(longhand) in style) {\n return prop;\n }\n\n if (prefix.js + pascalize(longhand) in style) {\n return prefix.css + prop;\n }\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=text-orientation\n\nvar textOrientation = {\n noPrefill: ['text-orientation'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'text-orientation') return false;\n\n if (prefix.vendor === 'apple' && !prefix.isTouch) {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=transform\n\nvar transform = {\n noPrefill: ['transform'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transform') return false;\n\n if (options.transform) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=transition\n\nvar transition = {\n noPrefill: ['transition'],\n supportedProperty: function supportedProperty(prop, style, options) {\n if (prop !== 'transition') return false;\n\n if (options.transition) {\n return prop;\n }\n\n return prefix.css + prop;\n }\n};\n\n// https://caniuse.com/#search=writing-mode\n\nvar writingMode = {\n noPrefill: ['writing-mode'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'writing-mode') return false;\n\n if (prefix.js === 'Webkit' || prefix.js === 'ms' && prefix.browser !== 'edge') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=user-select\n\nvar userSelect = {\n noPrefill: ['user-select'],\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'user-select') return false;\n\n if (prefix.js === 'Moz' || prefix.js === 'ms' || prefix.vendor === 'apple') {\n return prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=multicolumn\n// https://github.com/postcss/autoprefixer/issues/491\n// https://github.com/postcss/autoprefixer/issues/177\n\nvar breakPropsOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^break-/.test(prop)) return false;\n\n if (prefix.js === 'Webkit') {\n var jsProp = \"WebkitColumn\" + pascalize(prop);\n return jsProp in style ? prefix.css + \"column-\" + prop : false;\n }\n\n if (prefix.js === 'Moz') {\n var _jsProp = \"page\" + pascalize(prop);\n\n return _jsProp in style ? \"page-\" + prop : false;\n }\n\n return false;\n }\n};\n\n// See https://github.com/postcss/autoprefixer/issues/324.\n\nvar inlineLogicalOld = {\n supportedProperty: function supportedProperty(prop, style) {\n if (!/^(border|margin|padding)-inline/.test(prop)) return false;\n if (prefix.js === 'Moz') return prop;\n var newProp = prop.replace('-inline', '');\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\n// Camelization is required because we can't test using.\n// CSS syntax for e.g. in FF.\n\nvar unprefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n return camelize(prop) in style ? prop : false;\n }\n};\n\nvar prefixed = {\n supportedProperty: function supportedProperty(prop, style) {\n var pascalized = pascalize(prop); // Return custom CSS variable without prefixing.\n\n if (prop[0] === '-') return prop; // Return already prefixed value without prefixing.\n\n if (prop[0] === '-' && prop[1] === '-') return prop;\n if (prefix.js + pascalized in style) return prefix.css + prop; // Try webkit fallback.\n\n if (prefix.js !== 'Webkit' && \"Webkit\" + pascalized in style) return \"-webkit-\" + prop;\n return false;\n }\n};\n\n// https://caniuse.com/#search=scroll-snap\n\nvar scrollSnap = {\n supportedProperty: function supportedProperty(prop) {\n if (prop.substring(0, 11) !== 'scroll-snap') return false;\n\n if (prefix.js === 'ms') {\n return \"\" + prefix.css + prop;\n }\n\n return prop;\n }\n};\n\n// https://caniuse.com/#search=overscroll-behavior\n\nvar overscrollBehavior = {\n supportedProperty: function supportedProperty(prop) {\n if (prop !== 'overscroll-behavior') return false;\n\n if (prefix.js === 'ms') {\n return prefix.css + \"scroll-chaining\";\n }\n\n return prop;\n }\n};\n\nvar propMap = {\n 'flex-grow': 'flex-positive',\n 'flex-shrink': 'flex-negative',\n 'flex-basis': 'flex-preferred-size',\n 'justify-content': 'flex-pack',\n order: 'flex-order',\n 'align-items': 'flex-align',\n 'align-content': 'flex-line-pack' // 'align-self' is handled by 'align-self' plugin.\n\n}; // Support old flex spec from 2012.\n\nvar flex2012 = {\n supportedProperty: function supportedProperty(prop, style) {\n var newProp = propMap[prop];\n if (!newProp) return false;\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n};\n\nvar propMap$1 = {\n flex: 'box-flex',\n 'flex-grow': 'box-flex',\n 'flex-direction': ['box-orient', 'box-direction'],\n order: 'box-ordinal-group',\n 'align-items': 'box-align',\n 'flex-flow': ['box-orient', 'box-direction'],\n 'justify-content': 'box-pack'\n};\nvar propKeys = Object.keys(propMap$1);\n\nvar prefixCss = function prefixCss(p) {\n return prefix.css + p;\n}; // Support old flex spec from 2009.\n\n\nvar flex2009 = {\n supportedProperty: function supportedProperty(prop, style, _ref) {\n var multiple = _ref.multiple;\n\n if (propKeys.indexOf(prop) > -1) {\n var newProp = propMap$1[prop];\n\n if (!Array.isArray(newProp)) {\n return prefix.js + pascalize(newProp) in style ? prefix.css + newProp : false;\n }\n\n if (!multiple) return false;\n\n for (var i = 0; i < newProp.length; i++) {\n if (!(prefix.js + pascalize(newProp[0]) in style)) {\n return false;\n }\n }\n\n return newProp.map(prefixCss);\n }\n\n return false;\n }\n};\n\n// plugins = [\n// ...plugins,\n// breakPropsOld,\n// inlineLogicalOld,\n// unprefixed,\n// prefixed,\n// scrollSnap,\n// flex2012,\n// flex2009\n// ]\n// Plugins without 'noPrefill' value, going last.\n// 'flex-*' plugins should be at the bottom.\n// 'flex2009' going after 'flex2012'.\n// 'prefixed' going after 'unprefixed'\n\nvar plugins = [appearence, colorAdjust, mask, textOrientation, transform, transition, writingMode, userSelect, breakPropsOld, inlineLogicalOld, unprefixed, prefixed, scrollSnap, overscrollBehavior, flex2012, flex2009];\nvar propertyDetectors = plugins.filter(function (p) {\n return p.supportedProperty;\n}).map(function (p) {\n return p.supportedProperty;\n});\nvar noPrefill = plugins.filter(function (p) {\n return p.noPrefill;\n}).reduce(function (a, p) {\n a.push.apply(a, _toConsumableArray(p.noPrefill));\n return a;\n}, []);\n\nvar el;\nvar cache = {};\n\nif (isInBrowser) {\n el = document.createElement('p'); // We test every property on vendor prefix requirement.\n // Once tested, result is cached. It gives us up to 70% perf boost.\n // http://jsperf.com/element-style-object-access-vs-plain-object\n //\n // Prefill cache with known css properties to reduce amount of\n // properties we need to feature test at runtime.\n // http://davidwalsh.name/vendor-prefix\n\n var computed = window.getComputedStyle(document.documentElement, '');\n\n for (var key$1 in computed) {\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(key$1)) cache[computed[key$1]] = computed[key$1];\n } // Properties that cannot be correctly detected using the\n // cache prefill method.\n\n\n noPrefill.forEach(function (x) {\n return delete cache[x];\n });\n}\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @param {Object} [options]\n * @return {String|Boolean}\n * @api public\n */\n\n\nfunction supportedProperty(prop, options) {\n if (options === void 0) {\n options = {};\n }\n\n // For server-side rendering.\n if (!el) return prop; // Remove cache for benchmark tests or return property from the cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache[prop] != null) {\n return cache[prop];\n } // Check if 'transition' or 'transform' natively supported in browser.\n\n\n if (prop === 'transition' || prop === 'transform') {\n options[prop] = prop in el.style;\n } // Find a plugin for current prefix property.\n\n\n for (var i = 0; i < propertyDetectors.length; i++) {\n cache[prop] = propertyDetectors[i](prop, el.style, options); // Break loop, if value found.\n\n if (cache[prop]) break;\n } // Reset styles for current property.\n // Firefox can even throw an error for invalid properties, e.g., \"0\".\n\n\n try {\n el.style[prop] = '';\n } catch (err) {\n return false;\n }\n\n return cache[prop];\n}\n\nvar cache$1 = {};\nvar transitionProperties = {\n transition: 1,\n 'transition-property': 1,\n '-webkit-transition': 1,\n '-webkit-transition-property': 1\n};\nvar transPropsRegExp = /(^\\s*[\\w-]+)|, (\\s*[\\w-]+)(?![^()]*\\))/g;\nvar el$1;\n/**\n * Returns prefixed value transition/transform if needed.\n *\n * @param {String} match\n * @param {String} p1\n * @param {String} p2\n * @return {String}\n * @api private\n */\n\nfunction prefixTransitionCallback(match, p1, p2) {\n if (p1 === 'var') return 'var';\n if (p1 === 'all') return 'all';\n if (p2 === 'all') return ', all';\n var prefixedValue = p1 ? supportedProperty(p1) : \", \" + supportedProperty(p2);\n if (!prefixedValue) return p1 || p2;\n return prefixedValue;\n}\n\nif (isInBrowser) el$1 = document.createElement('p');\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\n\nfunction supportedValue(property, value) {\n // For server-side rendering.\n var prefixedValue = value;\n if (!el$1 || property === 'content') return value; // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n // eslint-disable-next-line no-restricted-globals\n\n if (typeof prefixedValue !== 'string' || !isNaN(parseInt(prefixedValue, 10))) {\n return prefixedValue;\n } // Create cache key for current value.\n\n\n var cacheKey = property + prefixedValue; // Remove cache for benchmark tests or return value from cache.\n\n if (process.env.NODE_ENV !== 'benchmark' && cache$1[cacheKey] != null) {\n return cache$1[cacheKey];\n } // IE can even throw an error in some cases, for e.g. style.content = 'bar'.\n\n\n try {\n // Test value as it is.\n el$1.style[property] = prefixedValue;\n } catch (err) {\n // Return false if value not supported.\n cache$1[cacheKey] = false;\n return false;\n } // If 'transition' or 'transition-property' property.\n\n\n if (transitionProperties[property]) {\n prefixedValue = prefixedValue.replace(transPropsRegExp, prefixTransitionCallback);\n } else if (el$1.style[property] === '') {\n // Value with a vendor prefix.\n prefixedValue = prefix.css + prefixedValue; // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n\n if (prefixedValue === '-ms-flex') el$1.style[property] = '-ms-flexbox'; // Test prefixed value.\n\n el$1.style[property] = prefixedValue; // Return false if value not supported.\n\n if (el$1.style[property] === '') {\n cache$1[cacheKey] = false;\n return false;\n }\n } // Reset styles for current property.\n\n\n el$1.style[property] = ''; // Write current value to cache.\n\n cache$1[cacheKey] = prefixedValue;\n return cache$1[cacheKey];\n}\n\nexport { prefix, supportedKeyframes, supportedProperty, supportedValue };\n"],"names":["makePublicApi","stub","publicApi","version","onReady","callback","Object","defineProperty","get","enumerable","defineGlobal","global","name","api","existingGlobalVariable","q","forEach","fn","addEventListener","eventTarget","event","listener","options","addEventListeners","events","_a","_b","once","capture","passive","wrappedListener","stop","add","remove","call","getCurrentSiteCache","COOKIE_ACCESS_DELAY","setCookie","value","expireDelay","date","Date","setTime","getTime","expires","concat","toUTCString","sameSite","crossSite","domain","secure","document","cookie","getCookie","deleteCookie","areCookiesAuthorized","undefined","testCookieName","testCookieValue","isCookieCorrectlySet","error","getCurrentSite","domainLevels","window","location","hostname","split","candidateDomain","pop","length","fetchObservable","initFetchObservable","observable","fetch","originalFetch","input","init","responsePromise","context","beforeSend","this","afterSend","method","url","state","startClocks","notify","startContext","reportFetch","response","Error","status","isAborted","DOMException","code","ABORT_ERR","responseType","type","then","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","createPageExitObservable","pagehideEnabled","stopListeners","reason","visibilityState","stopBeforeUnloadListener","isPageExitReason","setTimeout","delay","clearTimeout","timeoutId","xhrObservable","xhrContexts","WeakMap","initXhrObservable","stopInstrumentingStart","XMLHttpRequest","prototype","before","openXhr","stopInstrumentingSend","sendXhr","stopInstrumentingAbort","abortXhr","set","String","_this","startTime","xhr","hasBeenReported","stopInstrumentingOnReadyStateChange","readyState","DONE","onEnd","removeEventListener","completeContext","duration","timeStamp","ENDPOINTS","logs","rum","sessionReplay","INTAKE_TRACKS","createEndpointBuilder","initConfiguration","endpointType","configurationTags","buildUrlWithParameters","path","proxy","proxyUrl","normalizedProxyUrl_1","parameters","encodeURIComponent","host","site","internalAnalyticsSubdomain","domainParts","extension","subdomain","join","buildEndpointHost","normalizedProxyUrl_2","createEndpointUrlWithParametersBuilder","build","flushReason","retry","clientToken","tags","push","count","lastFailureStatus","reverse","buildEndpointParameters","urlPrefix","TAG_SIZE_LIMIT","FORBIDDEN_CHARACTERS","buildTag","key","rawValue","valueSizeLimit","test","display","sanitizedValue","replace","computeTransportConfiguration","configuration","env","service","datacenter","buildTags","endpointBuilders","logsEndpointBuilder","rumEndpointBuilder","sessionReplayEndpointBuilder","computeEndpointBuilders","intakeUrlPrefixes","map","builder","replicaConfiguration","replica","replicaEndpointBuilders","apply","applicationId","computeReplicaConfiguration","isIntakeUrl","some","intakeEndpoint","indexOf","DefaultPrivacyLevel","ALLOW","MASK","MASK_USER_INPUT","validateAndBuildConfiguration","_c","sessionSampleRate","sampleRate","telemetrySampleRate","telemetryConfigurationSampleRate","enableExperimentalFeatures","catchUserErrors","cookieOptions","buildCookieOptions","silentMultipleInit","batchBytesLimit","eventRateLimiterThreshold","maxTelemetryEventsPerPage","flushTimeout","batchMessagesLimit","messageBytesLimit","useSecureSessionCookie","useCrossSiteSessionCookie","mustUseSecureCookie","trackSessionAcrossSubdomains","serializeConfiguration","session_sample_rate","telemetry_sample_rate","telemetry_configuration_sample_rate","use_before_send","use_cross_site_session_cookie","use_secure_session_cookie","use_proxy","silent_multiple_init","track_session_across_subdomains","track_resources","trackResources","track_long_task","trackLongTasks","enabledExperimentalFeatures","updateExperimentalFeatures","enabledFeatures","Array","isArray","Set","filter","flag","isExperimentalFeatureEnabled","featureName","has","getExperimentalFeatures","INTAKE_SITE_STAGING","INTAKE_SITE_US1","INTAKE_SITE_AP1","INTAKE_SITE_US1_FED","consoleObservablesByApi","initConsoleObservable","apis","consoleObservables","originalConsoleApi","console","params","_i","arguments","handlingStack","stack","message","param","formatConsoleParameters","firstErrorParam","buildConsoleLog","createConsoleObservable","ERROR_TYPES_RE","startUnhandledErrorCollection","stopInstrumentingOnError","instrumentMethod","lineNo","columnNo","errorObj","computeStackTrace","name_1","location_1","column","line","msg","toString","groups","exec","instrumentOnError","stopInstrumentingOnUnhandledRejection","e","instrumentUnhandledRejection","trackRuntimeError","errorObservable","stackTrace","originalError","nonErrorPrefix","source","handling","RawReportType","intervention","deprecation","cspViolation","initReportObservable","observables","handleCspViolation","blockedURI","effectiveDirective","subtype","buildStack","originalPolicy","sourceFile","lineNumber","columnNumber","buildRawReportFromCspViolation","reportTypes","ReportingObserver","handleReports","reports","report","body","id","observer","types","buffered","observe","disconnect","createReportObservable","func","SESSION_TIME_OUT_DELAY","SESSION_EXPIRATION_DELAY","ongoingOperations","SESSION_ENTRY_REGEXP","SESSION_ENTRY_SEPARATOR","SESSION_COOKIE_NAME","LOCK_RETRY_DELAY","MAX_NUMBER_OF_LOCK_RETRIES","bufferedOperations","withCookieLockAccess","operations","numberOfRetries","next","currentLock","currentSession","retrieveSession","isCookieLockEnabled","lock","retryLater","utils","setSession","processedSession","process","persistSession","isExpiredState","after","currentNumberOfRetries","nextOperations","shift","session","clearSession","expire","toSessionString","sessionString","isValidSessionString","entry","matches","OLD_SESSION_COOKIE_NAME","OLD_RUM_COOKIE_NAME","OLD_LOGS_COOKIE_NAME","RUM_SESSION_KEY","LOGS_SESSION_KEY","startSessionStore","productKey","computeSessionState","renewObservable","expireObservable","watchSessionTimeoutId","setInterval","monitor","cookieSession","isActiveSession","synchronizeSession","sessionCache","retrieveActiveSession","hasSessionInCache","isSessionInCacheOutdated","created","Number","expandOrRenewSession","isTracked","synchronizedSession","trackingType","expandOrRenewCookie","renewSession","throttled","expandSession","getSession","clearInterval","VISIBILITY_CHECK_DELAY","SESSION_CONTEXT_TIMEOUT_DELAY","stopCallbacks","startSessionManager","oldSessionId","oldRumType","oldLogsType","tryOldCookiesMigration","sessionStore","sessionContextHistory","buildSessionContext","subscribe","closeActive","relative","expandSessionWhenVisible","visibilityCheckInterval","trackVisibility","findActiveSession","find","SYNTHETICS_TEST_ID_COOKIE_NAME","SYNTHETICS_RESULT_ID_COOKIE_NAME","SYNTHETICS_INJECTS_RUM_COOKIE_NAME","willSyntheticsInjectRum","Boolean","_DATADOG_SYNTHETICS_INJECTS_RUM","getSyntheticsTestId","_DATADOG_SYNTHETICS_PUBLIC_ID","getSyntheticsResultId","_DATADOG_SYNTHETICS_RESULT_ID","onRawTelemetryEventCollected","TelemetryType","log","ALLOWED_FRAME_URLS","TELEMETRY_EXCLUDED_SITES","telemetryConfiguration","maxEventsPerPage","sentEventCount","telemetryEnabled","telemetryConfigurationEnabled","startTelemetry","telemetryService","contextProvider","rawEvent","event_1","_dd","format_version","telemetry","experimental_features","toTelemetryEvent","sendToExtension","addTelemetryError","setContextProvider","provider","enabled","isTelemetryReplicationAllowed","addTelemetryDebug","addTelemetry","kind","scrubCustomerFrames","formatError","addTelemetryConfiguration","frame","allowedFrameUrl","UNKNOWN_FUNCTION","ex","stackProperty","tryToGetString","exString","slice","stackFrame","parts","CHROME_LINE_RE","isNative","isEval","submatch","CHROME_EVAL_RE","args","parseChromeLine","CHROME_ANONYMOUS_FUNCTION_RE","parseChromeAnonymousLine","WINJS_LINE_RE","parseWinLine","GECKO_LINE_RE","GECKO_EVAL_RE","parseGeckoLine","fileUrl","filePosition","RegExp","candidate","property","sanitizeUser","newUser","user","checkUser","isValid","BoundedBuffer","buffer","splice","drain","isIE","documentMode","isChromium","chrome","navigator","userAgent","errorMsg","err","END_OF_TIMES","Infinity","CLEAR_OLD_CONTEXTS_INTERVAL","ContextHistory","entries","clearOldContextsInterval","clearOldContexts","endTime","index","close","unshift","latestEntry","findAll","reset","oldTimeThreshold","createContextManager","computeBytesCountImpl","bytesCountCache","getBytesCount","newContext","getContext","setContext","setContextProperty","removeContextProperty","clearContext","createEventRateLimiter","eventType","limit","onLimitReached","eventCount","allowNextEvent","isLimitReached","ConsoleApiName","debug","info","warn","hasOwnProperty","bind","ErrorSource","AGENT","CONSOLE","CUSTOM","LOGGER","NETWORK","SOURCE","REPORT","computeRawError","toStackTraceString","causes","flattenErrorCauses","result","formatErrorMessage","getFileFromStackTraceString","createHandlingStack","formattedStack","parentSource","currentError","cause","getZoneJsOriginalValue","target","original","browserWindow","Zone","__symbol__","object","instrumentationFactory","instrumentation","instrumentationWrapper","instrumentMethodAndCallOriginal","instrumentSetter","originalDescriptor","getOwnPropertyDescriptor","configurable","thisObject","limitModification","modifiableFieldPaths","modifier","clone","originalValue","newValue","originalType","newType","current","field","isValidObjectContaining","fields","i","onMonitorErrorCollected","__spreadArray","to","from","pack","ar","l","debugMode","startMonitorErrorCollection","newOnMonitorErrorCollected","setDebugMode","newDebugMode","monitored","_","__","descriptor","originalMethod","callMonitored","displayIfDebugEnabled","Observable","onFirstSubscribe","observers","f","onLastUnsubscribe","unsubscribe","other","data","mergeObservables","globalObservable","subscriptions","subscription","readBytesFromStream","stream","reader","getReader","chunks","readBytesCount","onDone","bytes","limitExceeded","cancel","catch","collectStreamBody","completeBuffer_1","Uint8Array","offset_1","chunk","bytesLimit","readMore","read","done","runOnReadyState","expectedReadyState","eventName","payload","__ddBrowserSdkExtensionCallback","navigationStart","relativeToClocks","getCorrectedTimeStamp","relativeTime","correctedOrigin","dateNow","performance","now","getNavigationStart","Math","round","addDuration","getTimeStamp","currentDrift","toServerDuration","timeStampNow","relativeNow","clocksNow","clocksOrigin","elapsed","start","end","a","b","getRelativeTime","timestamp","looksLikeRelativeTime","time","timing","isURLSupported","normalizeUrl","buildUrl","href","isValidUrl","getOrigin","getPathName","pathname","base","URL","checkURLSupported","doc","anchorElement","createElement","baseElement","implementation","createHTMLDocument","head","appendChild","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_YEAR","ONE_KIBI_BYTE","ONE_MEBI_BYTE","throttle","wait","pendingExecutionWithParameters","pendingTimeoutId","needLeadingExecution","leading","needTrailingExecution","trailing","inWaitPeriod","assign","toAssign","shallowClone","generateUUID","placeholder","parseInt","random","performDraw","threshold","num","decimals","toFixed","noop","jsonStringify","replacer","space","JSON","stringify","restoreObjectPrototypeToJson","detachToJsonMethod","restoreArrayPrototypeToJson","restoreValuePrototypeToJson","getPrototypeOf","restoreValueToJson","objectToJson","toJSON","includes","search","arrayFrom","arrayLike","array","item","predicate","findLast","isPercentage","isNumber","objectValues","keys","objectHasValue","objectEntries","isEmptyObject","mapValues","newObject","startsWith","endsWith","getGlobalObject","globalThis","globalObject","_dd_temp_","self","getLocationOrigin","getLinkElementOrigin","element","origin","sanitizedHost","protocol","findCommaSeparatedValue","rawString","safeTruncate","suffix","lastChar","charCodeAt","correctedLength","elementMatches","selector","msMatchesSelector","getType","mergeInto","destination","circularReferenceChecker","WeakSet","set_1","hasAlreadyBeenSeen","createCircularReferenceChecker","flags","ignoreCase","multiline","sticky","unicode","merged_1","merged","deepClone","combine","sources","sources_1","requestIdleCallback","opts","cancelIdleCallback","id_1","requestAnimationFrame","cancelAnimationFrame","removeDuplicates","isMatchOption","itemType","matchList","list","useStartsWith","cssEscape","str","CSS","escape","ch","asCodePoint","HAS_MULTI_BYTES_CHARACTERS","computeBytesCount","TextEncoder","encode","Blob","size","tryToClone","Batch","request","pageExitObservable","flushObservable","pushOnlyBuffer","upsertBuffer","bufferBytesCount","bufferMessagesCount","flush","sendOnExit","flushPeriodically","addOrUpdate","upsert","sendFn","send","messages","bytesCount","processedMessage","messageBytesCount","hasMessageFor","willReachedBytesLimitWith","isFull","removedMessage","getEventBridge","eventBridgeGlobal","DatadogEventBridge","getAllowedWebViewHosts","parse","canUseEventBridge","currentHost","bridge","allowedHost","MAX_ONGOING_BYTES_COUNT","MAX_ONGOING_REQUESTS","MAX_QUEUE_BYTES_COUNT","MAX_BACKOFF_TIME","INITIAL_BACKOFF_TIME","sendWithRetryStrategy","sendStrategy","reportError","transportStatus","queuedPayloads","bandwidthMonitor","canHandle","onSuccess","retryQueuedPayloads","onFailure","enqueue","scheduleRetry","first","dequeue","currentBackoffTime","min","onLine","shouldRetryRequest","ongoingRequestCount","queueFullReported","previousQueue","newPayloadQueue","queue","createHttpRequest","endpointBuilder","retryState","ongoingByteCount","sendStrategyForRetry","onResponse","canUseKeepAlive","Request","isKeepAliveSupported","fetchUrl","keepalive","mode","sendXHR","fetchKeepAliveStrategy","canUseBeacon","sendBeacon","beaconUrl","hasReportedBeaconError","reportBeaconError","xhrUrl","sendBeaconStrategy","onLoadEnd","open","DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT","validateAndBuildForwardOption","option","allowedValues","label","every","__decorate","decorators","desc","d","c","r","Reflect","decorate","StatusType","HandlerType","http","silent","STATUSES","Logger","handleLogStrategy","handlerType","level","loggerContext","contextManager","logger","messageContext","errorOrigin","addContext","removeContext","setHandler","handler","getHandler","setLevel","getLevel","startBatchWithReplica","endpoint","replicaEndpoint","replicaBatch","primaryBatch","createBatch","replicated","startLogsSessionManager","sessionManager","rawTrackingType","rawSessionType","hasValidLoggerSession","computeTrackingType","findTrackedSession","STATUS_PRIORITIES","isAuthorized","loggerHandler","sanitizedHandlerType","logsSentBeforeRumInjectionTelemetryAdded","getRUMInternalContext","getInternalContextFromRumGlobal","DD_RUM_SYNTHETICS","testId","resultId","DD_RUM","rumGlobal","getInternalContext","LogStatusForApi","LogStatusForReport","startNetworkErrorCollection","lifeCycle","forwardErrorsToLogs","xhrSubscription","handleResponse","fetchSubscription","onResponseDataAvailable","responseData","rawLogsEvent","format","status_code","isRejected","isServerError","truncateResponseText","computeXhrResponseData","clonedResponse","TextDecoder","responseText","decode","truncateResponseStream","requestErrorResponseLengthLimit","text","computeFetchResponseText","computeFetchErrorText","substring","LifeCycle","callbacks","eventCallbacks","datadogLogs","startLogsImpl","isAlreadyInitialized","globalContextManager","userContextManager","customLoggers","getInternalContextStrategy","beforeInitLoggerLog","logsMessage","savedCommonContext","buildCommonContext","getInitConfigurationStrategy","mainLogger","view","referrer","overrideInitConfigurationForBridge","canInitLogs","baseConfiguration","forwardConsoleLogs","forwardReports","validateAndBuildLogsConfiguration","handleLog","getLoggerGlobalContext","getGlobalContext","setLoggerGlobalContext","setGlobalContext","addLoggerGlobalContext","setGlobalContextProperty","removeLoggerGlobalContext","removeGlobalContextProperty","clearGlobalContext","createLogger","conf","getLogger","getInitConfiguration","setUser","getUser","setUserProperty","sanitizedProperty","removeUserProperty","clearUser","makeLogsPublicApi","bridge_1","telemetryBatch_1","startLogsTelemetry","_d","_e","_f","application","application_id","action","user_action","rawErrorObservable","stopRuntimeErrorTracking","rawErrorSubscription","rawError","startRuntimeErrorCollection","consoleSubscription","startConsoleCollection","reportSubscription","startReportCollection","savedDate","startLoggerCollection","startLogsSessionManagerStub","statusWithCustom","logRateLimiters","_g","commonContext","session_id","usr","startLogsAssembly","serverLogsEvent","startLogsBridge","batch","startLogsBatch","baseSerializedInitConfiguration","forward_errors_to_logs","forward_console_logs","forward_reports","serializeLogsConfiguration","trackedSession","defaultJss","jss","sheet","cache","Map","ruleIndex","getSheet","rules","createStyleSheet","attach","css","argsStr","cached","className","flatArgs","argIndex","arg","innerArgIndex","mergedStyle","labels","style","styleObject","_cached","addRule","classes","cacheValue","createCss","js","vendor","browser","isTouch","documentElement","jsCssMap","Moz","ms","O","Webkit","prefix","supportedKeyframes","substr","appearence","noPrefill","supportedProperty","prop","colorAdjust","regExp","toUpper","match","toUpperCase","camelize","pascalize","el","mask","longhand","textOrientation","transform","transition","writingMode","userSelect","breakPropsOld","inlineLogicalOld","newProp","unprefixed","prefixed","pascalized","scrollSnap","overscrollBehavior","propMap","order","flex2012","propMap$1","flex","propKeys","prefixCss","p","flex2009","_ref","multiple","plugins","propertyDetectors","reduce","computed","getComputedStyle","key$1","isNaN","x","el$1","cache$1","transitionProperties","transPropsRegExp","prefixTransitionCallback","p1","p2","prefixedValue","supportedValue","cacheKey"],"sourceRoot":""}