{"version":3,"file":"static/js/2528.249fad86.js","mappings":"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","sources":["../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/src/Constants.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-shims/src/TsLibShims.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/dynamicproto-js/src/DynamicProto.ts","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InternalConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EnvUtils.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/RandomHelper.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DataCacheHelper.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaults.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicSupport.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicProperty.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/AggregationError.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicState.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/DynamicConfig.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DbgExtensionUtils.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/DiagnosticLogger.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK.Enums/EnumHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Enums.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/StorageHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/applicationinsights-common.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Constants.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/DataSanitizer.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/TelemetryItemCreator.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Event.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Trace.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Common/DataPoint.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Metric.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/HelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/PageView.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/PageViewPerformance.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/Exception.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/W3cTraceParent.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/UrlHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Util.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/Telemetry/RemoteDependencyData.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CookieMgr.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-common/dist-es5/DomHelperFuncs.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/Config/ConfigDefaultHelpers.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/EventHelpers.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/PerfManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/TelemetryHelpers.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/ProcessTelemetryContext.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/InstrumentHooks.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/CoreUtils.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/BaseTelemetryPlugin.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHookContainer.js","../node_modules/@microsoft/applicationinsights-analytics-js/node_modules/@microsoft/applicationinsights-core-js/dist-es5/JavaScriptSDK/UnloadHandlerContainer.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/__DynamicConstants.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageViewManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/AnalyticsPlugin.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","../node_modules/@microsoft/applicationinsights-analytics-js/dist-es5/JavaScriptSDK/Timing.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nexport const strShimFunction = \"function\";\r\nexport const strShimObject = \"object\";\r\nexport const strShimUndefined = \"undefined\";\r\nexport const strShimPrototype = \"prototype\";\r\nexport const strDefault = \"default\";\r\n\r\nexport const ObjClass = Object;\r\nexport const ObjProto = ObjClass[strShimPrototype];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { getGlobal, objAssign, objCreate, objDefineProp, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport {\r\n ObjClass, ObjProto,\r\n strDefault, strShimFunction, strShimPrototype\r\n} from \"./Constants\";\r\n\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES5 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\n\r\nexport const SymbolObj = (getGlobal()||{})[\"Symbol\"];\r\nexport const ReflectObj = (getGlobal()||{})[\"Reflect\"];\r\nexport const __hasReflect = !!ReflectObj;\r\n\r\nconst strDecorate = \"decorate\";\r\nconst strMetadata = \"metadata\";\r\nconst strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nconst strIterator = \"iterator\";\r\nconst strHasOwnProperty = \"hasOwnProperty\";\r\n\r\nexport declare type ObjAssignFunc = (t: any, ...sources:any[]) => any;\r\n\r\nexport var __objAssignFnImpl: ObjAssignFunc = function(t: any): any {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strHasOwnProperty].call(s, p)) {\r\n (t as any)[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\n\r\nexport var __assignFn: ObjAssignFunc = objAssign || __objAssignFnImpl;\r\n\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function(d: any, b: any): any {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d: any, b: any) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d: any, b: any) {\r\n for (var p in b) {\r\n if (b[strHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\n\r\nexport function __extendsFn(d: any, b: any) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __(this: any) {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreate(b) : (__[strShimPrototype] = b[strShimPrototype], new (__ as any)());\r\n}\r\n\r\nexport function __restFn(s: any, e: any) {\r\n var t = {};\r\n for (var k in s) {\r\n if (objHasOwnProperty(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorateFn(decorators: any, target: any, key: any, desc: any) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n } else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && objDefineProp(target, key, r), r;\r\n}\r\n\r\nexport function __paramFn(paramIndex: number, decorator: Function) {\r\n return function (target: any, key: any) {\r\n decorator(target, key, paramIndex);\r\n }\r\n}\r\n\r\nexport function __metadataFn(metadataKey: any, metadataValue: any) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\n\r\nexport function __exportStarFn(m: any, o: any) {\r\n for (var p in m) {\r\n if (p !== strDefault && !objHasOwnProperty(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\n\r\nexport function __createBindingFn(o: any, m: any, k: any, k2?: any) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n \r\n if (!!objDefineProp) {\r\n objDefineProp(o, k2, {\r\n enumerable: true,\r\n get() {\r\n return m[k];\r\n }\r\n });\r\n } else {\r\n o[k2] = m[k];\r\n }\r\n}\r\n\r\nexport function __valuesFn(o: any) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __readFn(o: any, n: any) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n } catch (error) {\r\n e = {\r\n error\r\n };\r\n } finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n } finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n\r\n return r;\r\n}\r\n\r\nexport function __spreadArrayFn(to: any, from: any) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n\r\n return to;\r\n}\r\n\r\nexport function __makeTemplateObjectFn(cooked: any, raw: any) {\r\n if (objDefineProp) {\r\n objDefineProp(cooked, \"raw\", { value: raw });\r\n } else {\r\n cooked.raw = raw;\r\n }\r\n\r\n return cooked;\r\n}\r\n\r\nexport function __importStarFn(mod: any) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n\r\n // Set default module\r\n if (!!objDefineProp) {\r\n objDefineProp( result, strDefault, { enumerable: true, value: mod });\r\n } else {\r\n result[strDefault] = mod;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function __importDefaultFn(mod:any) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\r\nimport { getGlobal, objCreate, objHasOwnProperty, throwTypeError } from \"@nevware21/ts-utils\";\r\n\r\ninterface DynamicGlobalSettings {\r\n /**\r\n * Stores the global options which will also be exposed on the runtime global\r\n */\r\n o: IDynamicProtoOpts,\r\n\r\n /**\r\n * Internal Global used to generate a unique dynamic class name, every new class will increase this value\r\n * @ignore\r\n */ \r\n n: number\r\n};\r\n\r\nconst UNDEFINED = \"undefined\";\r\n\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */ \r\nconst Constructor = 'constructor';\r\n\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */ \r\nconst Prototype = 'prototype';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strFunction = 'function';\r\n\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */ \r\nconst DynInstFuncTable = '_dynInstFuncs';\r\n \r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */ \r\nconst DynProxyTag = '_isDynProxy';\r\n \r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */ \r\nconst DynClassName = '_dynClass';\r\n \r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */ \r\nconst DynClassNamePrefix = '_dynCls$';\r\n \r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nconst DynInstChkTag = '_dynInstChk';\r\n \r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same \r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nconst DynAllowInstChkTag = DynInstChkTag;\r\n \r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nconst DynProtoDefaultOptions = '_dfOpts';\r\n \r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */ \r\nconst UnknownValue = '_unknown_';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst str__Proto = \"__proto__\";\r\n \r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nconst DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nconst DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nconst DynProtoCurrent = \"_dynInstProto\";\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strUseBaseInst = 'useBaseInst';\r\n \r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nconst strSetInstFuncs = 'setInstFuncs';\r\n \r\nconst Obj = Object;\r\n\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nlet _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nlet _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nlet _gbl = getGlobal();\r\nlet _gblInst: DynamicGlobalSettings = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: {\r\n [strSetInstFuncs]: true,\r\n [strUseBaseInst]: true\r\n },\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */ \r\nfunction _isObjectOrArrayPrototype(target:any) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */ \r\nfunction _isObjectArrayOrFunctionPrototype(target:any) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */ \r\nfunction _getObjProto(target:any) {\r\n let newProto;\r\n\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n\r\n let curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!objHasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n\r\n return newProto;\r\n}\r\n\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target \r\n */\r\nfunction _forEachProp(target: any, func: (name: string) => void) {\r\n let props: string[] = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n } else {\r\n for (let name in target) {\r\n if (typeof name === \"string\" && objHasOwnProperty(target, name)) {\r\n props.push(name);\r\n }\r\n }\r\n }\r\n\r\n if (props && props.length > 0) {\r\n for (let lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target:any, funcName:string, skipOwn:boolean) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || objHasOwnProperty(target, funcName)) && funcName !== str__Proto && funcName !== Prototype);\r\n}\r\n\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message:string) {\r\n throwTypeError(\"DynamicProto: \" + message);\r\n}\r\n\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does \r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget:any): any {\r\n // Get the base proto\r\n var instFuncs = objCreate(null);\r\n\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, (name) => {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n\r\n return instFuncs;\r\n}\r\n\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values:any[], value:any) {\r\n for (let lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto:any, thisTarget:any, instFuncs:any, useBaseInst:boolean): any {\r\n function _instFuncProxy(target:any, funcHost: any, funcName: string) {\r\n let theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n let instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n\r\n return function() {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = objCreate(null);\r\n _forEachProp(instFuncs, (name) => {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n \r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n let visited:any[] = [];\r\n\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, (name) => {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n\r\n return baseFuncs;\r\n}\r\n\r\nfunction _getInstFunc(target: any, funcName: string, proto: any, currentDynProtoProxy: any) {\r\n let instFunc = null;\r\n\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && objHasOwnProperty(proto, DynClassName)) {\r\n\r\n let instFuncTable = target[DynInstFuncTable] || objCreate(null);\r\n instFunc = (instFuncTable[proto[DynClassName]] || objCreate(null))[funcName];\r\n\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n let canAddInst = !objHasOwnProperty(target, funcName);\r\n\r\n // Get current prototype\r\n let objProto = _getObjProto(target);\r\n let visited:any[] = [];\r\n\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n let protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n } catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n\r\n return instFunc;\r\n}\r\n\r\nfunction _getProtoFunc(funcName: string, proto: any, currentDynProtoProxy: any) {\r\n let protoFunc = proto[funcName];\r\n\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n\r\n return protoFunc;\r\n}\r\n\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname \r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto:any, className:string, target:any, baseInstFuncs:any, setInstanceFunc:boolean) {\r\n function _createDynamicPrototype(proto:any, funcName:string) {\r\n let dynProtoProxy = function() {\r\n // Use the instance or prototype function\r\n let instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n \r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n (dynProtoProxy as any)[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n \r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n let instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || objCreate(null);\r\n if (!_isObjectOrArrayPrototype(instFuncTable)) {\r\n let instFuncs = instFuncTable[className] = (instFuncTable[className] || objCreate(null)); // fetch and assign if as it may not exist yet\r\n\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n\r\n if (!_isObjectOrArrayPrototype(instFuncs)) {\r\n _forEachProp(target, (name) => {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name] ) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs[name] = target[name];\r\n delete target[name];\r\n \r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!objHasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto:any, thisTarget:any) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n let visited:any[] = [];\r\n let thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target \r\n * @param unknownValue \r\n * @ignore\r\n */\r\nfunction _getObjName(target:any, unknownValue?:string) {\r\n if (objHasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue\r\n }\r\n\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n\r\n/**\r\n * Interface to define additional configuration options to control how the dynamic prototype functions operate.\r\n */\r\nexport interface IDynamicProtoOpts {\r\n\r\n /**\r\n * Should the dynamic prototype attempt to set an instance function for instances that do not already have an\r\n * function of the same name or have been extended by a class with a (non-dynamic proto) prototype function.\r\n */\r\n setInstFuncs: boolean,\r\n\r\n /**\r\n * When looking for base (super) functions if it finds a dynamic proto instances can it use the instance functions\r\n * and bypass the prototype lookups. Defaults to true.\r\n */\r\n useBaseInst?: boolean\r\n}\r\n\r\n/**\r\n * The delegate signature for the function used as the callback for dynamicProto() \r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid for the proxy instance, even \r\n * though it is only a proxy that only contains the functions \r\n * @param theTarget This is the real \"this\" of the current target object\r\n * @param baseFuncProxy The is a proxy object which ONLY contains this function that existed on the \"this\" instance before\r\n * calling dynamicProto, it does NOT contain properties of this. This is basically equivalent to using the \"super\" keyword.\r\n */\r\nexport type DynamicProtoDelegate = (theTarget:DPType, baseFuncProxy?:DPType) => void;\r\n\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is \r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property \r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nexport default function dynamicProto(theClass:DPCls, target:DPType, delegateFunc: DynamicProtoDelegate, options?:IDynamicProtoOpts): void {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!objHasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n let classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n\r\n let className = null;\r\n if (objHasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n } else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n ;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n\r\n let perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n let useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n\r\n // Get the current instance functions\r\n let instFuncs = _getInstanceFuncs(target);\r\n\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n let baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs as DPType);\r\n\r\n // Don't allow setting instance functions for older IE instances\r\n let setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 9\r\nexport var _DYN_BLK_VAL = \"blkVal\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 42\r\nexport var _DYN_RD_ONLY = \"rdOnly\"; // Count: 4\r\nexport var _DYN_NOTIFY = \"notify\"; // Count: 4\r\nexport var _DYN_WARN_TO_CONSOLE = \"warnToConsole\"; // Count: 4\r\nexport var _DYN_THROW_INTERNAL = \"throwInternal\"; // Count: 5\r\nexport var _DYN_SET_DF = \"setDf\"; // Count: 6\r\nexport var _DYN_WATCH = \"watch\"; // Count: 9\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 21\r\nexport var _DYN_APPLY = \"apply\"; // Count: 7\r\nexport var _DYN_PUSH = \"push\"; // Count: 31\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 8\r\nexport var _DYN_HDLR = \"hdlr\"; // Count: 6\r\nexport var _DYN_CANCEL = \"cancel\"; // Count: 5\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 4\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 6\r\nexport var _DYN_POLL_INTERNAL_LOGS = \"pollInternalLogs\"; // Count: 2\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_TIME = \"time\"; // Count: 6\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 15\r\nexport var _DYN_GET_PROCESS_TEL_CONT0 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 5\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 4\r\nexport var _DYN_REMOVE_NOTIFICATION_2 = \"removeNotificationListener\"; // Count: 4\r\nexport var _DYN_ENABLED = \"enabled\"; // Count: 6\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_UNLOAD = \"unload\"; // Count: 9\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_LOGGING_LEVEL_CONSOL4 = \"loggingLevelConsole\"; // Count: 2\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 7\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 9\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 6\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 10\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 4\r\nexport var _DYN_UPDATE = \"update\"; // Count: 6\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 5\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 8\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// ###################################################################################################################################################\r\n// Note: DON'T Export these const from the package as we are still targeting IE/ES5 this will export a mutable variables that someone could change ###\r\n// ###################################################################################################################################################\r\nexport var UNDEFINED_VALUE = undefined;\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\nexport var STR_DOMAIN = \"domain\";\r\nexport var STR_PATH = \"path\";\r\nexport var STR_NOT_DYNAMIC_ERROR = \"Not dynamic - \";\r\n//# sourceMappingURL=InternalConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, asString as asString21, isArray, isBoolean, isError, isFunction, isNullOrUndefined, isObject, isPlainObject, isString, isUndefined, objDeepFreeze, objDefine, objForEachKey, objHasOwn, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minification\r\nvar strGetPrototypeOf = \"getPrototypeOf\";\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\nexport var _getObjProto = Object[strGetPrototypeOf];\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name - The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return strIndexOf(value, search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n return date && date.toISOString() || \"\";\r\n}\r\nexport var deepFreeze = objDeepFreeze;\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (objHasOwn(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n objDefine(target, field, {\r\n g: function () {\r\n return source[field];\r\n },\r\n s: function (theValue) {\r\n source[field] = theValue;\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults - Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && objHasOwn(arg, prop));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\nexport var asString = asString21;\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { getDocument, getInst, getNavigator, getPerformance, hasNavigator, isString, isUndefined, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strDocumentMode = \"documentMode\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strPerformance = \"performance\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getInst(strConsole);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2.userAgent || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (strIndexOf(ua, \"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported() {\r\n if (_beaconsSupported === null) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getInst(\"fetch\");\r\n var request = getInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n//# sourceMappingURL=EnvUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\nvar SEED1 = 123456789;\r\nvar SEED2 = 987654321;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = SEED1;\r\nvar _mwcZ = SEED2;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (SEED1 + seedValue) & MaxUInt32;\r\n _mwcZ = (SEED2 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = utcNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=RandomHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar version = '3.0.2';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n objDefine(target, data.id, {\r\n e: false,\r\n v: theCache\r\n });\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n//# sourceMappingURL=DataCacheHelper.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isArray, isDefined, isNullOrUndefined, isObject, isPlainObject, isUndefined, objForEachKey, objHasOwn } from \"@nevware21/ts-utils\";\r\nimport { _DYN_BLK_VAL, _DYN_LENGTH, _DYN_RD_ONLY } from \"../__DynamicConstants\";\r\nfunction _isConfigDefaults(value) {\r\n return (value && isObject(value) && (value.isVal || value.fb || objHasOwn(value, \"v\") || objHasOwn(value, \"mrg\") || objHasOwn(value, \"ref\") || value.set));\r\n}\r\nfunction _getDefault(dynamicHandler, theConfig, cfgDefaults) {\r\n var defValue;\r\n var isDefaultValid = cfgDefaults.dfVal || isDefined;\r\n // There is a fallback config key so try and grab that first\r\n if (theConfig && cfgDefaults.fb) {\r\n var fallbacks = cfgDefaults.fb;\r\n if (!isArray(fallbacks)) {\r\n fallbacks = [fallbacks];\r\n }\r\n for (var lp = 0; lp < fallbacks[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var fallback = fallbacks[lp];\r\n var fbValue = theConfig[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n else if (dynamicHandler) {\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n fbValue = dynamicHandler.cfg[fallback];\r\n if (isDefaultValid(fbValue)) {\r\n defValue = fbValue;\r\n }\r\n // Needed to ensure that the fallback value (and potentially) new field is also dynamic even if null/undefined\r\n dynamicHandler.set(dynamicHandler.cfg, asString(fallback), fbValue);\r\n }\r\n if (isDefaultValid(defValue)) {\r\n // We have a valid default so break out of the look\r\n break;\r\n }\r\n }\r\n }\r\n // If the value is still not defined and we have a default value then use that\r\n if (!isDefaultValid(defValue) && isDefaultValid(cfgDefaults.v)) {\r\n defValue = cfgDefaults.v;\r\n }\r\n return defValue;\r\n}\r\n/**\r\n * Recursively resolve the default value\r\n * @param dynamicHandler\r\n * @param theConfig\r\n * @param cfgDefaults\r\n * @returns\r\n */\r\nfunction _resolveDefaultValue(dynamicHandler, theConfig, cfgDefaults) {\r\n var theValue = cfgDefaults;\r\n if (cfgDefaults && _isConfigDefaults(cfgDefaults)) {\r\n theValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n if (theValue) {\r\n if (_isConfigDefaults(theValue)) {\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, theValue);\r\n }\r\n var newValue_1;\r\n if (isArray(theValue)) {\r\n newValue_1 = [];\r\n newValue_1[_DYN_LENGTH /* @min:%2elength */] = theValue[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(theValue)) {\r\n newValue_1 = {};\r\n }\r\n if (newValue_1) {\r\n objForEachKey(theValue, function (key, value) {\r\n if (value && _isConfigDefaults(value)) {\r\n value = _resolveDefaultValue(dynamicHandler, theConfig, value);\r\n }\r\n newValue_1[key] = value;\r\n });\r\n theValue = newValue_1;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Applies the default value on the config property and makes sure that it's dynamic\r\n * @param theConfig\r\n * @param name\r\n * @param defaultValue\r\n */\r\nexport function _applyDefaultValue(dynamicHandler, theConfig, name, defaultValue) {\r\n // Resolve the initial config value from the provided value or use the defined default\r\n var isValid;\r\n var setFn;\r\n var defValue;\r\n var cfgDefaults = defaultValue;\r\n var mergeDf;\r\n var reference;\r\n var readOnly;\r\n var blkDynamicValue;\r\n if (_isConfigDefaults(cfgDefaults)) {\r\n // looks like a IConfigDefault\r\n isValid = cfgDefaults.isVal;\r\n setFn = cfgDefaults.set;\r\n readOnly = cfgDefaults[_DYN_RD_ONLY /* @min:%2erdOnly */];\r\n blkDynamicValue = cfgDefaults[_DYN_BLK_VAL /* @min:%2eblkVal */];\r\n mergeDf = cfgDefaults.mrg;\r\n reference = cfgDefaults.ref;\r\n if (!reference && isUndefined(reference)) {\r\n reference = !!mergeDf;\r\n }\r\n defValue = _getDefault(dynamicHandler, theConfig, cfgDefaults);\r\n }\r\n else {\r\n defValue = defaultValue;\r\n }\r\n if (blkDynamicValue) {\r\n // Mark the property so that any value assigned will be blocked from conversion, we need to do this\r\n // before assigning or fetching the value to ensure it's not converted\r\n dynamicHandler[_DYN_BLK_VAL /* @min:%2eblkVal */](theConfig, name);\r\n }\r\n // Set the value to the default value;\r\n var theValue;\r\n var usingDefault = true;\r\n var cfgValue = theConfig[name];\r\n // try and get and user provided values\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n // Use the defined theConfig[name] value\r\n theValue = cfgValue;\r\n usingDefault = false;\r\n // The values are different and we have a special default value check, which is used to\r\n // override config values like empty strings to continue using the default\r\n if (isValid && theValue !== defValue && !isValid(theValue)) {\r\n theValue = defValue;\r\n usingDefault = true;\r\n }\r\n if (setFn) {\r\n theValue = setFn(theValue, defValue, theConfig);\r\n usingDefault = theValue === defValue;\r\n }\r\n }\r\n if (!usingDefault) {\r\n if (isPlainObject(theValue) || isArray(defValue)) {\r\n // we are using the user supplied value and it's an object\r\n if (mergeDf && defValue && (isPlainObject(defValue) || isArray(defValue))) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defValue, function (dfName, dfValue) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(dynamicHandler, theValue, dfName, dfValue);\r\n });\r\n }\r\n }\r\n }\r\n else if (defValue) {\r\n // Just resolve the default\r\n theValue = _resolveDefaultValue(dynamicHandler, theConfig, defValue);\r\n }\r\n else {\r\n theValue = defValue;\r\n }\r\n // if (theValue && usingDefault && (isPlainObject(theValue) || isArray(theValue))) {\r\n // theValue = _cfgDeepCopy(theValue);\r\n // }\r\n // Needed to ensure that the (potentially) new field is dynamic even if null/undefined\r\n dynamicHandler.set(theConfig, name, theValue);\r\n if (reference) {\r\n dynamicHandler.ref(theConfig, name);\r\n }\r\n if (readOnly) {\r\n dynamicHandler[_DYN_RD_ONLY /* @min:%2erdOnly */](theConfig, name);\r\n }\r\n}\r\n//# sourceMappingURL=ConfigDefaults.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isArray, isPlainObject, objForEachKey, symbolFor, throwTypeError } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\n// Using Symbol.for so that if the same symbol was already created it would be returned\r\n// To handle multiple instances using potentially different versions we are not using\r\n// createUniqueNamespace()\r\nexport var CFG_HANDLER_LINK = symbolFor(\"[[ai_dynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects / arrays with if they should not be converted\r\n */\r\nvar BLOCK_DYNAMIC = symbolFor(\"[[ai_blkDynCfg_1]]\");\r\n/**\r\n * @internal\r\n * @ignore\r\n * The symbol to tag objects to indicate that when included into the configuration that\r\n * they should be converted into a trackable dynamic object.\r\n */\r\nvar FORCE_DYNAMIC = symbolFor(\"[[ai_frcDynCfg_1]]\");\r\nexport function _cfgDeepCopy(source) {\r\n if (source) {\r\n var target_1;\r\n if (isArray(source)) {\r\n target_1 = [];\r\n target_1[_DYN_LENGTH /* @min:%2elength */] = source[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n else if (isPlainObject(source)) {\r\n target_1 = {};\r\n }\r\n if (target_1) {\r\n // Copying index values by property name as the extensionConfig can be an array or object\r\n objForEachKey(source, function (key, value) {\r\n // Perform a deep copy of the object\r\n target_1[key] = _cfgDeepCopy(value);\r\n });\r\n return target_1;\r\n }\r\n }\r\n return source;\r\n}\r\n/**\r\n * @internal\r\n * Get the dynamic config handler if the value is already dynamic\r\n * @param value\r\n * @returns\r\n */\r\nexport function getDynamicConfigHandler(value) {\r\n if (value) {\r\n var handler = value[CFG_HANDLER_LINK] || value;\r\n if (handler.cfg && (handler.cfg === value || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Mark the provided value so that if it's included into the configuration it will NOT have\r\n * its properties converted into a dynamic (reactive) object. If the object is not a plain object\r\n * or an array (ie. a class) this function has not affect as only Objects and Arrays are converted\r\n * into dynamic objects in the dynamic configuration.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * You should only need to use this function, if you are creating dynamic \"classes\" from objects\r\n * which confirm to the require interface. A common case for this is during unit testing where it's\r\n * easier to create mock extensions.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed\r\n *\r\n * @example\r\n * ```ts\r\n * // This is a valid \"extension\", but it is technically an object\r\n * // So when included in the config.extensions it WILL be cloned and then\r\n * // converted into a dynamic object, where all of its properties will become\r\n * // get/set object properties and will be tracked. While this WILL still\r\n * // function, when attempt to use a mocking framework on top of this the\r\n * // functions are now technically get accessors which return a function\r\n * // and this can cause some mocking frameworks to fail.\r\n * let mockChannel = {\r\n * pause: () => { },\r\n* resume: () => { },\r\n* teardown: () => { },\r\n* flush: (async: any, callBack: any) => { },\r\n* processTelemetry: (env: any) => { },\r\n* setNextPlugin: (next: any) => { },\r\n* initialize: (config: any, core: any, extensions: any) => { },\r\n* identifier: \"testChannel\",\r\n* priority: 1003\r\n* };\r\n * ```\r\n * @param value - The object that you want to block from being converted into a\r\n * trackable dynamic object\r\n * @returns The original value\r\n */\r\nexport function blockDynamicConversion(value) {\r\n if (value && (isPlainObject(value) || isArray(value))) {\r\n try {\r\n value[BLOCK_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is the reverse case of {@link blockDynamicConversion} in that this will tag an\r\n * object to indicate that it should always be converted into a dynamic trackable object\r\n * even when not an object or array. So all properties of this object will become\r\n * get / set accessor functions.\r\n *\r\n * When you have tagged a value as both {@link forceDynamicConversion} and blocked force will take precedence.\r\n *\r\n * If `value` is falsy (null / undefined / 0 / empty string etc) it will not be tagged and\r\n * if there is an exception adding the property to the value (because its frozen etc) the\r\n * exception will be swallowed.\r\n * @param value - The object that should be tagged and converted if included into a dynamic\r\n * configuration.\r\n * @returns The original value\r\n */\r\nexport function forceDynamicConversion(value) {\r\n if (value) {\r\n try {\r\n value[FORCE_DYNAMIC] = true;\r\n }\r\n catch (e) {\r\n // Don't throw for this case as it's an ask only\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * @internal\r\n * @ignore\r\n * Helper function to check whether an object can or should be converted into a dynamic\r\n * object.\r\n * @param value - The object to check whether it should be converted\r\n * @returns `true` if the value should be converted otherwise `false`.\r\n */\r\nexport function _canMakeDynamic(getFunc, state, value) {\r\n var result = false;\r\n // Object must exist and be truthy\r\n if (value && !getFunc[state.blkVal]) {\r\n // Tagged as always convert\r\n result = value[FORCE_DYNAMIC];\r\n // Check that it's not explicitly tagged as blocked\r\n if (!result && !value[BLOCK_DYNAMIC]) {\r\n // Only convert plain objects or arrays by default\r\n result = isPlainObject(value) || isArray(value);\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Throws an invalid access exception\r\n * @param message - The message to include in the exception\r\n */\r\nexport function throwInvalidAccess(message) {\r\n throwTypeError(\"InvalidAccess:\" + message);\r\n}\r\n//# sourceMappingURL=DynamicSupport.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, isArray, objDefine, objDefineProp, objForEachKey, objGetOwnPropertyDescriptor } from \"@nevware21/ts-utils\";\r\nimport { UNDEFINED_VALUE } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_APPLY, _DYN_HDLR, _DYN_LOGGER, _DYN_PUSH, _DYN_SPLICE, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nimport { CFG_HANDLER_LINK, _canMakeDynamic, blockDynamicConversion, throwInvalidAccess } from \"./DynamicSupport\";\r\nvar arrayMethodsToPatch = [\r\n \"push\",\r\n \"pop\",\r\n \"shift\",\r\n \"unshift\",\r\n \"splice\"\r\n];\r\nexport var _throwDynamicError = function (logger, name, desc, e) {\r\n logger && logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](3 /* eLoggingSeverity.DEBUG */, 108 /* _eInternalMessageId.DynamicConfigException */, \"\".concat(desc, \" [\").concat(name, \"] failed - \") + dumpObj(e));\r\n};\r\nfunction _patchArray(state, target, name) {\r\n if (isArray(target)) {\r\n // Monkey Patch the methods that might change the array\r\n arrForEach(arrayMethodsToPatch, function (method) {\r\n var orgMethod = target[method];\r\n target[method] = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var result = orgMethod[_DYN_APPLY /* @min:%2eapply */](this, args);\r\n // items may be added, removed or moved so need to make some new dynamic properties\r\n _makeDynamicObject(state, target, name, \"Patching\");\r\n return result;\r\n };\r\n });\r\n }\r\n}\r\nfunction _getOwnPropGetter(target, name) {\r\n var propDesc = objGetOwnPropertyDescriptor(target, name);\r\n return propDesc && propDesc.get;\r\n}\r\nfunction _createDynamicProperty(state, theConfig, name, value) {\r\n // Does not appear to be dynamic so lets make it so\r\n var detail = {\r\n n: name,\r\n h: [],\r\n trk: function (handler) {\r\n if (handler && handler.fn) {\r\n if (arrIndexOf(detail.h, handler) === -1) {\r\n // Add this handler to the collection that should be notified when the value changes\r\n detail.h[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n state.trk(handler, detail);\r\n }\r\n },\r\n clr: function (handler) {\r\n var idx = arrIndexOf(detail.h, handler);\r\n if (idx !== -1) {\r\n detail.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n };\r\n // Flag to optimize lookup response time by avoiding additional function calls\r\n var checkDynamic = true;\r\n var isObjectOrArray = false;\r\n function _getProperty() {\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n // Make sure that if it's an object that we make it dynamic\r\n if (value && !value[CFG_HANDLER_LINK] && isObjectOrArray) {\r\n // It doesn't look like it's already dynamic so lets make sure it's converted the object into a dynamic Config as well\r\n value = _makeDynamicObject(state, value, name, \"Converting\");\r\n }\r\n // If it needed to be converted it now has been\r\n checkDynamic = false;\r\n }\r\n // If there is an active handler then add it to the tracking set of handlers\r\n var activeHandler = state.act;\r\n if (activeHandler) {\r\n detail.trk(activeHandler);\r\n }\r\n return value;\r\n }\r\n // Tag this getter as our dynamic property and provide shortcut for notifying a change\r\n _getProperty[state.prop] = {\r\n chng: function () {\r\n state.add(detail);\r\n }\r\n };\r\n function _setProperty(newValue) {\r\n if (value !== newValue) {\r\n if (!!_getProperty[state.ro] && !state.upd) {\r\n // field is marked as readonly so return false\r\n throwInvalidAccess(\"[\" + name + \"] is read-only:\" + dumpObj(theConfig));\r\n }\r\n if (checkDynamic) {\r\n isObjectOrArray = isObjectOrArray || _canMakeDynamic(_getProperty, state, value);\r\n checkDynamic = false;\r\n }\r\n // The value must be a plain object or an array to enforce the reference (in-place updates)\r\n var isReferenced = isObjectOrArray && _getProperty[state.rf];\r\n if (isObjectOrArray) {\r\n // We are about to replace a plain object or an array\r\n if (isReferenced) {\r\n // Reassign the properties from the current value to the same properties from the newValue\r\n // This will set properties not in the newValue to undefined\r\n objForEachKey(value, function (key) {\r\n value[key] = newValue ? newValue[key] : UNDEFINED_VALUE;\r\n });\r\n // Now assign / re-assign value with all of the keys from newValue\r\n try {\r\n objForEachKey(newValue, function (key, theValue) {\r\n _setDynamicProperty(state, value, key, theValue);\r\n });\r\n // Now drop newValue so when we assign value later it keeps the existing reference\r\n newValue = value;\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Assigning\", e);\r\n // Mark as not an object or array so we don't try and do this again\r\n isObjectOrArray = false;\r\n }\r\n }\r\n else if (value && value[CFG_HANDLER_LINK]) {\r\n // As we are replacing the value, if it's already dynamic then we need to notify the listeners\r\n // for every property it has already\r\n objForEachKey(value, function (key) {\r\n // Check if the value is dynamic\r\n var getter = _getOwnPropGetter(value, key);\r\n if (getter) {\r\n // And if it is tell it's listeners that the value has changed\r\n var valueState = getter[state.prop];\r\n valueState && valueState.chng();\r\n }\r\n });\r\n }\r\n }\r\n if (newValue !== value) {\r\n var newIsObjectOrArray = newValue && _canMakeDynamic(_getProperty, state, newValue);\r\n if (!isReferenced && newIsObjectOrArray) {\r\n // As the newValue is an object/array lets preemptively make it dynamic\r\n newValue = _makeDynamicObject(state, newValue, name, \"Converting\");\r\n }\r\n // Now assign the internal \"value\" to the newValue\r\n value = newValue;\r\n isObjectOrArray = newIsObjectOrArray;\r\n }\r\n // Cause any listeners to be scheduled for notification\r\n state.add(detail);\r\n }\r\n }\r\n objDefine(theConfig, detail.n, { g: _getProperty, s: _setProperty });\r\n}\r\nexport function _setDynamicProperty(state, target, name, value) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n if (!isDynamic) {\r\n _createDynamicProperty(state, target, name, value);\r\n }\r\n else {\r\n // Looks like it's already dynamic just assign the new value\r\n target[name] = value;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _setDynamicPropertyState(state, target, name, flags) {\r\n if (target) {\r\n // To be a dynamic property it needs to have a get function\r\n var getter = _getOwnPropGetter(target, name);\r\n var isDynamic = getter && !!getter[state.prop];\r\n var inPlace = flags && flags[0 /* _eSetDynamicPropertyFlags.inPlace */];\r\n var rdOnly = flags && flags[1 /* _eSetDynamicPropertyFlags.readOnly */];\r\n var blkProp = flags && flags[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */];\r\n if (!isDynamic) {\r\n if (blkProp) {\r\n try {\r\n // Attempt to mark the target as blocked from conversion\r\n blockDynamicConversion(target);\r\n }\r\n catch (e) {\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"Blocking\", e);\r\n }\r\n }\r\n try {\r\n // Make sure it's dynamic so that we can tag the property as per the state\r\n _setDynamicProperty(state, target, name, target[name]);\r\n getter = _getOwnPropGetter(target, name);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, \"State\", e);\r\n }\r\n }\r\n // Assign the optional flags if true\r\n if (inPlace) {\r\n getter[state.rf] = inPlace;\r\n }\r\n if (rdOnly) {\r\n getter[state.ro] = rdOnly;\r\n }\r\n if (blkProp) {\r\n getter[state.blkVal] = true;\r\n }\r\n }\r\n return target;\r\n}\r\nexport function _makeDynamicObject(state, target, name, desc) {\r\n try {\r\n // Assign target with new value properties (converting into dynamic properties in the process)\r\n objForEachKey(target, function (key, value) {\r\n // Assign and/or make the property dynamic\r\n _setDynamicProperty(state, target, key, value);\r\n });\r\n if (!target[CFG_HANDLER_LINK]) {\r\n // Link the config back to the dynamic config details\r\n objDefineProp(target, CFG_HANDLER_LINK, {\r\n get: function () {\r\n return state[_DYN_HDLR /* @min:%2ehdlr */];\r\n }\r\n });\r\n _patchArray(state, target, name);\r\n }\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError((state.hdlr || {})[_DYN_LOGGER /* @min:%2elogger */], name, desc, e);\r\n }\r\n return target;\r\n}\r\n//# sourceMappingURL=DynamicProperty.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, createCustomError, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nvar aggregationErrorType;\r\n/**\r\n * Throws an Aggregation Error which includes all of the errors that led to this error occurring\r\n * @param message - The message describing the aggregation error (the sourceError details are added to this)\r\n * @param sourceErrors - An array of the errors that caused this situation\r\n */\r\nexport function throwAggregationError(message, sourceErrors) {\r\n if (!aggregationErrorType) {\r\n aggregationErrorType = createCustomError(\"AggregationError\", function (self, args) {\r\n if (args[_DYN_LENGTH /* @min:%2elength */] > 1) {\r\n // Save the provided errors\r\n self.errors = args[1];\r\n }\r\n });\r\n }\r\n var theMessage = message || \"One or more errors occurred.\";\r\n arrForEach(sourceErrors, function (srcError, idx) {\r\n theMessage += \"\\n\".concat(idx, \" > \").concat(dumpObj(srcError));\r\n });\r\n throw new aggregationErrorType(theMessage, sourceErrors || []);\r\n}\r\n//# sourceMappingURL=AggregationError.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dumpObj, newSymbol, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { throwAggregationError } from \"../JavaScriptSDK/AggregationError\";\r\nimport { _DYN_BLK_VAL, _DYN_CANCEL, _DYN_HDLR, _DYN_LENGTH, _DYN_LOGGER, _DYN_NOTIFY, _DYN_PUSH, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL } from \"../__DynamicConstants\";\r\nvar symPrefix = \"[[ai_\";\r\nvar symPostfix = \"]]\";\r\nexport function _createState(cfgHandler) {\r\n var _a;\r\n var dynamicPropertySymbol = newSymbol(symPrefix + \"get\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReadOnly = newSymbol(symPrefix + \"ro\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyReferenced = newSymbol(symPrefix + \"rf\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyBlockValue = newSymbol(symPrefix + \"blkVal\" + cfgHandler.uid + symPostfix);\r\n var dynamicPropertyDetail = newSymbol(symPrefix + \"dtl\" + cfgHandler.uid + symPostfix);\r\n var _waitingHandlers = null;\r\n var _watcherTimer = null;\r\n var theState;\r\n function _useHandler(activeHandler, callback) {\r\n var prevWatcher = theState.act;\r\n try {\r\n theState.act = activeHandler;\r\n if (activeHandler && activeHandler[dynamicPropertyDetail]) {\r\n // Clear out the previously tracked details for this handler, so that access are re-evaluated\r\n arrForEach(activeHandler[dynamicPropertyDetail], function (detail) {\r\n detail.clr(activeHandler);\r\n });\r\n activeHandler[dynamicPropertyDetail] = [];\r\n }\r\n callback({\r\n cfg: cfgHandler.cfg,\r\n set: cfgHandler.set.bind(cfgHandler),\r\n setDf: cfgHandler[_DYN_SET_DF /* @min:%2esetDf */].bind(cfgHandler),\r\n ref: cfgHandler.ref.bind(cfgHandler),\r\n rdOnly: cfgHandler[_DYN_RD_ONLY /* @min:%2erdOnly */].bind(cfgHandler)\r\n });\r\n }\r\n catch (e) {\r\n var logger = cfgHandler[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // Don't let one individual failure break everyone\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](1 /* eLoggingSeverity.CRITICAL */, 107 /* _eInternalMessageId.ConfigWatcherException */, dumpObj(e));\r\n }\r\n // Re-throw the exception so that any true \"error\" is reported back to the called\r\n throw e;\r\n }\r\n finally {\r\n theState.act = prevWatcher || null;\r\n }\r\n }\r\n function _notifyWatchers() {\r\n if (_waitingHandlers) {\r\n var notifyHandlers = _waitingHandlers;\r\n _waitingHandlers = null;\r\n // Stop any timer as we are running them now anyway\r\n _watcherTimer && _watcherTimer[_DYN_CANCEL /* @min:%2ecancel */]();\r\n _watcherTimer = null;\r\n var watcherFailures_1 = [];\r\n // Now run the handlers\r\n arrForEach(notifyHandlers, function (handler) {\r\n if (handler) {\r\n if (handler[dynamicPropertyDetail]) {\r\n arrForEach(handler[dynamicPropertyDetail], function (detail) {\r\n // Clear out this handler from previously tracked details, so that access are re-evaluated\r\n detail.clr(handler);\r\n });\r\n handler[dynamicPropertyDetail] = null;\r\n }\r\n // The handler may have self removed as part of another handler so re-check\r\n if (handler.fn) {\r\n try {\r\n _useHandler(handler, handler.fn);\r\n }\r\n catch (e) {\r\n // Don't let a single failing watcher cause other watches to fail\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n }\r\n });\r\n // During notification we may have had additional updates -- so notify those updates as well\r\n if (_waitingHandlers) {\r\n try {\r\n _notifyWatchers();\r\n }\r\n catch (e) {\r\n watcherFailures_1[_DYN_PUSH /* @min:%2epush */](e);\r\n }\r\n }\r\n if (watcherFailures_1[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n throwAggregationError(\"Watcher error(s): \", watcherFailures_1);\r\n }\r\n }\r\n }\r\n function _addWatcher(detail) {\r\n if (detail && detail.h[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n if (!_waitingHandlers) {\r\n _waitingHandlers = [];\r\n }\r\n if (!_watcherTimer) {\r\n _watcherTimer = scheduleTimeout(function () {\r\n _watcherTimer = null;\r\n _notifyWatchers();\r\n }, 0);\r\n }\r\n // Add all of the handlers for this detail (if not already present) - using normal for-loop for performance\r\n for (var idx = 0; idx < detail.h[_DYN_LENGTH /* @min:%2elength */]; idx++) {\r\n var handler = detail.h[idx];\r\n // Add this handler to the collection of handlers to re-execute\r\n if (handler && arrIndexOf(_waitingHandlers, handler) === -1) {\r\n _waitingHandlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n }\r\n }\r\n function _trackHandler(handler, detail) {\r\n if (handler) {\r\n var details = handler[dynamicPropertyDetail] = handler[dynamicPropertyDetail] || [];\r\n if (arrIndexOf(details, detail) === -1) {\r\n // If this detail is not already listed as tracked then add it so that we re-evaluate it's usage\r\n details[_DYN_PUSH /* @min:%2epush */](detail);\r\n }\r\n }\r\n }\r\n theState = (_a = {\r\n prop: dynamicPropertySymbol,\r\n ro: dynamicPropertyReadOnly,\r\n rf: dynamicPropertyReferenced\r\n },\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = dynamicPropertyBlockValue,\r\n _a[_DYN_HDLR /* @min:hdlr */] = cfgHandler,\r\n _a.add = _addWatcher,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.use = _useHandler,\r\n _a.trk = _trackHandler,\r\n _a);\r\n return theState;\r\n}\r\n//# sourceMappingURL=DynamicState.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dumpObj, isUndefined, objDefine, objForEachKey } from \"@nevware21/ts-utils\";\r\nimport { createUniqueNamespace } from \"../JavaScriptSDK/DataCacheHelper\";\r\nimport { STR_NOT_DYNAMIC_ERROR } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_LOGGER, _DYN_NOTIFY, _DYN_RD_ONLY, _DYN_SET_DF, _DYN_THROW_INTERNAL, _DYN_WARN_TO_CONSOLE, _DYN_WATCH } from \"../__DynamicConstants\";\r\nimport { _applyDefaultValue } from \"./ConfigDefaults\";\r\nimport { _makeDynamicObject, _setDynamicProperty, _setDynamicPropertyState, _throwDynamicError } from \"./DynamicProperty\";\r\nimport { _createState } from \"./DynamicState\";\r\nimport { CFG_HANDLER_LINK, _cfgDeepCopy, getDynamicConfigHandler, throwInvalidAccess } from \"./DynamicSupport\";\r\n/**\r\n * Identifies a function which will be re-called whenever any of it's accessed configuration values\r\n * change.\r\n * @param configHandler - The callback that will be called for the initial request and then whenever any\r\n * accessed configuration changes are identified.\r\n */\r\nfunction _createAndUseHandler(state, configHandler) {\r\n var handler = {\r\n fn: configHandler,\r\n rm: function () {\r\n // Clear all references to the handler so it can be garbage collected\r\n // This will also cause this handler to never get called and eventually removed\r\n handler.fn = null;\r\n state = null;\r\n configHandler = null;\r\n }\r\n };\r\n state.use(handler, configHandler);\r\n return handler;\r\n}\r\n/**\r\n * Creates the dynamic config handler and associates with the target config as the root object\r\n * @param target - The config that you want to be root of the dynamic config\r\n * @param inPlace - Should the passed config be converted in-place or a new proxy returned\r\n * @returns The existing dynamic handler or a new instance with the provided config values\r\n */\r\nfunction _createDynamicHandler(logger, target, inPlace) {\r\n var _a;\r\n var dynamicHandler = getDynamicConfigHandler(target);\r\n if (dynamicHandler) {\r\n // The passed config is already dynamic so return it's tracker\r\n return dynamicHandler;\r\n }\r\n var uid = createUniqueNamespace(\"dyncfg\", true);\r\n var newTarget = (target && inPlace !== false) ? target : _cfgDeepCopy(target);\r\n var theState;\r\n function _notifyWatchers() {\r\n theState[_DYN_NOTIFY /* @min:%2enotify */]();\r\n }\r\n function _setValue(target, name, value) {\r\n try {\r\n target = _setDynamicProperty(theState, target, name, value);\r\n }\r\n catch (e) {\r\n // Unable to convert to dynamic property so just leave as non-dynamic\r\n _throwDynamicError(logger, name, \"Setting value\", e);\r\n }\r\n return target[name];\r\n }\r\n function _watch(configHandler) {\r\n return _createAndUseHandler(theState, configHandler);\r\n }\r\n function _block(configHandler, allowUpdate) {\r\n theState.use(null, function (details) {\r\n var prevUpd = theState.upd;\r\n try {\r\n if (!isUndefined(allowUpdate)) {\r\n theState.upd = allowUpdate;\r\n }\r\n configHandler(details);\r\n }\r\n finally {\r\n theState.upd = prevUpd;\r\n }\r\n });\r\n }\r\n function _ref(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as referenced with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[0 /* _eSetDynamicPropertyFlags.inPlace */] = true, _a))[name];\r\n }\r\n function _rdOnly(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[1 /* _eSetDynamicPropertyFlags.readOnly */] = true, _a))[name];\r\n }\r\n function _blkPropValue(target, name) {\r\n var _a;\r\n // Make sure it's dynamic and mark as readonly with it's current value\r\n return _setDynamicPropertyState(theState, target, name, (_a = {}, _a[2 /* _eSetDynamicPropertyFlags.blockDynamicProperty */] = true, _a))[name];\r\n }\r\n function _applyDefaults(theConfig, defaultValues) {\r\n if (defaultValues) {\r\n // Resolve/apply the defaults\r\n objForEachKey(defaultValues, function (name, value) {\r\n // Sets the value and makes it dynamic (if it doesn't already exist)\r\n _applyDefaultValue(cfgHandler, theConfig, name, value);\r\n });\r\n }\r\n return theConfig;\r\n }\r\n var cfgHandler = (_a = {\r\n uid: null,\r\n cfg: newTarget\r\n },\r\n _a[_DYN_LOGGER /* @min:logger */] = logger,\r\n _a[_DYN_NOTIFY /* @min:notify */] = _notifyWatchers,\r\n _a.set = _setValue,\r\n _a[_DYN_SET_DF /* @min:setDf */] = _applyDefaults,\r\n _a[_DYN_WATCH /* @min:watch */] = _watch,\r\n _a.ref = _ref,\r\n _a[_DYN_RD_ONLY /* @min:rdOnly */] = _rdOnly,\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = _blkPropValue,\r\n _a._block = _block,\r\n _a);\r\n objDefine(cfgHandler, \"uid\", {\r\n c: false,\r\n e: false,\r\n w: false,\r\n v: uid\r\n });\r\n theState = _createState(cfgHandler);\r\n // Setup tracking for all defined default keys\r\n _makeDynamicObject(theState, newTarget, \"config\", \"Creating\");\r\n return cfgHandler;\r\n}\r\n/**\r\n * Log an invalid access message to the console\r\n * @param message\r\n */\r\nfunction _logInvalidAccess(logger, message) {\r\n if (logger) {\r\n logger[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n logger[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](2 /* eLoggingSeverity.WARNING */, 108 /* _eInternalMessageId.DynamicConfigException */, message);\r\n }\r\n else {\r\n // We don't have a logger so just throw an exception\r\n throwInvalidAccess(message);\r\n }\r\n}\r\n/**\r\n * Create or return a dynamic version of the passed config, if it is not already dynamic\r\n * @param config - The config to be converted into a dynamic config\r\n * @param defaultConfig - The default values to apply on the config if the properties don't already exist\r\n * @param inPlace - Should the config be converted in-place into a dynamic config or a new instance returned, defaults to true\r\n * @returns The dynamic config handler for the config (whether new or existing)\r\n */\r\nexport function createDynamicConfig(config, defaultConfig, logger, inPlace) {\r\n var dynamicHandler = _createDynamicHandler(logger, config || {}, inPlace);\r\n if (defaultConfig) {\r\n dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](dynamicHandler.cfg, defaultConfig);\r\n }\r\n return dynamicHandler;\r\n}\r\n/**\r\n * Watch and track changes for accesses to the current config, the provided config MUST already be\r\n * a dynamic config or a child accessed via the dynamic config\r\n * @param config\r\n * @param configHandler\r\n * @param logger - The logger instance to use if there is no existing handler\r\n * @returns A watcher handler instance that can be used to remove itself when being unloaded\r\n * @throws TypeError if the provided config is not a dynamic config instance\r\n */\r\nexport function onConfigChange(config, configHandler, logger) {\r\n var handler = config[CFG_HANDLER_LINK] || config;\r\n if (handler.cfg && (handler.cfg === config || handler.cfg[CFG_HANDLER_LINK] === handler)) {\r\n return handler[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n }\r\n _logInvalidAccess(logger, STR_NOT_DYNAMIC_ERROR + dumpObj(config));\r\n return createDynamicConfig(config, null, logger)[_DYN_WATCH /* @min:%2ewatch */](configHandler);\r\n}\r\n//# sourceMappingURL=DynamicConfig.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getInst } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar listenerFuncs = [STR_EVENTS_SENT, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_PERF_EVENT];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n//# sourceMappingURL=DbgExtensionUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dumpObj, isFunction, isUndefined } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_DIAG_LOG, _DYN_LOGGER, _DYN_LOGGING_LEVEL_CONSOL4, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE, _DYN_THROW_INTERNAL, _DYN_UNLOAD, _DYN_WARN_TO_CONSOLE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nvar defaultValues = {\r\n loggingLevelConsole: 0,\r\n loggingLevelTelemetry: 1,\r\n maxMessageLimit: 25,\r\n enableDebug: false\r\n};\r\nvar _logFuncs = (_a = {},\r\n _a[0 /* eLoggingSeverity.DISABLED */] = null,\r\n _a[1 /* eLoggingSeverity.CRITICAL */] = \"errorToConsole\",\r\n _a[2 /* eLoggingSeverity.WARNING */] = STR_WARN_TO_CONSOLE,\r\n _a[3 /* eLoggingSeverity.DEBUG */] = \"debugToConsole\",\r\n _a);\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n var _unloadHandler;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _unloadHandler = _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\n _self[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */] = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = _logFuncs[severity] || STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n _self.debugToConsole = function (message) {\r\n _logToConsole(\"debug\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n _self.errorToConsole = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n _self[_DYN_UNLOAD /* @min:%2eunload */] = function (isAsync) {\r\n _unloadHandler && _unloadHandler.rm();\r\n _unloadHandler = null;\r\n };\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self.errorToConsole(throttleLimitMessage);\r\n }\r\n else {\r\n _self[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n // make sure the config is dynamic\r\n return onConfigChange(createDynamicConfig(config, defaultValues, _self).cfg, function (details) {\r\n var config = details.cfg;\r\n _loggingLevelConsole = config[_DYN_LOGGING_LEVEL_CONSOL4 /* @min:%2eloggingLevelConsole */];\r\n _loggingLevelTelemetry = config.loggingLevelTelemetry;\r\n _maxInternalMessageLimit = config.maxMessageLimit;\r\n _enableDebug = config.enableDebug;\r\n });\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n /**\r\n * 0: OFF (default)\r\n * 1: CRITICAL\r\n * 2: >= WARNING\r\n */\r\n DiagnosticLogger.prototype.consoleLoggingLevel = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return 0;\r\n };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\n DiagnosticLogger.prototype.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a debug message to the console if possible\r\n * @param message - {string} - The debug message\r\n */\r\n DiagnosticLogger.prototype.debugToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message - {string} - The warning message\r\n */\r\n DiagnosticLogger.prototype.warnToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message - {string} - The warning message\r\n */\r\n DiagnosticLogger.prototype.errorToConsole = function (message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n DiagnosticLogger.prototype.resetInternalMessageCount = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The message to log.\r\n */\r\n DiagnosticLogger.prototype.logInternalMessage = function (severity, message) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Unload and remove any state that this IDiagnosticLogger may be holding, this is generally called when the\r\n * owning SDK is being unloaded.\r\n * @param isAsync - Can the unload be performed asynchronously (default)\r\n * @return If the unload occurs synchronously then nothing should be returned, if happening asynchronously then\r\n * the function should return an [IPromise](https://nevware21.github.io/ts-async/typedoc/interfaces/IPromise.html)\r\n * / Promise to allow any listeners to wait for the operation to complete.\r\n */\r\n DiagnosticLogger.prototype.unload = function (isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger)[_DYN_THROW_INTERNAL /* @min:%2ethrowInternal */](severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message - {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[_DYN_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity - {LoggingSeverity} - The severity of the log message\r\n * @param message - {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n//# sourceMappingURL=DiagnosticLogger.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createEnum, createTypeMap } from \"@nevware21/ts-utils\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createEnumStyle = createEnum;\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport var createValueMap = createTypeMap;\r\n//# sourceMappingURL=EnumHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n//# sourceMappingURL=Enums.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 4\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 9\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_INTERVAL = \"interval\"; // Count: 3\r\nexport var _DYN_DAYS_OF_MONTH = \"daysOfMonth\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E0 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 13\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA1 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 7\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 6\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType - Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n storage.setItem(uid, uid);\r\n var fail = storage.getItem(uid) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](uid);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=StorageHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the\r\nexport { correlationIdSetPrefix, correlationIdGetPrefix, correlationIdCanIncludeCorrelationHeader, correlationIdGetCorrelationContext, correlationIdGetCorrelationContextValue, dateTimeUtilsNow, dateTimeUtilsDuration, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n//# sourceMappingURL=applicationinsights-common.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n//# sourceMappingURL=Constants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { asString, strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = strSubstring(field, 0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(asString(name));\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = strSubstring(name, 0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(asString(value));\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = strSubstring(value, 0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = strSubstring(message, 0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = strSubstring(value, 0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(asString(input));\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = strSubstring(input, 0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return strSubstr(s, s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n//# sourceMappingURL=DataSanitizer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item - domain specific properties; part B\r\n * @param baseType - telemetry item type. ie PageViewData\r\n * @param envelopeName - name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties - user defined custom properties; part C\r\n * @param systemProperties - system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item - domain specific properties; part B\r\n * @param baseType - telemetry item type. ie PageViewData\r\n * @param envelopeName - name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties - user defined custom properties; part C\r\n * @param systemProperties - system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n//# sourceMappingURL=TelemetryItemCreator.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n//# sourceMappingURL=Event.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n//# sourceMappingURL=Trace.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n//# sourceMappingURL=DataPoint.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n//# sourceMappingURL=Metric.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n//# sourceMappingURL=HelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n//# sourceMappingURL=PageView.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n//# sourceMappingURL=PageViewPerformance.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { __assign } from \"tslib\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && strIndexOf(evtMessage || \"\", errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj - The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (strIndexOf(result, errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]); });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n//# sourceMappingURL=Exception.js.map","import { isArray, isString, strLeft, strTrim } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH, _DYN_SPAN_ID, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]{1,64})?$/i;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/i);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a[_DYN_SPAN_ID /* @min:spanId */] = isValidSpanId(spanId) ? spanId : strLeft(generateW3CId(), 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value\r\n * @returns\r\n */\r\nexport function parseTraceParent(value) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {\r\n version: (match[1] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n traceId: (match[2] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](),\r\n spanId: (match[3] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()\r\n },\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version.toLowerCase(), \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID).toLowerCase(), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID).toLowerCase(), \"-\").concat(flags.toLowerCase());\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @returns\r\n */\r\nexport function findW3cTraceParent() {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name));\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name));\r\n }\r\n return traceParent;\r\n}\r\n//# sourceMappingURL=W3cTraceParent.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n//# sourceMappingURL=UrlHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, dateNow, getPerformance, isNullOrUndefined, isValidSpanId, isValidTraceId } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH } from \"./Constants\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlParseFullHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nvar _correlationIdPrefix = \"cid-v1:\";\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport function correlationIdSetPrefix(prefix) {\r\n _correlationIdPrefix = prefix;\r\n}\r\nexport function correlationIdGetPrefix() {\r\n return _correlationIdPrefix;\r\n}\r\n/**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\nexport function correlationIdCanIncludeCorrelationHeader(config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (strIndexOf(requestHost, \":443\") !== -1 || strIndexOf(requestHost, \":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\n/**\r\n * Combines target appId and target role name from response header.\r\n */\r\nexport function correlationIdGetCorrelationContext(responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = correlationIdGetCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== _correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n}\r\n/**\r\n * Gets key from correlation response header\r\n */\r\nexport function correlationIdGetCorrelationContextValue(responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n}\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=Util.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n//# sourceMappingURL=RemoteDependencyData.js.map","var _a, _b;\r\nimport { arrForEach, arrIndexOf, dumpObj, getDocument, getLazy, getNavigator, isArray, isFunction, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, strEndsWith, strIndexOf, strLeft, strSubstring, strTrim, utcNow } from \"@nevware21/ts-utils\";\r\nimport { cfgDfMerge } from \"../Config/ConfigDefaultHelpers\";\r\nimport { createDynamicConfig, onConfigChange } from \"../Config/DynamicConfig\";\r\nimport { _DYN_ENABLED, _DYN_LENGTH, _DYN_LOGGER, _DYN_SET_DF, _DYN_SPLIT, _DYN_UNLOAD, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { getLocation, isIE } from \"./EnvUtils\";\r\nimport { getExceptionName, isNotNullOrUndefined, setValue, strContains } from \"./HelperFuncs\";\r\nimport { STR_DOMAIN, STR_EMPTY, STR_PATH, UNDEFINED_VALUE } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc;\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n// // `isCookieUseDisabled` is deprecated, so explicitly casting as a key of IConfiguration to avoid typing error\r\n// // when both isCookieUseDisabled and disableCookiesUsage are used disableCookiesUsage will take precedent, which is\r\n// // why its listed first\r\n/**\r\n * Set the supported dynamic config values as undefined (or an empty object) so that\r\n * any listeners will be informed of any changes.\r\n * Explicitly NOT including the deprecated `isCookieUseDisabled` as we don't want to support\r\n * the v1 deprecated field as dynamic for updates\r\n */\r\nvar rootDefaultConfig = (_a = {\r\n cookieCfg: cfgDfMerge((_b = {},\r\n _b[STR_DOMAIN] = { fb: \"cookieDomain\", dfVal: isNotNullOrUndefined },\r\n _b.path = { fb: \"cookiePath\", dfVal: isNotNullOrUndefined },\r\n _b.enabled = UNDEFINED_VALUE,\r\n _b.ignoreCookies = UNDEFINED_VALUE,\r\n _b.blockedCookies = UNDEFINED_VALUE,\r\n _b)),\r\n cookieDomain: UNDEFINED_VALUE,\r\n cookiePath: UNDEFINED_VALUE\r\n },\r\n _a[strDisableCookiesUsage] = UNDEFINED_VALUE,\r\n _a);\r\nfunction _getDoc() {\r\n !_doc && (_doc = getLazy(function () { return getDocument(); }));\r\n}\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nfunction _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return arrIndexOf(cookieMgrCfg.ignoreCookies, name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (arrIndexOf(cookieMgrCfg.blockedCookies, name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\nfunction _isCfgEnabled(rootConfig, cookieMgrConfig) {\r\n var isCfgEnabled = cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */];\r\n if (isNullOrUndefined(isCfgEnabled)) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n // This field is deprecated and dynamic updates will not be fully supported\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n // If this value is defined it takes precedent over the above\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n // Not setting the cookieMgrConfig.enabled as that will update (set) the global dynamic config\r\n // So future \"updates\" then may not be as expected\r\n isCfgEnabled = cookieEnabled;\r\n }\r\n return isCfgEnabled;\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config.cookieCfg;\r\n if (cookieCfg && cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig;\r\n var _path;\r\n var _domain;\r\n var unloadHandler;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled;\r\n var _getCookieFn;\r\n var _setCookieFn;\r\n var _delCookieFn;\r\n // Make sure the root config is dynamic as it may be the global config\r\n rootConfig = createDynamicConfig(rootConfig || _globalCookieConfig, null, logger).cfg;\r\n // Will get recalled if the referenced configuration is changed\r\n unloadHandler = onConfigChange(rootConfig, function (details) {\r\n // Make sure the root config has all of the the defaults to the root config to ensure they are dynamic\r\n details[_DYN_SET_DF /* @min:%2esetDf */](details.cfg, rootDefaultConfig);\r\n // Create and apply the defaults to the cookieCfg element\r\n cookieMgrConfig = details.ref(details.cfg, \"cookieCfg\"); // details.setDf(details.cfg.cookieCfg, defaultConfig);\r\n _path = cookieMgrConfig[STR_PATH /* @min:%2epath */] || \"/\";\r\n _domain = cookieMgrConfig[STR_DOMAIN /* @min:%2edomain */];\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false;\r\n _getCookieFn = cookieMgrConfig.getCookie || _getCookieValue;\r\n _setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _delCookieFn = cookieMgrConfig.delCookie || _setCookieValue;\r\n }, logger);\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _isCfgEnabled(rootConfig, cookieMgrConfig) !== false && _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n },\r\n setEnabled: function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n cookieMgrConfig[_DYN_ENABLED /* @min:%2eenabled */] = value;\r\n },\r\n set: function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = strIndexOf(theValue, \";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(strLeft(value, idx));\r\n values = _extractParts(strSubstring(value, idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, STR_DOMAIN, domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = utcNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, STR_PATH, path || _path, null, isUndefined);\r\n //let setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n _setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n get: function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = _getCookieFn(name);\r\n }\r\n return value;\r\n },\r\n del: function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n purge: function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[STR_PATH] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n // let delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n _delCookieFn(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n }\r\n },\r\n _a[_DYN_UNLOAD /* @min:unload */] = function (isAsync) {\r\n unloadHandler && unloadHandler.rm();\r\n unloadHandler = null;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n !_doc && _getDoc();\r\n try {\r\n var doc = _doc.v || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = strIndexOf(thePart, \"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(strLeft(thePart, idx))] = strTrim(strSubstring(thePart, idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n var theCookie = _doc.v[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n !_doc && _getDoc();\r\n if (_doc.v) {\r\n _doc.v[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n//# sourceMappingURL=CookieMgr.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n//# sourceMappingURL=DomHelperFuncs.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { asString, isBoolean, isFunction, isNullOrUndefined, isString } from \"@nevware21/ts-utils\";\r\nimport { STR_EMPTY } from \"../JavaScriptSDK/InternalConstants\";\r\nimport { _DYN_BLK_VAL, _DYN_TO_LOWER_CASE } from \"../__DynamicConstants\";\r\n/**\r\n * @internal\r\n * @ignore\r\n * @param str\r\n * @param defaultValue\r\n * @returns\r\n */\r\nfunction _stringToBoolOrDefault(theValue, defaultValue, theConfig) {\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n return defaultValue;\r\n }\r\n if (isBoolean(theValue)) {\r\n return theValue;\r\n }\r\n return asString(theValue)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the field defined as an object\r\n * that should be merged\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfMerge(defaultValue) {\r\n return {\r\n mrg: true,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field set function\r\n * @param setter - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfSet(setter, defaultValue) {\r\n return {\r\n set: setter,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance with the provided field validator\r\n * @param validator - The IConfigCheckFn function to validate the user provided value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfValidate(validator, defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n isVal: validator,\r\n v: defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate and convert the user\r\n * provided value to a boolean from a string or boolean value\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @param fallBackName - The fallback configuration name if the current value is not available\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBoolean(defaultValue, fallBackName) {\r\n return {\r\n fb: fallBackName,\r\n set: _stringToBoolOrDefault,\r\n v: !!defaultValue\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfFunc(defaultValue) {\r\n return {\r\n isVal: isFunction,\r\n v: defaultValue || null\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance that will validate that the user\r\n * provided value is a function.\r\n * @param defaultValue - The default string value to apply it not provided or it's not valid, defaults to an empty string\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfString(defaultValue) {\r\n return {\r\n isVal: isString,\r\n v: asString(defaultValue || STR_EMPTY)\r\n };\r\n}\r\n/**\r\n * Helper which returns an IConfigDefaultCheck instance identifying that value associated with this property\r\n * should not have it's properties converted into a dynamic config properties.\r\n * @param defaultValue - The default value to apply it not provided or it's not valid\r\n * @returns a new IConfigDefaultCheck structure\r\n */\r\nexport function cfgDfBlockPropValue(defaultValue) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_BLK_VAL /* @min:blkVal */] = true,\r\n _a.v = defaultValue,\r\n _a;\r\n}\r\n//# sourceMappingURL=ConfigDefaultHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, arrIndexOf, getDocument, getWindow, isArray, objForEachKey, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventName - String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj - Object to add the event too.\r\n * @param eventNameWithoutOn - String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef - Pointer that specifies the function to call when event fires\r\n * @param useCapture - [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object - to remove the event from\r\n * @param eventNameWithoutOn - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef - {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture - [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName - {string} - The name of the event\r\n * @param callback - {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName - {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback - {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events - An string array of event names to bind the listener to\r\n * @param listener - The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n//# sourceMappingURL=EventHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isArray, isFunction, objDefine, utcNow } from \"@nevware21/ts-utils\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n _self.start = utcNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n objDefine(_self, \"payload\", {\r\n g: function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n }\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = utcNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n /**\r\n * Create a new event and start timing, the manager may return null/undefined to indicate that it does not\r\n * want to monitor this source event.\r\n * @param src - The source name of the event\r\n * @param payloadDetails - An optional callback function to fetch the payload details for the event.\r\n * @param isAsync - Is the event occurring from a async event\r\n */\r\n PerfManager.prototype.create = function (src, payload, isAsync) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Complete the perfEvent and fire any notifications.\r\n * @param perfEvent - Fire the event which will also complete the passed event\r\n */\r\n PerfManager.prototype.fire = function (perfEvent) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Set an execution context value\r\n * @param key - The context key name\r\n * @param value - The value\r\n */\r\n PerfManager.prototype.setCtx = function (key, value) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Get the execution context value\r\n * @param key - The context key\r\n */\r\n PerfManager.prototype.getCtx = function (key) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n//# sourceMappingURL=PerfManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, isFunction } from \"@nevware21/ts-utils\";\r\nimport { _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config - The current config for the instance\r\n * @param core - THe current core instance\r\n * @param extensions - The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin && lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] && thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n pluginState = _getPluginState(thePlugin);\r\n var isInitialized = !!pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n if (thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE /* @min:%2ecore */]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extend from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = extB[STR_PROCESS_TELEMETRY];\r\n if (extA[STR_PROCESS_TELEMETRY]) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func.call(component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n//# sourceMappingURL=TelemetryHelpers.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { arrForEach, dumpObj, isArray, isFunction, isNullOrUndefined, isUndefined, objForEachKey, objFreeze, objKeys } from \"@nevware21/ts-utils\";\r\nimport { _applyDefaultValue } from \"../Config/ConfigDefaults\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_DF, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UNLOAD, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core.config || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param dynamicHandler\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, dynamicHandler, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (!dynamicHandler) {\r\n dynamicHandler = createDynamicConfig({}, null, core[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, dynamicHandler.cfg);\r\n },\r\n getCfg: function () {\r\n return dynamicHandler.cfg;\r\n },\r\n getExtCfg: _resolveExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func.call(completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, createIfMissing) {\r\n var idCfg = null;\r\n var cfg = dynamicHandler.cfg;\r\n if (cfg && identifier) {\r\n var extCfg = cfg[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (!extCfg && createIfMissing) {\r\n extCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n cfg[STR_EXTENSION_CONFIG] = extCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n extCfg = dynamicHandler.ref(cfg, STR_EXTENSION_CONFIG);\r\n if (extCfg) {\r\n idCfg = extCfg[identifier];\r\n if (!idCfg && createIfMissing) {\r\n idCfg = {};\r\n }\r\n // Always set the value so that the property always exists\r\n extCfg[identifier] = idCfg; // Note: it is valid for the \"value\" to be undefined\r\n // Calling `ref()` has a side effect of causing the referenced property to become dynamic (if not already)\r\n idCfg = dynamicHandler.ref(extCfg, identifier);\r\n }\r\n }\r\n return idCfg;\r\n }\r\n function _resolveExtCfg(identifier, defaultValues) {\r\n var newConfig = _getExtCfg(identifier, true);\r\n if (defaultValues) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config or use the default value\r\n objForEachKey(defaultValues, function (field, defaultValue) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig[field])) {\r\n var cfgValue = dynamicHandler.cfg[field];\r\n if (cfgValue || !isNullOrUndefined(cfgValue)) {\r\n newConfig[field] = cfgValue;\r\n }\r\n }\r\n _applyDefaultValue(dynamicHandler, newConfig, field, defaultValue);\r\n });\r\n }\r\n return dynamicHandler[_DYN_SET_DF /* @min:%2esetDf */](newConfig, defaultValues);\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, false);\r\n var rootConfig = dynamicHandler.cfg;\r\n if (extConfig && (extConfig[field] || !isNullOrUndefined(extConfig[field]))) {\r\n theValue = extConfig[field];\r\n }\r\n else if (rootConfig[field] || !isNullOrUndefined(rootConfig[field])) {\r\n theValue = rootConfig[field];\r\n }\r\n return (theValue || !isNullOrUndefined(theValue)) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, cfg, core, startAt) {\r\n var config = createDynamicConfig(cfg);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n if (nextPlugin) {\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n }\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config.cfg, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin[_DYN_UNLOAD /* @min:%2eunload */](context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = createDynamicConfig(core.config);\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config.cfg, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n//# sourceMappingURL=ProcessTelemetryContext.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { getInst, objHasOwnProperty } from \"@nevware21/ts-utils\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { _getObjProto } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (objHasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n//# sourceMappingURL=InstrumentHooks.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nimport { strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { strSubstr, strSubstring } from \"@nevware21/ts-utils\";\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { random32 } from \"./RandomHelper\";\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return strSubstring(uuid, 0, 8) + \"-\" + strSubstring(uuid, 8, 12) + \"-\" + strSubstring(uuid, 12, 16) + \"-\" + strSubstring(uuid, 16, 20) + \"-\" + strSubstring(uuid, 20);\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return strSubstring(value, start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return strSubstr(oct, 0, 8) + strSubstr(oct, 9, 4) + \"4\" + strSubstr(oct, 13, 3) + clockSequenceHi + strSubstr(oct, 16, 3) + strSubstr(oct, 19, 12);\r\n}\r\n//# sourceMappingURL=CoreUtils.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n\"use strict\";\r\nvar _a;\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { isFunction, objDefine } from \"@nevware21/ts-utils\";\r\nimport { createDynamicConfig } from \"../Config/DynamicConfig\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT0, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { isNotNullOrUndefined, proxyFunctionAs } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nimport { createUnloadHookContainer } from \"./UnloadHookContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\nvar defaultValues = (_a = {},\r\n _a[STR_EXTENSION_CONFIG] = { isVal: isNotNullOrUndefined, v: {} },\r\n _a);\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hookContainer;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n _hookContainer.run(theUnloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]());\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n proxyFunctionAs(_self, \"_addHook\", function () { return _hookContainer; }, \"add\");\r\n objDefine(_self, \"_unloadHooks\", { g: function () { return _hookContainer; } });\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n // Make sure the extensionConfig exists and the config is dynamic\r\n createDynamicConfig(config, defaultValues, safeGetLogger(core));\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hookContainer = createUnloadHookContainer();\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n BaseTelemetryPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Tear down the plugin and remove any hooked value, the plugin should be removed so that it is no longer initialized and\r\n * therefore could be re-initialized after being torn down. The plugin should ensure that once this has been called any further\r\n * processTelemetry calls are ignored and it just calls the processNext() with the provided context.\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @returns boolean - true if the plugin has or will call processNext(), this for backward compatibility as previously teardown was synchronous and returned nothing.\r\n */\r\n BaseTelemetryPlugin.prototype.teardown = function (unloadCtx, unloadState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return false;\r\n };\r\n /**\r\n * The the plugin should re-evaluate configuration and update any cached configuration settings.\r\n * @param updateCtx - This is the context that should be used during updating.\r\n * @param updateState - The details / state of the update process, it holds details like the current and previous configuration.\r\n * @returns boolean - true if the plugin has or will call updateCtx.processNext(), this allows the plugin to perform any asynchronous operations.\r\n */\r\n BaseTelemetryPlugin.prototype.update = function (updateCtx, updateState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add an unload handler that will be called when the SDK is being unloaded\r\n * @param handler - the handler\r\n */\r\n BaseTelemetryPlugin.prototype._addUnloadCb = function (handler) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Add this hook so that it is automatically removed during unloading\r\n * @param hooks - The single hook or an array of IInstrumentHook objects\r\n */\r\n BaseTelemetryPlugin.prototype._addHook = function (hooks) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n//# sourceMappingURL=BaseTelemetryPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrAppend, arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\n/**\r\n * Create a IUnloadHookContainer which can be used to remember unload hook functions to be executed during the component unloading\r\n * process.\r\n * @returns A new IUnloadHookContainer instance\r\n */\r\nexport function createUnloadHookContainer() {\r\n var _hooks = [];\r\n function _doUnload(logger) {\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all registered unload hooks\r\n arrForEach(oldHooks, function (fn) {\r\n // allow either rm or remove callback function\r\n try {\r\n (fn.rm || fn.remove).call(fn);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unloading:\" + dumpObj(e));\r\n }\r\n });\r\n }\r\n function _addHook(hooks) {\r\n if (hooks) {\r\n arrAppend(_hooks, hooks);\r\n }\r\n }\r\n return {\r\n run: _doUnload,\r\n add: _addHook\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHookContainer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { arrForEach, dumpObj } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n//# sourceMappingURL=UnloadHandlerContainer.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 4\r\nexport var _DYN_IS_STORAGE_USE_DISAB0 = \"isStorageUseDisabled\"; // Count: 3\r\nexport var _DYN__ADD_HOOK = \"_addHook\"; // Count: 6\r\nexport var _DYN_CORE = \"core\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 8\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 13\r\nexport var _DYN_TRACK = \"track\"; // Count: 7\r\nexport var _DYN_TRACK_PAGE_VIEW = \"trackPageView\"; // Count: 4\r\nexport var _DYN_TRACK_PREVIOUS_PAGE_1 = \"trackPreviousPageVisit\"; // Count: 3\r\nexport var _DYN_SEND_PAGE_VIEW_INTER2 = \"sendPageViewInternal\"; // Count: 7\r\nexport var _DYN_SEND_PAGE_VIEW_PERFO3 = \"sendPageViewPerformanceInternal\"; // Count: 3\r\nexport var _DYN_POPULATE_PAGE_VIEW_P4 = \"populatePageViewPerformanceEvent\"; // Count: 3\r\nexport var _DYN_HREF = \"href\"; // Count: 6\r\nexport var _DYN_SEND_EXCEPTION_INTER5 = \"sendExceptionInternal\"; // Count: 2\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 3\r\nexport var _DYN_ERROR = \"error\"; // Count: 5\r\nexport var _DYN__ONERROR = \"_onerror\"; // Count: 3\r\nexport var _DYN_ERROR_SRC = \"errorSrc\"; // Count: 3\r\nexport var _DYN_LINE_NUMBER = \"lineNumber\"; // Count: 5\r\nexport var _DYN_COLUMN_NUMBER = \"columnNumber\"; // Count: 5\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 4\r\nexport var _DYN__CREATE_AUTO_EXCEPTI6 = \"CreateAutoException\"; // Count: 3\r\nexport var _DYN_ADD_TELEMETRY_INITIA7 = \"addTelemetryInitializer\"; // Count: 4\r\nexport var _DYN_OVERRIDE_PAGE_VIEW_D8 = \"overridePageViewDuration\"; // Count: 2\r\nexport var _DYN_DURATION = \"duration\"; // Count: 10\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI9 = \"autoTrackPageVisitTime\"; // Count: 2\r\nexport var _DYN_IS_BROWSER_LINK_TRAC10 = \"isBrowserLinkTrackingEnabled\"; // Count: 2\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_ENABLE_AUTO_ROUTE_TR11 = \"enableAutoRouteTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_UNHANDLED_PRO12 = \"enableUnhandledPromiseRejectionTracking\"; // Count: 2\r\nexport var _DYN_AUTO_UNHANDLED_PROMI13 = \"autoUnhandledPromiseInstrumented\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN14 = \"isPerformanceTimingSupported\"; // Count: 2\r\nexport var _DYN_GET_PERFORMANCE_TIMI15 = \"getPerformanceTiming\"; // Count: 2\r\nexport var _DYN_NAVIGATION_START = \"navigationStart\"; // Count: 4\r\nexport var _DYN_SHOULD_COLLECT_DURAT16 = \"shouldCollectDuration\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN17 = \"isPerformanceTimingDataReady\"; // Count: 2\r\nexport var _DYN_GET_ENTRIES_BY_TYPE = \"getEntriesByType\"; // Count: 3\r\nexport var _DYN_RESPONSE_START = \"responseStart\"; // Count: 5\r\nexport var _DYN_REQUEST_START = \"requestStart\"; // Count: 3\r\nexport var _DYN_LOAD_EVENT_END = \"loadEventEnd\"; // Count: 4\r\nexport var _DYN_RESPONSE_END = \"responseEnd\"; // Count: 5\r\nexport var _DYN_CONNECT_END = \"connectEnd\"; // Count: 4\r\nexport var _DYN_PAGE_VISIT_START_TIM18 = \"pageVisitStartTime\"; // Count: 2\r\n//# sourceMappingURL=__DynamicConstants.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, dumpObj, getDocument, getExceptionName, getLocation, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isWebWorker, scheduleTimeout } from \"@nevware21/ts-utils\";\r\nimport { _DYN_DURATION, _DYN_GET_PERFORMANCE_TIMI15, _DYN_HREF, _DYN_IS_PERFORMANCE_TIMIN14, _DYN_IS_PERFORMANCE_TIMIN17, _DYN_LENGTH, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_SEND_PAGE_VIEW_INTER2, _DYN_SEND_PAGE_VIEW_PERFO3, _DYN_SHOULD_COLLECT_DURAT16, _DYN_TRACK_PAGE_VIEW } from \"../../__DynamicConstants\";\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var queueTimer = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels(isAsync) {\r\n if (core) {\r\n core.flush(isAsync, function () {\r\n // Event flushed, callback added to prevent promise creation\r\n });\r\n }\r\n }\r\n function _startTimer() {\r\n if (!queueTimer) {\r\n queueTimer = scheduleTimeout((function () {\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _startTimer();\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels(true);\r\n }\r\n }), 100);\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n _startTimer();\r\n }\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN14 /* @min:%2eisPerformanceTimingSupported */]()) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n if (!isWebWorker()) {\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 25 /* _eInternalMessageId.NavigationTimingNotSupported */, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n }\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI15 /* @min:%2egetPerformanceTiming */]()[_DYN_NAVIGATION_START /* @min:%2enavigationStart */];\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */](customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties[_DYN_DURATION /* @min:%2eduration */])) {\r\n duration = customProperties[_DYN_DURATION /* @min:%2eduration */];\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n }\r\n // case 2\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN17 /* @min:%2eisPerformanceTimingDataReady */]()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */](pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = pageViewPerformance.durationMs;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */](pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = maxDurationLimit;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 38 /* _eInternalMessageId.TrackPVFailedCalc */, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n _self.teardown = function (unloadCtx, unloadState) {\r\n if (queueTimer) {\r\n clearInterval(queueTimer);\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush_1 = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (item()) {\r\n doFlush_1 = true;\r\n }\r\n });\r\n }\r\n };\r\n });\r\n }\r\n /**\r\n * Currently supported cases:\r\n * 1) (default case) track page view called with default parameters, overridePageViewDuration = false. Page view is sent with page view performance when navigation timing data is available.\r\n * a. If navigation timing is not supported then page view is sent right away with undefined duration. Page view performance is not sent.\r\n * 2) overridePageViewDuration = true, custom duration provided. Custom duration is used, page view sends right away.\r\n * 3) overridePageViewDuration = true, custom duration NOT provided. Page view is sent right away, duration is time spent from page load till now (or undefined if navigation timing is not supported).\r\n * 4) overridePageViewDuration = false, custom duration is provided. Page view is sent right away with custom duration.\r\n *\r\n * In all cases page view performance is sent once (only for the 1st call of trackPageView), or not sent if navigation timing is not supported.\r\n */\r\n PageViewManager.prototype.trackPageView = function (pageView, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n PageViewManager.prototype.teardown = function (unloadCtx, unloadState) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n//# sourceMappingURL=PageViewManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, getNavigator, getPerformance, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_CONNECT_END, _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI15, _DYN_IS_PERFORMANCE_TIMIN14, _DYN_IS_PERFORMANCE_TIMIN17, _DYN_LENGTH, _DYN_LOAD_EVENT_END, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_REQUEST_START, _DYN_RESPONSE_END, _DYN_RESPONSE_START, _DYN_SHOULD_COLLECT_DURAT16 } from \"../../__DynamicConstants\";\r\nvar MAX_DURATION_ALLOWED = 3600000; // 1h\r\nvar botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\nfunction _isPerformanceTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && !!perf.timing;\r\n}\r\nfunction _isPerformanceNavigationTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\")[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\nfunction _isPerformanceTimingDataReady() {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */] > 0\r\n && timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */] > 0\r\n && timing[_DYN_REQUEST_START /* @min:%2erequestStart */] > 0\r\n && timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */] > 0\r\n && timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */] > 0\r\n && timing[_DYN_CONNECT_END /* @min:%2econnectEnd */] > 0\r\n && timing.domLoading > 0;\r\n}\r\nfunction _getPerformanceTiming() {\r\n if (_isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n}\r\nfunction _getPerformanceNavigationTiming() {\r\n if (_isPerformanceNavigationTimingSupported()) {\r\n return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\")[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n* This method tells if given durations should be excluded from collection.\r\n*/\r\nfunction _shouldCollectDuration() {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n isGoogleBot = isGoogleBot || strIndexOf(userAgent.toLowerCase(), botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n var _logger = safeGetLogger(core);\r\n dynamicProto(PageViewPerformanceManager, this, function (_self) {\r\n _self[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */] = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = _getPerformanceNavigationTiming();\r\n var timing = _getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming[_DYN_DURATION /* @min:%2eduration */];\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */] : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */], navigationTiming[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */], timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n if (total === 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 10 /* _eInternalMessageId.ErrorPVCalc */, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!_self[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */](total, network, request, response, dom)) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 45 /* _eInternalMessageId.InvalidDurationValue */, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 8 /* _eInternalMessageId.ClientPerformanceMathError */, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n _self[_DYN_GET_PERFORMANCE_TIMI15 /* @min:%2egetPerformanceTiming */] = _getPerformanceTiming;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN14 /* @min:%2eisPerformanceTimingSupported */] = _isPerformanceTimingSupported;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN17 /* @min:%2eisPerformanceTimingDataReady */] = _isPerformanceTimingDataReady;\r\n _self[_DYN_SHOULD_COLLECT_DURAT16 /* @min:%2eshouldCollectDuration */] = _shouldCollectDuration;\r\n });\r\n }\r\n PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent = function (pageViewPerformance) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n PageViewPerformanceManager.prototype.getPerformanceTiming = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n /**\r\n * Returns true is window performance timing API is supported, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingSupported = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return true;\r\n };\r\n /**\r\n * As page loads different parts of performance timing numbers get set. When all of them are set we can report it.\r\n * Returns true if ready, false otherwise.\r\n */\r\n PageViewPerformanceManager.prototype.isPerformanceTimingDataReady = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return true;\r\n };\r\n /**\r\n * This method tells if given durations should be excluded from collection.\r\n */\r\n PageViewPerformanceManager.prototype.shouldCollectDuration = function () {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return true;\r\n };\r\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n//# sourceMappingURL=PageViewPerformanceManager.js.map","/**\r\n* ApplicationInsights.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nvar _a;\r\nimport { __assign, __extends } from \"tslib\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier, Event as EventTelemetry, Exception, Metric, PageView, PageViewPerformance, PropertiesPluginIdentifier, RemoteDependencyData, Trace, createDistributedTraceContextFromTrace, createDomEvent, createTelemetryItem, dataSanitizeString, isCrossOriginError, strNotSpecified, utlDisableStorage, utlEnableStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentEvent, arrForEach, cfgDfBoolean, cfgDfSet, cfgDfString, cfgDfValidate, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOff, eventOn, generateW3CId, getDocument, getExceptionName, getHistory, getLocation, getWindow, hasHistory, hasWindow, isFunction, isNullOrUndefined, isString, isUndefined, mergeEvtNamespace, onConfigChange, safeGetCookieMgr, strUndefined, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { isError, objDeepFreeze, objDefine, scheduleTimeout, strIndexOf } from \"@nevware21/ts-utils\";\r\nimport { _DYN_ADD_TELEMETRY_INITIA7, _DYN_AUTO_TRACK_PAGE_VISI9, _DYN_AUTO_UNHANDLED_PROMI13, _DYN_COLUMN_NUMBER, _DYN_CORE, _DYN_DATA_TYPE, _DYN_DIAG_LOG, _DYN_ENABLE_AUTO_ROUTE_TR11, _DYN_ENABLE_UNHANDLED_PRO12, _DYN_ENVELOPE_TYPE, _DYN_ERROR, _DYN_ERROR_SRC, _DYN_EXCEPTION, _DYN_HREF, _DYN_IS_BROWSER_LINK_TRAC10, _DYN_IS_STORAGE_USE_DISAB0, _DYN_LENGTH, _DYN_LINE_NUMBER, _DYN_MESSAGE, _DYN_OVERRIDE_PAGE_VIEW_D8, _DYN_POPULATE_PAGE_VIEW_P4, _DYN_SEND_EXCEPTION_INTER5, _DYN_SEND_PAGE_VIEW_INTER2, _DYN_SEND_PAGE_VIEW_PERFO3, _DYN_TO_STRING, _DYN_TRACK, _DYN_TRACK_PAGE_VIEW, _DYN_TRACK_PREVIOUS_PAGE_1, _DYN__ADD_HOOK, _DYN__CREATE_AUTO_EXCEPTI6, _DYN__ONERROR } from \"../__DynamicConstants\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { Timing } from \"./Timing\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n return reason[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar MinMilliSeconds = 60000;\r\nvar defaultValues = objDeepFreeze((_a = {\r\n sessionRenewalMs: cfgDfSet(_chkConfigMilliseconds, 30 * 60 * 1000),\r\n sessionExpirationMs: cfgDfSet(_chkConfigMilliseconds, 24 * 60 * 60 * 1000),\r\n disableExceptionTracking: cfgDfBoolean()\r\n },\r\n _a[_DYN_AUTO_TRACK_PAGE_VISI9 /* @min:autoTrackPageVisitTime */] = cfgDfBoolean(),\r\n _a[_DYN_OVERRIDE_PAGE_VIEW_D8 /* @min:overridePageViewDuration */] = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_UNHANDLED_PRO12 /* @min:enableUnhandledPromiseRejectionTracking */] = cfgDfBoolean(),\r\n _a[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:autoUnhandledPromiseInstrumented */] = false,\r\n _a.samplingPercentage = cfgDfValidate(_chkSampling, 100),\r\n _a[_DYN_IS_STORAGE_USE_DISAB0 /* @min:isStorageUseDisabled */] = cfgDfBoolean(),\r\n _a[_DYN_IS_BROWSER_LINK_TRAC10 /* @min:isBrowserLinkTrackingEnabled */] = cfgDfBoolean(),\r\n _a[_DYN_ENABLE_AUTO_ROUTE_TR11 /* @min:enableAutoRouteTracking */] = cfgDfBoolean(),\r\n _a.namePrefix = cfgDfString(),\r\n _a.enableDebug = cfgDfBoolean(),\r\n _a.disableFlushOnBeforeUnload = cfgDfBoolean(),\r\n _a.disableFlushOnUnload = cfgDfBoolean(false, \"disableFlushOnBeforeUnload\"),\r\n _a));\r\nfunction _chkConfigMilliseconds(value, defValue) {\r\n value = value || defValue;\r\n if (value < MinMilliSeconds) {\r\n value = MinMilliSeconds;\r\n }\r\n return +value;\r\n}\r\nfunction _chkSampling(value) {\r\n return !isNaN(value) && value > 0 && value <= 100;\r\n}\r\nfunction _updateStorageUsage(extConfig) {\r\n // Not resetting the storage usage as someone may have manually called utlDisableStorage, so this will only\r\n // reset based if the configuration option is provided\r\n if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB0 /* @min:%2eisStorageUseDisabled */])) {\r\n if (extConfig[_DYN_IS_STORAGE_USE_DISAB0 /* @min:%2eisStorageUseDisabled */]) {\r\n utlDisableStorage();\r\n }\r\n else {\r\n utlEnableStorage();\r\n }\r\n }\r\n}\r\nvar AnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(AnalyticsPlugin, _super);\r\n function AnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _pageViewManager;\r\n var _pageViewPerformanceManager;\r\n var _pageVisitTimeManager;\r\n var _preInitTelemetryInitializers;\r\n var _isBrowserLinkTrackingEnabled;\r\n var _browserLinkInitializerAdded;\r\n var _enableAutoRouteTracking;\r\n var _historyListenerAdded;\r\n var _disableExceptionTracking;\r\n var _autoExceptionInstrumented;\r\n var _enableUnhandledPromiseRejectionTracking;\r\n var _autoUnhandledPromiseInstrumented;\r\n var _extConfig;\r\n var _autoTrackPageVisitTime;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n var _evtNamespace;\r\n dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {\r\n var _addHook = _base[_DYN__ADD_HOOK /* @min:%2e_addHook */];\r\n _initDefaults();\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self[_DYN_CORE /* @min:%2ecore */]);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(event, EventTelemetry[_DYN_DATA_TYPE /* @min:%2edataType */], EventTelemetry[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 29 /* _eInternalMessageId.StartTrackEventFailed */, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties, measurements);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 30 /* _eInternalMessageId.StopTrackEventFailed */, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE /* @min:%2edataType */], Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param metric - input object argument. Only name and average are mandatory.\r\n * @param } customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE /* @min:%2edataType */], Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 36 /* _eInternalMessageId.TrackMetricFailed */, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry - The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties - Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _pageViewManager[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */](inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_autoTrackPageVisitTime) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */](inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView - Page view item to be sent\r\n * @param properties - Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties - System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */] = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE /* @min:%2edataType */], PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */] = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n var inPvp = pageViewPerformance || {};\r\n try {\r\n _pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P4 /* @min:%2epopulatePageViewPerformanceEvent */](inPvp);\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO3 /* @min:%2esendPageViewPerformanceInternal */](inPvp, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name - A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 31 /* _eInternalMessageId.StartTrackFailed */, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_autoTrackPageVisitTime) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */](name, url);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 32 /* _eInternalMessageId.StopTrackFailed */, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self[_DYN_SEND_EXCEPTION_INTER5 /* @min:%2esendExceptionInternal */] = function (exception, customProperties, systemProperties) {\r\n // Adding additional edge cases to handle\r\n // - Not passing anything (null / undefined)\r\n var theError = (exception && (exception[_DYN_EXCEPTION /* @min:%2eexception */] || exception[_DYN_ERROR /* @min:%2eerror */])) ||\r\n // - Handle someone calling trackException based of v1 API where the exception was the Error\r\n isError(exception) && exception ||\r\n // - Handles no error being defined and instead of creating a new Error() instance attempt to map so any stacktrace\r\n // is preserved and does not list ApplicationInsights code as the source\r\n { name: (exception && typeof exception), message: exception || strNotSpecified };\r\n // If no exception object was passed assign to an empty object to avoid internal exceptions\r\n exception = exception || {};\r\n var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param exception - Object which contains exception to be sent\r\n * @param } customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n if (exception && !exception[_DYN_EXCEPTION /* @min:%2eexception */] && exception[_DYN_ERROR /* @min:%2eerror */]) {\r\n exception[_DYN_EXCEPTION /* @min:%2eexception */] = exception[_DYN_ERROR /* @min:%2eerror */];\r\n }\r\n try {\r\n _self[_DYN_SEND_EXCEPTION_INTER5 /* @min:%2esendExceptionInternal */](exception, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 35 /* _eInternalMessageId.TrackExceptionFailed */, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */] = function (exception) {\r\n var error = exception && exception[_DYN_ERROR /* @min:%2eerror */];\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] || \"window.onerror@\" + url + \":\" + (exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0) + \":\" + (exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0,\r\n columnNumber: exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0,\r\n message: exception[_DYN_MESSAGE /* @min:%2emessage */]\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR /* @min:%2eerror */])) {\r\n _sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0, exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */]) {\r\n exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: 3 /* eSeverityLevel.Error */ }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error[_DYN_MESSAGE /* @min:%2emessage */]) : \"null\";\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 11 /* _eInternalMessageId.ExceptionWhileLoggingError */, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */] = function (telemetryInitializer) {\r\n if (_self[_DYN_CORE /* @min:%2ecore */]) {\r\n // Just add to the core\r\n return _self[_DYN_CORE /* @min:%2ecore */][_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](telemetryInitializer);\r\n }\r\n // Handle \"pre-initialization\" telemetry initializers (for backward compatibility)\r\n if (!_preInitTelemetryInitializers) {\r\n _preInitTelemetryInitializers = [];\r\n }\r\n _preInitTelemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n try {\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n if (_preInitTelemetryInitializers) {\r\n arrForEach(_preInitTelemetryInitializers, function (initializer) {\r\n core[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](initializer);\r\n });\r\n _preInitTelemetryInitializers = null;\r\n }\r\n _populateDefaults(config);\r\n _pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE /* @min:%2ecore */]);\r\n _pageViewManager = new PageViewManager(_self, _extConfig.overridePageViewDuration, _self[_DYN_CORE /* @min:%2ecore */], _pageViewPerformanceManager);\r\n _pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _eventTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties, measurements) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (!measurements) {\r\n measurements = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n _self.trackEvent({ name: name, properties: properties, measurements: measurements });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self[_DYN_SEND_PAGE_VIEW_INTER2 /* @min:%2esendPageViewInternal */](pageViewItem, properties);\r\n };\r\n if (hasWindow()) {\r\n _updateExceptionTracking();\r\n _updateLocationChange();\r\n }\r\n }\r\n catch (e) {\r\n // resetting the initialized state because of failure\r\n _self.setInitialized(false);\r\n throw e;\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);\r\n // Just register to remove all events associated with this namespace\r\n eventOff(window, null, null, _evtNamespace);\r\n _initDefaults();\r\n };\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self[_DYN_CORE /* @min:%2ecore */];\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(config, function () {\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n _extConfig = ctx.getExtCfg(identifier, defaultValues);\r\n _autoTrackPageVisitTime = _extConfig[_DYN_AUTO_TRACK_PAGE_VISI9 /* @min:%2eautoTrackPageVisitTime */];\r\n _updateStorageUsage(_extConfig);\r\n // _updateBrowserLinkTracking\r\n _isBrowserLinkTrackingEnabled = _extConfig[_DYN_IS_BROWSER_LINK_TRAC10 /* @min:%2eisBrowserLinkTrackingEnabled */];\r\n _addDefaultTelemetryInitializers();\r\n }));\r\n }\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milliseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers() {\r\n if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (remoteData.target && strIndexOf(remoteData.target, browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](_self[_DYN_ADD_TELEMETRY_INITIA7 /* @min:%2eaddTelemetryInitializer */](dropBrowserLinkRequests));\r\n _browserLinkInitializerAdded = true;\r\n }\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n function _updateExceptionTracking() {\r\n var _window = getWindow();\r\n var locn = getLocation(true);\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _disableExceptionTracking = _extConfig.disableExceptionTracking;\r\n if (!_disableExceptionTracking && !_autoExceptionInstrumented && !_extConfig.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onerror\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {\r\n if (!_disableExceptionTracking && callDetails.rslt !== true) {\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](message, url, lineNumber, columnNumber, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoExceptionInstrumented = true;\r\n }\r\n }));\r\n _addUnhandledPromiseRejectionTracking(_window, locn);\r\n }\r\n function _updateLocationChange() {\r\n var win = getWindow();\r\n var locn = getLocation(true);\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _enableAutoRouteTracking = _extConfig[_DYN_ENABLE_AUTO_ROUTE_TR11 /* @min:%2eenableAutoRouteTracking */] === true;\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (win && _enableAutoRouteTracking && !_historyListenerAdded && hasHistory()) {\r\n var _history = getHistory();\r\n if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strUndefined) {\r\n _addHistoryListener(win, _history, locn);\r\n }\r\n }\r\n }));\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n if (!distributedTraceCtx) {\r\n // Fallback when using an older Core and PropertiesPlugin\r\n var properties = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (properties) {\r\n var context = properties.plugin.context;\r\n if (context) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(context.telemetryTrace);\r\n }\r\n }\r\n }\r\n return distributedTraceCtx;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n function _addHistoryListener(win, history, locn) {\r\n if (_historyListenerAdded) {\r\n return;\r\n }\r\n // Name Prefix is only referenced during the initial initialization and cannot be changed afterwards\r\n var namePrefix = _extConfig.namePrefix || \"\";\r\n function _popstateHandler() {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n function _locationChangeHandler() {\r\n // We always track the changes (if the handler is installed) to handle the feature being disabled between location changes\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n else {\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (_enableAutoRouteTracking) {\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n if (distributedTraceCtx) {\r\n distributedTraceCtx.setTraceId(generateW3CId());\r\n var traceLocationName = \"_unknown_\";\r\n if (locn && locn.pathname) {\r\n traceLocationName = locn.pathname + (locn.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), traceLocationName));\r\n }\r\n scheduleTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */]({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_self, _prevUri), _self.autoRoutePVDelay);\r\n }\r\n }\r\n _addHook(InstrumentEvent(history, \"pushState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"pushState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n _addHook(InstrumentEvent(history, \"replaceState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"replaceState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n eventOn(win, namePrefix + \"popstate\", _popstateHandler, _evtNamespace);\r\n eventOn(win, namePrefix + \"locationchange\", _locationChangeHandler, _evtNamespace);\r\n _historyListenerAdded = true;\r\n }\r\n function _addUnhandledPromiseRejectionTracking(_window, _location) {\r\n _self[_DYN__ADD_HOOK /* @min:%2e_addHook */](onConfigChange(_extConfig, function () {\r\n _enableUnhandledPromiseRejectionTracking = _extConfig[_DYN_ENABLE_UNHANDLED_PRO12 /* @min:%2eenableUnhandledPromiseRejectionTracking */] === true;\r\n _autoExceptionInstrumented = _autoExceptionInstrumented || _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:%2eautoUnhandledPromiseInstrumented */];\r\n if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onunhandledrejection\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, error) {\r\n if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) { // handled could be typeof function\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI6 /* @min:%2eCreateAutoException */](_getReason(error), _location ? _location[_DYN_HREF /* @min:%2ehref */] : \"\", 0, 0, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _extConfig[_DYN_AUTO_UNHANDLED_PROMI13 /* @min:%2eautoUnhandledPromiseInstrumented */] = _autoUnhandledPromiseInstrumented = true;\r\n }\r\n }));\r\n }\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity - {eLoggingSeverity} - The severity of the log message\r\n * @param msgId - {_eInternalLogMessage} - The log message.\r\n */\r\n function _throwInternal(severity, msgId, msg, properties, isUserAct) {\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]().throwInternal(severity, msgId, msg, properties, isUserAct);\r\n }\r\n function _initDefaults() {\r\n _eventTracking = null;\r\n _pageTracking = null;\r\n _pageViewManager = null;\r\n _pageViewPerformanceManager = null;\r\n _pageVisitTimeManager = null;\r\n _preInitTelemetryInitializers = null;\r\n _isBrowserLinkTrackingEnabled = false;\r\n _browserLinkInitializerAdded = false;\r\n _enableAutoRouteTracking = false;\r\n _historyListenerAdded = false;\r\n _disableExceptionTracking = false;\r\n _autoExceptionInstrumented = false;\r\n _enableUnhandledPromiseRejectionTracking = false;\r\n _autoUnhandledPromiseInstrumented = false;\r\n _autoTrackPageVisitTime = false;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var location = getLocation(true);\r\n _prevUri = location && location[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n _currUri = null;\r\n _evtNamespace = null;\r\n _extConfig = null;\r\n // Define _self.config\r\n objDefine(_self, \"config\", {\r\n g: function () { return _extConfig; }\r\n });\r\n }\r\n // For backward compatibility\r\n objDefine(_self, \"_pageViewManager\", { g: function () { return _pageViewManager; } });\r\n objDefine(_self, \"_pageViewPerformanceManager\", { g: function () { return _pageViewPerformanceManager; } });\r\n objDefine(_self, \"_pageVisitTimeManager\", { g: function () { return _pageVisitTimeManager; } });\r\n objDefine(_self, \"_evtNamespace\", { g: function () { return \".\" + _evtNamespace; } });\r\n });\r\n return _this;\r\n }\r\n /**\r\n * Get the current cookie manager for this instance\r\n */\r\n AnalyticsPlugin.prototype.getCookieMgr = function () {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AnalyticsPlugin.prototype.processTelemetry = function (env, itemCtx) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AnalyticsPlugin.prototype.trackEvent = function (event, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n AnalyticsPlugin.prototype.startTrackEvent = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n AnalyticsPlugin.prototype.stopTrackEvent = function (name, properties, measurements) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype.trackTrace = function (trace, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param metric - input object argument. Only name and average are mandatory.\r\n * @param } customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype.trackMetric = function (metric, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry - The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties - Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n AnalyticsPlugin.prototype.trackPageView = function (pageView, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView - Page view item to be sent\r\n * @param properties - Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties - System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n AnalyticsPlugin.prototype.sendPageViewInternal = function (pageView, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n AnalyticsPlugin.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance, properties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n AnalyticsPlugin.prototype.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name - A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n AnalyticsPlugin.prototype.startTrackPage = function (name) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n AnalyticsPlugin.prototype.stopTrackPage = function (name, url, properties, measurement) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n AnalyticsPlugin.prototype.sendExceptionInternal = function (exception, customProperties, systemProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param exception - Object which contains exception to be sent\r\n * @param } customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype.trackException = function (exception, customProperties) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param exception\r\n * @memberof ApplicationInsights\r\n */\r\n AnalyticsPlugin.prototype._onerror = function (exception) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AnalyticsPlugin.prototype.addTelemetryInitializer = function (telemetryInitializer) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n return null;\r\n };\r\n AnalyticsPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n AnalyticsPlugin.Version = '3.0.2'; // Not currently used anywhere\r\n return AnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { AnalyticsPlugin };\r\n//# sourceMappingURL=AnalyticsPlugin.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _warnToConsole, dateNow, dumpObj, getJSON, hasJSON, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { objDefine } from \"@nevware21/ts-utils\";\r\nimport { _DYN_PAGE_VISIT_START_TIM18, _DYN_TRACK_PREVIOUS_PAGE_1 } from \"../../__DynamicConstants\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler - Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n var prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n dynamicProto(PageVisitTimeManager, this, function (_self) {\r\n _self[_DYN_TRACK_PREVIOUS_PAGE_1 /* @min:%2etrackPreviousPageVisit */] = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName - Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n function restartPageVisitTimer(pageName, pageUrl) {\r\n var prevPageVisitData = null;\r\n try {\r\n prevPageVisitData = stopPageVisitTimer();\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitDataStr = getJSON().stringify(new PageVisitData(pageName, pageUrl));\r\n utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Call to restart failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n function stopPageVisitTimer() {\r\n var prevPageVisitData = null;\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM18 /* @min:%2epageVisitStartTime */];\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Stop page visit timer failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n // For backward compatibility\r\n objDefine(_self, \"_logger\", { g: function () { return logger; } });\r\n objDefine(_self, \"pageVisitTimeTrackingHandler\", { g: function () { return pageVisitTimeTrackingHandler; } });\r\n });\r\n }\r\n /**\r\n * Tracks the previous page visit time telemetry (if exists) and starts timing of new page visit time\r\n * @param currentPageName - Name of page to begin timing for visit duration\r\n * @param currentPageUrl - Url of page to begin timing for visit duration\r\n */\r\n PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) {\r\n // @DynamicProtoStub -- DO NOT add any code as this will be removed during packaging\r\n };\r\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this[_DYN_PAGE_VISIT_START_TIM18 /* @min:%2epageVisitStartTime */] = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n//# sourceMappingURL=PageVisitTimeManager.js.map","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 62 /* _eInternalMessageId.StartCalledMoreThanOnce */, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 63 /* _eInternalMessageId.StopCalledWithoutStart */, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\nexport { Timing };\r\n//# sourceMappingURL=Timing.js.map"],"names":["strShimObject","strShimUndefined","strShimPrototype","ObjClass","Object","ObjProto","strHasOwnProperty","getGlobal","__assignFn","objAssign","t","s","i","n","arguments","length","p","call","extendStaticsFn","d","b","__proto__","Array","Constructor","Prototype","strFunction","DynInstFuncTable","DynProxyTag","DynClassName","DynInstChkTag","DynAllowInstChkTag","DynProtoDefaultOptions","UnknownValue","str__Proto","DynProtoBaseProto","DynProtoGlobalSettings","DynProtoCurrent","strUseBaseInst","strSetInstFuncs","Obj","_objGetPrototypeOf","_objGetOwnProps","_gbl","_gblInst","o","_a","_isObjectOrArrayPrototype","target","_isObjectArrayOrFunctionPrototype","Function","_getObjProto","newProto","curProto","objHasOwnProperty","_forEachProp","func","props","name_1","push","lp","_isDynamicCandidate","funcName","skipOwn","_throwTypeError","message","throwTypeError","_hasVisited","values","value","_populatePrototype","proto","className","baseInstFuncs","setInstanceFunc","_createDynamicPrototype","dynProtoProxy","instFunc","currentDynProtoProxy","instFuncTable","objCreate","canAddInst","objProto","visited","protoFunc","e","_getInstFunc","this","_getProtoFunc","apply","instFuncs_1","name","_getObjName","unknownValue","dynamicProto","theClass","delegateFunc","options","classProto","thisTarget","thisProto","_checkPrototype","perfOptions","useBaseInst","undefined","instFuncs","_getInstanceFuncs","baseFuncs","_instFuncProxy","funcHost","theFunc","baseProto","_getBaseFuncs","_DYN_TO_LOWER_CASE","_DYN_BLK_VAL","_DYN_LENGTH","_DYN_RD_ONLY","_DYN_NOTIFY","_DYN_WARN_TO_CONSOLE","_DYN_THROW_INTERNAL","_DYN_SET_DF","_DYN_WATCH","_DYN_LOGGER","_DYN_APPLY","_DYN_PUSH","_DYN_SPLICE","_DYN_HDLR","_DYN_IDENTIFIER","_DYN_IS_INITIALIZED","_DYN_GET_PLUGIN","_DYN_NAME","_DYN_TIME","_DYN_PROCESS_NEXT","_DYN_ENABLED","_DYN_UNLOAD","_DYN_CREATE_NEW","_DYN_TEARDOWN","_DYN_MESSAGE_ID","_DYN_MESSAGE","_DYN_IS_ASYNC","_DYN_DIAG_LOG","_DYN__DO_TEARDOWN","_DYN_UPDATE","_DYN_GET_NEXT","_DYN_SET_NEXT_PLUGIN","_DYN_USER_AGENT","_DYN_SPLIT","_DYN_NODE_TYPE","_DYN_REPLACE","_DYN_TYPE","_DYN_HANDLER","_DYN_IS_CHILD_EVT","_DYN_GET_CTX","_DYN_SET_CTX","_DYN_COMPLETE","UNDEFINED_VALUE","STR_EMPTY","STR_CORE","STR_DISABLED","STR_EXTENSION_CONFIG","STR_PROCESS_TELEMETRY","STR_PRIORITY","STR_PERF_EVENT","STR_GET_PERF_MGR","STR_DOMAIN","STR_PATH","rCamelCase","rNormalizeInvalid","rLeadingNumeric","isNotNullOrUndefined","isNullOrUndefined","normalizeJsName","isString","_all","letter","toUpperCase","match","strContains","search","strIndexOf","getExceptionName","object","isError","setValue","field","valChk","srcChk","theValue","_createProxyFunction","source","srcFunc","src","isFunction","originalArguments","proxyFunctionAs","overwriteTarget","isUndefined","strJSON","strMsie","strTrident","_isTrident","_navUserAgentCheck","_enableMocks","getLocation","checkForMock","mockLocation","getInst","location","hasJSON","Boolean","JSON","getJSON","isIE","nav","getNavigator","userAgent","UInt32Mask","MaxUInt32","SEED1","SEED2","_mwcSeeded","_mwcW","_mwcZ","_mwcSeed","seedValue","_autoSeedMwc","now","utcNow","Math","random","random32","signed","c","getRandomValues","Uint32Array","mwcRandom32","floor","version","instanceName","maxLength","number","chars","result","charAt","newId","_dataUid","_canAcceptData","createUniqueNamespace","includeVersion","createElmNodeData","data","id","accept","get","defValue","addDefault","theCache","objDefine","v","_getCache","kill","_isConfigDefaults","isObject","isVal","fb","objHasOwn","set","_getDefault","dynamicHandler","theConfig","cfgDefaults","isDefaultValid","dfVal","isDefined","fallbacks","isArray","fallback","fbValue","cfg","asString","_resolveDefaultValue","newValue_1","isPlainObject","objForEachKey","key","_applyDefaultValue","defaultValue","isValid","setFn","mergeDf","reference","readOnly","blkDynamicValue","mrg","ref","usingDefault","cfgValue","dfName","dfValue","CFG_HANDLER_LINK","symbolFor","BLOCK_DYNAMIC","FORCE_DYNAMIC","_cfgDeepCopy","target_1","_canMakeDynamic","getFunc","state","blkVal","throwInvalidAccess","aggregationErrorType","arrayMethodsToPatch","_throwDynamicError","logger","desc","concat","dumpObj","_getOwnPropGetter","propDesc","objGetOwnPropertyDescriptor","_setDynamicProperty","getter","prop","detail","h","trk","handler","fn","arrIndexOf","clr","idx","checkDynamic","isObjectOrArray","_getProperty","_makeDynamicObject","activeHandler","act","chng","add","g","newValue","ro","upd","isReferenced","rf","hdlr","valueState","newIsObjectOrArray","_createDynamicProperty","_setDynamicPropertyState","flags","isDynamic","inPlace","rdOnly","blkProp","blockDynamicConversion","objDefineProp","arrForEach","method","orgMethod","args","_i","_patchArray","symPrefix","symPostfix","_createState","cfgHandler","theState","dynamicPropertySymbol","newSymbol","uid","dynamicPropertyReadOnly","dynamicPropertyReferenced","dynamicPropertyBlockValue","dynamicPropertyDetail","_waitingHandlers","_watcherTimer","_useHandler","callback","prevWatcher","bind","setDf","_notifyWatchers","notifyHandlers","watcherFailures_1","sourceErrors","createCustomError","self","errors","theMessage","srcError","throwAggregationError","scheduleTimeout","use","details","_createDynamicHandler","getDynamicConfigHandler","newTarget","defaultValues","configHandler","rm","_createAndUseHandler","_block","allowUpdate","prevUpd","w","createDynamicConfig","config","defaultConfig","onConfigChange","_logInvalidAccess","_aiNamespace","getDebugExt","ns","disableDbgExt","_getExtensionNamespace","STR_WARN_TO_CONSOLE","loggingLevelConsole","loggingLevelTelemetry","maxMessageLimit","enableDebug","_logFuncs","_sanitizeDiagnosticText","text","_logToConsole","theConsole","console","logFunc","_InternalLogMessage","msgId","msg","isUserAct","properties","_self","strProps","stringify","diagnosticText","dataType","safeGetLogger","core","DiagnosticLogger","identifier","queue","_loggingLevelConsole","_loggingLevelTelemetry","_maxInternalMessageLimit","_enableDebug","_unloadHandler","_messageCount","_messageLogged","_logInternalMessage","severity","logMessage","messageKey","_debugExtMsg","throttleLimitMessage","throttleMessage","errorToConsole","dbgExt","_setDefaultsFromConfig","consoleLoggingLevel","debugToConsole","resetInternalMessageCount","isAsync","_getLogger","_throwInternal","_warnToConsole","createEnumStyle","createEnum","StorageType","LocalStorage","SessionStorage","AI","AI_AND_W3C","W3C","_DYN_TO_STRING","_DYN_REMOVE_ITEM","_DYN_STRINGIFY","_DYN_PATHNAME","_DYN_EXCEPTIONS","_DYN_PARSED_STACK","_DYN_PROPERTIES","_DYN_MEASUREMENTS","_DYN_SIZE_IN_BYTES","_DYN_TYPE_NAME","_DYN_SEVERITY_LEVEL","_DYN_PROBLEM_GROUP","_DYN_IS_MANUAL","_DYN__CREATE_FROM_INTERFA1","_DYN_ASSEMBLY","_DYN_HAS_FULL_STACK","_DYN_LEVEL","_DYN_METHOD","_DYN_FILE_NAME","_DYN_LINE","_DYN_DURATION","_DYN_RECEIVED_RESPONSE","_canUseLocalStorage","_canUseSessionStorage","_getVerifiedStorageObject","storageType","Date","storage","getGlobalInst","setItem","fail","getItem","exception","_getSessionStorageObject","utlCanUseSessionStorage","utlCanUseLocalStorage","reset","utlGetSessionStorage","PropertiesPluginIdentifier","strNotSpecified","strIkey","dataSanitizeKeyAndAddUniqueness","map","origLength","nameTrunc","strTrim","strSubstring","dataSanitizeKey","uniqueField","dsPadNumber","dataSanitizeString","valueTrunc","dataSanitizeUrl","url","dataSanitizeInput","dataSanitizeMessage","messageTrunc","dataSanitizeProperties","tempProps_1","dataSanitizeMeasurements","measurements","tempMeasurements_1","measure","input","_msgId","inputTrunc","num","strSubstr","createTelemetryItem","item","baseType","envelopeName","customProperties","systemProperties","throwError","iKey","date","telemetryItem","time","toISOString","ext","tags","baseData","TelemetryItemCreator","create","Event","aiDataContract","ver","envelopeType","Trace","severityLevel","DataPoint","kind","count","min","max","stdDev","Metric","metrics","dataPoint","isNaN","msToTimeSpan","totalms","ms","round","sec","hour","days","PageView","durationMs","duration","dataSanitizeId","PageViewPerformance","unused","cs4BaseData","perfTotal","networkConnect","sentRequest","receivedResponse","domProcessing","strError","strStack","strStackDetails","strErrorSrc","strMessage","strDescription","_stringify","convertToString","_formatMessage","theEvent","errorType","evtMessage","_isStackDetails","obj","_convertStackObj","errorStack","items","_getStackFromErrorObj","errorObj","window","errorMessage","stack","lines","entry","_getOperaStack","reason","_getErrorType","typeName","results","exec","constructor","_formatErrorCode","Exception","exceptions","_isExceptionInternal","_ExceptionDetails","CreateAutoException","lineNumber","columnNumber","error","evt","errorSrc","stackDetails","CreateFromInterface","arrMap","ex","__assign","prototype","toInterface","_b","problemGroup","isManual","exceptionDetailsInterface","CreateSimpleException","assembly","fileName","line","formatError","outerId","hasFullStack","parsedStack","_isExceptionDetailsInternal","frames","level_1","totalSizeInBytes_1","frame","theFrame","_StackFrame","regex","test","parsedFrame","left","right","size","acceptedLeft","acceptedRight","howMany","splice","_parseStack","exceptionTrunc","dataSanitizeException","_formatStackTrace","sourceFrame","level","matches","parseInt","sizeInBytes","baseSize","toString","INVALID_TRACE_ID","INVALID_SPAN_ID","_isValid","len","invalidValue","isValidTraceId","isValidSpanId","_document","getDocument","_htmlAnchorIdx","_htmlAnchorElement","urlParseUrl","anchorIdx","anchorCache","tempAnchor","createElement","host","urlParseHost","href","inclPort","fullHost","protocol","port","urlParseFullHost","dateTimeUtilsDuration","start","end","RemoteDependencyData","absoluteUrl","commandName","success","resultCode","requestAPI","correlationContext","type","dependencyKind","dependencySource","dependencyTypeName","dependencyFields","parsedUrl","pathName","pathname","AjaxHelperParseDependencyPath","createDomEvent","eventName","event","doc","createEvent","initEvent","_stringToBoolOrDefault","isBoolean","cfgDfSet","setter","cfgDfBoolean","fallBackName","_doc","strToGMTString","strToUTCString","strCookie","strExpires","strIsCookieUseDisabled","strDisableCookiesUsage","strConfigCookieMgr","_supportsCookies","_allowUaSameSite","_parsedCookieValue","_cookieCache","_globalCookieConfig","rootDefaultConfig","cookieCfg","path","enabled","ignoreCookies","blockedCookies","cookieDomain","cookiePath","_getDoc","getLazy","_isMgrEnabled","cookieMgr","isEnabled","_isIgnoredCookie","cookieMgrCfg","_isCfgEnabled","rootConfig","cookieMgrConfig","isCfgEnabled","cookieEnabled","safeGetCookieMgr","getCookieMgr","createCookieMgr","inst","_gblCookieMgr","_path","_domain","unloadHandler","_enabled","_getCookieFn","_setCookieFn","_delCookieFn","getCookie","_getCookieValue","setCookie","_setCookieValue","delCookie","areCookiesSupported","gblManager","setEnabled","maxAgeSec","domain","_isBlockedCookie","strLeft","_extractParts","isTruthy","_isIE","expireMs","expiry","setTime","_formatDate","location_1","strEndsWith","uaDisallowsSameSiteNone","_formatCookieValue","del","purge","parts","thePart","theDate","cookieValue","theCookie","strAttachEvent","strAddEventHelper","strDetachEvent","strRemoveEventListener","strEvents","rRemoveEmptyNs","rRemoveTrailingEmptyNs","_guid","elmNodeData","eventNamespace","_normalizeNamespace","_getEvtNamespace","evtNamespace","theNamespace_1","parsedEvent","replace","sort","join","_getRegisteredEvents","evtName","aiEvts","registeredEvents","_doDetach","handlerRef","useCapture","_doUnregister","events","unRegFn","capture","mergeEvtNamespace","theNamespace","namespaces","eventOn","_doAttach","registeredEvent","guid","eventOff","evtName_1","found_1","eventCache","evtType","objKeys","_unregisterEvents","regEvent","strExecutionContextKey","strParentContextKey","strChildrenContextKey","PerfEvent","payloadDetails","theDetails_1","childTime","childEvts","childEvt","exTime","ParentContextKey","ChildrenContextKey","doPerfActiveKey","PerfManager","manager","ctx","fire","perfEvent","pluginStateData","_getPluginState","plugin","strTelemetryPluginChain","strHasRunFlags","strGetTelCtx","_chainId","_createInternalContext","telemetryChain","startAt","_nextProxy","_onComplete","proxy","createTelemetryProxyChain","_getNextProxyStart","context","_next","nextProxy","onComplete","completeDetails","diagLog","getCfg","getExtCfg","newConfig","_getExtCfg","getConfig","extConfig","hasNext","getNext","setNext","nextPlugin","iterate","cb","that","createIfMissing","idCfg","extCfg","createProcessTelemetryContext","internalContext","env","plugins","createProcessTelemetryUnloadContext","unloadState","createProcessTelemetryUpdateContext","updateState","firstProxy","lastProxy_1","thePlugin","newProxy","chainId","hasProcessTelemetry","hasSetNext","proxyChain","getPlugin","processTelemetry","_processTelemetry","unload","_unloadPlugin","update","_updatePlugin","_id","_setNext","_getTelCtx","itemCtx","_processChain","processPluginFn","hasRun","hasRunContext","mgrSource","getSource","perfMgr","perfEvt","currentActive","children","doPerf","nextId","hasNextRun","_callProcessTelemetry","pluginState","sync","unloadCtx","_callTeardown","pluginCore","updateCtx","_callUpdate","objFreeze","createTelemetryPluginProxy","aiInstrumentHooks","cbNames","_arrLoop","arr","_doCallbacks","hooks","callDetails","cbArgs","hookCtx","hook","cbks","err","orgEx","hookErrorCb","_getOwner","checkPrototype","checkParentProto","owner","_createInstrumentHook","callbacks","aiHook","newFunc","orgArgs","funcArgs","_createArgs","theArgs","arg","f","rslt","_createFunctionHook","theHook","InstrumentEvent","generateW3CId","tmp","hexValues","oct","a","clockSequenceHi","strGetPlugin","BaseTelemetryPlugin","_isinitialized","_rootCtx","_nextPlugin","_unloadHandlerContainer","_hookContainer","currentCtx","rootCtx","_setDefaults","pluginChain","_initDefaults","_hooks","run","oldHooks","remove","arrAppend","createUnloadHookContainer","handlers","createUnloadHandlerContainer","extensions","unloadDone","theUnloadCtx","theUnloadState","_unloadCallback","updateDone","theUpdateCtx","theUpdateState","_doUpdate","_updateCallback","setInitialized","isInitialized","next","_DYN_IS_STORAGE_USE_DISAB0","_DYN__ADD_HOOK","_DYN_CORE","_DYN_DATA_TYPE","_DYN_ENVELOPE_TYPE","_DYN_TRACK","_DYN_TRACK_PAGE_VIEW","_DYN_TRACK_PREVIOUS_PAGE_1","_DYN_SEND_PAGE_VIEW_INTER2","_DYN_SEND_PAGE_VIEW_PERFO3","_DYN_POPULATE_PAGE_VIEW_P4","_DYN_HREF","_DYN_SEND_EXCEPTION_INTER5","_DYN_EXCEPTION","_DYN_ERROR","_DYN__ONERROR","_DYN_ERROR_SRC","_DYN_LINE_NUMBER","_DYN_COLUMN_NUMBER","_DYN__CREATE_AUTO_EXCEPTI6","_DYN_ADD_TELEMETRY_INITIA7","_DYN_AUTO_TRACK_PAGE_VISI9","_DYN_IS_BROWSER_LINK_TRAC10","_DYN_ENABLE_AUTO_ROUTE_TR11","_DYN_ENABLE_UNHANDLED_PRO12","_DYN_AUTO_UNHANDLED_PROMI13","_DYN_IS_PERFORMANCE_TIMIN14","_DYN_GET_PERFORMANCE_TIMI15","_DYN_NAVIGATION_START","_DYN_SHOULD_COLLECT_DURAT16","_DYN_IS_PERFORMANCE_TIMIN17","_DYN_RESPONSE_START","_DYN_LOAD_EVENT_END","_DYN_RESPONSE_END","_DYN_CONNECT_END","_DYN_PAGE_VISIT_START_TIM18","PageViewManager","appInsights","overridePageViewDuration","pageViewPerformanceManager","_logger","queueTimer","itemQueue","pageViewPerformanceSent","_flushChannels","flush","_startTimer","allItems","slice","doFlush","_addQueue","pageView","title","uri","isWebWorker","customDuration","pageViewSent","processed","pageViewPerformance","teardown","clearInterval","botAgentNames","_isPerformanceTimingSupported","perf","getPerformance","timing","_isPerformanceTimingDataReady","domainLookupStart","domLoading","_getPerformanceTiming","_getPerformanceNavigationTiming","getEntriesByType","_isPerformanceNavigationTimingSupported","_shouldCollectDuration","durations","isGoogleBot","toLowerCase","PageViewPerformanceManager","navigationTiming","total","network","request","response","dom","startTime","requestStart","responseEnd","PageVisitTimeManager","pageVisitTimeTrackingHandler","prevPageVisitDataKeyName","currentPageName","currentPageUrl","prevPageVisitTimeData","pageName","pageUrl","prevPageVisitData","pageVisitEndTime","dateNow","pageVisitDataJsonStr","parse","pageVisitTime","utlRemoveSessionStorage","stopPageVisitTimer","currPageVisitDataStr","PageVisitData","utlSetSessionStorage","restartPageVisitTimer","Timing","_events","stop","action","_dispatchEvent","evnt","dispatchEvent","objDeepFreeze","sessionRenewalMs","_chkConfigMilliseconds","sessionExpirationMs","disableExceptionTracking","samplingPercentage","validator","cfgDfValidate","namePrefix","cfgDfString","disableFlushOnBeforeUnload","disableFlushOnUnload","_updateStorageUsage","AnalyticsPlugin","_super","_eventTracking","_pageTracking","_pageViewManager","_pageViewPerformanceManager","_pageVisitTimeManager","_preInitTelemetryInitializers","_isBrowserLinkTrackingEnabled","_browserLinkInitializerAdded","_enableAutoRouteTracking","_historyListenerAdded","_disableExceptionTracking","_autoExceptionInstrumented","_enableUnhandledPromiseRejectionTracking","_autoUnhandledPromiseInstrumented","_extConfig","_autoTrackPageVisitTime","_this","priority","autoRoutePVDelay","_prevUri","_currUri","_evtNamespace","_base","_addHook","throwInternal","processNext","trackEvent","EventTelemetry","startTrackEvent","stopTrackEvent","trackTrace","trace","trackMetric","metric","inPv","refUri","referrer","trackPageViewPerformance","inPvp","startTrackPage","stopTrackPage","measurement","loc","theError","trackException","_window","getWindow","URL","isCrossOriginError","_sendCORSException","errorString","telemetryInitializer","initialize","initializer","browserLinkPaths_1","dropBrowserLinkRequests","envelope","remoteData","_addDefaultTelemetryInitializers","_populateDefaults","PageName","PageUrl","average","sampleCount","trackPageVisitTime","pageViewItem","hasWindow","locn","autoExceptionInstrumented","rsp","_location","_getReason","_addUnhandledPromiseRejectionTracking","_updateExceptionTracking","win","hasHistory","_history","getHistory","pushState","replaceState","strUndefined","history","_popstateHandler","_locationChangeHandler","distributedTraceCtx","getTraceCtx","telemetryTrace","parentCtx","getName","setName","getTraceId","traceID","setTraceId","getSpanId","parentID","setSpanId","getTraceFlags","traceFlags","setTraceFlags","newTraceFlags","createDistributedTraceContextFromTrace","_getDistributedTraceCtx","traceLocationName","hash","_addHistoryListener","_updateLocationChange","_doTeardown","__","String","__extends","Version"],"sourceRoot":""}