{"version":3,"file":"js/chunk-vendors-fedc906c.ac0ba1b7.js","mappings":"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","sources":["webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/navigation/NavigationClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/config/Configuration.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/crypto/BrowserCrypto.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/crypto/CryptoOps.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/encode/Base64Encode.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/encode/Base64Decode.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/crypto/PkceGenerator.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/crypto/GuidGenerator.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/error/BrowserAuthError.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/error/BrowserConfigurationAuthError.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/error/NativeAuthError.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/event/EventHandler.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/event/EventType.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/BaseInteractionClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/NativeInteractionClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/PopupClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_handler/RedirectHandler.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/RedirectClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/HybridSpaAuthorizationCodeClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/SilentAuthCodeClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/SilentCacheClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/SilentIframeClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/SilentRefreshClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_client/StandardInteractionClient.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.js","webpack://ida-jandaya/./node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.js"],"sourcesContent":["/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NavigationClient = /** @class */ (function () {\r\n function NavigationClient() {\r\n }\r\n /**\r\n * Navigates to other pages within the same web application\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.prototype.navigateInternal = function (url, options) {\r\n return NavigationClient.defaultNavigateWindow(url, options);\r\n };\r\n /**\r\n * Navigates to other pages outside the web application i.e. the Identity Provider\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.prototype.navigateExternal = function (url, options) {\r\n return NavigationClient.defaultNavigateWindow(url, options);\r\n };\r\n /**\r\n * Default navigation implementation invoked by the internal and external functions\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.defaultNavigateWindow = function (url, options) {\r\n if (options.noHistory) {\r\n window.location.replace(url);\r\n }\r\n else {\r\n window.location.assign(url);\r\n }\r\n return new Promise(function (resolve) {\r\n setTimeout(function () {\r\n resolve(true);\r\n }, options.timeout);\r\n });\r\n };\r\n return NavigationClient;\r\n}());\n\nexport { NavigationClient };\n//# sourceMappingURL=NavigationClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __assign } from '../_virtual/_tslib.js';\nimport { DEFAULT_SYSTEM_OPTIONS, StubbedNetworkModule, Constants, ProtocolMode, AzureCloudInstance, LogLevel } from '@azure/msal-common';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { BrowserCacheLocation } from '../utils/BrowserConstants.js';\nimport { NavigationClient } from '../navigation/NavigationClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n// Default timeout for popup windows and iframes in milliseconds\r\nvar DEFAULT_POPUP_TIMEOUT_MS = 60000;\r\nvar DEFAULT_IFRAME_TIMEOUT_MS = 6000;\r\nvar DEFAULT_REDIRECT_TIMEOUT_MS = 30000;\r\nvar DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS = 2000;\r\n/**\r\n * MSAL function that sets the default options when not explicitly configured from app developer\r\n *\r\n * @param auth\r\n * @param cache\r\n * @param system\r\n *\r\n * @returns Configuration object\r\n */\r\nfunction buildConfiguration(_a, isBrowserEnvironment) {\r\n var userInputAuth = _a.auth, userInputCache = _a.cache, userInputSystem = _a.system, userInputTelemetry = _a.telemetry;\r\n // Default auth options for browser\r\n var DEFAULT_AUTH_OPTIONS = {\r\n clientId: Constants.EMPTY_STRING,\r\n authority: \"\" + Constants.DEFAULT_AUTHORITY,\r\n knownAuthorities: [],\r\n cloudDiscoveryMetadata: Constants.EMPTY_STRING,\r\n authorityMetadata: Constants.EMPTY_STRING,\r\n redirectUri: Constants.EMPTY_STRING,\r\n postLogoutRedirectUri: Constants.EMPTY_STRING,\r\n navigateToLoginRequestUrl: true,\r\n clientCapabilities: [],\r\n protocolMode: ProtocolMode.AAD,\r\n azureCloudOptions: {\r\n azureCloudInstance: AzureCloudInstance.None,\r\n tenant: Constants.EMPTY_STRING\r\n },\r\n skipAuthorityMetadataCache: false,\r\n };\r\n // Default cache options for browser\r\n var DEFAULT_CACHE_OPTIONS = {\r\n cacheLocation: BrowserCacheLocation.SessionStorage,\r\n storeAuthStateInCookie: false,\r\n secureCookies: false\r\n };\r\n // Default logger options for browser\r\n var DEFAULT_LOGGER_OPTIONS = {\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n loggerCallback: function () { },\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false\r\n };\r\n // Default system options for browser\r\n var DEFAULT_BROWSER_SYSTEM_OPTIONS = __assign(__assign({}, DEFAULT_SYSTEM_OPTIONS), { loggerOptions: DEFAULT_LOGGER_OPTIONS, networkClient: isBrowserEnvironment ? BrowserUtils.getBrowserNetworkClient() : StubbedNetworkModule, navigationClient: new NavigationClient(), loadFrameTimeout: 0, \r\n // If loadFrameTimeout is provided, use that as default.\r\n windowHashTimeout: (userInputSystem === null || userInputSystem === void 0 ? void 0 : userInputSystem.loadFrameTimeout) || DEFAULT_POPUP_TIMEOUT_MS, iframeHashTimeout: (userInputSystem === null || userInputSystem === void 0 ? void 0 : userInputSystem.loadFrameTimeout) || DEFAULT_IFRAME_TIMEOUT_MS, navigateFrameWait: isBrowserEnvironment && BrowserUtils.detectIEOrEdge() ? 500 : 0, redirectNavigationTimeout: DEFAULT_REDIRECT_TIMEOUT_MS, asyncPopups: false, allowRedirectInIframe: false, allowNativeBroker: false, nativeBrokerHandshakeTimeout: (userInputSystem === null || userInputSystem === void 0 ? void 0 : userInputSystem.nativeBrokerHandshakeTimeout) || DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS });\r\n var DEFAULT_TELEMETRY_OPTIONS = {\r\n application: {\r\n appName: Constants.EMPTY_STRING,\r\n appVersion: Constants.EMPTY_STRING\r\n }\r\n };\r\n var overlayedConfig = {\r\n auth: __assign(__assign({}, DEFAULT_AUTH_OPTIONS), userInputAuth),\r\n cache: __assign(__assign({}, DEFAULT_CACHE_OPTIONS), userInputCache),\r\n system: __assign(__assign({}, DEFAULT_BROWSER_SYSTEM_OPTIONS), userInputSystem),\r\n telemetry: __assign(__assign({}, DEFAULT_TELEMETRY_OPTIONS), userInputTelemetry)\r\n };\r\n return overlayedConfig;\r\n}\n\nexport { DEFAULT_IFRAME_TIMEOUT_MS, DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS, DEFAULT_POPUP_TIMEOUT_MS, DEFAULT_REDIRECT_TIMEOUT_MS, buildConfiguration };\n//# sourceMappingURL=Configuration.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { KEY_FORMAT_JWK } from '../utils/BrowserConstants.js';\nimport { Constants } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams\r\n */\r\n// RSA KeyGen Algorithm\r\nvar PKCS1_V15_KEYGEN_ALG = \"RSASSA-PKCS1-v1_5\";\r\n// SHA-256 hashing algorithm\r\nvar S256_HASH_ALG = \"SHA-256\";\r\n// MOD length for PoP tokens\r\nvar MODULUS_LENGTH = 2048;\r\n// Public Exponent\r\nvar PUBLIC_EXPONENT = new Uint8Array([0x01, 0x00, 0x01]);\r\n/**\r\n * This class implements functions used by the browser library to perform cryptography operations such as\r\n * hashing and encoding. It also has helper functions to validate the availability of specific APIs.\r\n */\r\nvar BrowserCrypto = /** @class */ (function () {\r\n function BrowserCrypto(logger) {\r\n this.logger = logger;\r\n if (!(this.hasCryptoAPI())) {\r\n throw BrowserAuthError.createCryptoNotAvailableError(\"Browser crypto or msCrypto object not available.\");\r\n }\r\n this._keygenAlgorithmOptions = {\r\n name: PKCS1_V15_KEYGEN_ALG,\r\n hash: S256_HASH_ALG,\r\n modulusLength: MODULUS_LENGTH,\r\n publicExponent: PUBLIC_EXPONENT\r\n };\r\n }\r\n /**\r\n * Returns a sha-256 hash of the given dataString as an ArrayBuffer.\r\n * @param dataString\r\n */\r\n BrowserCrypto.prototype.sha256Digest = function (dataString) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var data;\r\n return __generator(this, function (_a) {\r\n data = BrowserStringUtils.stringToUtf8Arr(dataString);\r\n return [2 /*return*/, this.hasIECrypto() ? this.getMSCryptoDigest(S256_HASH_ALG, data) : this.getSubtleCryptoDigest(S256_HASH_ALG, data)];\r\n });\r\n });\r\n };\r\n /**\r\n * Populates buffer with cryptographically random values.\r\n * @param dataBuffer\r\n */\r\n BrowserCrypto.prototype.getRandomValues = function (dataBuffer) {\r\n var cryptoObj = window[\"msCrypto\"] || window.crypto;\r\n if (!cryptoObj.getRandomValues) {\r\n throw BrowserAuthError.createCryptoNotAvailableError(\"getRandomValues does not exist.\");\r\n }\r\n cryptoObj.getRandomValues(dataBuffer);\r\n };\r\n /**\r\n * Generates a keypair based on current keygen algorithm config.\r\n * @param extractable\r\n * @param usages\r\n */\r\n BrowserCrypto.prototype.generateKeyPair = function (extractable, usages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, (this.hasIECrypto() ?\r\n this.msCryptoGenerateKey(extractable, usages)\r\n : window.crypto.subtle.generateKey(this._keygenAlgorithmOptions, extractable, usages))];\r\n });\r\n });\r\n };\r\n /**\r\n * Export key as Json Web Key (JWK)\r\n * @param key\r\n * @param format\r\n */\r\n BrowserCrypto.prototype.exportJwk = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.hasIECrypto() ? this.msCryptoExportJwk(key) : window.crypto.subtle.exportKey(KEY_FORMAT_JWK, key)];\r\n });\r\n });\r\n };\r\n /**\r\n * Imports key as Json Web Key (JWK), can set extractable and usages.\r\n * @param key\r\n * @param format\r\n * @param extractable\r\n * @param usages\r\n */\r\n BrowserCrypto.prototype.importJwk = function (key, extractable, usages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var keyString, keyBuffer;\r\n return __generator(this, function (_a) {\r\n keyString = BrowserCrypto.getJwkString(key);\r\n keyBuffer = BrowserStringUtils.stringToArrayBuffer(keyString);\r\n return [2 /*return*/, this.hasIECrypto() ?\r\n this.msCryptoImportKey(keyBuffer, extractable, usages)\r\n : window.crypto.subtle.importKey(KEY_FORMAT_JWK, key, this._keygenAlgorithmOptions, extractable, usages)];\r\n });\r\n });\r\n };\r\n /**\r\n * Signs given data with given key\r\n * @param key\r\n * @param data\r\n */\r\n BrowserCrypto.prototype.sign = function (key, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.hasIECrypto() ?\r\n this.msCryptoSign(key, data)\r\n : window.crypto.subtle.sign(this._keygenAlgorithmOptions, key, data)];\r\n });\r\n });\r\n };\r\n /**\r\n * Check whether IE crypto or other browser cryptography is available.\r\n */\r\n BrowserCrypto.prototype.hasCryptoAPI = function () {\r\n return this.hasIECrypto() || this.hasBrowserCrypto();\r\n };\r\n /**\r\n * Checks whether IE crypto (AKA msCrypto) is available.\r\n */\r\n BrowserCrypto.prototype.hasIECrypto = function () {\r\n return \"msCrypto\" in window;\r\n };\r\n /**\r\n * Check whether browser crypto is available.\r\n */\r\n BrowserCrypto.prototype.hasBrowserCrypto = function () {\r\n return \"crypto\" in window;\r\n };\r\n /**\r\n * Helper function for SHA digest.\r\n * @param algorithm\r\n * @param data\r\n */\r\n BrowserCrypto.prototype.getSubtleCryptoDigest = function (algorithm, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.crypto.subtle.digest(algorithm, data)];\r\n });\r\n });\r\n };\r\n /**\r\n * IE Helper function for SHA digest.\r\n * @param algorithm\r\n * @param data\r\n */\r\n BrowserCrypto.prototype.getMSCryptoDigest = function (algorithm, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var digestOperation = window[\"msCrypto\"].subtle.digest(algorithm, data.buffer);\r\n digestOperation.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n digestOperation.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * IE Helper function for generating a keypair\r\n * @param extractable\r\n * @param usages\r\n */\r\n BrowserCrypto.prototype.msCryptoGenerateKey = function (extractable, usages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msGenerateKey = window[\"msCrypto\"].subtle.generateKey(_this._keygenAlgorithmOptions, extractable, usages);\r\n msGenerateKey.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n msGenerateKey.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * IE Helper function for exportKey\r\n * @param key\r\n * @param format\r\n */\r\n BrowserCrypto.prototype.msCryptoExportJwk = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msExportKey = window[\"msCrypto\"].subtle.exportKey(KEY_FORMAT_JWK, key);\r\n msExportKey.addEventListener(\"complete\", function (e) {\r\n var resultBuffer = e.target.result;\r\n var resultString = BrowserStringUtils.utf8ArrToString(new Uint8Array(resultBuffer))\r\n .replace(/\\r/g, Constants.EMPTY_STRING)\r\n .replace(/\\n/g, Constants.EMPTY_STRING)\r\n .replace(/\\t/g, Constants.EMPTY_STRING)\r\n .split(\" \").join(Constants.EMPTY_STRING)\r\n .replace(\"\\u0000\", Constants.EMPTY_STRING);\r\n try {\r\n resolve(JSON.parse(resultString));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n });\r\n msExportKey.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * IE Helper function for importKey\r\n * @param key\r\n * @param format\r\n * @param extractable\r\n * @param usages\r\n */\r\n BrowserCrypto.prototype.msCryptoImportKey = function (keyBuffer, extractable, usages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msImportKey = window[\"msCrypto\"].subtle.importKey(KEY_FORMAT_JWK, keyBuffer, _this._keygenAlgorithmOptions, extractable, usages);\r\n msImportKey.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n msImportKey.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * IE Helper function for sign JWT\r\n * @param key\r\n * @param data\r\n */\r\n BrowserCrypto.prototype.msCryptoSign = function (key, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msSign = window[\"msCrypto\"].subtle.sign(_this._keygenAlgorithmOptions, key, data);\r\n msSign.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n msSign.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * Returns stringified jwk.\r\n * @param jwk\r\n */\r\n BrowserCrypto.getJwkString = function (jwk) {\r\n return JSON.stringify(jwk, Object.keys(jwk).sort());\r\n };\r\n return BrowserCrypto;\r\n}());\n\nexport { BrowserCrypto };\n//# sourceMappingURL=BrowserCrypto.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { PerformanceEvents, JoseHeader } from '@azure/msal-common';\nimport { GuidGenerator } from './GuidGenerator.js';\nimport { Base64Encode } from '../encode/Base64Encode.js';\nimport { Base64Decode } from '../encode/Base64Decode.js';\nimport { PkceGenerator } from './PkceGenerator.js';\nimport { BrowserCrypto } from './BrowserCrypto.js';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { AsyncMemoryStorage } from '../cache/AsyncMemoryStorage.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar CryptoKeyStoreNames;\r\n(function (CryptoKeyStoreNames) {\r\n CryptoKeyStoreNames[\"asymmetricKeys\"] = \"asymmetricKeys\";\r\n CryptoKeyStoreNames[\"symmetricKeys\"] = \"symmetricKeys\";\r\n})(CryptoKeyStoreNames || (CryptoKeyStoreNames = {}));\r\n/**\r\n * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and\r\n * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).\r\n */\r\nvar CryptoOps = /** @class */ (function () {\r\n function CryptoOps(logger, performanceClient) {\r\n this.logger = logger;\r\n // Browser crypto needs to be validated first before any other classes can be set.\r\n this.browserCrypto = new BrowserCrypto(this.logger);\r\n this.b64Encode = new Base64Encode();\r\n this.b64Decode = new Base64Decode();\r\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\r\n this.pkceGenerator = new PkceGenerator(this.browserCrypto);\r\n this.cache = {\r\n asymmetricKeys: new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.asymmetricKeys),\r\n symmetricKeys: new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.symmetricKeys)\r\n };\r\n this.performanceClient = performanceClient;\r\n }\r\n /**\r\n * Creates a new random GUID - used to populate state and nonce.\r\n * @returns string (GUID)\r\n */\r\n CryptoOps.prototype.createNewGuid = function () {\r\n return this.guidGenerator.generateGuid();\r\n };\r\n /**\r\n * Encodes input string to base64.\r\n * @param input\r\n */\r\n CryptoOps.prototype.base64Encode = function (input) {\r\n return this.b64Encode.encode(input);\r\n };\r\n /**\r\n * Decodes input string from base64.\r\n * @param input\r\n */\r\n CryptoOps.prototype.base64Decode = function (input) {\r\n return this.b64Decode.decode(input);\r\n };\r\n /**\r\n * Generates PKCE codes used in Authorization Code Flow.\r\n */\r\n CryptoOps.prototype.generatePkceCodes = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.pkceGenerator.generateCodes()];\r\n });\r\n });\r\n };\r\n /**\r\n * Generates a keypair, stores it and returns a thumbprint\r\n * @param request\r\n */\r\n CryptoOps.prototype.getPublicKeyThumbprint = function (request) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var publicKeyThumbMeasurement, keyPair, publicKeyJwk, pubKeyThumprintObj, publicJwkString, publicJwkHash, privateKeyJwk, unextractablePrivateKey;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n publicKeyThumbMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);\r\n return [4 /*yield*/, this.browserCrypto.generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES)];\r\n case 1:\r\n keyPair = _b.sent();\r\n return [4 /*yield*/, this.browserCrypto.exportJwk(keyPair.publicKey)];\r\n case 2:\r\n publicKeyJwk = _b.sent();\r\n pubKeyThumprintObj = {\r\n e: publicKeyJwk.e,\r\n kty: publicKeyJwk.kty,\r\n n: publicKeyJwk.n\r\n };\r\n publicJwkString = BrowserCrypto.getJwkString(pubKeyThumprintObj);\r\n return [4 /*yield*/, this.hashString(publicJwkString)];\r\n case 3:\r\n publicJwkHash = _b.sent();\r\n return [4 /*yield*/, this.browserCrypto.exportJwk(keyPair.privateKey)];\r\n case 4:\r\n privateKeyJwk = _b.sent();\r\n return [4 /*yield*/, this.browserCrypto.importJwk(privateKeyJwk, false, [\"sign\"])];\r\n case 5:\r\n unextractablePrivateKey = _b.sent();\r\n // Store Keypair data in keystore\r\n return [4 /*yield*/, this.cache.asymmetricKeys.setItem(publicJwkHash, {\r\n privateKey: unextractablePrivateKey,\r\n publicKey: keyPair.publicKey,\r\n requestMethod: request.resourceRequestMethod,\r\n requestUri: request.resourceRequestUri\r\n })];\r\n case 6:\r\n // Store Keypair data in keystore\r\n _b.sent();\r\n if (publicKeyThumbMeasurement) {\r\n publicKeyThumbMeasurement.endMeasurement({\r\n success: true\r\n });\r\n }\r\n return [2 /*return*/, publicJwkHash];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes cryptographic keypair from key store matching the keyId passed in\r\n * @param kid\r\n */\r\n CryptoOps.prototype.removeTokenBindingKey = function (kid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var keyFound;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.cache.asymmetricKeys.removeItem(kid)];\r\n case 1:\r\n _a.sent();\r\n return [4 /*yield*/, this.cache.asymmetricKeys.containsKey(kid)];\r\n case 2:\r\n keyFound = _a.sent();\r\n return [2 /*return*/, !keyFound];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes all cryptographic keys from IndexedDB storage\r\n */\r\n CryptoOps.prototype.clearKeystore = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 3, , 4]);\r\n this.logger.verbose(\"Deleting in-memory and persistent asymmetric key stores\");\r\n return [4 /*yield*/, this.cache.asymmetricKeys.clear()];\r\n case 1:\r\n _a.sent();\r\n this.logger.verbose(\"Successfully deleted asymmetric key stores\");\r\n this.logger.verbose(\"Deleting in-memory and persistent symmetric key stores\");\r\n return [4 /*yield*/, this.cache.symmetricKeys.clear()];\r\n case 2:\r\n _a.sent();\r\n this.logger.verbose(\"Successfully deleted symmetric key stores\");\r\n return [2 /*return*/, true];\r\n case 3:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof Error) {\r\n this.logger.error(\"Clearing keystore failed with error: \" + e_1.message);\r\n }\r\n else {\r\n this.logger.error(\"Clearing keystore failed with unknown error\");\r\n }\r\n return [2 /*return*/, false];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Signs the given object as a jwt payload with private key retrieved by given kid.\r\n * @param payload\r\n * @param kid\r\n */\r\n CryptoOps.prototype.signJwt = function (payload, kid, correlationId) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var signJwtMeasurement, cachedKeyPair, publicKeyJwk, publicKeyJwkString, encodedKeyIdThumbprint, shrHeader, encodedShrHeader, encodedPayload, tokenString, tokenBuffer, signatureBuffer, encodedSignature, signedJwt;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n signJwtMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);\r\n return [4 /*yield*/, this.cache.asymmetricKeys.getItem(kid)];\r\n case 1:\r\n cachedKeyPair = _b.sent();\r\n if (!cachedKeyPair) {\r\n throw BrowserAuthError.createSigningKeyNotFoundInStorageError(kid);\r\n }\r\n return [4 /*yield*/, this.browserCrypto.exportJwk(cachedKeyPair.publicKey)];\r\n case 2:\r\n publicKeyJwk = _b.sent();\r\n publicKeyJwkString = BrowserCrypto.getJwkString(publicKeyJwk);\r\n encodedKeyIdThumbprint = this.b64Encode.urlEncode(JSON.stringify({ kid: kid }));\r\n shrHeader = JoseHeader.getShrHeaderString({ kid: encodedKeyIdThumbprint, alg: publicKeyJwk.alg });\r\n encodedShrHeader = this.b64Encode.urlEncode(shrHeader);\r\n // Generate payload\r\n payload.cnf = {\r\n jwk: JSON.parse(publicKeyJwkString)\r\n };\r\n encodedPayload = this.b64Encode.urlEncode(JSON.stringify(payload));\r\n tokenString = encodedShrHeader + \".\" + encodedPayload;\r\n tokenBuffer = BrowserStringUtils.stringToArrayBuffer(tokenString);\r\n return [4 /*yield*/, this.browserCrypto.sign(cachedKeyPair.privateKey, tokenBuffer)];\r\n case 3:\r\n signatureBuffer = _b.sent();\r\n encodedSignature = this.b64Encode.urlEncodeArr(new Uint8Array(signatureBuffer));\r\n signedJwt = tokenString + \".\" + encodedSignature;\r\n if (signJwtMeasurement) {\r\n signJwtMeasurement.endMeasurement({\r\n success: true\r\n });\r\n }\r\n return [2 /*return*/, signedJwt];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Returns the SHA-256 hash of an input string\r\n * @param plainText\r\n */\r\n CryptoOps.prototype.hashString = function (plainText) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var hashBuffer, hashBytes;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.browserCrypto.sha256Digest(plainText)];\r\n case 1:\r\n hashBuffer = _a.sent();\r\n hashBytes = new Uint8Array(hashBuffer);\r\n return [2 /*return*/, this.b64Encode.urlEncodeArr(hashBytes)];\r\n }\r\n });\r\n });\r\n };\r\n CryptoOps.POP_KEY_USAGES = [\"sign\", \"verify\"];\r\n CryptoOps.EXTRACTABLE = true;\r\n return CryptoOps;\r\n}());\n\nexport { CryptoKeyStoreNames, CryptoOps };\n//# sourceMappingURL=CryptoOps.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar Base64Encode = /** @class */ (function () {\r\n function Base64Encode() {\r\n }\r\n /**\r\n * Returns URL Safe b64 encoded string from a plaintext string.\r\n * @param input\r\n */\r\n Base64Encode.prototype.urlEncode = function (input) {\r\n return encodeURIComponent(this.encode(input)\r\n .replace(/=/g, Constants.EMPTY_STRING)\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\"));\r\n };\r\n /**\r\n * Returns URL Safe b64 encoded string from an int8Array.\r\n * @param inputArr\r\n */\r\n Base64Encode.prototype.urlEncodeArr = function (inputArr) {\r\n return this.base64EncArr(inputArr)\r\n .replace(/=/g, Constants.EMPTY_STRING)\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\");\r\n };\r\n /**\r\n * Returns b64 encoded string from plaintext string.\r\n * @param input\r\n */\r\n Base64Encode.prototype.encode = function (input) {\r\n var inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);\r\n return this.base64EncArr(inputUtf8Arr);\r\n };\r\n /**\r\n * Base64 encode byte array\r\n * @param aBytes\r\n */\r\n Base64Encode.prototype.base64EncArr = function (aBytes) {\r\n var eqLen = (3 - (aBytes.length % 3)) % 3;\r\n var sB64Enc = Constants.EMPTY_STRING;\r\n for (var nMod3 = void 0, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {\r\n nMod3 = nIdx % 3;\r\n /* Uncomment the following line in order to split the output in lines 76-character long: */\r\n /*\r\n *if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += \"\\r\\n\"; }\r\n */\r\n nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);\r\n if (nMod3 === 2 || aBytes.length - nIdx === 1) {\r\n sB64Enc += String.fromCharCode(this.uint6ToB64(nUint24 >>> 18 & 63), this.uint6ToB64(nUint24 >>> 12 & 63), this.uint6ToB64(nUint24 >>> 6 & 63), this.uint6ToB64(nUint24 & 63));\r\n nUint24 = 0;\r\n }\r\n }\r\n return eqLen === 0 ? sB64Enc : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? \"=\" : \"==\");\r\n };\r\n /**\r\n * Base64 string to array encoding helper\r\n * @param nUint6\r\n */\r\n Base64Encode.prototype.uint6ToB64 = function (nUint6) {\r\n return nUint6 < 26 ?\r\n nUint6 + 65\r\n : nUint6 < 52 ?\r\n nUint6 + 71\r\n : nUint6 < 62 ?\r\n nUint6 - 4\r\n : nUint6 === 62 ?\r\n 43\r\n : nUint6 === 63 ?\r\n 47\r\n :\r\n 65;\r\n };\r\n return Base64Encode;\r\n}());\n\nexport { Base64Encode };\n//# sourceMappingURL=Base64Encode.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar Base64Decode = /** @class */ (function () {\r\n function Base64Decode() {\r\n }\r\n /**\r\n * Returns a URL-safe plaintext decoded string from b64 encoded input.\r\n * @param input\r\n */\r\n Base64Decode.prototype.decode = function (input) {\r\n var encodedString = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n switch (encodedString.length % 4) {\r\n case 0:\r\n break;\r\n case 2:\r\n encodedString += \"==\";\r\n break;\r\n case 3:\r\n encodedString += \"=\";\r\n break;\r\n default:\r\n throw new Error(\"Invalid base64 string\");\r\n }\r\n var inputUtf8Arr = this.base64DecToArr(encodedString);\r\n return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);\r\n };\r\n /**\r\n * Decodes base64 into Uint8Array\r\n * @param base64String\r\n * @param nBlockSize\r\n */\r\n Base64Decode.prototype.base64DecToArr = function (base64String, nBlockSize) {\r\n var sB64Enc = base64String.replace(/[^A-Za-z0-9\\+\\/]/g, Constants.EMPTY_STRING);\r\n var nInLen = sB64Enc.length;\r\n var nOutLen = nBlockSize ? Math.ceil((nInLen * 3 + 1 >>> 2) / nBlockSize) * nBlockSize : nInLen * 3 + 1 >>> 2;\r\n var aBytes = new Uint8Array(nOutLen);\r\n for (var nMod3 = void 0, nMod4 = void 0, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {\r\n nMod4 = nInIdx & 3;\r\n nUint24 |= this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 18 - 6 * nMod4;\r\n if (nMod4 === 3 || nInLen - nInIdx === 1) {\r\n for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {\r\n aBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;\r\n }\r\n nUint24 = 0;\r\n }\r\n }\r\n return aBytes;\r\n };\r\n /**\r\n * Base64 string to array decoding helper\r\n * @param charNum\r\n */\r\n Base64Decode.prototype.b64ToUint6 = function (charNum) {\r\n return charNum > 64 && charNum < 91 ?\r\n charNum - 65\r\n : charNum > 96 && charNum < 123 ?\r\n charNum - 71\r\n : charNum > 47 && charNum < 58 ?\r\n charNum + 4\r\n : charNum === 43 ?\r\n 62\r\n : charNum === 47 ?\r\n 63\r\n :\r\n 0;\r\n };\r\n return Base64Decode;\r\n}());\n\nexport { Base64Decode };\n//# sourceMappingURL=Base64Decode.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { Base64Encode } from '../encode/Base64Encode.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n// Constant byte array length\r\nvar RANDOM_BYTE_ARR_LENGTH = 32;\r\n/**\r\n * Class which exposes APIs to generate PKCE codes and code verifiers.\r\n */\r\nvar PkceGenerator = /** @class */ (function () {\r\n function PkceGenerator(cryptoObj) {\r\n this.base64Encode = new Base64Encode();\r\n this.cryptoObj = cryptoObj;\r\n }\r\n /**\r\n * Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636\r\n */\r\n PkceGenerator.prototype.generateCodes = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var codeVerifier, codeChallenge;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n codeVerifier = this.generateCodeVerifier();\r\n return [4 /*yield*/, this.generateCodeChallengeFromVerifier(codeVerifier)];\r\n case 1:\r\n codeChallenge = _a.sent();\r\n return [2 /*return*/, {\r\n verifier: codeVerifier,\r\n challenge: codeChallenge\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Generates a random 32 byte buffer and returns the base64\r\n * encoded string to be used as a PKCE Code Verifier\r\n */\r\n PkceGenerator.prototype.generateCodeVerifier = function () {\r\n try {\r\n // Generate random values as utf-8\r\n var buffer = new Uint8Array(RANDOM_BYTE_ARR_LENGTH);\r\n this.cryptoObj.getRandomValues(buffer);\r\n // encode verifier as base64\r\n var pkceCodeVerifierB64 = this.base64Encode.urlEncodeArr(buffer);\r\n return pkceCodeVerifierB64;\r\n }\r\n catch (e) {\r\n throw BrowserAuthError.createPkceNotGeneratedError(e);\r\n }\r\n };\r\n /**\r\n * Creates a base64 encoded PKCE Code Challenge string from the\r\n * hash created from the PKCE Code Verifier supplied\r\n */\r\n PkceGenerator.prototype.generateCodeChallengeFromVerifier = function (pkceCodeVerifier) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var pkceHashedCodeVerifier, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, this.cryptoObj.sha256Digest(pkceCodeVerifier)];\r\n case 1:\r\n pkceHashedCodeVerifier = _a.sent();\r\n // encode hash as base64\r\n return [2 /*return*/, this.base64Encode.urlEncodeArr(new Uint8Array(pkceHashedCodeVerifier))];\r\n case 2:\r\n e_1 = _a.sent();\r\n throw BrowserAuthError.createPkceNotGeneratedError(e_1);\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return PkceGenerator;\r\n}());\n\nexport { PkceGenerator };\n//# sourceMappingURL=PkceGenerator.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\nimport { MathUtils } from '../utils/MathUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar GuidGenerator = /** @class */ (function () {\r\n function GuidGenerator(cryptoObj) {\r\n this.cryptoObj = cryptoObj;\r\n }\r\n /*\r\n * RFC4122: The version 4 UUID is meant for generating UUIDs from truly-random or\r\n * pseudo-random numbers.\r\n * The algorithm is as follows:\r\n * Set the two most significant bits (bits 6 and 7) of the\r\n * clock_seq_hi_and_reserved to zero and one, respectively.\r\n * Set the four most significant bits (bits 12 through 15) of the\r\n * time_hi_and_version field to the 4-bit version number from\r\n * Section 4.1.3. Version4\r\n * Set all the other bits to randomly (or pseudo-randomly) chosen\r\n * values.\r\n * UUID = time-low \"-\" time-mid \"-\"time-high-and-version \"-\"clock-seq-reserved and low(2hexOctet)\"-\" node\r\n * time-low = 4hexOctet\r\n * time-mid = 2hexOctet\r\n * time-high-and-version = 2hexOctet\r\n * clock-seq-and-reserved = hexOctet:\r\n * clock-seq-low = hexOctet\r\n * node = 6hexOctet\r\n * Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\r\n * y could be 1000, 1001, 1010, 1011 since most significant two bits needs to be 10\r\n * y values are 8, 9, A, B\r\n */\r\n GuidGenerator.prototype.generateGuid = function () {\r\n try {\r\n var buffer = new Uint8Array(16);\r\n this.cryptoObj.getRandomValues(buffer);\r\n // buffer[6] and buffer[7] represents the time_hi_and_version field. We will set the four most significant bits (4 through 7) of buffer[6] to represent decimal number 4 (UUID version number).\r\n buffer[6] |= 0x40; // buffer[6] | 01000000 will set the 6 bit to 1.\r\n buffer[6] &= 0x4f; // buffer[6] & 01001111 will set the 4, 5, and 7 bit to 0 such that bits 4-7 == 0100 = \"4\".\r\n // buffer[8] represents the clock_seq_hi_and_reserved field. We will set the two most significant bits (6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively.\r\n buffer[8] |= 0x80; // buffer[8] | 10000000 will set the 7 bit to 1.\r\n buffer[8] &= 0xbf; // buffer[8] & 10111111 will set the 6 bit to 0.\r\n return MathUtils.decimalToHex(buffer[0]) + MathUtils.decimalToHex(buffer[1])\r\n + MathUtils.decimalToHex(buffer[2]) + MathUtils.decimalToHex(buffer[3])\r\n + \"-\" + MathUtils.decimalToHex(buffer[4]) + MathUtils.decimalToHex(buffer[5])\r\n + \"-\" + MathUtils.decimalToHex(buffer[6]) + MathUtils.decimalToHex(buffer[7])\r\n + \"-\" + MathUtils.decimalToHex(buffer[8]) + MathUtils.decimalToHex(buffer[9])\r\n + \"-\" + MathUtils.decimalToHex(buffer[10]) + MathUtils.decimalToHex(buffer[11])\r\n + MathUtils.decimalToHex(buffer[12]) + MathUtils.decimalToHex(buffer[13])\r\n + MathUtils.decimalToHex(buffer[14]) + MathUtils.decimalToHex(buffer[15]);\r\n }\r\n catch (err) {\r\n var guidHolder = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";\r\n var hex = \"0123456789abcdef\";\r\n var r = 0;\r\n var guidResponse = Constants.EMPTY_STRING;\r\n for (var i = 0; i < 36; i++) {\r\n if (guidHolder[i] !== \"-\" && guidHolder[i] !== \"4\") {\r\n // each x and y needs to be random\r\n r = Math.random() * 16 | 0;\r\n }\r\n if (guidHolder[i] === \"x\") {\r\n guidResponse += hex[r];\r\n }\r\n else if (guidHolder[i] === \"y\") {\r\n // clock-seq-and-reserved first hex is filtered and remaining hex values are random\r\n r &= 0x3; // bit and with 0011 to set pos 2 to zero ?0??\r\n r |= 0x8; // set pos 3 to 1 as 1???\r\n guidResponse += hex[r];\r\n }\r\n else {\r\n guidResponse += guidHolder[i];\r\n }\r\n }\r\n return guidResponse;\r\n }\r\n };\r\n /**\r\n * verifies if a string is GUID\r\n * @param guid\r\n */\r\n GuidGenerator.prototype.isGuid = function (guid) {\r\n var regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\r\n return regexGuid.test(guid);\r\n };\r\n return GuidGenerator;\r\n}());\n\nexport { GuidGenerator };\n//# sourceMappingURL=GuidGenerator.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { StringUtils, AuthError } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar BrowserAuthErrorMessage = {\r\n pkceNotGenerated: {\r\n code: \"pkce_not_created\",\r\n desc: \"The PKCE code challenge and verifier could not be generated.\"\r\n },\r\n cryptoDoesNotExist: {\r\n code: \"crypto_nonexistent\",\r\n desc: \"The crypto object or function is not available.\"\r\n },\r\n httpMethodNotImplementedError: {\r\n code: \"http_method_not_implemented\",\r\n desc: \"The HTTP method given has not been implemented in this library.\"\r\n },\r\n emptyNavigateUriError: {\r\n code: \"empty_navigate_uri\",\r\n desc: \"Navigation URI is empty. Please check stack trace for more info.\"\r\n },\r\n hashEmptyError: {\r\n code: \"hash_empty_error\",\r\n desc: \"Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n hashDoesNotContainStateError: {\r\n code: \"no_state_in_hash\",\r\n desc: \"Hash does not contain state. Please verify that the request originated from msal.\"\r\n },\r\n hashDoesNotContainKnownPropertiesError: {\r\n code: \"hash_does_not_contain_known_properties\",\r\n desc: \"Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n unableToParseStateError: {\r\n code: \"unable_to_parse_state\",\r\n desc: \"Unable to parse state. Please verify that the request originated from msal.\"\r\n },\r\n stateInteractionTypeMismatchError: {\r\n code: \"state_interaction_type_mismatch\",\r\n desc: \"Hash contains state but the interaction type does not match the caller.\"\r\n },\r\n interactionInProgress: {\r\n code: \"interaction_in_progress\",\r\n desc: \"Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n popupWindowError: {\r\n code: \"popup_window_error\",\r\n desc: \"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"\r\n },\r\n emptyWindowError: {\r\n code: \"empty_window_error\",\r\n desc: \"window.open returned null or undefined window object.\"\r\n },\r\n userCancelledError: {\r\n code: \"user_cancelled\",\r\n desc: \"User cancelled the flow.\"\r\n },\r\n monitorPopupTimeoutError: {\r\n code: \"monitor_window_timeout\",\r\n desc: \"Token acquisition in popup failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n monitorIframeTimeoutError: {\r\n code: \"monitor_window_timeout\",\r\n desc: \"Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n redirectInIframeError: {\r\n code: \"redirect_in_iframe\",\r\n desc: \"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.\"\r\n },\r\n blockTokenRequestsInHiddenIframeError: {\r\n code: \"block_iframe_reload\",\r\n desc: \"Request was blocked inside an iframe because MSAL detected an authentication response. For more visit: aka.ms/msaljs/browser-errors\"\r\n },\r\n blockAcquireTokenInPopupsError: {\r\n code: \"block_nested_popups\",\r\n desc: \"Request was blocked inside a popup because MSAL detected it was running in a popup.\"\r\n },\r\n iframeClosedPrematurelyError: {\r\n code: \"iframe_closed_prematurely\",\r\n desc: \"The iframe being monitored was closed prematurely.\"\r\n },\r\n silentLogoutUnsupportedError: {\r\n code: \"silent_logout_unsupported\",\r\n desc: \"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.\"\r\n },\r\n noAccountError: {\r\n code: \"no_account_error\",\r\n desc: \"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.\"\r\n },\r\n silentPromptValueError: {\r\n code: \"silent_prompt_value_error\",\r\n desc: \"The value given for the prompt value is not valid for silent requests - must be set to 'none'.\"\r\n },\r\n noTokenRequestCacheError: {\r\n code: \"no_token_request_cache_error\",\r\n desc: \"No token request found in cache.\"\r\n },\r\n unableToParseTokenRequestCacheError: {\r\n code: \"unable_to_parse_token_request_cache_error\",\r\n desc: \"The cached token request could not be parsed.\"\r\n },\r\n noCachedAuthorityError: {\r\n code: \"no_cached_authority_error\",\r\n desc: \"No cached authority found.\"\r\n },\r\n authRequestNotSet: {\r\n code: \"auth_request_not_set_error\",\r\n desc: \"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler\"\r\n },\r\n invalidCacheType: {\r\n code: \"invalid_cache_type\",\r\n desc: \"Invalid cache type\"\r\n },\r\n notInBrowserEnvironment: {\r\n code: \"non_browser_environment\",\r\n desc: \"Login and token requests are not supported in non-browser environments.\"\r\n },\r\n databaseNotOpen: {\r\n code: \"database_not_open\",\r\n desc: \"Database is not open!\"\r\n },\r\n noNetworkConnectivity: {\r\n code: \"no_network_connectivity\",\r\n desc: \"No network connectivity. Check your internet connection.\"\r\n },\r\n postRequestFailed: {\r\n code: \"post_request_failed\",\r\n desc: \"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'\"\r\n },\r\n getRequestFailed: {\r\n code: \"get_request_failed\",\r\n desc: \"Network request failed. Please check the network trace to determine root cause.\"\r\n },\r\n failedToParseNetworkResponse: {\r\n code: \"failed_to_parse_response\",\r\n desc: \"Failed to parse network response. Check network trace.\"\r\n },\r\n unableToLoadTokenError: {\r\n code: \"unable_to_load_token\",\r\n desc: \"Error loading token to cache.\"\r\n },\r\n signingKeyNotFoundInStorage: {\r\n code: \"crypto_key_not_found\",\r\n desc: \"Cryptographic Key or Keypair not found in browser storage.\"\r\n },\r\n authCodeRequired: {\r\n code: \"auth_code_required\",\r\n desc: \"An authorization code must be provided (as the `code` property on the request) to this flow.\"\r\n },\r\n authCodeOrNativeAccountRequired: {\r\n code: \"auth_code_or_nativeAccountId_required\",\r\n desc: \"An authorization code or nativeAccountId must be provided to this flow.\"\r\n },\r\n databaseUnavailable: {\r\n code: \"database_unavailable\",\r\n desc: \"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.\"\r\n },\r\n unableToAcquireTokenFromNativePlatform: {\r\n code: \"unable_to_acquire_token_from_native_platform\",\r\n desc: \"Unable to acquire token from native platform. For a list of possible reasons visit aka.ms/msaljs/browser-errors.\"\r\n },\r\n nativeHandshakeTimeout: {\r\n code: \"native_handshake_timeout\",\r\n desc: \"Timed out while attempting to establish connection to browser extension\"\r\n },\r\n nativeExtensionNotInstalled: {\r\n code: \"native_extension_not_installed\",\r\n desc: \"Native extension is not installed. If you think this is a mistake call the initialize function.\"\r\n },\r\n nativeConnectionNotEstablished: {\r\n code: \"native_connection_not_established\",\r\n desc: \"Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). For more please visit aka.ms/msaljs/browser-errors.\"\r\n },\r\n nativeBrokerCalledBeforeInitialize: {\r\n code: \"native_broker_called_before_initialize\",\r\n desc: \"You must call and await the initialize function before attempting to call any other MSAL API when native brokering is enabled. For more please visit aka.ms/msaljs/browser-errors.\"\r\n },\r\n nativePromptNotSupported: {\r\n code: \"native_prompt_not_supported\",\r\n desc: \"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.\"\r\n }\r\n};\r\n/**\r\n * Browser library error class thrown by the MSAL.js library for SPAs\r\n */\r\nvar BrowserAuthError = /** @class */ (function (_super) {\r\n __extends(BrowserAuthError, _super);\r\n function BrowserAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n Object.setPrototypeOf(_this, BrowserAuthError.prototype);\r\n _this.name = \"BrowserAuthError\";\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when PKCE is not implemented.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createPkceNotGeneratedError = function (errDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.pkceNotGenerated.code, BrowserAuthErrorMessage.pkceNotGenerated.desc + \" Detail:\" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when the crypto object is unavailable.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createCryptoNotAvailableError = function (errDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.cryptoDoesNotExist.code, BrowserAuthErrorMessage.cryptoDoesNotExist.desc + \" Detail:\" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when an HTTP method hasn't been implemented by the browser class.\r\n * @param method\r\n */\r\n BrowserAuthError.createHttpMethodNotImplementedError = function (method) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.httpMethodNotImplementedError.code, BrowserAuthErrorMessage.httpMethodNotImplementedError.desc + \" Given Method: \" + method);\r\n };\r\n /**\r\n * Creates an error thrown when the navigation URI is empty.\r\n */\r\n BrowserAuthError.createEmptyNavigationUriError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyNavigateUriError.code, BrowserAuthErrorMessage.emptyNavigateUriError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n * @param hashValue\r\n */\r\n BrowserAuthError.createEmptyHashError = function (hashValue) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashEmptyError.code, BrowserAuthErrorMessage.hashEmptyError.desc + \" Given Url: \" + hashValue);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n */\r\n BrowserAuthError.createHashDoesNotContainStateError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainStateError.code, BrowserAuthErrorMessage.hashDoesNotContainStateError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value does not contain known properties\r\n */\r\n BrowserAuthError.createHashDoesNotContainKnownPropertiesError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.code, BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n */\r\n BrowserAuthError.createUnableToParseStateError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseStateError.code, BrowserAuthErrorMessage.unableToParseStateError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the state value in the hash does not match the interaction type of the API attempting to consume it.\r\n */\r\n BrowserAuthError.createStateInteractionTypeMismatchError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.stateInteractionTypeMismatchError.code, BrowserAuthErrorMessage.stateInteractionTypeMismatchError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a browser interaction (redirect or popup) is in progress.\r\n */\r\n BrowserAuthError.createInteractionInProgressError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.interactionInProgress.code, BrowserAuthErrorMessage.interactionInProgress.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the popup window could not be opened.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createPopupWindowError = function (errDetail) {\r\n var errorMessage = BrowserAuthErrorMessage.popupWindowError.desc;\r\n errorMessage = !StringUtils.isEmpty(errDetail) ? errorMessage + \" Details: \" + errDetail : errorMessage;\r\n return new BrowserAuthError(BrowserAuthErrorMessage.popupWindowError.code, errorMessage);\r\n };\r\n /**\r\n * Creates an error thrown when window.open returns an empty window object.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createEmptyWindowCreatedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyWindowError.code, BrowserAuthErrorMessage.emptyWindowError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the user closes a popup.\r\n */\r\n BrowserAuthError.createUserCancelledError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.userCancelledError.code, BrowserAuthErrorMessage.userCancelledError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when monitorPopupFromHash times out for a given popup.\r\n */\r\n BrowserAuthError.createMonitorPopupTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorPopupTimeoutError.code, BrowserAuthErrorMessage.monitorPopupTimeoutError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when monitorIframeFromHash times out for a given iframe.\r\n */\r\n BrowserAuthError.createMonitorIframeTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorIframeTimeoutError.code, BrowserAuthErrorMessage.monitorIframeTimeoutError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when navigateWindow is called inside an iframe or brokered applications.\r\n * @param windowParentCheck\r\n */\r\n BrowserAuthError.createRedirectInIframeError = function (windowParentCheck) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.redirectInIframeError.code, BrowserAuthErrorMessage.redirectInIframeError.desc + \" (window.parent !== window) => \" + windowParentCheck);\r\n };\r\n /**\r\n * Creates an error thrown when an auth reload is done inside an iframe.\r\n */\r\n BrowserAuthError.createBlockReloadInHiddenIframeError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code, BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a popup attempts to call an acquireToken API\r\n * @returns\r\n */\r\n BrowserAuthError.createBlockAcquireTokenInPopupsError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.code, BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when an iframe is found to be closed before the timeout is reached.\r\n */\r\n BrowserAuthError.createIframeClosedPrematurelyError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.iframeClosedPrematurelyError.code, BrowserAuthErrorMessage.iframeClosedPrematurelyError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the logout API is called on any of the silent interaction clients\r\n */\r\n BrowserAuthError.createSilentLogoutUnsupportedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.silentLogoutUnsupportedError.code, BrowserAuthErrorMessage.silentLogoutUnsupportedError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the account object is not provided in the acquireTokenSilent API.\r\n */\r\n BrowserAuthError.createNoAccountError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noAccountError.code, BrowserAuthErrorMessage.noAccountError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a given prompt value is invalid for silent requests.\r\n */\r\n BrowserAuthError.createSilentPromptValueError = function (givenPrompt) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.silentPromptValueError.code, BrowserAuthErrorMessage.silentPromptValueError.desc + \" Given value: \" + givenPrompt);\r\n };\r\n /**\r\n * Creates an error thrown when the cached token request could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createUnableToParseTokenRequestCacheError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.code, BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the token request could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createNoTokenRequestCacheError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noTokenRequestCacheError.code, BrowserAuthErrorMessage.noTokenRequestCacheError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when handleCodeResponse is called before initiateAuthRequest (InteractionHandler)\r\n */\r\n BrowserAuthError.createAuthRequestNotSetError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authRequestNotSet.code, BrowserAuthErrorMessage.authRequestNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the authority could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createNoCachedAuthorityError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noCachedAuthorityError.code, BrowserAuthErrorMessage.noCachedAuthorityError.desc);\r\n };\r\n /**\r\n * Creates an error thrown if cache type is invalid.\r\n */\r\n BrowserAuthError.createInvalidCacheTypeError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.invalidCacheType.code, \"\" + BrowserAuthErrorMessage.invalidCacheType.desc);\r\n };\r\n /**\r\n * Create an error thrown when login and token requests are made from a non-browser environment\r\n */\r\n BrowserAuthError.createNonBrowserEnvironmentError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.notInBrowserEnvironment.code, BrowserAuthErrorMessage.notInBrowserEnvironment.desc);\r\n };\r\n /**\r\n * Create an error thrown when indexDB database is not open\r\n */\r\n BrowserAuthError.createDatabaseNotOpenError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseNotOpen.code, BrowserAuthErrorMessage.databaseNotOpen.desc);\r\n };\r\n /**\r\n * Create an error thrown when token fetch fails due to no internet\r\n */\r\n BrowserAuthError.createNoNetworkConnectivityError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noNetworkConnectivity.code, BrowserAuthErrorMessage.noNetworkConnectivity.desc);\r\n };\r\n /**\r\n * Create an error thrown when token fetch fails due to reasons other than internet connectivity\r\n */\r\n BrowserAuthError.createPostRequestFailedError = function (errorDesc, endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.postRequestFailed.code, BrowserAuthErrorMessage.postRequestFailed.desc + \" | Network client threw: \" + errorDesc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when get request fails due to reasons other than internet connectivity\r\n */\r\n BrowserAuthError.createGetRequestFailedError = function (errorDesc, endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.getRequestFailed.code, BrowserAuthErrorMessage.getRequestFailed.desc + \" | Network client threw: \" + errorDesc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when network client fails to parse network response\r\n */\r\n BrowserAuthError.createFailedToParseNetworkResponseError = function (endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.failedToParseNetworkResponse.code, BrowserAuthErrorMessage.failedToParseNetworkResponse.desc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when the necessary information is not available to sideload tokens\r\n */\r\n BrowserAuthError.createUnableToLoadTokenError = function (errorDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToLoadTokenError.code, BrowserAuthErrorMessage.unableToLoadTokenError.desc + \" | \" + errorDetail);\r\n };\r\n /**\r\n * Create an error thrown when the queried cryptographic key is not found in IndexedDB\r\n */\r\n BrowserAuthError.createSigningKeyNotFoundInStorageError = function (keyId) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code, BrowserAuthErrorMessage.signingKeyNotFoundInStorage.desc + \" | No match found for KeyId: \" + keyId);\r\n };\r\n /**\r\n * Create an error when an authorization code is required but not provided\r\n */\r\n BrowserAuthError.createAuthCodeRequiredError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeRequired.code, BrowserAuthErrorMessage.authCodeRequired.desc);\r\n };\r\n /**\r\n * Create an error when an authorization code or native account ID is required but not provided\r\n */\r\n BrowserAuthError.createAuthCodeOrNativeAccountIdRequiredError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.code, BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.desc);\r\n };\r\n /**\r\n * Create an error when IndexedDB is unavailable\r\n */\r\n BrowserAuthError.createDatabaseUnavailableError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseUnavailable.code, BrowserAuthErrorMessage.databaseUnavailable.desc);\r\n };\r\n /**\r\n * Create an error when native token acquisition is not possible\r\n */\r\n BrowserAuthError.createUnableToAcquireTokenFromNativePlatformError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.code, BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.desc);\r\n };\r\n /**\r\n * Create an error thrown when Handshake with browser extension times out\r\n */\r\n BrowserAuthError.createNativeHandshakeTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeHandshakeTimeout.code, BrowserAuthErrorMessage.nativeHandshakeTimeout.desc);\r\n };\r\n /**\r\n * Create an error thrown when browser extension is not installed\r\n */\r\n BrowserAuthError.createNativeExtensionNotInstalledError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeExtensionNotInstalled.code, BrowserAuthErrorMessage.nativeExtensionNotInstalled.desc);\r\n };\r\n /**\r\n * Create an error when native connection has not been established\r\n * @returns\r\n */\r\n BrowserAuthError.createNativeConnectionNotEstablishedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeConnectionNotEstablished.code, BrowserAuthErrorMessage.nativeConnectionNotEstablished.desc);\r\n };\r\n /**\r\n * Create an error thrown when the initialize function hasn't been called\r\n */\r\n BrowserAuthError.createNativeBrokerCalledBeforeInitialize = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.code, BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.desc);\r\n };\r\n /**\r\n * Create an error thrown when requesting a token directly from the native platform with an unsupported prompt parameter e.g. select_account, login or create\r\n * These requests must go through eSTS to ensure eSTS is aware of the new account\r\n */\r\n BrowserAuthError.createNativePromptParameterNotSupportedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativePromptNotSupported.code, BrowserAuthErrorMessage.nativePromptNotSupported.desc);\r\n };\r\n return BrowserAuthError;\r\n}(AuthError));\n\nexport { BrowserAuthError, BrowserAuthErrorMessage };\n//# sourceMappingURL=BrowserAuthError.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar BrowserConfigurationAuthErrorMessage = {\r\n redirectUriNotSet: {\r\n code: \"redirect_uri_empty\",\r\n desc: \"A redirect URI is required for all calls, and none has been set.\"\r\n },\r\n postLogoutUriNotSet: {\r\n code: \"post_logout_uri_empty\",\r\n desc: \"A post logout redirect has not been set.\"\r\n },\r\n storageNotSupportedError: {\r\n code: \"storage_not_supported\",\r\n desc: \"Given storage configuration option was not supported.\"\r\n },\r\n noRedirectCallbacksSet: {\r\n code: \"no_redirect_callbacks\",\r\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\r\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\r\n },\r\n invalidCallbackObject: {\r\n code: \"invalid_callback_object\",\r\n desc: \"The object passed for the callback was invalid. \" +\r\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\r\n },\r\n stubPcaInstanceCalled: {\r\n code: \"stubbed_public_client_application_called\",\r\n desc: \"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors\"\r\n },\r\n inMemRedirectUnavailable: {\r\n code: \"in_mem_redirect_unavailable\",\r\n desc: \"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true.\"\r\n }\r\n};\r\n/**\r\n * Browser library error class thrown by the MSAL.js library for SPAs\r\n */\r\nvar BrowserConfigurationAuthError = /** @class */ (function (_super) {\r\n __extends(BrowserConfigurationAuthError, _super);\r\n function BrowserConfigurationAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n _this.name = \"BrowserConfigurationAuthError\";\r\n Object.setPrototypeOf(_this, BrowserConfigurationAuthError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when the redirect uri is empty (not set by caller)\r\n */\r\n BrowserConfigurationAuthError.createRedirectUriEmptyError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code, BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\r\n */\r\n BrowserConfigurationAuthError.createPostLogoutRedirectUriEmptyError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code, BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\r\n };\r\n /**\r\n * Creates error thrown when given storage location is not supported.\r\n * @param givenStorageLocation\r\n */\r\n BrowserConfigurationAuthError.createStorageNotSupportedError = function (givenStorageLocation) {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc + \" Given Location: \" + givenStorageLocation);\r\n };\r\n /**\r\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\r\n */\r\n BrowserConfigurationAuthError.createRedirectCallbacksNotSetError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\r\n };\r\n /**\r\n * Creates error thrown when the stub instance of PublicClientApplication is called.\r\n */\r\n BrowserConfigurationAuthError.createStubPcaInstanceCalledError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code, BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\r\n };\r\n /*\r\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\r\n */\r\n BrowserConfigurationAuthError.createInMemoryRedirectUnavailableError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\r\n };\r\n return BrowserConfigurationAuthError;\r\n}(AuthError));\n\nexport { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage };\n//# sourceMappingURL=BrowserConfigurationAuthError.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { InteractionRequiredAuthError, AuthError } from '@azure/msal-common';\nimport { BrowserAuthError } from './BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NativeStatusCode;\r\n(function (NativeStatusCode) {\r\n NativeStatusCode[\"USER_INTERACTION_REQUIRED\"] = \"USER_INTERACTION_REQUIRED\";\r\n NativeStatusCode[\"USER_CANCEL\"] = \"USER_CANCEL\";\r\n NativeStatusCode[\"NO_NETWORK\"] = \"NO_NETWORK\";\r\n NativeStatusCode[\"TRANSIENT_ERROR\"] = \"TRANSIENT_ERROR\";\r\n NativeStatusCode[\"PERSISTENT_ERROR\"] = \"PERSISTENT_ERROR\";\r\n NativeStatusCode[\"DISABLED\"] = \"DISABLED\";\r\n NativeStatusCode[\"ACCOUNT_UNAVAILABLE\"] = \"ACCOUNT_UNAVAILABLE\";\r\n})(NativeStatusCode || (NativeStatusCode = {}));\r\nvar NativeAuthErrorMessage = {\r\n extensionError: {\r\n code: \"ContentError\"\r\n },\r\n userSwitch: {\r\n code: \"user_switch\",\r\n desc: \"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again.\"\r\n }\r\n};\r\nvar NativeAuthError = /** @class */ (function (_super) {\r\n __extends(NativeAuthError, _super);\r\n function NativeAuthError(errorCode, description, ext) {\r\n var _this = _super.call(this, errorCode, description) || this;\r\n Object.setPrototypeOf(_this, NativeAuthError.prototype);\r\n _this.name = \"NativeAuthError\";\r\n _this.ext = ext;\r\n return _this;\r\n }\r\n /**\r\n * These errors should result in a fallback to the 'standard' browser based auth flow.\r\n */\r\n NativeAuthError.prototype.isFatal = function () {\r\n if (this.ext && this.ext.status && (this.ext.status === NativeStatusCode.PERSISTENT_ERROR || this.ext.status === NativeStatusCode.DISABLED)) {\r\n return true;\r\n }\r\n switch (this.errorCode) {\r\n case NativeAuthErrorMessage.extensionError.code:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n };\r\n /**\r\n * Create the appropriate error object based on the WAM status code.\r\n * @param code\r\n * @param description\r\n * @param ext\r\n * @returns\r\n */\r\n NativeAuthError.createError = function (code, description, ext) {\r\n if (ext && ext.status) {\r\n switch (ext.status) {\r\n case NativeStatusCode.ACCOUNT_UNAVAILABLE:\r\n return InteractionRequiredAuthError.createNativeAccountUnavailableError();\r\n case NativeStatusCode.USER_INTERACTION_REQUIRED:\r\n return new InteractionRequiredAuthError(code, description);\r\n case NativeStatusCode.USER_CANCEL:\r\n return BrowserAuthError.createUserCancelledError();\r\n case NativeStatusCode.NO_NETWORK:\r\n return BrowserAuthError.createNoNetworkConnectivityError();\r\n }\r\n }\r\n return new NativeAuthError(code, description, ext);\r\n };\r\n /**\r\n * Creates user switch error when the user chooses a different account in the native broker prompt\r\n * @returns\r\n */\r\n NativeAuthError.createUserSwitchError = function () {\r\n return new NativeAuthError(NativeAuthErrorMessage.userSwitch.code, NativeAuthErrorMessage.userSwitch.desc);\r\n };\r\n return NativeAuthError;\r\n}(AuthError));\n\nexport { NativeAuthError, NativeAuthErrorMessage, NativeStatusCode };\n//# sourceMappingURL=NativeAuthError.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { AccountEntity, CacheManager } from '@azure/msal-common';\nimport { EventType } from './EventType.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventHandler = /** @class */ (function () {\r\n function EventHandler(logger, browserCrypto) {\r\n this.eventCallbacks = new Map();\r\n this.logger = logger;\r\n this.browserCrypto = browserCrypto;\r\n this.listeningToStorageEvents = false;\r\n this.handleAccountCacheChange = this.handleAccountCacheChange.bind(this);\r\n }\r\n /**\r\n * Adds event callbacks to array\r\n * @param callback\r\n */\r\n EventHandler.prototype.addEventCallback = function (callback) {\r\n if (typeof window !== \"undefined\") {\r\n var callbackId = this.browserCrypto.createNewGuid();\r\n this.eventCallbacks.set(callbackId, callback);\r\n this.logger.verbose(\"Event callback registered with id: \" + callbackId);\r\n return callbackId;\r\n }\r\n return null;\r\n };\r\n /**\r\n * Removes callback with provided id from callback array\r\n * @param callbackId\r\n */\r\n EventHandler.prototype.removeEventCallback = function (callbackId) {\r\n this.eventCallbacks.delete(callbackId);\r\n this.logger.verbose(\"Event callback \" + callbackId + \" removed.\");\r\n };\r\n /**\r\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n EventHandler.prototype.enableAccountStorageEvents = function () {\r\n if (typeof window === \"undefined\") {\r\n return;\r\n }\r\n if (!this.listeningToStorageEvents) {\r\n this.logger.verbose(\"Adding account storage listener.\");\r\n this.listeningToStorageEvents = true;\r\n window.addEventListener(\"storage\", this.handleAccountCacheChange);\r\n }\r\n else {\r\n this.logger.verbose(\"Account storage listener already registered.\");\r\n }\r\n };\r\n /**\r\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n EventHandler.prototype.disableAccountStorageEvents = function () {\r\n if (typeof window === \"undefined\") {\r\n return;\r\n }\r\n if (this.listeningToStorageEvents) {\r\n this.logger.verbose(\"Removing account storage listener.\");\r\n window.removeEventListener(\"storage\", this.handleAccountCacheChange);\r\n this.listeningToStorageEvents = false;\r\n }\r\n else {\r\n this.logger.verbose(\"No account storage listener registered.\");\r\n }\r\n };\r\n /**\r\n * Emits events by calling callback with event message\r\n * @param eventType\r\n * @param interactionType\r\n * @param payload\r\n * @param error\r\n */\r\n EventHandler.prototype.emitEvent = function (eventType, interactionType, payload, error) {\r\n var _this = this;\r\n if (typeof window !== \"undefined\") {\r\n var message_1 = {\r\n eventType: eventType,\r\n interactionType: interactionType || null,\r\n payload: payload || null,\r\n error: error || null,\r\n timestamp: Date.now()\r\n };\r\n this.logger.info(\"Emitting event: \" + eventType);\r\n this.eventCallbacks.forEach(function (callback, callbackId) {\r\n _this.logger.verbose(\"Emitting event to callback \" + callbackId + \": \" + eventType);\r\n callback.apply(null, [message_1]);\r\n });\r\n }\r\n };\r\n /**\r\n * Emit account added/removed events when cached accounts are changed in a different tab or frame\r\n */\r\n EventHandler.prototype.handleAccountCacheChange = function (e) {\r\n try {\r\n var cacheValue = e.newValue || e.oldValue;\r\n if (!cacheValue) {\r\n return;\r\n }\r\n var parsedValue = JSON.parse(cacheValue);\r\n if (typeof parsedValue !== \"object\" || !AccountEntity.isAccountEntity(parsedValue)) {\r\n return;\r\n }\r\n var accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);\r\n var accountInfo = accountEntity.getAccountInfo();\r\n if (!e.oldValue && e.newValue) {\r\n this.logger.info(\"Account was added to cache in a different window\");\r\n this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);\r\n }\r\n else if (!e.newValue && e.oldValue) {\r\n this.logger.info(\"Account was removed from cache in a different window\");\r\n this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);\r\n }\r\n }\r\n catch (e) {\r\n return;\r\n }\r\n };\r\n return EventHandler;\r\n}());\n\nexport { EventHandler };\n//# sourceMappingURL=EventHandler.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventType;\r\n(function (EventType) {\r\n EventType[\"INITIALIZE_START\"] = \"msal:initializeStart\";\r\n EventType[\"INITIALIZE_END\"] = \"msal:initializeEnd\";\r\n EventType[\"ACCOUNT_ADDED\"] = \"msal:accountAdded\";\r\n EventType[\"ACCOUNT_REMOVED\"] = \"msal:accountRemoved\";\r\n EventType[\"LOGIN_START\"] = \"msal:loginStart\";\r\n EventType[\"LOGIN_SUCCESS\"] = \"msal:loginSuccess\";\r\n EventType[\"LOGIN_FAILURE\"] = \"msal:loginFailure\";\r\n EventType[\"ACQUIRE_TOKEN_START\"] = \"msal:acquireTokenStart\";\r\n EventType[\"ACQUIRE_TOKEN_SUCCESS\"] = \"msal:acquireTokenSuccess\";\r\n EventType[\"ACQUIRE_TOKEN_FAILURE\"] = \"msal:acquireTokenFailure\";\r\n EventType[\"ACQUIRE_TOKEN_NETWORK_START\"] = \"msal:acquireTokenFromNetworkStart\";\r\n EventType[\"SSO_SILENT_START\"] = \"msal:ssoSilentStart\";\r\n EventType[\"SSO_SILENT_SUCCESS\"] = \"msal:ssoSilentSuccess\";\r\n EventType[\"SSO_SILENT_FAILURE\"] = \"msal:ssoSilentFailure\";\r\n EventType[\"ACQUIRE_TOKEN_BY_CODE_START\"] = \"msal:acquireTokenByCodeStart\";\r\n EventType[\"ACQUIRE_TOKEN_BY_CODE_SUCCESS\"] = \"msal:acquireTokenByCodeSuccess\";\r\n EventType[\"ACQUIRE_TOKEN_BY_CODE_FAILURE\"] = \"msal:acquireTokenByCodeFailure\";\r\n EventType[\"HANDLE_REDIRECT_START\"] = \"msal:handleRedirectStart\";\r\n EventType[\"HANDLE_REDIRECT_END\"] = \"msal:handleRedirectEnd\";\r\n EventType[\"POPUP_OPENED\"] = \"msal:popupOpened\";\r\n EventType[\"LOGOUT_START\"] = \"msal:logoutStart\";\r\n EventType[\"LOGOUT_SUCCESS\"] = \"msal:logoutSuccess\";\r\n EventType[\"LOGOUT_FAILURE\"] = \"msal:logoutFailure\";\r\n EventType[\"LOGOUT_END\"] = \"msal:logoutEnd\";\r\n})(EventType || (EventType = {}));\n\nexport { EventType };\n//# sourceMappingURL=EventType.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __awaiter, __generator, __spread, __assign } from '../_virtual/_tslib.js';\nimport { AccountEntity, AuthenticationScheme, ClientConfigurationError, StringUtils, UrlString, ServerTelemetryManager, AuthorityFactory } from '@azure/msal-common';\nimport { version } from '../packageMetadata.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BaseInteractionClient = /** @class */ (function () {\r\n function BaseInteractionClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) {\r\n this.config = config;\r\n this.browserStorage = storageImpl;\r\n this.browserCrypto = browserCrypto;\r\n this.networkClient = this.config.system.networkClient;\r\n this.eventHandler = eventHandler;\r\n this.navigationClient = navigationClient;\r\n this.nativeMessageHandler = nativeMessageHandler;\r\n this.correlationId = correlationId || this.browserCrypto.createNewGuid();\r\n this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);\r\n this.performanceClient = performanceClient;\r\n }\r\n BaseInteractionClient.prototype.clearCacheOnLogout = function (account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!account) return [3 /*break*/, 5];\r\n if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {\r\n this.logger.verbose(\"Setting active account to null\");\r\n this.browserStorage.setActiveAccount(null);\r\n }\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account))];\r\n case 2:\r\n _a.sent();\r\n this.logger.verbose(\"Cleared cache items belonging to the account provided in the logout request.\");\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a.sent();\r\n this.logger.error(\"Account provided in logout request was not found. Local cache unchanged.\");\r\n return [3 /*break*/, 4];\r\n case 4: return [3 /*break*/, 9];\r\n case 5:\r\n _a.trys.push([5, 8, , 9]);\r\n this.logger.verbose(\"No account provided in logout request, clearing all cache items.\", this.correlationId);\r\n // Clear all accounts and tokens\r\n return [4 /*yield*/, this.browserStorage.clear()];\r\n case 6:\r\n // Clear all accounts and tokens\r\n _a.sent();\r\n // Clear any stray keys from IndexedDB\r\n return [4 /*yield*/, this.browserCrypto.clearKeystore()];\r\n case 7:\r\n // Clear any stray keys from IndexedDB\r\n _a.sent();\r\n return [3 /*break*/, 9];\r\n case 8:\r\n _a.sent();\r\n this.logger.error(\"Attempted to clear all MSAL cache items and failed. Local cache unchanged.\");\r\n return [3 /*break*/, 9];\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initializer function for all request APIs\r\n * @param request\r\n */\r\n BaseInteractionClient.prototype.initializeBaseRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authority, scopes, validatedRequest, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.verbose(\"Initializing BaseAuthRequest\");\r\n authority = request.authority || this.config.auth.authority;\r\n scopes = __spread(((request && request.scopes) || []));\r\n validatedRequest = __assign(__assign({}, request), { correlationId: this.correlationId, authority: authority,\r\n scopes: scopes });\r\n // Set authenticationScheme to BEARER if not explicitly set in the request\r\n if (!validatedRequest.authenticationScheme) {\r\n validatedRequest.authenticationScheme = AuthenticationScheme.BEARER;\r\n this.logger.verbose(\"Authentication Scheme wasn't explicitly set in request, defaulting to \\\"Bearer\\\" request\");\r\n }\r\n else {\r\n if (validatedRequest.authenticationScheme === AuthenticationScheme.SSH) {\r\n if (!request.sshJwk) {\r\n throw ClientConfigurationError.createMissingSshJwkError();\r\n }\r\n if (!request.sshKid) {\r\n throw ClientConfigurationError.createMissingSshKidError();\r\n }\r\n }\r\n this.logger.verbose(\"Authentication Scheme set to \\\"\" + validatedRequest.authenticationScheme + \"\\\" as configured in Auth request\");\r\n }\r\n if (!(request.claims && !StringUtils.isEmpty(request.claims))) return [3 /*break*/, 2];\r\n _a = validatedRequest;\r\n return [4 /*yield*/, this.browserCrypto.hashString(request.claims)];\r\n case 1:\r\n _a.requestedClaimsHash = _b.sent();\r\n _b.label = 2;\r\n case 2: return [2 /*return*/, validatedRequest];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n *\r\n * Use to get the redirect uri configured in MSAL or null.\r\n * @param requestRedirectUri\r\n * @returns Redirect URL\r\n *\r\n */\r\n BaseInteractionClient.prototype.getRedirectUri = function (requestRedirectUri) {\r\n this.logger.verbose(\"getRedirectUri called\");\r\n var redirectUri = requestRedirectUri || this.config.auth.redirectUri || BrowserUtils.getCurrentUri();\r\n return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());\r\n };\r\n /**\r\n *\r\n * @param apiId\r\n * @param correlationId\r\n * @param forceRefresh\r\n */\r\n BaseInteractionClient.prototype.initializeServerTelemetryManager = function (apiId, forceRefresh) {\r\n this.logger.verbose(\"initializeServerTelemetryManager called\");\r\n var telemetryPayload = {\r\n clientId: this.config.auth.clientId,\r\n correlationId: this.correlationId,\r\n apiId: apiId,\r\n forceRefresh: forceRefresh || false,\r\n wrapperSKU: this.browserStorage.getWrapperMetadata()[0],\r\n wrapperVer: this.browserStorage.getWrapperMetadata()[1]\r\n };\r\n return new ServerTelemetryManager(telemetryPayload, this.browserStorage);\r\n };\r\n /**\r\n * Used to get a discovered version of the default authority.\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n BaseInteractionClient.prototype.getDiscoveredAuthority = function (requestAuthority) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authorityOptions;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getDiscoveredAuthority called\");\r\n authorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata,\r\n skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,\r\n };\r\n if (!requestAuthority) return [3 /*break*/, 2];\r\n this.logger.verbose(\"Creating discovered authority with request authority\");\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(requestAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2:\r\n this.logger.verbose(\"Creating discovered authority with configured authority\");\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(this.config.auth.authority, this.config.system.networkClient, this.browserStorage, authorityOptions)];\r\n case 3: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n return BaseInteractionClient;\r\n}());\n\nexport { BaseInteractionClient };\n//# sourceMappingURL=BaseInteractionClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { TimeUtils, PerformanceEvents, AuthenticationScheme, PopTokenGenerator, ClientAuthError, AccountEntity, Constants, AuthorityType, ScopeSet, AuthToken, UrlString, OIDC_DEFAULT_SCOPES, PromptValue } from '@azure/msal-common';\nimport { BaseInteractionClient } from './BaseInteractionClient.js';\nimport { TemporaryCacheKeys, NativeExtensionMethod, NativeConstants, ApiId } from '../utils/BrowserConstants.js';\nimport { NativeAuthError } from '../error/NativeAuthError.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NativeInteractionClient = /** @class */ (function (_super) {\r\n __extends(NativeInteractionClient, _super);\r\n function NativeInteractionClient(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, provider, accountId, correlationId) {\r\n var _this = _super.call(this, config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId) || this;\r\n _this.apiId = apiId;\r\n _this.accountId = accountId;\r\n _this.nativeMessageHandler = provider;\r\n return _this;\r\n }\r\n /**\r\n * Acquire token from native platform via browser extension\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var nativeATMeasurement, nativeRequest, messageBody, reqTimestamp, response, validatedResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - acquireToken called.\");\r\n nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);\r\n return [4 /*yield*/, this.initializeNativeRequest(request)];\r\n case 1:\r\n nativeRequest = _a.sent();\r\n messageBody = {\r\n method: NativeExtensionMethod.GetToken,\r\n request: nativeRequest\r\n };\r\n reqTimestamp = TimeUtils.nowSeconds();\r\n return [4 /*yield*/, this.nativeMessageHandler.sendMessage(messageBody)];\r\n case 2:\r\n response = _a.sent();\r\n validatedResponse = this.validateNativeResponse(response);\r\n return [2 /*return*/, this.handleNativeResponse(validatedResponse, nativeRequest, reqTimestamp)\r\n .then(function (result) {\r\n nativeATMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: true\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n nativeATMeasurement.endMeasurement({\r\n success: false,\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n isNativeBroker: true\r\n });\r\n throw error;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Acquires a token from native platform then redirects to the redirectUri instead of returning the response\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.acquireTokenRedirect = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var nativeRequest, messageBody, response, e_1, navigationOptions, redirectUri;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - acquireTokenRedirect called.\");\r\n return [4 /*yield*/, this.initializeNativeRequest(request)];\r\n case 1:\r\n nativeRequest = _a.sent();\r\n messageBody = {\r\n method: NativeExtensionMethod.GetToken,\r\n request: nativeRequest\r\n };\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, this.nativeMessageHandler.sendMessage(messageBody)];\r\n case 3:\r\n response = _a.sent();\r\n this.validateNativeResponse(response);\r\n return [3 /*break*/, 5];\r\n case 4:\r\n e_1 = _a.sent();\r\n // Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise\r\n if (e_1 instanceof NativeAuthError && e_1.isFatal()) {\r\n throw e_1;\r\n }\r\n return [3 /*break*/, 5];\r\n case 5:\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, JSON.stringify(nativeRequest), true);\r\n navigationOptions = {\r\n apiId: ApiId.acquireTokenRedirect,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n redirectUri = this.config.auth.navigateToLoginRequestUrl ? window.location.href : this.getRedirectUri(request.redirectUri);\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(redirectUri, navigationOptions)];\r\n case 6:\r\n _a.sent(); // Need to treat this as external to ensure handleRedirectPromise is run again\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * If the previous page called native platform for a token using redirect APIs, send the same request again and return the response\r\n */\r\n NativeInteractionClient.prototype.handleRedirectPromise = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cachedRequest, messageBody, reqTimestamp, response, result, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - handleRedirectPromise called.\");\r\n if (!this.browserStorage.isInteractionInProgress(true)) {\r\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n cachedRequest = this.browserStorage.getCachedNativeRequest();\r\n if (!cachedRequest) {\r\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\r\n messageBody = {\r\n method: NativeExtensionMethod.GetToken,\r\n request: cachedRequest\r\n };\r\n reqTimestamp = TimeUtils.nowSeconds();\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise sending message to native broker.\");\r\n return [4 /*yield*/, this.nativeMessageHandler.sendMessage(messageBody)];\r\n case 2:\r\n response = _a.sent();\r\n this.validateNativeResponse(response);\r\n result = this.handleNativeResponse(response, cachedRequest, reqTimestamp);\r\n this.browserStorage.setInteractionInProgress(false);\r\n return [2 /*return*/, result];\r\n case 3:\r\n e_2 = _a.sent();\r\n this.browserStorage.setInteractionInProgress(false);\r\n throw e_2;\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Logout from native platform via browser extension\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.logout = function () {\r\n this.logger.trace(\"NativeInteractionClient - logout called.\");\r\n return Promise.reject(\"Logout not implemented yet\");\r\n };\r\n /**\r\n * Transform response from native platform into AuthenticationResult object which will be returned to the end user\r\n * @param response\r\n * @param request\r\n * @param reqTimestamp\r\n */\r\n NativeInteractionClient.prototype.handleNativeResponse = function (response, request, reqTimestamp) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var idTokenObj, authority, authorityPreferredCache, homeAccountIdentifier, accountEntity, responseScopes, accountProperties, uid, tid, responseAccessToken, responseTokenType, _a, popTokenGenerator, shrParameters, mats, result;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - handleNativeResponse called.\");\r\n if (response.account.id !== request.accountId) {\r\n // User switch in native broker prompt is not supported. All users must first sign in through web flow to ensure server state is in sync\r\n throw NativeAuthError.createUserSwitchError();\r\n }\r\n idTokenObj = new AuthToken(response.id_token || Constants.EMPTY_STRING, this.browserCrypto);\r\n return [4 /*yield*/, this.getDiscoveredAuthority(request.authority)];\r\n case 1:\r\n authority = _b.sent();\r\n authorityPreferredCache = authority.getPreferredCache();\r\n homeAccountIdentifier = AccountEntity.generateHomeAccountId(response.client_info || Constants.EMPTY_STRING, AuthorityType.Default, this.logger, this.browserCrypto, idTokenObj);\r\n accountEntity = AccountEntity.createAccount(response.client_info, homeAccountIdentifier, idTokenObj, undefined, undefined, undefined, authorityPreferredCache, response.account.id);\r\n this.browserStorage.setAccount(accountEntity);\r\n responseScopes = response.scopes ? ScopeSet.fromString(response.scopes) : ScopeSet.fromString(request.scopes);\r\n accountProperties = response.account.properties || {};\r\n uid = accountProperties[\"UID\"] || idTokenObj.claims.oid || idTokenObj.claims.sub || Constants.EMPTY_STRING;\r\n tid = accountProperties[\"TenantId\"] || idTokenObj.claims.tid || Constants.EMPTY_STRING;\r\n responseTokenType = AuthenticationScheme.BEARER;\r\n _a = request.tokenType;\r\n switch (_a) {\r\n case AuthenticationScheme.POP: return [3 /*break*/, 2];\r\n }\r\n return [3 /*break*/, 4];\r\n case 2:\r\n // Set the token type to POP in the response\r\n responseTokenType = AuthenticationScheme.POP;\r\n // Check if native layer returned an SHR token\r\n if (response.shr) {\r\n this.logger.trace(\"handleNativeServerResponse: SHR is enabled in native layer\");\r\n responseAccessToken = response.shr;\r\n return [3 /*break*/, 5];\r\n }\r\n popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\r\n shrParameters = {\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n shrNonce: request.shrNonce\r\n };\r\n /**\r\n * KeyID must be present in the native request from when the PoP key was generated in order for\r\n * PopTokenGenerator to query the full key for signing\r\n */\r\n if (!request.keyId) {\r\n throw ClientAuthError.createKeyIdMissingError();\r\n }\r\n return [4 /*yield*/, popTokenGenerator.signPopToken(response.access_token, request.keyId, shrParameters)];\r\n case 3:\r\n responseAccessToken = _b.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n {\r\n responseAccessToken = response.access_token;\r\n }\r\n _b.label = 5;\r\n case 5:\r\n mats = this.getMATSFromResponse(response);\r\n result = {\r\n authority: authority.canonicalAuthority,\r\n uniqueId: uid,\r\n tenantId: tid,\r\n scopes: responseScopes.asArray(),\r\n account: accountEntity.getAccountInfo(),\r\n idToken: response.id_token,\r\n idTokenClaims: idTokenObj.claims,\r\n accessToken: responseAccessToken,\r\n fromCache: mats ? this.isResponseFromCache(mats) : false,\r\n expiresOn: new Date(Number(reqTimestamp + response.expires_in) * 1000),\r\n tokenType: responseTokenType,\r\n correlationId: this.correlationId,\r\n state: response.state,\r\n fromNativeBroker: true\r\n };\r\n // Remove any existing cached tokens for this account\r\n this.browserStorage.removeAccountContext(accountEntity).catch(function (e) {\r\n _this.logger.error(\"Error occurred while removing account context from browser storage. \" + e);\r\n });\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Validates native platform response before processing\r\n * @param response\r\n */\r\n NativeInteractionClient.prototype.validateNativeResponse = function (response) {\r\n if (response.hasOwnProperty(\"access_token\") &&\r\n response.hasOwnProperty(\"id_token\") &&\r\n response.hasOwnProperty(\"client_info\") &&\r\n response.hasOwnProperty(\"account\") &&\r\n response.hasOwnProperty(\"scopes\") &&\r\n response.hasOwnProperty(\"expires_in\")) {\r\n return response;\r\n }\r\n else {\r\n throw NativeAuthError.createUnexpectedError(\"Response missing expected properties.\");\r\n }\r\n };\r\n /**\r\n * Gets MATS telemetry from native response\r\n * @param response\r\n * @returns\r\n */\r\n NativeInteractionClient.prototype.getMATSFromResponse = function (response) {\r\n if (response.properties.MATS) {\r\n try {\r\n return JSON.parse(response.properties.MATS);\r\n }\r\n catch (e) {\r\n this.logger.error(\"NativeInteractionClient - Error parsing MATS telemetry, returning null instead\");\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Returns whether or not response came from native cache\r\n * @param response\r\n * @returns\r\n */\r\n NativeInteractionClient.prototype.isResponseFromCache = function (mats) {\r\n if (typeof mats.is_cached === \"undefined\") {\r\n this.logger.verbose(\"NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false.\");\r\n return false;\r\n }\r\n return !!mats.is_cached;\r\n };\r\n /**\r\n * Translates developer provided request object into NativeRequest object\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.initializeNativeRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authority, canonicalAuthority, scopes, scopeSet, getPrompt, validatedRequest, shrParameters, popTokenGenerator, reqCnfData;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - initializeNativeRequest called\");\r\n authority = request.authority || this.config.auth.authority;\r\n canonicalAuthority = new UrlString(authority);\r\n canonicalAuthority.validateAsUri();\r\n scopes = request && request.scopes || [];\r\n scopeSet = new ScopeSet(scopes);\r\n scopeSet.appendScopes(OIDC_DEFAULT_SCOPES);\r\n getPrompt = function () {\r\n // If request is silent, prompt is always none\r\n switch (_this.apiId) {\r\n case ApiId.ssoSilent:\r\n case ApiId.acquireTokenSilent_silentFlow:\r\n _this.logger.trace(\"initializeNativeRequest: silent request sets prompt to none\");\r\n return PromptValue.NONE;\r\n }\r\n // Prompt not provided, request may proceed and native broker decides if it needs to prompt\r\n if (!request.prompt) {\r\n _this.logger.trace(\"initializeNativeRequest: prompt was not provided\");\r\n return undefined;\r\n }\r\n // If request is interactive, check if prompt provided is allowed to go directly to native broker\r\n switch (request.prompt) {\r\n case PromptValue.NONE:\r\n case PromptValue.CONSENT:\r\n case PromptValue.LOGIN:\r\n _this.logger.trace(\"initializeNativeRequest: prompt is compatible with native flow\");\r\n return request.prompt;\r\n default:\r\n _this.logger.trace(\"initializeNativeRequest: prompt = \" + request.prompt + \" is not compatible with native flow\");\r\n throw BrowserAuthError.createNativePromptParameterNotSupportedError();\r\n }\r\n };\r\n validatedRequest = __assign(__assign({}, request), { accountId: this.accountId, clientId: this.config.auth.clientId, authority: canonicalAuthority.urlString, scopes: scopeSet.printScopes(), redirectUri: this.getRedirectUri(request.redirectUri), prompt: getPrompt(), correlationId: this.correlationId, tokenType: request.authenticationScheme, windowTitleSubstring: document.title, extraParameters: __assign(__assign(__assign({}, request.extraQueryParameters), request.tokenQueryParameters), { telemetry: NativeConstants.MATS_TELEMETRY }), extendedExpiryToken: false // Make this configurable?\r\n });\r\n if (!(request.authenticationScheme === AuthenticationScheme.POP)) return [3 /*break*/, 2];\r\n shrParameters = {\r\n resourceRequestUri: request.resourceRequestUri,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n shrClaims: request.shrClaims,\r\n shrNonce: request.shrNonce\r\n };\r\n popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\r\n return [4 /*yield*/, popTokenGenerator.generateCnf(shrParameters)];\r\n case 1:\r\n reqCnfData = _a.sent();\r\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\r\n validatedRequest.reqCnf = reqCnfData.reqCnfHash;\r\n validatedRequest.keyId = reqCnfData.kid;\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, validatedRequest];\r\n }\r\n });\r\n });\r\n };\r\n return NativeInteractionClient;\r\n}(BaseInteractionClient));\n\nexport { NativeInteractionClient };\n//# sourceMappingURL=NativeInteractionClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { OIDC_DEFAULT_SCOPES, StringUtils, UrlString, Constants, AuthError, ThrottlingUtils, ProtocolUtils, PerformanceEvents } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserConstants, InteractionType, ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { NativeInteractionClient } from './NativeInteractionClient.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionHandler } from '../interaction_handler/InteractionHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar PopupClient = /** @class */ (function (_super) {\r\n __extends(PopupClient, _super);\r\n function PopupClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n // Properly sets this reference for the unload event.\r\n _this.unloadWindow = _this.unloadWindow.bind(_this);\r\n return _this;\r\n }\r\n /**\r\n * Acquires tokens by opening a popup window to the /authorize endpoint of the authority\r\n * @param request\r\n */\r\n PopupClient.prototype.acquireToken = function (request) {\r\n try {\r\n var popupName = this.generatePopupName(request.scopes || OIDC_DEFAULT_SCOPES, request.authority || this.config.auth.authority);\r\n var popupWindowAttributes = request.popupWindowAttributes || {};\r\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\r\n if (this.config.system.asyncPopups) {\r\n this.logger.verbose(\"asyncPopups set to true, acquiring token\");\r\n // Passes on popup position and dimensions if in request\r\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes);\r\n }\r\n else {\r\n // asyncPopups flag is set to false. Opens popup before acquiring token.\r\n this.logger.verbose(\"asyncPopup set to false, opening popup before acquiring token\");\r\n var popup = this.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes);\r\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes, popup);\r\n }\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n };\r\n /**\r\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\r\n * @param logoutRequest\r\n */\r\n PopupClient.prototype.logout = function (logoutRequest) {\r\n try {\r\n this.logger.verbose(\"logoutPopup called\");\r\n var validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\r\n var popupName = this.generateLogoutPopupName(validLogoutRequest);\r\n var authority = logoutRequest && logoutRequest.authority;\r\n var mainWindowRedirectUri = logoutRequest && logoutRequest.mainWindowRedirectUri;\r\n var popupWindowAttributes = (logoutRequest === null || logoutRequest === void 0 ? void 0 : logoutRequest.popupWindowAttributes) || {};\r\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\r\n if (this.config.system.asyncPopups) {\r\n this.logger.verbose(\"asyncPopups set to true\");\r\n // Passes on popup position and dimensions if in request\r\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, undefined, mainWindowRedirectUri);\r\n }\r\n else {\r\n // asyncPopups flag is set to false. Opens popup before logging out.\r\n this.logger.verbose(\"asyncPopup set to false, opening popup\");\r\n var popup = this.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes);\r\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, popup, mainWindowRedirectUri);\r\n }\r\n }\r\n catch (e) {\r\n // Since this function is synchronous we need to reject\r\n return Promise.reject(e);\r\n }\r\n };\r\n /**\r\n * Helper which obtains an access_token for your API via opening a popup window in the user's browser\r\n * @param validRequest\r\n * @param popupName\r\n * @param popup\r\n * @param popupWindowAttributes\r\n *\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n PopupClient.prototype.acquireTokenPopupAsync = function (request, popupName, popupWindowAttributes, popup) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, validRequest, authCodeRequest, authClient, isNativeBroker, fetchNativeAccountIdMeasurement, navigateUrl, interactionHandler, popupParameters, popupWindow, hash, serverParams, state_1, nativeInteractionClient, userRequestState, result, e_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"acquireTokenPopupAsync called\");\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenPopup);\r\n return [4 /*yield*/, this.initializeAuthorizationRequest(request, InteractionType.Popup)];\r\n case 1:\r\n validRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || Constants.EMPTY_STRING, validRequest.account || null);\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 8, , 9]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(validRequest)];\r\n case 3:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions)];\r\n case 4:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n isNativeBroker = NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme);\r\n fetchNativeAccountIdMeasurement = void 0;\r\n if (isNativeBroker) {\r\n fetchNativeAccountIdMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.FetchAccountIdWithNativeBroker, request.correlationId);\r\n }\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, validRequest), { nativeBroker: isNativeBroker }))];\r\n case 5:\r\n navigateUrl = _a.sent();\r\n interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger);\r\n popupParameters = {\r\n popup: popup,\r\n popupName: popupName,\r\n popupWindowAttributes: popupWindowAttributes\r\n };\r\n popupWindow = this.initiateAuthRequest(navigateUrl, popupParameters);\r\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, { popupWindow: popupWindow }, null);\r\n return [4 /*yield*/, this.monitorPopupForHash(popupWindow)];\r\n case 6:\r\n hash = _a.sent();\r\n serverParams = UrlString.getDeserializedHash(hash);\r\n state_1 = this.validateAndExtractStateFromHash(serverParams, InteractionType.Popup, validRequest.correlationId);\r\n // Remove throttle if it exists\r\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, authCodeRequest);\r\n if (serverParams.accountId) {\r\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\r\n // end measurement for server call with native brokering enabled\r\n if (fetchNativeAccountIdMeasurement) {\r\n fetchNativeAccountIdMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: true\r\n });\r\n }\r\n if (!this.nativeMessageHandler) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, validRequest.correlationId);\r\n userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state_1).userRequestState;\r\n return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, validRequest), { state: userRequestState, prompt: undefined // Server should handle the prompt, ideally native broker can do this part silently\r\n })).finally(function () {\r\n _this.browserStorage.cleanRequestByState(state_1);\r\n })];\r\n }\r\n return [4 /*yield*/, interactionHandler.handleCodeResponseFromHash(hash, state_1, authClient.authority, this.networkClient)];\r\n case 7:\r\n result = _a.sent();\r\n return [2 /*return*/, result];\r\n case 8:\r\n e_1 = _a.sent();\r\n if (popup) {\r\n // Close the synchronous popup if an error is thrown before the window unload event is registered\r\n popup.close();\r\n }\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(validRequest.state);\r\n throw e_1;\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n *\r\n * @param validRequest\r\n * @param popupName\r\n * @param requestAuthority\r\n * @param popup\r\n * @param mainWindowRedirectUri\r\n * @param popupWindowAttributes\r\n */\r\n PopupClient.prototype.logoutPopupAsync = function (validRequest, popupName, popupWindowAttributes, requestAuthority, popup, mainWindowRedirectUri) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, authClient, logoutUri, popupWindow, navigationOptions, absoluteUrl, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"logoutPopupAsync called\");\r\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Popup, validRequest);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logoutPopup);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 5, , 6]);\r\n // Clear cache on logout\r\n return [4 /*yield*/, this.clearCacheOnLogout(validRequest.account)];\r\n case 2:\r\n // Clear cache on logout\r\n _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, requestAuthority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n logoutUri = authClient.getLogoutUri(validRequest);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Popup, validRequest);\r\n popupWindow = this.openPopup(logoutUri, { popupName: popupName, popupWindowAttributes: popupWindowAttributes, popup: popup });\r\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, { popupWindow: popupWindow }, null);\r\n return [4 /*yield*/, this.waitForLogoutPopup(popupWindow)];\r\n case 4:\r\n _a.sent();\r\n if (mainWindowRedirectUri) {\r\n navigationOptions = {\r\n apiId: ApiId.logoutPopup,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n absoluteUrl = UrlString.getAbsoluteUrl(mainWindowRedirectUri, BrowserUtils.getCurrentUri());\r\n this.logger.verbose(\"Redirecting main window to url specified in the request\");\r\n this.logger.verbosePii(\"Redirecting main window to: \" + absoluteUrl);\r\n this.navigationClient.navigateInternal(absoluteUrl, navigationOptions);\r\n }\r\n else {\r\n this.logger.verbose(\"No main window navigation requested\");\r\n }\r\n return [3 /*break*/, 6];\r\n case 5:\r\n e_2 = _a.sent();\r\n if (popup) {\r\n // Close the synchronous popup if an error is thrown before the window unload event is registered\r\n popup.close();\r\n }\r\n if (e_2 instanceof AuthError) {\r\n e_2.setCorrelationId(this.correlationId);\r\n }\r\n this.browserStorage.setInteractionInProgress(false);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Popup, null, e_2);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\r\n serverTelemetryManager.cacheFailedRequest(e_2);\r\n throw e_2;\r\n case 6:\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Opens a popup window with given request Url.\r\n * @param requestUrl\r\n */\r\n PopupClient.prototype.initiateAuthRequest = function (requestUrl, params) {\r\n // Check that request url is not empty.\r\n if (!StringUtils.isEmpty(requestUrl)) {\r\n this.logger.infoPii(\"Navigate to: \" + requestUrl);\r\n // Open the popup window to requestUrl.\r\n return this.openPopup(requestUrl, params);\r\n }\r\n else {\r\n // Throw error if request URL is empty.\r\n this.logger.error(\"Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n }\r\n };\r\n /**\r\n * Monitors a window until it loads a url with the same origin.\r\n * @param popupWindow - window that is being monitored\r\n * @param timeout - timeout for processing hash once popup is redirected back to application\r\n */\r\n PopupClient.prototype.monitorPopupForHash = function (popupWindow) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n /*\r\n * Polling for popups needs to be tick-based,\r\n * since a non-trivial amount of time can be spent on interaction (which should not count against the timeout).\r\n */\r\n var maxTicks = _this.config.system.windowHashTimeout / BrowserConstants.POLL_INTERVAL_MS;\r\n var ticks = 0;\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - polling started\");\r\n var intervalId = setInterval(function () {\r\n // Window is closed\r\n if (popupWindow.closed) {\r\n _this.logger.error(\"PopupHandler.monitorPopupForHash - window closed\");\r\n _this.cleanPopup();\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createUserCancelledError());\r\n return;\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n var hash = Constants.EMPTY_STRING;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = popupWindow.location.href;\r\n hash = popupWindow.location.hash;\r\n }\r\n catch (e) { }\r\n // Don't process blank pages or cross domain\r\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\r\n return;\r\n }\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - popup window is on same origin as caller\");\r\n /*\r\n * Only run clock when we are on same domain for popups\r\n * as popup operations can take a long time.\r\n */\r\n ticks++;\r\n if (hash) {\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - found hash in url\");\r\n clearInterval(intervalId);\r\n _this.cleanPopup(popupWindow);\r\n if (UrlString.hashContainsKnownProperties(hash)) {\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - hash contains known properties, returning.\");\r\n resolve(hash);\r\n }\r\n else {\r\n _this.logger.error(\"PopupHandler.monitorPopupForHash - found hash in url but it does not contain known properties. Check that your router is not changing the hash prematurely.\");\r\n _this.logger.errorPii(\"PopupHandler.monitorPopupForHash - hash found: \" + hash);\r\n reject(BrowserAuthError.createHashDoesNotContainKnownPropertiesError());\r\n }\r\n }\r\n else if (ticks > maxTicks) {\r\n _this.logger.error(\"PopupHandler.monitorPopupForHash - unable to find hash in url, timing out\");\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createMonitorPopupTimeoutError());\r\n }\r\n }, BrowserConstants.POLL_INTERVAL_MS);\r\n });\r\n };\r\n /**\r\n * Waits for user interaction in logout popup window\r\n * @param popupWindow\r\n * @returns\r\n */\r\n PopupClient.prototype.waitForLogoutPopup = function (popupWindow) {\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n _this.logger.verbose(\"PopupHandler.waitForLogoutPopup - polling started\");\r\n var intervalId = setInterval(function () {\r\n // Window is closed\r\n if (popupWindow.closed) {\r\n _this.logger.error(\"PopupHandler.waitForLogoutPopup - window closed\");\r\n _this.cleanPopup();\r\n clearInterval(intervalId);\r\n resolve();\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = popupWindow.location.href;\r\n }\r\n catch (e) { }\r\n // Don't process blank pages or cross domain\r\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\r\n return;\r\n }\r\n _this.logger.verbose(\"PopupHandler.waitForLogoutPopup - popup window is on same origin as caller, closing.\");\r\n clearInterval(intervalId);\r\n _this.cleanPopup(popupWindow);\r\n resolve();\r\n }, BrowserConstants.POLL_INTERVAL_MS);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n *\r\n * Configures popup window for login.\r\n *\r\n * @param urlNavigate\r\n * @param title\r\n * @param popUpWidth\r\n * @param popUpHeight\r\n * @param popupWindowAttributes\r\n * @ignore\r\n * @hidden\r\n */\r\n PopupClient.prototype.openPopup = function (urlNavigate, popupParams) {\r\n try {\r\n var popupWindow = void 0;\r\n // Popup window passed in, setting url to navigate to\r\n if (popupParams.popup) {\r\n popupWindow = popupParams.popup;\r\n this.logger.verbosePii(\"Navigating popup window to: \" + urlNavigate);\r\n popupWindow.location.assign(urlNavigate);\r\n }\r\n else if (typeof popupParams.popup === \"undefined\") {\r\n // Popup will be undefined if it was not passed in\r\n this.logger.verbosePii(\"Opening popup window to: \" + urlNavigate);\r\n popupWindow = this.openSizedPopup(urlNavigate, popupParams.popupName, popupParams.popupWindowAttributes);\r\n }\r\n // Popup will be null if popups are blocked\r\n if (!popupWindow) {\r\n throw BrowserAuthError.createEmptyWindowCreatedError();\r\n }\r\n if (popupWindow.focus) {\r\n popupWindow.focus();\r\n }\r\n this.currentWindow = popupWindow;\r\n window.addEventListener(\"beforeunload\", this.unloadWindow);\r\n return popupWindow;\r\n }\r\n catch (e) {\r\n this.logger.error(\"error opening popup \" + e.message);\r\n this.browserStorage.setInteractionInProgress(false);\r\n throw BrowserAuthError.createPopupWindowError(e.toString());\r\n }\r\n };\r\n /**\r\n * Helper function to set popup window dimensions and position\r\n * @param urlNavigate\r\n * @param popupName\r\n * @param popupWindowAttributes\r\n * @returns\r\n */\r\n PopupClient.prototype.openSizedPopup = function (urlNavigate, popupName, popupWindowAttributes) {\r\n var _a, _b, _c, _d;\r\n /**\r\n * adding winLeft and winTop to account for dual monitor\r\n * using screenLeft and screenTop for IE8 and earlier\r\n */\r\n var winLeft = window.screenLeft ? window.screenLeft : window.screenX;\r\n var winTop = window.screenTop ? window.screenTop : window.screenY;\r\n /**\r\n * window.innerWidth displays browser window\"s height and width excluding toolbars\r\n * using document.documentElement.clientWidth for IE8 and earlier\r\n */\r\n var winWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\r\n var winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n var width = (_a = popupWindowAttributes.popupSize) === null || _a === void 0 ? void 0 : _a.width;\r\n var height = (_b = popupWindowAttributes.popupSize) === null || _b === void 0 ? void 0 : _b.height;\r\n var top = (_c = popupWindowAttributes.popupPosition) === null || _c === void 0 ? void 0 : _c.top;\r\n var left = (_d = popupWindowAttributes.popupPosition) === null || _d === void 0 ? void 0 : _d.left;\r\n if (!width || width < 0 || width > winWidth) {\r\n this.logger.verbose(\"Default popup window width used. Window width not configured or invalid.\");\r\n width = BrowserConstants.POPUP_WIDTH;\r\n }\r\n if (!height || height < 0 || height > winHeight) {\r\n this.logger.verbose(\"Default popup window height used. Window height not configured or invalid.\");\r\n height = BrowserConstants.POPUP_HEIGHT;\r\n }\r\n if (!top || top < 0 || top > winHeight) {\r\n this.logger.verbose(\"Default popup window top position used. Window top not configured or invalid.\");\r\n top = Math.max(0, ((winHeight / 2) - (BrowserConstants.POPUP_HEIGHT / 2)) + winTop);\r\n }\r\n if (!left || left < 0 || left > winWidth) {\r\n this.logger.verbose(\"Default popup window left position used. Window left not configured or invalid.\");\r\n left = Math.max(0, ((winWidth / 2) - (BrowserConstants.POPUP_WIDTH / 2)) + winLeft);\r\n }\r\n return window.open(urlNavigate, popupName, \"width=\" + width + \", height=\" + height + \", top=\" + top + \", left=\" + left + \", scrollbars=yes\");\r\n };\r\n /**\r\n * Event callback to unload main window.\r\n */\r\n PopupClient.prototype.unloadWindow = function (e) {\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Popup);\r\n if (this.currentWindow) {\r\n this.currentWindow.close();\r\n }\r\n // Guarantees browser unload will happen, so no other errors will be thrown.\r\n e.preventDefault();\r\n };\r\n /**\r\n * Closes popup, removes any state vars created during popup calls.\r\n * @param popupWindow\r\n */\r\n PopupClient.prototype.cleanPopup = function (popupWindow) {\r\n if (popupWindow) {\r\n // Close window.\r\n popupWindow.close();\r\n }\r\n // Remove window unload function\r\n window.removeEventListener(\"beforeunload\", this.unloadWindow);\r\n // Interaction is completed - remove interaction status.\r\n this.browserStorage.setInteractionInProgress(false);\r\n };\r\n /**\r\n * Generates the name for the popup based on the client id and request\r\n * @param clientId\r\n * @param request\r\n */\r\n PopupClient.prototype.generatePopupName = function (scopes, authority) {\r\n return BrowserConstants.POPUP_NAME_PREFIX + \".\" + this.config.auth.clientId + \".\" + scopes.join(\"-\") + \".\" + authority + \".\" + this.correlationId;\r\n };\r\n /**\r\n * Generates the name for the popup based on the client id and request for logouts\r\n * @param clientId\r\n * @param request\r\n */\r\n PopupClient.prototype.generateLogoutPopupName = function (request) {\r\n var homeAccountId = request.account && request.account.homeAccountId;\r\n return BrowserConstants.POPUP_NAME_PREFIX + \".\" + this.config.auth.clientId + \".\" + homeAccountId + \".\" + this.correlationId;\r\n };\r\n return PopupClient;\r\n}(StandardInteractionClient));\n\nexport { PopupClient };\n//# sourceMappingURL=PopupClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, ClientAuthError, ServerError } from '@azure/msal-common';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\nimport { TemporaryCacheKeys, ApiId } from '../utils/BrowserConstants.js';\nimport { InteractionHandler } from './InteractionHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RedirectHandler = /** @class */ (function (_super) {\r\n __extends(RedirectHandler, _super);\r\n function RedirectHandler(authCodeModule, storageImpl, authCodeRequest, logger, browserCrypto) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, logger) || this;\r\n _this.browserCrypto = browserCrypto;\r\n return _this;\r\n }\r\n /**\r\n * Redirects window to given URL.\r\n * @param urlNavigate\r\n */\r\n RedirectHandler.prototype.initiateAuthRequest = function (requestUrl, params) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var navigationOptions, navigate;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest called\");\r\n if (!!StringUtils.isEmpty(requestUrl)) return [3 /*break*/, 7];\r\n // Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true\r\n if (params.redirectStartPage) {\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page\");\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, params.redirectStartPage, true);\r\n }\r\n // Set interaction status in the library.\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, this.authCodeRequest.correlationId, true);\r\n this.browserStorage.cacheCodeRequest(this.authCodeRequest, this.browserCrypto);\r\n this.logger.infoPii(\"RedirectHandler.initiateAuthRequest: Navigate to: \" + requestUrl);\r\n navigationOptions = {\r\n apiId: ApiId.acquireTokenRedirect,\r\n timeout: params.redirectTimeout,\r\n noHistory: false\r\n };\r\n if (!(typeof params.onRedirectNavigate === \"function\")) return [3 /*break*/, 4];\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback\");\r\n navigate = params.onRedirectNavigate(requestUrl);\r\n if (!(navigate !== false)) return [3 /*break*/, 2];\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating\");\r\n return [4 /*yield*/, params.navigationClient.navigateExternal(requestUrl, navigationOptions)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 2:\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation\");\r\n return [2 /*return*/];\r\n case 3: return [3 /*break*/, 6];\r\n case 4:\r\n // Navigate window to request URL\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: Navigating window to navigate url\");\r\n return [4 /*yield*/, params.navigationClient.navigateExternal(requestUrl, navigationOptions)];\r\n case 5:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 6: return [3 /*break*/, 8];\r\n case 7:\r\n // Throw error if request URL is empty.\r\n this.logger.info(\"RedirectHandler.initiateAuthRequest: Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Handle authorization code response in the window.\r\n * @param hash\r\n */\r\n RedirectHandler.prototype.handleCodeResponseFromHash = function (locationHash, state, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, authCodeResponse, nonceKey, cachedNonce, cachedCcsCred, tokenResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"RedirectHandler.handleCodeResponse called\");\r\n // Check that location hash isn't empty.\r\n if (StringUtils.isEmpty(locationHash)) {\r\n throw BrowserAuthError.createEmptyHashError(locationHash);\r\n }\r\n // Interaction is completed - remove interaction status.\r\n this.browserStorage.setInteractionInProgress(false);\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n try {\r\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\r\n }\r\n catch (e) {\r\n if (e instanceof ServerError && e.subError === BrowserAuthErrorMessage.userCancelledError.code) {\r\n // Translate server error caused by user closing native prompt to corresponding first class MSAL error\r\n throw BrowserAuthError.createUserCancelledError();\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n nonceKey = this.browserStorage.generateNonceKey(requestState);\r\n cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\r\n // Assign code to request\r\n this.authCodeRequest.code = authCodeResponse.code;\r\n if (!authCodeResponse.cloud_instance_host_name) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n authCodeResponse.nonce = cachedNonce || undefined;\r\n authCodeResponse.state = requestState;\r\n // Add CCS parameters if available\r\n if (authCodeResponse.client_info) {\r\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\r\n }\r\n else {\r\n cachedCcsCred = this.checkCcsCredentials();\r\n if (cachedCcsCred) {\r\n this.authCodeRequest.ccsCredential = cachedCcsCred;\r\n }\r\n }\r\n return [4 /*yield*/, this.authModule.acquireToken(this.authCodeRequest, authCodeResponse)];\r\n case 3:\r\n tokenResponse = _a.sent();\r\n this.browserStorage.cleanRequestByState(state);\r\n return [2 /*return*/, tokenResponse];\r\n }\r\n });\r\n });\r\n };\r\n return RedirectHandler;\r\n}(InteractionHandler));\n\nexport { RedirectHandler };\n//# sourceMappingURL=RedirectHandler.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { UrlString, AuthError, Constants, ThrottlingUtils, ProtocolUtils } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { TemporaryCacheKeys, ApiId, InteractionType } from '../utils/BrowserConstants.js';\nimport { RedirectHandler } from '../interaction_handler/RedirectHandler.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { NativeInteractionClient } from './NativeInteractionClient.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RedirectClient = /** @class */ (function (_super) {\r\n __extends(RedirectClient, _super);\r\n function RedirectClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Redirects the page to the /authorize endpoint of the IDP\r\n * @param request\r\n */\r\n RedirectClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var validRequest, serverTelemetryManager, handleBackButton, authCodeRequest, authClient, interactionHandler, navigateUrl, redirectStartPage, e_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.initializeAuthorizationRequest(request, InteractionType.Redirect)];\r\n case 1:\r\n validRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || Constants.EMPTY_STRING, validRequest.account || null);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);\r\n handleBackButton = function (event) {\r\n // Clear temporary cache if the back button is clicked during the redirect flow.\r\n if (event.persisted) {\r\n _this.logger.verbose(\"Page was restored from back/forward cache. Clearing temporary cache.\");\r\n _this.browserStorage.cleanRequestByState(validRequest.state);\r\n }\r\n };\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 7, , 8]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(validRequest)];\r\n case 3:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions)];\r\n case 4:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.browserCrypto);\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, validRequest), { nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme) }))];\r\n case 5:\r\n navigateUrl = _a.sent();\r\n redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);\r\n this.logger.verbosePii(\"Redirect start page: \" + redirectStartPage);\r\n // Clear temporary cache if the back button is clicked during the redirect flow.\r\n window.addEventListener(\"pageshow\", handleBackButton);\r\n return [4 /*yield*/, interactionHandler.initiateAuthRequest(navigateUrl, {\r\n navigationClient: this.navigationClient,\r\n redirectTimeout: this.config.system.redirectNavigationTimeout,\r\n redirectStartPage: redirectStartPage,\r\n onRedirectNavigate: request.onRedirectNavigate\r\n })];\r\n case 6: \r\n // Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.\r\n return [2 /*return*/, _a.sent()];\r\n case 7:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n window.removeEventListener(\"pageshow\", handleBackButton);\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(validRequest.state);\r\n throw e_1;\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Checks if navigateToLoginRequestUrl is set, and:\r\n * - if true, performs logic to cache and navigate\r\n * - if false, handles hash string and parses response\r\n * @param hash\r\n */\r\n RedirectClient.prototype.handleRedirectPromise = function (hash) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, responseHash, state, serverParams, loginRequestUrl, loginRequestUrlNormalized, currentUrlNormalized, handleHashResult, navigationOptions, processHashOnRedirect, homepage, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 10, , 11]);\r\n if (!this.browserStorage.isInteractionInProgress(true)) {\r\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n responseHash = this.getRedirectResponseHash(hash || window.location.hash);\r\n if (!responseHash) {\r\n // Not a recognized server response hash or hash not associated with a redirect request\r\n this.logger.info(\"handleRedirectPromise did not detect a response hash as a result of a redirect. Cleaning temporary cache.\");\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n return [2 /*return*/, null];\r\n }\r\n state = void 0;\r\n try {\r\n serverParams = UrlString.getDeserializedHash(responseHash);\r\n state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Redirect);\r\n this.logger.verbose(\"State extracted from hash\");\r\n }\r\n catch (e) {\r\n this.logger.info(\"handleRedirectPromise was unable to extract state due to: \" + e);\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n return [2 /*return*/, null];\r\n }\r\n loginRequestUrl = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, true) || Constants.EMPTY_STRING;\r\n loginRequestUrlNormalized = UrlString.removeHashFromUrl(loginRequestUrl);\r\n currentUrlNormalized = UrlString.removeHashFromUrl(window.location.href);\r\n if (!(loginRequestUrlNormalized === currentUrlNormalized && this.config.auth.navigateToLoginRequestUrl)) return [3 /*break*/, 3];\r\n // We are on the page we need to navigate to - handle hash\r\n this.logger.verbose(\"Current page is loginRequestUrl, handling hash\");\r\n return [4 /*yield*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n case 2:\r\n handleHashResult = _a.sent();\r\n if (loginRequestUrl.indexOf(\"#\") > -1) {\r\n // Replace current hash with non-msal hash, if present\r\n BrowserUtils.replaceHash(loginRequestUrl);\r\n }\r\n return [2 /*return*/, handleHashResult];\r\n case 3:\r\n if (!!this.config.auth.navigateToLoginRequestUrl) return [3 /*break*/, 4];\r\n this.logger.verbose(\"NavigateToLoginRequestUrl set to false, handling hash\");\r\n return [2 /*return*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n case 4:\r\n if (!(!BrowserUtils.isInIframe() || this.config.system.allowRedirectInIframe)) return [3 /*break*/, 9];\r\n /*\r\n * Returned from authority using redirect - need to perform navigation before processing response\r\n * Cache the hash to be retrieved after the next redirect\r\n */\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.URL_HASH, responseHash, true);\r\n navigationOptions = {\r\n apiId: ApiId.handleRedirectPromise,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: true\r\n };\r\n processHashOnRedirect = true;\r\n if (!(!loginRequestUrl || loginRequestUrl === \"null\")) return [3 /*break*/, 6];\r\n homepage = BrowserUtils.getHomepage();\r\n // Cache the homepage under ORIGIN_URI to ensure cached hash is processed on homepage\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, homepage, true);\r\n this.logger.warning(\"Unable to get valid login request url from cache, redirecting to home page\");\r\n return [4 /*yield*/, this.navigationClient.navigateInternal(homepage, navigationOptions)];\r\n case 5:\r\n processHashOnRedirect = _a.sent();\r\n return [3 /*break*/, 8];\r\n case 6:\r\n // Navigate to page that initiated the redirect request\r\n this.logger.verbose(\"Navigating to loginRequestUrl: \" + loginRequestUrl);\r\n return [4 /*yield*/, this.navigationClient.navigateInternal(loginRequestUrl, navigationOptions)];\r\n case 7:\r\n processHashOnRedirect = _a.sent();\r\n _a.label = 8;\r\n case 8:\r\n // If navigateInternal implementation returns false, handle the hash now\r\n if (!processHashOnRedirect) {\r\n return [2 /*return*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n }\r\n _a.label = 9;\r\n case 9: return [2 /*return*/, null];\r\n case 10:\r\n e_2 = _a.sent();\r\n if (e_2 instanceof AuthError) {\r\n e_2.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_2);\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n throw e_2;\r\n case 11: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Gets the response hash for a redirect request\r\n * Returns null if interactionType in the state value is not \"redirect\" or the hash does not contain known properties\r\n * @param hash\r\n */\r\n RedirectClient.prototype.getRedirectResponseHash = function (hash) {\r\n this.logger.verbose(\"getRedirectResponseHash called\");\r\n // Get current location hash from window or cache.\r\n var isResponseHash = UrlString.hashContainsKnownProperties(hash);\r\n if (isResponseHash) {\r\n BrowserUtils.clearHash(window);\r\n this.logger.verbose(\"Hash contains known properties, returning response hash\");\r\n return hash;\r\n }\r\n var cachedHash = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.URL_HASH, true);\r\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.URL_HASH));\r\n this.logger.verbose(\"Hash does not contain known properties, returning cached hash\");\r\n return cachedHash;\r\n };\r\n /**\r\n * Checks if hash exists and handles in window.\r\n * @param hash\r\n * @param state\r\n */\r\n RedirectClient.prototype.handleHash = function (hash, state, serverTelemetryManager) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cachedRequest, serverParams, nativeInteractionClient, userRequestState, currentAuthority, authClient, interactionHandler;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cachedRequest = this.browserStorage.getCachedRequest(state, this.browserCrypto);\r\n this.logger.verbose(\"handleHash called, retrieved cached request\");\r\n serverParams = UrlString.getDeserializedHash(hash);\r\n if (serverParams.accountId) {\r\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\r\n if (!this.nativeMessageHandler) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, cachedRequest.correlationId);\r\n userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state).userRequestState;\r\n return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, cachedRequest), { state: userRequestState, prompt: undefined // Server should handle the prompt, ideally native broker can do this part silently\r\n })).finally(function () {\r\n _this.browserStorage.cleanRequestByState(state);\r\n })];\r\n }\r\n currentAuthority = this.browserStorage.getCachedAuthority(state);\r\n if (!currentAuthority) {\r\n throw BrowserAuthError.createNoCachedAuthorityError();\r\n }\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, currentAuthority)];\r\n case 1:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, cachedRequest);\r\n interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.browserCrypto);\r\n return [4 /*yield*/, interactionHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient)];\r\n case 2: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\r\n * Default behaviour is to redirect the user to `window.location.href`.\r\n * @param logoutRequest\r\n */\r\n RedirectClient.prototype.logout = function (logoutRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var validLogoutRequest, serverTelemetryManager, navigationOptions, authClient, logoutUri, navigate, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"logoutRedirect called\");\r\n validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logout);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 10, , 11]);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Redirect, logoutRequest);\r\n // Clear cache on logout\r\n return [4 /*yield*/, this.clearCacheOnLogout(validLogoutRequest.account)];\r\n case 2:\r\n // Clear cache on logout\r\n _a.sent();\r\n navigationOptions = {\r\n apiId: ApiId.logout,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, logoutRequest && logoutRequest.authority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n logoutUri = authClient.getLogoutUri(validLogoutRequest);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Redirect, validLogoutRequest);\r\n if (!(logoutRequest && typeof logoutRequest.onRedirectNavigate === \"function\")) return [3 /*break*/, 7];\r\n navigate = logoutRequest.onRedirectNavigate(logoutUri);\r\n if (!(navigate !== false)) return [3 /*break*/, 5];\r\n this.logger.verbose(\"Logout onRedirectNavigate did not return false, navigating\");\r\n // Ensure interaction is in progress\r\n if (!this.browserStorage.getInteractionInProgress()) {\r\n this.browserStorage.setInteractionInProgress(true);\r\n }\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(logoutUri, navigationOptions)];\r\n case 4:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 5:\r\n // Ensure interaction is not in progress\r\n this.browserStorage.setInteractionInProgress(false);\r\n this.logger.verbose(\"Logout onRedirectNavigate returned false, stopping navigation\");\r\n _a.label = 6;\r\n case 6: return [3 /*break*/, 9];\r\n case 7:\r\n // Ensure interaction is in progress\r\n if (!this.browserStorage.getInteractionInProgress()) {\r\n this.browserStorage.setInteractionInProgress(true);\r\n }\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(logoutUri, navigationOptions)];\r\n case 8:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 9: return [3 /*break*/, 11];\r\n case 10:\r\n e_3 = _a.sent();\r\n if (e_3 instanceof AuthError) {\r\n e_3.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Redirect, null, e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\r\n throw e_3;\r\n case 11:\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Use to get the redirectStartPage either from request or use current window\r\n * @param requestStartPage\r\n */\r\n RedirectClient.prototype.getRedirectStartPage = function (requestStartPage) {\r\n var redirectStartPage = requestStartPage || window.location.href;\r\n return UrlString.getAbsoluteUrl(redirectStartPage, BrowserUtils.getCurrentUri());\r\n };\r\n return RedirectClient;\r\n}(StandardInteractionClient));\n\nexport { RedirectClient };\n//# sourceMappingURL=RedirectClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthorizationCodeClient } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar HybridSpaAuthorizationCodeClient = /** @class */ (function (_super) {\r\n __extends(HybridSpaAuthorizationCodeClient, _super);\r\n function HybridSpaAuthorizationCodeClient(config) {\r\n var _this = _super.call(this, config) || this;\r\n _this.includeRedirectUri = false;\r\n return _this;\r\n }\r\n return HybridSpaAuthorizationCodeClient;\r\n}(AuthorizationCodeClient));\n\nexport { HybridSpaAuthorizationCodeClient };\n//# sourceMappingURL=HybridSpaAuthorizationCodeClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { AuthError, Constants } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionType } from '../utils/BrowserConstants.js';\nimport { SilentHandler } from '../interaction_handler/SilentHandler.js';\nimport { HybridSpaAuthorizationCodeClient } from './HybridSpaAuthorizationCodeClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentAuthCodeClient = /** @class */ (function (_super) {\r\n __extends(SilentAuthCodeClient, _super);\r\n function SilentAuthCodeClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n _this.apiId = apiId;\r\n return _this;\r\n }\r\n /**\r\n * Acquires a token silently by redeeming an authorization code against the /token endpoint\r\n * @param request\r\n */\r\n SilentAuthCodeClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRequest, serverTelemetryManager, authCodeRequest, clientConfig, authClient, silentHandler, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"SilentAuthCodeClient.acquireToken called\");\r\n // Auth code payload is required\r\n if (!request.code) {\r\n throw BrowserAuthError.createAuthCodeRequiredError();\r\n }\r\n return [4 /*yield*/, this.initializeAuthorizationRequest(request, InteractionType.Silent)];\r\n case 1:\r\n silentRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n authCodeRequest = __assign(__assign({}, silentRequest), { code: request.code });\r\n return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, silentRequest.authority)];\r\n case 3:\r\n clientConfig = _a.sent();\r\n authClient = new HybridSpaAuthorizationCodeClient(clientConfig);\r\n this.logger.verbose(\"Auth code client created\");\r\n silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system.navigateFrameWait);\r\n // Handle auth code parameters from request\r\n return [2 /*return*/, silentHandler.handleCodeResponseFromServer({\r\n code: request.code,\r\n msgraph_host: request.msGraphHost,\r\n cloud_graph_host_name: request.cloudGraphHostName,\r\n cloud_instance_host_name: request.cloudInstanceHostName\r\n }, silentRequest.state, authClient.authority, this.networkClient, false)];\r\n case 4:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(silentRequest.state);\r\n throw e_1;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentAuthCodeClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n return SilentAuthCodeClient;\r\n}(StandardInteractionClient));\n\nexport { SilentAuthCodeClient };\n//# sourceMappingURL=SilentAuthCodeClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { AuthError, PerformanceEvents, SilentFlowClient } from '@azure/msal-common';\nimport { ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentCacheClient = /** @class */ (function (_super) {\r\n __extends(SilentCacheClient, _super);\r\n function SilentCacheClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Returns unexpired tokens from the cache, if available\r\n * @param silentRequest\r\n */\r\n SilentCacheClient.prototype.acquireToken = function (silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var acquireTokenMeasurement, serverTelemetryManager, silentAuthClient, cachedToken, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\r\n return [4 /*yield*/, this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions)];\r\n case 1:\r\n silentAuthClient = _a.sent();\r\n this.logger.verbose(\"Silent auth client created\");\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, silentAuthClient.acquireCachedToken(silentRequest)];\r\n case 3:\r\n cachedToken = _a.sent();\r\n acquireTokenMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: true\r\n });\r\n return [2 /*return*/, cachedToken];\r\n case 4:\r\n error_1 = _a.sent();\r\n if (error_1 instanceof BrowserAuthError && error_1.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\r\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\r\n }\r\n acquireTokenMeasurement.endMeasurement({\r\n errorCode: error_1 instanceof AuthError && error_1.errorCode || undefined,\r\n subErrorCode: error_1 instanceof AuthError && error_1.subError || undefined,\r\n success: false\r\n });\r\n throw error_1;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentCacheClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Creates an Silent Flow Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n SilentCacheClient.prototype.createSilentFlowClient = function (serverTelemetryManager, authorityUrl, azureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new SilentFlowClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n SilentCacheClient.prototype.initializeSilentRequest = function (request, account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = [__assign({}, request)];\r\n return [4 /*yield*/, this.initializeBaseRequest(request)];\r\n case 1: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _a.concat([_b.sent()])), { account: account, forceRefresh: request.forceRefresh || false }])];\r\n }\r\n });\r\n });\r\n };\r\n return SilentCacheClient;\r\n}(StandardInteractionClient));\n\nexport { SilentCacheClient };\n//# sourceMappingURL=SilentCacheClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { AuthError, Constants, PerformanceEvents, StringUtils, PromptValue, UrlString, ProtocolUtils } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionType } from '../utils/BrowserConstants.js';\nimport { SilentHandler } from '../interaction_handler/SilentHandler.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\nimport { NativeInteractionClient } from './NativeInteractionClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentIframeClient = /** @class */ (function (_super) {\r\n __extends(SilentIframeClient, _super);\r\n function SilentIframeClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n _this.apiId = apiId;\r\n return _this;\r\n }\r\n /**\r\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none\r\n * @param request\r\n */\r\n SilentIframeClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var acquireTokenMeasurement, silentRequest, serverTelemetryManager, authClient, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"acquireTokenByIframe called\");\r\n acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);\r\n // Check that we have some SSO data\r\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\r\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\r\n }\r\n // Check that prompt is set to none, throw error if it is set to anything else.\r\n if (request.prompt && request.prompt !== PromptValue.NONE) {\r\n acquireTokenMeasurement.endMeasurement({\r\n success: false\r\n });\r\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\r\n }\r\n return [4 /*yield*/, this.initializeAuthorizationRequest(__assign(__assign({}, request), { prompt: PromptValue.NONE }), InteractionType.Silent)];\r\n case 1:\r\n silentRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 5, , 6]);\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n return [4 /*yield*/, this.silentTokenHelper(authClient, silentRequest).then(function (result) {\r\n acquireTokenMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: false\r\n });\r\n return result;\r\n })];\r\n case 4: return [2 /*return*/, _a.sent()];\r\n case 5:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(silentRequest.state);\r\n acquireTokenMeasurement.endMeasurement({\r\n errorCode: e_1 instanceof AuthError && e_1.errorCode || undefined,\r\n subErrorCode: e_1 instanceof AuthError && e_1.subError || undefined,\r\n success: false\r\n });\r\n throw e_1;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentIframeClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Helper which acquires an authorization code silently using a hidden iframe from given url\r\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\r\n * @param navigateUrl\r\n * @param userRequestScopes\r\n */\r\n SilentIframeClient.prototype.silentTokenHelper = function (authClient, silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authCodeRequest, navigateUrl, silentHandler, msalFrame, hash, serverParams, state, nativeInteractionClient, userRequestState;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.initializeAuthorizationCodeRequest(silentRequest)];\r\n case 1:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, silentRequest), { nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme) }))];\r\n case 2:\r\n navigateUrl = _a.sent();\r\n silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system.navigateFrameWait);\r\n return [4 /*yield*/, silentHandler.initiateAuthRequest(navigateUrl)];\r\n case 3:\r\n msalFrame = _a.sent();\r\n return [4 /*yield*/, silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout)];\r\n case 4:\r\n hash = _a.sent();\r\n serverParams = UrlString.getDeserializedHash(hash);\r\n state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Silent, authCodeRequest.correlationId);\r\n if (serverParams.accountId) {\r\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\r\n if (!this.nativeMessageHandler) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.correlationId);\r\n userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state).userRequestState;\r\n return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, silentRequest), { state: userRequestState, prompt: PromptValue.NONE })).finally(function () {\r\n _this.browserStorage.cleanRequestByState(state);\r\n })];\r\n }\r\n // Handle response from hash string\r\n return [2 /*return*/, silentHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient)];\r\n }\r\n });\r\n });\r\n };\r\n return SilentIframeClient;\r\n}(StandardInteractionClient));\n\nexport { SilentIframeClient };\n//# sourceMappingURL=SilentIframeClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { AuthError, PerformanceEvents, RefreshTokenClient } from '@azure/msal-common';\nimport { ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentRefreshClient = /** @class */ (function (_super) {\r\n __extends(SilentRefreshClient, _super);\r\n function SilentRefreshClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Exchanges the refresh token for new tokens\r\n * @param request\r\n */\r\n SilentRefreshClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRequest, _a, acquireTokenMeasurement, serverTelemetryManager, refreshTokenClient;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = [__assign({}, request)];\r\n return [4 /*yield*/, this.initializeBaseRequest(request)];\r\n case 1:\r\n silentRequest = __assign.apply(void 0, _a.concat([_b.sent()]));\r\n acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, silentRequest.correlationId);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\r\n return [4 /*yield*/, this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions)];\r\n case 2:\r\n refreshTokenClient = _b.sent();\r\n this.logger.verbose(\"Refresh token client created\");\r\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\r\n return [2 /*return*/, refreshTokenClient.acquireTokenByRefreshToken(silentRequest)\r\n .then(function (result) {\r\n acquireTokenMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: result.fromCache\r\n });\r\n return result;\r\n })\r\n .catch(function (e) {\r\n if (e instanceof AuthError) {\r\n e.setCorrelationId(_this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e);\r\n acquireTokenMeasurement.endMeasurement({\r\n errorCode: e.errorCode,\r\n subErrorCode: e.subError,\r\n success: false\r\n });\r\n throw e;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentRefreshClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Creates a Refresh Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n SilentRefreshClient.prototype.createRefreshTokenClient = function (serverTelemetryManager, authorityUrl, azureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new RefreshTokenClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n return SilentRefreshClient;\r\n}(StandardInteractionClient));\n\nexport { SilentRefreshClient };\n//# sourceMappingURL=SilentRefreshClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { UrlString, Constants, AuthorizationCodeClient, PerformanceEvents, Authority, AuthorityFactory, ResponseMode, StringUtils, ProtocolUtils } from '@azure/msal-common';\nimport { BaseInteractionClient } from './BaseInteractionClient.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { version } from '../packageMetadata.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { BrowserProtocolUtils } from '../utils/BrowserProtocolUtils.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Defines the class structure and helper functions used by the \"standard\", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))\r\n */\r\nvar StandardInteractionClient = /** @class */ (function (_super) {\r\n __extends(StandardInteractionClient, _super);\r\n function StandardInteractionClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Generates an auth code request tied to the url request.\r\n * @param request\r\n */\r\n StandardInteractionClient.prototype.initializeAuthorizationCodeRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var generatedPkceParams, authCodeRequest;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"initializeAuthorizationRequest called\", request.correlationId);\r\n return [4 /*yield*/, this.browserCrypto.generatePkceCodes()];\r\n case 1:\r\n generatedPkceParams = _a.sent();\r\n authCodeRequest = __assign(__assign({}, request), { redirectUri: request.redirectUri, code: Constants.EMPTY_STRING, codeVerifier: generatedPkceParams.verifier });\r\n request.codeChallenge = generatedPkceParams.challenge;\r\n request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;\r\n return [2 /*return*/, authCodeRequest];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initializer for the logout request.\r\n * @param logoutRequest\r\n */\r\n StandardInteractionClient.prototype.initializeLogoutRequest = function (logoutRequest) {\r\n this.logger.verbose(\"initializeLogoutRequest called\", logoutRequest === null || logoutRequest === void 0 ? void 0 : logoutRequest.correlationId);\r\n var validLogoutRequest = __assign({ correlationId: this.correlationId || this.browserCrypto.createNewGuid() }, logoutRequest);\r\n /**\r\n * Set logout_hint to be login_hint from ID Token Claims if present\r\n * and logoutHint attribute wasn't manually set in logout request\r\n */\r\n if (logoutRequest) {\r\n // If logoutHint isn't set and an account was passed in, try to extract logoutHint from ID Token Claims\r\n if (!logoutRequest.logoutHint) {\r\n if (logoutRequest.account) {\r\n var logoutHint = this.getLogoutHintFromIdTokenClaims(logoutRequest.account);\r\n if (logoutHint) {\r\n this.logger.verbose(\"Setting logoutHint to login_hint ID Token Claim value for the account provided\");\r\n validLogoutRequest.logoutHint = logoutHint;\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"logoutHint was not set and account was not passed into logout request, logoutHint will not be set\");\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"logoutHint has already been set in logoutRequest\");\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"logoutHint will not be set since no logout request was configured\");\r\n }\r\n /*\r\n * Only set redirect uri if logout request isn't provided or the set uri isn't null.\r\n * Otherwise, use passed uri, config, or current page.\r\n */\r\n if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {\r\n if (logoutRequest && logoutRequest.postLogoutRedirectUri) {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to uri set on logout request\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\r\n }\r\n else if (this.config.auth.postLogoutRedirectUri === null) {\r\n this.logger.verbose(\"postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect\", validLogoutRequest.correlationId);\r\n }\r\n else if (this.config.auth.postLogoutRedirectUri) {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to configured uri\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\r\n }\r\n else {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to current page\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(BrowserUtils.getCurrentUri(), BrowserUtils.getCurrentUri());\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"postLogoutRedirectUri passed as null, not setting post logout redirect uri\", validLogoutRequest.correlationId);\r\n }\r\n return validLogoutRequest;\r\n };\r\n /**\r\n * Parses login_hint ID Token Claim out of AccountInfo object to be used as\r\n * logout_hint in end session request.\r\n * @param account\r\n */\r\n StandardInteractionClient.prototype.getLogoutHintFromIdTokenClaims = function (account) {\r\n var idTokenClaims = account.idTokenClaims;\r\n if (idTokenClaims) {\r\n if (idTokenClaims.login_hint) {\r\n return idTokenClaims.login_hint;\r\n }\r\n else {\r\n this.logger.verbose(\"The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request\");\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"The provided account does not contain ID Token Claims, logoutHint will not be added to logout request\");\r\n }\r\n return null;\r\n };\r\n /**\r\n * Creates an Authorization Code Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n StandardInteractionClient.prototype.createAuthCodeClient = function (serverTelemetryManager, authorityUrl, requestAzureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl, requestAzureCloudOptions)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new AuthorizationCodeClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Creates a Client Configuration object with the given request authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n StandardInteractionClient.prototype.getClientConfiguration = function (serverTelemetryManager, requestAuthority, requestAzureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var discoveredAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getClientConfiguration called\", this.correlationId);\r\n return [4 /*yield*/, this.getDiscoveredAuthority(requestAuthority, requestAzureCloudOptions)];\r\n case 1:\r\n discoveredAuthority = _a.sent();\r\n return [2 /*return*/, {\r\n authOptions: {\r\n clientId: this.config.auth.clientId,\r\n authority: discoveredAuthority,\r\n clientCapabilities: this.config.auth.clientCapabilities\r\n },\r\n systemOptions: {\r\n tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,\r\n preventCorsPreflight: true\r\n },\r\n loggerOptions: {\r\n loggerCallback: this.config.system.loggerOptions.loggerCallback,\r\n piiLoggingEnabled: this.config.system.loggerOptions.piiLoggingEnabled,\r\n logLevel: this.config.system.loggerOptions.logLevel,\r\n correlationId: this.correlationId\r\n },\r\n cryptoInterface: this.browserCrypto,\r\n networkInterface: this.networkClient,\r\n storageInterface: this.browserStorage,\r\n serverTelemetryManager: serverTelemetryManager,\r\n libraryInfo: {\r\n sku: BrowserConstants.MSAL_SKU,\r\n version: version,\r\n cpu: Constants.EMPTY_STRING,\r\n os: Constants.EMPTY_STRING\r\n },\r\n telemetry: this.config.telemetry\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * @param hash\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.validateAndExtractStateFromHash = function (serverParams, interactionType, requestCorrelationId) {\r\n this.logger.verbose(\"validateAndExtractStateFromHash called\", requestCorrelationId);\r\n if (!serverParams.state) {\r\n throw BrowserAuthError.createHashDoesNotContainStateError();\r\n }\r\n var platformStateObj = BrowserProtocolUtils.extractBrowserRequestState(this.browserCrypto, serverParams.state);\r\n if (!platformStateObj) {\r\n throw BrowserAuthError.createUnableToParseStateError();\r\n }\r\n if (platformStateObj.interactionType !== interactionType) {\r\n throw BrowserAuthError.createStateInteractionTypeMismatchError();\r\n }\r\n this.logger.verbose(\"Returning state from hash\", requestCorrelationId);\r\n return serverParams.state;\r\n };\r\n /**\r\n * Used to get a discovered version of the default authority.\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n StandardInteractionClient.prototype.getDiscoveredAuthority = function (requestAuthority, requestAzureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var getAuthorityMeasurement, authorityOptions, userAuthority, builtAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getDiscoveredAuthority called\", this.correlationId);\r\n getAuthorityMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.correlationId);\r\n authorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata,\r\n skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache\r\n };\r\n userAuthority = requestAuthority ? requestAuthority : this.config.auth.authority;\r\n builtAuthority = Authority.generateAuthority(userAuthority, requestAzureCloudOptions || this.config.auth.azureCloudOptions);\r\n this.logger.verbose(\"Creating discovered authority with configured authority\", this.correlationId);\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(builtAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions)\r\n .then(function (result) {\r\n getAuthorityMeasurement.endMeasurement({\r\n success: true\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n getAuthorityMeasurement.endMeasurement({\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n success: false\r\n });\r\n throw error;\r\n })];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Helper to initialize required request parameters for interactive APIs and ssoSilent()\r\n * @param request\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.initializeAuthorizationRequest = function (request, interactionType) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var redirectUri, browserState, state, validatedRequest, _a, account, legacyLoginHint;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.verbose(\"initializeAuthorizationRequest called\", this.correlationId);\r\n redirectUri = this.getRedirectUri(request.redirectUri);\r\n browserState = {\r\n interactionType: interactionType\r\n };\r\n state = ProtocolUtils.setRequestState(this.browserCrypto, (request && request.state) || Constants.EMPTY_STRING, browserState);\r\n _a = [{}];\r\n return [4 /*yield*/, this.initializeBaseRequest(request)];\r\n case 1:\r\n validatedRequest = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([_b.sent()])), { redirectUri: redirectUri, state: state, nonce: request.nonce || this.browserCrypto.createNewGuid(), responseMode: ResponseMode.FRAGMENT }]);\r\n account = request.account || this.browserStorage.getActiveAccount();\r\n if (account) {\r\n this.logger.verbose(\"Setting validated request account\", this.correlationId);\r\n this.logger.verbosePii(\"Setting validated request account: \" + account.homeAccountId, this.correlationId);\r\n validatedRequest.account = account;\r\n }\r\n // Check for ADAL/MSAL v1 SSO\r\n if (StringUtils.isEmpty(validatedRequest.loginHint) && !account) {\r\n legacyLoginHint = this.browserStorage.getLegacyLoginHint();\r\n if (legacyLoginHint) {\r\n validatedRequest.loginHint = legacyLoginHint;\r\n }\r\n }\r\n return [2 /*return*/, validatedRequest];\r\n }\r\n });\r\n });\r\n };\r\n return StandardInteractionClient;\r\n}(BaseInteractionClient));\n\nexport { StandardInteractionClient };\n//# sourceMappingURL=StandardInteractionClient.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, ClientAuthError, ServerError, AuthorityFactory } from '@azure/msal-common';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\nimport { TemporaryCacheKeys } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Abstract class which defines operations for a browser interaction handling class.\r\n */\r\nvar InteractionHandler = /** @class */ (function () {\r\n function InteractionHandler(authCodeModule, storageImpl, authCodeRequest, logger) {\r\n this.authModule = authCodeModule;\r\n this.browserStorage = storageImpl;\r\n this.authCodeRequest = authCodeRequest;\r\n this.logger = logger;\r\n }\r\n /**\r\n * Function to handle response parameters from hash.\r\n * @param locationHash\r\n */\r\n InteractionHandler.prototype.handleCodeResponseFromHash = function (locationHash, state, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, authCodeResponse;\r\n return __generator(this, function (_a) {\r\n this.logger.verbose(\"InteractionHandler.handleCodeResponse called\");\r\n // Check that location hash isn't empty.\r\n if (StringUtils.isEmpty(locationHash)) {\r\n throw BrowserAuthError.createEmptyHashError(locationHash);\r\n }\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n try {\r\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\r\n }\r\n catch (e) {\r\n if (e instanceof ServerError && e.subError === BrowserAuthErrorMessage.userCancelledError.code) {\r\n // Translate server error caused by user closing native prompt to corresponding first class MSAL error\r\n throw BrowserAuthError.createUserCancelledError();\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n return [2 /*return*/, this.handleCodeResponseFromServer(authCodeResponse, state, authority, networkModule)];\r\n });\r\n });\r\n };\r\n /**\r\n * Process auth code response from AAD\r\n * @param authCodeResponse\r\n * @param state\r\n * @param authority\r\n * @param networkModule\r\n * @returns\r\n */\r\n InteractionHandler.prototype.handleCodeResponseFromServer = function (authCodeResponse, state, authority, networkModule, validateNonce) {\r\n if (validateNonce === void 0) { validateNonce = true; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, nonceKey, cachedNonce, cachedCcsCred, tokenResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"InteractionHandler.handleCodeResponseFromServer called\");\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n nonceKey = this.browserStorage.generateNonceKey(requestState);\r\n cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\r\n // Assign code to request\r\n this.authCodeRequest.code = authCodeResponse.code;\r\n if (!authCodeResponse.cloud_instance_host_name) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n // Nonce validation not needed when redirect not involved (e.g. hybrid spa, renewing token via rt)\r\n if (validateNonce) {\r\n authCodeResponse.nonce = cachedNonce || undefined;\r\n }\r\n authCodeResponse.state = requestState;\r\n // Add CCS parameters if available\r\n if (authCodeResponse.client_info) {\r\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\r\n }\r\n else {\r\n cachedCcsCred = this.checkCcsCredentials();\r\n if (cachedCcsCred) {\r\n this.authCodeRequest.ccsCredential = cachedCcsCred;\r\n }\r\n }\r\n return [4 /*yield*/, this.authModule.acquireToken(this.authCodeRequest, authCodeResponse)];\r\n case 3:\r\n tokenResponse = _a.sent();\r\n this.browserStorage.cleanRequestByState(state);\r\n return [2 /*return*/, tokenResponse];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Updates authority based on cloudInstanceHostname\r\n * @param cloudInstanceHostname\r\n * @param authority\r\n * @param networkModule\r\n */\r\n InteractionHandler.prototype.updateTokenEndpointAuthority = function (cloudInstanceHostname, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cloudInstanceAuthorityUri, cloudInstanceAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cloudInstanceAuthorityUri = \"https://\" + cloudInstanceHostname + \"/\" + authority.tenant + \"/\";\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(cloudInstanceAuthorityUri, networkModule, this.browserStorage, authority.options)];\r\n case 1:\r\n cloudInstanceAuthority = _a.sent();\r\n this.authModule.updateAuthority(cloudInstanceAuthority);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Looks up ccs creds in the cache\r\n */\r\n InteractionHandler.prototype.checkCcsCredentials = function () {\r\n // Look up ccs credential in temp cache\r\n var cachedCcsCred = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, true);\r\n if (cachedCcsCred) {\r\n try {\r\n return JSON.parse(cachedCcsCred);\r\n }\r\n catch (e) {\r\n this.authModule.logger.error(\"Cache credential could not be parsed\");\r\n this.authModule.logger.errorPii(\"Cache credential could not be parsed: \" + cachedCcsCred);\r\n }\r\n }\r\n return null;\r\n };\r\n return InteractionHandler;\r\n}());\n\nexport { InteractionHandler };\n//# sourceMappingURL=InteractionHandler.js.map\n","/*! @azure/msal-browser v2.27.0 2022-07-05 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, Constants, UrlString } from '@azure/msal-common';\nimport { InteractionHandler } from './InteractionHandler.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { DEFAULT_IFRAME_TIMEOUT_MS } from '../config/Configuration.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentHandler = /** @class */ (function (_super) {\r\n __extends(SilentHandler, _super);\r\n function SilentHandler(authCodeModule, storageImpl, authCodeRequest, logger, navigateFrameWait) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, logger) || this;\r\n _this.navigateFrameWait = navigateFrameWait;\r\n return _this;\r\n }\r\n /**\r\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\r\n * @param urlNavigate\r\n * @param userRequestScopes\r\n */\r\n SilentHandler.prototype.initiateAuthRequest = function (requestUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (StringUtils.isEmpty(requestUrl)) {\r\n // Throw error if request URL is empty.\r\n this.logger.info(\"Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n }\r\n if (!this.navigateFrameWait) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.loadFrame(requestUrl)];\r\n case 1:\r\n _a = _b.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n _a = this.loadFrameSync(requestUrl);\r\n _b.label = 3;\r\n case 3: return [2 /*return*/, _a];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\r\n * @param iframe\r\n * @param timeout\r\n */\r\n SilentHandler.prototype.monitorIframeForHash = function (iframe, timeout) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\r\n _this.logger.warning(\"system.loadFrameTimeout or system.iframeHashTimeout set to lower (\" + timeout + \"ms) than the default (\" + DEFAULT_IFRAME_TIMEOUT_MS + \"ms). This may result in timeouts.\");\r\n }\r\n /*\r\n * Polling for iframes can be purely timing based,\r\n * since we don't need to account for interaction.\r\n */\r\n var nowMark = window.performance.now();\r\n var timeoutMark = nowMark + timeout;\r\n var intervalId = setInterval(function () {\r\n if (window.performance.now() > timeoutMark) {\r\n _this.removeHiddenIframe(iframe);\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\r\n return;\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n var contentWindow = iframe.contentWindow;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\r\n }\r\n catch (e) { }\r\n if (StringUtils.isEmpty(href)) {\r\n return;\r\n }\r\n var contentHash = contentWindow ? contentWindow.location.hash : Constants.EMPTY_STRING;\r\n if (UrlString.hashContainsKnownProperties(contentHash)) {\r\n // Success case\r\n _this.removeHiddenIframe(iframe);\r\n clearInterval(intervalId);\r\n resolve(contentHash);\r\n return;\r\n }\r\n }, BrowserConstants.POLL_INTERVAL_MS);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n * Loads iframe with authorization endpoint URL\r\n * @ignore\r\n */\r\n SilentHandler.prototype.loadFrame = function (urlNavigate) {\r\n /*\r\n * This trick overcomes iframe navigation in IE\r\n * IE does not load the page consistently in iframe\r\n */\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var frameHandle = _this.createHiddenIframe();\r\n setTimeout(function () {\r\n if (!frameHandle) {\r\n reject(\"Unable to load iframe\");\r\n return;\r\n }\r\n frameHandle.src = urlNavigate;\r\n resolve(frameHandle);\r\n }, _this.navigateFrameWait);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\r\n * @param urlNavigate\r\n * @param frameName\r\n * @param logger\r\n */\r\n SilentHandler.prototype.loadFrameSync = function (urlNavigate) {\r\n var frameHandle = this.createHiddenIframe();\r\n frameHandle.src = urlNavigate;\r\n return frameHandle;\r\n };\r\n /**\r\n * @hidden\r\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\r\n * @ignore\r\n */\r\n SilentHandler.prototype.createHiddenIframe = function () {\r\n var authFrame = document.createElement(\"iframe\");\r\n authFrame.style.visibility = \"hidden\";\r\n authFrame.style.position = \"absolute\";\r\n authFrame.style.width = authFrame.style.height = \"0\";\r\n authFrame.style.border = \"0\";\r\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\r\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\r\n return authFrame;\r\n };\r\n /**\r\n * @hidden\r\n * Removes a hidden iframe from the page.\r\n * @ignore\r\n */\r\n SilentHandler.prototype.removeHiddenIframe = function (iframe) {\r\n if (document.body === iframe.parentNode) {\r\n document.body.removeChild(iframe);\r\n }\r\n };\r\n return SilentHandler;\r\n}(InteractionHandler));\n\nexport { SilentHandler };\n//# sourceMappingURL=SilentHandler.js.map\n"],"names":["NavigationClient","prototype","navigateInternal","url","options","defaultNavigateWindow","navigateExternal","noHistory","window","location","replace","assign","Promise","resolve","setTimeout","timeout","DEFAULT_POPUP_TIMEOUT_MS","DEFAULT_IFRAME_TIMEOUT_MS","DEFAULT_REDIRECT_TIMEOUT_MS","DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS","buildConfiguration","_a","isBrowserEnvironment","userInputAuth","auth","userInputCache","cache","userInputSystem","system","userInputTelemetry","telemetry","DEFAULT_AUTH_OPTIONS","clientId","Constants","authority","knownAuthorities","cloudDiscoveryMetadata","authorityMetadata","redirectUri","postLogoutRedirectUri","navigateToLoginRequestUrl","clientCapabilities","protocolMode","ProtocolMode","azureCloudOptions","azureCloudInstance","tenant","skipAuthorityMetadataCache","DEFAULT_CACHE_OPTIONS","cacheLocation","storeAuthStateInCookie","secureCookies","DEFAULT_LOGGER_OPTIONS","loggerCallback","logLevel","piiLoggingEnabled","DEFAULT_BROWSER_SYSTEM_OPTIONS","loggerOptions","networkClient","BrowserUtils","navigationClient","loadFrameTimeout","windowHashTimeout","iframeHashTimeout","navigateFrameWait","redirectNavigationTimeout","asyncPopups","allowRedirectInIframe","allowNativeBroker","nativeBrokerHandshakeTimeout","DEFAULT_TELEMETRY_OPTIONS","application","appName","appVersion","overlayedConfig","PKCS1_V15_KEYGEN_ALG","S256_HASH_ALG","MODULUS_LENGTH","PUBLIC_EXPONENT","Uint8Array","BrowserCrypto","logger","this","hasCryptoAPI","_keygenAlgorithmOptions","name","hash","modulusLength","publicExponent","sha256Digest","dataString","data","hasIECrypto","getMSCryptoDigest","getSubtleCryptoDigest","getRandomValues","dataBuffer","cryptoObj","crypto","generateKeyPair","extractable","usages","msCryptoGenerateKey","subtle","generateKey","exportJwk","key","msCryptoExportJwk","exportKey","importJwk","keyString","keyBuffer","getJwkString","msCryptoImportKey","importKey","sign","msCryptoSign","hasBrowserCrypto","algorithm","digest","reject","digestOperation","buffer","addEventListener","e","target","result","error","_this","msGenerateKey","msExportKey","resultBuffer","resultString","split","join","JSON","parse","msImportKey","msSign","jwk","stringify","Object","keys","sort","CryptoKeyStoreNames","Base64Encode","urlEncode","input","encodeURIComponent","encode","urlEncodeArr","inputArr","base64EncArr","inputUtf8Arr","BrowserStringUtils","aBytes","eqLen","length","sB64Enc","nMod3","nLen","nUint24","nIdx","String","fromCharCode","uint6ToB64","substring","nUint6","Base64Decode","decode","encodedString","Error","base64DecToArr","base64String","nBlockSize","nInLen","nOutLen","Math","ceil","nMod4","nOutIdx","nInIdx","b64ToUint6","charCodeAt","charNum","RANDOM_BYTE_ARR_LENGTH","PkceGenerator","base64Encode","generateCodes","codeVerifier","codeChallenge","label","generateCodeVerifier","generateCodeChallengeFromVerifier","sent","verifier","challenge","pkceCodeVerifierB64","BrowserAuthError","pkceCodeVerifier","pkceHashedCodeVerifier","e_1","trys","push","CryptoOps","performanceClient","browserCrypto","b64Encode","b64Decode","guidGenerator","GuidGenerator","pkceGenerator","asymmetricKeys","AsyncMemoryStorage","symmetricKeys","createNewGuid","generateGuid","base64Decode","generatePkceCodes","getPublicKeyThumbprint","request","publicKeyThumbMeasurement","keyPair","publicKeyJwk","pubKeyThumprintObj","publicJwkString","publicJwkHash","privateKeyJwk","unextractablePrivateKey","_b","startMeasurement","PerformanceEvent","correlationId","EXTRACTABLE","POP_KEY_USAGES","publicKey","kty","n","hashString","privateKey","setItem","requestMethod","resourceRequestMethod","requestUri","resourceRequestUri","endMeasurement","success","removeTokenBindingKey","kid","keyFound","removeItem","containsKey","clearKeystore","verbose","clear","message","signJwt","payload","signJwtMeasurement","cachedKeyPair","publicKeyJwkString","encodedKeyIdThumbprint","shrHeader","encodedShrHeader","encodedPayload","tokenString","tokenBuffer","signatureBuffer","encodedSignature","signedJwt","getItem","JoseHeader","alg","cnf","plainText","hashBuffer","hashBytes","M","err","guidHolder","hex","r","guidResponse","i","random","isGuid","guid","regexGuid","test","BrowserAuthErrorMessage","pkceNotGenerated","code","desc","cryptoDoesNotExist","httpMethodNotImplementedError","emptyNavigateUriError","hashEmptyError","hashDoesNotContainStateError","hashDoesNotContainKnownPropertiesError","unableToParseStateError","stateInteractionTypeMismatchError","interactionInProgress","popupWindowError","emptyWindowError","userCancelledError","monitorPopupTimeoutError","monitorIframeTimeoutError","redirectInIframeError","blockTokenRequestsInHiddenIframeError","blockAcquireTokenInPopupsError","iframeClosedPrematurelyError","silentLogoutUnsupportedError","noAccountError","silentPromptValueError","noTokenRequestCacheError","unableToParseTokenRequestCacheError","noCachedAuthorityError","authRequestNotSet","invalidCacheType","notInBrowserEnvironment","databaseNotOpen","noNetworkConnectivity","postRequestFailed","getRequestFailed","failedToParseNetworkResponse","unableToLoadTokenError","signingKeyNotFoundInStorage","authCodeRequired","authCodeOrNativeAccountRequired","databaseUnavailable","unableToAcquireTokenFromNativePlatform","nativeHandshakeTimeout","nativeExtensionNotInstalled","nativeConnectionNotEstablished","nativeBrokerCalledBeforeInitialize","nativePromptNotSupported","_super","errorCode","errorMessage","call","setPrototypeOf","createPkceNotGeneratedError","errDetail","createCryptoNotAvailableError","createHttpMethodNotImplementedError","method","createEmptyNavigationUriError","createEmptyHashError","hashValue","createHashDoesNotContainStateError","createHashDoesNotContainKnownPropertiesError","createUnableToParseStateError","createStateInteractionTypeMismatchError","createInteractionInProgressError","createPopupWindowError","createEmptyWindowCreatedError","createUserCancelledError","createMonitorPopupTimeoutError","createMonitorIframeTimeoutError","createRedirectInIframeError","windowParentCheck","createBlockReloadInHiddenIframeError","createBlockAcquireTokenInPopupsError","createIframeClosedPrematurelyError","createSilentLogoutUnsupportedError","createNoAccountError","createSilentPromptValueError","givenPrompt","createUnableToParseTokenRequestCacheError","createNoTokenRequestCacheError","createAuthRequestNotSetError","createNoCachedAuthorityError","createInvalidCacheTypeError","createNonBrowserEnvironmentError","createDatabaseNotOpenError","createNoNetworkConnectivityError","createPostRequestFailedError","errorDesc","endpoint","createGetRequestFailedError","createFailedToParseNetworkResponseError","createUnableToLoadTokenError","errorDetail","createSigningKeyNotFoundInStorageError","keyId","createAuthCodeRequiredError","createAuthCodeOrNativeAccountIdRequiredError","createDatabaseUnavailableError","createUnableToAcquireTokenFromNativePlatformError","createNativeHandshakeTimeoutError","createNativeExtensionNotInstalledError","createNativeConnectionNotEstablishedError","createNativeBrokerCalledBeforeInitialize","createNativePromptParameterNotSupportedError","BrowserConfigurationAuthErrorMessage","redirectUriNotSet","postLogoutUriNotSet","storageNotSupportedError","noRedirectCallbacksSet","invalidCallbackObject","stubPcaInstanceCalled","inMemRedirectUnavailable","BrowserConfigurationAuthError","createRedirectUriEmptyError","createPostLogoutRedirectUriEmptyError","createStorageNotSupportedError","givenStorageLocation","createRedirectCallbacksNotSetError","createStubPcaInstanceCalledError","createInMemoryRedirectUnavailableError","NativeStatusCode","NativeAuthErrorMessage","extensionError","userSwitch","NativeAuthError","description","ext","isFatal","status","PERSISTENT_ERROR","DISABLED","createError","ACCOUNT_UNAVAILABLE","USER_INTERACTION_REQUIRED","USER_CANCEL","NO_NETWORK","createUserSwitchError","EventHandler","eventCallbacks","Map","listeningToStorageEvents","handleAccountCacheChange","bind","addEventCallback","callback","callbackId","set","removeEventCallback","delete","enableAccountStorageEvents","disableAccountStorageEvents","removeEventListener","emitEvent","eventType","interactionType","message_1","timestamp","Date","now","info","forEach","apply","cacheValue","newValue","oldValue","parsedValue","accountEntity","accountInfo","getAccountInfo","undefined","EventType","BaseInteractionClient","config","storageImpl","eventHandler","nativeMessageHandler","browserStorage","clone","clearCacheOnLogout","account","getActiveAccount","setActiveAccount","removeAccount","initializeBaseRequest","scopes","validatedRequest","authenticationScheme","sshJwk","sshKid","claims","requestedClaimsHash","getRedirectUri","requestRedirectUri","initializeServerTelemetryManager","apiId","forceRefresh","telemetryPayload","wrapperSKU","getWrapperMetadata","wrapperVer","getDiscoveredAuthority","requestAuthority","authorityOptions","A","NativeInteractionClient","provider","accountId","acquireToken","nativeATMeasurement","nativeRequest","messageBody","reqTimestamp","response","validatedResponse","trace","initializeNativeRequest","sendMessage","validateNativeResponse","handleNativeResponse","then","isNativeBroker","catch","subErrorCode","subError","acquireTokenRedirect","navigationOptions","setTemporaryCache","href","handleRedirectPromise","cachedRequest","e_2","isInteractionInProgress","getCachedNativeRequest","generateCacheKey","setInteractionInProgress","logout","idTokenObj","authorityPreferredCache","homeAccountIdentifier","responseScopes","accountProperties","uid","tid","responseAccessToken","responseTokenType","popTokenGenerator","shrParameters","mats","id","id_token","getPreferredCache","client_info","setAccount","properties","oid","sub","tokenType","shr","shrClaims","shrNonce","signPopToken","access_token","getMATSFromResponse","canonicalAuthority","uniqueId","tenantId","asArray","idToken","idTokenClaims","accessToken","fromCache","isResponseFromCache","expiresOn","Number","expires_in","state","fromNativeBroker","removeAccountContext","hasOwnProperty","MATS","is_cached","scopeSet","getPrompt","reqCnfData","validateAsUri","appendScopes","prompt","urlString","printScopes","windowTitleSubstring","document","title","extraParameters","extraQueryParameters","tokenQueryParameters","extendedExpiryToken","generateCnf","reqCnf","reqCnfHash","PopupClient","unloadWindow","popupName","generatePopupName","popupWindowAttributes","acquireTokenPopupAsync","popup","openSizedPopup","logoutRequest","validLogoutRequest","initializeLogoutRequest","generateLogoutPopupName","mainWindowRedirectUri","logoutPopupAsync","serverTelemetryManager","validRequest","authCodeRequest","authClient","fetchNativeAccountIdMeasurement","navigateUrl","interactionHandler","popupParameters","popupWindow","serverParams","state_1","nativeInteractionClient","userRequestState","initializeAuthorizationRequest","updateCacheEntries","nonce","loginHint","initializeAuthorizationCodeRequest","createAuthCodeClient","getAuthCodeUrl","nativeBroker","I","initiateAuthRequest","monitorPopupForHash","validateAndExtractStateFromHash","finally","cleanRequestByState","handleCodeResponseFromHash","close","setCorrelationId","cacheFailedRequest","logoutUri","absoluteUrl","getLogoutUri","openPopup","waitForLogoutPopup","verbosePii","requestUrl","params","infoPii","maxTicks","ticks","intervalId","setInterval","closed","cleanPopup","clearInterval","errorPii","urlNavigate","popupParams","focus","currentWindow","toString","_c","_d","winLeft","screenLeft","screenX","winTop","screenTop","screenY","winWidth","innerWidth","documentElement","clientWidth","body","winHeight","innerHeight","clientHeight","width","popupSize","height","top","popupPosition","left","max","open","cleanRequestByInteractionType","preventDefault","homeAccountId","RedirectHandler","authCodeModule","navigate","StringUtils","redirectStartPage","cacheCodeRequest","redirectTimeout","onRedirectNavigate","locationHash","networkModule","stateKey","requestState","authCodeResponse","nonceKey","cachedNonce","cachedCcsCred","tokenResponse","generateStateKey","getTemporaryCache","ClientAuthError","authModule","handleFragmentResponse","ServerError","generateNonceKey","cloud_instance_host_name","updateTokenEndpointAuthority","clientInfo","checkCcsCredentials","ccsCredential","InteractionHandler","RedirectClient","arguments","handleBackButton","event","persisted","NativeMessageHandler","getRedirectStartPage","AuthError","responseHash","loginRequestUrl","loginRequestUrlNormalized","currentUrlNormalized","handleHashResult","processHashOnRedirect","homepage","getRedirectResponseHash","UrlString","handleHash","indexOf","warning","isResponseHash","cachedHash","currentAuthority","getCachedRequest","ProtocolUtils","getCachedAuthority","ThrottlingUtils","e_3","getInteractionInProgress","requestStartPage","StandardInteractionClient","HybridSpaAuthorizationCodeClient","includeRedirectUri","AuthorizationCodeClient","SilentAuthCodeClient","silentRequest","clientConfig","silentHandler","getClientConfiguration","SilentHandler","handleCodeResponseFromServer","msgraph_host","msGraphHost","cloud_graph_host_name","cloudGraphHostName","cloudInstanceHostName","SilentCacheClient","acquireTokenMeasurement","silentAuthClient","cachedToken","error_1","createSilentFlowClient","acquireCachedToken","authorityUrl","initializeSilentRequest","concat","SilentIframeClient","sid","username","silentTokenHelper","msalFrame","monitorIframeForHash","SilentRefreshClient","refreshTokenClient","createRefreshTokenClient","acquireTokenByRefreshToken","generatedPkceParams","codeChallengeMethod","logoutHint","getLogoutHintFromIdTokenClaims","login_hint","requestAzureCloudOptions","discoveredAuthority","authOptions","systemOptions","tokenRenewalOffsetSeconds","preventCorsPreflight","cryptoInterface","networkInterface","storageInterface","libraryInfo","sku","version","cpu","os","requestCorrelationId","platformStateObj","getAuthorityMeasurement","userAuthority","builtAuthority","browserState","legacyLoginHint","responseMode","getLegacyLoginHint","validateNonce","cloudInstanceHostname","cloudInstanceAuthorityUri","cloudInstanceAuthority","updateAuthority","loadFrame","loadFrameSync","iframe","nowMark","performance","timeoutMark","removeHiddenIframe","contentWindow","contentHash","frameHandle","createHiddenIframe","src","authFrame","createElement","style","visibility","position","border","setAttribute","getElementsByTagName","appendChild","parentNode","removeChild"],"sourceRoot":""}