{"version":3,"file":"smMobileMenu.umd.min.js","mappings":"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","sources":["webpack://smMobileMenu/webpack/universalModuleDefinition","webpack://smMobileMenu/./node_modules/core-js/internals/a-callable.js","webpack://smMobileMenu/./node_modules/core-js/internals/an-object.js","webpack://smMobileMenu/./node_modules/core-js/internals/array-includes.js","webpack://smMobileMenu/./node_modules/core-js/internals/array-set-length.js","webpack://smMobileMenu/./node_modules/core-js/internals/classof-raw.js","webpack://smMobileMenu/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://smMobileMenu/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://smMobileMenu/./node_modules/core-js/internals/create-property-descriptor.js","webpack://smMobileMenu/./node_modules/core-js/internals/define-built-in.js","webpack://smMobileMenu/./node_modules/core-js/internals/define-global-property.js","webpack://smMobileMenu/./node_modules/core-js/internals/descriptors.js","webpack://smMobileMenu/./node_modules/core-js/internals/document-all.js","webpack://smMobileMenu/./node_modules/core-js/internals/document-create-element.js","webpack://smMobileMenu/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://smMobileMenu/./node_modules/core-js/internals/engine-user-agent.js","webpack://smMobileMenu/./node_modules/core-js/internals/engine-v8-version.js","webpack://smMobileMenu/./node_modules/core-js/internals/enum-bug-keys.js","webpack://smMobileMenu/./node_modules/core-js/internals/export.js","webpack://smMobileMenu/./node_modules/core-js/internals/fails.js","webpack://smMobileMenu/./node_modules/core-js/internals/function-bind-native.js","webpack://smMobileMenu/./node_modules/core-js/internals/function-call.js","webpack://smMobileMenu/./node_modules/core-js/internals/function-name.js","webpack://smMobileMenu/./node_modules/core-js/internals/function-uncurry-this.js","webpack://smMobileMenu/./node_modules/core-js/internals/get-built-in.js","webpack://smMobileMenu/./node_modules/core-js/internals/get-method.js","webpack://smMobileMenu/./node_modules/core-js/internals/global.js","webpack://smMobileMenu/./node_modules/core-js/internals/has-own-property.js","webpack://smMobileMenu/./node_modules/core-js/internals/hidden-keys.js","webpack://smMobileMenu/./node_modules/core-js/internals/ie8-dom-define.js","webpack://smMobileMenu/./node_modules/core-js/internals/indexed-object.js","webpack://smMobileMenu/./node_modules/core-js/internals/inspect-source.js","webpack://smMobileMenu/./node_modules/core-js/internals/internal-state.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-array.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-callable.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-forced.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-object.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-pure.js","webpack://smMobileMenu/./node_modules/core-js/internals/is-symbol.js","webpack://smMobileMenu/./node_modules/core-js/internals/length-of-array-like.js","webpack://smMobileMenu/./node_modules/core-js/internals/make-built-in.js","webpack://smMobileMenu/./node_modules/core-js/internals/math-trunc.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-define-property.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-keys-internal.js","webpack://smMobileMenu/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://smMobileMenu/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://smMobileMenu/./node_modules/core-js/internals/own-keys.js","webpack://smMobileMenu/./node_modules/core-js/internals/require-object-coercible.js","webpack://smMobileMenu/./node_modules/core-js/internals/shared-key.js","webpack://smMobileMenu/./node_modules/core-js/internals/shared-store.js","webpack://smMobileMenu/./node_modules/core-js/internals/shared.js","webpack://smMobileMenu/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-absolute-index.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-indexed-object.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-length.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-object.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-primitive.js","webpack://smMobileMenu/./node_modules/core-js/internals/to-property-key.js","webpack://smMobileMenu/./node_modules/core-js/internals/try-to-string.js","webpack://smMobileMenu/./node_modules/core-js/internals/uid.js","webpack://smMobileMenu/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://smMobileMenu/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://smMobileMenu/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://smMobileMenu/./node_modules/core-js/internals/well-known-symbol.js","webpack://smMobileMenu/./node_modules/core-js/modules/es.array.push.js","webpack://smMobileMenu/external umd {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://smMobileMenu/webpack/bootstrap","webpack://smMobileMenu/webpack/runtime/compat get default export","webpack://smMobileMenu/webpack/runtime/define property getters","webpack://smMobileMenu/webpack/runtime/global","webpack://smMobileMenu/webpack/runtime/hasOwnProperty shorthand","webpack://smMobileMenu/webpack/runtime/make namespace object","webpack://smMobileMenu/webpack/runtime/publicPath","webpack://smMobileMenu/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://smMobileMenu/./src/App.vue","webpack://smMobileMenu/./src/components/MobileMenu.vue","webpack://smMobileMenu/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://smMobileMenu/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://smMobileMenu/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://smMobileMenu/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/base64.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/interfaces.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/utils.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/serializer.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/pipeline.js","webpack://smMobileMenu/./node_modules/@azure/logger/dist/browser/log.js","webpack://smMobileMenu/./node_modules/@azure/logger/dist/browser/debug.js","webpack://smMobileMenu/./node_modules/@azure/logger/dist/browser/index.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/log.js","webpack://smMobileMenu/./node_modules/@azure/abort-controller/dist/browser/AbortError.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/random.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/object.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/error.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/bytesEncoding.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/uuidUtils.common.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/uuidUtils.js","webpack://smMobileMenu/./node_modules/@azure/core-util/dist/browser/checkEnvironment.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/sanitizer.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/logPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/redirectPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgentPlatform.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/constants.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/userAgent.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/userAgentPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/file.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/typeGuards.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/concat.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/multipartPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/decompressResponsePolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/helpers.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/retryStrategies/throttlingRetryStrategy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/retryStrategies/exponentialRetryStrategy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/retryPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/defaultRetryPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/httpHeaders.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/formDataPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/proxyPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/setClientRequestIdPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/tlsPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-tracing/dist/browser/tracingContext.js","webpack://smMobileMenu/./node_modules/@azure/core-tracing/dist/browser/state.js","webpack://smMobileMenu/./node_modules/@azure/core-tracing/dist/browser/instrumenter.js","webpack://smMobileMenu/./node_modules/@azure/core-tracing/dist/browser/tracingClient.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/inspect.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/restError.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/tracingPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/createPipelineFromOptions.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/fetchHttpClient.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/defaultHttpClient.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/pipelineRequest.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/util/tokenCycler.js","webpack://smMobileMenu/./node_modules/@azure/core-rest-pipeline/dist/browser/policies/bearerTokenAuthenticationPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/state.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/operationHelpers.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/deserializationPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/interfaceHelpers.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/serializationPolicy.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/pipeline.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/httpClientCache.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/urlHelpers.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/log.js","webpack://smMobileMenu/./node_modules/@azure/core-client/dist/browser/serviceClient.js","webpack://smMobileMenu/./src/client/src/models/parameters.ts","webpack://smMobileMenu/./src/client/src/models/mappers.ts","webpack://smMobileMenu/./src/client/src/navigationAPI.ts","webpack://smMobileMenu/./src/components/MobileMenu.vue?545c","webpack://smMobileMenu/./src/components/MobileMenu.vue?4940","webpack://smMobileMenu/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://smMobileMenu/./src/components/MobileMenu.vue?098b","webpack://smMobileMenu/./src/App.vue?38a5","webpack://smMobileMenu/./src/App.vue?892f","webpack://smMobileMenu/./src/App.vue?0e40","webpack://smMobileMenu/./src/main.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"smMobileMenu\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"smMobileMenu\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__7203__) {\nreturn ","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.30.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.30.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","module.exports = __WEBPACK_EXTERNAL_MODULE__7203__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('MobileMenu',{attrs:{\"currentpage\":this.currentpageid,\"root\":this.root,\"apidomain\":this.apidomain,\"ocpApimSubscriptionKey\":this.ocpApimSubscriptionKey}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('nav',{staticClass:\"mobileNavLinks\"},[_c('transition-group',{ref:\"levels\",attrs:{\"name\":_vm.transitionName,\"tag\":\"div\"}},[(_vm.currentLevel)?_c('div',{key:_vm.getPathName(_vm.currentLevel.path),ref:`level-${_vm.getPathName(_vm.currentLevel.path)}`,staticClass:\"mainMenu\",class:{ subMenu: _vm.currentLevelDepth > 0 },attrs:{\"role\":\"group\",\"aria-labelledby\":`mobile-nav-level-label-${_vm.getPathName(\n _vm.currentLevel.path\n )}`,\"tabindex\":\"-1\"},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"up\",38,$event.key,[\"Up\",\"ArrowUp\"]))return null;return _vm.handleArrowNavigation(-1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"down\",40,$event.key,[\"Down\",\"ArrowDown\"]))return null;return _vm.handleArrowNavigation(1)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"left\",37,$event.key,[\"Left\",\"ArrowLeft\"]))return null;if('button' in $event && $event.button !== 0)return null;_vm.navigate(_vm.currentLevel.path.slice(0, _vm.currentLevelDepth - 1))},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;_vm.navigate(_vm.currentLevel.path.slice(0, _vm.currentLevelDepth - 1))}]}},[(_vm.currentLevelDepth > 0)?_c('h3',{ref:\"back\",staticClass:\"subMenuTitle\",attrs:{\"id\":`mobile-nav-level-label-${_vm.getPathName(_vm.currentLevel.path)}`,\"tabindex\":\"0\"},on:{\"click\":function($event){_vm.navigate(_vm.currentLevel.path.slice(0, _vm.currentLevelDepth - 1))},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;_vm.navigate(_vm.currentLevel.path.slice(0, _vm.currentLevelDepth - 1))}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"preserveAspectRatio\":\"xMinYMid\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"aria-hidden\":\"true\",\"role\":\"presentation\"}},[_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"12\",\"fill\":\"#F2642F\"}}),_c('path',{attrs:{\"fill\":\"#FFF\",\"d\":\"M13 6.343l4.242 4.243L18.658 12 13 17.657l-1.414-1.414 3.242-3.244L7 13v-2h7.826l-3.24-3.243L13 6.343z\"}})])]),_vm._v(\" \"+_vm._s(_vm.currentLevel.label ? _vm.currentLevel.label : \"\")+\" \")]):_vm._e(),_c('ul',_vm._l((_vm.currentLevel.items),function(item){return _c('li',{key:item.path.join()},[(parseInt(item.path) + 1 == _vm.currentLevel.items.length)?_c('div',{on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\"))return null;return _vm.loopListItem()}}},[_c('a',{attrs:{\"href\":item.url}},[_vm._v(_vm._s(item.label))]),(item.hasItems)?_c('button',{ref:\"link\",refInFor:true,staticClass:\"arrowIcon\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.navigate(item.path)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;return _vm.navigate(item.path)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"preserveAspectRatio\":\"xMinYMid\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"aria-hidden\":\"true\",\"role\":\"presentation\"}},[_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"12\",\"fill\":\"#F2642F\"}}),_c('path',{attrs:{\"fill\":\"#FFF\",\"d\":\"M13 6.343l4.242 4.243L18.658 12 13 17.657l-1.414-1.414 3.242-3.244L7 13v-2h7.826l-3.24-3.243L13 6.343z\"}})])])]):_vm._e()]):_c('div',[_c('a',{class:{ active: item.isActive },attrs:{\"href\":item.url}},[_vm._v(_vm._s(item.label))]),(item.hasItems)?_c('button',{ref:\"link\",refInFor:true,staticClass:\"arrowIcon\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.navigate(item.path)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"right\",39,$event.key,[\"Right\",\"ArrowRight\"]))return null;if('button' in $event && $event.button !== 2)return null;return _vm.navigate(item.path)}}},[_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"preserveAspectRatio\":\"xMinYMid\",\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"aria-hidden\":\"true\",\"role\":\"presentation\"}},[_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('circle',{attrs:{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"12\",\"fill\":\"#F2642F\"}}),_c('path',{attrs:{\"fill\":\"#FFF\",\"d\":\"M13 6.343l4.242 4.243L18.658 12 13 17.657l-1.414-1.414 3.242-3.244L7 13v-2h7.826l-3.24-3.243L13 6.343z\"}})])])]):_vm._e()])])}),0),_c('div',{staticClass:\"mobileUtilityLinks\"},_vm._l((_vm.utilityLinks),function(utilityLink){return _c('p',{key:utilityLink.url,staticClass:\"utility-link\"},[_c('a',{attrs:{\"href\":utilityLink.url,\"target\":utilityLink.target}},[_vm._v(_vm._s(utilityLink.label))])])}),0)]):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Encodes a string in base64 format.\n * @param value - the string to encode\n * @internal\n */\nexport function encodeString(value) {\n return btoa(value);\n}\n/**\n * Encodes a byte array in base64 format.\n * @param value - the Uint8Aray to encode\n * @internal\n */\nexport function encodeByteArray(value) {\n let str = \"\";\n for (let i = 0; i < value.length; i++) {\n str += String.fromCharCode(value[i]);\n }\n return btoa(str);\n}\n/**\n * Decodes a base64 string into a byte array.\n * @param value - the base64 string to decode\n * @internal\n */\nexport function decodeString(value) {\n const byteString = atob(value);\n const arr = new Uint8Array(byteString.length);\n for (let i = 0; i < byteString.length; i++) {\n arr[i] = byteString.charCodeAt(i);\n }\n return arr;\n}\n/**\n * Decodes a base64 string into a string.\n * @param value - the base64 string to decode\n * @internal\n */\nexport function decodeStringToString(value) {\n return atob(value);\n}\n//# sourceMappingURL=base64-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Default key used to access the XML attributes.\n */\nexport const XML_ATTRKEY = \"$\";\n/**\n * Default key used to access the XML value content.\n */\nexport const XML_CHARKEY = \"_\";\n//# sourceMappingURL=interfaces.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * A type guard for a primitive response body.\n * @param value - Value to test\n *\n * @internal\n */\nexport function isPrimitiveBody(value, mapperTypeName) {\n return (mapperTypeName !== \"Composite\" &&\n mapperTypeName !== \"Dictionary\" &&\n (typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n (mapperTypeName === null || mapperTypeName === void 0 ? void 0 : mapperTypeName.match(/^(Date|DateTime|DateTimeRfc1123|UnixTime|ByteArray|Base64Url)$/i)) !==\n null ||\n value === undefined ||\n value === null));\n}\nconst validateISODuration = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n/**\n * Returns true if the given string is in ISO 8601 format.\n * @param value - The value to be validated for ISO 8601 duration format.\n * @internal\n */\nexport function isDuration(value) {\n return validateISODuration.test(value);\n}\nconst validUuidRegex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/i;\n/**\n * Returns true if the provided uuid is valid.\n *\n * @param uuid - The uuid that needs to be validated.\n *\n * @internal\n */\nexport function isValidUuid(uuid) {\n return validUuidRegex.test(uuid);\n}\n/**\n * Maps the response as follows:\n * - wraps the response body if needed (typically if its type is primitive).\n * - returns null if the combination of the headers and the body is empty.\n * - otherwise, returns the combination of the headers and the body.\n *\n * @param responseObject - a representation of the parsed response\n * @returns the response that will be returned to the user which can be null and/or wrapped\n *\n * @internal\n */\nfunction handleNullableResponseAndWrappableBody(responseObject) {\n const combinedHeadersAndBody = Object.assign(Object.assign({}, responseObject.headers), responseObject.body);\n if (responseObject.hasNullableType &&\n Object.getOwnPropertyNames(combinedHeadersAndBody).length === 0) {\n return responseObject.shouldWrapBody ? { body: null } : null;\n }\n else {\n return responseObject.shouldWrapBody\n ? Object.assign(Object.assign({}, responseObject.headers), { body: responseObject.body }) : combinedHeadersAndBody;\n }\n}\n/**\n * Take a `FullOperationResponse` and turn it into a flat\n * response object to hand back to the consumer.\n * @param fullResponse - The processed response from the operation request\n * @param responseSpec - The response map from the OperationSpec\n *\n * @internal\n */\nexport function flattenResponse(fullResponse, responseSpec) {\n var _a, _b;\n const parsedHeaders = fullResponse.parsedHeaders;\n // head methods never have a body, but we return a boolean set to body property\n // to indicate presence/absence of the resource\n if (fullResponse.request.method === \"HEAD\") {\n return Object.assign(Object.assign({}, parsedHeaders), { body: fullResponse.parsedBody });\n }\n const bodyMapper = responseSpec && responseSpec.bodyMapper;\n const isNullable = Boolean(bodyMapper === null || bodyMapper === void 0 ? void 0 : bodyMapper.nullable);\n const expectedBodyTypeName = bodyMapper === null || bodyMapper === void 0 ? void 0 : bodyMapper.type.name;\n /** If the body is asked for, we look at the expected body type to handle it */\n if (expectedBodyTypeName === \"Stream\") {\n return Object.assign(Object.assign({}, parsedHeaders), { blobBody: fullResponse.blobBody, readableStreamBody: fullResponse.readableStreamBody });\n }\n const modelProperties = (expectedBodyTypeName === \"Composite\" &&\n bodyMapper.type.modelProperties) ||\n {};\n const isPageableResponse = Object.keys(modelProperties).some((k) => modelProperties[k].serializedName === \"\");\n if (expectedBodyTypeName === \"Sequence\" || isPageableResponse) {\n const arrayResponse = (_a = fullResponse.parsedBody) !== null && _a !== void 0 ? _a : [];\n for (const key of Object.keys(modelProperties)) {\n if (modelProperties[key].serializedName) {\n arrayResponse[key] = (_b = fullResponse.parsedBody) === null || _b === void 0 ? void 0 : _b[key];\n }\n }\n if (parsedHeaders) {\n for (const key of Object.keys(parsedHeaders)) {\n arrayResponse[key] = parsedHeaders[key];\n }\n }\n return isNullable &&\n !fullResponse.parsedBody &&\n !parsedHeaders &&\n Object.getOwnPropertyNames(modelProperties).length === 0\n ? null\n : arrayResponse;\n }\n return handleNullableResponseAndWrappableBody({\n body: fullResponse.parsedBody,\n headers: parsedHeaders,\n hasNullableType: isNullable,\n shouldWrapBody: isPrimitiveBody(fullResponse.parsedBody, expectedBodyTypeName),\n });\n}\n//# sourceMappingURL=utils.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport * as base64 from \"./base64.js\";\nimport { XML_ATTRKEY, XML_CHARKEY, } from \"./interfaces.js\";\nimport { isDuration, isValidUuid } from \"./utils.js\";\nclass SerializerImpl {\n constructor(modelMappers = {}, isXML = false) {\n this.modelMappers = modelMappers;\n this.isXML = isXML;\n }\n /**\n * @deprecated Removing the constraints validation on client side.\n */\n validateConstraints(mapper, value, objectName) {\n const failValidation = (constraintName, constraintValue) => {\n throw new Error(`\"${objectName}\" with value \"${value}\" should satisfy the constraint \"${constraintName}\": ${constraintValue}.`);\n };\n if (mapper.constraints && value !== undefined && value !== null) {\n const { ExclusiveMaximum, ExclusiveMinimum, InclusiveMaximum, InclusiveMinimum, MaxItems, MaxLength, MinItems, MinLength, MultipleOf, Pattern, UniqueItems, } = mapper.constraints;\n if (ExclusiveMaximum !== undefined && value >= ExclusiveMaximum) {\n failValidation(\"ExclusiveMaximum\", ExclusiveMaximum);\n }\n if (ExclusiveMinimum !== undefined && value <= ExclusiveMinimum) {\n failValidation(\"ExclusiveMinimum\", ExclusiveMinimum);\n }\n if (InclusiveMaximum !== undefined && value > InclusiveMaximum) {\n failValidation(\"InclusiveMaximum\", InclusiveMaximum);\n }\n if (InclusiveMinimum !== undefined && value < InclusiveMinimum) {\n failValidation(\"InclusiveMinimum\", InclusiveMinimum);\n }\n if (MaxItems !== undefined && value.length > MaxItems) {\n failValidation(\"MaxItems\", MaxItems);\n }\n if (MaxLength !== undefined && value.length > MaxLength) {\n failValidation(\"MaxLength\", MaxLength);\n }\n if (MinItems !== undefined && value.length < MinItems) {\n failValidation(\"MinItems\", MinItems);\n }\n if (MinLength !== undefined && value.length < MinLength) {\n failValidation(\"MinLength\", MinLength);\n }\n if (MultipleOf !== undefined && value % MultipleOf !== 0) {\n failValidation(\"MultipleOf\", MultipleOf);\n }\n if (Pattern) {\n const pattern = typeof Pattern === \"string\" ? new RegExp(Pattern) : Pattern;\n if (typeof value !== \"string\" || value.match(pattern) === null) {\n failValidation(\"Pattern\", Pattern);\n }\n }\n if (UniqueItems &&\n value.some((item, i, ar) => ar.indexOf(item) !== i)) {\n failValidation(\"UniqueItems\", UniqueItems);\n }\n }\n }\n /**\n * Serialize the given object based on its metadata defined in the mapper\n *\n * @param mapper - The mapper which defines the metadata of the serializable object\n *\n * @param object - A valid Javascript object to be serialized\n *\n * @param objectName - Name of the serialized object\n *\n * @param options - additional options to serialization\n *\n * @returns A valid serialized Javascript object\n */\n serialize(mapper, object, objectName, options = { xml: {} }) {\n var _a, _b, _c;\n const updatedOptions = {\n xml: {\n rootName: (_a = options.xml.rootName) !== null && _a !== void 0 ? _a : \"\",\n includeRoot: (_b = options.xml.includeRoot) !== null && _b !== void 0 ? _b : false,\n xmlCharKey: (_c = options.xml.xmlCharKey) !== null && _c !== void 0 ? _c : XML_CHARKEY,\n },\n };\n let payload = {};\n const mapperType = mapper.type.name;\n if (!objectName) {\n objectName = mapper.serializedName;\n }\n if (mapperType.match(/^Sequence$/i) !== null) {\n payload = [];\n }\n if (mapper.isConstant) {\n object = mapper.defaultValue;\n }\n // This table of allowed values should help explain\n // the mapper.required and mapper.nullable properties.\n // X means \"neither undefined or null are allowed\".\n // || required\n // || true | false\n // nullable || ==========================\n // true || null | undefined/null\n // false || X | undefined\n // undefined || X | undefined/null\n const { required, nullable } = mapper;\n if (required && nullable && object === undefined) {\n throw new Error(`${objectName} cannot be undefined.`);\n }\n if (required && !nullable && (object === undefined || object === null)) {\n throw new Error(`${objectName} cannot be null or undefined.`);\n }\n if (!required && nullable === false && object === null) {\n throw new Error(`${objectName} cannot be null.`);\n }\n if (object === undefined || object === null) {\n payload = object;\n }\n else {\n if (mapperType.match(/^any$/i) !== null) {\n payload = object;\n }\n else if (mapperType.match(/^(Number|String|Boolean|Object|Stream|Uuid)$/i) !== null) {\n payload = serializeBasicTypes(mapperType, objectName, object);\n }\n else if (mapperType.match(/^Enum$/i) !== null) {\n const enumMapper = mapper;\n payload = serializeEnumType(objectName, enumMapper.type.allowedValues, object);\n }\n else if (mapperType.match(/^(Date|DateTime|TimeSpan|DateTimeRfc1123|UnixTime)$/i) !== null) {\n payload = serializeDateTypes(mapperType, object, objectName);\n }\n else if (mapperType.match(/^ByteArray$/i) !== null) {\n payload = serializeByteArrayType(objectName, object);\n }\n else if (mapperType.match(/^Base64Url$/i) !== null) {\n payload = serializeBase64UrlType(objectName, object);\n }\n else if (mapperType.match(/^Sequence$/i) !== null) {\n payload = serializeSequenceType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);\n }\n else if (mapperType.match(/^Dictionary$/i) !== null) {\n payload = serializeDictionaryType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);\n }\n else if (mapperType.match(/^Composite$/i) !== null) {\n payload = serializeCompositeType(this, mapper, object, objectName, Boolean(this.isXML), updatedOptions);\n }\n }\n return payload;\n }\n /**\n * Deserialize the given object based on its metadata defined in the mapper\n *\n * @param mapper - The mapper which defines the metadata of the serializable object\n *\n * @param responseBody - A valid Javascript entity to be deserialized\n *\n * @param objectName - Name of the deserialized object\n *\n * @param options - Controls behavior of XML parser and builder.\n *\n * @returns A valid deserialized Javascript object\n */\n deserialize(mapper, responseBody, objectName, options = { xml: {} }) {\n var _a, _b, _c, _d;\n const updatedOptions = {\n xml: {\n rootName: (_a = options.xml.rootName) !== null && _a !== void 0 ? _a : \"\",\n includeRoot: (_b = options.xml.includeRoot) !== null && _b !== void 0 ? _b : false,\n xmlCharKey: (_c = options.xml.xmlCharKey) !== null && _c !== void 0 ? _c : XML_CHARKEY,\n },\n ignoreUnknownProperties: (_d = options.ignoreUnknownProperties) !== null && _d !== void 0 ? _d : false,\n };\n if (responseBody === undefined || responseBody === null) {\n if (this.isXML && mapper.type.name === \"Sequence\" && !mapper.xmlIsWrapped) {\n // Edge case for empty XML non-wrapped lists. xml2js can't distinguish\n // between the list being empty versus being missing,\n // so let's do the more user-friendly thing and return an empty list.\n responseBody = [];\n }\n // specifically check for undefined as default value can be a falsey value `0, \"\", false, null`\n if (mapper.defaultValue !== undefined) {\n responseBody = mapper.defaultValue;\n }\n return responseBody;\n }\n let payload;\n const mapperType = mapper.type.name;\n if (!objectName) {\n objectName = mapper.serializedName;\n }\n if (mapperType.match(/^Composite$/i) !== null) {\n payload = deserializeCompositeType(this, mapper, responseBody, objectName, updatedOptions);\n }\n else {\n if (this.isXML) {\n const xmlCharKey = updatedOptions.xml.xmlCharKey;\n /**\n * If the mapper specifies this as a non-composite type value but the responseBody contains\n * both header (\"$\" i.e., XML_ATTRKEY) and body (\"#\" i.e., XML_CHARKEY) properties,\n * then just reduce the responseBody value to the body (\"#\" i.e., XML_CHARKEY) property.\n */\n if (responseBody[XML_ATTRKEY] !== undefined && responseBody[xmlCharKey] !== undefined) {\n responseBody = responseBody[xmlCharKey];\n }\n }\n if (mapperType.match(/^Number$/i) !== null) {\n payload = parseFloat(responseBody);\n if (isNaN(payload)) {\n payload = responseBody;\n }\n }\n else if (mapperType.match(/^Boolean$/i) !== null) {\n if (responseBody === \"true\") {\n payload = true;\n }\n else if (responseBody === \"false\") {\n payload = false;\n }\n else {\n payload = responseBody;\n }\n }\n else if (mapperType.match(/^(String|Enum|Object|Stream|Uuid|TimeSpan|any)$/i) !== null) {\n payload = responseBody;\n }\n else if (mapperType.match(/^(Date|DateTime|DateTimeRfc1123)$/i) !== null) {\n payload = new Date(responseBody);\n }\n else if (mapperType.match(/^UnixTime$/i) !== null) {\n payload = unixTimeToDate(responseBody);\n }\n else if (mapperType.match(/^ByteArray$/i) !== null) {\n payload = base64.decodeString(responseBody);\n }\n else if (mapperType.match(/^Base64Url$/i) !== null) {\n payload = base64UrlToByteArray(responseBody);\n }\n else if (mapperType.match(/^Sequence$/i) !== null) {\n payload = deserializeSequenceType(this, mapper, responseBody, objectName, updatedOptions);\n }\n else if (mapperType.match(/^Dictionary$/i) !== null) {\n payload = deserializeDictionaryType(this, mapper, responseBody, objectName, updatedOptions);\n }\n }\n if (mapper.isConstant) {\n payload = mapper.defaultValue;\n }\n return payload;\n }\n}\n/**\n * Method that creates and returns a Serializer.\n * @param modelMappers - Known models to map\n * @param isXML - If XML should be supported\n */\nexport function createSerializer(modelMappers = {}, isXML = false) {\n return new SerializerImpl(modelMappers, isXML);\n}\nfunction trimEnd(str, ch) {\n let len = str.length;\n while (len - 1 >= 0 && str[len - 1] === ch) {\n --len;\n }\n return str.substr(0, len);\n}\nfunction bufferToBase64Url(buffer) {\n if (!buffer) {\n return undefined;\n }\n if (!(buffer instanceof Uint8Array)) {\n throw new Error(`Please provide an input of type Uint8Array for converting to Base64Url.`);\n }\n // Uint8Array to Base64.\n const str = base64.encodeByteArray(buffer);\n // Base64 to Base64Url.\n return trimEnd(str, \"=\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n}\nfunction base64UrlToByteArray(str) {\n if (!str) {\n return undefined;\n }\n if (str && typeof str.valueOf() !== \"string\") {\n throw new Error(\"Please provide an input of type string for converting to Uint8Array\");\n }\n // Base64Url to Base64.\n str = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n // Base64 to Uint8Array.\n return base64.decodeString(str);\n}\nfunction splitSerializeName(prop) {\n const classes = [];\n let partialclass = \"\";\n if (prop) {\n const subwords = prop.split(\".\");\n for (const item of subwords) {\n if (item.charAt(item.length - 1) === \"\\\\\") {\n partialclass += item.substr(0, item.length - 1) + \".\";\n }\n else {\n partialclass += item;\n classes.push(partialclass);\n partialclass = \"\";\n }\n }\n }\n return classes;\n}\nfunction dateToUnixTime(d) {\n if (!d) {\n return undefined;\n }\n if (typeof d.valueOf() === \"string\") {\n d = new Date(d);\n }\n return Math.floor(d.getTime() / 1000);\n}\nfunction unixTimeToDate(n) {\n if (!n) {\n return undefined;\n }\n return new Date(n * 1000);\n}\nfunction serializeBasicTypes(typeName, objectName, value) {\n if (value !== null && value !== undefined) {\n if (typeName.match(/^Number$/i) !== null) {\n if (typeof value !== \"number\") {\n throw new Error(`${objectName} with value ${value} must be of type number.`);\n }\n }\n else if (typeName.match(/^String$/i) !== null) {\n if (typeof value.valueOf() !== \"string\") {\n throw new Error(`${objectName} with value \"${value}\" must be of type string.`);\n }\n }\n else if (typeName.match(/^Uuid$/i) !== null) {\n if (!(typeof value.valueOf() === \"string\" && isValidUuid(value))) {\n throw new Error(`${objectName} with value \"${value}\" must be of type string and a valid uuid.`);\n }\n }\n else if (typeName.match(/^Boolean$/i) !== null) {\n if (typeof value !== \"boolean\") {\n throw new Error(`${objectName} with value ${value} must be of type boolean.`);\n }\n }\n else if (typeName.match(/^Stream$/i) !== null) {\n const objectType = typeof value;\n if (objectType !== \"string\" &&\n typeof value.pipe !== \"function\" && // NodeJS.ReadableStream\n typeof value.tee !== \"function\" && // browser ReadableStream\n !(value instanceof ArrayBuffer) &&\n !ArrayBuffer.isView(value) &&\n // File objects count as a type of Blob, so we want to use instanceof explicitly\n !((typeof Blob === \"function\" || typeof Blob === \"object\") && value instanceof Blob) &&\n objectType !== \"function\") {\n throw new Error(`${objectName} must be a string, Blob, ArrayBuffer, ArrayBufferView, ReadableStream, or () => ReadableStream.`);\n }\n }\n }\n return value;\n}\nfunction serializeEnumType(objectName, allowedValues, value) {\n if (!allowedValues) {\n throw new Error(`Please provide a set of allowedValues to validate ${objectName} as an Enum Type.`);\n }\n const isPresent = allowedValues.some((item) => {\n if (typeof item.valueOf() === \"string\") {\n return item.toLowerCase() === value.toLowerCase();\n }\n return item === value;\n });\n if (!isPresent) {\n throw new Error(`${value} is not a valid value for ${objectName}. The valid values are: ${JSON.stringify(allowedValues)}.`);\n }\n return value;\n}\nfunction serializeByteArrayType(objectName, value) {\n if (value !== undefined && value !== null) {\n if (!(value instanceof Uint8Array)) {\n throw new Error(`${objectName} must be of type Uint8Array.`);\n }\n value = base64.encodeByteArray(value);\n }\n return value;\n}\nfunction serializeBase64UrlType(objectName, value) {\n if (value !== undefined && value !== null) {\n if (!(value instanceof Uint8Array)) {\n throw new Error(`${objectName} must be of type Uint8Array.`);\n }\n value = bufferToBase64Url(value);\n }\n return value;\n}\nfunction serializeDateTypes(typeName, value, objectName) {\n if (value !== undefined && value !== null) {\n if (typeName.match(/^Date$/i) !== null) {\n if (!(value instanceof Date ||\n (typeof value.valueOf() === \"string\" && !isNaN(Date.parse(value))))) {\n throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);\n }\n value =\n value instanceof Date\n ? value.toISOString().substring(0, 10)\n : new Date(value).toISOString().substring(0, 10);\n }\n else if (typeName.match(/^DateTime$/i) !== null) {\n if (!(value instanceof Date ||\n (typeof value.valueOf() === \"string\" && !isNaN(Date.parse(value))))) {\n throw new Error(`${objectName} must be an instanceof Date or a string in ISO8601 format.`);\n }\n value = value instanceof Date ? value.toISOString() : new Date(value).toISOString();\n }\n else if (typeName.match(/^DateTimeRfc1123$/i) !== null) {\n if (!(value instanceof Date ||\n (typeof value.valueOf() === \"string\" && !isNaN(Date.parse(value))))) {\n throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123 format.`);\n }\n value = value instanceof Date ? value.toUTCString() : new Date(value).toUTCString();\n }\n else if (typeName.match(/^UnixTime$/i) !== null) {\n if (!(value instanceof Date ||\n (typeof value.valueOf() === \"string\" && !isNaN(Date.parse(value))))) {\n throw new Error(`${objectName} must be an instanceof Date or a string in RFC-1123/ISO8601 format ` +\n `for it to be serialized in UnixTime/Epoch format.`);\n }\n value = dateToUnixTime(value);\n }\n else if (typeName.match(/^TimeSpan$/i) !== null) {\n if (!isDuration(value)) {\n throw new Error(`${objectName} must be a string in ISO 8601 format. Instead was \"${value}\".`);\n }\n }\n }\n return value;\n}\nfunction serializeSequenceType(serializer, mapper, object, objectName, isXml, options) {\n var _a;\n if (!Array.isArray(object)) {\n throw new Error(`${objectName} must be of type Array.`);\n }\n let elementType = mapper.type.element;\n if (!elementType || typeof elementType !== \"object\") {\n throw new Error(`element\" metadata for an Array must be defined in the ` +\n `mapper and it must of type \"object\" in ${objectName}.`);\n }\n // Quirk: Composite mappers referenced by `element` might\n // not have *all* properties declared (like uberParent),\n // so let's try to look up the full definition by name.\n if (elementType.type.name === \"Composite\" && elementType.type.className) {\n elementType = (_a = serializer.modelMappers[elementType.type.className]) !== null && _a !== void 0 ? _a : elementType;\n }\n const tempArray = [];\n for (let i = 0; i < object.length; i++) {\n const serializedValue = serializer.serialize(elementType, object[i], objectName, options);\n if (isXml && elementType.xmlNamespace) {\n const xmlnsKey = elementType.xmlNamespacePrefix\n ? `xmlns:${elementType.xmlNamespacePrefix}`\n : \"xmlns\";\n if (elementType.type.name === \"Composite\") {\n tempArray[i] = Object.assign({}, serializedValue);\n tempArray[i][XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };\n }\n else {\n tempArray[i] = {};\n tempArray[i][options.xml.xmlCharKey] = serializedValue;\n tempArray[i][XML_ATTRKEY] = { [xmlnsKey]: elementType.xmlNamespace };\n }\n }\n else {\n tempArray[i] = serializedValue;\n }\n }\n return tempArray;\n}\nfunction serializeDictionaryType(serializer, mapper, object, objectName, isXml, options) {\n if (typeof object !== \"object\") {\n throw new Error(`${objectName} must be of type object.`);\n }\n const valueType = mapper.type.value;\n if (!valueType || typeof valueType !== \"object\") {\n throw new Error(`\"value\" metadata for a Dictionary must be defined in the ` +\n `mapper and it must of type \"object\" in ${objectName}.`);\n }\n const tempDictionary = {};\n for (const key of Object.keys(object)) {\n const serializedValue = serializer.serialize(valueType, object[key], objectName, options);\n // If the element needs an XML namespace we need to add it within the $ property\n tempDictionary[key] = getXmlObjectValue(valueType, serializedValue, isXml, options);\n }\n // Add the namespace to the root element if needed\n if (isXml && mapper.xmlNamespace) {\n const xmlnsKey = mapper.xmlNamespacePrefix ? `xmlns:${mapper.xmlNamespacePrefix}` : \"xmlns\";\n const result = tempDictionary;\n result[XML_ATTRKEY] = { [xmlnsKey]: mapper.xmlNamespace };\n return result;\n }\n return tempDictionary;\n}\n/**\n * Resolves the additionalProperties property from a referenced mapper\n * @param serializer - the serializer containing the entire set of mappers\n * @param mapper - the composite mapper to resolve\n * @param objectName - name of the object being serialized\n */\nfunction resolveAdditionalProperties(serializer, mapper, objectName) {\n const additionalProperties = mapper.type.additionalProperties;\n if (!additionalProperties && mapper.type.className) {\n const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);\n return modelMapper === null || modelMapper === void 0 ? void 0 : modelMapper.type.additionalProperties;\n }\n return additionalProperties;\n}\n/**\n * Finds the mapper referenced by className\n * @param serializer - the serializer containing the entire set of mappers\n * @param mapper - the composite mapper to resolve\n * @param objectName - name of the object being serialized\n */\nfunction resolveReferencedMapper(serializer, mapper, objectName) {\n const className = mapper.type.className;\n if (!className) {\n throw new Error(`Class name for model \"${objectName}\" is not provided in the mapper \"${JSON.stringify(mapper, undefined, 2)}\".`);\n }\n return serializer.modelMappers[className];\n}\n/**\n * Resolves a composite mapper's modelProperties.\n * @param serializer - the serializer containing the entire set of mappers\n * @param mapper - the composite mapper to resolve\n */\nfunction resolveModelProperties(serializer, mapper, objectName) {\n let modelProps = mapper.type.modelProperties;\n if (!modelProps) {\n const modelMapper = resolveReferencedMapper(serializer, mapper, objectName);\n if (!modelMapper) {\n throw new Error(`mapper() cannot be null or undefined for model \"${mapper.type.className}\".`);\n }\n modelProps = modelMapper === null || modelMapper === void 0 ? void 0 : modelMapper.type.modelProperties;\n if (!modelProps) {\n throw new Error(`modelProperties cannot be null or undefined in the ` +\n `mapper \"${JSON.stringify(modelMapper)}\" of type \"${mapper.type.className}\" for object \"${objectName}\".`);\n }\n }\n return modelProps;\n}\nfunction serializeCompositeType(serializer, mapper, object, objectName, isXml, options) {\n if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {\n mapper = getPolymorphicMapper(serializer, mapper, object, \"clientName\");\n }\n if (object !== undefined && object !== null) {\n const payload = {};\n const modelProps = resolveModelProperties(serializer, mapper, objectName);\n for (const key of Object.keys(modelProps)) {\n const propertyMapper = modelProps[key];\n if (propertyMapper.readOnly) {\n continue;\n }\n let propName;\n let parentObject = payload;\n if (serializer.isXML) {\n if (propertyMapper.xmlIsWrapped) {\n propName = propertyMapper.xmlName;\n }\n else {\n propName = propertyMapper.xmlElementName || propertyMapper.xmlName;\n }\n }\n else {\n const paths = splitSerializeName(propertyMapper.serializedName);\n propName = paths.pop();\n for (const pathName of paths) {\n const childObject = parentObject[pathName];\n if ((childObject === undefined || childObject === null) &&\n ((object[key] !== undefined && object[key] !== null) ||\n propertyMapper.defaultValue !== undefined)) {\n parentObject[pathName] = {};\n }\n parentObject = parentObject[pathName];\n }\n }\n if (parentObject !== undefined && parentObject !== null) {\n if (isXml && mapper.xmlNamespace) {\n const xmlnsKey = mapper.xmlNamespacePrefix\n ? `xmlns:${mapper.xmlNamespacePrefix}`\n : \"xmlns\";\n parentObject[XML_ATTRKEY] = Object.assign(Object.assign({}, parentObject[XML_ATTRKEY]), { [xmlnsKey]: mapper.xmlNamespace });\n }\n const propertyObjectName = propertyMapper.serializedName !== \"\"\n ? objectName + \".\" + propertyMapper.serializedName\n : objectName;\n let toSerialize = object[key];\n const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);\n if (polymorphicDiscriminator &&\n polymorphicDiscriminator.clientName === key &&\n (toSerialize === undefined || toSerialize === null)) {\n toSerialize = mapper.serializedName;\n }\n const serializedValue = serializer.serialize(propertyMapper, toSerialize, propertyObjectName, options);\n if (serializedValue !== undefined && propName !== undefined && propName !== null) {\n const value = getXmlObjectValue(propertyMapper, serializedValue, isXml, options);\n if (isXml && propertyMapper.xmlIsAttribute) {\n // XML_ATTRKEY, i.e., $ is the key attributes are kept under in xml2js.\n // This keeps things simple while preventing name collision\n // with names in user documents.\n parentObject[XML_ATTRKEY] = parentObject[XML_ATTRKEY] || {};\n parentObject[XML_ATTRKEY][propName] = serializedValue;\n }\n else if (isXml && propertyMapper.xmlIsWrapped) {\n parentObject[propName] = { [propertyMapper.xmlElementName]: value };\n }\n else {\n parentObject[propName] = value;\n }\n }\n }\n }\n const additionalPropertiesMapper = resolveAdditionalProperties(serializer, mapper, objectName);\n if (additionalPropertiesMapper) {\n const propNames = Object.keys(modelProps);\n for (const clientPropName in object) {\n const isAdditionalProperty = propNames.every((pn) => pn !== clientPropName);\n if (isAdditionalProperty) {\n payload[clientPropName] = serializer.serialize(additionalPropertiesMapper, object[clientPropName], objectName + '[\"' + clientPropName + '\"]', options);\n }\n }\n }\n return payload;\n }\n return object;\n}\nfunction getXmlObjectValue(propertyMapper, serializedValue, isXml, options) {\n if (!isXml || !propertyMapper.xmlNamespace) {\n return serializedValue;\n }\n const xmlnsKey = propertyMapper.xmlNamespacePrefix\n ? `xmlns:${propertyMapper.xmlNamespacePrefix}`\n : \"xmlns\";\n const xmlNamespace = { [xmlnsKey]: propertyMapper.xmlNamespace };\n if ([\"Composite\"].includes(propertyMapper.type.name)) {\n if (serializedValue[XML_ATTRKEY]) {\n return serializedValue;\n }\n else {\n const result = Object.assign({}, serializedValue);\n result[XML_ATTRKEY] = xmlNamespace;\n return result;\n }\n }\n const result = {};\n result[options.xml.xmlCharKey] = serializedValue;\n result[XML_ATTRKEY] = xmlNamespace;\n return result;\n}\nfunction isSpecialXmlProperty(propertyName, options) {\n return [XML_ATTRKEY, options.xml.xmlCharKey].includes(propertyName);\n}\nfunction deserializeCompositeType(serializer, mapper, responseBody, objectName, options) {\n var _a, _b;\n const xmlCharKey = (_a = options.xml.xmlCharKey) !== null && _a !== void 0 ? _a : XML_CHARKEY;\n if (getPolymorphicDiscriminatorRecursively(serializer, mapper)) {\n mapper = getPolymorphicMapper(serializer, mapper, responseBody, \"serializedName\");\n }\n const modelProps = resolveModelProperties(serializer, mapper, objectName);\n let instance = {};\n const handledPropertyNames = [];\n for (const key of Object.keys(modelProps)) {\n const propertyMapper = modelProps[key];\n const paths = splitSerializeName(modelProps[key].serializedName);\n handledPropertyNames.push(paths[0]);\n const { serializedName, xmlName, xmlElementName } = propertyMapper;\n let propertyObjectName = objectName;\n if (serializedName !== \"\" && serializedName !== undefined) {\n propertyObjectName = objectName + \".\" + serializedName;\n }\n const headerCollectionPrefix = propertyMapper.headerCollectionPrefix;\n if (headerCollectionPrefix) {\n const dictionary = {};\n for (const headerKey of Object.keys(responseBody)) {\n if (headerKey.startsWith(headerCollectionPrefix)) {\n dictionary[headerKey.substring(headerCollectionPrefix.length)] = serializer.deserialize(propertyMapper.type.value, responseBody[headerKey], propertyObjectName, options);\n }\n handledPropertyNames.push(headerKey);\n }\n instance[key] = dictionary;\n }\n else if (serializer.isXML) {\n if (propertyMapper.xmlIsAttribute && responseBody[XML_ATTRKEY]) {\n instance[key] = serializer.deserialize(propertyMapper, responseBody[XML_ATTRKEY][xmlName], propertyObjectName, options);\n }\n else if (propertyMapper.xmlIsMsText) {\n if (responseBody[xmlCharKey] !== undefined) {\n instance[key] = responseBody[xmlCharKey];\n }\n else if (typeof responseBody === \"string\") {\n // The special case where xml parser parses \"content\" into JSON of\n // `{ name: \"content\"}` instead of `{ name: { \"_\": \"content\" }}`\n instance[key] = responseBody;\n }\n }\n else {\n const propertyName = xmlElementName || xmlName || serializedName;\n if (propertyMapper.xmlIsWrapped) {\n /* a list of wrapped by \n For the xml example below\n \n ...\n ...\n \n the responseBody has\n {\n Cors: {\n CorsRule: [{...}, {...}]\n }\n }\n xmlName is \"Cors\" and xmlElementName is\"CorsRule\".\n */\n const wrapped = responseBody[xmlName];\n const elementList = (_b = wrapped === null || wrapped === void 0 ? void 0 : wrapped[xmlElementName]) !== null && _b !== void 0 ? _b : [];\n instance[key] = serializer.deserialize(propertyMapper, elementList, propertyObjectName, options);\n handledPropertyNames.push(xmlName);\n }\n else {\n const property = responseBody[propertyName];\n instance[key] = serializer.deserialize(propertyMapper, property, propertyObjectName, options);\n handledPropertyNames.push(propertyName);\n }\n }\n }\n else {\n // deserialize the property if it is present in the provided responseBody instance\n let propertyInstance;\n let res = responseBody;\n // traversing the object step by step.\n let steps = 0;\n for (const item of paths) {\n if (!res)\n break;\n steps++;\n res = res[item];\n }\n // only accept null when reaching the last position of object otherwise it would be undefined\n if (res === null && steps < paths.length) {\n res = undefined;\n }\n propertyInstance = res;\n const polymorphicDiscriminator = mapper.type.polymorphicDiscriminator;\n // checking that the model property name (key)(ex: \"fishtype\") and the\n // clientName of the polymorphicDiscriminator {metadata} (ex: \"fishtype\")\n // instead of the serializedName of the polymorphicDiscriminator (ex: \"fish.type\")\n // is a better approach. The generator is not consistent with escaping '\\.' in the\n // serializedName of the property (ex: \"fish\\.type\") that is marked as polymorphic discriminator\n // and the serializedName of the metadata polymorphicDiscriminator (ex: \"fish.type\"). However,\n // the clientName transformation of the polymorphicDiscriminator (ex: \"fishtype\") and\n // the transformation of model property name (ex: \"fishtype\") is done consistently.\n // Hence, it is a safer bet to rely on the clientName of the polymorphicDiscriminator.\n if (polymorphicDiscriminator &&\n key === polymorphicDiscriminator.clientName &&\n (propertyInstance === undefined || propertyInstance === null)) {\n propertyInstance = mapper.serializedName;\n }\n let serializedValue;\n // paging\n if (Array.isArray(responseBody[key]) && modelProps[key].serializedName === \"\") {\n propertyInstance = responseBody[key];\n const arrayInstance = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);\n // Copy over any properties that have already been added into the instance, where they do\n // not exist on the newly de-serialized array\n for (const [k, v] of Object.entries(instance)) {\n if (!Object.prototype.hasOwnProperty.call(arrayInstance, k)) {\n arrayInstance[k] = v;\n }\n }\n instance = arrayInstance;\n }\n else if (propertyInstance !== undefined || propertyMapper.defaultValue !== undefined) {\n serializedValue = serializer.deserialize(propertyMapper, propertyInstance, propertyObjectName, options);\n instance[key] = serializedValue;\n }\n }\n }\n const additionalPropertiesMapper = mapper.type.additionalProperties;\n if (additionalPropertiesMapper) {\n const isAdditionalProperty = (responsePropName) => {\n for (const clientPropName in modelProps) {\n const paths = splitSerializeName(modelProps[clientPropName].serializedName);\n if (paths[0] === responsePropName) {\n return false;\n }\n }\n return true;\n };\n for (const responsePropName in responseBody) {\n if (isAdditionalProperty(responsePropName)) {\n instance[responsePropName] = serializer.deserialize(additionalPropertiesMapper, responseBody[responsePropName], objectName + '[\"' + responsePropName + '\"]', options);\n }\n }\n }\n else if (responseBody && !options.ignoreUnknownProperties) {\n for (const key of Object.keys(responseBody)) {\n if (instance[key] === undefined &&\n !handledPropertyNames.includes(key) &&\n !isSpecialXmlProperty(key, options)) {\n instance[key] = responseBody[key];\n }\n }\n }\n return instance;\n}\nfunction deserializeDictionaryType(serializer, mapper, responseBody, objectName, options) {\n /* jshint validthis: true */\n const value = mapper.type.value;\n if (!value || typeof value !== \"object\") {\n throw new Error(`\"value\" metadata for a Dictionary must be defined in the ` +\n `mapper and it must of type \"object\" in ${objectName}`);\n }\n if (responseBody) {\n const tempDictionary = {};\n for (const key of Object.keys(responseBody)) {\n tempDictionary[key] = serializer.deserialize(value, responseBody[key], objectName, options);\n }\n return tempDictionary;\n }\n return responseBody;\n}\nfunction deserializeSequenceType(serializer, mapper, responseBody, objectName, options) {\n var _a;\n let element = mapper.type.element;\n if (!element || typeof element !== \"object\") {\n throw new Error(`element\" metadata for an Array must be defined in the ` +\n `mapper and it must of type \"object\" in ${objectName}`);\n }\n if (responseBody) {\n if (!Array.isArray(responseBody)) {\n // xml2js will interpret a single element array as just the element, so force it to be an array\n responseBody = [responseBody];\n }\n // Quirk: Composite mappers referenced by `element` might\n // not have *all* properties declared (like uberParent),\n // so let's try to look up the full definition by name.\n if (element.type.name === \"Composite\" && element.type.className) {\n element = (_a = serializer.modelMappers[element.type.className]) !== null && _a !== void 0 ? _a : element;\n }\n const tempArray = [];\n for (let i = 0; i < responseBody.length; i++) {\n tempArray[i] = serializer.deserialize(element, responseBody[i], `${objectName}[${i}]`, options);\n }\n return tempArray;\n }\n return responseBody;\n}\nfunction getIndexDiscriminator(discriminators, discriminatorValue, typeName) {\n const typeNamesToCheck = [typeName];\n while (typeNamesToCheck.length) {\n const currentName = typeNamesToCheck.shift();\n const indexDiscriminator = discriminatorValue === currentName\n ? discriminatorValue\n : currentName + \".\" + discriminatorValue;\n if (Object.prototype.hasOwnProperty.call(discriminators, indexDiscriminator)) {\n return discriminators[indexDiscriminator];\n }\n else {\n for (const [name, mapper] of Object.entries(discriminators)) {\n if (name.startsWith(currentName + \".\") &&\n mapper.type.uberParent === currentName &&\n mapper.type.className) {\n typeNamesToCheck.push(mapper.type.className);\n }\n }\n }\n }\n return undefined;\n}\nfunction getPolymorphicMapper(serializer, mapper, object, polymorphicPropertyName) {\n var _a;\n const polymorphicDiscriminator = getPolymorphicDiscriminatorRecursively(serializer, mapper);\n if (polymorphicDiscriminator) {\n let discriminatorName = polymorphicDiscriminator[polymorphicPropertyName];\n if (discriminatorName) {\n // The serializedName might have \\\\, which we just want to ignore\n if (polymorphicPropertyName === \"serializedName\") {\n discriminatorName = discriminatorName.replace(/\\\\/gi, \"\");\n }\n const discriminatorValue = object[discriminatorName];\n const typeName = (_a = mapper.type.uberParent) !== null && _a !== void 0 ? _a : mapper.type.className;\n if (typeof discriminatorValue === \"string\" && typeName) {\n const polymorphicMapper = getIndexDiscriminator(serializer.modelMappers.discriminators, discriminatorValue, typeName);\n if (polymorphicMapper) {\n mapper = polymorphicMapper;\n }\n }\n }\n }\n return mapper;\n}\nfunction getPolymorphicDiscriminatorRecursively(serializer, mapper) {\n return (mapper.type.polymorphicDiscriminator ||\n getPolymorphicDiscriminatorSafely(serializer, mapper.type.uberParent) ||\n getPolymorphicDiscriminatorSafely(serializer, mapper.type.className));\n}\nfunction getPolymorphicDiscriminatorSafely(serializer, typeName) {\n return (typeName &&\n serializer.modelMappers[typeName] &&\n serializer.modelMappers[typeName].type.polymorphicDiscriminator);\n}\n/**\n * Known types of Mappers\n */\nexport const MapperTypeNames = {\n Base64Url: \"Base64Url\",\n Boolean: \"Boolean\",\n ByteArray: \"ByteArray\",\n Composite: \"Composite\",\n Date: \"Date\",\n DateTime: \"DateTime\",\n DateTimeRfc1123: \"DateTimeRfc1123\",\n Dictionary: \"Dictionary\",\n Enum: \"Enum\",\n Number: \"Number\",\n Object: \"Object\",\n Sequence: \"Sequence\",\n String: \"String\",\n Stream: \"Stream\",\n TimeSpan: \"TimeSpan\",\n UnixTime: \"UnixTime\",\n};\n//# sourceMappingURL=serializer.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nconst ValidPhaseNames = new Set([\"Deserialize\", \"Serialize\", \"Retry\", \"Sign\"]);\n/**\n * A private implementation of Pipeline.\n * Do not export this class from the package.\n * @internal\n */\nclass HttpPipeline {\n constructor(policies) {\n var _a;\n this._policies = [];\n this._policies = (_a = policies === null || policies === void 0 ? void 0 : policies.slice(0)) !== null && _a !== void 0 ? _a : [];\n this._orderedPolicies = undefined;\n }\n addPolicy(policy, options = {}) {\n if (options.phase && options.afterPhase) {\n throw new Error(\"Policies inside a phase cannot specify afterPhase.\");\n }\n if (options.phase && !ValidPhaseNames.has(options.phase)) {\n throw new Error(`Invalid phase name: ${options.phase}`);\n }\n if (options.afterPhase && !ValidPhaseNames.has(options.afterPhase)) {\n throw new Error(`Invalid afterPhase name: ${options.afterPhase}`);\n }\n this._policies.push({\n policy,\n options,\n });\n this._orderedPolicies = undefined;\n }\n removePolicy(options) {\n const removedPolicies = [];\n this._policies = this._policies.filter((policyDescriptor) => {\n if ((options.name && policyDescriptor.policy.name === options.name) ||\n (options.phase && policyDescriptor.options.phase === options.phase)) {\n removedPolicies.push(policyDescriptor.policy);\n return false;\n }\n else {\n return true;\n }\n });\n this._orderedPolicies = undefined;\n return removedPolicies;\n }\n sendRequest(httpClient, request) {\n const policies = this.getOrderedPolicies();\n const pipeline = policies.reduceRight((next, policy) => {\n return (req) => {\n return policy.sendRequest(req, next);\n };\n }, (req) => httpClient.sendRequest(req));\n return pipeline(request);\n }\n getOrderedPolicies() {\n if (!this._orderedPolicies) {\n this._orderedPolicies = this.orderPolicies();\n }\n return this._orderedPolicies;\n }\n clone() {\n return new HttpPipeline(this._policies);\n }\n static create() {\n return new HttpPipeline();\n }\n orderPolicies() {\n /**\n * The goal of this method is to reliably order pipeline policies\n * based on their declared requirements when they were added.\n *\n * Order is first determined by phase:\n *\n * 1. Serialize Phase\n * 2. Policies not in a phase\n * 3. Deserialize Phase\n * 4. Retry Phase\n * 5. Sign Phase\n *\n * Within each phase, policies are executed in the order\n * they were added unless they were specified to execute\n * before/after other policies or after a particular phase.\n *\n * To determine the final order, we will walk the policy list\n * in phase order multiple times until all dependencies are\n * satisfied.\n *\n * `afterPolicies` are the set of policies that must be\n * executed before a given policy. This requirement is\n * considered satisfied when each of the listed policies\n * have been scheduled.\n *\n * `beforePolicies` are the set of policies that must be\n * executed after a given policy. Since this dependency\n * can be expressed by converting it into a equivalent\n * `afterPolicies` declarations, they are normalized\n * into that form for simplicity.\n *\n * An `afterPhase` dependency is considered satisfied when all\n * policies in that phase have scheduled.\n *\n */\n const result = [];\n // Track all policies we know about.\n const policyMap = new Map();\n function createPhase(name) {\n return {\n name,\n policies: new Set(),\n hasRun: false,\n hasAfterPolicies: false,\n };\n }\n // Track policies for each phase.\n const serializePhase = createPhase(\"Serialize\");\n const noPhase = createPhase(\"None\");\n const deserializePhase = createPhase(\"Deserialize\");\n const retryPhase = createPhase(\"Retry\");\n const signPhase = createPhase(\"Sign\");\n // a list of phases in order\n const orderedPhases = [serializePhase, noPhase, deserializePhase, retryPhase, signPhase];\n // Small helper function to map phase name to each Phase\n function getPhase(phase) {\n if (phase === \"Retry\") {\n return retryPhase;\n }\n else if (phase === \"Serialize\") {\n return serializePhase;\n }\n else if (phase === \"Deserialize\") {\n return deserializePhase;\n }\n else if (phase === \"Sign\") {\n return signPhase;\n }\n else {\n return noPhase;\n }\n }\n // First walk each policy and create a node to track metadata.\n for (const descriptor of this._policies) {\n const policy = descriptor.policy;\n const options = descriptor.options;\n const policyName = policy.name;\n if (policyMap.has(policyName)) {\n throw new Error(\"Duplicate policy names not allowed in pipeline\");\n }\n const node = {\n policy,\n dependsOn: new Set(),\n dependants: new Set(),\n };\n if (options.afterPhase) {\n node.afterPhase = getPhase(options.afterPhase);\n node.afterPhase.hasAfterPolicies = true;\n }\n policyMap.set(policyName, node);\n const phase = getPhase(options.phase);\n phase.policies.add(node);\n }\n // Now that each policy has a node, connect dependency references.\n for (const descriptor of this._policies) {\n const { policy, options } = descriptor;\n const policyName = policy.name;\n const node = policyMap.get(policyName);\n if (!node) {\n throw new Error(`Missing node for policy ${policyName}`);\n }\n if (options.afterPolicies) {\n for (const afterPolicyName of options.afterPolicies) {\n const afterNode = policyMap.get(afterPolicyName);\n if (afterNode) {\n // Linking in both directions helps later\n // when we want to notify dependants.\n node.dependsOn.add(afterNode);\n afterNode.dependants.add(node);\n }\n }\n }\n if (options.beforePolicies) {\n for (const beforePolicyName of options.beforePolicies) {\n const beforeNode = policyMap.get(beforePolicyName);\n if (beforeNode) {\n // To execute before another node, make it\n // depend on the current node.\n beforeNode.dependsOn.add(node);\n node.dependants.add(beforeNode);\n }\n }\n }\n }\n function walkPhase(phase) {\n phase.hasRun = true;\n // Sets iterate in insertion order\n for (const node of phase.policies) {\n if (node.afterPhase && (!node.afterPhase.hasRun || node.afterPhase.policies.size)) {\n // If this node is waiting on a phase to complete,\n // we need to skip it for now.\n // Even if the phase is empty, we should wait for it\n // to be walked to avoid re-ordering policies.\n continue;\n }\n if (node.dependsOn.size === 0) {\n // If there's nothing else we're waiting for, we can\n // add this policy to the result list.\n result.push(node.policy);\n // Notify anything that depends on this policy that\n // the policy has been scheduled.\n for (const dependant of node.dependants) {\n dependant.dependsOn.delete(node);\n }\n policyMap.delete(node.policy.name);\n phase.policies.delete(node);\n }\n }\n }\n function walkPhases() {\n for (const phase of orderedPhases) {\n walkPhase(phase);\n // if the phase isn't complete\n if (phase.policies.size > 0 && phase !== noPhase) {\n if (!noPhase.hasRun) {\n // Try running noPhase to see if that unblocks this phase next tick.\n // This can happen if a phase that happens before noPhase\n // is waiting on a noPhase policy to complete.\n walkPhase(noPhase);\n }\n // Don't proceed to the next phase until this phase finishes.\n return;\n }\n if (phase.hasAfterPolicies) {\n // Run any policies unblocked by this phase\n walkPhase(noPhase);\n }\n }\n }\n // Iterate until we've put every node in the result list.\n let iteration = 0;\n while (policyMap.size > 0) {\n iteration++;\n const initialResultLength = result.length;\n // Keep walking each phase in order until we can order every node.\n walkPhases();\n // The result list *should* get at least one larger each time\n // after the first full pass.\n // Otherwise, we're going to loop forever.\n if (result.length <= initialResultLength && iteration > 1) {\n throw new Error(\"Cannot satisfy policy dependencies due to requirements cycle.\");\n }\n }\n return result;\n }\n}\n/**\n * Creates a totally empty pipeline.\n * Useful for testing or creating a custom one.\n */\nexport function createEmptyPipeline() {\n return HttpPipeline.create();\n}\n//# sourceMappingURL=pipeline.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport function log(...args) {\n if (args.length > 0) {\n const firstArg = String(args[0]);\n if (firstArg.includes(\":error\")) {\n console.error(...args);\n }\n else if (firstArg.includes(\":warning\")) {\n console.warn(...args);\n }\n else if (firstArg.includes(\":info\")) {\n console.info(...args);\n }\n else if (firstArg.includes(\":verbose\")) {\n console.debug(...args);\n }\n else {\n console.debug(...args);\n }\n }\n}\n//# sourceMappingURL=log-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { log } from \"./log.js\";\nconst debugEnvVariable = (typeof process !== \"undefined\" && process.env && process.env.DEBUG) || undefined;\nlet enabledString;\nlet enabledNamespaces = [];\nlet skippedNamespaces = [];\nconst debuggers = [];\nif (debugEnvVariable) {\n enable(debugEnvVariable);\n}\nconst debugObj = Object.assign((namespace) => {\n return createDebugger(namespace);\n}, {\n enable,\n enabled,\n disable,\n log,\n});\nfunction enable(namespaces) {\n enabledString = namespaces;\n enabledNamespaces = [];\n skippedNamespaces = [];\n const wildcard = /\\*/g;\n const namespaceList = namespaces.split(\",\").map((ns) => ns.trim().replace(wildcard, \".*?\"));\n for (const ns of namespaceList) {\n if (ns.startsWith(\"-\")) {\n skippedNamespaces.push(new RegExp(`^${ns.substr(1)}$`));\n }\n else {\n enabledNamespaces.push(new RegExp(`^${ns}$`));\n }\n }\n for (const instance of debuggers) {\n instance.enabled = enabled(instance.namespace);\n }\n}\nfunction enabled(namespace) {\n if (namespace.endsWith(\"*\")) {\n return true;\n }\n for (const skipped of skippedNamespaces) {\n if (skipped.test(namespace)) {\n return false;\n }\n }\n for (const enabledNamespace of enabledNamespaces) {\n if (enabledNamespace.test(namespace)) {\n return true;\n }\n }\n return false;\n}\nfunction disable() {\n const result = enabledString || \"\";\n enable(\"\");\n return result;\n}\nfunction createDebugger(namespace) {\n const newDebugger = Object.assign(debug, {\n enabled: enabled(namespace),\n destroy,\n log: debugObj.log,\n namespace,\n extend,\n });\n function debug(...args) {\n if (!newDebugger.enabled) {\n return;\n }\n if (args.length > 0) {\n args[0] = `${namespace} ${args[0]}`;\n }\n newDebugger.log(...args);\n }\n debuggers.push(newDebugger);\n return newDebugger;\n}\nfunction destroy() {\n const index = debuggers.indexOf(this);\n if (index >= 0) {\n debuggers.splice(index, 1);\n return true;\n }\n return false;\n}\nfunction extend(namespace) {\n const newDebugger = createDebugger(`${this.namespace}:${namespace}`);\n newDebugger.log = this.log;\n return newDebugger;\n}\nexport default debugObj;\n//# sourceMappingURL=debug.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport debug from \"./debug.js\";\nconst registeredLoggers = new Set();\nconst logLevelFromEnv = (typeof process !== \"undefined\" && process.env && process.env.AZURE_LOG_LEVEL) || undefined;\nlet azureLogLevel;\n/**\n * The AzureLogger provides a mechanism for overriding where logs are output to.\n * By default, logs are sent to stderr.\n * Override the `log` method to redirect logs to another location.\n */\nexport const AzureLogger = debug(\"azure\");\nAzureLogger.log = (...args) => {\n debug.log(...args);\n};\nconst AZURE_LOG_LEVELS = [\"verbose\", \"info\", \"warning\", \"error\"];\nif (logLevelFromEnv) {\n // avoid calling setLogLevel because we don't want a mis-set environment variable to crash\n if (isAzureLogLevel(logLevelFromEnv)) {\n setLogLevel(logLevelFromEnv);\n }\n else {\n console.error(`AZURE_LOG_LEVEL set to unknown log level '${logLevelFromEnv}'; logging is not enabled. Acceptable values: ${AZURE_LOG_LEVELS.join(\", \")}.`);\n }\n}\n/**\n * Immediately enables logging at the specified log level. If no level is specified, logging is disabled.\n * @param level - The log level to enable for logging.\n * Options from most verbose to least verbose are:\n * - verbose\n * - info\n * - warning\n * - error\n */\nexport function setLogLevel(level) {\n if (level && !isAzureLogLevel(level)) {\n throw new Error(`Unknown log level '${level}'. Acceptable values: ${AZURE_LOG_LEVELS.join(\",\")}`);\n }\n azureLogLevel = level;\n const enabledNamespaces = [];\n for (const logger of registeredLoggers) {\n if (shouldEnable(logger)) {\n enabledNamespaces.push(logger.namespace);\n }\n }\n debug.enable(enabledNamespaces.join(\",\"));\n}\n/**\n * Retrieves the currently specified log level.\n */\nexport function getLogLevel() {\n return azureLogLevel;\n}\nconst levelMap = {\n verbose: 400,\n info: 300,\n warning: 200,\n error: 100,\n};\n/**\n * Creates a logger for use by the Azure SDKs that inherits from `AzureLogger`.\n * @param namespace - The name of the SDK package.\n * @hidden\n */\nexport function createClientLogger(namespace) {\n const clientRootLogger = AzureLogger.extend(namespace);\n patchLogMethod(AzureLogger, clientRootLogger);\n return {\n error: createLogger(clientRootLogger, \"error\"),\n warning: createLogger(clientRootLogger, \"warning\"),\n info: createLogger(clientRootLogger, \"info\"),\n verbose: createLogger(clientRootLogger, \"verbose\"),\n };\n}\nfunction patchLogMethod(parent, child) {\n child.log = (...args) => {\n parent.log(...args);\n };\n}\nfunction createLogger(parent, level) {\n const logger = Object.assign(parent.extend(level), {\n level,\n });\n patchLogMethod(parent, logger);\n if (shouldEnable(logger)) {\n const enabledNamespaces = debug.disable();\n debug.enable(enabledNamespaces + \",\" + logger.namespace);\n }\n registeredLoggers.add(logger);\n return logger;\n}\nfunction shouldEnable(logger) {\n return Boolean(azureLogLevel && levelMap[logger.level] <= levelMap[azureLogLevel]);\n}\nfunction isAzureLogLevel(logLevel) {\n return AZURE_LOG_LEVELS.includes(logLevel);\n}\n//# sourceMappingURL=index.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"core-rest-pipeline\");\n//# sourceMappingURL=log.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * This error is thrown when an asynchronous operation has been aborted.\n * Check for this error by testing the `name` that the name property of the\n * error matches `\"AbortError\"`.\n *\n * @example\n * ```ts\n * const controller = new AbortController();\n * controller.abort();\n * try {\n * doAsyncWork(controller.signal)\n * } catch (e) {\n * if (e.name === 'AbortError') {\n * // handle abort error here.\n * }\n * }\n * ```\n */\nexport class AbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"AbortError\";\n }\n}\n//# sourceMappingURL=AbortError.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Returns a random integer value between a lower and upper bound,\n * inclusive of both bounds.\n * Note that this uses Math.random and isn't secure. If you need to use\n * this for any kind of security purpose, find a better source of random.\n * @param min - The smallest integer value allowed.\n * @param max - The largest integer value allowed.\n */\nexport function getRandomIntegerInclusive(min, max) {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n//# sourceMappingURL=random.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Helper to determine when an input is a generic JS object.\n * @returns true when input is an object type that is not null, Array, RegExp, or Date.\n */\nexport function isObject(input) {\n return (typeof input === \"object\" &&\n input !== null &&\n !Array.isArray(input) &&\n !(input instanceof RegExp) &&\n !(input instanceof Date));\n}\n//# sourceMappingURL=object.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isObject } from \"./object.js\";\n/**\n * Typeguard for an error object shape (has name and message)\n * @param e - Something caught by a catch clause.\n */\nexport function isError(e) {\n if (isObject(e)) {\n const hasName = typeof e.name === \"string\";\n const hasMessage = typeof e.message === \"string\";\n return hasName && hasMessage;\n }\n return false;\n}\n/**\n * Given what is thought to be an error object, return the message if possible.\n * If the message is missing, returns a stringified version of the input.\n * @param e - Something thrown from a try block\n * @returns The error message or a string of the input\n */\nexport function getErrorMessage(e) {\n if (isError(e)) {\n return e.message;\n }\n else {\n let stringified;\n try {\n if (typeof e === \"object\" && e) {\n stringified = JSON.stringify(e);\n }\n else {\n stringified = String(e);\n }\n }\n catch (err) {\n stringified = \"[unable to stringify input]\";\n }\n return `Unknown error ${stringified}`;\n }\n}\n//# sourceMappingURL=error.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * The helper that transforms bytes with specific character encoding into string\n * @param bytes - the uint8array bytes\n * @param format - the format we use to encode the byte\n * @returns a string of the encoded string\n */\nexport function uint8ArrayToString(bytes, format) {\n switch (format) {\n case \"utf-8\":\n return uint8ArrayToUtf8String(bytes);\n case \"base64\":\n return uint8ArrayToBase64(bytes);\n case \"base64url\":\n return uint8ArrayToBase64Url(bytes);\n case \"hex\":\n return uint8ArrayToHexString(bytes);\n }\n}\n/**\n * The helper that transforms string to specific character encoded bytes array.\n * @param value - the string to be converted\n * @param format - the format we use to decode the value\n * @returns a uint8array\n */\nexport function stringToUint8Array(value, format) {\n switch (format) {\n case \"utf-8\":\n return utf8StringToUint8Array(value);\n case \"base64\":\n return base64ToUint8Array(value);\n case \"base64url\":\n return base64UrlToUint8Array(value);\n case \"hex\":\n return hexStringToUint8Array(value);\n }\n}\n/**\n * Decodes a Uint8Array into a Base64 string.\n * @internal\n */\nexport function uint8ArrayToBase64(bytes) {\n return btoa([...bytes].map((x) => String.fromCharCode(x)).join(\"\"));\n}\n/**\n * Decodes a Uint8Array into a Base64Url string.\n * @internal\n */\nexport function uint8ArrayToBase64Url(bytes) {\n return uint8ArrayToBase64(bytes).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n}\n/**\n * Decodes a Uint8Array into a javascript string.\n * @internal\n */\nexport function uint8ArrayToUtf8String(bytes) {\n const decoder = new TextDecoder();\n const dataString = decoder.decode(bytes);\n return dataString;\n}\n/**\n * Decodes a Uint8Array into a hex string\n * @internal\n */\nexport function uint8ArrayToHexString(bytes) {\n return [...bytes].map((x) => x.toString(16).padStart(2, \"0\")).join(\"\");\n}\n/**\n * Encodes a JavaScript string into a Uint8Array.\n * @internal\n */\nexport function utf8StringToUint8Array(value) {\n return new TextEncoder().encode(value);\n}\n/**\n * Encodes a Base64 string into a Uint8Array.\n * @internal\n */\nexport function base64ToUint8Array(value) {\n return new Uint8Array([...atob(value)].map((x) => x.charCodeAt(0)));\n}\n/**\n * Encodes a Base64Url string into a Uint8Array.\n * @internal\n */\nexport function base64UrlToUint8Array(value) {\n const base64String = value.replace(/-/g, \"+\").replace(/_/g, \"/\");\n return base64ToUint8Array(base64String);\n}\nconst hexDigits = new Set(\"0123456789abcdefABCDEF\");\n/**\n * Encodes a hex string into a Uint8Array\n * @internal\n */\nexport function hexStringToUint8Array(value) {\n // If value has odd length, the last character will be ignored, consistent with NodeJS Buffer behavior\n const bytes = new Uint8Array(value.length / 2);\n for (let i = 0; i < value.length / 2; ++i) {\n const highNibble = value[2 * i];\n const lowNibble = value[2 * i + 1];\n if (!hexDigits.has(highNibble) || !hexDigits.has(lowNibble)) {\n // Replicate Node Buffer behavior by exiting early when we encounter an invalid byte\n return bytes.slice(0, i);\n }\n bytes[i] = parseInt(`${highNibble}${lowNibble}`, 16);\n }\n return bytes;\n}\n//# sourceMappingURL=bytesEncoding-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n */\nexport function generateUUID() {\n let uuid = \"\";\n for (let i = 0; i < 32; i++) {\n // Generate a random number between 0 and 15\n const randomNumber = Math.floor(Math.random() * 16);\n // Set the UUID version to 4 in the 13th position\n if (i === 12) {\n uuid += \"4\";\n }\n else if (i === 16) {\n // Set the UUID variant to \"10\" in the 17th position\n uuid += (randomNumber & 0x3) | 0x8;\n }\n else {\n // Add a random hexadecimal digit to the UUID string\n uuid += randomNumber.toString(16);\n }\n // Add hyphens to the UUID string at the appropriate positions\n if (i === 7 || i === 11 || i === 15 || i === 19) {\n uuid += \"-\";\n }\n }\n return uuid;\n}\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n */\nexport function randomUUID() {\n return generateUUID();\n}\n//# sourceMappingURL=uuidUtils.common.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nvar _a;\nimport { generateUUID } from \"./uuidUtils.common.js\";\n// NOTE: This could be undefined if not used in a secure context\nconst uuidFunction = typeof ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.crypto) === null || _a === void 0 ? void 0 : _a.randomUUID) === \"function\"\n ? globalThis.crypto.randomUUID.bind(globalThis.crypto)\n : generateUUID;\n/**\n * Generated Universally Unique Identifier\n *\n * @returns RFC4122 v4 UUID.\n */\nexport function randomUUID() {\n return uuidFunction();\n}\n//# sourceMappingURL=uuidUtils-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nvar _a, _b, _c, _d;\n/**\n * A constant that indicates whether the environment the code is running is a Web Browser.\n */\n// eslint-disable-next-line @azure/azure-sdk/ts-no-window\nexport const isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n/**\n * A constant that indicates whether the environment the code is running is a Web Worker.\n */\nexport const isWebWorker = typeof self === \"object\" &&\n typeof (self === null || self === void 0 ? void 0 : self.importScripts) === \"function\" &&\n (((_a = self.constructor) === null || _a === void 0 ? void 0 : _a.name) === \"DedicatedWorkerGlobalScope\" ||\n ((_b = self.constructor) === null || _b === void 0 ? void 0 : _b.name) === \"ServiceWorkerGlobalScope\" ||\n ((_c = self.constructor) === null || _c === void 0 ? void 0 : _c.name) === \"SharedWorkerGlobalScope\");\n/**\n * A constant that indicates whether the environment the code is running is Deno.\n */\nexport const isDeno = typeof Deno !== \"undefined\" &&\n typeof Deno.version !== \"undefined\" &&\n typeof Deno.version.deno !== \"undefined\";\n/**\n * A constant that indicates whether the environment the code is running is Bun.sh.\n */\nexport const isBun = typeof Bun !== \"undefined\" && typeof Bun.version !== \"undefined\";\n/**\n * A constant that indicates whether the environment the code is running is a Node.js compatible environment.\n */\nexport const isNodeLike = typeof globalThis.process !== \"undefined\" &&\n Boolean(globalThis.process.version) &&\n Boolean((_d = globalThis.process.versions) === null || _d === void 0 ? void 0 : _d.node);\n/**\n * A constant that indicates whether the environment the code is running is a Node.js compatible environment.\n * @deprecated Use `isNodeLike` instead.\n */\nexport const isNode = isNodeLike;\n/**\n * A constant that indicates whether the environment the code is running is Node.JS.\n */\nexport const isNodeRuntime = isNodeLike && !isBun && !isDeno;\n/**\n * A constant that indicates whether the environment the code is running is in React-Native.\n */\n// https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js\nexport const isReactNative = typeof navigator !== \"undefined\" && (navigator === null || navigator === void 0 ? void 0 : navigator.product) === \"ReactNative\";\n//# sourceMappingURL=checkEnvironment.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isObject } from \"@azure/core-util\";\nconst RedactedString = \"REDACTED\";\n// Make sure this list is up-to-date with the one under core/logger/Readme#Keyconcepts\nconst defaultAllowedHeaderNames = [\n \"x-ms-client-request-id\",\n \"x-ms-return-client-request-id\",\n \"x-ms-useragent\",\n \"x-ms-correlation-request-id\",\n \"x-ms-request-id\",\n \"client-request-id\",\n \"ms-cv\",\n \"return-client-request-id\",\n \"traceparent\",\n \"Access-Control-Allow-Credentials\",\n \"Access-Control-Allow-Headers\",\n \"Access-Control-Allow-Methods\",\n \"Access-Control-Allow-Origin\",\n \"Access-Control-Expose-Headers\",\n \"Access-Control-Max-Age\",\n \"Access-Control-Request-Headers\",\n \"Access-Control-Request-Method\",\n \"Origin\",\n \"Accept\",\n \"Accept-Encoding\",\n \"Cache-Control\",\n \"Connection\",\n \"Content-Length\",\n \"Content-Type\",\n \"Date\",\n \"ETag\",\n \"Expires\",\n \"If-Match\",\n \"If-Modified-Since\",\n \"If-None-Match\",\n \"If-Unmodified-Since\",\n \"Last-Modified\",\n \"Pragma\",\n \"Request-Id\",\n \"Retry-After\",\n \"Server\",\n \"Transfer-Encoding\",\n \"User-Agent\",\n \"WWW-Authenticate\",\n];\nconst defaultAllowedQueryParameters = [\"api-version\"];\n/**\n * @internal\n */\nexport class Sanitizer {\n constructor({ additionalAllowedHeaderNames: allowedHeaderNames = [], additionalAllowedQueryParameters: allowedQueryParameters = [], } = {}) {\n allowedHeaderNames = defaultAllowedHeaderNames.concat(allowedHeaderNames);\n allowedQueryParameters = defaultAllowedQueryParameters.concat(allowedQueryParameters);\n this.allowedHeaderNames = new Set(allowedHeaderNames.map((n) => n.toLowerCase()));\n this.allowedQueryParameters = new Set(allowedQueryParameters.map((p) => p.toLowerCase()));\n }\n sanitize(obj) {\n const seen = new Set();\n return JSON.stringify(obj, (key, value) => {\n // Ensure Errors include their interesting non-enumerable members\n if (value instanceof Error) {\n return Object.assign(Object.assign({}, value), { name: value.name, message: value.message });\n }\n if (key === \"headers\") {\n return this.sanitizeHeaders(value);\n }\n else if (key === \"url\") {\n return this.sanitizeUrl(value);\n }\n else if (key === \"query\") {\n return this.sanitizeQuery(value);\n }\n else if (key === \"body\") {\n // Don't log the request body\n return undefined;\n }\n else if (key === \"response\") {\n // Don't log response again\n return undefined;\n }\n else if (key === \"operationSpec\") {\n // When using sendOperationRequest, the request carries a massive\n // field with the autorest spec. No need to log it.\n return undefined;\n }\n else if (Array.isArray(value) || isObject(value)) {\n if (seen.has(value)) {\n return \"[Circular]\";\n }\n seen.add(value);\n }\n return value;\n }, 2);\n }\n sanitizeHeaders(obj) {\n const sanitized = {};\n for (const key of Object.keys(obj)) {\n if (this.allowedHeaderNames.has(key.toLowerCase())) {\n sanitized[key] = obj[key];\n }\n else {\n sanitized[key] = RedactedString;\n }\n }\n return sanitized;\n }\n sanitizeQuery(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n const sanitized = {};\n for (const k of Object.keys(value)) {\n if (this.allowedQueryParameters.has(k.toLowerCase())) {\n sanitized[k] = value[k];\n }\n else {\n sanitized[k] = RedactedString;\n }\n }\n return sanitized;\n }\n sanitizeUrl(value) {\n if (typeof value !== \"string\" || value === null) {\n return value;\n }\n const url = new URL(value);\n if (!url.search) {\n return value;\n }\n for (const [key] of url.searchParams) {\n if (!this.allowedQueryParameters.has(key.toLowerCase())) {\n url.searchParams.set(key, RedactedString);\n }\n }\n return url.toString();\n }\n}\n//# sourceMappingURL=sanitizer.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { logger as coreLogger } from \"../log.js\";\nimport { Sanitizer } from \"../util/sanitizer.js\";\n/**\n * The programmatic identifier of the logPolicy.\n */\nexport const logPolicyName = \"logPolicy\";\n/**\n * A policy that logs all requests and responses.\n * @param options - Options to configure logPolicy.\n */\nexport function logPolicy(options = {}) {\n var _a;\n const logger = (_a = options.logger) !== null && _a !== void 0 ? _a : coreLogger.info;\n const sanitizer = new Sanitizer({\n additionalAllowedHeaderNames: options.additionalAllowedHeaderNames,\n additionalAllowedQueryParameters: options.additionalAllowedQueryParameters,\n });\n return {\n name: logPolicyName,\n async sendRequest(request, next) {\n if (!logger.enabled) {\n return next(request);\n }\n logger(`Request: ${sanitizer.sanitize(request)}`);\n const response = await next(request);\n logger(`Response status code: ${response.status}`);\n logger(`Headers: ${sanitizer.sanitize(response.headers)}`);\n return response;\n },\n };\n}\n//# sourceMappingURL=logPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * The programmatic identifier of the redirectPolicy.\n */\nexport const redirectPolicyName = \"redirectPolicy\";\n/**\n * Methods that are allowed to follow redirects 301 and 302\n */\nconst allowedRedirect = [\"GET\", \"HEAD\"];\n/**\n * A policy to follow Location headers from the server in order\n * to support server-side redirection.\n * In the browser, this policy is not used.\n * @param options - Options to control policy behavior.\n */\nexport function redirectPolicy(options = {}) {\n const { maxRetries = 20 } = options;\n return {\n name: redirectPolicyName,\n async sendRequest(request, next) {\n const response = await next(request);\n return handleRedirect(next, response, maxRetries);\n },\n };\n}\nasync function handleRedirect(next, response, maxRetries, currentRetries = 0) {\n const { request, status, headers } = response;\n const locationHeader = headers.get(\"location\");\n if (locationHeader &&\n (status === 300 ||\n (status === 301 && allowedRedirect.includes(request.method)) ||\n (status === 302 && allowedRedirect.includes(request.method)) ||\n (status === 303 && request.method === \"POST\") ||\n status === 307) &&\n currentRetries < maxRetries) {\n const url = new URL(locationHeader, request.url);\n request.url = url.toString();\n // POST request with Status code 303 should be converted into a\n // redirected GET request if the redirect url is present in the location header\n if (status === 303) {\n request.method = \"GET\";\n request.headers.delete(\"Content-Length\");\n delete request.body;\n }\n request.headers.delete(\"Authorization\");\n const res = await next(request);\n return handleRedirect(next, res, maxRetries, currentRetries + 1);\n }\n return response;\n}\n//# sourceMappingURL=redirectPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"browser\" section in package.json.\n */\n/**\n * @internal\n */\nexport function getHeaderName() {\n return \"x-ms-useragent\";\n}\n/**\n * @internal\n */\nexport function setPlatformSpecificData(map) {\n var _a, _b, _c;\n const localNavigator = globalThis.navigator;\n map.set(\"OS\", ((_c = (_b = (_a = localNavigator === null || localNavigator === void 0 ? void 0 : localNavigator.userAgentData) === null || _a === void 0 ? void 0 : _a.platform) !== null && _b !== void 0 ? _b : localNavigator === null || localNavigator === void 0 ? void 0 : localNavigator.platform) !== null && _c !== void 0 ? _c : \"unknown\").replace(\" \", \"\"));\n}\n//# sourceMappingURL=userAgentPlatform-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport const SDK_VERSION = \"1.16.0\";\nexport const DEFAULT_RETRY_POLICY_COUNT = 3;\n//# sourceMappingURL=constants.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getHeaderName, setPlatformSpecificData } from \"./userAgentPlatform.js\";\nimport { SDK_VERSION } from \"../constants.js\";\nfunction getUserAgentString(telemetryInfo) {\n const parts = [];\n for (const [key, value] of telemetryInfo) {\n const token = value ? `${key}/${value}` : key;\n parts.push(token);\n }\n return parts.join(\" \");\n}\n/**\n * @internal\n */\nexport function getUserAgentHeaderName() {\n return getHeaderName();\n}\n/**\n * @internal\n */\nexport function getUserAgentValue(prefix) {\n const runtimeInfo = new Map();\n runtimeInfo.set(\"core-rest-pipeline\", SDK_VERSION);\n setPlatformSpecificData(runtimeInfo);\n const defaultAgent = getUserAgentString(runtimeInfo);\n const userAgentValue = prefix ? `${prefix} ${defaultAgent}` : defaultAgent;\n return userAgentValue;\n}\n//# sourceMappingURL=userAgent.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getUserAgentHeaderName, getUserAgentValue } from \"../util/userAgent.js\";\nconst UserAgentHeaderName = getUserAgentHeaderName();\n/**\n * The programmatic identifier of the userAgentPolicy.\n */\nexport const userAgentPolicyName = \"userAgentPolicy\";\n/**\n * A policy that sets the User-Agent header (or equivalent) to reflect\n * the library version.\n * @param options - Options to customize the user agent value.\n */\nexport function userAgentPolicy(options = {}) {\n const userAgentValue = getUserAgentValue(options.userAgentPrefix);\n return {\n name: userAgentPolicyName,\n async sendRequest(request, next) {\n if (!request.headers.has(UserAgentHeaderName)) {\n request.headers.set(UserAgentHeaderName, userAgentValue);\n }\n return next(request);\n },\n };\n}\n//# sourceMappingURL=userAgentPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isNodeLike } from \"@azure/core-util\";\nimport { isNodeReadableStream } from \"./typeGuards.js\";\nconst unimplementedMethods = {\n arrayBuffer: () => {\n throw new Error(\"Not implemented\");\n },\n slice: () => {\n throw new Error(\"Not implemented\");\n },\n text: () => {\n throw new Error(\"Not implemented\");\n },\n};\n/**\n * Private symbol used as key on objects created using createFile containing the\n * original source of the file object.\n *\n * This is used in Node to access the original Node stream without using Blob#stream, which\n * returns a web stream. This is done to avoid a couple of bugs to do with Blob#stream and\n * Readable#to/fromWeb in Node versions we support:\n * - https://github.com/nodejs/node/issues/42694 (fixed in Node 18.14)\n * - https://github.com/nodejs/node/issues/48916 (fixed in Node 20.6)\n *\n * Once these versions are no longer supported, we may be able to stop doing this.\n *\n * @internal\n */\nconst rawContent = Symbol(\"rawContent\");\nfunction hasRawContent(x) {\n return typeof x[rawContent] === \"function\";\n}\n/**\n * Extract the raw content from a given blob-like object. If the input was created using createFile\n * or createFileFromStream, the exact content passed into createFile/createFileFromStream will be used.\n * For true instances of Blob and File, returns the blob's content as a Web ReadableStream.\n *\n * @internal\n */\nexport function getRawContent(blob) {\n if (hasRawContent(blob)) {\n return blob[rawContent]();\n }\n else {\n return blob.stream();\n }\n}\n/**\n * Create an object that implements the File interface. This object is intended to be\n * passed into RequestBodyType.formData, and is not guaranteed to work as expected in\n * other situations.\n *\n * Use this function to:\n * - Create a File object for use in RequestBodyType.formData in environments where the\n * global File object is unavailable.\n * - Create a File-like object from a readable stream without reading the stream into memory.\n *\n * @param stream - the content of the file as a callback returning a stream. When a File object made using createFile is\n * passed in a request's form data map, the stream will not be read into memory\n * and instead will be streamed when the request is made. In the event of a retry, the\n * stream needs to be read again, so this callback SHOULD return a fresh stream if possible.\n * @param name - the name of the file.\n * @param options - optional metadata about the file, e.g. file name, file size, MIME type.\n */\nexport function createFileFromStream(stream, name, options = {}) {\n var _a, _b, _c, _d;\n return Object.assign(Object.assign({}, unimplementedMethods), { type: (_a = options.type) !== null && _a !== void 0 ? _a : \"\", lastModified: (_b = options.lastModified) !== null && _b !== void 0 ? _b : new Date().getTime(), webkitRelativePath: (_c = options.webkitRelativePath) !== null && _c !== void 0 ? _c : \"\", size: (_d = options.size) !== null && _d !== void 0 ? _d : -1, name, stream: () => {\n const s = stream();\n if (isNodeReadableStream(s)) {\n throw new Error(\"Not supported: a Node stream was provided as input to createFileFromStream.\");\n }\n return s;\n }, [rawContent]: stream });\n}\n/**\n * Create an object that implements the File interface. This object is intended to be\n * passed into RequestBodyType.formData, and is not guaranteed to work as expected in\n * other situations.\n *\n * Use this function create a File object for use in RequestBodyType.formData in environments where the global File object is unavailable.\n *\n * @param content - the content of the file as a Uint8Array in memory.\n * @param name - the name of the file.\n * @param options - optional metadata about the file, e.g. file name, file size, MIME type.\n */\nexport function createFile(content, name, options = {}) {\n var _a, _b, _c;\n if (isNodeLike) {\n return Object.assign(Object.assign({}, unimplementedMethods), { type: (_a = options.type) !== null && _a !== void 0 ? _a : \"\", lastModified: (_b = options.lastModified) !== null && _b !== void 0 ? _b : new Date().getTime(), webkitRelativePath: (_c = options.webkitRelativePath) !== null && _c !== void 0 ? _c : \"\", size: content.byteLength, name, arrayBuffer: async () => content.buffer, stream: () => new Blob([content]).stream(), [rawContent]: () => content });\n }\n else {\n return new File([content], name, options);\n }\n}\n//# sourceMappingURL=file.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport function isNodeReadableStream(x) {\n return Boolean(x && typeof x[\"pipe\"] === \"function\");\n}\nexport function isWebReadableStream(x) {\n return Boolean(x &&\n typeof x.getReader === \"function\" &&\n typeof x.tee === \"function\");\n}\nexport function isReadableStream(x) {\n return isNodeReadableStream(x) || isWebReadableStream(x);\n}\nexport function isBlob(x) {\n return typeof x.stream === \"function\";\n}\n//# sourceMappingURL=typeGuards.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getRawContent } from \"./file.js\";\nimport { isNodeReadableStream, isWebReadableStream } from \"./typeGuards.js\";\n/**\n * Drain the content of the given ReadableStream into a Blob.\n * The blob's content may end up in memory or on disk dependent on size.\n */\nfunction drain(stream) {\n return new Response(stream).blob();\n}\nasync function toBlobPart(source) {\n if (source instanceof Blob || source instanceof Uint8Array) {\n return source;\n }\n if (isWebReadableStream(source)) {\n return drain(source);\n }\n // If it's not a true Blob, and it's not a Uint8Array, we can assume the source\n // is a fake File created by createFileFromStream and we can get the original stream\n // using getRawContent.\n const rawContent = getRawContent(source);\n // Shouldn't happen but guard for it anyway\n if (isNodeReadableStream(rawContent)) {\n throw new Error(\"Encountered unexpected type. In the browser, `concat` supports Web ReadableStream, Blob, Uint8Array, and files created using `createFile` only.\");\n }\n return toBlobPart(rawContent);\n}\n/**\n * Utility function that concatenates a set of binary inputs into one combined output.\n *\n * @param sources - array of sources for the concatenation\n * @returns - in Node, a (() =\\> NodeJS.ReadableStream) which, when read, produces a concatenation of all the inputs.\n * In browser, returns a `Blob` representing all the concatenated inputs.\n *\n * @internal\n */\nexport async function concat(sources) {\n const parts = [];\n for (const source of sources) {\n parts.push(await toBlobPart(typeof source === \"function\" ? source() : source));\n }\n return new Blob(parts);\n}\n//# sourceMappingURL=concat-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { randomUUID, stringToUint8Array } from \"@azure/core-util\";\nimport { concat } from \"../util/concat.js\";\nimport { isBlob } from \"../util/typeGuards.js\";\nfunction generateBoundary() {\n return `----AzSDKFormBoundary${randomUUID()}`;\n}\nfunction encodeHeaders(headers) {\n let result = \"\";\n for (const [key, value] of headers) {\n result += `${key}: ${value}\\r\\n`;\n }\n return result;\n}\nfunction getLength(source) {\n if (source instanceof Uint8Array) {\n return source.byteLength;\n }\n else if (isBlob(source)) {\n // if was created using createFile then -1 means we have an unknown size\n return source.size === -1 ? undefined : source.size;\n }\n else {\n return undefined;\n }\n}\nfunction getTotalLength(sources) {\n let total = 0;\n for (const source of sources) {\n const partLength = getLength(source);\n if (partLength === undefined) {\n return undefined;\n }\n else {\n total += partLength;\n }\n }\n return total;\n}\nasync function buildRequestBody(request, parts, boundary) {\n const sources = [\n stringToUint8Array(`--${boundary}`, \"utf-8\"),\n ...parts.flatMap((part) => [\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n stringToUint8Array(encodeHeaders(part.headers), \"utf-8\"),\n stringToUint8Array(\"\\r\\n\", \"utf-8\"),\n part.body,\n stringToUint8Array(`\\r\\n--${boundary}`, \"utf-8\"),\n ]),\n stringToUint8Array(\"--\\r\\n\\r\\n\", \"utf-8\"),\n ];\n const contentLength = getTotalLength(sources);\n if (contentLength) {\n request.headers.set(\"Content-Length\", contentLength);\n }\n request.body = await concat(sources);\n}\n/**\n * Name of multipart policy\n */\nexport const multipartPolicyName = \"multipartPolicy\";\nconst maxBoundaryLength = 70;\nconst validBoundaryCharacters = new Set(`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?`);\nfunction assertValidBoundary(boundary) {\n if (boundary.length > maxBoundaryLength) {\n throw new Error(`Multipart boundary \"${boundary}\" exceeds maximum length of 70 characters`);\n }\n if (Array.from(boundary).some((x) => !validBoundaryCharacters.has(x))) {\n throw new Error(`Multipart boundary \"${boundary}\" contains invalid characters`);\n }\n}\n/**\n * Pipeline policy for multipart requests\n */\nexport function multipartPolicy() {\n return {\n name: multipartPolicyName,\n async sendRequest(request, next) {\n var _a;\n if (!request.multipartBody) {\n return next(request);\n }\n if (request.body) {\n throw new Error(\"multipartBody and regular body cannot be set at the same time\");\n }\n let boundary = request.multipartBody.boundary;\n const contentTypeHeader = (_a = request.headers.get(\"Content-Type\")) !== null && _a !== void 0 ? _a : \"multipart/mixed\";\n const parsedHeader = contentTypeHeader.match(/^(multipart\\/[^ ;]+)(?:; *boundary=(.+))?$/);\n if (!parsedHeader) {\n throw new Error(`Got multipart request body, but content-type header was not multipart: ${contentTypeHeader}`);\n }\n const [, contentType, parsedBoundary] = parsedHeader;\n if (parsedBoundary && boundary && parsedBoundary !== boundary) {\n throw new Error(`Multipart boundary was specified as ${parsedBoundary} in the header, but got ${boundary} in the request body`);\n }\n boundary !== null && boundary !== void 0 ? boundary : (boundary = parsedBoundary);\n if (boundary) {\n assertValidBoundary(boundary);\n }\n else {\n boundary = generateBoundary();\n }\n request.headers.set(\"Content-Type\", `${contentType}; boundary=${boundary}`);\n await buildRequestBody(request, request.multipartBody.parts, boundary);\n request.multipartBody = undefined;\n return next(request);\n },\n };\n}\n//# sourceMappingURL=multipartPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"browser\" section in package.json\n */\nexport const decompressResponsePolicyName = \"decompressResponsePolicy\";\n/**\n * decompressResponsePolicy is not supported in the browser and attempting\n * to use it will raise an error.\n */\nexport function decompressResponsePolicy() {\n throw new Error(\"decompressResponsePolicy is not supported in browser environment\");\n}\n//# sourceMappingURL=decompressResponsePolicy-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AbortError } from \"@azure/abort-controller\";\nconst StandardAbortMessage = \"The operation was aborted.\";\n/**\n * A wrapper for setTimeout that resolves a promise after delayInMs milliseconds.\n * @param delayInMs - The number of milliseconds to be delayed.\n * @param value - The value to be resolved with after a timeout of t milliseconds.\n * @param options - The options for delay - currently abort options\n * - abortSignal - The abortSignal associated with containing operation.\n * - abortErrorMsg - The abort error message associated with containing operation.\n * @returns Resolved promise\n */\nexport function delay(delayInMs, value, options) {\n return new Promise((resolve, reject) => {\n let timer = undefined;\n let onAborted = undefined;\n const rejectOnAbort = () => {\n return reject(new AbortError((options === null || options === void 0 ? void 0 : options.abortErrorMsg) ? options === null || options === void 0 ? void 0 : options.abortErrorMsg : StandardAbortMessage));\n };\n const removeListeners = () => {\n if ((options === null || options === void 0 ? void 0 : options.abortSignal) && onAborted) {\n options.abortSignal.removeEventListener(\"abort\", onAborted);\n }\n };\n onAborted = () => {\n if (timer) {\n clearTimeout(timer);\n }\n removeListeners();\n return rejectOnAbort();\n };\n if ((options === null || options === void 0 ? void 0 : options.abortSignal) && options.abortSignal.aborted) {\n return rejectOnAbort();\n }\n timer = setTimeout(() => {\n removeListeners();\n resolve(value);\n }, delayInMs);\n if (options === null || options === void 0 ? void 0 : options.abortSignal) {\n options.abortSignal.addEventListener(\"abort\", onAborted);\n }\n });\n}\n/**\n * @internal\n * @returns the parsed value or undefined if the parsed value is invalid.\n */\nexport function parseHeaderValueAsNumber(response, headerName) {\n const value = response.headers.get(headerName);\n if (!value)\n return;\n const valueAsNum = Number(value);\n if (Number.isNaN(valueAsNum))\n return;\n return valueAsNum;\n}\n//# sourceMappingURL=helpers.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { parseHeaderValueAsNumber } from \"../util/helpers.js\";\n/**\n * The header that comes back from Azure services representing\n * the amount of time (minimum) to wait to retry (in seconds or timestamp after which we can retry).\n */\nconst RetryAfterHeader = \"Retry-After\";\n/**\n * The headers that come back from Azure services representing\n * the amount of time (minimum) to wait to retry.\n *\n * \"retry-after-ms\", \"x-ms-retry-after-ms\" : milliseconds\n * \"Retry-After\" : seconds or timestamp\n */\nconst AllRetryAfterHeaders = [\"retry-after-ms\", \"x-ms-retry-after-ms\", RetryAfterHeader];\n/**\n * A response is a throttling retry response if it has a throttling status code (429 or 503),\n * as long as one of the [ \"Retry-After\" or \"retry-after-ms\" or \"x-ms-retry-after-ms\" ] headers has a valid value.\n *\n * Returns the `retryAfterInMs` value if the response is a throttling retry response.\n * If not throttling retry response, returns `undefined`.\n *\n * @internal\n */\nfunction getRetryAfterInMs(response) {\n if (!(response && [429, 503].includes(response.status)))\n return undefined;\n try {\n // Headers: \"retry-after-ms\", \"x-ms-retry-after-ms\", \"Retry-After\"\n for (const header of AllRetryAfterHeaders) {\n const retryAfterValue = parseHeaderValueAsNumber(response, header);\n if (retryAfterValue === 0 || retryAfterValue) {\n // \"Retry-After\" header ==> seconds\n // \"retry-after-ms\", \"x-ms-retry-after-ms\" headers ==> milli-seconds\n const multiplyingFactor = header === RetryAfterHeader ? 1000 : 1;\n return retryAfterValue * multiplyingFactor; // in milli-seconds\n }\n }\n // RetryAfterHeader (\"Retry-After\") has a special case where it might be formatted as a date instead of a number of seconds\n const retryAfterHeader = response.headers.get(RetryAfterHeader);\n if (!retryAfterHeader)\n return;\n const date = Date.parse(retryAfterHeader);\n const diff = date - Date.now();\n // negative diff would mean a date in the past, so retry asap with 0 milliseconds\n return Number.isFinite(diff) ? Math.max(0, diff) : undefined;\n }\n catch (e) {\n return undefined;\n }\n}\n/**\n * A response is a retry response if it has a throttling status code (429 or 503),\n * as long as one of the [ \"Retry-After\" or \"retry-after-ms\" or \"x-ms-retry-after-ms\" ] headers has a valid value.\n */\nexport function isThrottlingRetryResponse(response) {\n return Number.isFinite(getRetryAfterInMs(response));\n}\nexport function throttlingRetryStrategy() {\n return {\n name: \"throttlingRetryStrategy\",\n retry({ response }) {\n const retryAfterInMs = getRetryAfterInMs(response);\n if (!Number.isFinite(retryAfterInMs)) {\n return { skipStrategy: true };\n }\n return {\n retryAfterInMs,\n };\n },\n };\n}\n//# sourceMappingURL=throttlingRetryStrategy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getRandomIntegerInclusive } from \"@azure/core-util\";\nimport { isThrottlingRetryResponse } from \"./throttlingRetryStrategy.js\";\n// intervals are in milliseconds\nconst DEFAULT_CLIENT_RETRY_INTERVAL = 1000;\nconst DEFAULT_CLIENT_MAX_RETRY_INTERVAL = 1000 * 64;\n/**\n * A retry strategy that retries with an exponentially increasing delay in these two cases:\n * - When there are errors in the underlying transport layer (e.g. DNS lookup failures).\n * - Or otherwise if the outgoing request fails (408, greater or equal than 500, except for 501 and 505).\n */\nexport function exponentialRetryStrategy(options = {}) {\n var _a, _b;\n const retryInterval = (_a = options.retryDelayInMs) !== null && _a !== void 0 ? _a : DEFAULT_CLIENT_RETRY_INTERVAL;\n const maxRetryInterval = (_b = options.maxRetryDelayInMs) !== null && _b !== void 0 ? _b : DEFAULT_CLIENT_MAX_RETRY_INTERVAL;\n let retryAfterInMs = retryInterval;\n return {\n name: \"exponentialRetryStrategy\",\n retry({ retryCount, response, responseError }) {\n const matchedSystemError = isSystemError(responseError);\n const ignoreSystemErrors = matchedSystemError && options.ignoreSystemErrors;\n const isExponential = isExponentialRetryResponse(response);\n const ignoreExponentialResponse = isExponential && options.ignoreHttpStatusCodes;\n const unknownResponse = response && (isThrottlingRetryResponse(response) || !isExponential);\n if (unknownResponse || ignoreExponentialResponse || ignoreSystemErrors) {\n return { skipStrategy: true };\n }\n if (responseError && !matchedSystemError && !isExponential) {\n return { errorToThrow: responseError };\n }\n // Exponentially increase the delay each time\n const exponentialDelay = retryAfterInMs * Math.pow(2, retryCount);\n // Don't let the delay exceed the maximum\n const clampedExponentialDelay = Math.min(maxRetryInterval, exponentialDelay);\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n retryAfterInMs =\n clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2);\n return { retryAfterInMs };\n },\n };\n}\n/**\n * A response is a retry response if it has status codes:\n * - 408, or\n * - Greater or equal than 500, except for 501 and 505.\n */\nexport function isExponentialRetryResponse(response) {\n return Boolean(response &&\n response.status !== undefined &&\n (response.status >= 500 || response.status === 408) &&\n response.status !== 501 &&\n response.status !== 505);\n}\n/**\n * Determines whether an error from a pipeline response was triggered in the network layer.\n */\nexport function isSystemError(err) {\n if (!err) {\n return false;\n }\n return (err.code === \"ETIMEDOUT\" ||\n err.code === \"ESOCKETTIMEDOUT\" ||\n err.code === \"ECONNREFUSED\" ||\n err.code === \"ECONNRESET\" ||\n err.code === \"ENOENT\" ||\n err.code === \"ENOTFOUND\");\n}\n//# sourceMappingURL=exponentialRetryStrategy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { delay } from \"../util/helpers.js\";\nimport { createClientLogger } from \"@azure/logger\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport { DEFAULT_RETRY_POLICY_COUNT } from \"../constants.js\";\nconst retryPolicyLogger = createClientLogger(\"core-rest-pipeline retryPolicy\");\n/**\n * The programmatic identifier of the retryPolicy.\n */\nconst retryPolicyName = \"retryPolicy\";\n/**\n * retryPolicy is a generic policy to enable retrying requests when certain conditions are met\n */\nexport function retryPolicy(strategies, options = { maxRetries: DEFAULT_RETRY_POLICY_COUNT }) {\n const logger = options.logger || retryPolicyLogger;\n return {\n name: retryPolicyName,\n async sendRequest(request, next) {\n var _a, _b;\n let response;\n let responseError;\n let retryCount = -1;\n // eslint-disable-next-line no-constant-condition\n retryRequest: while (true) {\n retryCount += 1;\n response = undefined;\n responseError = undefined;\n try {\n logger.info(`Retry ${retryCount}: Attempting to send request`, request.requestId);\n response = await next(request);\n logger.info(`Retry ${retryCount}: Received a response from request`, request.requestId);\n }\n catch (e) {\n logger.error(`Retry ${retryCount}: Received an error from request`, request.requestId);\n // RestErrors are valid targets for the retry strategies.\n // If none of the retry strategies can work with them, they will be thrown later in this policy.\n // If the received error is not a RestError, it is immediately thrown.\n responseError = e;\n if (!e || responseError.name !== \"RestError\") {\n throw e;\n }\n response = responseError.response;\n }\n if ((_a = request.abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {\n logger.error(`Retry ${retryCount}: Request aborted.`);\n const abortError = new AbortError();\n throw abortError;\n }\n if (retryCount >= ((_b = options.maxRetries) !== null && _b !== void 0 ? _b : DEFAULT_RETRY_POLICY_COUNT)) {\n logger.info(`Retry ${retryCount}: Maximum retries reached. Returning the last received response, or throwing the last received error.`);\n if (responseError) {\n throw responseError;\n }\n else if (response) {\n return response;\n }\n else {\n throw new Error(\"Maximum retries reached with no response or error to throw\");\n }\n }\n logger.info(`Retry ${retryCount}: Processing ${strategies.length} retry strategies.`);\n strategiesLoop: for (const strategy of strategies) {\n const strategyLogger = strategy.logger || retryPolicyLogger;\n strategyLogger.info(`Retry ${retryCount}: Processing retry strategy ${strategy.name}.`);\n const modifiers = strategy.retry({\n retryCount,\n response,\n responseError,\n });\n if (modifiers.skipStrategy) {\n strategyLogger.info(`Retry ${retryCount}: Skipped.`);\n continue strategiesLoop;\n }\n const { errorToThrow, retryAfterInMs, redirectTo } = modifiers;\n if (errorToThrow) {\n strategyLogger.error(`Retry ${retryCount}: Retry strategy ${strategy.name} throws error:`, errorToThrow);\n throw errorToThrow;\n }\n if (retryAfterInMs || retryAfterInMs === 0) {\n strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} retries after ${retryAfterInMs}`);\n await delay(retryAfterInMs, undefined, { abortSignal: request.abortSignal });\n continue retryRequest;\n }\n if (redirectTo) {\n strategyLogger.info(`Retry ${retryCount}: Retry strategy ${strategy.name} redirects to ${redirectTo}`);\n request.url = redirectTo;\n continue retryRequest;\n }\n }\n if (responseError) {\n logger.info(`None of the retry strategies could work with the received error. Throwing it.`);\n throw responseError;\n }\n if (response) {\n logger.info(`None of the retry strategies could work with the received response. Returning it.`);\n return response;\n }\n // If all the retries skip and there's no response,\n // we're still in the retry loop, so a new request will be sent\n // until `maxRetries` is reached.\n }\n },\n };\n}\n//# sourceMappingURL=retryPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { exponentialRetryStrategy } from \"../retryStrategies/exponentialRetryStrategy.js\";\nimport { throttlingRetryStrategy } from \"../retryStrategies/throttlingRetryStrategy.js\";\nimport { retryPolicy } from \"./retryPolicy.js\";\nimport { DEFAULT_RETRY_POLICY_COUNT } from \"../constants.js\";\n/**\n * Name of the {@link defaultRetryPolicy}\n */\nexport const defaultRetryPolicyName = \"defaultRetryPolicy\";\n/**\n * A policy that retries according to three strategies:\n * - When the server sends a 429 response with a Retry-After header.\n * - When there are errors in the underlying transport layer (e.g. DNS lookup failures).\n * - Or otherwise if the outgoing request fails, it will retry with an exponentially increasing delay.\n */\nexport function defaultRetryPolicy(options = {}) {\n var _a;\n return {\n name: defaultRetryPolicyName,\n sendRequest: retryPolicy([throttlingRetryStrategy(), exponentialRetryStrategy(options)], {\n maxRetries: (_a = options.maxRetries) !== null && _a !== void 0 ? _a : DEFAULT_RETRY_POLICY_COUNT,\n }).sendRequest,\n };\n}\n//# sourceMappingURL=defaultRetryPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nfunction normalizeName(name) {\n return name.toLowerCase();\n}\nfunction* headerIterator(map) {\n for (const entry of map.values()) {\n yield [entry.name, entry.value];\n }\n}\nclass HttpHeadersImpl {\n constructor(rawHeaders) {\n this._headersMap = new Map();\n if (rawHeaders) {\n for (const headerName of Object.keys(rawHeaders)) {\n this.set(headerName, rawHeaders[headerName]);\n }\n }\n }\n /**\n * Set a header in this collection with the provided name and value. The name is\n * case-insensitive.\n * @param name - The name of the header to set. This value is case-insensitive.\n * @param value - The value of the header to set.\n */\n set(name, value) {\n this._headersMap.set(normalizeName(name), { name, value: String(value).trim() });\n }\n /**\n * Get the header value for the provided header name, or undefined if no header exists in this\n * collection with the provided name.\n * @param name - The name of the header. This value is case-insensitive.\n */\n get(name) {\n var _a;\n return (_a = this._headersMap.get(normalizeName(name))) === null || _a === void 0 ? void 0 : _a.value;\n }\n /**\n * Get whether or not this header collection contains a header entry for the provided header name.\n * @param name - The name of the header to set. This value is case-insensitive.\n */\n has(name) {\n return this._headersMap.has(normalizeName(name));\n }\n /**\n * Remove the header with the provided headerName.\n * @param name - The name of the header to remove.\n */\n delete(name) {\n this._headersMap.delete(normalizeName(name));\n }\n /**\n * Get the JSON object representation of this HTTP header collection.\n */\n toJSON(options = {}) {\n const result = {};\n if (options.preserveCase) {\n for (const entry of this._headersMap.values()) {\n result[entry.name] = entry.value;\n }\n }\n else {\n for (const [normalizedName, entry] of this._headersMap) {\n result[normalizedName] = entry.value;\n }\n }\n return result;\n }\n /**\n * Get the string representation of this HTTP header collection.\n */\n toString() {\n return JSON.stringify(this.toJSON({ preserveCase: true }));\n }\n /**\n * Iterate over tuples of header [name, value] pairs.\n */\n [Symbol.iterator]() {\n return headerIterator(this._headersMap);\n }\n}\n/**\n * Creates an object that satisfies the `HttpHeaders` interface.\n * @param rawHeaders - A simple object representing initial headers\n */\nexport function createHttpHeaders(rawHeaders) {\n return new HttpHeadersImpl(rawHeaders);\n}\n//# sourceMappingURL=httpHeaders.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isNodeLike, stringToUint8Array } from \"@azure/core-util\";\nimport { createHttpHeaders } from \"../httpHeaders.js\";\n/**\n * The programmatic identifier of the formDataPolicy.\n */\nexport const formDataPolicyName = \"formDataPolicy\";\nfunction formDataToFormDataMap(formData) {\n var _a;\n const formDataMap = {};\n for (const [key, value] of formData.entries()) {\n (_a = formDataMap[key]) !== null && _a !== void 0 ? _a : (formDataMap[key] = []);\n formDataMap[key].push(value);\n }\n return formDataMap;\n}\n/**\n * A policy that encodes FormData on the request into the body.\n */\nexport function formDataPolicy() {\n return {\n name: formDataPolicyName,\n async sendRequest(request, next) {\n if (isNodeLike && typeof FormData !== \"undefined\" && request.body instanceof FormData) {\n request.formData = formDataToFormDataMap(request.body);\n request.body = undefined;\n }\n if (request.formData) {\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && contentType.indexOf(\"application/x-www-form-urlencoded\") !== -1) {\n request.body = wwwFormUrlEncode(request.formData);\n }\n else {\n await prepareFormData(request.formData, request);\n }\n request.formData = undefined;\n }\n return next(request);\n },\n };\n}\nfunction wwwFormUrlEncode(formData) {\n const urlSearchParams = new URLSearchParams();\n for (const [key, value] of Object.entries(formData)) {\n if (Array.isArray(value)) {\n for (const subValue of value) {\n urlSearchParams.append(key, subValue.toString());\n }\n }\n else {\n urlSearchParams.append(key, value.toString());\n }\n }\n return urlSearchParams.toString();\n}\nasync function prepareFormData(formData, request) {\n // validate content type (multipart/form-data)\n const contentType = request.headers.get(\"Content-Type\");\n if (contentType && !contentType.startsWith(\"multipart/form-data\")) {\n // content type is specified and is not multipart/form-data. Exit.\n return;\n }\n request.headers.set(\"Content-Type\", contentType !== null && contentType !== void 0 ? contentType : \"multipart/form-data\");\n // set body to MultipartRequestBody using content from FormDataMap\n const parts = [];\n for (const [fieldName, values] of Object.entries(formData)) {\n for (const value of Array.isArray(values) ? values : [values]) {\n if (typeof value === \"string\") {\n parts.push({\n headers: createHttpHeaders({\n \"Content-Disposition\": `form-data; name=\"${fieldName}\"`,\n }),\n body: stringToUint8Array(value, \"utf-8\"),\n });\n }\n else if (value === undefined || value === null || typeof value !== \"object\") {\n throw new Error(`Unexpected value for key ${fieldName}: ${value}. Value should be serialized to string first.`);\n }\n else {\n // using || instead of ?? here since if value.name is empty we should create a file name\n const fileName = value.name || \"blob\";\n const headers = createHttpHeaders();\n headers.set(\"Content-Disposition\", `form-data; name=\"${fieldName}\"; filename=\"${fileName}\"`);\n // again, || is used since an empty value.type means the content type is unset\n headers.set(\"Content-Type\", value.type || \"application/octet-stream\");\n parts.push({\n headers,\n body: value,\n });\n }\n }\n }\n request.multipartBody = { parts };\n}\n//# sourceMappingURL=formDataPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/*\n * NOTE: When moving this file, please update \"browser\" section in package.json\n */\nexport const proxyPolicyName = \"proxyPolicy\";\nconst errorMessage = \"proxyPolicy is not supported in browser environment\";\nexport function getDefaultProxySettings() {\n throw new Error(errorMessage);\n}\n/**\n * proxyPolicy is not supported in the browser and attempting\n * to use it will raise an error.\n */\nexport function proxyPolicy() {\n throw new Error(errorMessage);\n}\n/**\n * A function to reset the cached agents.\n * proxyPolicy is not supported in the browser and attempting\n * to use it will raise an error.\n * @internal\n */\nexport function resetCachedProxyAgents() {\n throw new Error(errorMessage);\n}\n//# sourceMappingURL=proxyPolicy-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * The programmatic identifier of the setClientRequestIdPolicy.\n */\nexport const setClientRequestIdPolicyName = \"setClientRequestIdPolicy\";\n/**\n * Each PipelineRequest gets a unique id upon creation.\n * This policy passes that unique id along via an HTTP header to enable better\n * telemetry and tracing.\n * @param requestIdHeaderName - The name of the header to pass the request ID to.\n */\nexport function setClientRequestIdPolicy(requestIdHeaderName = \"x-ms-client-request-id\") {\n return {\n name: setClientRequestIdPolicyName,\n async sendRequest(request, next) {\n if (!request.headers.has(requestIdHeaderName)) {\n request.headers.set(requestIdHeaderName, request.requestId);\n }\n return next(request);\n },\n };\n}\n//# sourceMappingURL=setClientRequestIdPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Name of the TLS Policy\n */\nexport const tlsPolicyName = \"tlsPolicy\";\n/**\n * Gets a pipeline policy that adds the client certificate to the HttpClient agent for authentication.\n */\nexport function tlsPolicy(tlsSettings) {\n return {\n name: tlsPolicyName,\n sendRequest: async (req, next) => {\n // Users may define a request tlsSettings, honor those over the client level one\n if (!req.tlsSettings) {\n req.tlsSettings = tlsSettings;\n }\n return next(req);\n },\n };\n}\n//# sourceMappingURL=tlsPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/** @internal */\nexport const knownContextKeys = {\n span: Symbol.for(\"@azure/core-tracing span\"),\n namespace: Symbol.for(\"@azure/core-tracing namespace\"),\n};\n/**\n * Creates a new {@link TracingContext} with the given options.\n * @param options - A set of known keys that may be set on the context.\n * @returns A new {@link TracingContext} with the given options.\n *\n * @internal\n */\nexport function createTracingContext(options = {}) {\n let context = new TracingContextImpl(options.parentContext);\n if (options.span) {\n context = context.setValue(knownContextKeys.span, options.span);\n }\n if (options.namespace) {\n context = context.setValue(knownContextKeys.namespace, options.namespace);\n }\n return context;\n}\n/** @internal */\nexport class TracingContextImpl {\n constructor(initialContext) {\n this._contextMap =\n initialContext instanceof TracingContextImpl\n ? new Map(initialContext._contextMap)\n : new Map();\n }\n setValue(key, value) {\n const newContext = new TracingContextImpl(this);\n newContext._contextMap.set(key, value);\n return newContext;\n }\n getValue(key) {\n return this._contextMap.get(key);\n }\n deleteValue(key) {\n const newContext = new TracingContextImpl(this);\n newContext._contextMap.delete(key);\n return newContext;\n }\n}\n//# sourceMappingURL=tracingContext.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Browser-only implementation of the module's state. The browser esm variant will not load the commonjs state, so we do not need to share state between the two.\n */\nexport const state = {\n instrumenterImplementation: undefined,\n};\n//# sourceMappingURL=state-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createTracingContext } from \"./tracingContext.js\";\nimport { state } from \"./state.js\";\nexport function createDefaultTracingSpan() {\n return {\n end: () => {\n // noop\n },\n isRecording: () => false,\n recordException: () => {\n // noop\n },\n setAttribute: () => {\n // noop\n },\n setStatus: () => {\n // noop\n },\n };\n}\nexport function createDefaultInstrumenter() {\n return {\n createRequestHeaders: () => {\n return {};\n },\n parseTraceparentHeader: () => {\n return undefined;\n },\n startSpan: (_name, spanOptions) => {\n return {\n span: createDefaultTracingSpan(),\n tracingContext: createTracingContext({ parentContext: spanOptions.tracingContext }),\n };\n },\n withContext(_context, callback, ...callbackArgs) {\n return callback(...callbackArgs);\n },\n };\n}\n/**\n * Extends the Azure SDK with support for a given instrumenter implementation.\n *\n * @param instrumenter - The instrumenter implementation to use.\n */\nexport function useInstrumenter(instrumenter) {\n state.instrumenterImplementation = instrumenter;\n}\n/**\n * Gets the currently set instrumenter, a No-Op instrumenter by default.\n *\n * @returns The currently set instrumenter\n */\nexport function getInstrumenter() {\n if (!state.instrumenterImplementation) {\n state.instrumenterImplementation = createDefaultInstrumenter();\n }\n return state.instrumenterImplementation;\n}\n//# sourceMappingURL=instrumenter.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getInstrumenter } from \"./instrumenter.js\";\nimport { knownContextKeys } from \"./tracingContext.js\";\n/**\n * Creates a new tracing client.\n *\n * @param options - Options used to configure the tracing client.\n * @returns - An instance of {@link TracingClient}.\n */\nexport function createTracingClient(options) {\n const { namespace, packageName, packageVersion } = options;\n function startSpan(name, operationOptions, spanOptions) {\n var _a;\n const startSpanResult = getInstrumenter().startSpan(name, Object.assign(Object.assign({}, spanOptions), { packageName: packageName, packageVersion: packageVersion, tracingContext: (_a = operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions) === null || _a === void 0 ? void 0 : _a.tracingContext }));\n let tracingContext = startSpanResult.tracingContext;\n const span = startSpanResult.span;\n if (!tracingContext.getValue(knownContextKeys.namespace)) {\n tracingContext = tracingContext.setValue(knownContextKeys.namespace, namespace);\n }\n span.setAttribute(\"az.namespace\", tracingContext.getValue(knownContextKeys.namespace));\n const updatedOptions = Object.assign({}, operationOptions, {\n tracingOptions: Object.assign(Object.assign({}, operationOptions === null || operationOptions === void 0 ? void 0 : operationOptions.tracingOptions), { tracingContext }),\n });\n return {\n span,\n updatedOptions,\n };\n }\n async function withSpan(name, operationOptions, callback, spanOptions) {\n const { span, updatedOptions } = startSpan(name, operationOptions, spanOptions);\n try {\n const result = await withContext(updatedOptions.tracingOptions.tracingContext, () => Promise.resolve(callback(updatedOptions, span)));\n span.setStatus({ status: \"success\" });\n return result;\n }\n catch (err) {\n span.setStatus({ status: \"error\", error: err });\n throw err;\n }\n finally {\n span.end();\n }\n }\n function withContext(context, callback, ...callbackArgs) {\n return getInstrumenter().withContext(context, callback, ...callbackArgs);\n }\n /**\n * Parses a traceparent header value into a span identifier.\n *\n * @param traceparentHeader - The traceparent header to parse.\n * @returns An implementation-specific identifier for the span.\n */\n function parseTraceparentHeader(traceparentHeader) {\n return getInstrumenter().parseTraceparentHeader(traceparentHeader);\n }\n /**\n * Creates a set of request headers to propagate tracing information to a backend.\n *\n * @param tracingContext - The context containing the span to serialize.\n * @returns The set of headers to add to a request.\n */\n function createRequestHeaders(tracingContext) {\n return getInstrumenter().createRequestHeaders(tracingContext);\n }\n return {\n startSpan,\n withSpan,\n withContext,\n parseTraceparentHeader,\n createRequestHeaders,\n };\n}\n//# sourceMappingURL=tracingClient.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nexport const custom = {};\n//# sourceMappingURL=inspect-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { isError } from \"@azure/core-util\";\nimport { custom } from \"./util/inspect.js\";\nimport { Sanitizer } from \"./util/sanitizer.js\";\nconst errorSanitizer = new Sanitizer();\n/**\n * A custom error type for failed pipeline requests.\n */\nexport class RestError extends Error {\n constructor(message, options = {}) {\n super(message);\n this.name = \"RestError\";\n this.code = options.code;\n this.statusCode = options.statusCode;\n this.request = options.request;\n this.response = options.response;\n Object.setPrototypeOf(this, RestError.prototype);\n }\n /**\n * Logging method for util.inspect in Node\n */\n [custom]() {\n return `RestError: ${this.message} \\n ${errorSanitizer.sanitize(this)}`;\n }\n}\n/**\n * Something went wrong when making the request.\n * This means the actual request failed for some reason,\n * such as a DNS issue or the connection being lost.\n */\nRestError.REQUEST_SEND_ERROR = \"REQUEST_SEND_ERROR\";\n/**\n * This means that parsing the response from the server failed.\n * It may have been malformed.\n */\nRestError.PARSE_ERROR = \"PARSE_ERROR\";\n/**\n * Typeguard for RestError\n * @param e - Something caught by a catch clause.\n */\nexport function isRestError(e) {\n if (e instanceof RestError) {\n return true;\n }\n return isError(e) && e.name === \"RestError\";\n}\n//# sourceMappingURL=restError.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createTracingClient, } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"../constants.js\";\nimport { getUserAgentValue } from \"../util/userAgent.js\";\nimport { logger } from \"../log.js\";\nimport { getErrorMessage, isError } from \"@azure/core-util\";\nimport { isRestError } from \"../restError.js\";\n/**\n * The programmatic identifier of the tracingPolicy.\n */\nexport const tracingPolicyName = \"tracingPolicy\";\n/**\n * A simple policy to create OpenTelemetry Spans for each request made by the pipeline\n * that has SpanOptions with a parent.\n * Requests made without a parent Span will not be recorded.\n * @param options - Options to configure the telemetry logged by the tracing policy.\n */\nexport function tracingPolicy(options = {}) {\n const userAgent = getUserAgentValue(options.userAgentPrefix);\n const tracingClient = tryCreateTracingClient();\n return {\n name: tracingPolicyName,\n async sendRequest(request, next) {\n var _a, _b;\n if (!tracingClient || !((_a = request.tracingOptions) === null || _a === void 0 ? void 0 : _a.tracingContext)) {\n return next(request);\n }\n const { span, tracingContext } = (_b = tryCreateSpan(tracingClient, request, userAgent)) !== null && _b !== void 0 ? _b : {};\n if (!span || !tracingContext) {\n return next(request);\n }\n try {\n const response = await tracingClient.withContext(tracingContext, next, request);\n tryProcessResponse(span, response);\n return response;\n }\n catch (err) {\n tryProcessError(span, err);\n throw err;\n }\n },\n };\n}\nfunction tryCreateTracingClient() {\n try {\n return createTracingClient({\n namespace: \"\",\n packageName: \"@azure/core-rest-pipeline\",\n packageVersion: SDK_VERSION,\n });\n }\n catch (e) {\n logger.warning(`Error when creating the TracingClient: ${getErrorMessage(e)}`);\n return undefined;\n }\n}\nfunction tryCreateSpan(tracingClient, request, userAgent) {\n try {\n // As per spec, we do not need to differentiate between HTTP and HTTPS in span name.\n const { span, updatedOptions } = tracingClient.startSpan(`HTTP ${request.method}`, { tracingOptions: request.tracingOptions }, {\n spanKind: \"client\",\n spanAttributes: {\n \"http.method\": request.method,\n \"http.url\": request.url,\n requestId: request.requestId,\n },\n });\n // If the span is not recording, don't do any more work.\n if (!span.isRecording()) {\n span.end();\n return undefined;\n }\n if (userAgent) {\n span.setAttribute(\"http.user_agent\", userAgent);\n }\n // set headers\n const headers = tracingClient.createRequestHeaders(updatedOptions.tracingOptions.tracingContext);\n for (const [key, value] of Object.entries(headers)) {\n request.headers.set(key, value);\n }\n return { span, tracingContext: updatedOptions.tracingOptions.tracingContext };\n }\n catch (e) {\n logger.warning(`Skipping creating a tracing span due to an error: ${getErrorMessage(e)}`);\n return undefined;\n }\n}\nfunction tryProcessError(span, error) {\n try {\n span.setStatus({\n status: \"error\",\n error: isError(error) ? error : undefined,\n });\n if (isRestError(error) && error.statusCode) {\n span.setAttribute(\"http.status_code\", error.statusCode);\n }\n span.end();\n }\n catch (e) {\n logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e)}`);\n }\n}\nfunction tryProcessResponse(span, response) {\n try {\n span.setAttribute(\"http.status_code\", response.status);\n const serviceRequestId = response.headers.get(\"x-ms-request-id\");\n if (serviceRequestId) {\n span.setAttribute(\"serviceRequestId\", serviceRequestId);\n }\n span.setStatus({\n status: \"success\",\n });\n span.end();\n }\n catch (e) {\n logger.warning(`Skipping tracing span processing due to an error: ${getErrorMessage(e)}`);\n }\n}\n//# sourceMappingURL=tracingPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { logPolicy } from \"./policies/logPolicy.js\";\nimport { createEmptyPipeline } from \"./pipeline.js\";\nimport { redirectPolicy } from \"./policies/redirectPolicy.js\";\nimport { userAgentPolicy } from \"./policies/userAgentPolicy.js\";\nimport { multipartPolicy, multipartPolicyName } from \"./policies/multipartPolicy.js\";\nimport { decompressResponsePolicy } from \"./policies/decompressResponsePolicy.js\";\nimport { defaultRetryPolicy } from \"./policies/defaultRetryPolicy.js\";\nimport { formDataPolicy } from \"./policies/formDataPolicy.js\";\nimport { isNodeLike } from \"@azure/core-util\";\nimport { proxyPolicy } from \"./policies/proxyPolicy.js\";\nimport { setClientRequestIdPolicy } from \"./policies/setClientRequestIdPolicy.js\";\nimport { tlsPolicy } from \"./policies/tlsPolicy.js\";\nimport { tracingPolicy } from \"./policies/tracingPolicy.js\";\n/**\n * Create a new pipeline with a default set of customizable policies.\n * @param options - Options to configure a custom pipeline.\n */\nexport function createPipelineFromOptions(options) {\n var _a;\n const pipeline = createEmptyPipeline();\n if (isNodeLike) {\n if (options.tlsOptions) {\n pipeline.addPolicy(tlsPolicy(options.tlsOptions));\n }\n pipeline.addPolicy(proxyPolicy(options.proxyOptions));\n pipeline.addPolicy(decompressResponsePolicy());\n }\n pipeline.addPolicy(formDataPolicy(), { beforePolicies: [multipartPolicyName] });\n pipeline.addPolicy(userAgentPolicy(options.userAgentOptions));\n pipeline.addPolicy(setClientRequestIdPolicy((_a = options.telemetryOptions) === null || _a === void 0 ? void 0 : _a.clientRequestIdHeaderName));\n // The multipart policy is added after policies with no phase, so that\n // policies can be added between it and formDataPolicy to modify\n // properties (e.g., making the boundary constant in recorded tests).\n pipeline.addPolicy(multipartPolicy(), { afterPhase: \"Deserialize\" });\n pipeline.addPolicy(defaultRetryPolicy(options.retryOptions), { phase: \"Retry\" });\n pipeline.addPolicy(tracingPolicy(options.userAgentOptions), { afterPhase: \"Retry\" });\n if (isNodeLike) {\n // Both XHR and Fetch expect to handle redirects automatically,\n // so only include this policy when we're in Node.\n pipeline.addPolicy(redirectPolicy(options.redirectOptions), { afterPhase: \"Retry\" });\n }\n pipeline.addPolicy(logPolicy(options.loggingOptions), { afterPhase: \"Sign\" });\n return pipeline;\n}\n//# sourceMappingURL=createPipelineFromOptions.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { AbortError } from \"@azure/abort-controller\";\nimport { RestError } from \"./restError.js\";\nimport { createHttpHeaders } from \"./httpHeaders.js\";\nimport { isNodeReadableStream, isWebReadableStream } from \"./util/typeGuards.js\";\n/**\n * Checks if the body is a Blob or Blob-like\n */\nfunction isBlob(body) {\n // File objects count as a type of Blob, so we want to use instanceof explicitly\n return (typeof Blob === \"function\" || typeof Blob === \"object\") && body instanceof Blob;\n}\n/**\n * A HttpClient implementation that uses window.fetch to send HTTP requests.\n * @internal\n */\nclass FetchHttpClient {\n /**\n * Makes a request over an underlying transport layer and returns the response.\n * @param request - The request to be made.\n */\n async sendRequest(request) {\n const url = new URL(request.url);\n const isInsecure = url.protocol !== \"https:\";\n if (isInsecure && !request.allowInsecureConnection) {\n throw new Error(`Cannot connect to ${request.url} while allowInsecureConnection is false.`);\n }\n if (request.proxySettings) {\n throw new Error(\"HTTP proxy is not supported in browser environment\");\n }\n try {\n return await makeRequest(request);\n }\n catch (e) {\n throw getError(e, request);\n }\n }\n}\n/**\n * Sends a request\n */\nasync function makeRequest(request) {\n const { abortController, abortControllerCleanup } = setupAbortSignal(request);\n try {\n const headers = buildFetchHeaders(request.headers);\n const { streaming, body: requestBody } = buildRequestBody(request);\n const requestInit = Object.assign(Object.assign({ body: requestBody, method: request.method, headers: headers, signal: abortController.signal }, (\"credentials\" in Request.prototype\n ? { credentials: request.withCredentials ? \"include\" : \"same-origin\" }\n : {})), (\"cache\" in Request.prototype ? { cache: \"no-store\" } : {}));\n // According to https://fetch.spec.whatwg.org/#fetch-method,\n // init.duplex must be set when body is a ReadableStream object.\n // currently \"half\" is the only valid value.\n if (streaming) {\n requestInit.duplex = \"half\";\n }\n /**\n * Developers of the future:\n * Do not set redirect: \"manual\" as part\n * of request options.\n * It will not work as you expect.\n */\n const response = await fetch(request.url, requestInit);\n // If we're uploading a blob, we need to fire the progress event manually\n if (isBlob(request.body) && request.onUploadProgress) {\n request.onUploadProgress({ loadedBytes: request.body.size });\n }\n return buildPipelineResponse(response, request, abortControllerCleanup);\n }\n catch (e) {\n abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();\n throw e;\n }\n}\n/**\n * Creates a pipeline response from a Fetch response;\n */\nasync function buildPipelineResponse(httpResponse, request, abortControllerCleanup) {\n var _a, _b;\n const headers = buildPipelineHeaders(httpResponse);\n const response = {\n request,\n headers,\n status: httpResponse.status,\n };\n const bodyStream = isWebReadableStream(httpResponse.body)\n ? buildBodyStream(httpResponse.body, {\n onProgress: request.onDownloadProgress,\n onEnd: abortControllerCleanup,\n })\n : httpResponse.body;\n if (\n // Value of POSITIVE_INFINITY in streamResponseStatusCodes is considered as any status code\n ((_a = request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.has(Number.POSITIVE_INFINITY)) ||\n ((_b = request.streamResponseStatusCodes) === null || _b === void 0 ? void 0 : _b.has(response.status))) {\n if (request.enableBrowserStreams) {\n response.browserStreamBody = bodyStream !== null && bodyStream !== void 0 ? bodyStream : undefined;\n }\n else {\n const responseStream = new Response(bodyStream);\n response.blobBody = responseStream.blob();\n abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();\n }\n }\n else {\n const responseStream = new Response(bodyStream);\n response.bodyAsText = await responseStream.text();\n abortControllerCleanup === null || abortControllerCleanup === void 0 ? void 0 : abortControllerCleanup();\n }\n return response;\n}\nfunction setupAbortSignal(request) {\n const abortController = new AbortController();\n // Cleanup function\n let abortControllerCleanup;\n /**\n * Attach an abort listener to the request\n */\n let abortListener;\n if (request.abortSignal) {\n if (request.abortSignal.aborted) {\n throw new AbortError(\"The operation was aborted.\");\n }\n abortListener = (event) => {\n if (event.type === \"abort\") {\n abortController.abort();\n }\n };\n request.abortSignal.addEventListener(\"abort\", abortListener);\n abortControllerCleanup = () => {\n var _a;\n if (abortListener) {\n (_a = request.abortSignal) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"abort\", abortListener);\n }\n };\n }\n // If a timeout was passed, call the abort signal once the time elapses\n if (request.timeout > 0) {\n setTimeout(() => {\n abortController.abort();\n }, request.timeout);\n }\n return { abortController, abortControllerCleanup };\n}\n/**\n * Gets the specific error\n */\n// eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\nfunction getError(e, request) {\n var _a;\n if (e && (e === null || e === void 0 ? void 0 : e.name) === \"AbortError\") {\n return e;\n }\n else {\n return new RestError(`Error sending request: ${e.message}`, {\n code: (_a = e === null || e === void 0 ? void 0 : e.code) !== null && _a !== void 0 ? _a : RestError.REQUEST_SEND_ERROR,\n request,\n });\n }\n}\n/**\n * Converts PipelineRequest headers to Fetch headers\n */\nfunction buildFetchHeaders(pipelineHeaders) {\n const headers = new Headers();\n for (const [name, value] of pipelineHeaders) {\n headers.append(name, value);\n }\n return headers;\n}\nfunction buildPipelineHeaders(httpResponse) {\n const responseHeaders = createHttpHeaders();\n for (const [name, value] of httpResponse.headers) {\n responseHeaders.set(name, value);\n }\n return responseHeaders;\n}\nfunction buildRequestBody(request) {\n const body = typeof request.body === \"function\" ? request.body() : request.body;\n if (isNodeReadableStream(body)) {\n throw new Error(\"Node streams are not supported in browser environment.\");\n }\n return isWebReadableStream(body)\n ? { streaming: true, body: buildBodyStream(body, { onProgress: request.onUploadProgress }) }\n : { streaming: false, body };\n}\n/**\n * Reads the request/response original stream and stream it through a new\n * ReadableStream, this is done to be able to report progress in a way that\n * all modern browsers support. TransformStreams would be an alternative,\n * however they are not yet supported by all browsers i.e Firefox\n */\nfunction buildBodyStream(readableStream, options = {}) {\n let loadedBytes = 0;\n const { onProgress, onEnd } = options;\n // If the current browser supports pipeThrough we use a TransformStream\n // to report progress\n if (isTransformStreamSupported(readableStream)) {\n return readableStream.pipeThrough(new TransformStream({\n transform(chunk, controller) {\n if (chunk === null) {\n controller.terminate();\n return;\n }\n controller.enqueue(chunk);\n loadedBytes += chunk.length;\n if (onProgress) {\n onProgress({ loadedBytes });\n }\n },\n flush() {\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n },\n }));\n }\n else {\n // If we can't use transform streams, wrap the original stream in a new readable stream\n // and use pull to enqueue each chunk and report progress.\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n var _a;\n const { done, value } = await reader.read();\n // When no more data needs to be consumed, break the reading\n if (done || !value) {\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n // Close the stream\n controller.close();\n reader.releaseLock();\n return;\n }\n loadedBytes += (_a = value === null || value === void 0 ? void 0 : value.length) !== null && _a !== void 0 ? _a : 0;\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n if (onProgress) {\n onProgress({ loadedBytes });\n }\n },\n cancel(reason) {\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n return reader.cancel(reason);\n },\n });\n }\n}\n/**\n * Create a new HttpClient instance for the browser environment.\n * @internal\n */\nexport function createFetchHttpClient() {\n return new FetchHttpClient();\n}\nfunction isTransformStreamSupported(readableStream) {\n return readableStream.pipeThrough !== undefined && self.TransformStream !== undefined;\n}\n//# sourceMappingURL=fetchHttpClient.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createFetchHttpClient } from \"./fetchHttpClient.js\";\n/**\n * Create the correct HttpClient for the current environment.\n */\nexport function createDefaultHttpClient() {\n return createFetchHttpClient();\n}\n//# sourceMappingURL=defaultHttpClient-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createHttpHeaders } from \"./httpHeaders.js\";\nimport { randomUUID } from \"@azure/core-util\";\nclass PipelineRequestImpl {\n constructor(options) {\n var _a, _b, _c, _d, _e, _f, _g;\n this.url = options.url;\n this.body = options.body;\n this.headers = (_a = options.headers) !== null && _a !== void 0 ? _a : createHttpHeaders();\n this.method = (_b = options.method) !== null && _b !== void 0 ? _b : \"GET\";\n this.timeout = (_c = options.timeout) !== null && _c !== void 0 ? _c : 0;\n this.multipartBody = options.multipartBody;\n this.formData = options.formData;\n this.disableKeepAlive = (_d = options.disableKeepAlive) !== null && _d !== void 0 ? _d : false;\n this.proxySettings = options.proxySettings;\n this.streamResponseStatusCodes = options.streamResponseStatusCodes;\n this.withCredentials = (_e = options.withCredentials) !== null && _e !== void 0 ? _e : false;\n this.abortSignal = options.abortSignal;\n this.tracingOptions = options.tracingOptions;\n this.onUploadProgress = options.onUploadProgress;\n this.onDownloadProgress = options.onDownloadProgress;\n this.requestId = options.requestId || randomUUID();\n this.allowInsecureConnection = (_f = options.allowInsecureConnection) !== null && _f !== void 0 ? _f : false;\n this.enableBrowserStreams = (_g = options.enableBrowserStreams) !== null && _g !== void 0 ? _g : false;\n }\n}\n/**\n * Creates a new pipeline request with the given options.\n * This method is to allow for the easy setting of default values and not required.\n * @param options - The options to create the request with.\n */\nexport function createPipelineRequest(options) {\n return new PipelineRequestImpl(options);\n}\n//# sourceMappingURL=pipelineRequest.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { delay } from \"./helpers.js\";\n// Default options for the cycler if none are provided\nexport const DEFAULT_CYCLER_OPTIONS = {\n forcedRefreshWindowInMs: 1000, // Force waiting for a refresh 1s before the token expires\n retryIntervalInMs: 3000, // Allow refresh attempts every 3s\n refreshWindowInMs: 1000 * 60 * 2, // Start refreshing 2m before expiry\n};\n/**\n * Converts an an unreliable access token getter (which may resolve with null)\n * into an AccessTokenGetter by retrying the unreliable getter in a regular\n * interval.\n *\n * @param getAccessToken - A function that produces a promise of an access token that may fail by returning null.\n * @param retryIntervalInMs - The time (in milliseconds) to wait between retry attempts.\n * @param refreshTimeout - The timestamp after which the refresh attempt will fail, throwing an exception.\n * @returns - A promise that, if it resolves, will resolve with an access token.\n */\nasync function beginRefresh(getAccessToken, retryIntervalInMs, refreshTimeout) {\n // This wrapper handles exceptions gracefully as long as we haven't exceeded\n // the timeout.\n async function tryGetAccessToken() {\n if (Date.now() < refreshTimeout) {\n try {\n return await getAccessToken();\n }\n catch (_a) {\n return null;\n }\n }\n else {\n const finalToken = await getAccessToken();\n // Timeout is up, so throw if it's still null\n if (finalToken === null) {\n throw new Error(\"Failed to refresh access token.\");\n }\n return finalToken;\n }\n }\n let token = await tryGetAccessToken();\n while (token === null) {\n await delay(retryIntervalInMs);\n token = await tryGetAccessToken();\n }\n return token;\n}\n/**\n * Creates a token cycler from a credential, scopes, and optional settings.\n *\n * A token cycler represents a way to reliably retrieve a valid access token\n * from a TokenCredential. It will handle initializing the token, refreshing it\n * when it nears expiration, and synchronizes refresh attempts to avoid\n * concurrency hazards.\n *\n * @param credential - the underlying TokenCredential that provides the access\n * token\n * @param tokenCyclerOptions - optionally override default settings for the cycler\n *\n * @returns - a function that reliably produces a valid access token\n */\nexport function createTokenCycler(credential, tokenCyclerOptions) {\n let refreshWorker = null;\n let token = null;\n let tenantId;\n const options = Object.assign(Object.assign({}, DEFAULT_CYCLER_OPTIONS), tokenCyclerOptions);\n /**\n * This little holder defines several predicates that we use to construct\n * the rules of refreshing the token.\n */\n const cycler = {\n /**\n * Produces true if a refresh job is currently in progress.\n */\n get isRefreshing() {\n return refreshWorker !== null;\n },\n /**\n * Produces true if the cycler SHOULD refresh (we are within the refresh\n * window and not already refreshing)\n */\n get shouldRefresh() {\n var _a;\n return (!cycler.isRefreshing &&\n ((_a = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a !== void 0 ? _a : 0) - options.refreshWindowInMs < Date.now());\n },\n /**\n * Produces true if the cycler MUST refresh (null or nearly-expired\n * token).\n */\n get mustRefresh() {\n return (token === null || token.expiresOnTimestamp - options.forcedRefreshWindowInMs < Date.now());\n },\n };\n /**\n * Starts a refresh job or returns the existing job if one is already\n * running.\n */\n function refresh(scopes, getTokenOptions) {\n var _a;\n if (!cycler.isRefreshing) {\n // We bind `scopes` here to avoid passing it around a lot\n const tryGetAccessToken = () => credential.getToken(scopes, getTokenOptions);\n // Take advantage of promise chaining to insert an assignment to `token`\n // before the refresh can be considered done.\n refreshWorker = beginRefresh(tryGetAccessToken, options.retryIntervalInMs, \n // If we don't have a token, then we should timeout immediately\n (_a = token === null || token === void 0 ? void 0 : token.expiresOnTimestamp) !== null && _a !== void 0 ? _a : Date.now())\n .then((_token) => {\n refreshWorker = null;\n token = _token;\n tenantId = getTokenOptions.tenantId;\n return token;\n })\n .catch((reason) => {\n // We also should reset the refresher if we enter a failed state. All\n // existing awaiters will throw, but subsequent requests will start a\n // new retry chain.\n refreshWorker = null;\n token = null;\n tenantId = undefined;\n throw reason;\n });\n }\n return refreshWorker;\n }\n return async (scopes, tokenOptions) => {\n //\n // Simple rules:\n // - If we MUST refresh, then return the refresh task, blocking\n // the pipeline until a token is available.\n // - If we SHOULD refresh, then run refresh but don't return it\n // (we can still use the cached token).\n // - Return the token, since it's fine if we didn't return in\n // step 1.\n //\n // If the tenantId passed in token options is different to the one we have\n // Or if we are in claim challenge and the token was rejected and a new access token need to be issued, we need to\n // refresh the token with the new tenantId or token.\n const mustRefresh = tenantId !== tokenOptions.tenantId || Boolean(tokenOptions.claims) || cycler.mustRefresh;\n if (mustRefresh)\n return refresh(scopes, tokenOptions);\n if (cycler.shouldRefresh) {\n refresh(scopes, tokenOptions);\n }\n return token;\n };\n}\n//# sourceMappingURL=tokenCycler.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createTokenCycler } from \"../util/tokenCycler.js\";\nimport { logger as coreLogger } from \"../log.js\";\n/**\n * The programmatic identifier of the bearerTokenAuthenticationPolicy.\n */\nexport const bearerTokenAuthenticationPolicyName = \"bearerTokenAuthenticationPolicy\";\n/**\n * Default authorize request handler\n */\nasync function defaultAuthorizeRequest(options) {\n const { scopes, getAccessToken, request } = options;\n const getTokenOptions = {\n abortSignal: request.abortSignal,\n tracingOptions: request.tracingOptions,\n };\n const accessToken = await getAccessToken(scopes, getTokenOptions);\n if (accessToken) {\n options.request.headers.set(\"Authorization\", `Bearer ${accessToken.token}`);\n }\n}\n/**\n * We will retrieve the challenge only if the response status code was 401,\n * and if the response contained the header \"WWW-Authenticate\" with a non-empty value.\n */\nfunction getChallenge(response) {\n const challenge = response.headers.get(\"WWW-Authenticate\");\n if (response.status === 401 && challenge) {\n return challenge;\n }\n return;\n}\n/**\n * A policy that can request a token from a TokenCredential implementation and\n * then apply it to the Authorization header of a request as a Bearer token.\n */\nexport function bearerTokenAuthenticationPolicy(options) {\n var _a;\n const { credential, scopes, challengeCallbacks } = options;\n const logger = options.logger || coreLogger;\n const callbacks = Object.assign({ authorizeRequest: (_a = challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequest) !== null && _a !== void 0 ? _a : defaultAuthorizeRequest, authorizeRequestOnChallenge: challengeCallbacks === null || challengeCallbacks === void 0 ? void 0 : challengeCallbacks.authorizeRequestOnChallenge }, challengeCallbacks);\n // This function encapsulates the entire process of reliably retrieving the token\n // The options are left out of the public API until there's demand to configure this.\n // Remember to extend `BearerTokenAuthenticationPolicyOptions` with `TokenCyclerOptions`\n // in order to pass through the `options` object.\n const getAccessToken = credential\n ? createTokenCycler(credential /* , options */)\n : () => Promise.resolve(null);\n return {\n name: bearerTokenAuthenticationPolicyName,\n /**\n * If there's no challenge parameter:\n * - It will try to retrieve the token using the cache, or the credential's getToken.\n * - Then it will try the next policy with or without the retrieved token.\n *\n * It uses the challenge parameters to:\n * - Skip a first attempt to get the token from the credential if there's no cached token,\n * since it expects the token to be retrievable only after the challenge.\n * - Prepare the outgoing request if the `prepareRequest` method has been provided.\n * - Send an initial request to receive the challenge if it fails.\n * - Process a challenge if the response contains it.\n * - Retrieve a token with the challenge information, then re-send the request.\n */\n async sendRequest(request, next) {\n if (!request.url.toLowerCase().startsWith(\"https://\")) {\n throw new Error(\"Bearer token authentication is not permitted for non-TLS protected (non-https) URLs.\");\n }\n await callbacks.authorizeRequest({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n getAccessToken,\n logger,\n });\n let response;\n let error;\n try {\n response = await next(request);\n }\n catch (err) {\n error = err;\n response = err.response;\n }\n if (callbacks.authorizeRequestOnChallenge &&\n (response === null || response === void 0 ? void 0 : response.status) === 401 &&\n getChallenge(response)) {\n // processes challenge\n const shouldSendRequest = await callbacks.authorizeRequestOnChallenge({\n scopes: Array.isArray(scopes) ? scopes : [scopes],\n request,\n response,\n getAccessToken,\n logger,\n });\n if (shouldSendRequest) {\n return next(request);\n }\n }\n if (error) {\n throw error;\n }\n else {\n return response;\n }\n },\n };\n}\n//# sourceMappingURL=bearerTokenAuthenticationPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/**\n * Browser-only implementation of the module's state. The browser esm variant will not load the commonjs state, so we do not need to share state between the two.\n */\nexport const state = {\n operationRequestMap: new WeakMap(),\n};\n//# sourceMappingURL=state-browser.mjs.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { state } from \"./state.js\";\n/**\n * @internal\n * Retrieves the value to use for a given operation argument\n * @param operationArguments - The arguments passed from the generated client\n * @param parameter - The parameter description\n * @param fallbackObject - If something isn't found in the arguments bag, look here.\n * Generally used to look at the service client properties.\n */\nexport function getOperationArgumentValueFromParameter(operationArguments, parameter, fallbackObject) {\n let parameterPath = parameter.parameterPath;\n const parameterMapper = parameter.mapper;\n let value;\n if (typeof parameterPath === \"string\") {\n parameterPath = [parameterPath];\n }\n if (Array.isArray(parameterPath)) {\n if (parameterPath.length > 0) {\n if (parameterMapper.isConstant) {\n value = parameterMapper.defaultValue;\n }\n else {\n let propertySearchResult = getPropertyFromParameterPath(operationArguments, parameterPath);\n if (!propertySearchResult.propertyFound && fallbackObject) {\n propertySearchResult = getPropertyFromParameterPath(fallbackObject, parameterPath);\n }\n let useDefaultValue = false;\n if (!propertySearchResult.propertyFound) {\n useDefaultValue =\n parameterMapper.required ||\n (parameterPath[0] === \"options\" && parameterPath.length === 2);\n }\n value = useDefaultValue ? parameterMapper.defaultValue : propertySearchResult.propertyValue;\n }\n }\n }\n else {\n if (parameterMapper.required) {\n value = {};\n }\n for (const propertyName in parameterPath) {\n const propertyMapper = parameterMapper.type.modelProperties[propertyName];\n const propertyPath = parameterPath[propertyName];\n const propertyValue = getOperationArgumentValueFromParameter(operationArguments, {\n parameterPath: propertyPath,\n mapper: propertyMapper,\n }, fallbackObject);\n if (propertyValue !== undefined) {\n if (!value) {\n value = {};\n }\n value[propertyName] = propertyValue;\n }\n }\n }\n return value;\n}\nfunction getPropertyFromParameterPath(parent, parameterPath) {\n const result = { propertyFound: false };\n let i = 0;\n for (; i < parameterPath.length; ++i) {\n const parameterPathPart = parameterPath[i];\n // Make sure to check inherited properties too, so don't use hasOwnProperty().\n if (parent && parameterPathPart in parent) {\n parent = parent[parameterPathPart];\n }\n else {\n break;\n }\n }\n if (i === parameterPath.length) {\n result.propertyValue = parent;\n result.propertyFound = true;\n }\n return result;\n}\nconst originalRequestSymbol = Symbol.for(\"@azure/core-client original request\");\nfunction hasOriginalRequest(request) {\n return originalRequestSymbol in request;\n}\nexport function getOperationRequestInfo(request) {\n if (hasOriginalRequest(request)) {\n return getOperationRequestInfo(request[originalRequestSymbol]);\n }\n let info = state.operationRequestMap.get(request);\n if (!info) {\n info = {};\n state.operationRequestMap.set(request, info);\n }\n return info;\n}\n//# sourceMappingURL=operationHelpers.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { XML_CHARKEY, } from \"./interfaces.js\";\nimport { RestError, } from \"@azure/core-rest-pipeline\";\nimport { MapperTypeNames } from \"./serializer.js\";\nimport { getOperationRequestInfo } from \"./operationHelpers.js\";\nconst defaultJsonContentTypes = [\"application/json\", \"text/json\"];\nconst defaultXmlContentTypes = [\"application/xml\", \"application/atom+xml\"];\n/**\n * The programmatic identifier of the deserializationPolicy.\n */\nexport const deserializationPolicyName = \"deserializationPolicy\";\n/**\n * This policy handles parsing out responses according to OperationSpecs on the request.\n */\nexport function deserializationPolicy(options = {}) {\n var _a, _b, _c, _d, _e, _f, _g;\n const jsonContentTypes = (_b = (_a = options.expectedContentTypes) === null || _a === void 0 ? void 0 : _a.json) !== null && _b !== void 0 ? _b : defaultJsonContentTypes;\n const xmlContentTypes = (_d = (_c = options.expectedContentTypes) === null || _c === void 0 ? void 0 : _c.xml) !== null && _d !== void 0 ? _d : defaultXmlContentTypes;\n const parseXML = options.parseXML;\n const serializerOptions = options.serializerOptions;\n const updatedOptions = {\n xml: {\n rootName: (_e = serializerOptions === null || serializerOptions === void 0 ? void 0 : serializerOptions.xml.rootName) !== null && _e !== void 0 ? _e : \"\",\n includeRoot: (_f = serializerOptions === null || serializerOptions === void 0 ? void 0 : serializerOptions.xml.includeRoot) !== null && _f !== void 0 ? _f : false,\n xmlCharKey: (_g = serializerOptions === null || serializerOptions === void 0 ? void 0 : serializerOptions.xml.xmlCharKey) !== null && _g !== void 0 ? _g : XML_CHARKEY,\n },\n };\n return {\n name: deserializationPolicyName,\n async sendRequest(request, next) {\n const response = await next(request);\n return deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, updatedOptions, parseXML);\n },\n };\n}\nfunction getOperationResponseMap(parsedResponse) {\n let result;\n const request = parsedResponse.request;\n const operationInfo = getOperationRequestInfo(request);\n const operationSpec = operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.operationSpec;\n if (operationSpec) {\n if (!(operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.operationResponseGetter)) {\n result = operationSpec.responses[parsedResponse.status];\n }\n else {\n result = operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.operationResponseGetter(operationSpec, parsedResponse);\n }\n }\n return result;\n}\nfunction shouldDeserializeResponse(parsedResponse) {\n const request = parsedResponse.request;\n const operationInfo = getOperationRequestInfo(request);\n const shouldDeserialize = operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.shouldDeserialize;\n let result;\n if (shouldDeserialize === undefined) {\n result = true;\n }\n else if (typeof shouldDeserialize === \"boolean\") {\n result = shouldDeserialize;\n }\n else {\n result = shouldDeserialize(parsedResponse);\n }\n return result;\n}\nasync function deserializeResponseBody(jsonContentTypes, xmlContentTypes, response, options, parseXML) {\n const parsedResponse = await parse(jsonContentTypes, xmlContentTypes, response, options, parseXML);\n if (!shouldDeserializeResponse(parsedResponse)) {\n return parsedResponse;\n }\n const operationInfo = getOperationRequestInfo(parsedResponse.request);\n const operationSpec = operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.operationSpec;\n if (!operationSpec || !operationSpec.responses) {\n return parsedResponse;\n }\n const responseSpec = getOperationResponseMap(parsedResponse);\n const { error, shouldReturnResponse } = handleErrorResponse(parsedResponse, operationSpec, responseSpec, options);\n if (error) {\n throw error;\n }\n else if (shouldReturnResponse) {\n return parsedResponse;\n }\n // An operation response spec does exist for current status code, so\n // use it to deserialize the response.\n if (responseSpec) {\n if (responseSpec.bodyMapper) {\n let valueToDeserialize = parsedResponse.parsedBody;\n if (operationSpec.isXML && responseSpec.bodyMapper.type.name === MapperTypeNames.Sequence) {\n valueToDeserialize =\n typeof valueToDeserialize === \"object\"\n ? valueToDeserialize[responseSpec.bodyMapper.xmlElementName]\n : [];\n }\n try {\n parsedResponse.parsedBody = operationSpec.serializer.deserialize(responseSpec.bodyMapper, valueToDeserialize, \"operationRes.parsedBody\", options);\n }\n catch (deserializeError) {\n const restError = new RestError(`Error ${deserializeError} occurred in deserializing the responseBody - ${parsedResponse.bodyAsText}`, {\n statusCode: parsedResponse.status,\n request: parsedResponse.request,\n response: parsedResponse,\n });\n throw restError;\n }\n }\n else if (operationSpec.httpMethod === \"HEAD\") {\n // head methods never have a body, but we return a boolean to indicate presence/absence of the resource\n parsedResponse.parsedBody = response.status >= 200 && response.status < 300;\n }\n if (responseSpec.headersMapper) {\n parsedResponse.parsedHeaders = operationSpec.serializer.deserialize(responseSpec.headersMapper, parsedResponse.headers.toJSON(), \"operationRes.parsedHeaders\", { xml: {}, ignoreUnknownProperties: true });\n }\n }\n return parsedResponse;\n}\nfunction isOperationSpecEmpty(operationSpec) {\n const expectedStatusCodes = Object.keys(operationSpec.responses);\n return (expectedStatusCodes.length === 0 ||\n (expectedStatusCodes.length === 1 && expectedStatusCodes[0] === \"default\"));\n}\nfunction handleErrorResponse(parsedResponse, operationSpec, responseSpec, options) {\n var _a;\n const isSuccessByStatus = 200 <= parsedResponse.status && parsedResponse.status < 300;\n const isExpectedStatusCode = isOperationSpecEmpty(operationSpec)\n ? isSuccessByStatus\n : !!responseSpec;\n if (isExpectedStatusCode) {\n if (responseSpec) {\n if (!responseSpec.isError) {\n return { error: null, shouldReturnResponse: false };\n }\n }\n else {\n return { error: null, shouldReturnResponse: false };\n }\n }\n const errorResponseSpec = responseSpec !== null && responseSpec !== void 0 ? responseSpec : operationSpec.responses.default;\n const initialErrorMessage = ((_a = parsedResponse.request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.has(parsedResponse.status))\n ? `Unexpected status code: ${parsedResponse.status}`\n : parsedResponse.bodyAsText;\n const error = new RestError(initialErrorMessage, {\n statusCode: parsedResponse.status,\n request: parsedResponse.request,\n response: parsedResponse,\n });\n // If the item failed but there's no error spec or default spec to deserialize the error,\n // we should fail so we just throw the parsed response\n if (!errorResponseSpec) {\n throw error;\n }\n const defaultBodyMapper = errorResponseSpec.bodyMapper;\n const defaultHeadersMapper = errorResponseSpec.headersMapper;\n try {\n // If error response has a body, try to deserialize it using default body mapper.\n // Then try to extract error code & message from it\n if (parsedResponse.parsedBody) {\n const parsedBody = parsedResponse.parsedBody;\n let deserializedError;\n if (defaultBodyMapper) {\n let valueToDeserialize = parsedBody;\n if (operationSpec.isXML && defaultBodyMapper.type.name === MapperTypeNames.Sequence) {\n valueToDeserialize = [];\n const elementName = defaultBodyMapper.xmlElementName;\n if (typeof parsedBody === \"object\" && elementName) {\n valueToDeserialize = parsedBody[elementName];\n }\n }\n deserializedError = operationSpec.serializer.deserialize(defaultBodyMapper, valueToDeserialize, \"error.response.parsedBody\", options);\n }\n const internalError = parsedBody.error || deserializedError || parsedBody;\n error.code = internalError.code;\n if (internalError.message) {\n error.message = internalError.message;\n }\n if (defaultBodyMapper) {\n error.response.parsedBody = deserializedError;\n }\n }\n // If error response has headers, try to deserialize it using default header mapper\n if (parsedResponse.headers && defaultHeadersMapper) {\n error.response.parsedHeaders =\n operationSpec.serializer.deserialize(defaultHeadersMapper, parsedResponse.headers.toJSON(), \"operationRes.parsedHeaders\");\n }\n }\n catch (defaultError) {\n error.message = `Error \"${defaultError.message}\" occurred in deserializing the responseBody - \"${parsedResponse.bodyAsText}\" for the default response.`;\n }\n return { error, shouldReturnResponse: false };\n}\nasync function parse(jsonContentTypes, xmlContentTypes, operationResponse, opts, parseXML) {\n var _a;\n if (!((_a = operationResponse.request.streamResponseStatusCodes) === null || _a === void 0 ? void 0 : _a.has(operationResponse.status)) &&\n operationResponse.bodyAsText) {\n const text = operationResponse.bodyAsText;\n const contentType = operationResponse.headers.get(\"Content-Type\") || \"\";\n const contentComponents = !contentType\n ? []\n : contentType.split(\";\").map((component) => component.toLowerCase());\n try {\n if (contentComponents.length === 0 ||\n contentComponents.some((component) => jsonContentTypes.indexOf(component) !== -1)) {\n operationResponse.parsedBody = JSON.parse(text);\n return operationResponse;\n }\n else if (contentComponents.some((component) => xmlContentTypes.indexOf(component) !== -1)) {\n if (!parseXML) {\n throw new Error(\"Parsing XML not supported.\");\n }\n const body = await parseXML(text, opts.xml);\n operationResponse.parsedBody = body;\n return operationResponse;\n }\n }\n catch (err) {\n const msg = `Error \"${err}\" occurred while parsing the response body - ${operationResponse.bodyAsText}.`;\n const errCode = err.code || RestError.PARSE_ERROR;\n const e = new RestError(msg, {\n code: errCode,\n statusCode: operationResponse.status,\n request: operationResponse.request,\n response: operationResponse,\n });\n throw e;\n }\n }\n return operationResponse;\n}\n//# sourceMappingURL=deserializationPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { MapperTypeNames } from \"./serializer.js\";\n/**\n * Gets the list of status codes for streaming responses.\n * @internal\n */\nexport function getStreamingResponseStatusCodes(operationSpec) {\n const result = new Set();\n for (const statusCode in operationSpec.responses) {\n const operationResponse = operationSpec.responses[statusCode];\n if (operationResponse.bodyMapper &&\n operationResponse.bodyMapper.type.name === MapperTypeNames.Stream) {\n result.add(Number(statusCode));\n }\n }\n return result;\n}\n/**\n * Get the path to this parameter's value as a dotted string (a.b.c).\n * @param parameter - The parameter to get the path string for.\n * @returns The path to this parameter's value as a dotted string.\n * @internal\n */\nexport function getPathStringFromParameter(parameter) {\n const { parameterPath, mapper } = parameter;\n let result;\n if (typeof parameterPath === \"string\") {\n result = parameterPath;\n }\n else if (Array.isArray(parameterPath)) {\n result = parameterPath.join(\".\");\n }\n else {\n result = mapper.serializedName;\n }\n return result;\n}\n//# sourceMappingURL=interfaceHelpers.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { XML_ATTRKEY, XML_CHARKEY, } from \"./interfaces.js\";\nimport { getOperationArgumentValueFromParameter, getOperationRequestInfo, } from \"./operationHelpers.js\";\nimport { MapperTypeNames } from \"./serializer.js\";\nimport { getPathStringFromParameter } from \"./interfaceHelpers.js\";\n/**\n * The programmatic identifier of the serializationPolicy.\n */\nexport const serializationPolicyName = \"serializationPolicy\";\n/**\n * This policy handles assembling the request body and headers using\n * an OperationSpec and OperationArguments on the request.\n */\nexport function serializationPolicy(options = {}) {\n const stringifyXML = options.stringifyXML;\n return {\n name: serializationPolicyName,\n async sendRequest(request, next) {\n const operationInfo = getOperationRequestInfo(request);\n const operationSpec = operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.operationSpec;\n const operationArguments = operationInfo === null || operationInfo === void 0 ? void 0 : operationInfo.operationArguments;\n if (operationSpec && operationArguments) {\n serializeHeaders(request, operationArguments, operationSpec);\n serializeRequestBody(request, operationArguments, operationSpec, stringifyXML);\n }\n return next(request);\n },\n };\n}\n/**\n * @internal\n */\nexport function serializeHeaders(request, operationArguments, operationSpec) {\n var _a, _b;\n if (operationSpec.headerParameters) {\n for (const headerParameter of operationSpec.headerParameters) {\n let headerValue = getOperationArgumentValueFromParameter(operationArguments, headerParameter);\n if ((headerValue !== null && headerValue !== undefined) || headerParameter.mapper.required) {\n headerValue = operationSpec.serializer.serialize(headerParameter.mapper, headerValue, getPathStringFromParameter(headerParameter));\n const headerCollectionPrefix = headerParameter.mapper\n .headerCollectionPrefix;\n if (headerCollectionPrefix) {\n for (const key of Object.keys(headerValue)) {\n request.headers.set(headerCollectionPrefix + key, headerValue[key]);\n }\n }\n else {\n request.headers.set(headerParameter.mapper.serializedName || getPathStringFromParameter(headerParameter), headerValue);\n }\n }\n }\n }\n const customHeaders = (_b = (_a = operationArguments.options) === null || _a === void 0 ? void 0 : _a.requestOptions) === null || _b === void 0 ? void 0 : _b.customHeaders;\n if (customHeaders) {\n for (const customHeaderName of Object.keys(customHeaders)) {\n request.headers.set(customHeaderName, customHeaders[customHeaderName]);\n }\n }\n}\n/**\n * @internal\n */\nexport function serializeRequestBody(request, operationArguments, operationSpec, stringifyXML = function () {\n throw new Error(\"XML serialization unsupported!\");\n}) {\n var _a, _b, _c, _d, _e;\n const serializerOptions = (_a = operationArguments.options) === null || _a === void 0 ? void 0 : _a.serializerOptions;\n const updatedOptions = {\n xml: {\n rootName: (_b = serializerOptions === null || serializerOptions === void 0 ? void 0 : serializerOptions.xml.rootName) !== null && _b !== void 0 ? _b : \"\",\n includeRoot: (_c = serializerOptions === null || serializerOptions === void 0 ? void 0 : serializerOptions.xml.includeRoot) !== null && _c !== void 0 ? _c : false,\n xmlCharKey: (_d = serializerOptions === null || serializerOptions === void 0 ? void 0 : serializerOptions.xml.xmlCharKey) !== null && _d !== void 0 ? _d : XML_CHARKEY,\n },\n };\n const xmlCharKey = updatedOptions.xml.xmlCharKey;\n if (operationSpec.requestBody && operationSpec.requestBody.mapper) {\n request.body = getOperationArgumentValueFromParameter(operationArguments, operationSpec.requestBody);\n const bodyMapper = operationSpec.requestBody.mapper;\n const { required, serializedName, xmlName, xmlElementName, xmlNamespace, xmlNamespacePrefix, nullable, } = bodyMapper;\n const typeName = bodyMapper.type.name;\n try {\n if ((request.body !== undefined && request.body !== null) ||\n (nullable && request.body === null) ||\n required) {\n const requestBodyParameterPathString = getPathStringFromParameter(operationSpec.requestBody);\n request.body = operationSpec.serializer.serialize(bodyMapper, request.body, requestBodyParameterPathString, updatedOptions);\n const isStream = typeName === MapperTypeNames.Stream;\n if (operationSpec.isXML) {\n const xmlnsKey = xmlNamespacePrefix ? `xmlns:${xmlNamespacePrefix}` : \"xmlns\";\n const value = getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, request.body, updatedOptions);\n if (typeName === MapperTypeNames.Sequence) {\n request.body = stringifyXML(prepareXMLRootList(value, xmlElementName || xmlName || serializedName, xmlnsKey, xmlNamespace), { rootName: xmlName || serializedName, xmlCharKey });\n }\n else if (!isStream) {\n request.body = stringifyXML(value, {\n rootName: xmlName || serializedName,\n xmlCharKey,\n });\n }\n }\n else if (typeName === MapperTypeNames.String &&\n (((_e = operationSpec.contentType) === null || _e === void 0 ? void 0 : _e.match(\"text/plain\")) || operationSpec.mediaType === \"text\")) {\n // the String serializer has validated that request body is a string\n // so just send the string.\n return;\n }\n else if (!isStream) {\n request.body = JSON.stringify(request.body);\n }\n }\n }\n catch (error) {\n throw new Error(`Error \"${error.message}\" occurred in serializing the payload - ${JSON.stringify(serializedName, undefined, \" \")}.`);\n }\n }\n else if (operationSpec.formDataParameters && operationSpec.formDataParameters.length > 0) {\n request.formData = {};\n for (const formDataParameter of operationSpec.formDataParameters) {\n const formDataParameterValue = getOperationArgumentValueFromParameter(operationArguments, formDataParameter);\n if (formDataParameterValue !== undefined && formDataParameterValue !== null) {\n const formDataParameterPropertyName = formDataParameter.mapper.serializedName || getPathStringFromParameter(formDataParameter);\n request.formData[formDataParameterPropertyName] = operationSpec.serializer.serialize(formDataParameter.mapper, formDataParameterValue, getPathStringFromParameter(formDataParameter), updatedOptions);\n }\n }\n }\n}\n/**\n * Adds an xml namespace to the xml serialized object if needed, otherwise it just returns the value itself\n */\nfunction getXmlValueWithNamespace(xmlNamespace, xmlnsKey, typeName, serializedValue, options) {\n // Composite and Sequence schemas already got their root namespace set during serialization\n // We just need to add xmlns to the other schema types\n if (xmlNamespace && ![\"Composite\", \"Sequence\", \"Dictionary\"].includes(typeName)) {\n const result = {};\n result[options.xml.xmlCharKey] = serializedValue;\n result[XML_ATTRKEY] = { [xmlnsKey]: xmlNamespace };\n return result;\n }\n return serializedValue;\n}\nfunction prepareXMLRootList(obj, elementName, xmlNamespaceKey, xmlNamespace) {\n if (!Array.isArray(obj)) {\n obj = [obj];\n }\n if (!xmlNamespaceKey || !xmlNamespace) {\n return { [elementName]: obj };\n }\n const result = { [elementName]: obj };\n result[XML_ATTRKEY] = { [xmlNamespaceKey]: xmlNamespace };\n return result;\n}\n//# sourceMappingURL=serializationPolicy.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { deserializationPolicy } from \"./deserializationPolicy.js\";\nimport { bearerTokenAuthenticationPolicy, createPipelineFromOptions, } from \"@azure/core-rest-pipeline\";\nimport { serializationPolicy } from \"./serializationPolicy.js\";\n/**\n * Creates a new Pipeline for use with a Service Client.\n * Adds in deserializationPolicy by default.\n * Also adds in bearerTokenAuthenticationPolicy if passed a TokenCredential.\n * @param options - Options to customize the created pipeline.\n */\nexport function createClientPipeline(options = {}) {\n const pipeline = createPipelineFromOptions(options !== null && options !== void 0 ? options : {});\n if (options.credentialOptions) {\n pipeline.addPolicy(bearerTokenAuthenticationPolicy({\n credential: options.credentialOptions.credential,\n scopes: options.credentialOptions.credentialScopes,\n }));\n }\n pipeline.addPolicy(serializationPolicy(options.serializationOptions), { phase: \"Serialize\" });\n pipeline.addPolicy(deserializationPolicy(options.deserializationOptions), {\n phase: \"Deserialize\",\n });\n return pipeline;\n}\n//# sourceMappingURL=pipeline.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createDefaultHttpClient } from \"@azure/core-rest-pipeline\";\nlet cachedHttpClient;\nexport function getCachedDefaultHttpClient() {\n if (!cachedHttpClient) {\n cachedHttpClient = createDefaultHttpClient();\n }\n return cachedHttpClient;\n}\n//# sourceMappingURL=httpClientCache.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { getOperationArgumentValueFromParameter } from \"./operationHelpers.js\";\nimport { getPathStringFromParameter } from \"./interfaceHelpers.js\";\nconst CollectionFormatToDelimiterMap = {\n CSV: \",\",\n SSV: \" \",\n Multi: \"Multi\",\n TSV: \"\\t\",\n Pipes: \"|\",\n};\nexport function getRequestUrl(baseUri, operationSpec, operationArguments, fallbackObject) {\n const urlReplacements = calculateUrlReplacements(operationSpec, operationArguments, fallbackObject);\n let isAbsolutePath = false;\n let requestUrl = replaceAll(baseUri, urlReplacements);\n if (operationSpec.path) {\n let path = replaceAll(operationSpec.path, urlReplacements);\n // QUIRK: sometimes we get a path component like /{nextLink}\n // which may be a fully formed URL with a leading /. In that case, we should\n // remove the leading /\n if (operationSpec.path === \"/{nextLink}\" && path.startsWith(\"/\")) {\n path = path.substring(1);\n }\n // QUIRK: sometimes we get a path component like {nextLink}\n // which may be a fully formed URL. In that case, we should\n // ignore the baseUri.\n if (isAbsoluteUrl(path)) {\n requestUrl = path;\n isAbsolutePath = true;\n }\n else {\n requestUrl = appendPath(requestUrl, path);\n }\n }\n const { queryParams, sequenceParams } = calculateQueryParameters(operationSpec, operationArguments, fallbackObject);\n /**\n * Notice that this call sets the `noOverwrite` parameter to true if the `requestUrl`\n * is an absolute path. This ensures that existing query parameter values in `requestUrl`\n * do not get overwritten. On the other hand when `requestUrl` is not absolute path, it\n * is still being built so there is nothing to overwrite.\n */\n requestUrl = appendQueryParams(requestUrl, queryParams, sequenceParams, isAbsolutePath);\n return requestUrl;\n}\nfunction replaceAll(input, replacements) {\n let result = input;\n for (const [searchValue, replaceValue] of replacements) {\n result = result.split(searchValue).join(replaceValue);\n }\n return result;\n}\nfunction calculateUrlReplacements(operationSpec, operationArguments, fallbackObject) {\n var _a;\n const result = new Map();\n if ((_a = operationSpec.urlParameters) === null || _a === void 0 ? void 0 : _a.length) {\n for (const urlParameter of operationSpec.urlParameters) {\n let urlParameterValue = getOperationArgumentValueFromParameter(operationArguments, urlParameter, fallbackObject);\n const parameterPathString = getPathStringFromParameter(urlParameter);\n urlParameterValue = operationSpec.serializer.serialize(urlParameter.mapper, urlParameterValue, parameterPathString);\n if (!urlParameter.skipEncoding) {\n urlParameterValue = encodeURIComponent(urlParameterValue);\n }\n result.set(`{${urlParameter.mapper.serializedName || parameterPathString}}`, urlParameterValue);\n }\n }\n return result;\n}\nfunction isAbsoluteUrl(url) {\n return url.includes(\"://\");\n}\nfunction appendPath(url, pathToAppend) {\n if (!pathToAppend) {\n return url;\n }\n const parsedUrl = new URL(url);\n let newPath = parsedUrl.pathname;\n if (!newPath.endsWith(\"/\")) {\n newPath = `${newPath}/`;\n }\n if (pathToAppend.startsWith(\"/\")) {\n pathToAppend = pathToAppend.substring(1);\n }\n const searchStart = pathToAppend.indexOf(\"?\");\n if (searchStart !== -1) {\n const path = pathToAppend.substring(0, searchStart);\n const search = pathToAppend.substring(searchStart + 1);\n newPath = newPath + path;\n if (search) {\n parsedUrl.search = parsedUrl.search ? `${parsedUrl.search}&${search}` : search;\n }\n }\n else {\n newPath = newPath + pathToAppend;\n }\n parsedUrl.pathname = newPath;\n return parsedUrl.toString();\n}\nfunction calculateQueryParameters(operationSpec, operationArguments, fallbackObject) {\n var _a;\n const result = new Map();\n const sequenceParams = new Set();\n if ((_a = operationSpec.queryParameters) === null || _a === void 0 ? void 0 : _a.length) {\n for (const queryParameter of operationSpec.queryParameters) {\n if (queryParameter.mapper.type.name === \"Sequence\" && queryParameter.mapper.serializedName) {\n sequenceParams.add(queryParameter.mapper.serializedName);\n }\n let queryParameterValue = getOperationArgumentValueFromParameter(operationArguments, queryParameter, fallbackObject);\n if ((queryParameterValue !== undefined && queryParameterValue !== null) ||\n queryParameter.mapper.required) {\n queryParameterValue = operationSpec.serializer.serialize(queryParameter.mapper, queryParameterValue, getPathStringFromParameter(queryParameter));\n const delimiter = queryParameter.collectionFormat\n ? CollectionFormatToDelimiterMap[queryParameter.collectionFormat]\n : \"\";\n if (Array.isArray(queryParameterValue)) {\n // replace null and undefined\n queryParameterValue = queryParameterValue.map((item) => {\n if (item === null || item === undefined) {\n return \"\";\n }\n return item;\n });\n }\n if (queryParameter.collectionFormat === \"Multi\" && queryParameterValue.length === 0) {\n continue;\n }\n else if (Array.isArray(queryParameterValue) &&\n (queryParameter.collectionFormat === \"SSV\" || queryParameter.collectionFormat === \"TSV\")) {\n queryParameterValue = queryParameterValue.join(delimiter);\n }\n if (!queryParameter.skipEncoding) {\n if (Array.isArray(queryParameterValue)) {\n queryParameterValue = queryParameterValue.map((item) => {\n return encodeURIComponent(item);\n });\n }\n else {\n queryParameterValue = encodeURIComponent(queryParameterValue);\n }\n }\n // Join pipes and CSV *after* encoding, or the server will be upset.\n if (Array.isArray(queryParameterValue) &&\n (queryParameter.collectionFormat === \"CSV\" || queryParameter.collectionFormat === \"Pipes\")) {\n queryParameterValue = queryParameterValue.join(delimiter);\n }\n result.set(queryParameter.mapper.serializedName || getPathStringFromParameter(queryParameter), queryParameterValue);\n }\n }\n }\n return {\n queryParams: result,\n sequenceParams,\n };\n}\nfunction simpleParseQueryParams(queryString) {\n const result = new Map();\n if (!queryString || queryString[0] !== \"?\") {\n return result;\n }\n // remove the leading ?\n queryString = queryString.slice(1);\n const pairs = queryString.split(\"&\");\n for (const pair of pairs) {\n const [name, value] = pair.split(\"=\", 2);\n const existingValue = result.get(name);\n if (existingValue) {\n if (Array.isArray(existingValue)) {\n existingValue.push(value);\n }\n else {\n result.set(name, [existingValue, value]);\n }\n }\n else {\n result.set(name, value);\n }\n }\n return result;\n}\n/** @internal */\nexport function appendQueryParams(url, queryParams, sequenceParams, noOverwrite = false) {\n if (queryParams.size === 0) {\n return url;\n }\n const parsedUrl = new URL(url);\n // QUIRK: parsedUrl.searchParams will have their name/value pairs decoded, which\n // can change their meaning to the server, such as in the case of a SAS signature.\n // To avoid accidentally un-encoding a query param, we parse the key/values ourselves\n const combinedParams = simpleParseQueryParams(parsedUrl.search);\n for (const [name, value] of queryParams) {\n const existingValue = combinedParams.get(name);\n if (Array.isArray(existingValue)) {\n if (Array.isArray(value)) {\n existingValue.push(...value);\n const valueSet = new Set(existingValue);\n combinedParams.set(name, Array.from(valueSet));\n }\n else {\n existingValue.push(value);\n }\n }\n else if (existingValue) {\n if (Array.isArray(value)) {\n value.unshift(existingValue);\n }\n else if (sequenceParams.has(name)) {\n combinedParams.set(name, [existingValue, value]);\n }\n if (!noOverwrite) {\n combinedParams.set(name, value);\n }\n }\n else {\n combinedParams.set(name, value);\n }\n }\n const searchPieces = [];\n for (const [name, value] of combinedParams) {\n if (typeof value === \"string\") {\n searchPieces.push(`${name}=${value}`);\n }\n else if (Array.isArray(value)) {\n // QUIRK: If we get an array of values, include multiple key/value pairs\n for (const subValue of value) {\n searchPieces.push(`${name}=${subValue}`);\n }\n }\n else {\n searchPieces.push(`${name}=${value}`);\n }\n }\n // QUIRK: we have to set search manually as searchParams will encode comma when it shouldn't.\n parsedUrl.search = searchPieces.length ? `?${searchPieces.join(\"&\")}` : \"\";\n return parsedUrl.toString();\n}\n//# sourceMappingURL=urlHelpers.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"core-client\");\n//# sourceMappingURL=log.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createPipelineRequest, } from \"@azure/core-rest-pipeline\";\nimport { createClientPipeline } from \"./pipeline.js\";\nimport { flattenResponse } from \"./utils.js\";\nimport { getCachedDefaultHttpClient } from \"./httpClientCache.js\";\nimport { getOperationRequestInfo } from \"./operationHelpers.js\";\nimport { getRequestUrl } from \"./urlHelpers.js\";\nimport { getStreamingResponseStatusCodes } from \"./interfaceHelpers.js\";\nimport { logger } from \"./log.js\";\n/**\n * Initializes a new instance of the ServiceClient.\n */\nexport class ServiceClient {\n /**\n * The ServiceClient constructor\n * @param credential - The credentials used for authentication with the service.\n * @param options - The service client options that govern the behavior of the client.\n */\n constructor(options = {}) {\n var _a, _b;\n this._requestContentType = options.requestContentType;\n this._endpoint = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUri;\n if (options.baseUri) {\n logger.warning(\"The baseUri option for SDK Clients has been deprecated, please use endpoint instead.\");\n }\n this._allowInsecureConnection = options.allowInsecureConnection;\n this._httpClient = options.httpClient || getCachedDefaultHttpClient();\n this.pipeline = options.pipeline || createDefaultPipeline(options);\n if ((_b = options.additionalPolicies) === null || _b === void 0 ? void 0 : _b.length) {\n for (const { policy, position } of options.additionalPolicies) {\n // Sign happens after Retry and is commonly needed to occur\n // before policies that intercept post-retry.\n const afterPhase = position === \"perRetry\" ? \"Sign\" : undefined;\n this.pipeline.addPolicy(policy, {\n afterPhase,\n });\n }\n }\n }\n /**\n * Send the provided httpRequest.\n */\n async sendRequest(request) {\n return this.pipeline.sendRequest(this._httpClient, request);\n }\n /**\n * Send an HTTP request that is populated using the provided OperationSpec.\n * @typeParam T - The typed result of the request, based on the OperationSpec.\n * @param operationArguments - The arguments that the HTTP request's templated values will be populated from.\n * @param operationSpec - The OperationSpec to use to populate the httpRequest.\n */\n async sendOperationRequest(operationArguments, operationSpec) {\n const endpoint = operationSpec.baseUrl || this._endpoint;\n if (!endpoint) {\n throw new Error(\"If operationSpec.baseUrl is not specified, then the ServiceClient must have a endpoint string property that contains the base URL to use.\");\n }\n // Templatized URLs sometimes reference properties on the ServiceClient child class,\n // so we have to pass `this` below in order to search these properties if they're\n // not part of OperationArguments\n const url = getRequestUrl(endpoint, operationSpec, operationArguments, this);\n const request = createPipelineRequest({\n url,\n });\n request.method = operationSpec.httpMethod;\n const operationInfo = getOperationRequestInfo(request);\n operationInfo.operationSpec = operationSpec;\n operationInfo.operationArguments = operationArguments;\n const contentType = operationSpec.contentType || this._requestContentType;\n if (contentType && operationSpec.requestBody) {\n request.headers.set(\"Content-Type\", contentType);\n }\n const options = operationArguments.options;\n if (options) {\n const requestOptions = options.requestOptions;\n if (requestOptions) {\n if (requestOptions.timeout) {\n request.timeout = requestOptions.timeout;\n }\n if (requestOptions.onUploadProgress) {\n request.onUploadProgress = requestOptions.onUploadProgress;\n }\n if (requestOptions.onDownloadProgress) {\n request.onDownloadProgress = requestOptions.onDownloadProgress;\n }\n if (requestOptions.shouldDeserialize !== undefined) {\n operationInfo.shouldDeserialize = requestOptions.shouldDeserialize;\n }\n if (requestOptions.allowInsecureConnection) {\n request.allowInsecureConnection = true;\n }\n }\n if (options.abortSignal) {\n request.abortSignal = options.abortSignal;\n }\n if (options.tracingOptions) {\n request.tracingOptions = options.tracingOptions;\n }\n }\n if (this._allowInsecureConnection) {\n request.allowInsecureConnection = true;\n }\n if (request.streamResponseStatusCodes === undefined) {\n request.streamResponseStatusCodes = getStreamingResponseStatusCodes(operationSpec);\n }\n try {\n const rawResponse = await this.sendRequest(request);\n const flatResponse = flattenResponse(rawResponse, operationSpec.responses[rawResponse.status]);\n if (options === null || options === void 0 ? void 0 : options.onResponse) {\n options.onResponse(rawResponse, flatResponse);\n }\n return flatResponse;\n }\n catch (error) {\n if (typeof error === \"object\" && (error === null || error === void 0 ? void 0 : error.response)) {\n const rawResponse = error.response;\n const flatResponse = flattenResponse(rawResponse, operationSpec.responses[error.statusCode] || operationSpec.responses[\"default\"]);\n error.details = flatResponse;\n if (options === null || options === void 0 ? void 0 : options.onResponse) {\n options.onResponse(rawResponse, flatResponse, error);\n }\n }\n throw error;\n }\n }\n}\nfunction createDefaultPipeline(options) {\n const credentialScopes = getCredentialScopes(options);\n const credentialOptions = options.credential && credentialScopes\n ? { credentialScopes, credential: options.credential }\n : undefined;\n return createClientPipeline(Object.assign(Object.assign({}, options), { credentialOptions }));\n}\nfunction getCredentialScopes(options) {\n if (options.credentialScopes) {\n return options.credentialScopes;\n }\n if (options.endpoint) {\n return `${options.endpoint}/.default`;\n }\n if (options.baseUri) {\n return `${options.baseUri}/.default`;\n }\n if (options.credential && !options.credentialScopes) {\n throw new Error(`When using credentials, the ServiceClientOptions must contain either a endpoint or a credentialScopes. Unable to create a bearerTokenAuthenticationPolicy`);\n }\n return undefined;\n}\n//# sourceMappingURL=serviceClient.js.map","import { OperationParameter, OperationURLParameter } from \"@azure/core-client\";\r\n\r\nexport const accept: OperationParameter = {\r\n parameterPath: \"accept\",\r\n mapper: {\r\n defaultValue: \"application/json\",\r\n isConstant: true,\r\n serializedName: \"Accept\",\r\n type: {\r\n name: \"String\",\r\n },\r\n },\r\n};\r\n\r\nexport const $host: OperationURLParameter = {\r\n parameterPath: \"$host\",\r\n mapper: {\r\n serializedName: \"$host\",\r\n required: true,\r\n type: {\r\n name: \"String\",\r\n },\r\n },\r\n skipEncoding: true,\r\n};\r\n\r\nexport const currentNodeId: OperationURLParameter = {\r\n parameterPath: \"currentNodeId\",\r\n mapper: {\r\n constraints: {\r\n InclusiveMinimum: 0,\r\n },\r\n serializedName: \"currentNodeId\",\r\n required: true,\r\n type: {\r\n name: \"Number\",\r\n },\r\n },\r\n};\r\n","import * as coreClient from \"@azure/core-client\";\r\n\r\nexport const MenuResponse: coreClient.CompositeMapper = {\r\n type: {\r\n name: \"Composite\",\r\n className: \"MenuResponse\",\r\n modelProperties: {\r\n menuItems: {\r\n serializedName: \"MenuItems\",\r\n required: true,\r\n type: {\r\n name: \"Sequence\",\r\n element: {\r\n type: {\r\n name: \"Composite\",\r\n className: \"MenuLevel\",\r\n },\r\n },\r\n },\r\n },\r\n pathLookup: {\r\n serializedName: \"PathLookup\",\r\n required: true,\r\n type: {\r\n name: \"Dictionary\",\r\n value: { type: { name: \"Composite\", className: \"Lookup\" } },\r\n },\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport const MenuLevel: coreClient.CompositeMapper = {\r\n type: {\r\n name: \"Composite\",\r\n className: \"MenuLevel\",\r\n modelProperties: {\r\n path: {\r\n serializedName: \"Path\",\r\n required: true,\r\n type: {\r\n name: \"Sequence\",\r\n element: {\r\n type: {\r\n name: \"Number\",\r\n },\r\n },\r\n },\r\n },\r\n hasItems: {\r\n serializedName: \"HasItems\",\r\n type: {\r\n name: \"Boolean\",\r\n },\r\n },\r\n label: {\r\n serializedName: \"Label\",\r\n required: true,\r\n type: {\r\n name: \"String\",\r\n },\r\n },\r\n url: {\r\n serializedName: \"Url\",\r\n required: true,\r\n type: {\r\n name: \"String\",\r\n },\r\n },\r\n items: {\r\n serializedName: \"Items\",\r\n type: {\r\n name: \"Sequence\",\r\n element: {\r\n type: {\r\n name: \"Composite\",\r\n className: \"MenuLevel\",\r\n },\r\n },\r\n },\r\n },\r\n isActive: {\r\n serializedName: \"IsActive\",\r\n required: true,\r\n type: {\r\n name: \"Boolean\",\r\n },\r\n },\r\n },\r\n },\r\n};\r\n\r\nexport const Lookup: coreClient.CompositeMapper = {\r\n type: {\r\n name: \"Composite\",\r\n className: \"Lookup\",\r\n modelProperties: {\r\n code: {\r\n serializedName: \"code\",\r\n type: {\r\n name: \"Number\",\r\n },\r\n },\r\n text: {\r\n serializedName: \"text\",\r\n type: {\r\n name: \"Sequence\",\r\n element: {\r\n type: {\r\n name: \"Number\",\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n};\r\n","import * as coreClient from \"@azure/core-client\";\r\nimport * as Parameters from \"./models/parameters\";\r\nimport * as Mappers from \"./models/mappers\";\r\nimport {\r\n NavigationAPIOptionalParams,\r\n GetNavigationOptionalParams,\r\n GetNavigationResponse,\r\n} from \"./models\";\r\n\r\nexport class NavigationAPI extends coreClient.ServiceClient {\r\n $host: string;\r\n\r\n /**\r\n * Initializes a new instance of the NavigationAPI class.\r\n * @param $host server parameter\r\n * @param options The parameter options\r\n */\r\n constructor($host: string, options?: NavigationAPIOptionalParams) {\r\n if ($host === undefined) {\r\n throw new Error(\"'$host' cannot be null\");\r\n }\r\n\r\n // Initializing default values for options\r\n if (!options) {\r\n options = {};\r\n }\r\n const defaults: NavigationAPIOptionalParams = {\r\n requestContentType: \"application/json; charset=utf-8\",\r\n };\r\n\r\n const packageDetails = `azsdk-js-navigation-rest-client/1.0.0-beta.1`;\r\n const userAgentPrefix =\r\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\r\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\r\n : `${packageDetails}`;\r\n\r\n const optionsWithDefaults = {\r\n ...defaults,\r\n ...options,\r\n userAgentOptions: {\r\n userAgentPrefix,\r\n },\r\n endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\r\n };\r\n super(optionsWithDefaults);\r\n // Parameter assignments\r\n this.$host = $host;\r\n }\r\n\r\n /**\r\n * By passing in the appropriate options, you can search for\r\n * available inventory in the system\r\n *\r\n * @param currentNodeId the Id for the current node\r\n * @param options The options parameters.\r\n */\r\n getNavigation(\r\n currentNodeId: number,\r\n options?: GetNavigationOptionalParams,\r\n ): Promise {\r\n return this.sendOperationRequest(\r\n { currentNodeId, options },\r\n getNavigationOperationSpec,\r\n );\r\n }\r\n}\r\n// Operation Specifications\r\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\r\n\r\nconst getNavigationOperationSpec: coreClient.OperationSpec = {\r\n path: \"/navigation/{currentNodeId}\",\r\n httpMethod: \"GET\",\r\n responses: {\r\n 200: {\r\n bodyMapper: {\r\n type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\r\n },\r\n },\r\n 400: {},\r\n },\r\n urlParameters: [Parameters.$host, Parameters.currentNodeId],\r\n headerParameters: [Parameters.accept],\r\n serializer,\r\n};\r\n","\r\nimport Vue from \"vue\";\r\nimport { MenuLevel } from \"../Models/MenuLevel\";\r\nimport { MenuLevel as MenuLevelApi } from \"../client/src/models\"\r\nimport {\r\n NavigationAPI,\r\n} from \"../client/src/navigationAPI\";\r\nimport smoothReflow from \"vue-smooth-reflow\";\r\n\r\n\r\nexport default Vue.extend({\r\n name: \"MobileMenu\",\r\n props: {\r\n currentpage: Number,\r\n root: Number,\r\n ocpApimSubscriptionKey: String,\r\n apidomain: String,\r\n },\r\n data() {\r\n return {\r\n menuLinks: [] as MenuLevelApi[],\r\n utilityLinks: [] as MenuLevelApi[],\r\n currentPosition: [],\r\n levels: [] as MenuLevelApi[],\r\n currentLevel: {} as MenuLevelApi,\r\n prevLevelDepth: 0 as number,\r\n currentLevelDepth: 0 as number,\r\n };\r\n },\r\n computed: {\r\n transitionName(): string {\r\n return (\r\n \"slide-\" +\r\n (this.currentLevelDepth > this.prevLevelDepth ? \"left\" : \"right\")\r\n );\r\n },\r\n },\r\n methods: {\r\n navigate(path: number[]) {\r\n this.$data.currentPosition = path;\r\n this.recalculateItems();\r\n this.$nextTick(() => {\r\n (this.$refs[\r\n `level-${this.getPathName(this.$data.currentPosition)}`\r\n ] as HTMLBaseElement).focus();\r\n });\r\n },\r\n\r\n recalculateItems() {\r\n let items = this.$data.menuLinks;\r\n const levels: MenuLevelApi[] = [];\r\n\r\n levels.push(this.getLevel([], \"\", items));\r\n this.currentPosition.forEach((index, depth) => {\r\n const path = [...this.currentPosition].slice(0, depth + 1);\r\n const label = (items[index] && items[index].label) || null;\r\n items = (items[index] && items[index].items) || [];\r\n levels.push(this.getLevel(path, label, items));\r\n });\r\n\r\n this.$data.levels = levels;\r\n this.currentLevel = levels[levels.length - 1];\r\n this.prevLevelDepth = this.currentLevelDepth;\r\n this.currentLevelDepth = levels.length - 1;\r\n },\r\n\r\n getLevel(\r\n path: number[],\r\n label: string,\r\n items: MenuLevelApi[]\r\n ): MenuLevelApi {\r\n return {\r\n path: path,\r\n label: label,\r\n hasItems: items.length > 0,\r\n isActive: false,\r\n url: \"\",\r\n items: items.map((item, index) => {\r\n return {\r\n path: [...path, index],\r\n label: item.label,\r\n url: item.url,\r\n isActive: item.isActive,\r\n hasItems: (item.items && item.items.length > 0) || false,\r\n };\r\n }),\r\n };\r\n },\r\n\r\n getPathName(path: string[]) {\r\n if (!path || path.length < 0) {\r\n return 0;\r\n }\r\n\r\n return [0, ...path].join(\"-\");\r\n },\r\n\r\n handleArrowNavigation(direction: number) {\r\n if (!this.$refs.link) {\r\n return;\r\n }\r\n\r\n const links = [];\r\n if (this.$refs.back) {\r\n links.push(this.$refs.back);\r\n }\r\n links.push(...(this.$refs.link as HTMLBaseElement[]));\r\n if (links.includes(document.activeElement as HTMLBaseElement)) {\r\n let nextIndex =\r\n links.indexOf(document.activeElement as HTMLBaseElement) + direction;\r\n if (nextIndex < 0) {\r\n nextIndex = links.length - 1;\r\n } else if (nextIndex > links.length - 1) {\r\n nextIndex = 0;\r\n }\r\n (links as HTMLBaseElement[])[nextIndex].focus();\r\n } else {\r\n if (direction > 0) {\r\n (this.$refs.link as HTMLBaseElement[])[0].focus();\r\n } else {\r\n (links as HTMLBaseElement[])[links.length - 1].focus();\r\n }\r\n }\r\n },\r\n async getNavigationdata() {\r\n const client = new NavigationAPI(`${window.location.origin}/${this.apidomain}`);\r\n const apimKey = this.ocpApimSubscriptionKey!.toString();\r\n\r\n const result = await client.getNavigation(this.root, {\r\n requestOptions: {\r\n customHeaders: {\r\n \"ocp-apim-subscription-key\": apimKey,\r\n \"Accept\": \"application/json;v=1\"\r\n }\r\n }\r\n });\r\n this.$data.menuLinks = result.menuItems as MenuLevelApi[];\r\n this.$data.utilityLinks = result.utilityMenuItems as MenuLevelApi[];\r\n this.recalculateItems();\r\n const currentPath = (result.pathLookup as any)[this.currentpage] || [];\r\n this.navigate(currentPath as number[]);\r\n },\r\n },\r\n\r\n mounted() {\r\n this.getNavigationdata();\r\n let typedef: Vue[\"$refs\"];\r\n this.$smoothReflow &&\r\n this.$smoothReflow({\r\n el: (this.$refs.levels as Vue).$el,\r\n });\r\n },\r\n\r\n\r\n});\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MobileMenu.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./MobileMenu.vue?vue&type=template&id=1cb58738&\"\nimport script from \"./MobileMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileMenu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\nimport Vue from \"vue\";\r\nimport MobileMenu from \"./components/MobileMenu.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"App\",\r\n props: {\r\n currentpageid: {\r\n type: Number,\r\n required: true,\r\n default: 0.1\r\n },\r\n root: {\r\n type: Number,\r\n required: true,\r\n default: 0.1\r\n },\r\n ocpApimSubscriptionKey: {\r\n type: String,\r\n required: false,\r\n default: \"\"\r\n },\r\n apidomain: {\r\n type: String,\r\n required: false,\r\n default: \"\"\r\n },\r\n },\r\n components: {\r\n MobileMenu\r\n },\r\n});\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3e1366ed&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\n\r\nVue.config.productionTip = true;\r\nconst navEl = document.getElementById(\"sm-mobile-menu\");\r\nconst pageid = Number(navEl?.getAttribute(\"data-currentpageid\"));\r\nconst rootid = Number(navEl?.getAttribute(\"data-root\"));\r\nconst key = navEl?.getAttribute(\"data-ocpApimSubscriptionKey\");\r\nconst domain = navEl?.getAttribute(\"data-apidomain\");\r\nnew Vue({\r\n render: (h) =>\r\n h(App, {\r\n props: {\r\n currentpageid: pageid,\r\n ocpApimSubscriptionKey: key,\r\n apidomain: domain,\r\n root: rootid,\r\n },\r\n }),\r\n}).$mount(\"#sm-mobile-menu\");\r\n"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__7203__","isCallable","tryToString","$TypeError","TypeError","argument","isObject","$String","String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","value","O","length","index","includes","indexOf","DESCRIPTORS","isArray","getOwnPropertyDescriptor","Object","SILENT_ON_NON_WRITABLE_LENGTH_SET","undefined","defineProperty","writable","error","uncurryThis","toString","stringSlice","slice","it","hasOwn","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","exceptions","keys","f","i","key","createPropertyDescriptor","object","bitmap","enumerable","configurable","makeBuiltIn","defineGlobalProperty","options","simple","name","global","unsafe","nonConfigurable","nonWritable","fails","get","documentAll","document","all","IS_HTMLDDA","EXISTS","createElement","MAX_SAFE_INTEGER","navigator","userAgent","match","version","process","Deno","versions","v8","split","createNonEnumerableProperty","defineBuiltIn","copyConstructorProperties","isForced","FORCED","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","prototype","dontCallGetSet","forced","sham","exec","test","bind","hasOwnProperty","NATIVE_BIND","call","Function","apply","arguments","FunctionPrototype","getDescriptor","PROPER","CONFIGURABLE","uncurryThisWithBind","fn","aFunction","namespace","method","aCallable","isNullOrUndefined","V","P","func","check","Math","globalThis","window","g","toObject","a","classof","$Object","propertyIsEnumerable","store","functionToString","inspectSource","set","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","enforce","getterFor","TYPE","state","type","metadata","facade","STATE","Array","$documentAll","replacement","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","toLength","obj","CONFIGURABLE_FUNCTION_NAME","InternalStateModule","enforceInternalState","getInternalState","join","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","constructor","ceil","floor","trunc","x","n","IE8_DOM_DEFINE","V8_PROTOTYPE_DEFINE_BUG","anObject","toPropertyKey","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","internalObjectKeys","enumBugKeys","concat","getOwnPropertyNames","getOwnPropertySymbols","push","names","result","$propertyIsEnumerable","NASHORN_BUG","input","pref","val","valueOf","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","uid","SHARED","IS_PURE","mode","copyright","license","V8_VERSION","symbol","Symbol","toIntegerOrInfinity","max","min","integer","IndexedObject","requireObjectCoercible","number","isSymbol","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","toPrimitive","id","postfix","random","NATIVE_SYMBOL","iterator","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","$","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","proto","item","len","argCount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","d","definition","o","e","prop","r","toStringTag","p","currentScript","src","render","_vm","_c","_self","_setupProxy","attrs","currentpageid","apidomain","ocpApimSubscriptionKey","staticRenderFns","staticClass","ref","transitionName","currentLevel","getPathName","path","class","subMenu","currentLevelDepth","on","$event","_k","keyCode","handleArrowNavigation","button","navigate","_v","_s","label","_e","_l","items","parseInt","loopListItem","url","hasItems","refInFor","active","isActive","utilityLinks","utilityLink","_typeof","_toPrimitive","hint","prim","res","Number","_toPropertyKey","arg","_defineProperty","encodeByteArray","str","fromCharCode","btoa","decodeString","byteString","atob","arr","Uint8Array","charCodeAt","XML_ATTRKEY","XML_CHARKEY","isPrimitiveBody","mapperTypeName","validateISODuration","isDuration","validUuidRegex","isValidUuid","uuid","handleNullableResponseAndWrappableBody","responseObject","combinedHeadersAndBody","assign","headers","body","hasNullableType","shouldWrapBody","flattenResponse","fullResponse","responseSpec","_a","_b","parsedHeaders","request","parsedBody","bodyMapper","isNullable","Boolean","nullable","expectedBodyTypeName","blobBody","readableStreamBody","modelProperties","isPageableResponse","some","k","serializedName","arrayResponse","SerializerImpl","modelMappers","isXML","validateConstraints","mapper","objectName","failValidation","constraintName","constraintValue","Error","constraints","ExclusiveMaximum","ExclusiveMinimum","InclusiveMaximum","InclusiveMinimum","MaxItems","MaxLength","MinItems","MinLength","MultipleOf","Pattern","UniqueItems","pattern","RegExp","ar","serialize","xml","updatedOptions","rootName","includeRoot","xmlCharKey","payload","mapperType","isConstant","defaultValue","required","serializeBasicTypes","enumMapper","serializeEnumType","allowedValues","serializeDateTypes","serializeByteArrayType","serializeBase64UrlType","serializeSequenceType","serializeDictionaryType","serializeCompositeType","deserialize","responseBody","_d","ignoreUnknownProperties","xmlIsWrapped","deserializeCompositeType","parseFloat","isNaN","Date","unixTimeToDate","base64UrlToByteArray","deserializeSequenceType","deserializeDictionaryType","createSerializer","trimEnd","ch","substr","bufferToBase64Url","buffer","splitSerializeName","classes","partialclass","subwords","charAt","dateToUnixTime","getTime","typeName","objectType","pipe","tee","ArrayBuffer","isView","Blob","isPresent","JSON","stringify","parse","toISOString","substring","toUTCString","serializer","isXml","elementType","element","className","tempArray","serializedValue","xmlNamespace","xmlnsKey","xmlNamespacePrefix","valueType","tempDictionary","getXmlObjectValue","resolveAdditionalProperties","additionalProperties","modelMapper","resolveReferencedMapper","resolveModelProperties","modelProps","getPolymorphicDiscriminatorRecursively","getPolymorphicMapper","propertyMapper","readOnly","propName","parentObject","xmlName","xmlElementName","paths","pop","pathName","childObject","propertyObjectName","toSerialize","polymorphicDiscriminator","clientName","xmlIsAttribute","additionalPropertiesMapper","propNames","clientPropName","isAdditionalProperty","every","pn","isSpecialXmlProperty","propertyName","instance","handledPropertyNames","headerCollectionPrefix","dictionary","headerKey","startsWith","xmlIsMsText","wrapped","elementList","property","propertyInstance","steps","arrayInstance","v","entries","responsePropName","getIndexDiscriminator","discriminators","discriminatorValue","typeNamesToCheck","currentName","shift","indexDiscriminator","uberParent","polymorphicPropertyName","discriminatorName","polymorphicMapper","getPolymorphicDiscriminatorSafely","MapperTypeNames","Base64Url","ByteArray","Composite","DateTime","DateTimeRfc1123","Dictionary","Enum","Sequence","Stream","TimeSpan","UnixTime","ValidPhaseNames","Set","HttpPipeline","policies","_policies","_orderedPolicies","addPolicy","policy","phase","afterPhase","removePolicy","removedPolicies","filter","policyDescriptor","sendRequest","httpClient","getOrderedPolicies","pipeline","reduceRight","next","req","orderPolicies","clone","static","policyMap","Map","createPhase","hasRun","hasAfterPolicies","serializePhase","noPhase","deserializePhase","retryPhase","signPhase","orderedPhases","getPhase","policyName","node","dependsOn","dependants","add","afterPolicies","afterPolicyName","afterNode","beforePolicies","beforePolicyName","beforeNode","walkPhase","size","dependant","delete","walkPhases","iteration","initialResultLength","createEmptyPipeline","create","log","args","firstArg","console","warn","info","debug","debugEnvVariable","DEBUG","enabledString","enabledNamespaces","skippedNamespaces","debuggers","enable","debugObj","createDebugger","enabled","disable","namespaces","wildcard","namespaceList","map","ns","trim","endsWith","skipped","enabledNamespace","newDebugger","destroy","extend","splice","registeredLoggers","logLevelFromEnv","AZURE_LOG_LEVEL","azureLogLevel","AzureLogger","AZURE_LOG_LEVELS","setLogLevel","level","isAzureLogLevel","logger","shouldEnable","levelMap","verbose","warning","createClientLogger","clientRootLogger","patchLogMethod","createLogger","parent","child","logLevel","message","super","getRandomIntegerInclusive","offset","isError","hasName","hasMessage","getErrorMessage","stringified","err","format","utf8StringToUint8Array","base64ToUint8Array","base64UrlToUint8Array","hexStringToUint8Array","TextEncoder","encode","base64String","hexDigits","bytes","highNibble","lowNibble","generateUUID","randomNumber","uuidFunction","crypto","randomUUID","importScripts","deno","Bun","RedactedString","product","defaultAllowedHeaderNames","defaultAllowedQueryParameters","Sanitizer","additionalAllowedHeaderNames","allowedHeaderNames","additionalAllowedQueryParameters","allowedQueryParameters","sanitize","seen","sanitizeHeaders","sanitizeUrl","sanitizeQuery","sanitized","URL","search","searchParams","logPolicyName","logPolicy","sanitizer","async","response","status","redirectPolicyName","allowedRedirect","redirectPolicy","maxRetries","handleRedirect","currentRetries","locationHeader","getHeaderName","setPlatformSpecificData","localNavigator","userAgentData","platform","SDK_VERSION","getUserAgentString","telemetryInfo","parts","token","getUserAgentHeaderName","getUserAgentValue","prefix","runtimeInfo","defaultAgent","userAgentValue","UserAgentHeaderName","userAgentPolicyName","userAgentPolicy","userAgentPrefix","rawContent","hasRawContent","getRawContent","blob","stream","isWebReadableStream","getReader","isBlob","drain","Response","toBlobPart","sources","generateBoundary","encodeHeaders","getLength","byteLength","getTotalLength","total","partLength","buildRequestBody","boundary","flatMap","part","contentLength","multipartPolicyName","maxBoundaryLength","validBoundaryCharacters","assertValidBoundary","from","multipartPolicy","multipartBody","contentTypeHeader","parsedHeader","contentType","parsedBoundary","decompressResponsePolicy","delayInMs","Promise","resolve","reject","timer","onAborted","rejectOnAbort","abortErrorMsg","removeListeners","abortSignal","removeEventListener","clearTimeout","aborted","setTimeout","addEventListener","parseHeaderValueAsNumber","headerName","valueAsNum","RetryAfterHeader","AllRetryAfterHeaders","getRetryAfterInMs","header","retryAfterValue","multiplyingFactor","retryAfterHeader","date","diff","now","isFinite","isThrottlingRetryResponse","retry","retryAfterInMs","skipStrategy","DEFAULT_CLIENT_RETRY_INTERVAL","DEFAULT_CLIENT_MAX_RETRY_INTERVAL","retryInterval","retryDelayInMs","maxRetryInterval","maxRetryDelayInMs","retryCount","responseError","matchedSystemError","isSystemError","ignoreSystemErrors","isExponential","isExponentialRetryResponse","ignoreExponentialResponse","ignoreHttpStatusCodes","unknownResponse","errorToThrow","exponentialDelay","pow","clampedExponentialDelay","code","retryPolicyLogger","retryPolicyName","strategies","retryRequest","requestId","abortError","strategiesLoop","strategy","strategyLogger","modifiers","redirectTo","defaultRetryPolicyName","defaultRetryPolicy","normalizeName","headerIterator","entry","values","HttpHeadersImpl","rawHeaders","_headersMap","toJSON","preserveCase","normalizedName","createHttpHeaders","formDataPolicyName","formDataToFormDataMap","formData","formDataMap","formDataPolicy","FormData","wwwFormUrlEncode","prepareFormData","urlSearchParams","URLSearchParams","subValue","append","fieldName","fileName","errorMessage","proxyPolicy","setClientRequestIdPolicyName","setClientRequestIdPolicy","requestIdHeaderName","tlsPolicyName","tlsPolicy","tlsSettings","knownContextKeys","span","for","createTracingContext","context","TracingContextImpl","parentContext","setValue","initialContext","_contextMap","newContext","getValue","deleteValue","instrumenterImplementation","createDefaultTracingSpan","end","isRecording","recordException","setAttribute","setStatus","createDefaultInstrumenter","createRequestHeaders","parseTraceparentHeader","startSpan","_name","spanOptions","tracingContext","withContext","_context","callback","callbackArgs","getInstrumenter","createTracingClient","packageName","packageVersion","operationOptions","startSpanResult","tracingOptions","withSpan","traceparentHeader","custom","errorSanitizer","RestError","statusCode","setPrototypeOf","isRestError","REQUEST_SEND_ERROR","PARSE_ERROR","tracingPolicyName","tracingPolicy","tracingClient","tryCreateTracingClient","tryCreateSpan","tryProcessResponse","tryProcessError","spanKind","spanAttributes","serviceRequestId","createPipelineFromOptions","tlsOptions","proxyOptions","userAgentOptions","telemetryOptions","clientRequestIdHeaderName","retryOptions","redirectOptions","loggingOptions","FetchHttpClient","isInsecure","protocol","allowInsecureConnection","proxySettings","makeRequest","getError","abortController","abortControllerCleanup","setupAbortSignal","buildFetchHeaders","streaming","requestBody","requestInit","signal","Request","credentials","withCredentials","cache","duplex","fetch","onUploadProgress","loadedBytes","buildPipelineResponse","httpResponse","buildPipelineHeaders","bodyStream","buildBodyStream","onProgress","onDownloadProgress","onEnd","streamResponseStatusCodes","POSITIVE_INFINITY","enableBrowserStreams","browserStreamBody","responseStream","bodyAsText","text","AbortController","abortListener","event","abort","timeout","pipelineHeaders","Headers","responseHeaders","readableStream","isTransformStreamSupported","pipeThrough","TransformStream","transform","chunk","controller","enqueue","terminate","flush","reader","ReadableStream","done","read","close","releaseLock","cancel","reason","createFetchHttpClient","createDefaultHttpClient","PipelineRequestImpl","_f","_g","disableKeepAlive","createPipelineRequest","DEFAULT_CYCLER_OPTIONS","forcedRefreshWindowInMs","retryIntervalInMs","refreshWindowInMs","beginRefresh","getAccessToken","refreshTimeout","tryGetAccessToken","finalToken","credential","tokenCyclerOptions","tenantId","refreshWorker","cycler","isRefreshing","shouldRefresh","expiresOnTimestamp","mustRefresh","refresh","scopes","getTokenOptions","getToken","then","_token","catch","tokenOptions","claims","bearerTokenAuthenticationPolicyName","defaultAuthorizeRequest","accessToken","getChallenge","challenge","bearerTokenAuthenticationPolicy","challengeCallbacks","callbacks","authorizeRequest","authorizeRequestOnChallenge","shouldSendRequest","operationRequestMap","getOperationArgumentValueFromParameter","operationArguments","parameter","fallbackObject","parameterPath","parameterMapper","propertySearchResult","getPropertyFromParameterPath","propertyFound","useDefaultValue","propertyValue","propertyPath","parameterPathPart","originalRequestSymbol","hasOriginalRequest","getOperationRequestInfo","defaultJsonContentTypes","defaultXmlContentTypes","deserializationPolicyName","deserializationPolicy","jsonContentTypes","expectedContentTypes","json","xmlContentTypes","parseXML","serializerOptions","deserializeResponseBody","getOperationResponseMap","parsedResponse","operationInfo","operationSpec","operationResponseGetter","responses","shouldDeserializeResponse","shouldDeserialize","shouldReturnResponse","handleErrorResponse","valueToDeserialize","deserializeError","restError","httpMethod","headersMapper","isOperationSpecEmpty","expectedStatusCodes","isSuccessByStatus","isExpectedStatusCode","errorResponseSpec","default","initialErrorMessage","defaultBodyMapper","defaultHeadersMapper","deserializedError","elementName","internalError","defaultError","operationResponse","opts","contentComponents","component","msg","errCode","getStreamingResponseStatusCodes","getPathStringFromParameter","serializationPolicyName","serializationPolicy","stringifyXML","serializeHeaders","serializeRequestBody","headerParameters","headerParameter","headerValue","customHeaders","requestOptions","customHeaderName","requestBodyParameterPathString","isStream","getXmlValueWithNamespace","prepareXMLRootList","mediaType","formDataParameters","formDataParameter","formDataParameterValue","formDataParameterPropertyName","xmlNamespaceKey","createClientPipeline","credentialOptions","credentialScopes","serializationOptions","deserializationOptions","cachedHttpClient","getCachedDefaultHttpClient","CollectionFormatToDelimiterMap","CSV","SSV","Multi","TSV","Pipes","getRequestUrl","baseUri","urlReplacements","calculateUrlReplacements","isAbsolutePath","requestUrl","replaceAll","isAbsoluteUrl","appendPath","queryParams","sequenceParams","calculateQueryParameters","appendQueryParams","replacements","searchValue","replaceValue","urlParameters","urlParameter","urlParameterValue","parameterPathString","skipEncoding","encodeURIComponent","pathToAppend","parsedUrl","newPath","pathname","searchStart","queryParameters","queryParameter","queryParameterValue","delimiter","collectionFormat","simpleParseQueryParams","queryString","pairs","pair","existingValue","noOverwrite","combinedParams","valueSet","unshift","searchPieces","ServiceClient","_requestContentType","requestContentType","_endpoint","endpoint","_allowInsecureConnection","_httpClient","createDefaultPipeline","additionalPolicies","position","baseUrl","rawResponse","flatResponse","onResponse","details","getCredentialScopes","accept","$host","currentNodeId","MenuResponse","menuItems","pathLookup","MenuLevel","Lookup","NavigationAPI","coreClient","defaults","packageDetails","optionsWithDefaults","getNavigation","sendOperationRequest","getNavigationOperationSpec","Mappers","Parameters","Vue","props","currentpage","menuLinks","currentPosition","levels","prevLevelDepth","computed","methods","$data","recalculateItems","$nextTick","$refs","focus","getLevel","forEach","depth","direction","link","links","back","activeElement","nextIndex","client","location","origin","apimKey","utilityMenuItems","currentPath","mounted","getNavigationdata","$smoothReflow","$el","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","components","MobileMenu","navEl","getElementById","pageid","getAttribute","rootid","domain","App","$mount"],"sourceRoot":""}