@stemy/ngx-utils 17.0.1 → 17.1.1

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.
@@ -1,7 +1,7 @@
1
1
  import { Injectable, Injector, NgZone, Optional } from "@angular/core";
2
- import { ActivatedRouteSnapshot, ChildrenOutletContexts, NavigationEnd, Router } from "@angular/router";
3
- import { BehaviorSubject, debounceTime, filter, Observable } from "rxjs";
4
- import { delay, distinctUntilChanged, skipWhile } from "rxjs/operators";
2
+ import { ActivatedRouteSnapshot, ChildrenOutletContexts, NavigationEnd, Router, Scroll } from "@angular/router";
3
+ import { BehaviorSubject, firstValueFrom, Observable } from "rxjs";
4
+ import { debounceTime, distinctUntilChanged, filter, map, skipWhile, } from "rxjs/operators";
5
5
  import { ObjectUtils } from "../utils/object.utils";
6
6
  import { UniversalService } from "./universal.service";
7
7
  import * as i0 from "@angular/core";
@@ -20,11 +20,11 @@ export class StateService {
20
20
  });
21
21
  return path;
22
22
  }
23
- get component() {
24
- return this.comp;
25
- }
26
23
  get snapshot() {
27
- return this.shot.value || emptySnapshot;
24
+ return this.$snapshot.value;
25
+ }
26
+ get component() {
27
+ return this.$component.value;
28
28
  }
29
29
  get route() {
30
30
  return this.snapshot.routeConfig;
@@ -50,13 +50,33 @@ export class StateService {
50
50
  get routerConfig() {
51
51
  return this.router.config;
52
52
  }
53
+ get $observable() {
54
+ return this.$snapshot.pipe(skipWhile(snapshot => snapshot === emptySnapshot), debounceTime(25));
55
+ }
53
56
  constructor(injector, zone, universal, router = null, contexts = null) {
54
57
  this.injector = injector;
55
58
  this.zone = zone;
56
59
  this.universal = universal;
57
60
  this.router = router;
58
61
  this.contexts = contexts;
59
- this.handleRouterEvent = (event) => {
62
+ this.globalExtras = {
63
+ queryParamsHandling: "merge"
64
+ };
65
+ this.$snapshot = new BehaviorSubject(emptySnapshot);
66
+ this.$component = new BehaviorSubject(null);
67
+ this.stateInfo = {
68
+ url: "",
69
+ segments: [],
70
+ components: []
71
+ };
72
+ this.router?.events
73
+ .pipe(distinctUntilChanged(), map(event => {
74
+ if (event instanceof Scroll) {
75
+ return event.routerEvent;
76
+ }
77
+ return event;
78
+ }), filter(e => e instanceof NavigationEnd))
79
+ .subscribe(() => {
60
80
  const routerStateSnapshot = this.router.routerState.snapshot;
61
81
  let snapshot = routerStateSnapshot.root;
62
82
  let context = this.contexts?.getContext("primary");
@@ -73,28 +93,14 @@ export class StateService {
73
93
  }
74
94
  snapshot = snapshot.firstChild;
75
95
  }
76
- this.comp = components[components.length - 1];
77
96
  this.stateInfo = {
78
97
  url: routerStateSnapshot.url,
79
98
  segments: segments,
80
99
  components: components
81
100
  };
82
- this.shot.next(snapshots[snapshots.length - 1]);
83
- };
84
- if (!this.router)
85
- return;
86
- this.globalExtras = {
87
- queryParamsHandling: "merge"
88
- };
89
- this.router.events
90
- .pipe(distinctUntilChanged(), filter(event => event instanceof NavigationEnd), delay(10))
91
- .subscribe(this.handleRouterEvent);
92
- this.shot = new BehaviorSubject(null);
93
- this.stateInfo = {
94
- url: "",
95
- segments: [],
96
- components: []
97
- };
101
+ this.$snapshot.next(snapshots[snapshots.length - 1]);
102
+ this.$component.next(components[components.length - 1]);
103
+ });
98
104
  }
99
105
  async reload() {
100
106
  const routerStateSnapshot = this.router.routerState.snapshot;
@@ -104,7 +110,7 @@ export class StateService {
104
110
  const resolver = this.injector.get(resolvers[key]);
105
111
  let resolved = resolver.resolve(this.snapshot, routerStateSnapshot);
106
112
  if (resolved instanceof Observable) {
107
- resolved = resolved.toPromise();
113
+ resolved = firstValueFrom(resolved);
108
114
  }
109
115
  if (resolved instanceof Promise) {
110
116
  resolved = await resolved;
@@ -137,9 +143,7 @@ export class StateService {
137
143
  });
138
144
  }
139
145
  subscribe(osOrNext) {
140
- return this.shot
141
- .pipe(skipWhile(v => v == null), debounceTime(20))
142
- .subscribe(osOrNext);
146
+ return this.$observable.subscribe(osOrNext);
143
147
  }
144
148
  openInNewWindow(tree, target) {
145
149
  if (!this.universal.isBrowser)
@@ -178,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
178
182
  }] }, { type: i2.ChildrenOutletContexts, decorators: [{
179
183
  type: Optional
180
184
  }] }] });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBRXRCLGFBQWEsRUFNYixNQUFNLEVBR1QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUF5QixNQUFNLE1BQU0sQ0FBQztBQUMvRixPQUFPLEVBQUMsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUVyRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJCLElBQUksc0JBQXNCLEVBQUUsQ0FBQztBQUNsRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQVMsRUFBQyxFQUFFLEVBQUUsRUFBRSxFQUFDLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFXLEVBQUUsQ0FBQztBQUN0QyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWlCLEVBQUUsQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVUsRUFBRSxDQUFDO0FBU3pDLE1BQU0sT0FBTyxZQUFZO0lBUXJCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBWSxFQUFFLE1BQVc7UUFDbkMsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDNUIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxN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R0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBL0pRLFlBQVk7bUhBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVTs7MEJBNERNLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIENoaWxkcmVuT3V0bGV0Q29udGV4dHMsXHJcbiAgICBEYXRhLFxyXG4gICAgTmF2aWdhdGlvbkVuZCxcclxuICAgIE5hdmlnYXRpb25FeHRyYXMsXHJcbiAgICBPdXRsZXRDb250ZXh0LFxyXG4gICAgUGFyYW1zLFxyXG4gICAgUmVzb2x2ZSxcclxuICAgIFJvdXRlLFxyXG4gICAgUm91dGVyLFxyXG4gICAgVXJsU2VnbWVudCxcclxuICAgIFVybFRyZWVcclxufSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIsIFN1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNraXBXaGlsZX0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7T2JqZWN0VXRpbHN9IGZyb20gXCIuLi91dGlscy9vYmplY3QudXRpbHNcIjtcclxuaW1wb3J0IHtJUm91dGUsIE5hdmlnYXRpb25VcmxQYXJhbX0gZnJvbSBcIi4uL2NvbW1vbi10eXBlc1wiO1xyXG5pbXBvcnQge1VuaXZlcnNhbFNlcnZpY2V9IGZyb20gXCIuL3VuaXZlcnNhbC5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgZW1wdHlTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IG5ldyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KCk7XHJcbmV4cG9ydCBjb25zdCBlbXB0eURhdGE6IERhdGEgPSB7aWQ6IFwiXCJ9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlQYXJhbXM6IFBhcmFtcyA9IHt9O1xyXG5leHBvcnQgY29uc3QgZW1wdHlTZWdtZW50czogVXJsU2VnbWVudFtdID0gW107XHJcbmV4cG9ydCBjb25zdCBlbXB0eUNvbXBvbmVudHM6IGFueVtdID0gW107XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdGF0ZUluZm8ge1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICBzZWdtZW50czogVXJsU2VnbWVudFtdO1xyXG4gICAgY29tcG9uZW50czogYW55W107XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN0YXRlU2VydmljZSB7XHJcblxyXG4gICAgcmVhZG9ubHkgZ2xvYmFsRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzO1xyXG5cclxuICAgIHByb3RlY3RlZCBzaG90OiBCZWhhdmlvclN1YmplY3Q8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD47XHJcbiAgICBwcm90ZWN0ZWQgY29tcDogYW55O1xyXG4gICAgcHJvdGVjdGVkIHN0YXRlSW5mbzogSVN0YXRlSW5mbztcclxuXHJcbiAgICBzdGF0aWMgdG9QYXRoKHJvdXRlOiBSb3V0ZSwgcGFyYW1zOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBwYXRoID0gcm91dGUucGF0aCB8fCBcIlwiO1xyXG4gICAgICAgIE9iamVjdFV0aWxzLml0ZXJhdGUocGFyYW1zLCAodmFsdWU6IGFueSwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZShgOiR7a2V5fWAsIGAke3ZhbHVlfWApO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb21wb25lbnQoKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb21wO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzbmFwc2hvdCgpOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zaG90LnZhbHVlIHx8IGVtcHR5U25hcHNob3Q7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJvdXRlKCk6IElSb3V0ZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3Qucm91dGVDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRhdGEoKTogRGF0YSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QuZGF0YSB8fCBlbXB0eURhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHBhcmFtcygpOiBQYXJhbXMge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnBhcmFtcyB8fCBlbXB0eVBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcXVlcnlQYXJhbXMoKTogUGFyYW1zIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5xdWVyeVBhcmFtcyB8fCBlbXB0eVBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgdXJsKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLnVybCB8fCBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmxTZWdtZW50cygpOiBVcmxTZWdtZW50W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby5zZWdtZW50cyB8fCBlbXB0eVNlZ21lbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBjb21wb25lbnRzKCk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8uY29tcG9uZW50cyB8fCBlbXB0eUNvbXBvbmVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHJvdXRlckNvbmZpZygpOiBJUm91dGVbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IG51bGwsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSBjb250ZXh0czogQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyA9IG51bGwpIHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm47XHJcbiAgICAgICAgdGhpcy5nbG9iYWxFeHRyYXMgPSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFwibWVyZ2VcIlxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgICAgICAgICAgZGVsYXkoMTApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmhhbmRsZVJvdXRlckV2ZW50KTtcclxuICAgICAgICB0aGlzLnNob3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+KG51bGwpO1xyXG4gICAgICAgIHRoaXMuc3RhdGVJbmZvID0ge1xyXG4gICAgICAgICAgICB1cmw6IFwiXCIsXHJcbiAgICAgICAgICAgIHNlZ21lbnRzOiBbXSxcclxuICAgICAgICAgICAgY29tcG9uZW50czogW11cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSB0aGlzLnJvdXRlLnJlc29sdmUgfHwge307XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVycyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KHJlc29sdmVyc1trZXldKSBhcyBSZXNvbHZlPGFueT47XHJcbiAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUodGhpcy5zbmFwc2hvdCwgcm91dGVyU3RhdGVTbmFwc2hvdCk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gcmVzb2x2ZWQudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHJlc29sdmVkIGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZWQgPSBhd2FpdCByZXNvbHZlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IHJlc29sdmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuYXZpZ2F0ZUJ5VXJsKHVybDogc3RyaW5nIHwgVXJsVHJlZSwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodXJsLCBuYXZpZ2F0aW9uRXh0cmFzKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBuYXZpZ2F0ZSh1cmw6IE5hdmlnYXRpb25VcmxQYXJhbSwgbmF2aWdhdGlvbkV4dHJhczogTmF2aWdhdGlvbkV4dHJhcyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJvdXRlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IFt0cmVlLCBleHRyYXNdID0gdGhpcy5jcmVhdGVVcmxUcmVlKHVybCwgbmF2aWdhdGlvbkV4dHJhcyk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0cmVlLCBleHRyYXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG9wZW4odXJsOiBOYXZpZ2F0aW9uVXJsUGFyYW0sIHRhcmdldCA9IFwiX2JsYW5rXCIsIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yb3V0ZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBbdHJlZSwgZXh0cmFzXSA9IHRoaXMuY3JlYXRlVXJsVHJlZSh1cmwsIG5hdmlnYXRpb25FeHRyYXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMub3BlbkluTmV3V2luZG93KHRyZWUsIHRhcmdldCkgfHwgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0cmVlLCBleHRyYXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZUltbWVkaWF0ZWx5KFxyXG4gICAgICAgIG5leHQ/OiAodmFsdWU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHZvaWQsXHJcbiAgICAgICAgZXJyb3I/OiAoZXJyb3I6IGFueSkgPT4gdm9pZFxyXG4gICAgKTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0LCBlcnJvclxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YnNjcmliZShvc09yTmV4dD86IFBhcnRpYWw8T2JzZXJ2ZXI8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD4+IHwgKCh2YWx1ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkgPT4gdm9pZCkpOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNob3RcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBza2lwV2hpbGUodiA9PiB2ID09IG51bGwpLFxyXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUob3NPck5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvcGVuSW5OZXdXaW5kb3codHJlZTogVXJsVHJlZSwgdGFyZ2V0OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKHRoaXMucm91dGVyLnVybCwgXCJcIik7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKTtcclxuICAgICAgICAgICAgY29uc3Qgc2VwYXJhdG9yID0gc2VyaWFsaXplZC5zdGFydHNXaXRoKFwiL1wiKSA/IFwiXCIgOiBcIi9cIjtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oYmFzZVVybCArIHNlcGFyYXRvciArIHNlcmlhbGl6ZWQsIHRhcmdldCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYENhbid0IG9wZW4gbmV3IHdpbmRvdzogJHtlfWApO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjcmVhdGVVcmxUcmVlKHVybDogTmF2aWdhdGlvblVybFBhcmFtLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogW1VybFRyZWUsIE5hdmlnYXRpb25FeHRyYXNdIHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBleHRyYXMgPSBPYmplY3QuYXNzaWduKGV4dHJhcywgdGhpcy5nbG9iYWxFeHRyYXMsIGV4dHJhcyB8fCB7fSk7XHJcbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzQXJyYXkodXJsKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUodXJsLCBleHRyYXMpLCBleHRyYXNdXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5pc1N0cmluZyh1cmwpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGhpcy5yb3V0ZXIucGFyc2VVcmwodXJsKSwgZXh0cmFzXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFt1cmwsIGV4dHJhc107XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGhhbmRsZVJvdXRlckV2ZW50ID0gKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKTogdm9pZCA9PiB7XHJcbiAgICAgICAgY29uc3Qgcm91dGVyU3RhdGVTbmFwc2hvdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90O1xyXG4gICAgICAgIGxldCBzbmFwc2hvdCA9IHJvdXRlclN0YXRlU25hcHNob3Qucm9vdDtcclxuICAgICAgICBsZXQgY29udGV4dDogT3V0bGV0Q29udGV4dCA9IHRoaXMuY29udGV4dHM/LmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgIGxldCBzZWdtZW50cyA9IHNuYXBzaG90LnVybDtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRzOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHNuYXBzaG90czogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW107XHJcbiAgICAgICAgd2hpbGUgKHNuYXBzaG90KSB7XHJcbiAgICAgICAgICAgIHNuYXBzaG90cy5wdXNoKHNuYXBzaG90KTtcclxuICAgICAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5jb25jYXQoc25hcHNob3QudXJsKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRleHQpIHtcclxuICAgICAgICAgICAgICAgIGlmIChjb250ZXh0Lm91dGxldCAmJiBjb250ZXh0Lm91dGxldC5jb21wb25lbnQpXHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGNvbnRleHQub3V0bGV0LmNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0ID0gY29udGV4dC5jaGlsZHJlbi5nZXRDb250ZXh0KFwicHJpbWFyeVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzbmFwc2hvdCA9IHNuYXBzaG90LmZpcnN0Q2hpbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29tcCA9IGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXTtcclxuICAgICAgICB0aGlzLnN0YXRlSW5mbyA9IHtcclxuICAgICAgICAgICAgdXJsOiByb3V0ZXJTdGF0ZVNuYXBzaG90LnVybCxcclxuICAgICAgICAgICAgc2VnbWVudHM6IHNlZ21lbnRzLFxyXG4gICAgICAgICAgICBjb21wb25lbnRzOiBjb21wb25lbnRzXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnNob3QubmV4dChzbmFwc2hvdHNbc25hcHNob3RzLmxlbmd0aCAtIDFdKTtcclxuICAgIH07XHJcbn1cclxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsc0JBQXNCLEVBRXRCLGFBQWEsRUFNYixNQUFNLEVBQ04sTUFBTSxFQUdULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUF5QixNQUFNLE1BQU0sQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxHQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixFQUFFLENBQUM7QUFDMUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFTLEVBQUMsRUFBRSxFQUFFLEVBQUUsRUFBQyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBVyxFQUFFLENBQUM7QUFDdEMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFpQixFQUFFLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFVLEVBQUUsQ0FBQztBQVN6QyxNQUFNLE9BQU8sWUFBWTtJQVFyQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQVksRUFBRSxNQUFXO1FBQ25DLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzVCLFdB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LENBQUE7UUFDM0QsQ0FBQztRQUNELElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQTlMUSxZQUFZO21IQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLFVBQVU7OzBCQW1FTSxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lLCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICAgIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBDaGlsZHJlbk91dGxldENvbnRleHRzLFxyXG4gICAgRGF0YSxcclxuICAgIE5hdmlnYXRpb25FbmQsXHJcbiAgICBOYXZpZ2F0aW9uRXh0cmFzLFxyXG4gICAgT3V0bGV0Q29udGV4dCxcclxuICAgIFBhcmFtcyxcclxuICAgIFJlc29sdmUsXHJcbiAgICBSb3V0ZSxcclxuICAgIFJvdXRlcixcclxuICAgIFNjcm9sbCxcclxuICAgIFVybFNlZ21lbnQsXHJcbiAgICBVcmxUcmVlXHJcbn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIE9ic2VydmVyLCBTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNraXBXaGlsZSx9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQge09iamVjdFV0aWxzfSBmcm9tIFwiLi4vdXRpbHMvb2JqZWN0LnV0aWxzXCI7XHJcbmltcG9ydCB7SVJvdXRlLCBOYXZpZ2F0aW9uVXJsUGFyYW19IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi91bml2ZXJzYWwuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVtcHR5U25hcHNob3QgPSBuZXcgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCgpO1xyXG5leHBvcnQgY29uc3QgZW1wdHlEYXRhOiBEYXRhID0ge2lkOiBcIlwifTtcclxuZXhwb3J0IGNvbnN0IGVtcHR5UGFyYW1zOiBQYXJhbXMgPSB7fTtcclxuZXhwb3J0IGNvbnN0IGVtcHR5U2VnbWVudHM6IFVybFNlZ21lbnRbXSA9IFtdO1xyXG5leHBvcnQgY29uc3QgZW1wdHlDb21wb25lbnRzOiBhbnlbXSA9IFtdO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJU3RhdGVJbmZvIHtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgc2VnbWVudHM6IFVybFNlZ21lbnRbXTtcclxuICAgIGNvbXBvbmVudHM6IGFueVtdO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGF0ZVNlcnZpY2Uge1xyXG5cclxuICAgIHJlYWRvbmx5IGdsb2JhbEV4dHJhczogTmF2aWdhdGlvbkV4dHJhcztcclxuXHJcbiAgICBwcm90ZWN0ZWQgJHNuYXBzaG90OiBCZWhhdmlvclN1YmplY3Q8QWN0aXZhdGVkUm91dGVTbmFwc2hvdD47XHJcbiAgICBwcm90ZWN0ZWQgJGNvbXBvbmVudDogQmVoYXZpb3JTdWJqZWN0PGFueT47XHJcbiAgICBwcm90ZWN0ZWQgc3RhdGVJbmZvOiBJU3RhdGVJbmZvO1xyXG5cclxuICAgIHN0YXRpYyB0b1BhdGgocm91dGU6IFJvdXRlLCBwYXJhbXM6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHBhdGggPSByb3V0ZS5wYXRoIHx8IFwiXCI7XHJcbiAgICAgICAgT2JqZWN0VXRpbHMuaXRlcmF0ZShwYXJhbXMsICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKGA6JHtrZXl9YCwgYCR7dmFsdWV9YCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHBhdGg7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHNuYXBzaG90KCk6IEFjdGl2YXRlZFJvdXRlU25hcHNob3Qge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiRzbmFwc2hvdC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuJGNvbXBvbmVudC52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcm91dGUoKTogSVJvdXRlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5yb3V0ZUNvbmZpZztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGF0YSgpOiBEYXRhIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zbmFwc2hvdC5kYXRhIHx8IGVtcHR5RGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcGFyYW1zKCk6IFBhcmFtcyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc25hcHNob3QucGFyYW1zIHx8IGVtcHR5UGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBxdWVyeVBhcmFtcygpOiBQYXJhbXMge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNuYXBzaG90LnF1ZXJ5UGFyYW1zIHx8IGVtcHR5UGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCB1cmwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluZm8udXJsIHx8IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHVybFNlZ21lbnRzKCk6IFVybFNlZ21lbnRbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbmZvLnNlZ21lbnRzIHx8IGVtcHR5U2VnbWVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGNvbXBvbmVudHMoKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5mby5jb21wb25lbnRzIHx8IGVtcHR5Q29tcG9uZW50cztcclxuICAgIH1cclxuXHJcbiAgICBnZXQgcm91dGVyQ29uZmlnKCk6IElSb3V0ZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY29uZmlnO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCAkb2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy4kc25hcHNob3QucGlwZShcclxuICAgICAgICAgICAgc2tpcFdoaWxlKHNuYXBzaG90ID0+IHNuYXBzaG90ID09PSBlbXB0eVNuYXBzaG90KSxcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1KVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgICAgICAgICByZWFkb25seSB1bml2ZXJzYWw6IFVuaXZlcnNhbFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSByb3V0ZXI6IFJvdXRlciA9IG51bGwsXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSByZWFkb25seSBjb250ZXh0czogQ2hpbGRyZW5PdXRsZXRDb250ZXh0cyA9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmdsb2JhbEV4dHJhcyA9IHtcclxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogXCJtZXJnZVwiXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLiRzbmFwc2hvdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZW1wdHlTbmFwc2hvdCk7XHJcbiAgICAgICAgdGhpcy4kY29tcG9uZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICAgICAgICB0aGlzLnN0YXRlSW5mbyA9IHtcclxuICAgICAgICAgICAgdXJsOiBcIlwiLFxyXG4gICAgICAgICAgICBzZWdtZW50czogW10sXHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IFtdXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnJvdXRlcj8uZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgU2Nyb2xsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBldmVudC5yb3V0ZXJFdmVudDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xyXG4gICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZXJTdGF0ZVNuYXBzaG90ID0gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3Q7XHJcbiAgICAgICAgICAgICAgICBsZXQgc25hcHNob3QgPSByb3V0ZXJTdGF0ZVNuYXBzaG90LnJvb3Q7XHJcbiAgICAgICAgICAgICAgICBsZXQgY29udGV4dDogT3V0bGV0Q29udGV4dCA9IHRoaXMuY29udGV4dHM/LmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgICAgICAgICAgbGV0IHNlZ21lbnRzID0gc25hcHNob3QudXJsO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50czogYW55W10gPSBbXTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNuYXBzaG90czogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFtdID0gW107XHJcbiAgICAgICAgICAgICAgICB3aGlsZSAoc25hcHNob3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBzbmFwc2hvdHMucHVzaChzbmFwc2hvdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudHMgPSBzZWdtZW50cy5jb25jYXQoc25hcHNob3QudXJsKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dC5vdXRsZXQgJiYgY29udGV4dC5vdXRsZXQuY29tcG9uZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50cy5wdXNoKGNvbnRleHQub3V0bGV0LmNvbXBvbmVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNoaWxkcmVuLmdldENvbnRleHQoXCJwcmltYXJ5XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzbmFwc2hvdCA9IHNuYXBzaG90LmZpcnN0Q2hpbGQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlSW5mbyA9IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IHJvdXRlclN0YXRlU25hcHNob3QudXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIHNlZ21lbnRzOiBzZWdtZW50cyxcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiBjb21wb25lbnRzXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kc25hcHNob3QubmV4dChzbmFwc2hvdHNbc25hcHNob3RzLmxlbmd0aCAtIDFdKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuJGNvbXBvbmVudC5uZXh0KGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHJlbG9hZCgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlU25hcHNob3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdDtcclxuICAgICAgICBjb25zdCByZXNvbHZlcnMgPSB0aGlzLnJvdXRlLnJlc29sdmUgfHwge307XHJcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHJlc29sdmVycyk7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xyXG4gICAgICAgICAgICBjb25zdCByZXNvbHZlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KHJlc29sdmVyc1trZXldKSBhcyBSZXNvbHZlPGFueT47XHJcbiAgICAgICAgICAgIGxldCByZXNvbHZlZCA9IHJlc29sdmVyLnJlc29sdmUodGhpcy5zbmFwc2hvdCwgcm91dGVyU3RhdGVTbmFwc2hvdCk7XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gZmlyc3RWYWx1ZUZyb20ocmVzb2x2ZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyZXNvbHZlZCBpbnN0YW5jZW9mIFByb21pc2UpIHtcclxuICAgICAgICAgICAgICAgIHJlc29sdmVkID0gYXdhaXQgcmVzb2x2ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kYXRhW2tleV0gPSByZXNvbHZlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmF2aWdhdGVCeVVybCh1cmw6IHN0cmluZyB8IFVybFRyZWUsIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5hdmlnYXRlKHVybCwgbmF2aWdhdGlvbkV4dHJhcyk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmF2aWdhdGUodXJsOiBOYXZpZ2F0aW9uVXJsUGFyYW0sIG5hdmlnYXRpb25FeHRyYXM6IE5hdmlnYXRpb25FeHRyYXMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yb3V0ZXIpIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjb25zdCBbdHJlZSwgZXh0cmFzXSA9IHRoaXMuY3JlYXRlVXJsVHJlZSh1cmwsIG5hdmlnYXRpb25FeHRyYXMpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnpvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodHJlZSwgZXh0cmFzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBvcGVuKHVybDogTmF2aWdhdGlvblVybFBhcmFtLCB0YXJnZXQgPSBcIl9ibGFua1wiLCBuYXZpZ2F0aW9uRXh0cmFzOiBOYXZpZ2F0aW9uRXh0cmFzID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgY29uc3QgW3RyZWUsIGV4dHJhc10gPSB0aGlzLmNyZWF0ZVVybFRyZWUodXJsLCBuYXZpZ2F0aW9uRXh0cmFzKTtcclxuICAgICAgICByZXR1cm4gdGhpcy56b25lLnJ1bigoKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wZW5Jbk5ld1dpbmRvdyh0cmVlLCB0YXJnZXQpIHx8IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodHJlZSwgZXh0cmFzKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmVJbW1lZGlhdGVseShcclxuICAgICAgICBuZXh0PzogKHZhbHVlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KSA9PiB2b2lkLFxyXG4gICAgICAgIGVycm9yPzogKGVycm9yOiBhbnkpID0+IHZvaWRcclxuICAgICk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dCwgZXJyb3JcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmUob3NPck5leHQ/OiBQYXJ0aWFsPE9ic2VydmVyPEFjdGl2YXRlZFJvdXRlU25hcHNob3Q+PiB8ICgodmFsdWU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpID0+IHZvaWQpKTogU3Vic2NyaXB0aW9uIHtcclxuICAgICAgICByZXR1cm4gdGhpcy4kb2JzZXJ2YWJsZS5zdWJzY3JpYmUob3NPck5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvcGVuSW5OZXdXaW5kb3codHJlZTogVXJsVHJlZSwgdGFyZ2V0OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMudW5pdmVyc2FsLmlzQnJvd3NlcikgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNvbnN0IGJhc2VVcmwgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKHRoaXMucm91dGVyLnVybCwgXCJcIik7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh0cmVlKTtcclxuICAgICAgICAgICAgY29uc3Qgc2VwYXJhdG9yID0gc2VyaWFsaXplZC5zdGFydHNXaXRoKFwiL1wiKSA/IFwiXCIgOiBcIi9cIjtcclxuICAgICAgICAgICAgd2luZG93Lm9wZW4oYmFzZVVybCArIHNlcGFyYXRvciArIHNlcmlhbGl6ZWQsIHRhcmdldCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYENhbid0IG9wZW4gbmV3IHdpbmRvdzogJHtlfWApO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBjcmVhdGVVcmxUcmVlKHVybDogTmF2aWdhdGlvblVybFBhcmFtLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzKTogW1VybFRyZWUsIE5hdmlnYXRpb25FeHRyYXNdIHtcclxuICAgICAgICBpZiAoIXRoaXMucm91dGVyKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBleHRyYXMgPSBPYmplY3QuYXNzaWduKGV4dHJhcywgdGhpcy5nbG9iYWxFeHRyYXMsIGV4dHJhcyB8fCB7fSk7XHJcbiAgICAgICAgaWYgKE9iamVjdFV0aWxzLmlzQXJyYXkodXJsKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gW3RoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUodXJsLCBleHRyYXMpLCBleHRyYXNdXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5pc1N0cmluZyh1cmwpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbdGhpcy5yb3V0ZXIucGFyc2VVcmwodXJsKSwgZXh0cmFzXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFt1cmwsIGV4dHJhc107XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
- export { OPTIONS_TOKEN, CanvasColor, ICON_SERVICE, LANGUAGE_SERVICE, AUTH_SERVICE, PROMISE_SERVICE, WASI_IMPLEMENTATION, StorageMode, TOASTER_SERVICE, FactoryDependencies, ObjectType, PaginationItemContext, HttpPromise, EXPRESS_REQUEST, API_SERVICE, ResourceIfContext, APP_BASE_URL, IConfiguration, CONFIG_SERVICE, BASE_CONFIG, SCRIPT_PARAMS, ROOT_ELEMENT, RESIZE_DELAY, RESIZE_STRATEGY, ERROR_HANDLER, GLOBAL_TEMPLATES, ValuedPromise } from "./ngx-utils/common-types";
1
+ export { OPTIONS_TOKEN, CanvasColor, ICON_SERVICE, LANGUAGE_SERVICE, AUTH_SERVICE, PROMISE_SERVICE, WASI_IMPLEMENTATION, StorageMode, TOASTER_SERVICE, FactoryDependencies, ObjectType, PaginationItemContext, HttpPromise, EXPRESS_REQUEST, API_SERVICE, ResourceIfContext, APP_BASE_URL, IConfiguration, CONFIG_SERVICE, BASE_CONFIG, SCRIPT_PARAMS, ROOT_ELEMENT, RESIZE_DELAY, RESIZE_STRATEGY, ERROR_HANDLER, ValuedPromise } from "./ngx-utils/common-types";
2
2
  export { AjaxRequestHandler } from "./ngx-utils/utils/ajax-request-handler";
3
3
  export { ArrayUtils } from "./ngx-utils/utils/array.utils";
4
4
  export { AuthGuard } from "./ngx-utils/utils/auth.guard";
@@ -91,4 +91,4 @@ export { UnorderedListComponent } from "./ngx-utils/components/unordered-list/un
91
91
  export { DynamicTableComponent } from "./ngx-utils/components/dynamic-table/dynamic-table.component";
92
92
  export { PaginationMenuComponent } from "./ngx-utils/components/pagination-menu/pagination-menu.component";
93
93
  export { NgxUtilsModule } from "./ngx-utils/ngx-utils.module";
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLSCxhQUFhLEVBRWIsV0FBVyxFQUVYLFlBQVksRUFNWixnQkFBZ0IsRUFLaEIsWUFBWSxFQUdaLGVBQWUsRUFLZixtQkFBbUIsRUFHbkIsV0FBVyxFQUVYLGVBQWUsRUFZZixtQkFBbUIsRUFDbkIsVUFBVSxFQVFWLHFCQUFxQixFQVFyQixXQUFXLEVBRVgsZUFBZSxFQUVmLFdBQVcsRUFZWCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGNBQWMsRUFFZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUVaLGVBQWUsRUFFZixhQUFhLEVBR2IsZ0JBQWdCLEVBR2hCLGFBQWEsRUFDaEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFtRCxlQUFlLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNoSCxPQUFPLEVBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVB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e1xyXG4gICAgVHlwZWRGYWN0b3J5UHJvdmlkZXIsXHJcbiAgICBUeXBlZFZhbHVlUHJvdmlkZXIsXHJcbiAgICBDYWNoZWRQcm92aWRlcixcclxuICAgIENhY2hlZEZhY3RvcnksXHJcbiAgICBPUFRJT05TX1RPS0VOLFxyXG4gICAgSVJlc29sdmVGYWN0b3J5LFxyXG4gICAgQ2FudmFzQ29sb3IsXHJcbiAgICBJSWNvblNlcnZpY2UsXHJcbiAgICBJQ09OX1NFUlZJQ0UsXHJcbiAgICBJVHJhbnNsYXRpb24sXHJcbiAgICBJVHJhbnNsYXRpb25zLFxyXG4gICAgSUxhbmd1YWdlU2V0dGluZyxcclxuICAgIElMYW5ndWFnZVNldHRpbmdzLFxyXG4gICAgSUxhbmd1YWdlU2VydmljZSxcclxuICAgIExBTkdVQUdFX1NFUlZJQ0UsXHJcbiAgICBJQXV0aFNlcnZpY2UsXHJcbiAgICBSb3V0ZVZhbGlkYXRvcixcclxuICAgIElSb3V0ZURhdGEsXHJcbiAgICBJUm91dGUsXHJcbiAgICBBVVRIX1NFUlZJQ0UsXHJcbiAgICBJQWNsQ29tcG9uZW50LFxyXG4gICAgSVByb21pc2VTZXJ2aWNlLFxyXG4gICAgUFJPTUlTRV9TRVJWSUNFLFxyXG4gICAgSVdhc2ksXHJcbiAgICBJV2FzbUV4cG9ydHMsXHJcbiAgICBJV2FzbSxcclxuICAgIElXYXNtQXN5bmMsXHJcbiAgICBXQVNJX0lNUExFTUVOVEFUSU9OLFxyXG4gICAgSVJvdXRlU3RhdGVJbmZvLFxyXG4gICAgTmF2aWdhdGlvblVybFBhcmFtLFxyXG4gICAgU3RvcmFnZU1vZGUsXHJcbiAgICBJVG9hc3RlclNlcnZpY2UsXHJcbiAgICBUT0FTVEVSX1NFUlZJQ0UsXHJcbiAgICBJQXN5bmNNZXNzYWdlLFxyXG4gICAgQXN5bmNNZXRob2QsXHJcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGUsXHJcbiAgICBVbm9yZGVyZWRMaXN0VGVtcGxhdGVzLFxyXG4gICAgVW5vcmRlcmVkTGlzdFN0eWxlLFxyXG4gICAgSUFqYXhSZXF1ZXN0RGV0YWlscyxcclxuICAgIEFqYXhSZXF1ZXN0Q2FsbGJhY2ssXHJcbiAgICBTY3JpcHRUeXBlLFxyXG4gICAgSVNjcmlwdFByb21pc2VzLFxyXG4gICAgSVN0eWxlUHJvbWlzZXMsXHJcbiAgICBJU2VhcmNoT2JzZXJ2YWJsZSxcclxuICAgIEZhY3RvcnlEZXBlbmRlbmNpZXMsXHJcbiAgICBPYmplY3RUeXBlLFxyXG4gICAgSVRpbWVyLFxyXG4gICAgSUV4dHJhUHJvcGVydGllcyxcclxuICAgIElHcm91cE1hcCxcclxuICAgIFRyYW5zbGF0aW9uUXVlcnksXHJcbiAgICBJUGFnZUluZm8sXHJcbiAgICBJUGFnaW5hdGlvbkRhdGEsXHJcbiAgICBQYWdpbmF0aW9uRGF0YUxvYWRlcixcclxuICAgIFBhZ2luYXRpb25JdGVtQ29udGV4dCxcclxuICAgIElIdHRwSGVhZGVycyxcclxuICAgIElIdHRwUGFyYW1zLFxyXG4gICAgSVJlcXVlc3RPcHRpb25zLFxyXG4gICAgSUlzc3VlQ29udGV4dCxcclxuICAgIElQcm9ncmVzcyxcclxuICAgIFByb2dyZXNzTGlzdGVuZXIsXHJcbiAgICBQcm9taXNlRXhlY3V0b3IsXHJcbiAgICBIdHRwUHJvbWlzZSxcclxuICAgIElIdHRwU2VydmljZSxcclxuICAgIEVYUFJFU1NfUkVRVUVTVCxcclxuICAgIElBcGlTZXJ2aWNlLFxyXG4gICAgQVBJX1NFUlZJQ0UsXHJcbiAgICBJT3BlbkFwaVNjaGVtYVByb3BlcnR5LFxyXG4gICAgSU9wZW5BcGlTY2hlbWEsXHJcbiAgICBJT3BlbkFwaVNjaGVtYXMsXHJcbiAgICBJVGFibGVPcmRlcnMsXHJcbiAgICBJVGFibGVDb2x1bW4sXHJcbiAgICBJVGFibGVDb2x1bW5zLFxyXG4gICAgVGFibGVDb2x1bW5zLFxyXG4gICAgSVRhYmxlVGVtcGxhdGUsXHJcbiAgICBJVGFibGVUZW1wbGF0ZXMsXHJcbiAgICBJVGFibGVEYXRhUXVlcnksXHJcbiAgICBUYWJsZURhdGFMb2FkZXIsXHJcbiAgICBSZXNvdXJjZUlmQ29udGV4dCxcclxuICAgIEFQUF9CQVNFX1VSTCxcclxuICAgIElDb25maWd1cmF0aW9uLFxyXG4gICAgSUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBDT05GSUdfU0VSVklDRSxcclxuICAgIEJBU0VfQ09ORklHLFxyXG4gICAgU0NSSVBUX1BBUkFNUyxcclxuICAgIFJPT1RfRUxFTUVOVCxcclxuICAgIFJFU0laRV9ERUxBWSxcclxuICAgIFJlc2l6ZUV2ZW50U3RyYXRlZ3ksXHJcbiAgICBSRVNJWkVfU1RSQVRFR1ksXHJcbiAgICBFcnJvckhhbmRsZXJDYWxsYmFjayxcclxuICAgIEVSUk9SX0hBTkRMRVIsXHJcbiAgICBHbG9iYWxDb21wb25lbnRNb2RpZmllcixcclxuICAgIElHbG9iYWxUZW1wbGF0ZXMsXHJcbiAgICBHTE9CQUxfVEVNUExBVEVTLFxyXG4gICAgQXBwSW5pdGlhbGl6ZXJGdW5jLFxyXG4gICAgSU1vZHVsZUNvbmZpZyxcclxuICAgIFZhbHVlZFByb21pc2VcclxufSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tbW9uLXR5cGVzXCI7XHJcblxyXG5leHBvcnQge0FqYXhSZXF1ZXN0SGFuZGxlcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2FqYXgtcmVxdWVzdC1oYW5kbGVyXCI7XHJcbmV4cG9ydCB7QXJyYXlVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2FycmF5LnV0aWxzXCI7XHJcbmV4cG9ydCB7QXV0aEd1YXJkfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYXV0aC5ndWFyZFwiO1xyXG5leHBvcnQge2NhY2hlZEZhY3Rvcnl9IGZyb20gXCIuL25neC11dGlscy91dGlscy9jYWNoZWQtZmFjdG9yeVwiO1xyXG5leHBvcnQge0NhbnZhc1V0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvY2FudmFzLnV0aWxzXCI7XHJcbmV4cG9ydCB7RGF0ZVV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZGF0ZS51dGlsc1wiO1xyXG5leHBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUudXRpbHNcIjtcclxuZXhwb3J0IHtHZW5lcmljVmFsdWV9IGZyb20gXCIuL25neC11dGlscy91dGlscy9nZW5lcmljLXZhbHVlXCI7XHJcbmV4cG9ydCB7RmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdCwgRmlsZVN5c3RlbUVudHJ5T3BlbkNiLCBGaWxlU3lzdGVtRW50cnl9IGZyb20gXCIuL25neC11dGlscy91dGlscy9maWxlLXN5c3RlbVwiO1xyXG5leHBvcnQge0lTaGFwZSwgUmVjdCwgQ2lyY2xlLCBQb2ludH0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2dlb21ldHJ5XCI7XHJcbmV4cG9ydCB7SW5pdGlhbGl6ZXJ9IGZyb20gXCIuL25neC11dGlscy91dGlscy9pbml0aWFsaXplclwiO1xyXG5leHBvcnQge0pTT05mbn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2pzb25mblwiO1xyXG5leHBvcnQge1JlZmxlY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3JlZmxlY3QudXRpbHNcIjtcclxuZXhwb3J0IHtMb2FkZXJVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2xvYWRlci51dGlsc1wiO1xyXG5leHBvcnQge01hdGhVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL21hdGgudXRpbHNcIjtcclxuZXhwb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5leHBvcnQge09ic2VydmFibGVVdGlscywgSVN1YnNjcmliZXJJbmZvfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvb2JzZXJ2YWJsZS51dGlsc1wiO1xyXG5leHBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvc3RyaW5nLnV0aWxzXCI7XHJcbmV4cG9ydCB7U2V0VXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9zZXQudXRpbHNcIjtcclxuZXhwb3J0IHtUaW1lclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdGltZXIudXRpbHNcIjtcclxuZXhwb3J0IHtVbmlxdWVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3VuaXF1ZS51dGlsc1wiO1xyXG5leHBvcnQge1ZlY3Rvcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3ZlY3RvclwiO1xyXG5leHBvcnQge3Byb3ZpZGVXaXRoT3B0aW9uc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3dpdGgtb3B0aW9ucy1wcm92aWRlclwiO1xyXG5cclxuZXhwb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtXYXNtU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3dhc20uc2VydmljZVwiO1xyXG5leHBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hY2wuc2VydmljZVwiO1xyXG5leHBvcnQge0FwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuY2xpZW50XCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xyXG5leHBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtMb2NhbEh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvbG9jYWwtaHR0cC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7T3BlbkFwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9vcGVuLWFwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7SVN0YXRlSW5mbywgU3RhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7U3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25zb2xlVG9hc3RlclNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJVXJsRGljdGlvbmFyeSwgVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJ9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90cmFuc2xhdGVkLXVybC5zZXJpYWxpemVyXCI7XHJcbmV4cG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9wcm9taXNlLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCB7UmVzaXplRXZlbnRQbHVnaW59IGZyb20gXCIuL25neC11dGlscy9wbHVnaW5zL3Jlc2l6ZS1ldmVudC5wbHVnaW5cIjtcclxuZXhwb3J0IHtTY3JvbGxFdmVudFBsdWdpbn0gZnJvbSBcIi4vbmd4LXV0aWxzL3BsdWdpbnMvc2Nyb2xsLWV2ZW50LnBsdWdpblwiO1xyXG5cclxuZXhwb3J0IHtDaHVua1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9jaHVuay5waXBlXCI7XHJcbmV4cG9ydCB7RW50cmllc1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGVcIjtcclxuZXhwb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlXCI7XHJcbmV4cG9ydCB7RmlsdGVyUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlXCI7XHJcbmV4cG9ydCB7RmluZFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9maW5kLnBpcGVcIjtcclxuZXhwb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZm9ybWF0LW51bWJlci5waXBlXCI7XHJcbmV4cG9ydCB7R2V0T2Zmc2V0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC1vZmZzZXQucGlwZVwiO1xyXG5leHBvcnQge0dldFR5cGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ2V0LXR5cGUucGlwZVwiO1xyXG5leHBvcnQge0dsb2JhbFRlbXBsYXRlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dsb2JhbC10ZW1wbGF0ZS5waXBlXCI7XHJcbmV4cG9ydCB7R3JvdXBCeVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9ncm91cC1ieS5waXBlXCI7XHJcbmV4cG9ydCB7SXNUeXBlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2lzLXR5cGUucGlwZVwiO1xyXG5leHBvcnQge0pvaW5QaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvam9pbi5waXBlXCI7XHJcbmV4cG9ydCB7S2V5c1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9rZXlzLnBpcGVcIjtcclxuZXhwb3J0IHtNYXBQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWFwLnBpcGVcIjtcclxuZXhwb3J0IHtNYXhQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWF4LnBpcGVcIjtcclxuZXhwb3J0IHtNaW5QaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWluLnBpcGVcIjtcclxuZXhwb3J0IHtQb3BQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcG9wLnBpcGVcIjtcclxuZXhwb3J0IHtSZWR1Y2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVkdWNlLnBpcGVcIjtcclxuZXhwb3J0IHtSZW1hcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZW1hcC5waXBlXCI7XHJcbmV4cG9ydCB7UmVwbGFjZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZXBsYWNlLnBpcGVcIjtcclxuZXhwb3J0IHtSZXZlcnNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JldmVyc2UucGlwZVwiO1xyXG5leHBvcnQge1JvdW5kUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JvdW5kLnBpcGVcIjtcclxuZXhwb3J0IHtTYWZlSHRtbFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9zYWZlLWh0bWwucGlwZVwiO1xyXG5leHBvcnQge1NoaWZ0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NoaWZ0LnBpcGVcIjtcclxuZXhwb3J0IHtTcGxpdFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9zcGxpdC5waXBlXCI7XHJcbmV4cG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcbmV4cG9ydCB7VmFsdWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3ZhbHVlcy5waXBlXCI7XHJcblxyXG5leHBvcnQge0FzeW5jTWV0aG9kQmFzZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmJhc2VcIjtcclxuZXhwb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0JhY2tncm91bmREaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2JhY2tncm91bmQuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7RHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2R5bmFtaWMtdGFibGUtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2dsb2JhbC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtJY29uRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge05neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9uZ3gtdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24taXRlbS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtSZXNvdXJjZUlmRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9yZXNvdXJjZS1pZi5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3N0aWNreS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtTdGlja3lDbGFzc0RpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvc3RpY2t5LWNsYXNzLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Vub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcblxyXG5leHBvcnQge1Vub3JkZXJlZExpc3RDb21wb25lbnR9IGZyb20gXCIuL25neC11dGlscy9jb21wb25lbnRzL3Vub3JkZXJlZC1saXN0L3Vub3JkZXJlZC1saXN0LmNvbXBvbmVudFwiO1xyXG5leHBvcnQge0R5bmFtaWNUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tcG9uZW50cy9wYWdpbmF0aW9uLW1lbnUvcGFnaW5hdGlvbi1tZW51LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHtOZ3hVdGlsc01vZHVsZX0gZnJvbSBcIi4vbmd4LXV0aWxzL25neC11dGlscy5tb2R1bGVcIjtcclxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLSCxhQUFhLEVBRWIsV0FBVyxFQUVYLFlBQVksRUFNWixnQkFBZ0IsRUFLaEIsWUFBWSxFQUdaLGVBQWUsRUFLZixtQkFBbUIsRUFHbkIsV0FBVyxFQUVYLGVBQWUsRUFZZixtQkFBbUIsRUFDbkIsVUFBVSxFQVFWLHFCQUFxQixFQVFyQixXQUFXLEVBRVgsZUFBZSxFQUVmLFdBQVcsRUFZWCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGNBQWMsRUFFZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUVaLGVBQWUsRUFFZixhQUFhLEVBSWIsYUFBYSxFQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQW1ELGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hILE9BQU8sRUFBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxlQUFlLEVBQWtCLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUUzRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDckUsT0FBTyxFQUFhLFlBQVksRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQWlCLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDdkcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRTFFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDMUQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRXpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUN6RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sa0RBQWtELENBQUM7QUFDekYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBRXhHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGdFQUFnRSxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBRXpHLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XHJcbiAgICBUeXBlZEZhY3RvcnlQcm92aWRlcixcclxuICAgIFR5cGVkVmFsdWVQcm92aWRlcixcclxuICAgIENhY2hlZFByb3ZpZGVyLFxyXG4gICAgQ2FjaGVkRmFjdG9yeSxcclxuICAgIE9QVElPTlNfVE9LRU4sXHJcbiAgICBJUmVzb2x2ZUZhY3RvcnksXHJcbiAgICBDYW52YXNDb2xvcixcclxuICAgIElJY29uU2VydmljZSxcclxuICAgIElDT05fU0VSVklDRSxcclxuICAgIElUcmFuc2xhdGlvbixcclxuICAgIElUcmFuc2xhdGlvbnMsXHJcbiAgICBJTGFuZ3VhZ2VTZXR0aW5nLFxyXG4gICAgSUxhbmd1YWdlU2V0dGluZ3MsXHJcbiAgICBJTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgTEFOR1VBR0VfU0VSVklDRSxcclxuICAgIElBdXRoU2VydmljZSxcclxuICAgIFJvdXRlVmFsaWRhdG9yLFxyXG4gICAgSVJvdXRlRGF0YSxcclxuICAgIElSb3V0ZSxcclxuICAgIEFVVEhfU0VSVklDRSxcclxuICAgIElBY2xDb21wb25lbnQsXHJcbiAgICBJUHJvbWlzZVNlcnZpY2UsXHJcbiAgICBQUk9NSVNFX1NFUlZJQ0UsXHJcbiAgICBJV2FzaSxcclxuICAgIElXYXNtRXhwb3J0cyxcclxuICAgIElXYXNtLFxyXG4gICAgSVdhc21Bc3luYyxcclxuICAgIFdBU0lfSU1QTEVNRU5UQVRJT04sXHJcbiAgICBJUm91dGVTdGF0ZUluZm8sXHJcbiAgICBOYXZpZ2F0aW9uVXJsUGFyYW0sXHJcbiAgICBTdG9yYWdlTW9kZSxcclxuICAgIElUb2FzdGVyU2VydmljZSxcclxuICAgIFRPQVNURVJfU0VSVklDRSxcclxuICAgIElBc3luY01lc3NhZ2UsXHJcbiAgICBBc3luY01ldGhvZCxcclxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZSxcclxuICAgIFVub3JkZXJlZExpc3RUZW1wbGF0ZXMsXHJcbiAgICBVbm9yZGVyZWRMaXN0U3R5bGUsXHJcbiAgICBJQWpheFJlcXVlc3REZXRhaWxzLFxyXG4gICAgQWpheFJlcXVlc3RDYWxsYmFjayxcclxuICAgIFNjcmlwdFR5cGUsXHJcbiAgICBJU2NyaXB0UHJvbWlzZXMsXHJcbiAgICBJU3R5bGVQcm9taXNlcyxcclxuICAgIElTZWFyY2hPYnNlcnZhYmxlLFxyXG4gICAgRmFjdG9yeURlcGVuZGVuY2llcyxcclxuICAgIE9iamVjdFR5cGUsXHJcbiAgICBJVGltZXIsXHJcbiAgICBJRXh0cmFQcm9wZXJ0aWVzLFxyXG4gICAgSUdyb3VwTWFwLFxyXG4gICAgVHJhbnNsYXRpb25RdWVyeSxcclxuICAgIElQYWdlSW5mbyxcclxuICAgIElQYWdpbmF0aW9uRGF0YSxcclxuICAgIFBhZ2luYXRpb25EYXRhTG9hZGVyLFxyXG4gICAgUGFnaW5hdGlvbkl0ZW1Db250ZXh0LFxyXG4gICAgSUh0dHBIZWFkZXJzLFxyXG4gICAgSUh0dHBQYXJhbXMsXHJcbiAgICBJUmVxdWVzdE9wdGlvbnMsXHJcbiAgICBJSXNzdWVDb250ZXh0LFxyXG4gICAgSVByb2dyZXNzLFxyXG4gICAgUHJvZ3Jlc3NMaXN0ZW5lcixcclxuICAgIFByb21pc2VFeGVjdXRvcixcclxuICAgIEh0dHBQcm9taXNlLFxyXG4gICAgSUh0dHBTZXJ2aWNlLFxyXG4gICAgRVhQUkVTU19SRVFVRVNULFxyXG4gICAgSUFwaVNlcnZpY2UsXHJcbiAgICBBUElfU0VSVklDRSxcclxuICAgIElPcGVuQXBpU2NoZW1hUHJvcGVydHksXHJcbiAgICBJT3BlbkFwaVNjaGVtYSxcclxuICAgIElPcGVuQXBpU2NoZW1hcyxcclxuICAgIElUYWJsZU9yZGVycyxcclxuICAgIElUYWJsZUNvbHVtbixcclxuICAgIElUYWJsZUNvbHVtbnMsXHJcbiAgICBUYWJsZUNvbHVtbnMsXHJcbiAgICBJVGFibGVUZW1wbGF0ZSxcclxuICAgIElUYWJsZVRlbXBsYXRlcyxcclxuICAgIElUYWJsZURhdGFRdWVyeSxcclxuICAgIFRhYmxlRGF0YUxvYWRlcixcclxuICAgIFJlc291cmNlSWZDb250ZXh0LFxyXG4gICAgQVBQX0JBU0VfVVJMLFxyXG4gICAgSUNvbmZpZ3VyYXRpb24sXHJcbiAgICBJQ29uZmlnU2VydmljZSxcclxuICAgIENPTkZJR19TRVJWSUNFLFxyXG4gICAgQkFTRV9DT05GSUcsXHJcbiAgICBTQ1JJUFRfUEFSQU1TLFxyXG4gICAgUk9PVF9FTEVNRU5ULFxyXG4gICAgUkVTSVpFX0RFTEFZLFxyXG4gICAgUmVzaXplRXZlbnRTdHJhdGVneSxcclxuICAgIFJFU0laRV9TVFJBVEVHWSxcclxuICAgIEVycm9ySGFuZGxlckNhbGxiYWNrLFxyXG4gICAgRVJST1JfSEFORExFUixcclxuICAgIEdsb2JhbENvbXBvbmVudE1vZGlmaWVyLFxyXG4gICAgQXBwSW5pdGlhbGl6ZXJGdW5jLFxyXG4gICAgSU1vZHVsZUNvbmZpZyxcclxuICAgIFZhbHVlZFByb21pc2VcclxufSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tbW9uLXR5cGVzXCI7XHJcblxyXG5leHBvcnQge0FqYXhSZXF1ZXN0SGFuZGxlcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2FqYXgtcmVxdWVzdC1oYW5kbGVyXCI7XHJcbmV4cG9ydCB7QXJyYXlVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2FycmF5LnV0aWxzXCI7XHJcbmV4cG9ydCB7QXV0aEd1YXJkfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvYXV0aC5ndWFyZFwiO1xyXG5leHBvcnQge2NhY2hlZEZhY3Rvcnl9IGZyb20gXCIuL25neC11dGlscy91dGlscy9jYWNoZWQtZmFjdG9yeVwiO1xyXG5leHBvcnQge0NhbnZhc1V0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvY2FudmFzLnV0aWxzXCI7XHJcbmV4cG9ydCB7RGF0ZVV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvZGF0ZS51dGlsc1wiO1xyXG5leHBvcnQge0ZpbGVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2ZpbGUudXRpbHNcIjtcclxuZXhwb3J0IHtHZW5lcmljVmFsdWV9IGZyb20gXCIuL25neC11dGlscy91dGlscy9nZW5lcmljLXZhbHVlXCI7XHJcbmV4cG9ydCB7RmlsZVN5c3RlbUVudHJ5T3BlblJlc3VsdCwgRmlsZVN5c3RlbUVudHJ5T3BlbkNiLCBGaWxlU3lzdGVtRW50cnl9IGZyb20gXCIuL25neC11dGlscy91dGlscy9maWxlLXN5c3RlbVwiO1xyXG5leHBvcnQge0lTaGFwZSwgUmVjdCwgQ2lyY2xlLCBQb2ludH0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2dlb21ldHJ5XCI7XHJcbmV4cG9ydCB7SW5pdGlhbGl6ZXJ9IGZyb20gXCIuL25neC11dGlscy91dGlscy9pbml0aWFsaXplclwiO1xyXG5leHBvcnQge0pTT05mbn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2pzb25mblwiO1xyXG5leHBvcnQge1JlZmxlY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3JlZmxlY3QudXRpbHNcIjtcclxuZXhwb3J0IHtMb2FkZXJVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL2xvYWRlci51dGlsc1wiO1xyXG5leHBvcnQge01hdGhVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL21hdGgudXRpbHNcIjtcclxuZXhwb3J0IHtPYmplY3RVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL29iamVjdC51dGlsc1wiO1xyXG5leHBvcnQge09ic2VydmFibGVVdGlscywgSVN1YnNjcmliZXJJbmZvfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvb2JzZXJ2YWJsZS51dGlsc1wiO1xyXG5leHBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvc3RyaW5nLnV0aWxzXCI7XHJcbmV4cG9ydCB7U2V0VXRpbHN9IGZyb20gXCIuL25neC11dGlscy91dGlscy9zZXQudXRpbHNcIjtcclxuZXhwb3J0IHtUaW1lclV0aWxzfSBmcm9tIFwiLi9uZ3gtdXRpbHMvdXRpbHMvdGltZXIudXRpbHNcIjtcclxuZXhwb3J0IHtVbmlxdWVVdGlsc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3VuaXF1ZS51dGlsc1wiO1xyXG5leHBvcnQge1ZlY3Rvcn0gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3ZlY3RvclwiO1xyXG5leHBvcnQge3Byb3ZpZGVXaXRoT3B0aW9uc30gZnJvbSBcIi4vbmd4LXV0aWxzL3V0aWxzL3dpdGgtb3B0aW9ucy1wcm92aWRlclwiO1xyXG5cclxuZXhwb3J0IHtVbml2ZXJzYWxTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvdW5pdmVyc2FsLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtXYXNtU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3dhc20uc2VydmljZVwiO1xyXG5leHBvcnQge0FjbFNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hY2wuc2VydmljZVwiO1xyXG5leHBvcnQge0FwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9hcGkuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0F1dGhTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYXV0aC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBDbGllbnR9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9iYXNlLWh0dHAuY2xpZW50XCI7XHJcbmV4cG9ydCB7QmFzZUh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvY29uZmlnLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtFcnJvckhhbmRsZXJTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7RXZlbnRzU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7Rm9ybWF0dGVyU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2Zvcm1hdHRlci5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvZ2xvYmFsLXRlbXBsYXRlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJY29uU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2ljb24uc2VydmljZVwiO1xyXG5leHBvcnQge0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL2xhbmd1YWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtMb2NhbEh0dHBTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvbG9jYWwtaHR0cC5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7T3BlbkFwaVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9vcGVuLWFwaS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7SVN0YXRlSW5mbywgU3RhdGVTZXJ2aWNlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvc2VydmljZXMvc3RhdGUuc2VydmljZVwiO1xyXG5leHBvcnQge1N0YXRpY0xhbmd1YWdlU2VydmljZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3NlcnZpY2VzL3N0YXRpYy1sYW5ndWFnZS5zZXJ2aWNlXCI7XHJcbmV4cG9ydCB7U3RvcmFnZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtDb25zb2xlVG9hc3RlclNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90b2FzdGVyLnNlcnZpY2VcIjtcclxuZXhwb3J0IHtJVXJsRGljdGlvbmFyeSwgVHJhbnNsYXRlZFVybFNlcmlhbGl6ZXJ9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy90cmFuc2xhdGVkLXVybC5zZXJpYWxpemVyXCI7XHJcbmV4cG9ydCB7UHJvbWlzZVNlcnZpY2V9IGZyb20gXCIuL25neC11dGlscy9zZXJ2aWNlcy9wcm9taXNlLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCB7UmVzaXplRXZlbnRQbHVnaW59IGZyb20gXCIuL25neC11dGlscy9wbHVnaW5zL3Jlc2l6ZS1ldmVudC5wbHVnaW5cIjtcclxuZXhwb3J0IHtTY3JvbGxFdmVudFBsdWdpbn0gZnJvbSBcIi4vbmd4LXV0aWxzL3BsdWdpbnMvc2Nyb2xsLWV2ZW50LnBsdWdpblwiO1xyXG5cclxuZXhwb3J0IHtDaHVua1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9jaHVuay5waXBlXCI7XHJcbmV4cG9ydCB7RW50cmllc1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9lbnRyaWVzLnBpcGVcIjtcclxuZXhwb3J0IHtFeHRyYUl0ZW1Qcm9wZXJ0aWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2V4dHJhLWl0ZW0tcHJvcGVydGllcy5waXBlXCI7XHJcbmV4cG9ydCB7RmlsdGVyUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2ZpbHRlci5waXBlXCI7XHJcbmV4cG9ydCB7RmluZFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9maW5kLnBpcGVcIjtcclxuZXhwb3J0IHtGb3JtYXROdW1iZXJQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZm9ybWF0LW51bWJlci5waXBlXCI7XHJcbmV4cG9ydCB7R2V0T2Zmc2V0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dldC1vZmZzZXQucGlwZVwiO1xyXG5leHBvcnQge0dldFR5cGVQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvZ2V0LXR5cGUucGlwZVwiO1xyXG5leHBvcnQge0dsb2JhbFRlbXBsYXRlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2dsb2JhbC10ZW1wbGF0ZS5waXBlXCI7XHJcbmV4cG9ydCB7R3JvdXBCeVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9ncm91cC1ieS5waXBlXCI7XHJcbmV4cG9ydCB7SXNUeXBlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL2lzLXR5cGUucGlwZVwiO1xyXG5leHBvcnQge0pvaW5QaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvam9pbi5waXBlXCI7XHJcbmV4cG9ydCB7S2V5c1BpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9rZXlzLnBpcGVcIjtcclxuZXhwb3J0IHtNYXBQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWFwLnBpcGVcIjtcclxuZXhwb3J0IHtNYXhQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWF4LnBpcGVcIjtcclxuZXhwb3J0IHtNaW5QaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvbWluLnBpcGVcIjtcclxuZXhwb3J0IHtQb3BQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcG9wLnBpcGVcIjtcclxuZXhwb3J0IHtSZWR1Y2VQaXBlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvcGlwZXMvcmVkdWNlLnBpcGVcIjtcclxuZXhwb3J0IHtSZW1hcFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZW1hcC5waXBlXCI7XHJcbmV4cG9ydCB7UmVwbGFjZVBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9yZXBsYWNlLnBpcGVcIjtcclxuZXhwb3J0IHtSZXZlcnNlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JldmVyc2UucGlwZVwiO1xyXG5leHBvcnQge1JvdW5kUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3JvdW5kLnBpcGVcIjtcclxuZXhwb3J0IHtTYWZlSHRtbFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9zYWZlLWh0bWwucGlwZVwiO1xyXG5leHBvcnQge1NoaWZ0UGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3NoaWZ0LnBpcGVcIjtcclxuZXhwb3J0IHtTcGxpdFBpcGV9IGZyb20gXCIuL25neC11dGlscy9waXBlcy9zcGxpdC5waXBlXCI7XHJcbmV4cG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcbmV4cG9ydCB7VmFsdWVzUGlwZX0gZnJvbSBcIi4vbmd4LXV0aWxzL3BpcGVzL3ZhbHVlcy5waXBlXCI7XHJcblxyXG5leHBvcnQge0FzeW5jTWV0aG9kQmFzZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmJhc2VcIjtcclxuZXhwb3J0IHtBc3luY01ldGhvZERpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvYXN5bmMtbWV0aG9kLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge0JhY2tncm91bmREaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2JhY2tncm91bmQuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7RHluYW1pY1RhYmxlVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2R5bmFtaWMtdGFibGUtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7R2xvYmFsVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL2dsb2JhbC10ZW1wbGF0ZS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtJY29uRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge05neFRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9uZ3gtdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24uZGlyZWN0aXZlXCI7XHJcbmV4cG9ydCB7UGFnaW5hdGlvbkl0ZW1EaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3BhZ2luYXRpb24taXRlbS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtSZXNvdXJjZUlmRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy9yZXNvdXJjZS1pZi5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtTdGlja3lEaXJlY3RpdmV9IGZyb20gXCIuL25neC11dGlscy9kaXJlY3RpdmVzL3N0aWNreS5kaXJlY3RpdmVcIjtcclxuZXhwb3J0IHtTdGlja3lDbGFzc0RpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvc3RpY2t5LWNsYXNzLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Vub3JkZXJlZExpc3RJdGVtRGlyZWN0aXZlfSBmcm9tIFwiLi9uZ3gtdXRpbHMvZGlyZWN0aXZlcy91bm9yZGVyZWQtbGlzdC1pdGVtLmRpcmVjdGl2ZVwiO1xyXG5leHBvcnQge1Vub3JkZXJlZExpc3RUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSBcIi4vbmd4LXV0aWxzL2RpcmVjdGl2ZXMvdW5vcmRlcmVkLWxpc3QtdGVtcGxhdGUuZGlyZWN0aXZlXCI7XHJcblxyXG5leHBvcnQge1Vub3JkZXJlZExpc3RDb21wb25lbnR9IGZyb20gXCIuL25neC11dGlscy9jb21wb25lbnRzL3Vub3JkZXJlZC1saXN0L3Vub3JkZXJlZC1saXN0LmNvbXBvbmVudFwiO1xyXG5leHBvcnQge0R5bmFtaWNUYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4vbmd4LXV0aWxzL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudFwiO1xyXG5leHBvcnQge1BhZ2luYXRpb25NZW51Q29tcG9uZW50fSBmcm9tIFwiLi9uZ3gtdXRpbHMvY29tcG9uZW50cy9wYWdpbmF0aW9uLW1lbnUvcGFnaW5hdGlvbi1tZW51LmNvbXBvbmVudFwiO1xyXG5cclxuZXhwb3J0IHtOZ3hVdGlsc01vZHVsZX0gZnJvbSBcIi4vbmd4LXV0aWxzL25neC11dGlscy5tb2R1bGVcIjtcclxuIl19
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, NgZone, Pipe, Directive, Input, Output, HostBinding, HostListener, Component, ContentChildren, ViewChild, ContentChild, APP_INITIALIZER, NgModule } from '@angular/core';
2
+ import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, Injector, EventEmitter, isDevMode, ErrorHandler, NgZone, Pipe, Directive, Input, Output, HostBinding, HostListener, Component, ContentChildren, ViewChild, ContentChild, APP_INITIALIZER, makeEnvironmentProviders, NgModule } from '@angular/core';
3
3
  import 'reflect-metadata';
4
4
  import * as i2 from '@angular/router';
5
- import { ActivatedRouteSnapshot, NavigationEnd, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer } from '@angular/router';
6
- import { filter, BehaviorSubject, Observable, debounceTime, Subject, Subscription, from, TimeoutError, combineLatest } from 'rxjs';
7
- import { distinctUntilChanged, delay, skipWhile, first, mergeMap, timeout, map } from 'rxjs/operators';
5
+ import { ActivatedRouteSnapshot, Scroll, NavigationEnd, DefaultUrlSerializer, UrlTree, UrlSegmentGroup, UrlSegment, UrlSerializer } from '@angular/router';
6
+ import { BehaviorSubject, Observable, firstValueFrom, Subject, Subscription, from, TimeoutError, combineLatest } from 'rxjs';
7
+ import { skipWhile, debounceTime, distinctUntilChanged, map, filter, first, mergeMap, timeout } from 'rxjs/operators';
8
8
  import * as i1$3 from '@angular/common';
9
9
  import { isPlatformBrowser, isPlatformServer, DOCUMENT, APP_BASE_HREF, CommonModule } from '@angular/common';
10
10
  import * as i1 from 'ngx-device-detector';
@@ -486,7 +486,6 @@ const ROOT_ELEMENT = new InjectionToken("app-root-element");
486
486
  const RESIZE_DELAY = new InjectionToken("resize-event-delay");
487
487
  const RESIZE_STRATEGY = new InjectionToken("resize-event-strategy");
488
488
  const ERROR_HANDLER = new InjectionToken("error-handler-callback");
489
- const GLOBAL_TEMPLATES = new InjectionToken("global-templates");
490
489
  // --- Valued promise ---
491
490
  class ValuedPromise extends Promise {
492
491
  }
@@ -726,11 +725,11 @@ class StateService {
726
725
  });
727
726
  return path;
728
727
  }
729
- get component() {
730
- return this.comp;
731
- }
732
728
  get snapshot() {
733
- return this.shot.value || emptySnapshot;
729
+ return this.$snapshot.value;
730
+ }
731
+ get component() {
732
+ return this.$component.value;
734
733
  }
735
734
  get route() {
736
735
  return this.snapshot.routeConfig;
@@ -756,13 +755,33 @@ class StateService {
756
755
  get routerConfig() {
757
756
  return this.router.config;
758
757
  }
758
+ get $observable() {
759
+ return this.$snapshot.pipe(skipWhile(snapshot => snapshot === emptySnapshot), debounceTime(25));
760
+ }
759
761
  constructor(injector, zone, universal, router = null, contexts = null) {
760
762
  this.injector = injector;
761
763
  this.zone = zone;
762
764
  this.universal = universal;
763
765
  this.router = router;
764
766
  this.contexts = contexts;
765
- this.handleRouterEvent = (event) => {
767
+ this.globalExtras = {
768
+ queryParamsHandling: "merge"
769
+ };
770
+ this.$snapshot = new BehaviorSubject(emptySnapshot);
771
+ this.$component = new BehaviorSubject(null);
772
+ this.stateInfo = {
773
+ url: "",
774
+ segments: [],
775
+ components: []
776
+ };
777
+ this.router?.events
778
+ .pipe(distinctUntilChanged(), map(event => {
779
+ if (event instanceof Scroll) {
780
+ return event.routerEvent;
781
+ }
782
+ return event;
783
+ }), filter(e => e instanceof NavigationEnd))
784
+ .subscribe(() => {
766
785
  const routerStateSnapshot = this.router.routerState.snapshot;
767
786
  let snapshot = routerStateSnapshot.root;
768
787
  let context = this.contexts?.getContext("primary");
@@ -779,28 +798,14 @@ class StateService {
779
798
  }
780
799
  snapshot = snapshot.firstChild;
781
800
  }
782
- this.comp = components[components.length - 1];
783
801
  this.stateInfo = {
784
802
  url: routerStateSnapshot.url,
785
803
  segments: segments,
786
804
  components: components
787
805
  };
788
- this.shot.next(snapshots[snapshots.length - 1]);
789
- };
790
- if (!this.router)
791
- return;
792
- this.globalExtras = {
793
- queryParamsHandling: "merge"
794
- };
795
- this.router.events
796
- .pipe(distinctUntilChanged(), filter(event => event instanceof NavigationEnd), delay(10))
797
- .subscribe(this.handleRouterEvent);
798
- this.shot = new BehaviorSubject(null);
799
- this.stateInfo = {
800
- url: "",
801
- segments: [],
802
- components: []
803
- };
806
+ this.$snapshot.next(snapshots[snapshots.length - 1]);
807
+ this.$component.next(components[components.length - 1]);
808
+ });
804
809
  }
805
810
  async reload() {
806
811
  const routerStateSnapshot = this.router.routerState.snapshot;
@@ -810,7 +815,7 @@ class StateService {
810
815
  const resolver = this.injector.get(resolvers[key]);
811
816
  let resolved = resolver.resolve(this.snapshot, routerStateSnapshot);
812
817
  if (resolved instanceof Observable) {
813
- resolved = resolved.toPromise();
818
+ resolved = firstValueFrom(resolved);
814
819
  }
815
820
  if (resolved instanceof Promise) {
816
821
  resolved = await resolved;
@@ -843,9 +848,7 @@ class StateService {
843
848
  });
844
849
  }
845
850
  subscribe(osOrNext) {
846
- return this.shot
847
- .pipe(skipWhile(v => v == null), debounceTime(20))
848
- .subscribe(osOrNext);
851
+ return this.$observable.subscribe(osOrNext);
849
852
  }
850
853
  openInNewWindow(tree, target) {
851
854
  if (!this.universal.isBrowser)
@@ -3971,7 +3974,7 @@ class GlobalTemplatePipe {
3971
3974
  }
3972
3975
  return this.cachedTemplate;
3973
3976
  }
3974
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplatePipe, deps: [{ token: GLOBAL_TEMPLATES }], target: i0.ɵɵFactoryTarget.Pipe }); }
3977
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplatePipe, deps: [{ token: GlobalTemplateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
3975
3978
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplatePipe, name: "globalTemplate", pure: false }); }
3976
3979
  }
3977
3980
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplatePipe, decorators: [{
@@ -3980,10 +3983,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
3980
3983
  pure: false,
3981
3984
  name: "globalTemplate"
3982
3985
  }]
3983
- }], ctorParameters: () => [{ type: undefined, decorators: [{
3984
- type: Inject,
3985
- args: [GLOBAL_TEMPLATES]
3986
- }] }] });
3986
+ }], ctorParameters: () => [{ type: GlobalTemplateService }] });
3987
3987
 
3988
3988
  class GroupByPipe {
3989
3989
  transform(records, column, map = null) {
@@ -4579,7 +4579,7 @@ class GlobalTemplateDirective {
4579
4579
  ngOnDestroy() {
4580
4580
  this.globalTemplates.remove(this.id);
4581
4581
  }
4582
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplateDirective, deps: [{ token: GLOBAL_TEMPLATES }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplateDirective, deps: [{ token: GlobalTemplateService }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
4583
4583
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: GlobalTemplateDirective, selector: "[globalTemplate]", inputs: { id: ["globalTemplate", "id"] }, ngImport: i0 }); }
4584
4584
  }
4585
4585
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GlobalTemplateDirective, decorators: [{
@@ -4587,10 +4587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
4587
4587
  args: [{
4588
4588
  selector: "[globalTemplate]"
4589
4589
  }]
4590
- }], ctorParameters: () => [{ type: undefined, decorators: [{
4591
- type: Inject,
4592
- args: [GLOBAL_TEMPLATES]
4593
- }] }, { type: i0.TemplateRef }], propDecorators: { id: [{
4590
+ }], ctorParameters: () => [{ type: GlobalTemplateService }, { type: i0.TemplateRef }], propDecorators: { id: [{
4594
4591
  type: Input,
4595
4592
  args: ["globalTemplate"]
4596
4593
  }] } });
@@ -5494,6 +5491,7 @@ const providers = [
5494
5491
  UniversalService,
5495
5492
  WasmService,
5496
5493
  DeviceDetectorService,
5494
+ GlobalTemplateService,
5497
5495
  {
5498
5496
  provide: EVENT_MANAGER_PLUGINS,
5499
5497
  useClass: ResizeEventPlugin,
@@ -5715,78 +5713,80 @@ function loadBaseHref(baseUrl) {
5715
5713
  }
5716
5714
  }
5717
5715
  class NgxUtilsModule {
5716
+ static getProviders(config) {
5717
+ return [
5718
+ ...providers,
5719
+ {
5720
+ provide: API_SERVICE,
5721
+ useExisting: (!config ? null : config.apiService) || ApiService
5722
+ },
5723
+ {
5724
+ provide: AUTH_SERVICE,
5725
+ useExisting: (!config ? null : config.authService) || StaticAuthService
5726
+ },
5727
+ {
5728
+ provide: ICON_SERVICE,
5729
+ useExisting: (!config ? null : config.iconService) || IconService
5730
+ },
5731
+ {
5732
+ provide: LANGUAGE_SERVICE,
5733
+ useExisting: (!config ? null : config.languageService) || StaticLanguageService
5734
+ },
5735
+ {
5736
+ provide: TOASTER_SERVICE,
5737
+ useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
5738
+ },
5739
+ {
5740
+ provide: PROMISE_SERVICE,
5741
+ useExisting: (!config ? null : config.promiseService) || PromiseService
5742
+ },
5743
+ {
5744
+ provide: CONFIG_SERVICE,
5745
+ useExisting: (!config ? null : config.configService) || ConfigService
5746
+ },
5747
+ {
5748
+ provide: WASI_IMPLEMENTATION,
5749
+ useExisting: (!config ? null : config.wasiImplementation) || Wasi
5750
+ },
5751
+ {
5752
+ provide: APP_BASE_URL,
5753
+ useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
5754
+ deps: [Injector]
5755
+ },
5756
+ {
5757
+ provide: ROOT_ELEMENT,
5758
+ useValue: null
5759
+ },
5760
+ {
5761
+ provide: RESIZE_DELAY,
5762
+ useValue: (!config ? null : config.resizeDelay) ?? 50,
5763
+ },
5764
+ {
5765
+ provide: RESIZE_STRATEGY,
5766
+ useValue: (!config ? null : config.resizeStrategy) ?? "object",
5767
+ },
5768
+ {
5769
+ provide: APP_INITIALIZER,
5770
+ useFactory: (!config ? null : config.initializeApp) || loadConfig,
5771
+ multi: true,
5772
+ deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
5773
+ },
5774
+ {
5775
+ provide: APP_BASE_HREF,
5776
+ useFactory: loadBaseHref,
5777
+ deps: [APP_BASE_URL]
5778
+ }
5779
+ ];
5780
+ }
5718
5781
  static forRoot(config) {
5719
5782
  return {
5720
5783
  ngModule: NgxUtilsModule,
5721
- providers: [
5722
- ...providers,
5723
- {
5724
- provide: API_SERVICE,
5725
- useExisting: (!config ? null : config.apiService) || ApiService
5726
- },
5727
- {
5728
- provide: AUTH_SERVICE,
5729
- useExisting: (!config ? null : config.authService) || StaticAuthService
5730
- },
5731
- {
5732
- provide: ICON_SERVICE,
5733
- useExisting: (!config ? null : config.iconService) || IconService
5734
- },
5735
- {
5736
- provide: LANGUAGE_SERVICE,
5737
- useExisting: (!config ? null : config.languageService) || StaticLanguageService
5738
- },
5739
- {
5740
- provide: TOASTER_SERVICE,
5741
- useExisting: (!config ? null : config.toasterService) || ConsoleToasterService
5742
- },
5743
- {
5744
- provide: PROMISE_SERVICE,
5745
- useExisting: (!config ? null : config.promiseService) || PromiseService
5746
- },
5747
- {
5748
- provide: CONFIG_SERVICE,
5749
- useExisting: (!config ? null : config.configService) || ConfigService
5750
- },
5751
- {
5752
- provide: GLOBAL_TEMPLATES,
5753
- useExisting: (!config ? null : config.globalTemplates) || GlobalTemplateService
5754
- },
5755
- {
5756
- provide: WASI_IMPLEMENTATION,
5757
- useExisting: (!config ? null : config.wasiImplementation) || Wasi
5758
- },
5759
- {
5760
- provide: APP_BASE_URL,
5761
- useFactory: (!config ? null : config.baseUrl) || loadBaseUrl,
5762
- deps: [Injector]
5763
- },
5764
- {
5765
- provide: ROOT_ELEMENT,
5766
- useValue: null
5767
- },
5768
- {
5769
- provide: RESIZE_DELAY,
5770
- useValue: (!config ? null : config.resizeDelay) ?? 50,
5771
- },
5772
- {
5773
- provide: RESIZE_STRATEGY,
5774
- useValue: (!config ? null : config.resizeStrategy) ?? "object",
5775
- },
5776
- {
5777
- provide: APP_INITIALIZER,
5778
- useFactory: (!config ? null : config.initializeApp) || loadConfig,
5779
- multi: true,
5780
- deps: [(!config ? null : config.initializeApp) ? Injector : CONFIG_SERVICE]
5781
- },
5782
- {
5783
- provide: APP_BASE_HREF,
5784
- useFactory: loadBaseHref,
5785
- deps: [APP_BASE_URL]
5786
- }
5787
- ]
5784
+ providers: NgxUtilsModule.getProviders(config)
5788
5785
  };
5789
5786
  }
5787
+ static provideUtils(config) {
5788
+ return makeEnvironmentProviders(NgxUtilsModule.getProviders(config));
5789
+ }
5790
5790
  constructor() {
5791
5791
  }
5792
5792
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxUtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -5821,5 +5821,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
5821
5821
  * Generated bundle index. Do not edit.
5822
5822
  */
5823
5823
 
5824
- export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseHttpClient, BaseHttpService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChunkPipe, Circle, ConfigService, ConsoleToasterService, DateUtils, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FileSystemEntry, FileUtils, FilterPipe, FindPipe, FormatNumberPipe, FormatterService, GLOBAL_TEMPLATES, GenericValue, GetOffsetPipe, GetTypePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, Initializer, IsTypePipe, JSONfn, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShiftPipe, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, ValuedPromise, ValuesPipe, Vector, WASI_IMPLEMENTATION, WasmService, cachedFactory, provideWithOptions };
5824
+ export { API_SERVICE, APP_BASE_URL, AUTH_SERVICE, AclService, AjaxRequestHandler, ApiService, ArrayUtils, AsyncMethodBase, AsyncMethodDirective, AuthGuard, BASE_CONFIG, BackgroundDirective, BaseHttpClient, BaseHttpService, CONFIG_SERVICE, CanvasColor, CanvasUtils, ChunkPipe, Circle, ConfigService, ConsoleToasterService, DateUtils, DynamicTableComponent, DynamicTableTemplateDirective, ERROR_HANDLER, EXPRESS_REQUEST, EntriesPipe, ErrorHandlerService, EventsService, ExtraItemPropertiesPipe, FactoryDependencies, FileSystemEntry, FileUtils, FilterPipe, FindPipe, FormatNumberPipe, FormatterService, GenericValue, GetOffsetPipe, GetTypePipe, GlobalTemplateDirective, GlobalTemplatePipe, GlobalTemplateService, GroupByPipe, HttpPromise, ICON_SERVICE, IConfiguration, IconDirective, IconService, Initializer, IsTypePipe, JSONfn, JoinPipe, KeysPipe, LANGUAGE_SERVICE, LanguageService, LoaderUtils, LocalHttpService, MapPipe, MathUtils, MaxPipe, MinPipe, NgxTemplateOutletDirective, NgxUtilsModule, OPTIONS_TOKEN, ObjectType, ObjectUtils, ObservableUtils, OpenApiService, PROMISE_SERVICE, PaginationDirective, PaginationItemContext, PaginationItemDirective, PaginationMenuComponent, Point, PopPipe, PromiseService, RESIZE_DELAY, RESIZE_STRATEGY, ROOT_ELEMENT, Rect, ReducePipe, ReflectUtils, RemapPipe, ReplacePipe, ResizeEventPlugin, ResourceIfContext, ResourceIfDirective, ReversePipe, RoundPipe, SCRIPT_PARAMS, SafeHtmlPipe, ScrollEventPlugin, SetUtils, ShiftPipe, SplitPipe, StateService, StaticAuthService, StaticLanguageService, StickyClassDirective, StickyDirective, StorageMode, StorageService, StringUtils, TOASTER_SERVICE, TimerUtils, TranslatePipe, TranslatedUrlSerializer, UniqueUtils, UniversalService, UnorderedListComponent, UnorderedListItemDirective, UnorderedListTemplateDirective, ValuedPromise, ValuesPipe, Vector, WASI_IMPLEMENTATION, WasmService, cachedFactory, provideWithOptions };
5825
5825
  //# sourceMappingURL=stemy-ngx-utils.mjs.map