{"version":3,"file":"static/js/73568b6af9fbfd647976.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/Application.js?4273","webpack://Msdyn365.Commerce.Online/Device.js?6b57","webpack://Msdyn365.Commerce.Online/Internal.js?4c9d","webpack://Msdyn365.Commerce.Online/Location.js?6206","webpack://Msdyn365.Commerce.Online/Session.js?0919","webpack://Msdyn365.Commerce.Online/TelemetryTrace.js?d48c","webpack://Msdyn365.Commerce.Online/User.js?3884","webpack://Msdyn365.Commerce.Online/TelemetryContext.js?30fa","webpack://Msdyn365.Commerce.Online/PropertiesPlugin.js?7673","webpack://Msdyn365.Commerce.Online/../src/Constants.ts?cf7f","webpack://Msdyn365.Commerce.Online/../src/Helpers.ts?c4c0","webpack://Msdyn365.Commerce.Online/../src/TsLibShims.ts?061f"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n//# sourceMappingURL=Application.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n//# sourceMappingURL=Device.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _DYN_SDK_EXTENSION } from \"../__DynamicConstants\";\r\nvar Version = '2.8.18';\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config) {\r\n this.sdkVersion = (config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */] && config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() ? config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() + \"_\" : \"\") + \"javascript:\" + Version;\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n//# sourceMappingURL=Internal.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n//# sourceMappingURL=Location.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, dateNow, dumpObj, getExceptionName, isFunction, newId, safeGetCookieMgr, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACQUISITION_DATE, _DYN_AUTOMATIC_SESSION, _DYN_CONFIG, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_RENEWAL_DATE, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_EXPIRATION_M7, _DYN_SESSION_RENEWAL_MS, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nvar cookieNameConst = \"ai_session\";\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n if (!isFunction(config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */])) {\r\n config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */] = function () { return _SessionManager.acquisitionSpan; };\r\n }\r\n if (!isFunction(config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */])) {\r\n config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */] = function () { return _SessionManager.renewalSpan; };\r\n }\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = (_self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]()) ?\r\n _self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]() :\r\n ((_self.config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() : \"\");\r\n _storageNamePrefix = function () { return cookieNameConst + sessionCookiePostfix; };\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */] = new Session();\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n var sessionExpirationMs = _self.config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]();\r\n if (!isExpired && sessionExpirationMs > 0) {\r\n var sessionRenewalMs = _self.config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */];\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n _setStorage(session.id, session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */], session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */]);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix());\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix());\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param {string} sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens[_DYN_LENGTH /* @min:%2elength */] >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = acqMs;\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 9 /* _eInternalMessageId.ErrorParsingAISessionCookie */, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var theConfig = (_self[_DYN_CONFIG /* @min:%2econfig */] || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n _self.automaticSession.id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */][_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = nowMs;\r\n _setCookie(_self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */], nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 0 /* _eInternalMessageId.BrowserDoesNotSupportLocalStorage */, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = nowMs;\r\n var config = _self[_DYN_CONFIG /* @min:%2econfig */];\r\n var renewalPeriodMs = config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]()) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */] ? config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */]() : null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix(), cookie.join(\"|\"), config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]() > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix(), [guid, acq, renewal][_DYN_JOIN /* @min:%2ejoin */](\"|\"));\r\n }\r\n });\r\n }\r\n _SessionManager.prototype.update = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _SessionManager.prototype.backup = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n _SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n _SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n _SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n//# sourceMappingURL=Session.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n//# sourceMappingURL=TelemetryTrace.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, newId, safeGetCookieMgr, safeGetLogger, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_AUTHENTICATED_ID, _DYN_AUTH_USER_COOKIE_NAM8, _DYN_CONFIG, _DYN_COOKIE_SEPARATOR, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"../__DynamicConstants\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n var userCookiePostfix = (_self.config[_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]() : \"\";\r\n _storageNamePrefix = function () { return User.userCookieName + userCookiePostfix; };\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix());\r\n if (cookie) {\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var params = cookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (params[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = !!_self.id;\r\n }\r\n }\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n var id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? config[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = _cookieManager.set(_storageNamePrefix(), cookie, oneYear);\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"ai_session\" : \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] ? config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */]() : undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: |\r\n var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (authCookieString[0]) {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authCookieString[0];\r\n }\r\n if (authCookieString[_DYN_LENGTH /* @min:%2elength */] > 1 && authCookieString[1]) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = authCookieString[1];\r\n }\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 60 /* _eInternalMessageId.SetAuthContextFailedAccountName */, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authenticatedUserId;\r\n var authCookie = _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */];\r\n if (accountId) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = accountId;\r\n authCookie = [_self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], _self.accountId][_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */], encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = null;\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = null;\r\n _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Sets the authenticated user id and the account id in this session.\r\n *\r\n * @param authenticatedUserId {string} - The authenticated user id. A unique and persistent string that represents each authenticated user in the service.\r\n * @param accountId {string} - An optional string to represent the account associated with the authenticated user.\r\n */\r\n User.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n User.prototype.clearAuthenticatedUserContext = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Update or create the user cookie if cookies where previously disabled or the new userId does not match the existing value.\r\n * If you pass nothing a new random user id will be created.\r\n * @param userId - Specific either the current (via appInsights.context.user.id) or new id that you want to set\r\n */\r\n User.prototype.update = function (userId) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n//# sourceMappingURL=User.js.map","/**\r\n* TelemetryContext.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CtxTagKeys, Extensions, PageView, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalLogMessage, getSetValue, hasWindow, isNullOrUndefined, isString, objKeys, setValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nimport { User } from \"./Context/User\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_AUTHENTICATED_ID, _DYN_AUTOMATIC_SESSION, _DYN_GET_SESSION_ID, _DYN_LENGTH, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE } from \"./__DynamicConstants\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name])[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n delete target[name];\r\n }\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig, previousTraceCtx) {\r\n var _this = this;\r\n var logger = core.logger;\r\n this.appId = function () { return null; };\r\n this[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () { return null; };\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig);\r\n if (hasWindow()) {\r\n _self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] = new _SessionManager(defaultConfig, core);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core);\r\n var traceId = void 0;\r\n var parentId = void 0;\r\n var name_1;\r\n if (previousTraceCtx) {\r\n traceId = previousTraceCtx.getTraceId();\r\n parentId = previousTraceCtx.getSpanId();\r\n name_1 = previousTraceCtx.getName();\r\n }\r\n _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */] = new TelemetryTrace(traceId, parentId, name_1, logger);\r\n _self.session = new Session();\r\n }\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] || {})[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */] = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */](), isString);\r\n };\r\n _self[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */] = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */] = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */] = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */] = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, dataSanitizeString(logger, internal.sdkVersion, 64), isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */] = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */] = function (evt, itemCtx) {\r\n var telemetryTrace = _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */];\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString, isNullOrUndefined);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString, isNullOrUndefined);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString, isNullOrUndefined);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */] = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user[_DYN_ACCOUNT_ID /* @min:%2eaccountId */], isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n TelemetryContext.prototype.applySessionContext = function (evt, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyOperatingSystemContxt = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyApplicationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyDeviceContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyInternalContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyLocationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyOperationContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyWebContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.applyUserContext = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n TelemetryContext.prototype.cleanUp = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n//# sourceMappingURL=TelemetryContext.js.map","/**\r\n* PropertiesPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, PageView, PropertiesPluginIdentifier, createDistributedTraceContextFromTrace, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _InternalLogMessage, _logInternalMessage, createProcessTelemetryContext, getNavigator, getSetValue, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_GET_SESSION_ID, _DYN_GET_TRACE_CTX, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_NAME_PREFIX, _DYN_SDK_EXTENSION, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"./__DynamicConstants\";\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _extensionConfig;\r\n var _distributedTraceCtx;\r\n var _previousTraceCtx;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _populateDefaults(config);\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (isNullOrUndefined(event)) {\r\n // TODO(barustum): throw an internal event once we have support for internal logging\r\n }\r\n else {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_self.context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _self.context.session.id !== \"string\" && theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */]) {\r\n theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */][_DYN_UPDATE /* @min:%2eupdate */]();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n userCtx[_DYN_UPDATE /* @min:%2eupdate */](theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */]) {\r\n userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var message = new _InternalLogMessage(72 /* _eInternalMessageId.SendBrowserInfoOnUserInit */, ((getNavigator() || {}).userAgent || \"\"));\r\n _logInternalMessage(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, message);\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n var core = (unloadCtx || {}).core();\r\n if (core && core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]) {\r\n var traceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n if (traceCtx === _distributedTraceCtx) {\r\n core.setTraceCtx(_previousTraceCtx);\r\n }\r\n }\r\n _initDefaults();\r\n };\r\n function _initDefaults() {\r\n _extensionConfig = null;\r\n _distributedTraceCtx = null;\r\n _previousTraceCtx = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n var defaultConfig = PropertiesPlugin.getDefaultConfig();\r\n _extensionConfig = _extensionConfig || {};\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _extensionConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _previousTraceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n _self.context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx);\r\n _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */], _previousTraceCtx);\r\n core.setTraceCtx(_distributedTraceCtx);\r\n _self.context.appId = function () {\r\n var breezeChannel = core.getPlugin(BreezeChannelIdentifier);\r\n return breezeChannel ? breezeChannel.plugin[\"_appId\"] : null;\r\n };\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n }\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */](evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */](evt, itemCtx); // legacy tags\r\n ctx[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */](evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n PropertiesPlugin.getDefaultConfig = function () {\r\n var _a;\r\n var defaultValue;\r\n var nullValue = null;\r\n var defaultConfig = (_a = {\r\n instrumentationKey: function () { return defaultValue; }\r\n },\r\n _a[_DYN_ACCOUNT_ID /* @min:accountId */] = function () { return nullValue; },\r\n _a.sessionRenewalMs = function () { return 30 * 60 * 1000; },\r\n _a.samplingPercentage = function () { return 100; },\r\n _a.sessionExpirationMs = function () { return 24 * 60 * 60 * 1000; },\r\n _a[_DYN_COOKIE_DOMAIN /* @min:cookieDomain */] = function () { return nullValue; },\r\n _a[_DYN_SDK_EXTENSION /* @min:sdkExtension */] = function () { return nullValue; },\r\n _a.isBrowserLinkTrackingEnabled = function () { return false; },\r\n _a.appId = function () { return nullValue; },\r\n _a[_DYN_GET_SESSION_ID /* @min:getSessionId */] = function () { return nullValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SESSION_COOKIE_POSTF6 /* @min:sessionCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_USER_COOKIE_POSTFIX /* @min:userCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_ID_LENGTH /* @min:idLength */] = function () { return 22; },\r\n _a[_DYN_GET_NEW_ID /* @min:getNewId */] = function () { return nullValue; },\r\n _a);\r\n return defaultConfig;\r\n };\r\n PropertiesPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n PropertiesPlugin.prototype.processTelemetry = function (event, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n//# sourceMappingURL=PropertiesPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport const strShimFunction = \"function\";\r\nexport const strShimObject = \"object\";\r\nexport const strShimUndefined = \"undefined\";\r\nexport const strShimPrototype = \"prototype\";\r\nexport const strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport const strDefault = \"default\";\r\n\r\nexport const ObjClass = Object;\r\nexport const ObjProto = ObjClass[strShimPrototype];\r\nexport const ObjAssign = ObjClass[\"assign\"];\r\nexport const ObjCreate = ObjClass[\"create\"];\r\nexport const ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport const ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\n\r\ndeclare var globalThis: Window;\r\ndeclare var global: Window;\r\n\r\nlet _cachedGlobal: Window = null;\r\n\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal(useCached: boolean = true): Window {\r\n let result = useCached === false ? null : _cachedGlobal;\r\n\r\n if (!result) {\r\n if (typeof globalThis !== strShimUndefined) {\r\n result = globalThis;\r\n }\r\n\r\n if (!result && typeof self !== strShimUndefined) {\r\n result = self;\r\n }\r\n\r\n if (!result && typeof window !== strShimUndefined) {\r\n result = window;\r\n }\r\n \r\n if (!result && typeof global !== strShimUndefined) {\r\n result = global;\r\n }\r\n\r\n _cachedGlobal = result;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function throwTypeError(message: string): never {\r\n throw new TypeError(message);\r\n}\r\n\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj: any): any {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError(\"Object prototype may only be an Object:\" + obj);\r\n }\r\n\r\n function tmpFunc() {}\r\n tmpFunc[strShimPrototype] = obj;\r\n\r\n return new (tmpFunc as any)();\r\n}\r\n\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport {\r\n ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto,\r\n strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype\r\n} from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\n\r\nexport const SymbolObj = (getGlobal()||{})[\"Symbol\"];\r\nexport const ReflectObj = (getGlobal()||{})[\"Reflect\"];\r\nexport const __hasSymbol = !!SymbolObj;\r\nexport const __hasReflect = !!ReflectObj;\r\n\r\nconst strDecorate = \"decorate\";\r\nconst strMetadata = \"metadata\";\r\nconst strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nconst strIterator = \"iterator\";\r\n\r\nexport declare type ObjAssignFunc = (t: any, ...sources:any[]) => any;\r\n\r\nexport var __objAssignFnImpl: ObjAssignFunc = function(t: any): any {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n (t as any)[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\n\r\nexport var __assignFn: ObjAssignFunc = ObjAssign || __objAssignFnImpl;\r\n\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function(d: any, b: any): any {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d: any, b: any) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d: any, b: any) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\n\r\nexport function __extendsFn(d: any, b: any) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __(this: any) {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)());\r\n}\r\n\r\nexport function __restFn(s: any, e: any) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorateFn(decorators: any, target: any, key: any, desc: any) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n } else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __paramFn(paramIndex: number, decorator: Function) {\r\n return function (target: any, key: any) {\r\n decorator(target, key, paramIndex);\r\n }\r\n}\r\n\r\nexport function __metadataFn(metadataKey: any, metadataValue: any) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\n\r\nexport function __exportStarFn(m: any, o: any) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\n\r\nexport function __createBindingFn(o: any, m: any, k: any, k2?: any) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n \r\n if (!!ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get() {\r\n return m[k];\r\n }\r\n });\r\n } else {\r\n o[k2] = m[k];\r\n }\r\n}\r\n\r\nexport function __valuesFn(o: any) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __readFn(o: any, n: any) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n } catch (error) {\r\n e = {\r\n error\r\n };\r\n } finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n } finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n\r\n return r;\r\n}\r\n\r\nexport function __spreadArrayFn(to: any, from: any) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n\r\n return to;\r\n}\r\n\r\nexport function __makeTemplateObjectFn(cooked: any, raw: any) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n } else {\r\n cooked.raw = raw;\r\n }\r\n\r\n return cooked;\r\n}\r\n\r\nexport function __importStarFn(mod: any) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n\r\n // Set default module\r\n if (!!ObjCreate) {\r\n ObjDefineProperty( result, strDefault, { enumerable: true, value: mod });\r\n } else {\r\n result[strDefault] = mod;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function __importDefaultFn(mod:any) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n"],"names":["Application","Device","this","id","deviceClass","Internal","config","sdkVersion","Location","Session","_SessionManager","core","_storageNamePrefix","_cookieUpdatedTimestamp","_logger","_cookieManager","_self","acquisitionSpan","renewalSpan","sessionCookiePostfix","_initializeAutomaticSessionWithData","session","sessionData","isValid","sessionReset","tokens","split","acqMs","renewalMs","isNaN","e","exception","_setCookie","nowMs","acq","renewalPeriodMs","acqTimeLeftMs","cookie","maxAgeSec","cookieDomain","set","join","isExpired","now","cookieValue","get","storageValue","_initializeAutomaticSession","sessionExpirationMs","sessionRenewalMs","timeSinceAcqMs","timeSinceRenewalMs","theConfig","getNewId","automaticSession","_renew","cookieUpdateInterval","backup","guid","renewal","TelemetryTrace","parentId","name","logger","traceID","parentID","location","pathname","_validateUserInput","match","User","isNewUser","isUserCookieSet","userCookiePostfix","userCookieName","params","_generateNewId","_generateNewCookie","userId","acqStr","Date","accountAcquisitionDate","_setUserCookie","name_1","undefined","authCookie","authCookieString","decodeURI","setAuthenticatedUserContext","authenticatedUserId","accountId","storeInCookie","encodeURI","clearAuthenticatedUserContext","del","cookieSeparator","authUserCookieName","strExt","strTags","_removeEmpty","target","TelemetryContext","defaultConfig","previousTraceCtx","_this","appId","application","internal","device","user","traceId","getTraceId","getSpanId","getName","sesId","autoSession","evt","itemCtx","ext","AppExt","OSExt","os","tags","applicationVersion","ver","applicationBuild","build","extDevice","DeviceExt","ip","model","internalAgentVersion","agentVersion","internalSdkVersion","baseType","dataType","PageView","internalSnippet","snippetVer","internalSdkSrc","sdkSrc","locationIp","telemetryTrace","extTrace","TraceExt","applyWebContext","web","WebExt","userAccountId","extUser","UserExt","cleanUp","_super","PropertiesPlugin","_extensionConfig","_distributedTraceCtx","_previousTraceCtx","call","priority","identifier","_base","_initDefaults","initialize","extensions","pluginChain","ctx","getDefaultConfig","field","value","getConfig","storagePrefix","context","setTraceCtx","breezeChannel","getPlugin","plugin","_populateDefaults","processTelemetry","event","_getTelCtx","envelopeType","diagLog","resetInternalMessageCount","theContext","userCtx","_processTelemetryInternal","message","userAgent","processNext","_doTeardown","unloadCtx","unloadState","_a","defaultValue","nullValue","instrumentationKey","samplingPercentage","isBrowserLinkTrackingEnabled","BaseTelemetryPlugin","strShimFunction","strShimObject","strShimUndefined","strShimPrototype","strShimHasOwnProperty","ObjClass","Object","ObjProto","ObjAssign","ObjCreate","ObjDefineProperty","ObjHasOwnProperty","_cachedGlobal","getGlobal","useCached","result","globalThis","self","window","g","throwTypeError","TypeError","objCreateFn","obj","func","type","tmpFunc","__assignFn","t","s","i","n","arguments","length","p","extendStaticsFn","d","b","__proto__","Array","__extendsFn","__","constructor","String","__spreadArrayFn","to","from","il","j"],"sourceRoot":""}