@microsoft/applicationinsights-angularplugin-js 2.6.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +43 -2
  2. package/{dist/applicationinsights-angularplugin-js/bundles → bundles}/microsoft-applicationinsights-angularplugin-js.umd.js +90 -44
  3. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.js.map +1 -0
  4. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.min.js +16 -0
  5. package/bundles/microsoft-applicationinsights-angularplugin-js.umd.min.js.map +1 -0
  6. package/esm2015/lib/IErrorService.js +2 -0
  7. package/esm2015/lib/applicationinsights-angularplugin-error.service.js +38 -0
  8. package/esm2015/lib/applicationinsights-angularplugin-js.component.js +87 -0
  9. package/{dist/applicationinsights-angularplugin-js/esm2015 → esm2015}/lib/applicationinsights-angularplugin-js.module.js +0 -0
  10. package/{dist/applicationinsights-angularplugin-js/esm2015 → esm2015}/microsoft-applicationinsights-angularplugin-js.js +0 -0
  11. package/{dist/applicationinsights-angularplugin-js/esm2015 → esm2015}/public-api.js +2 -1
  12. package/{dist/applicationinsights-angularplugin-js/fesm2015 → fesm2015}/microsoft-applicationinsights-angularplugin-js.js +45 -25
  13. package/fesm2015/microsoft-applicationinsights-angularplugin-js.js.map +1 -0
  14. package/lib/IErrorService.d.ts +4 -0
  15. package/{dist/applicationinsights-angularplugin-js/lib → lib}/applicationinsights-angularplugin-error.service.d.ts +4 -2
  16. package/{dist/applicationinsights-angularplugin-js/lib → lib}/applicationinsights-angularplugin-js.component.d.ts +0 -0
  17. package/{dist/applicationinsights-angularplugin-js/lib → lib}/applicationinsights-angularplugin-js.module.d.ts +0 -0
  18. package/microsoft-applicationinsights-angularplugin-js-2.7.0.tgz +0 -0
  19. package/{dist/applicationinsights-angularplugin-js/microsoft-applicationinsights-angularplugin-js.d.ts → microsoft-applicationinsights-angularplugin-js.d.ts} +0 -0
  20. package/{dist/applicationinsights-angularplugin-js/microsoft-applicationinsights-angularplugin-js.metadata.json → microsoft-applicationinsights-angularplugin-js.metadata.json} +1 -1
  21. package/package.json +24 -61
  22. package/{dist/applicationinsights-angularplugin-js/public-api.d.ts → public-api.d.ts} +1 -0
  23. package/LICENSE +0 -21
  24. package/dist/applicationinsights-angularplugin-js/README.md +0 -24
  25. package/dist/applicationinsights-angularplugin-js/bundles/microsoft-applicationinsights-angularplugin-js.umd.js.map +0 -1
  26. package/dist/applicationinsights-angularplugin-js/bundles/microsoft-applicationinsights-angularplugin-js.umd.min.js +0 -16
  27. package/dist/applicationinsights-angularplugin-js/bundles/microsoft-applicationinsights-angularplugin-js.umd.min.js.map +0 -1
  28. package/dist/applicationinsights-angularplugin-js/esm2015/lib/applicationinsights-angularplugin-error.service.js +0 -26
  29. package/dist/applicationinsights-angularplugin-js/esm2015/lib/applicationinsights-angularplugin-js.component.js +0 -79
  30. package/dist/applicationinsights-angularplugin-js/fesm2015/microsoft-applicationinsights-angularplugin-js.js.map +0 -1
  31. package/dist/applicationinsights-angularplugin-js/microsoft-applicationinsights-angularplugin-js-2.6.1.tgz +0 -0
  32. package/dist/applicationinsights-angularplugin-js/package.json +0 -24
  33. package/tsconfig.json +0 -24
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Microsoft Application Insights JavaScript SDK - Angular Plugin
2
2
 
3
- [![Build Status](https://travis-ci.org/microsoft/ApplicationInsights-JS.svg?branch=master)](https://travis-ci.org/microsoft/ApplicationInsights-JS)
4
- [![npm version](https://badge.fury.io/js/%40microsoft%2Fapplicationinsights-analytics-js.svg)]()
3
+ [![Angular CI](https://github.com/microsoft/applicationinsights-angularplugin-js/actions/workflows/angular.yml/badge.svg?branch=main)](https://github.com/microsoft/applicationinsights-angularplugin-js/actions/workflows/angular.yml)
4
+ [![npm version](https://badge.fury.io/js/%40microsoft%2Fapplicationinsights-angularplugin-js.svg)]()
5
5
 
6
6
  Angular Plugin for the Application Insights Javascript SDK, enables the following:
7
7
 
@@ -52,6 +52,47 @@ export class AppComponent {
52
52
  }
53
53
  ```
54
54
 
55
+ To track uncaught exceptions, setup ApplicationinsightsAngularpluginErrorService in `app.module.ts`:
56
+
57
+ ```js
58
+ import { ApplicationinsightsAngularpluginErrorService } from '@microsoft/applicationinsights-angularplugin-js';
59
+
60
+ @NgModule({
61
+ ...
62
+ providers: [
63
+ {
64
+ provide: ErrorHandler,
65
+ useClass: ApplicationinsightsAngularpluginErrorService
66
+ }
67
+ ]
68
+ ...
69
+ })
70
+ export class AppModule { }
71
+ ```
72
+
73
+ To chain more custom error handlers, create custom error handlers that implement IErrorService:
74
+
75
+ ```js
76
+ import { IErrorService } from '@microsoft/applicationinsights-angularplugin-js';
77
+
78
+ export class CustomErrorHandler implements IErrorService {
79
+ handleError(error: any) {
80
+ ...
81
+ }
82
+ }
83
+ ```
84
+
85
+ And pass errorServices array through extensionConfig:
86
+
87
+ ```js
88
+ extensionConfig: {
89
+ [angularPlugin.identifier]: {
90
+ router: this.router,
91
+ errorServices: [new CustomErrorHandler()]
92
+ }
93
+ }
94
+ ```
95
+
55
96
  ## Contributing
56
97
 
57
98
  This project welcomes contributions and suggestions. Most contributions require you to agree to a
@@ -1,8 +1,28 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@microsoft/applicationinsights-common'), require('@microsoft/applicationinsights-core-js')) :
3
- typeof define === 'function' && define.amd ? define('@microsoft/applicationinsights-angularplugin-js', ['exports', '@angular/core', '@microsoft/applicationinsights-common', '@microsoft/applicationinsights-core-js'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.microsoft = global.microsoft || {}, global.microsoft['applicationinsights-angularplugin-js'] = {}), global.ng.core, global.applicationinsightsCommon, global.applicationinsightsCoreJs));
5
- }(this, (function (exports, i0, applicationinsightsCommon, applicationinsightsCoreJs) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@microsoft/applicationinsights-common'), require('@microsoft/applicationinsights-core-js'), require('@angular/router')) :
3
+ typeof define === 'function' && define.amd ? define('@microsoft/applicationinsights-angularplugin-js', ['exports', '@angular/core', '@microsoft/applicationinsights-common', '@microsoft/applicationinsights-core-js', '@angular/router'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.microsoft = global.microsoft || {}, global.microsoft["applicationinsights-angularplugin-js"] = {}), global.ng.core, global.applicationinsightsCommon, global.applicationinsightsCoreJs, global.ng.router));
5
+ })(this, (function (exports, i0, applicationinsightsCommon, applicationinsightsCoreJs, router) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
6
26
 
7
27
  /*! *****************************************************************************
8
28
  Copyright (c) Microsoft Corporation.
@@ -230,10 +250,16 @@
230
250
  r[k] = a[j];
231
251
  return r;
232
252
  }
233
- function __spreadArray(to, from) {
234
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
235
- to[j] = from[i];
236
- return to;
253
+ function __spreadArray(to, from, pack) {
254
+ if (pack || arguments.length === 2)
255
+ for (var i = 0, l = from.length, ar; i < l; i++) {
256
+ if (ar || !(i in from)) {
257
+ if (!ar)
258
+ ar = Array.prototype.slice.call(from, 0, i);
259
+ ar[i] = from[i];
260
+ }
261
+ }
262
+ return to.concat(ar || Array.prototype.slice.call(from));
237
263
  }
238
264
  function __await(v) {
239
265
  return this instanceof __await ? (this.v = v, this) : new __await(v);
@@ -299,22 +325,26 @@
299
325
  function __importDefault(mod) {
300
326
  return (mod && mod.__esModule) ? mod : { default: mod };
301
327
  }
302
- function __classPrivateFieldGet(receiver, privateMap) {
303
- if (!privateMap.has(receiver)) {
304
- throw new TypeError("attempted to get private field on non-instance");
305
- }
306
- return privateMap.get(receiver);
328
+ function __classPrivateFieldGet(receiver, state, kind, f) {
329
+ if (kind === "a" && !f)
330
+ throw new TypeError("Private accessor was defined without a getter");
331
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
332
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
333
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
307
334
  }
308
- function __classPrivateFieldSet(receiver, privateMap, value) {
309
- if (!privateMap.has(receiver)) {
310
- throw new TypeError("attempted to set private field on non-instance");
311
- }
312
- privateMap.set(receiver, value);
313
- return value;
335
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
336
+ if (kind === "m")
337
+ throw new TypeError("Private method is not writable");
338
+ if (kind === "a" && !f)
339
+ throw new TypeError("Private accessor was defined without a setter");
340
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
341
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
342
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
314
343
  }
315
344
 
316
345
  var ApplicationinsightsAngularpluginErrorService = /** @class */ (function () {
317
346
  function ApplicationinsightsAngularpluginErrorService() {
347
+ this.errorServices = [];
318
348
  if (ApplicationinsightsAngularpluginErrorService.instance === null) {
319
349
  ApplicationinsightsAngularpluginErrorService.instance = this;
320
350
  }
@@ -326,15 +356,25 @@
326
356
  enumerable: false,
327
357
  configurable: true
328
358
  });
359
+ ApplicationinsightsAngularpluginErrorService.prototype.addErrorHandler = function (errorService) {
360
+ this.errorServices.push(errorService);
361
+ };
329
362
  ApplicationinsightsAngularpluginErrorService.prototype.handleError = function (error) {
330
363
  if (this.analyticsPlugin) {
331
364
  this.analyticsPlugin.trackException({ exception: error });
332
365
  }
366
+ if (this.errorServices && this.errorServices.length > 0) {
367
+ applicationinsightsCoreJs.arrForEach(this.errorServices, function (errorService) {
368
+ if (errorService.handleError && typeof errorService.handleError === 'function') {
369
+ errorService.handleError(error);
370
+ }
371
+ });
372
+ }
333
373
  };
334
374
  return ApplicationinsightsAngularpluginErrorService;
335
375
  }());
336
376
  ApplicationinsightsAngularpluginErrorService.instance = null;
337
- ApplicationinsightsAngularpluginErrorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ApplicationinsightsAngularpluginErrorService_Factory() { return new ApplicationinsightsAngularpluginErrorService(); }, token: ApplicationinsightsAngularpluginErrorService, providedIn: "root" });
377
+ ApplicationinsightsAngularpluginErrorService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ApplicationinsightsAngularpluginErrorService_Factory() { return new ApplicationinsightsAngularpluginErrorService(); }, token: ApplicationinsightsAngularpluginErrorService, providedIn: "root" });
338
378
  ApplicationinsightsAngularpluginErrorService.decorators = [
339
379
  { type: i0.Injectable, args: [{
340
380
  providedIn: 'root'
@@ -342,7 +382,6 @@
342
382
  ];
343
383
  ApplicationinsightsAngularpluginErrorService.ctorParameters = function () { return []; };
344
384
 
345
- var NAVIGATIONEND = 'NavigationEnd';
346
385
  // tslint:disable-next-line:component-class-suffix
347
386
  var AngularPlugin = /** @class */ (function (_super) {
348
387
  __extends(AngularPlugin, _super);
@@ -353,39 +392,45 @@
353
392
  return _this;
354
393
  }
355
394
  AngularPlugin.prototype.initialize = function (config, core, extensions, pluginChain) {
356
- var _this = this;
357
395
  _super.prototype.initialize.call(this, config, core, extensions, pluginChain);
358
- var ctx = this._getTelCtx();
359
- var extConfig = ctx.getExtCfg(this.identifier, { router: null });
360
- applicationinsightsCoreJs.CoreUtils.arrForEach(extensions, function (ext) {
396
+ var self = this;
397
+ var ctx = self._getTelCtx();
398
+ var extConfig = ctx.getExtCfg(self.identifier, { router: null, errorServices: null });
399
+ applicationinsightsCoreJs.arrForEach(extensions, function (ext) {
361
400
  var identifier = ext.identifier;
362
401
  if (identifier === 'ApplicationInsightsAnalytics') {
363
- _this.analyticsPlugin = ext;
402
+ self.analyticsPlugin = ext;
364
403
  if (ApplicationinsightsAngularpluginErrorService.instance !== null) {
365
- ApplicationinsightsAngularpluginErrorService.instance.plugin = _this.analyticsPlugin;
404
+ ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;
405
+ if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {
406
+ applicationinsightsCoreJs.arrForEach(extConfig.errorServices, function (errorService) {
407
+ ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);
408
+ });
409
+ }
366
410
  }
367
411
  }
368
412
  if (identifier === applicationinsightsCommon.PropertiesPluginIdentifier) {
369
- _this.propertiesPlugin = ext;
413
+ self.propertiesPlugin = ext;
370
414
  }
371
415
  });
372
416
  if (extConfig.router) {
373
417
  var isPageInitialLoad_1 = true;
374
- if (isPageInitialLoad_1) {
375
- var pageViewTelemetry = {
376
- uri: extConfig.router.url
377
- };
378
- this.trackPageView(pageViewTelemetry);
379
- }
418
+ var pageViewTelemetry = {
419
+ uri: extConfig.router.url
420
+ };
421
+ self.trackPageView(pageViewTelemetry);
380
422
  extConfig.router.events.subscribe(function (event) {
381
- if (event.constructor.name === NAVIGATIONEND) {
423
+ if (event instanceof router.NavigationEnd) {
382
424
  // for page initial load, do not call trackPageView twice
383
425
  if (isPageInitialLoad_1) {
384
426
  isPageInitialLoad_1 = false;
385
427
  return;
386
428
  }
387
- var pageViewTelemetry = { uri: extConfig.router.url };
388
- _this.trackPageView(pageViewTelemetry);
429
+ var pageViewTelemetry_1 = {
430
+ uri: extConfig.router.url,
431
+ properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0
432
+ };
433
+ self.trackPageView(pageViewTelemetry_1);
389
434
  }
390
435
  });
391
436
  }
@@ -398,16 +443,17 @@
398
443
  this.processNext(event, itemCtx);
399
444
  };
400
445
  AngularPlugin.prototype.trackPageView = function (pageView) {
401
- if (this.analyticsPlugin) {
446
+ var self = this;
447
+ if (self.analyticsPlugin) {
402
448
  var location = applicationinsightsCoreJs.getLocation();
403
- if (this.propertiesPlugin && this.propertiesPlugin.context && this.propertiesPlugin.context.telemetryTrace) {
404
- this.propertiesPlugin.context.telemetryTrace.traceID = applicationinsightsCommon.Util.generateW3CId();
405
- this.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';
449
+ if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {
450
+ self.propertiesPlugin.context.telemetryTrace.traceID = applicationinsightsCommon.Util.generateW3CId();
451
+ self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';
406
452
  }
407
- this.analyticsPlugin.trackPageView(pageView);
453
+ self.analyticsPlugin.trackPageView(pageView);
408
454
  }
409
455
  else {
410
- this.diagLog().throwInternal(
456
+ self.diagLog().throwInternal(
411
457
  // tslint:disable-next-line:max-line-length
412
458
  applicationinsightsCoreJs.LoggingSeverity.CRITICAL, applicationinsightsCoreJs._InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');
413
459
  }
@@ -451,5 +497,5 @@
451
497
 
452
498
  Object.defineProperty(exports, '__esModule', { value: true });
453
499
 
454
- })));
500
+ }));
455
501
  //# sourceMappingURL=microsoft-applicationinsights-angularplugin-js.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"microsoft-applicationinsights-angularplugin-js.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-error.service.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.component.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.module.ts","../../../projects/applicationinsights-angularplugin-js/src/public-api.ts","../../../projects/applicationinsights-angularplugin-js/src/microsoft-applicationinsights-angularplugin-js.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\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) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\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) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IAppInsights } from '@microsoft/applicationinsights-common';\r\nimport { arrForEach } from '@microsoft/applicationinsights-core-js';\r\nimport { IErrorService } from './IErrorService';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationinsightsAngularpluginErrorService implements IErrorService {\r\n public static instance: ApplicationinsightsAngularpluginErrorService = null;\r\n private analyticsPlugin: IAppInsights;\r\n private errorServices: IErrorService[] = [];\r\n\r\n public set plugin(analyticsPlugin: IAppInsights) {\r\n this.analyticsPlugin = analyticsPlugin;\r\n }\r\n\r\n public addErrorHandler(errorService: IErrorService): void {\r\n this.errorServices.push(errorService);\r\n }\r\n\r\n constructor() {\r\n if (ApplicationinsightsAngularpluginErrorService.instance === null) {\r\n ApplicationinsightsAngularpluginErrorService.instance = this;\r\n }\r\n }\r\n\r\n handleError(error: any): void {\r\n if (this.analyticsPlugin) {\r\n this.analyticsPlugin.trackException({ exception: error });\r\n }\r\n\r\n if (this.errorServices && this.errorServices.length > 0) {\r\n arrForEach(this.errorServices, errorService => {\r\n if (errorService.handleError && typeof errorService.handleError === 'function') {\r\n errorService.handleError(error);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport {\r\n IConfig, IPageViewTelemetry, IAppInsights, PropertiesPluginIdentifier, Util\r\n} from '@microsoft/applicationinsights-common';\r\nimport {\r\n IPlugin, IConfiguration, IAppInsightsCore,\r\n ITelemetryPlugin, BaseTelemetryPlugin, arrForEach, ITelemetryItem, ITelemetryPluginChain,\r\n IProcessTelemetryContext, _InternalMessageId, LoggingSeverity, getLocation\r\n} from '@microsoft/applicationinsights-core-js';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// For types only\r\nimport * as properties from '@microsoft/applicationinsights-properties-js';\r\nimport { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';\r\nimport { IErrorService } from './IErrorService';\r\n\r\ninterface IAngularExtensionConfig {\r\n /**\r\n * Angular router for enabling Application Insights PageView tracking.\r\n */\r\n router?: Router;\r\n\r\n /**\r\n * Custom error service for global error handling.\r\n */\r\n errorServices?: IErrorService[];\r\n}\r\n\r\n@Component({\r\n selector: 'lib-applicationinsights-angularplugin-js',\r\n template: ``,\r\n styles: []\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class AngularPlugin extends BaseTelemetryPlugin {\r\n public priority = 186;\r\n public identifier = 'AngularPlugin';\r\n\r\n private analyticsPlugin: IAppInsights;\r\n private propertiesPlugin: properties.PropertiesPlugin;\r\n\r\n initialize(config: IConfiguration & IConfig, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain) {\r\n super.initialize(config, core, extensions, pluginChain);\r\n const self = this;\r\n const ctx = self._getTelCtx();\r\n const extConfig = ctx.getExtCfg<IAngularExtensionConfig>(self.identifier, { router: null, errorServices: null });\r\n arrForEach(extensions, ext => {\r\n const identifier = (ext as ITelemetryPlugin).identifier;\r\n if (identifier === 'ApplicationInsightsAnalytics') {\r\n self.analyticsPlugin = (ext as any) as IAppInsights;\r\n if (ApplicationinsightsAngularpluginErrorService.instance !== null) {\r\n ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;\r\n if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {\r\n arrForEach(extConfig.errorServices, (errorService: IErrorService) => {\r\n ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);\r\n });\r\n }\r\n }\r\n }\r\n if (identifier === PropertiesPluginIdentifier) {\r\n self.propertiesPlugin = (ext as any) as properties.PropertiesPlugin;\r\n }\r\n });\r\n\r\n if (extConfig.router) {\r\n let isPageInitialLoad = true;\r\n const pageViewTelemetry: IPageViewTelemetry = {\r\n uri: extConfig.router.url\r\n };\r\n self.trackPageView(pageViewTelemetry);\r\n extConfig.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n // for page initial load, do not call trackPageView twice\r\n if (isPageInitialLoad) {\r\n isPageInitialLoad = false;\r\n return;\r\n }\r\n const pageViewTelemetry: IPageViewTelemetry = {\r\n uri: extConfig.router.url,\r\n properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0\r\n };\r\n self.trackPageView(pageViewTelemetry);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n processTelemetry(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext) {\r\n this.processNext(event, itemCtx);\r\n }\r\n\r\n trackPageView(pageView: IPageViewTelemetry) {\r\n const self = this;\r\n\r\n if (self.analyticsPlugin) {\r\n const location = getLocation();\r\n if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {\r\n self.propertiesPlugin.context.telemetryTrace.traceID = Util.generateW3CId();\r\n self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';\r\n }\r\n self.analyticsPlugin.trackPageView(pageView);\r\n } else {\r\n self.diagLog().throwInternal(\r\n // tslint:disable-next-line:max-line-length\r\n LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AngularPlugin } from './applicationinsights-angularplugin-js.component';\r\nimport { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';\r\n\r\n@NgModule({\r\n declarations: [AngularPlugin],\r\n imports: [\r\n ],\r\n exports: [AngularPlugin],\r\n providers: [\r\n ApplicationinsightsAngularpluginErrorService\r\n ]\r\n})\r\nexport class ApplicationinsightsAngularpluginJsModule { }\r\n","/*\r\n * Public API Surface of applicationinsights-angularplugin-js\r\n */\r\n\r\nexport * from './lib/applicationinsights-angularplugin-js.component';\r\nexport * from './lib/applicationinsights-angularplugin-js.module';\r\nexport * from './lib/applicationinsights-angularplugin-error.service';\r\nexport * from './lib/IErrorService';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["arrForEach","Injectable","PropertiesPluginIdentifier","NavigationEnd","getLocation","Util","LoggingSeverity","_InternalMessageId","BaseTelemetryPlugin","Component","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCzNE;YAVQ,kBAAa,GAAoB,EAAE,CAAC;YAW1C,IAAI,4CAA4C,CAAC,QAAQ,KAAK,IAAI,EAAE;gBAClE,4CAA4C,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC9D;SACF;QAZD,sBAAW,gEAAM;iBAAjB,UAAkB,eAA6B;gBAC7C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;aACxC;;;WAAA;QAEM,sEAAe,GAAf,UAAgB,YAA2B;YAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACvC;QAQD,kEAAW,GAAX,UAAY,KAAU;YACpB,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC3D;YAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvDA,oCAAU,CAAC,IAAI,CAAC,aAAa,EAAE,UAAA,YAAY;oBACzC,IAAI,YAAY,CAAC,WAAW,IAAI,OAAO,YAAY,CAAC,WAAW,KAAK,UAAU,EAAE;wBAC9E,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;qBACjC;iBACF,CAAC,CAAC;aACJ;SACF;;;IA9Ba,qDAAQ,GAAiD,IAAI,CAAC;;;gBAJ7EC,aAAU,SAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;;;ICyBD;;QACmC,iCAAmB;QANtD;YAAA,4DAmFC;YA5EU,cAAQ,GAAG,GAAG,CAAC;YACf,gBAAU,GAAG,eAAe,CAAC;;SA2EvC;QAtEG,kCAAU,GAAV,UAAW,MAAgC,EAAE,IAAsB,EAAE,UAAqB,EAAE,WAAmC;YAC3H,iBAAM,UAAU,YAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YACxD,IAAM,IAAI,GAAG,IAAI,CAAC;YAClB,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAA0B,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACjHD,oCAAU,CAAC,UAAU,EAAE,UAAA,GAAG;gBACtB,IAAM,UAAU,GAAI,GAAwB,CAAC,UAAU,CAAC;gBACxD,IAAI,UAAU,KAAK,8BAA8B,EAAE;oBAC/C,IAAI,CAAC,eAAe,GAAI,GAA2B,CAAC;oBACpD,IAAI,4CAA4C,CAAC,QAAQ,KAAK,IAAI,EAAE;wBAChE,4CAA4C,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;wBACpF,IAAI,SAAS,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE;4BACnEA,oCAAU,CAAC,SAAS,CAAC,aAAa,EAAE,UAAC,YAA2B;gCAC5D,4CAA4C,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;6BACvF,CAAC,CAAC;yBACN;qBACJ;iBACJ;gBACD,IAAI,UAAU,KAAKE,oDAA0B,EAAE;oBAC3C,IAAI,CAAC,gBAAgB,GAAI,GAA0C,CAAC;iBACvE;aACJ,CAAC,CAAC;YAEH,IAAI,SAAS,CAAC,MAAM,EAAE;gBAClB,IAAI,mBAAiB,GAAG,IAAI,CAAC;gBAC7B,IAAM,iBAAiB,GAAuB;oBAC1C,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG;iBAC5B,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACtC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAA,KAAK;oBACnC,IAAI,KAAK,YAAYC,oBAAa,EAAE;;wBAEhC,IAAI,mBAAiB,EAAE;4BACnB,mBAAiB,GAAG,KAAK,CAAC;4BAC1B,OAAO;yBACV;wBACD,IAAM,mBAAiB,GAAuB;4BAC1C,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG;4BACzB,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;yBAC9B,CAAC;wBACF,IAAI,CAAC,aAAa,CAAC,mBAAiB,CAAC,CAAC;qBACzC;iBACJ,CAAC,CAAC;aACN;SACJ;;;;;QAMD,wCAAgB,GAAhB,UAAiB,KAAqB,EAAE,OAAkC;YACtE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SACpC;QAED,qCAAa,GAAb,UAAc,QAA4B;YACtC,IAAM,IAAI,GAAG,IAAI,CAAC;YAElB,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAM,QAAQ,GAAGC,qCAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,EAAE;oBACxG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,GAAGC,8BAAI,CAAC,aAAa,EAAE,CAAC;oBAC5E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,WAAW,CAAC;iBACpG;gBACD,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAChD;iBAAM;gBACH,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa;;gBAExBC,yCAAe,CAAC,QAAQ,EAAEC,4CAAkB,CAAC,0BAA0B,EAAE,gFAAgF,CAAC,CAAC;aAClK;SACJ;;KA5EL,CAAmCC,6CAAmB;;gBANrDC,YAAS,SAAC;oBACP,QAAQ,EAAE,0CAA0C;oBACpD,QAAQ,EAAE,EAAE;iBAEf;;;;QClBD;;;;;gBATCC,WAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,EACR;oBACD,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE;wBACT,4CAA4C;qBAC7C;iBACF;;;ICZD;;;;ICAA;;;;;;;;;;;;;;"}
@@ -0,0 +1,16 @@
1
+ !function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@microsoft/applicationinsights-common"),require("@microsoft/applicationinsights-core-js"),require("@angular/router")):"function"==typeof define&&define.amd?define("@microsoft/applicationinsights-angularplugin-js",["exports","@angular/core","@microsoft/applicationinsights-common","@microsoft/applicationinsights-core-js","@angular/router"],e):e(((r="undefined"!=typeof globalThis?globalThis:r||self).microsoft=r.microsoft||{},r.microsoft["applicationinsights-angularplugin-js"]={}),r.ng.core,r.applicationinsightsCommon,r.applicationinsightsCoreJs,r.ng.router)}(this,(function(r,e,t,n,i){"use strict";function o(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:function(){return r[t]}})}})),e.default=r,Object.freeze(e)}var a=o(e),c=function(r,e){return c=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,e){r.__proto__=e}||function(r,e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])},c(r,e)};
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */Object.create;function l(r,e){var t="function"==typeof Symbol&&r[Symbol.iterator];if(!t)return r;var n,i,o=t.call(r),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(r){i={error:r}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(i)throw i.error}}return a}function s(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(l(arguments[e]));return r}Object.create;var u=function(){function r(){this.errorServices=[],null===r.instance&&(r.instance=this)}return Object.defineProperty(r.prototype,"plugin",{set:function(r){this.analyticsPlugin=r},enumerable:!1,configurable:!0}),r.prototype.addErrorHandler=function(r){this.errorServices.push(r)},r.prototype.handleError=function(r){this.analyticsPlugin&&this.analyticsPlugin.trackException({exception:r}),this.errorServices&&this.errorServices.length>0&&n.arrForEach(this.errorServices,(function(e){e.handleError&&"function"==typeof e.handleError&&e.handleError(r)}))},r}();u.instance=null,u.ɵprov=a.ɵɵdefineInjectable({factory:function(){return new u},token:u,providedIn:"root"}),u.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],u.ctorParameters=function(){return[]};var p=function(r){function e(){var e=r.apply(this,s(arguments))||this;return e.priority=186,e.identifier="AngularPlugin",e}return function(r,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function t(){this.constructor=r}c(r,e),r.prototype=null===e?Object.create(e):(t.prototype=e.prototype,new t)}(e,r),e.prototype.initialize=function(e,o,a,c){r.prototype.initialize.call(this,e,o,a,c);var l=this,s=l._getTelCtx().getExtCfg(l.identifier,{router:null,errorServices:null});if(n.arrForEach(a,(function(r){var e=r.identifier;"ApplicationInsightsAnalytics"===e&&(l.analyticsPlugin=r,null!==u.instance&&(u.instance.plugin=l.analyticsPlugin,s.errorServices&&Array.isArray(s.errorServices)&&n.arrForEach(s.errorServices,(function(r){u.instance.addErrorHandler(r)})))),e===t.PropertiesPluginIdentifier&&(l.propertiesPlugin=r)})),s.router){var p=!0,f={uri:s.router.url};l.trackPageView(f),s.router.events.subscribe((function(r){if(r instanceof i.NavigationEnd){if(p)return void(p=!1);var e={uri:s.router.url,properties:{duration:0}};l.trackPageView(e)}}))}},e.prototype.processTelemetry=function(r,e){this.processNext(r,e)},e.prototype.trackPageView=function(r){var e=this;if(e.analyticsPlugin){var i=n.getLocation();e.propertiesPlugin&&e.propertiesPlugin.context&&e.propertiesPlugin.context.telemetryTrace&&(e.propertiesPlugin.context.telemetryTrace.traceID=t.Util.generateW3CId(),e.propertiesPlugin.context.telemetryTrace.name=i&&i.pathname||"_unknown_"),e.analyticsPlugin.trackPageView(r)}else e.diagLog().throwInternal(n.LoggingSeverity.CRITICAL,n._InternalMessageId.TelemetryInitializerFailed,"Analytics plugin is not available, Angular plugin telemetry will not be sent: ")},e}(n.BaseTelemetryPlugin);p.decorators=[{type:e.Component,args:[{selector:"lib-applicationinsights-angularplugin-js",template:""}]}];var f=function(){};f.decorators=[{type:e.NgModule,args:[{declarations:[p],imports:[],exports:[p],providers:[u]}]}],r.AngularPlugin=p,r.ApplicationinsightsAngularpluginErrorService=u,r.ApplicationinsightsAngularpluginJsModule=f,Object.defineProperty(r,"__esModule",{value:!0})}));
16
+ //# sourceMappingURL=microsoft-applicationinsights-angularplugin-js.umd.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-error.service.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.component.ts","../../../projects/applicationinsights-angularplugin-js/src/lib/applicationinsights-angularplugin-js.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","create","__read","o","n","m","Symbol","iterator","r","e","i","ar","next","done","push","value","error","__spread","arguments","length","concat","ApplicationinsightsAngularpluginErrorService","this","errorServices","instance","defineProperty","analyticsPlugin","addErrorHandler","errorService","handleError","trackException","exception","arrForEach","Injectable","args","providedIn","AngularPlugin","_this","_super","apply","priority","identifier","TypeError","String","__","constructor","__extends","initialize","config","core","extensions","pluginChain","self","extConfig","_getTelCtx","getExtCfg","router","ext","plugin","isArray","PropertiesPluginIdentifier","propertiesPlugin","isPageInitialLoad_1","pageViewTelemetry","uri","url","trackPageView","events","subscribe","event","NavigationEnd","pageViewTelemetry_1","properties","duration","processTelemetry","itemCtx","processNext","pageView","location","getLocation","context","telemetryTrace","traceID","Util","generateW3CId","name","pathname","diagLog","throwInternal","LoggingSeverity","CRITICAL","_InternalMessageId","TelemetryInitializerFailed","BaseTelemetryPlugin","Component","selector","template","NgModule","declarations","imports","exports","providers"],"mappings":"m/BAgBIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,KACzFP,EAAcC,EAAGC;;;;;;;;;;;;;;oFAuFCC,OAAOQ,gBAwBpBC,EAAOC,EAAGC,GACtB,IAAIC,EAAsB,mBAAXC,QAAyBH,EAAEG,OAAOC,UACjD,IAAKF,EAAG,OAAOF,EACf,IAAmBK,EAAYC,EAA3BC,EAAIL,EAAEL,KAAKG,GAAOQ,EAAK,GAC3B,IACI,WAAc,IAANP,GAAgBA,KAAM,MAAQI,EAAIE,EAAEE,QAAQC,MAAMF,EAAGG,KAAKN,EAAEO,OAExE,MAAOC,GAASP,EAAI,CAAEO,MAAOA,WAEzB,IACQR,IAAMA,EAAEK,OAASR,EAAIK,EAAU,SAAIL,EAAEL,KAAKU,WAExC,GAAID,EAAG,MAAMA,EAAEO,OAE7B,OAAOL,WAIKM,IACZ,IAAK,IAAIN,EAAK,GAAID,EAAI,EAAGA,EAAIQ,UAAUC,OAAQT,IAC3CC,EAAKA,EAAGS,OAAOlB,EAAOgB,UAAUR,KACpC,OAAOC,EAyDclB,OAAOQ,wBC5L9B,SAAAoB,IAVQC,KAAAC,cAAiC,GAWuB,OAA1DF,EAA6CG,WAC/CH,EAA6CG,SAAWF,aAV5D7B,OAAAgC,eAAWJ,EAAAvB,UAAA,SAAM,KAAjB,SAAkB4B,GAChBJ,KAAKI,gBAAkBA,mCAGlBL,EAAAvB,UAAA6B,gBAAA,SAAgBC,GACrBN,KAAKC,cAAcT,KAAKc,IAS1BP,EAAAvB,UAAA+B,YAAA,SAAYb,GACNM,KAAKI,iBACPJ,KAAKI,gBAAgBI,eAAe,CAAEC,UAAWf,IAG/CM,KAAKC,eAAiBD,KAAKC,cAAcJ,OAAS,GACpDa,EAAAA,WAAWV,KAAKC,eAAe,SAAAK,GACzBA,EAAaC,aAAmD,mBAA7BD,EAAaC,aAClDD,EAAaC,YAAYb,YA1BnBK,EAAAG,SAAyD,oHAJxES,EAAAA,WAAUC,KAAA,CAAC,CACVC,WAAY,mECqBd,SAAAC,IAAA,IAAAC,EAAAC,EAAAC,MAAAjB,KAAAL,EAAAC,aAAAI,YAOWe,EAAAG,SAAW,IACXH,EAAAI,WAAa,kCFZElD,EAAGC,GACzB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIkD,UAAU,uBAAyBC,OAAOnD,GAAK,iCAE7D,SAASoD,IAAOtB,KAAKuB,YAActD,EADnCD,EAAcC,EAAGC,GAEjBD,EAAEO,UAAkB,OAANN,EAAaC,OAAOQ,OAAOT,IAAMoD,EAAG9C,UAAYN,EAAEM,UAAW,IAAI8C,GEKhDE,CAAAV,EAAAE,GAO/BF,EAAAtC,UAAAiD,WAAA,SAAWC,EAAkCC,EAAwBC,EAAuBC,GACxFb,EAAAxC,UAAMiD,WAAU/C,KAAAsB,KAAC0B,EAAQC,EAAMC,EAAYC,GAC3C,IAAMC,EAAO9B,KAEP+B,EADMD,EAAKE,aACKC,UAAmCH,EAAKX,WAAY,CAAEe,OAAQ,KAAMjC,cAAe,OAmBzG,GAlBAS,EAAAA,WAAWkB,GAAY,SAAAO,GACnB,IAAMhB,EAAcgB,EAAyBhB,WAC1B,iCAAfA,IACAW,EAAK1B,gBAAmB+B,EACsC,OAA1DpC,EAA6CG,WAC7CH,EAA6CG,SAASkC,OAASN,EAAK1B,gBAChE2B,EAAU9B,eAAiB3B,MAAM+D,QAAQN,EAAU9B,gBACnDS,EAAAA,WAAWqB,EAAU9B,eAAe,SAACK,GACjCP,EAA6CG,SAASG,gBAAgBC,QAKlFa,IAAemB,EAAAA,6BACfR,EAAKS,iBAAoBJ,MAI7BJ,EAAUG,OAAQ,CAClB,IAAIM,GAAoB,EAClBC,EAAwC,CAC1CC,IAAKX,EAAUG,OAAOS,KAE1Bb,EAAKc,cAAcH,GACnBV,EAAUG,OAAOW,OAAOC,WAAU,SAAAC,GAC9B,GAAIA,aAAiBC,EAAAA,cAAe,CAEhC,GAAIR,EAEA,YADAA,GAAoB,GAGxB,IAAMS,EAAwC,CAC1CP,IAAKX,EAAUG,OAAOS,IACtBO,WAAY,CAAEC,SAAU,IAE5BrB,EAAKc,cAAcK,SAUnCnC,EAAAtC,UAAA4E,iBAAA,SAAiBL,EAAuBM,GACpCrD,KAAKsD,YAAYP,EAAOM,IAG5BvC,EAAAtC,UAAAoE,cAAA,SAAcW,GACV,IAAMzB,EAAO9B,KAEb,GAAI8B,EAAK1B,gBAAiB,CACtB,IAAMoD,EAAWC,EAAAA,cACb3B,EAAKS,kBAAoBT,EAAKS,iBAAiBmB,SAAW5B,EAAKS,iBAAiBmB,QAAQC,iBACxF7B,EAAKS,iBAAiBmB,QAAQC,eAAeC,QAAUC,EAAAA,KAAKC,gBAC5DhC,EAAKS,iBAAiBmB,QAAQC,eAAeI,KAAOP,GAAYA,EAASQ,UAAY,aAEzFlC,EAAK1B,gBAAgBwC,cAAcW,QAEnCzB,EAAKmC,UAAUC,cAEXC,EAAAA,gBAAgBC,SAAUC,EAAAA,mBAAmBC,2BAA4B,sFA1EtDC,EAAAA,yCANlCC,EAAAA,UAAS5D,KAAA,CAAC,CACP6D,SAAU,2CACVC,SAAU,aChBd,iCATCC,EAAAA,SAAQ/D,KAAA,CAAC,CACRgE,aAAc,CAAC9D,GACf+D,QAAS,GAETC,QAAS,CAAChE,GACViE,UAAW,CACThF","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\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) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\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) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { IAppInsights } from '@microsoft/applicationinsights-common';\r\nimport { arrForEach } from '@microsoft/applicationinsights-core-js';\r\nimport { IErrorService } from './IErrorService';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApplicationinsightsAngularpluginErrorService implements IErrorService {\r\n public static instance: ApplicationinsightsAngularpluginErrorService = null;\r\n private analyticsPlugin: IAppInsights;\r\n private errorServices: IErrorService[] = [];\r\n\r\n public set plugin(analyticsPlugin: IAppInsights) {\r\n this.analyticsPlugin = analyticsPlugin;\r\n }\r\n\r\n public addErrorHandler(errorService: IErrorService): void {\r\n this.errorServices.push(errorService);\r\n }\r\n\r\n constructor() {\r\n if (ApplicationinsightsAngularpluginErrorService.instance === null) {\r\n ApplicationinsightsAngularpluginErrorService.instance = this;\r\n }\r\n }\r\n\r\n handleError(error: any): void {\r\n if (this.analyticsPlugin) {\r\n this.analyticsPlugin.trackException({ exception: error });\r\n }\r\n\r\n if (this.errorServices && this.errorServices.length > 0) {\r\n arrForEach(this.errorServices, errorService => {\r\n if (errorService.handleError && typeof errorService.handleError === 'function') {\r\n errorService.handleError(error);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport {\r\n IConfig, IPageViewTelemetry, IAppInsights, PropertiesPluginIdentifier, Util\r\n} from '@microsoft/applicationinsights-common';\r\nimport {\r\n IPlugin, IConfiguration, IAppInsightsCore,\r\n ITelemetryPlugin, BaseTelemetryPlugin, arrForEach, ITelemetryItem, ITelemetryPluginChain,\r\n IProcessTelemetryContext, _InternalMessageId, LoggingSeverity, getLocation\r\n} from '@microsoft/applicationinsights-core-js';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n// For types only\r\nimport * as properties from '@microsoft/applicationinsights-properties-js';\r\nimport { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';\r\nimport { IErrorService } from './IErrorService';\r\n\r\ninterface IAngularExtensionConfig {\r\n /**\r\n * Angular router for enabling Application Insights PageView tracking.\r\n */\r\n router?: Router;\r\n\r\n /**\r\n * Custom error service for global error handling.\r\n */\r\n errorServices?: IErrorService[];\r\n}\r\n\r\n@Component({\r\n selector: 'lib-applicationinsights-angularplugin-js',\r\n template: ``,\r\n styles: []\r\n})\r\n// tslint:disable-next-line:component-class-suffix\r\nexport class AngularPlugin extends BaseTelemetryPlugin {\r\n public priority = 186;\r\n public identifier = 'AngularPlugin';\r\n\r\n private analyticsPlugin: IAppInsights;\r\n private propertiesPlugin: properties.PropertiesPlugin;\r\n\r\n initialize(config: IConfiguration & IConfig, core: IAppInsightsCore, extensions: IPlugin[], pluginChain?: ITelemetryPluginChain) {\r\n super.initialize(config, core, extensions, pluginChain);\r\n const self = this;\r\n const ctx = self._getTelCtx();\r\n const extConfig = ctx.getExtCfg<IAngularExtensionConfig>(self.identifier, { router: null, errorServices: null });\r\n arrForEach(extensions, ext => {\r\n const identifier = (ext as ITelemetryPlugin).identifier;\r\n if (identifier === 'ApplicationInsightsAnalytics') {\r\n self.analyticsPlugin = (ext as any) as IAppInsights;\r\n if (ApplicationinsightsAngularpluginErrorService.instance !== null) {\r\n ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;\r\n if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {\r\n arrForEach(extConfig.errorServices, (errorService: IErrorService) => {\r\n ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);\r\n });\r\n }\r\n }\r\n }\r\n if (identifier === PropertiesPluginIdentifier) {\r\n self.propertiesPlugin = (ext as any) as properties.PropertiesPlugin;\r\n }\r\n });\r\n\r\n if (extConfig.router) {\r\n let isPageInitialLoad = true;\r\n const pageViewTelemetry: IPageViewTelemetry = {\r\n uri: extConfig.router.url\r\n };\r\n self.trackPageView(pageViewTelemetry);\r\n extConfig.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n // for page initial load, do not call trackPageView twice\r\n if (isPageInitialLoad) {\r\n isPageInitialLoad = false;\r\n return;\r\n }\r\n const pageViewTelemetry: IPageViewTelemetry = {\r\n uri: extConfig.router.url,\r\n properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0\r\n };\r\n self.trackPageView(pageViewTelemetry);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n processTelemetry(event: ITelemetryItem, itemCtx?: IProcessTelemetryContext) {\r\n this.processNext(event, itemCtx);\r\n }\r\n\r\n trackPageView(pageView: IPageViewTelemetry) {\r\n const self = this;\r\n\r\n if (self.analyticsPlugin) {\r\n const location = getLocation();\r\n if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {\r\n self.propertiesPlugin.context.telemetryTrace.traceID = Util.generateW3CId();\r\n self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';\r\n }\r\n self.analyticsPlugin.trackPageView(pageView);\r\n } else {\r\n self.diagLog().throwInternal(\r\n // tslint:disable-next-line:max-line-length\r\n LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AngularPlugin } from './applicationinsights-angularplugin-js.component';\r\nimport { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';\r\n\r\n@NgModule({\r\n declarations: [AngularPlugin],\r\n imports: [\r\n ],\r\n exports: [AngularPlugin],\r\n providers: [\r\n ApplicationinsightsAngularpluginErrorService\r\n ]\r\n})\r\nexport class ApplicationinsightsAngularpluginJsModule { }\r\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUVycm9yU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvbGliL0lFcnJvclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRXJyb3JTZXJ2aWNlIGV4dGVuZHMgRXJyb3JIYW5kbGVyIHtcclxuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiB2b2lkO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { arrForEach } from '@microsoft/applicationinsights-core-js';
3
+ import * as i0 from "@angular/core";
4
+ export class ApplicationinsightsAngularpluginErrorService {
5
+ constructor() {
6
+ this.errorServices = [];
7
+ if (ApplicationinsightsAngularpluginErrorService.instance === null) {
8
+ ApplicationinsightsAngularpluginErrorService.instance = this;
9
+ }
10
+ }
11
+ set plugin(analyticsPlugin) {
12
+ this.analyticsPlugin = analyticsPlugin;
13
+ }
14
+ addErrorHandler(errorService) {
15
+ this.errorServices.push(errorService);
16
+ }
17
+ handleError(error) {
18
+ if (this.analyticsPlugin) {
19
+ this.analyticsPlugin.trackException({ exception: error });
20
+ }
21
+ if (this.errorServices && this.errorServices.length > 0) {
22
+ arrForEach(this.errorServices, errorService => {
23
+ if (errorService.handleError && typeof errorService.handleError === 'function') {
24
+ errorService.handleError(error);
25
+ }
26
+ });
27
+ }
28
+ }
29
+ }
30
+ ApplicationinsightsAngularpluginErrorService.instance = null;
31
+ ApplicationinsightsAngularpluginErrorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ApplicationinsightsAngularpluginErrorService_Factory() { return new ApplicationinsightsAngularpluginErrorService(); }, token: ApplicationinsightsAngularpluginErrorService, providedIn: "root" });
32
+ ApplicationinsightsAngularpluginErrorService.decorators = [
33
+ { type: Injectable, args: [{
34
+ providedIn: 'root'
35
+ },] }
36
+ ];
37
+ ApplicationinsightsAngularpluginErrorService.ctorParameters = () => [];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWVycm9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tanMvc3JjL2xpYi9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tZXJyb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7QUFNcEUsTUFBTSxPQUFPLDRDQUE0QztJQWF2RDtRQVZRLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQVcxQyxJQUFJLDRDQUE0QyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDbEUsNENBQTRDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUM5RDtJQUNILENBQUM7SUFaRCxJQUFXLE1BQU0sQ0FBQyxlQUE2QjtRQUM3QyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQTJCO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFRRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkQsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLEVBQUU7Z0JBQzVDLElBQUksWUFBWSxDQUFDLFdBQVcsSUFBSSxPQUFPLFlBQVksQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO29CQUM5RSxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNqQztZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQTlCYSxxREFBUSxHQUFpRCxJQUFJLENBQUM7OztZQUo3RSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElBcHBJbnNpZ2h0cyB9IGZyb20gJ0BtaWNyb3NvZnQvYXBwbGljYXRpb25pbnNpZ2h0cy1jb21tb24nO1xyXG5pbXBvcnQgeyBhcnJGb3JFYWNoIH0gZnJvbSAnQG1pY3Jvc29mdC9hcHBsaWNhdGlvbmluc2lnaHRzLWNvcmUtanMnO1xyXG5pbXBvcnQgeyBJRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9JRXJyb3JTZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uaW5zaWdodHNBbmd1bGFycGx1Z2luRXJyb3JTZXJ2aWNlIGltcGxlbWVudHMgSUVycm9yU2VydmljZSB7XHJcbiAgcHVibGljIHN0YXRpYyBpbnN0YW5jZTogQXBwbGljYXRpb25pbnNpZ2h0c0FuZ3VsYXJwbHVnaW5FcnJvclNlcnZpY2UgPSBudWxsO1xyXG4gIHByaXZhdGUgYW5hbHl0aWNzUGx1Z2luOiBJQXBwSW5zaWdodHM7XHJcbiAgcHJpdmF0ZSBlcnJvclNlcnZpY2VzOiBJRXJyb3JTZXJ2aWNlW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNldCBwbHVnaW4oYW5hbHl0aWNzUGx1Z2luOiBJQXBwSW5zaWdodHMpIHtcclxuICAgIHRoaXMuYW5hbHl0aWNzUGx1Z2luID0gYW5hbHl0aWNzUGx1Z2luO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEVycm9ySGFuZGxlcihlcnJvclNlcnZpY2U6IElFcnJvclNlcnZpY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuZXJyb3JTZXJ2aWNlcy5wdXNoKGVycm9yU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGlmIChBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZS5pbnN0YW5jZSA9PT0gbnVsbCkge1xyXG4gICAgICBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZS5pbnN0YW5jZSA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hbmFseXRpY3NQbHVnaW4pIHtcclxuICAgICAgdGhpcy5hbmFseXRpY3NQbHVnaW4udHJhY2tFeGNlcHRpb24oeyBleGNlcHRpb246IGVycm9yIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmVycm9yU2VydmljZXMgJiYgdGhpcy5lcnJvclNlcnZpY2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgYXJyRm9yRWFjaCh0aGlzLmVycm9yU2VydmljZXMsIGVycm9yU2VydmljZSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yU2VydmljZS5oYW5kbGVFcnJvciAmJiB0eXBlb2YgZXJyb3JTZXJ2aWNlLmhhbmRsZUVycm9yID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICBlcnJvclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,87 @@
1
+ import { Component } from '@angular/core';
2
+ import { PropertiesPluginIdentifier, Util } from '@microsoft/applicationinsights-common';
3
+ import { BaseTelemetryPlugin, arrForEach, _InternalMessageId, LoggingSeverity, getLocation } from '@microsoft/applicationinsights-core-js';
4
+ import { NavigationEnd } from '@angular/router';
5
+ import { ApplicationinsightsAngularpluginErrorService } from './applicationinsights-angularplugin-error.service';
6
+ // tslint:disable-next-line:component-class-suffix
7
+ export class AngularPlugin extends BaseTelemetryPlugin {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.priority = 186;
11
+ this.identifier = 'AngularPlugin';
12
+ }
13
+ initialize(config, core, extensions, pluginChain) {
14
+ super.initialize(config, core, extensions, pluginChain);
15
+ const self = this;
16
+ const ctx = self._getTelCtx();
17
+ const extConfig = ctx.getExtCfg(self.identifier, { router: null, errorServices: null });
18
+ arrForEach(extensions, ext => {
19
+ const identifier = ext.identifier;
20
+ if (identifier === 'ApplicationInsightsAnalytics') {
21
+ self.analyticsPlugin = ext;
22
+ if (ApplicationinsightsAngularpluginErrorService.instance !== null) {
23
+ ApplicationinsightsAngularpluginErrorService.instance.plugin = self.analyticsPlugin;
24
+ if (extConfig.errorServices && Array.isArray(extConfig.errorServices)) {
25
+ arrForEach(extConfig.errorServices, (errorService) => {
26
+ ApplicationinsightsAngularpluginErrorService.instance.addErrorHandler(errorService);
27
+ });
28
+ }
29
+ }
30
+ }
31
+ if (identifier === PropertiesPluginIdentifier) {
32
+ self.propertiesPlugin = ext;
33
+ }
34
+ });
35
+ if (extConfig.router) {
36
+ let isPageInitialLoad = true;
37
+ const pageViewTelemetry = {
38
+ uri: extConfig.router.url
39
+ };
40
+ self.trackPageView(pageViewTelemetry);
41
+ extConfig.router.events.subscribe(event => {
42
+ if (event instanceof NavigationEnd) {
43
+ // for page initial load, do not call trackPageView twice
44
+ if (isPageInitialLoad) {
45
+ isPageInitialLoad = false;
46
+ return;
47
+ }
48
+ const pageViewTelemetry = {
49
+ uri: extConfig.router.url,
50
+ properties: { duration: 0 } // SPA route change loading durations are undefined, so send 0
51
+ };
52
+ self.trackPageView(pageViewTelemetry);
53
+ }
54
+ });
55
+ }
56
+ }
57
+ /**
58
+ * Add Part A fields to the event
59
+ * @param event The event that needs to be processed
60
+ */
61
+ processTelemetry(event, itemCtx) {
62
+ this.processNext(event, itemCtx);
63
+ }
64
+ trackPageView(pageView) {
65
+ const self = this;
66
+ if (self.analyticsPlugin) {
67
+ const location = getLocation();
68
+ if (self.propertiesPlugin && self.propertiesPlugin.context && self.propertiesPlugin.context.telemetryTrace) {
69
+ self.propertiesPlugin.context.telemetryTrace.traceID = Util.generateW3CId();
70
+ self.propertiesPlugin.context.telemetryTrace.name = location && location.pathname || '_unknown_';
71
+ }
72
+ self.analyticsPlugin.trackPageView(pageView);
73
+ }
74
+ else {
75
+ self.diagLog().throwInternal(
76
+ // tslint:disable-next-line:max-line-length
77
+ LoggingSeverity.CRITICAL, _InternalMessageId.TelemetryInitializerFailed, 'Analytics plugin is not available, Angular plugin telemetry will not be sent: ');
78
+ }
79
+ }
80
+ }
81
+ AngularPlugin.decorators = [
82
+ { type: Component, args: [{
83
+ selector: 'lib-applicationinsights-angularplugin-js',
84
+ template: ``
85
+ },] }
86
+ ];
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25pbnNpZ2h0cy1hbmd1bGFycGx1Z2luLWpzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy9zcmMvbGliL2FwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ3dDLDBCQUEwQixFQUFFLElBQUksRUFDOUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBRWUsbUJBQW1CLEVBQUUsVUFBVSxFQUN2QixrQkFBa0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUM3RSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQW9Cakgsa0RBQWtEO0FBQ2xELE1BQU0sT0FBTyxhQUFjLFNBQVEsbUJBQW1CO0lBTnREOztRQU9XLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixlQUFVLEdBQUcsZUFBZSxDQUFDO0lBMkV4QyxDQUFDO0lBdEVHLFVBQVUsQ0FBQyxNQUFnQyxFQUFFLElBQXNCLEVBQUUsVUFBcUIsRUFBRSxXQUFtQztRQUMzSCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBMEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakgsVUFBVSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUN6QixNQUFNLFVBQVUsR0FBSSxHQUF3QixDQUFDLFVBQVUsQ0FBQztZQUN4RCxJQUFJLFVBQVUsS0FBSyw4QkFBOEIsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLGVBQWUsR0FBSSxHQUEyQixDQUFDO2dCQUNwRCxJQUFJLDRDQUE0QyxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7b0JBQ2hFLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztvQkFDcEYsSUFBSSxTQUFTLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFO3dCQUNuRSxVQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLFlBQTJCLEVBQUUsRUFBRTs0QkFDaEUsNENBQTRDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQzt3QkFDeEYsQ0FBQyxDQUFDLENBQUM7cUJBQ047aUJBQ0o7YUFDSjtZQUNELElBQUksVUFBVSxLQUFLLDBCQUEwQixFQUFFO2dCQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUksR0FBMEMsQ0FBQzthQUN2RTtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ2xCLElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLE1BQU0saUJBQWlCLEdBQXVCO2dCQUMxQyxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHO2FBQzVCLENBQUM7WUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDdEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7b0JBQ2hDLHlEQUF5RDtvQkFDekQsSUFBSSxpQkFBaUIsRUFBRTt3QkFDbkIsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO3dCQUMxQixPQUFPO3FCQUNWO29CQUNELE1BQU0saUJBQWlCLEdBQXVCO3dCQUMxQyxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHO3dCQUN6QixVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsOERBQThEO3FCQUM3RixDQUFDO29CQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztpQkFDekM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixDQUFDLEtBQXFCLEVBQUUsT0FBa0M7UUFDdEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUE0QjtRQUN0QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3RCLE1BQU0sUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBQy9CLElBQUksSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3hHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUM7YUFDcEc7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWE7WUFDeEIsMkNBQTJDO1lBQzNDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsMEJBQTBCLEVBQUUsZ0ZBQWdGLENBQUMsQ0FBQztTQUNsSztJQUNMLENBQUM7OztZQWxGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztnQkFDcEQsUUFBUSxFQUFFLEVBQUU7YUFFZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgSUNvbmZpZywgSVBhZ2VWaWV3VGVsZW1ldHJ5LCBJQXBwSW5zaWdodHMsIFByb3BlcnRpZXNQbHVnaW5JZGVudGlmaWVyLCBVdGlsXHJcbn0gZnJvbSAnQG1pY3Jvc29mdC9hcHBsaWNhdGlvbmluc2lnaHRzLWNvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgICBJUGx1Z2luLCBJQ29uZmlndXJhdGlvbiwgSUFwcEluc2lnaHRzQ29yZSxcclxuICAgIElUZWxlbWV0cnlQbHVnaW4sIEJhc2VUZWxlbWV0cnlQbHVnaW4sIGFyckZvckVhY2gsIElUZWxlbWV0cnlJdGVtLCBJVGVsZW1ldHJ5UGx1Z2luQ2hhaW4sXHJcbiAgICBJUHJvY2Vzc1RlbGVtZXRyeUNvbnRleHQsIF9JbnRlcm5hbE1lc3NhZ2VJZCwgTG9nZ2luZ1NldmVyaXR5LCBnZXRMb2NhdGlvblxyXG59IGZyb20gJ0BtaWNyb3NvZnQvYXBwbGljYXRpb25pbnNpZ2h0cy1jb3JlLWpzJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuLy8gRm9yIHR5cGVzIG9ubHlcclxuaW1wb3J0ICogYXMgcHJvcGVydGllcyBmcm9tICdAbWljcm9zb2Z0L2FwcGxpY2F0aW9uaW5zaWdodHMtcHJvcGVydGllcy1qcyc7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uaW5zaWdodHNBbmd1bGFycGx1Z2luRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi9hcHBsaWNhdGlvbmluc2lnaHRzLWFuZ3VsYXJwbHVnaW4tZXJyb3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IElFcnJvclNlcnZpY2UgfSBmcm9tICcuL0lFcnJvclNlcnZpY2UnO1xyXG5cclxuaW50ZXJmYWNlIElBbmd1bGFyRXh0ZW5zaW9uQ29uZmlnIHtcclxuICAgIC8qKlxyXG4gICAgICogQW5ndWxhciByb3V0ZXIgZm9yIGVuYWJsaW5nIEFwcGxpY2F0aW9uIEluc2lnaHRzIFBhZ2VWaWV3IHRyYWNraW5nLlxyXG4gICAgICovXHJcbiAgICByb3V0ZXI/OiBSb3V0ZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDdXN0b20gZXJyb3Igc2VydmljZSBmb3IgZ2xvYmFsIGVycm9yIGhhbmRsaW5nLlxyXG4gICAgICovXHJcbiAgICBlcnJvclNlcnZpY2VzPzogSUVycm9yU2VydmljZVtdO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbGliLWFwcGxpY2F0aW9uaW5zaWdodHMtYW5ndWxhcnBsdWdpbi1qcycsXHJcbiAgICB0ZW1wbGF0ZTogYGAsXHJcbiAgICBzdHlsZXM6IFtdXHJcbn0pXHJcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtY2xhc3Mtc3VmZml4XHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyUGx1Z2luIGV4dGVuZHMgQmFzZVRlbGVtZXRyeVBsdWdpbiB7XHJcbiAgICBwdWJsaWMgcHJpb3JpdHkgPSAxODY7XHJcbiAgICBwdWJsaWMgaWRlbnRpZmllciA9ICdBbmd1bGFyUGx1Z2luJztcclxuXHJcbiAgICBwcml2YXRlIGFuYWx5dGljc1BsdWdpbjogSUFwcEluc2lnaHRzO1xyXG4gICAgcHJpdmF0ZSBwcm9wZXJ0aWVzUGx1Z2luOiBwcm9wZXJ0aWVzLlByb3BlcnRpZXNQbHVnaW47XHJcblxyXG4gICAgaW5pdGlhbGl6ZShjb25maWc6IElDb25maWd1cmF0aW9uICYgSUNvbmZpZywgY29yZTogSUFwcEluc2lnaHRzQ29yZSwgZXh0ZW5zaW9uczogSVBsdWdpbltdLCBwbHVnaW5DaGFpbj86IElUZWxlbWV0cnlQbHVnaW5DaGFpbikge1xyXG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoY29uZmlnLCBjb3JlLCBleHRlbnNpb25zLCBwbHVnaW5DaGFpbik7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcbiAgICAgICAgY29uc3QgY3R4ID0gc2VsZi5fZ2V0VGVsQ3R4KCk7XHJcbiAgICAgICAgY29uc3QgZXh0Q29uZmlnID0gY3R4LmdldEV4dENmZzxJQW5ndWxhckV4dGVuc2lvbkNvbmZpZz4oc2VsZi5pZGVudGlmaWVyLCB7IHJvdXRlcjogbnVsbCwgZXJyb3JTZXJ2aWNlczogbnVsbCB9KTtcclxuICAgICAgICBhcnJGb3JFYWNoKGV4dGVuc2lvbnMsIGV4dCA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkZW50aWZpZXIgPSAoZXh0IGFzIElUZWxlbWV0cnlQbHVnaW4pLmlkZW50aWZpZXI7XHJcbiAgICAgICAgICAgIGlmIChpZGVudGlmaWVyID09PSAnQXBwbGljYXRpb25JbnNpZ2h0c0FuYWx5dGljcycpIHtcclxuICAgICAgICAgICAgICAgIHNlbGYuYW5hbHl0aWNzUGx1Z2luID0gKGV4dCBhcyBhbnkpIGFzIElBcHBJbnNpZ2h0cztcclxuICAgICAgICAgICAgICAgIGlmIChBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZS5pbnN0YW5jZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIEFwcGxpY2F0aW9uaW5zaWdodHNBbmd1bGFycGx1Z2luRXJyb3JTZXJ2aWNlLmluc3RhbmNlLnBsdWdpbiA9IHNlbGYuYW5hbHl0aWNzUGx1Z2luO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChleHRDb25maWcuZXJyb3JTZXJ2aWNlcyAmJiBBcnJheS5pc0FycmF5KGV4dENvbmZpZy5lcnJvclNlcnZpY2VzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcnJGb3JFYWNoKGV4dENvbmZpZy5lcnJvclNlcnZpY2VzLCAoZXJyb3JTZXJ2aWNlOiBJRXJyb3JTZXJ2aWNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbmluc2lnaHRzQW5ndWxhcnBsdWdpbkVycm9yU2VydmljZS5pbnN0YW5jZS5hZGRFcnJvckhhbmRsZXIoZXJyb3JTZXJ2aWNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpZGVudGlmaWVyID09PSBQcm9wZXJ0aWVzUGx1Z2luSWRlbnRpZmllcikge1xyXG4gICAgICAgICAgICAgICAgc2VsZi5wcm9wZXJ0aWVzUGx1Z2luID0gKGV4dCBhcyBhbnkpIGFzIHByb3BlcnRpZXMuUHJvcGVydGllc1BsdWdpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZXh0Q29uZmlnLnJvdXRlcikge1xyXG4gICAgICAgICAgICBsZXQgaXNQYWdlSW5pdGlhbExvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zdCBwYWdlVmlld1RlbGVtZXRyeTogSVBhZ2VWaWV3VGVsZW1ldHJ5ID0ge1xyXG4gICAgICAgICAgICAgICAgdXJpOiBleHRDb25maWcucm91dGVyLnVybFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBzZWxmLnRyYWNrUGFnZVZpZXcocGFnZVZpZXdUZWxlbWV0cnkpO1xyXG4gICAgICAgICAgICBleHRDb25maWcucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZvciBwYWdlIGluaXRpYWwgbG9hZCwgZG8gbm90IGNhbGwgdHJhY2tQYWdlVmlldyB0d2ljZVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1BhZ2VJbml0aWFsTG9hZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpc1BhZ2VJbml0aWFsTG9hZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VWaWV3VGVsZW1ldHJ5OiBJUGFnZVZpZXdUZWxlbWV0cnkgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVyaTogZXh0Q29uZmlnLnJvdXRlci51cmwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHsgZHVyYXRpb246IDAgfSAvLyBTUEEgcm91dGUgY2hhbmdlIGxvYWRpbmcgZHVyYXRpb25zIGFyZSB1bmRlZmluZWQsIHNvIHNlbmQgMFxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZi50cmFja1BhZ2VWaWV3KHBhZ2VWaWV3VGVsZW1ldHJ5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIFBhcnQgQSBmaWVsZHMgdG8gdGhlIGV2ZW50XHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgVGhlIGV2ZW50IHRoYXQgbmVlZHMgdG8gYmUgcHJvY2Vzc2VkXHJcbiAgICAgKi9cclxuICAgIHByb2Nlc3NUZWxlbWV0cnkoZXZlbnQ6IElUZWxlbWV0cnlJdGVtLCBpdGVtQ3R4PzogSVByb2Nlc3NUZWxlbWV0cnlDb250ZXh0KSB7XHJcbiAgICAgICAgdGhpcy5wcm9jZXNzTmV4dChldmVudCwgaXRlbUN0eCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tQYWdlVmlldyhwYWdlVmlldzogSVBhZ2VWaWV3VGVsZW1ldHJ5KSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XHJcblxyXG4gICAgICAgIGlmIChzZWxmLmFuYWx5dGljc1BsdWdpbikge1xyXG4gICAgICAgICAgICBjb25zdCBsb2NhdGlvbiA9IGdldExvY2F0aW9uKCk7XHJcbiAgICAgICAgICAgIGlmIChzZWxmLnByb3BlcnRpZXNQbHVnaW4gJiYgc2VsZi5wcm9wZXJ0aWVzUGx1Z2luLmNvbnRleHQgJiYgc2VsZi5wcm9wZXJ0aWVzUGx1Z2luLmNvbnRleHQudGVsZW1ldHJ5VHJhY2UpIHtcclxuICAgICAgICAgICAgICAgIHNlbGYucHJvcGVydGllc1BsdWdpbi5jb250ZXh0LnRlbGVtZXRyeVRyYWNlLnRyYWNlSUQgPSBVdGlsLmdlbmVyYXRlVzNDSWQoKTtcclxuICAgICAgICAgICAgICAgIHNlbGYucHJvcGVydGllc1BsdWdpbi5jb250ZXh0LnRlbGVtZXRyeVRyYWNlLm5hbWUgPSBsb2NhdGlvbiAmJiBsb2NhdGlvbi5wYXRobmFtZSB8fCAnX3Vua25vd25fJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzZWxmLmFuYWx5dGljc1BsdWdpbi50cmFja1BhZ2VWaWV3KHBhZ2VWaWV3KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZWxmLmRpYWdMb2coKS50aHJvd0ludGVybmFsKFxyXG4gICAgICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxyXG4gICAgICAgICAgICAgICAgTG9nZ2luZ1NldmVyaXR5LkNSSVRJQ0FMLCBfSW50ZXJuYWxNZXNzYWdlSWQuVGVsZW1ldHJ5SW5pdGlhbGl6ZXJGYWlsZWQsICdBbmFseXRpY3MgcGx1Z2luIGlzIG5vdCBhdmFpbGFibGUsIEFuZ3VsYXIgcGx1Z2luIHRlbGVtZXRyeSB3aWxsIG5vdCBiZSBzZW50OiAnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19