@wemake4u/form-player-se 1.0.39 → 1.0.41

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 (86) hide show
  1. package/esm2022/lib/builtIn/builtIn.mjs +24 -0
  2. package/esm2022/lib/builtIn/console.json +253 -0
  3. package/esm2022/lib/builtIn/dialog.json +109 -0
  4. package/esm2022/lib/builtIn/feel.json +26 -0
  5. package/esm2022/lib/builtIn/form.json +172 -0
  6. package/esm2022/lib/builtIn/formGroup.json +218 -0
  7. package/esm2022/lib/builtIn/formatter.json +112 -0
  8. package/esm2022/lib/builtIn/function.json +53 -0
  9. package/esm2022/lib/builtIn/register.json +14 -0
  10. package/esm2022/lib/components/setFilter/setFilter.component.mjs +35 -5
  11. package/esm2022/lib/controls/accordion.mjs +50 -3
  12. package/esm2022/lib/controls/control.mjs +70 -25
  13. package/esm2022/lib/controls/factory.mjs +42 -42
  14. package/esm2022/lib/controls/tab.mjs +47 -25
  15. package/esm2022/lib/controls/table.mjs +89 -15
  16. package/esm2022/lib/controls/textfield.mjs +4 -3
  17. package/esm2022/lib/directives/accordionpanel.directive.mjs +10 -5
  18. package/esm2022/lib/directives/collapse.directive.mjs +22 -12
  19. package/esm2022/lib/directives/collapsepatch.directive.mjs +2 -1
  20. package/esm2022/lib/directives/datetime.directive.mjs +18 -21
  21. package/esm2022/lib/directives/dropdown.directive.mjs +31 -16
  22. package/esm2022/lib/directives/grid.directive.mjs +10 -8
  23. package/esm2022/lib/directives/readonly.directive.mjs +10 -9
  24. package/esm2022/lib/directives/register.directive.mjs +32 -15
  25. package/esm2022/lib/directives/required.directive.mjs +57 -0
  26. package/esm2022/lib/directives/tabcontrol.directive.mjs +10 -9
  27. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +28 -5
  28. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +46 -21
  29. package/esm2022/lib/dynamic-host/dynamic-host.component.mjs +32 -10
  30. package/esm2022/lib/services/event.service.mjs +17 -6
  31. package/esm2022/lib/services/formatter.service.mjs +3 -1
  32. package/esm2022/lib/services/grid.service.mjs +4 -1
  33. package/esm2022/lib/services/listener.service.mjs +23 -0
  34. package/esm2022/lib/services/navigation.service.mjs +35 -0
  35. package/esm2022/lib/services/programmability.service.mjs +54 -38
  36. package/esm2022/lib/services/register.service.mjs +40 -2
  37. package/esm2022/lib/services/state.service.mjs +40 -0
  38. package/esm2022/lib/services/status.service.mjs +10 -5
  39. package/esm2022/lib/services/subscribe.service.mjs +54 -0
  40. package/esm2022/lib/services/validation.service.mjs +11 -2
  41. package/esm2022/lib/utils/deepEqual.mjs +46 -0
  42. package/esm2022/lib/utils/navigation.mjs +20 -0
  43. package/esm2022/lib/utils/observable.mjs +7 -0
  44. package/esm2022/lib/utils/patch.mjs +17 -0
  45. package/esm2022/lib/utils/proxy.mjs +28 -1
  46. package/esm2022/lib/utils/resolveRefs.mjs +67 -0
  47. package/esm2022/public-api.mjs +7 -1
  48. package/fesm2022/wemake4u-form-player-se.mjs +2027 -276
  49. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  50. package/lib/builtIn/builtIn.d.ts +32 -0
  51. package/lib/components/setFilter/setFilter.component.d.ts +1 -0
  52. package/lib/controls/accordion.d.ts +5 -1
  53. package/lib/controls/control.d.ts +31 -12
  54. package/lib/controls/factory.d.ts +2 -4
  55. package/lib/controls/tab.d.ts +9 -6
  56. package/lib/controls/table.d.ts +16 -5
  57. package/lib/controls/textfield.d.ts +1 -1
  58. package/lib/directives/accordionpanel.directive.d.ts +4 -2
  59. package/lib/directives/collapse.directive.d.ts +5 -3
  60. package/lib/directives/datetime.directive.d.ts +7 -8
  61. package/lib/directives/dropdown.directive.d.ts +6 -3
  62. package/lib/directives/grid.directive.d.ts +4 -3
  63. package/lib/directives/readonly.directive.d.ts +3 -4
  64. package/lib/directives/register.directive.d.ts +4 -3
  65. package/lib/directives/required.directive.d.ts +17 -0
  66. package/lib/directives/tabcontrol.directive.d.ts +5 -6
  67. package/lib/dynamic-fields/dynamic-fields.component.d.ts +4 -1
  68. package/lib/dynamic-form/dynamic-form.component.d.ts +4 -1
  69. package/lib/dynamic-host/dynamic-host.component.d.ts +6 -2
  70. package/lib/services/event.service.d.ts +8 -2
  71. package/lib/services/listener.service.d.ts +11 -0
  72. package/lib/services/navigation.service.d.ts +11 -0
  73. package/lib/services/programmability.service.d.ts +8 -9
  74. package/lib/services/register.service.d.ts +9 -0
  75. package/lib/services/state.service.d.ts +14 -0
  76. package/lib/services/status.service.d.ts +5 -1
  77. package/lib/services/subscribe.service.d.ts +14 -0
  78. package/lib/services/validation.service.d.ts +5 -2
  79. package/lib/utils/deepEqual.d.ts +1 -0
  80. package/lib/utils/navigation.d.ts +6 -0
  81. package/lib/utils/observable.d.ts +2 -0
  82. package/lib/utils/patch.d.ts +1 -0
  83. package/lib/utils/proxy.d.ts +2 -0
  84. package/lib/utils/resolveRefs.d.ts +12 -0
  85. package/package.json +1 -1
  86. package/public-api.d.ts +6 -0
@@ -1,18 +1,21 @@
1
- import { Component, Input, ViewChild, ViewContainerRef } from '@angular/core';
1
+ import { Component, Input, ViewChild, ViewContainerRef, EventEmitter } from '@angular/core';
2
2
  import { isObservable, distinctUntilChanged, map } from 'rxjs';
3
3
  import { take } from 'rxjs/operators';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../services/global.service";
6
7
  export class DynamicHostComponent {
7
8
  injector;
8
9
  globalService;
10
+ destroyRef;
9
11
  component;
10
12
  properties = null;
11
13
  formGroup;
12
14
  container;
13
- constructor(injector, globalService) {
15
+ constructor(injector, globalService, destroyRef) {
14
16
  this.injector = injector;
15
17
  this.globalService = globalService;
18
+ this.destroyRef = destroyRef;
16
19
  }
17
20
  ngOnDestroy() {
18
21
  if (this.statusSub) {
@@ -42,6 +45,7 @@ export class DynamicHostComponent {
42
45
  //#region Private Members
43
46
  componentRef = null;
44
47
  statusSub = null;
48
+ subscriptions = new Map();
45
49
  isBindable() {
46
50
  if (!this.componentRef)
47
51
  return false;
@@ -92,13 +96,24 @@ export class DynamicHostComponent {
92
96
  }
93
97
  }
94
98
  assignValue(key, value) {
95
- if (isObservable(value)) {
96
- value.pipe(take(1)).subscribe(v => {
97
- this.componentRef?.setInput?.(key, v);
98
- });
99
+ if (this.isFunction(value) && this.isEmitter(this.componentRef, key)) {
100
+ const emitter = this.componentRef.instance[key];
101
+ const previous = this.subscriptions.get(key);
102
+ previous?.unsubscribe();
103
+ const sub = emitter
104
+ .pipe(takeUntilDestroyed(this.destroyRef))
105
+ .subscribe(value);
106
+ this.subscriptions.set(key, sub);
99
107
  }
100
108
  else {
101
- this.componentRef?.setInput?.(key, value);
109
+ if (isObservable(value)) {
110
+ value.pipe(take(1)).subscribe(v => {
111
+ this.componentRef?.setInput?.(key, v);
112
+ });
113
+ }
114
+ else {
115
+ this.componentRef?.setInput?.(key, value);
116
+ }
102
117
  }
103
118
  }
104
119
  isControlValueAccessor(obj) {
@@ -113,13 +128,20 @@ export class DynamicHostComponent {
113
128
  validProperties(value) {
114
129
  return typeof value === 'object' && value !== null && !Array.isArray(value);
115
130
  }
116
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicHostComponent, deps: [{ token: i0.Injector }, { token: i1.GlobalService }], target: i0.ɵɵFactoryTarget.Component });
131
+ isEmitter(componentRef, key) {
132
+ return !!componentRef &&
133
+ componentRef.instance?.[key] instanceof EventEmitter;
134
+ }
135
+ isFunction(value) {
136
+ return typeof value === 'function';
137
+ }
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicHostComponent, deps: [{ token: i0.Injector }, { token: i1.GlobalService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
117
139
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicHostComponent, isStandalone: true, selector: "app-dynamic-host", inputs: { component: ["register", "component"], properties: "properties", formGroup: "formGroup" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container #container></ng-container>\r\n", styles: [""] });
118
140
  }
119
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicHostComponent, decorators: [{
120
142
  type: Component,
121
143
  args: [{ selector: 'app-dynamic-host', standalone: true, template: "<ng-container #container></ng-container>\r\n" }]
122
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.GlobalService }], propDecorators: { component: [{
144
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.GlobalService }, { type: i0.DestroyRef }], propDecorators: { component: [{
123
145
  type: Input,
124
146
  args: ["register"]
125
147
  }], properties: [{
@@ -130,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
130
152
  type: ViewChild,
131
153
  args: ['container', { read: ViewContainerRef, static: true }]
132
154
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1ob3N0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2R5bmFtaWMtaG9zdC9keW5hbWljLWhvc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZHluYW1pYy1ob3N0L2R5bmFtaWMtaG9zdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLEtBQUssRUFBaUIsU0FBUyxFQUFFLGdCQUFnQixFQUc3RCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFnQixvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFVdEMsTUFBTSxPQUFPLG9CQUFvQjtJQU1YO0lBQ1Y7SUFOUyxTQUFTLENBQU87SUFDMUIsVUFBVSxHQUErQixJQUFJLENBQUM7SUFDOUMsU0FBUyxDQUFhO0lBQ21DLFNBQVMsQ0FBb0I7SUFFL0YsWUFBb0IsUUFBa0IsRUFDNUIsYUFBNEI7UUFEbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUN0QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxhQUFhLEdB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QyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO3dHQXJJVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixtUUFJQyxnQkFBZ0IsZ0VDdEJsRCw4Q0FDQTs7NEZEaUJhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FJaEIsSUFBSTt5R0FHRyxTQUFTO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUM0RCxTQUFTO3NCQUExRSxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIElucHV0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEluamVjdG9yXHJcbiAgLCBUeXBlLCBDb21wb25lbnRSZWYsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgR2xvYmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2dsb2JhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWhvc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWhvc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogW1xyXG4gICAgJy4vZHluYW1pYy1ob3N0LmNvbXBvbmVudC5jc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljSG9zdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoXCJyZWdpc3RlclwiKSBjb21wb25lbnQhOiBhbnk7XHJcbiAgQElucHV0KCkgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PiB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgZ2xvYmFsU2VydmljZTogR2xvYmFsU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdGF0dXNTdWIpIHtcclxuICAgICAgdGhpcy5zdGF0dXNTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9ICAgIFxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1tcInByb3BlcnRpZXNcIl0pIHtcclxuICAgICAgdGhpcy5zZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5yZXNvbHZlQ29tcG9uZW50VHlwZSh0aGlzLmNvbXBvbmVudC5jb21wb25lbnQpO1xyXG4gICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSwge1xyXG4gICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzQmluZGFibGUoKSkge1xyXG4gICAgICAgIHRoaXMuc2V0QmluZGluZygpO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICB0aGlzLnNldFByb3BlcnRpZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIFByaXZhdGUgTWVtYmVyc1xyXG5cclxuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0dXNTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIGlzQmluZGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSByZXR1cm4gZmFsc2U7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQuaXNJbnB1dFxyXG4gICAgICAmJiB0aGlzLmNvbXBvbmVudC5rZXlcclxuICAgICAgJiYgdGhpcy5pc0NvbnRyb2xWYWx1ZUFjY2Vzc29yKHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QmluZGluZygpIHtcclxuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLmNvbXBvbmVudC5rZXk7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG5cclxuICAgIGlmICghdGhpcy5pc0NvbnRyb2xWYWx1ZUFjY2Vzc29yKGluc3RhbmNlKSkgcmV0dXJuO1xyXG5cclxuICAgIGxldCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldChrZXkpO1xyXG5cclxuICAgIGlmICghZm9ybUNvbnRyb2wpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGluc3RhbmNlLndyaXRlVmFsdWUoZm9ybUNvbnRyb2wudmFsdWUpO1xyXG5cclxuICAgIGluc3RhbmNlLnJlZ2lzdGVyT25DaGFuZ2UoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaW5zdGFuY2UucmVnaXN0ZXJPblRvdWNoZWQoKCkgPT4ge1xyXG4gICAgICBmb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBzZXREaXNhYmxlZFN0YXRlID0gaW5zdGFuY2Uuc2V0RGlzYWJsZWRTdGF0ZTtcclxuXHJcbiAgICBpZiAodHlwZW9mIHNldERpc2FibGVkU3RhdGUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgaW52b2tlID0gc2V0RGlzYWJsZWRTdGF0ZS5iaW5kKGluc3RhbmNlKTtcclxuICAgICAgdGhpcy5zdGF0dXNTdWIgPSBmb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKCkgPT4gZm9ybUNvbnRyb2wuZGlzYWJsZWQpLFxyXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKGlzRGlzYWJsZWQgPT4ge1xyXG4gICAgICAgICAgaW52b2tlKGlzRGlzYWJsZWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICBpbnZva2UoZm9ybUNvbnRyb2wuZGlzYWJsZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRQcm9wZXJ0aWVzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMucHJvcGVydGllcyA/PyB7fTtcclxuICAgIGlmICh0aGlzLnZhbGlkUHJvcGVydGllcyhwcm9wZXJ0aWVzKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKSkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gcHJvcGVydGllc1trZXldO1xyXG4gICAgICAgIGlmIChrZXkgaW4gdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpIHtcclxuICAgICAgICAgIHRoaXMuYXNzaWduVmFsdWUoa2V5LCB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzc2lnblZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KVxyXG4gIHtcclxuICAgIGlmIChpc09ic2VydmFibGUodmFsdWUpKSB7XHJcbiAgICAgIHZhbHVlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50UmVmPy5zZXRJbnB1dD8uKGtleSwgdik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWY/LnNldElucHV0Py4oa2V5LCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQ29udHJvbFZhbHVlQWNjZXNzb3Iob2JqOiBhbnkpOiBvYmogaXMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgb2JqICYmXHJcbiAgICAgIHR5cGVvZiBvYmoud3JpdGVWYWx1ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICB0eXBlb2Ygb2JqLnJlZ2lzdGVyT25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgdHlwZW9mIG9iai5yZWdpc3Rlck9uVG91Y2hlZCA9PT0gJ2Z1bmN0aW9uJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZUNvbXBvbmVudFR5cGUodHlwZTogc3RyaW5nKTogVHlwZTxhbnk+IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5nbG9iYWxTZXJ2aWNlLmdldENvbXBvbmVudCh0eXBlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRQcm9wZXJ0aWVzKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8bmctY29udGFpbmVyICNjb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1ob3N0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2R5bmFtaWMtaG9zdC9keW5hbWljLWhvc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZHluYW1pYy1ob3N0L2R5bmFtaWMtaG9zdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLEtBQUssRUFBaUIsU0FBUyxFQUFFLGdCQUFnQixFQUc1RCxZQUFZLEVBRWIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBZ0Isb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBVWhFLE1BQU0sT0FBTyxvQkFBb0I7SUFNWDtJQUNWO0lBQ0E7SUFQUyxTQUFTLENBQU87SUFDMUIsVUFBVSxHQUErQixJQUFJLENBQUM7SUFDOUMsU0FBUyxDQUFhO0lBQ21DLFNBQVMsQ0FBb0I7SUFFL0YsWUFBb0IsUUFBa0IsRUFDNUIsYUFBNEIsRUFDNUIsVUFBc0I7UUFGWixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFlB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LENBQUM7d0dBL0pVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLG1RQUlDLGdCQUFnQixnRUN6QmxELDhDQUNBOzs0RkRvQmEsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixjQUloQixJQUFJO2tJQUdHLFNBQVM7c0JBQTNCLEtBQUs7dUJBQUMsVUFBVTtnQkFDUixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQzRELFNBQVM7c0JBQTFFLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCwgSW5wdXQsIEFmdGVyVmlld0luaXQsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3JcclxuICAsIFR5cGUsIENvbXBvbmVudFJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgRGVzdHJveVJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZ2xvYmFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1ob3N0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1ob3N0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2R5bmFtaWMtaG9zdC5jb21wb25lbnQuY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0hvc3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KFwicmVnaXN0ZXJcIikgY29tcG9uZW50ITogYW55O1xyXG4gIEBJbnB1dCgpIHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSkgY29udGFpbmVyITogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIGdsb2JhbFNlcnZpY2U6IEdsb2JhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3RhdHVzU3ViKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfSAgICBcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbXCJwcm9wZXJ0aWVzXCJdKSB7XHJcbiAgICAgIHRoaXMuc2V0UHJvcGVydGllcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMucmVzb2x2ZUNvbXBvbmVudFR5cGUodGhpcy5jb21wb25lbnQuY29tcG9uZW50KTtcclxuICAgIGlmIChjb21wb25lbnRUeXBlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFR5cGUsIHtcclxuICAgICAgICBpbmplY3RvcjogdGhpcy5pbmplY3RvcixcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAodGhpcy5pc0JpbmRhYmxlKCkpIHtcclxuICAgICAgICB0aGlzLnNldEJpbmRpbmcoKTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgdGhpcy5zZXRQcm9wZXJ0aWVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb21wb25lbnRSZWYoKTogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQcml2YXRlIE1lbWJlcnNcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgc3RhdHVzU3ViOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0gbmV3IE1hcDxzdHJpbmcsIFN1YnNjcmlwdGlvbj4oKTtcclxuXHJcbiAgcHJpdmF0ZSBpc0JpbmRhYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50LmlzSW5wdXRcclxuICAgICAgJiYgdGhpcy5jb21wb25lbnQua2V5XHJcbiAgICAgICYmIHRoaXMuaXNDb250cm9sVmFsdWVBY2Nlc3Nvcih0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEJpbmRpbmcoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29tcG9uZW50UmVmKSByZXR1cm47XHJcblxyXG4gICAgY29uc3Qga2V5ID0gdGhpcy5jb21wb25lbnQua2V5O1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNDb250cm9sVmFsdWVBY2Nlc3NvcihpbnN0YW5jZSkpIHJldHVybjtcclxuXHJcbiAgICBsZXQgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQoa2V5KTtcclxuXHJcbiAgICBpZiAoIWZvcm1Db250cm9sKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpbnN0YW5jZS53cml0ZVZhbHVlKGZvcm1Db250cm9sLnZhbHVlKTtcclxuXHJcbiAgICBpbnN0YW5jZS5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGluc3RhbmNlLnJlZ2lzdGVyT25Ub3VjaGVkKCgpID0+IHtcclxuICAgICAgZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgc2V0RGlzYWJsZWRTdGF0ZSA9IGluc3RhbmNlLnNldERpc2FibGVkU3RhdGU7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBzZXREaXNhYmxlZFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIGNvbnN0IGludm9rZSA9IHNldERpc2FibGVkU3RhdGUuYmluZChpbnN0YW5jZSk7XHJcbiAgICAgIHRoaXMuc3RhdHVzU3ViID0gZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKCgpID0+IGZvcm1Db250cm9sLmRpc2FibGVkKSxcclxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZShpc0Rpc2FibGVkID0+IHtcclxuICAgICAgICAgIGludm9rZShpc0Rpc2FibGVkKTtcclxuICAgICAgICB9KTtcclxuICAgICAgaW52b2tlKGZvcm1Db250cm9sLmRpc2FibGVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UHJvcGVydGllcygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb21wb25lbnRSZWYpIHJldHVybjtcclxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLnByb3BlcnRpZXMgPz8ge307XHJcbiAgICBpZiAodGhpcy52YWxpZFByb3BlcnRpZXMocHJvcGVydGllcykpIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocHJvcGVydGllcykpIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHByb3BlcnRpZXNba2V5XTtcclxuICAgICAgICBpZiAoa2V5IGluIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICB0aGlzLmFzc2lnblZhbHVlKGtleSwgdmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3NpZ25WYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IGFueSlcclxuICB7XHJcbiAgICBpZiAodGhpcy5pc0Z1bmN0aW9uKHZhbHVlKSAmJiB0aGlzLmlzRW1pdHRlcih0aGlzLmNvbXBvbmVudFJlZiwga2V5KSkge1xyXG4gICAgICBjb25zdCBlbWl0dGVyID0gKHRoaXMuY29tcG9uZW50UmVmIS5pbnN0YW5jZSBhcyBhbnkpW2tleV07XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5zdWJzY3JpcHRpb25zLmdldChrZXkpO1xyXG4gICAgICBwcmV2aW91cz8udW5zdWJzY3JpYmUoKTtcclxuICAgICAgY29uc3Qgc3ViID0gZW1pdHRlclxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUodmFsdWUpO1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuc2V0KGtleSwgc3ViKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoaXNPYnNlcnZhYmxlKHZhbHVlKSkge1xyXG4gICAgICAgIHZhbHVlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb21wb25lbnRSZWY/LnNldElucHV0Py4oa2V5LCB2KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uc2V0SW5wdXQ/LihrZXksIHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNDb250cm9sVmFsdWVBY2Nlc3NvcihvYmo6IGFueSk6IG9iaiBpcyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBvYmogJiZcclxuICAgICAgdHlwZW9mIG9iai53cml0ZVZhbHVlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgIHR5cGVvZiBvYmoucmVnaXN0ZXJPbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICB0eXBlb2Ygb2JqLnJlZ2lzdGVyT25Ub3VjaGVkID09PSAnZnVuY3Rpb24nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNvbHZlQ29tcG9uZW50VHlwZSh0eXBlOiBzdHJpbmcpOiBUeXBlPGFueT4gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmdsb2JhbFNlcnZpY2UuZ2V0Q29tcG9uZW50KHR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZFByb3BlcnRpZXModmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFbWl0dGVyKFxyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiB8IG51bGwgfCB1bmRlZmluZWQsXHJcbiAgICBrZXk6IHN0cmluZ1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhY29tcG9uZW50UmVmICYmXHJcbiAgICAgIChjb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgYW55KT8uW2tleV0gaW5zdGFuY2VvZiBFdmVudEVtaXR0ZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XHJcbiAgfVxyXG5cclxuICAvLyNlbmRyZWdpb25cclxufVxyXG4iLCI8bmctY29udGFpbmVyICNjb250YWluZXI+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -1,12 +1,23 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "../services/programmability.service";
4
+ import * as i2 from "../services/subscribe.service";
4
5
  export class EventService {
5
6
  programmability;
6
- constructor(programmability) {
7
+ subscribeService;
8
+ destroyRef;
9
+ constructor(programmability, subscribeService, destroyRef) {
7
10
  this.programmability = programmability;
11
+ this.subscribeService = subscribeService;
12
+ this.destroyRef = destroyRef;
13
+ }
14
+ _suppress = false;
15
+ set suppress(value) {
16
+ this._suppress = value;
17
+ }
18
+ get suppress() {
19
+ return this._suppress;
8
20
  }
9
- suppress = false;
10
21
  createCollection() {
11
22
  return new Map();
12
23
  }
@@ -27,7 +38,7 @@ export class EventService {
27
38
  processHandler(handler, formGroup, control, observable$, initial) {
28
39
  if (!this.programmability.isExpression(handler))
29
40
  return;
30
- this.programmability.subscribeChanges(observable$, control, initial, (oldValue, newValue) => {
41
+ this.subscribeService.subscribeChanges(observable$, control, initial, this.destroyRef, (oldValue, newValue) => {
31
42
  if (this.suppress)
32
43
  return;
33
44
  this.programmability.evaluate(formGroup, handler, {
@@ -42,10 +53,10 @@ export class EventService {
42
53
  });
43
54
  });
44
55
  }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EventService, deps: [{ token: i1.ProgrammabilityService }], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EventService, deps: [{ token: i1.ProgrammabilityService }, { token: i2.SubscribeService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Injectable });
46
57
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EventService });
47
58
  }
48
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EventService, decorators: [{
49
60
  type: Injectable
50
- }], ctorParameters: () => [{ type: i1.ProgrammabilityService }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxZQUFZO0lBR2I7SUFEVixZQUNVLGVBQXVDO1FBQXZDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtJQUNqRCxDQUFDO0lBRUQsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUUxQixnQkFBZ0I7UUFDZCxPQUFPLElBQUksR0FBRyxFQUFpQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsVUFBMkIsRUFBRSxPQUF3QixFQUFFLFNBQW9CLEVBQUUsU0FBYztRQUN6RyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlLENBQUMsVUFBMkI7UUFDekMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xELE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7WUFDbkQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7Z0JBQUUsT0FBTztZQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUksT0FBZSxFQUNyQyxTQUFvQixFQUNwQixPQUF3QixFQUN4QixXQUEwQixFQUMxQixPQUFVO1FBRVosSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxPQUFPO1FBRVQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFDL0QsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPO1lBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUU7Z0JBQ2hELFNBQVMsRUFBRSxLQUFLO2dCQUNoQixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDcEIsT0FBTyxFQUFFO3dCQUNQLE9BQU8sRUFBRSxPQUFPO3dCQUNoQixRQUFRLEVBQUUsUUFBUTt3QkFDbEIsUUFBUSxFQUFFLFFBQVE7cUJBQ25CO2lCQUNGLENBQUM7YUFDSCxDQUFDLENBQUM7UUFDTCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7d0dBbkRVLFlBQVk7NEdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvZ3JhbW1hYmlsaXR5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyYW1tYWJpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEV2ZW50U2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwcm9ncmFtbWFiaWxpdHk6IFByb2dyYW1tYWJpbGl0eVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIHN1cHByZXNzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNyZWF0ZUNvbGxlY3Rpb24oKTogRXZlbnRDb2xsZWN0aW9uIHtcclxuICAgIHJldHVybiBuZXcgTWFwPEFic3RyYWN0Q29udHJvbCwgRXZlbnRDb250ZXh0PigpO1xyXG4gIH1cclxuXHJcbiAgYWRkVG9Db2xsZWN0aW9uKGNvbGxlY3Rpb246IEV2ZW50Q29sbGVjdGlvbiwgY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBmb3JtR3JvdXA6IEZvcm1Hcm91cCwgY29tcG9uZW50OiBhbnkpIHtcclxuICAgIGNvbGxlY3Rpb24uc2V0KGNvbnRyb2wsIHsgY29tcG9uZW50LCBmb3JtR3JvdXAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXR1cENvbGxlY3Rpb24oY29sbGVjdGlvbjogRXZlbnRDb2xsZWN0aW9uKSB7XHJcbiAgICBjb2xsZWN0aW9uLmZvckVhY2goKGNvbXBvbmVudFZhbGlkYXRpb24sIGNvbnRyb2wpID0+IHtcclxuICAgICAgY29uc3QgY29tcG9uZW50ID0gY29tcG9uZW50VmFsaWRhdGlvbi5jb21wb25lbnQ7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRHcm91cCA9IGNvbXBvbmVudFZhbGlkYXRpb24uZm9ybUdyb3VwO1xyXG4gICAgICBjb25zdCBldmVudHMgPSBjb21wb25lbnQuZXZlbnRzO1xyXG4gICAgICBpZiAoIWV2ZW50cyB8fCB0eXBlb2YgZXZlbnRzICE9PSAnb2JqZWN0JykgcmV0dXJuO1xyXG4gICAgICB0aGlzLnByb2Nlc3NIYW5kbGVyKGV2ZW50cy5vbkNoYW5nZSwgY3VycmVudEdyb3VwLCBjb250cm9sLCBjb250cm9sLnZhbHVlQ2hhbmdlcywgY29udHJvbC52YWx1ZSk7XHJcbiAgICAgIHRoaXMucHJvY2Vzc0hhbmRsZXIoZXZlbnRzLm9uU3RhdHVzQ2hhbmdlLCBjdXJyZW50R3JvdXAsIGNvbnRyb2wsIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcywgY29udHJvbC5zdGF0dXMpOyAgICAgIFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb2Nlc3NIYW5kbGVyPFQ+KGhhbmRsZXI6IHN0cmluZ1xyXG4gICAgLCBmb3JtR3JvdXA6IEZvcm1Hcm91cFxyXG4gICAgLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xcclxuICAgICwgb2JzZXJ2YWJsZSQ6IE9ic2VydmFibGU8VD5cclxuICAgICwgaW5pdGlhbDogVClcclxuICB7XHJcbiAgICBpZiAoIXRoaXMucHJvZ3JhbW1hYmlsaXR5LmlzRXhwcmVzc2lvbihoYW5kbGVyKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMucHJvZ3JhbW1hYmlsaXR5LnN1YnNjcmliZUNoYW5nZXMob2JzZXJ2YWJsZSQsIGNvbnRyb2wsIGluaXRpYWxcclxuICAgICAgLCAob2xkVmFsdWUsIG5ld1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VwcHJlc3MpIHJldHVybjtcclxuICAgICAgICB0aGlzLnByb2dyYW1tYWJpbGl0eS5ldmFsdWF0ZShmb3JtR3JvdXAsIGhhbmRsZXIsIHtcclxuICAgICAgICAgIGNhY2hlYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBleHRlbmRDb250ZXh0OiAoKSA9PiAoe1xyXG4gICAgICAgICAgICBcImV2ZW50XCI6IHtcclxuICAgICAgICAgICAgICBjb250cm9sOiBjb250cm9sLFxyXG4gICAgICAgICAgICAgIG9sZFZhbHVlOiBvbGRWYWx1ZSxcclxuICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRDb250ZXh0IHtcclxuICBjb21wb25lbnQ6IGFueTtcclxuICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnRDb2xsZWN0aW9uID0gTWFwPEFic3RyYWN0Q29udHJvbCwgRXZlbnRDb250ZXh0PjtcclxuIl19
61
+ }], ctorParameters: () => [{ type: i1.ProgrammabilityService }, { type: i2.SubscribeService }, { type: i0.DestroyRef }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU92RCxNQUFNLE9BQU8sWUFBWTtJQUdiO0lBQ0U7SUFDQTtJQUhaLFlBQ1UsZUFBdUMsRUFDckMsZ0JBQWtDLEVBQ2xDLFVBQXNCO1FBRnhCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUNyQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDbEMsQ0FBQztJQUVPLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFFbkMsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksR0FBRyxFQUFpQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxlQUFlLENBQUMsVUFBMkIsRUFBRSxPQUF3QixFQUFFLFNBQW9CLEVBQUUsU0FBYztRQUN6RyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxlQUFlLENBQUMsVUFBMkI7UUFDekMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ2xELE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQztZQUNoRCxNQUFNLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7WUFDbkQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7Z0JBQUUsT0FBTztZQUNsRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzRyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUksT0FBZSxFQUNyQyxTQUFvQixFQUNwQixPQUF3QixFQUN4QixXQUEwQixFQUMxQixPQUFVO1FBRVosSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQztZQUM3QyxPQUFPO1FBRVQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQ2pGLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFO2dCQUNoRCxTQUFTLEVBQUUsS0FBSztnQkFDaEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7b0JBQ3BCLE9BQU8sRUFBRTt3QkFDUCxPQUFPLEVBQUUsT0FBTzt3QkFDaEIsUUFBUSxFQUFFLFFBQVE7d0JBQ2xCLFFBQVEsRUFBRSxRQUFRO3FCQUNuQjtpQkFDRixDQUFDO2FBQ0gsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO3dHQTdEVSxZQUFZOzRHQUFaLFlBQVk7OzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb2dyYW1tYWJpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9ncmFtbWFiaWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdWJzY3JpYmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcHJvZ3JhbW1hYmlsaXR5OiBQcm9ncmFtbWFiaWxpdHlTZXJ2aWNlXHJcbiAgICAsIHByaXZhdGUgc3Vic2NyaWJlU2VydmljZTogU3Vic2NyaWJlU2VydmljZVxyXG4gICAgLCBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3N1cHByZXNzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHNldCBzdXBwcmVzcyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc3VwcHJlc3MgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBzdXBwcmVzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9zdXBwcmVzcztcclxuICB9XHJcblxyXG4gIGNyZWF0ZUNvbGxlY3Rpb24oKTogRXZlbnRDb2xsZWN0aW9uIHtcclxuICAgIHJldHVybiBuZXcgTWFwPEFic3RyYWN0Q29udHJvbCwgRXZlbnRDb250ZXh0PigpO1xyXG4gIH1cclxuXHJcbiAgYWRkVG9Db2xsZWN0aW9uKGNvbGxlY3Rpb246IEV2ZW50Q29sbGVjdGlvbiwgY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBmb3JtR3JvdXA6IEZvcm1Hcm91cCwgY29tcG9uZW50OiBhbnkpIHtcclxuICAgIGNvbGxlY3Rpb24uc2V0KGNvbnRyb2wsIHsgY29tcG9uZW50LCBmb3JtR3JvdXAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXR1cENvbGxlY3Rpb24oY29sbGVjdGlvbjogRXZlbnRDb2xsZWN0aW9uKSB7XHJcbiAgICBjb2xsZWN0aW9uLmZvckVhY2goKGNvbXBvbmVudFZhbGlkYXRpb24sIGNvbnRyb2wpID0+IHtcclxuICAgICAgY29uc3QgY29tcG9uZW50ID0gY29tcG9uZW50VmFsaWRhdGlvbi5jb21wb25lbnQ7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRHcm91cCA9IGNvbXBvbmVudFZhbGlkYXRpb24uZm9ybUdyb3VwO1xyXG4gICAgICBjb25zdCBldmVudHMgPSBjb21wb25lbnQuZXZlbnRzO1xyXG4gICAgICBpZiAoIWV2ZW50cyB8fCB0eXBlb2YgZXZlbnRzICE9PSAnb2JqZWN0JykgcmV0dXJuO1xyXG4gICAgICB0aGlzLnByb2Nlc3NIYW5kbGVyKGV2ZW50cy5vbkNoYW5nZSwgY3VycmVudEdyb3VwLCBjb250cm9sLCBjb250cm9sLnZhbHVlQ2hhbmdlcywgY29udHJvbC52YWx1ZSk7XHJcbiAgICAgIHRoaXMucHJvY2Vzc0hhbmRsZXIoZXZlbnRzLm9uU3RhdHVzQ2hhbmdlLCBjdXJyZW50R3JvdXAsIGNvbnRyb2wsIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcywgY29udHJvbC5zdGF0dXMpOyAgICAgIFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb2Nlc3NIYW5kbGVyPFQ+KGhhbmRsZXI6IHN0cmluZ1xyXG4gICAgLCBmb3JtR3JvdXA6IEZvcm1Hcm91cFxyXG4gICAgLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2xcclxuICAgICwgb2JzZXJ2YWJsZSQ6IE9ic2VydmFibGU8VD5cclxuICAgICwgaW5pdGlhbDogVClcclxuICB7XHJcbiAgICBpZiAoIXRoaXMucHJvZ3JhbW1hYmlsaXR5LmlzRXhwcmVzc2lvbihoYW5kbGVyKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpYmVDaGFuZ2VzKG9ic2VydmFibGUkLCBjb250cm9sLCBpbml0aWFsLCB0aGlzLmRlc3Ryb3lSZWZcclxuICAgICAgLCAob2xkVmFsdWUsIG5ld1ZhbHVlKSA9PiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VwcHJlc3MpIHJldHVybjtcclxuICAgICAgICB0aGlzLnByb2dyYW1tYWJpbGl0eS5ldmFsdWF0ZShmb3JtR3JvdXAsIGhhbmRsZXIsIHtcclxuICAgICAgICAgIGNhY2hlYWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBleHRlbmRDb250ZXh0OiAoKSA9PiAoe1xyXG4gICAgICAgICAgICBcImV2ZW50XCI6IHtcclxuICAgICAgICAgICAgICBjb250cm9sOiBjb250cm9sLFxyXG4gICAgICAgICAgICAgIG9sZFZhbHVlOiBvbGRWYWx1ZSxcclxuICAgICAgICAgICAgICBuZXdWYWx1ZTogbmV3VmFsdWVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRDb250ZXh0IHtcclxuICBjb21wb25lbnQ6IGFueTtcclxuICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRXZlbnRDb2xsZWN0aW9uID0gTWFwPEFic3RyYWN0Q29udHJvbCwgRXZlbnRDb250ZXh0PjtcclxuIl19
@@ -58,6 +58,7 @@ export class FormatterService {
58
58
  return '';
59
59
  return new Intl.NumberFormat(locale, {
60
60
  style: 'currency',
61
+ useGrouping: true,
61
62
  currency: currency,
62
63
  currencyDisplay: 'symbol' // oppure: 'code' | 'name'
63
64
  }).format(value);
@@ -67,6 +68,7 @@ export class FormatterService {
67
68
  return '';
68
69
  return new Intl.NumberFormat(locale, {
69
70
  style: 'decimal',
71
+ useGrouping: true,
70
72
  minimumFractionDigits: decimals,
71
73
  maximumFractionDigits: decimals
72
74
  }).format(value);
@@ -89,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
89
91
  providedIn: 'root'
90
92
  }]
91
93
  }], ctorParameters: () => [] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9mb3JtYXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixnQkFBZ0IsQ0FBQztJQUVqQixVQUFVLENBQUMsT0FBa0MsRUFDM0MsT0FBb0MsRUFDcEMsU0FBaUIsT0FBTztRQUV4QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXhCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXJDLE1BQU0sYUFBYSxHQUErQjtZQUNoRCxHQUFHLEVBQUUsU0FBUztZQUNkLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1lBQ2YsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFrQyxFQUMzQyxPQUFvQyxFQUNwQyxTQUFpQixPQUFPO1FBRXhCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFckMsTUFBTSxhQUFhLEdBQStCO1lBQ2hELElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLE9BQU87U0FDWCxDQUFDO1FBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWtDLEVBQy9DLE9BQW9DLEVBQ3BDLFNBQWlCLE9BQU87UUFDeEIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV4QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQy9DLEdBQUcsRUFBRSxTQUFTO1lBQ2QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixHQUFHLE9BQU87U0FDWCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhCLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDL0MsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEIsT0FBTyxHQUFHLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUNaLEtBQWEsRUFDYixXQUFtQixLQUFLLEVBQ3hCLFNBQWlCLE9BQU87UUFFeEIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ25DLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGVBQWUsRUFBRSxRQUFRLENBQUMsMEJBQTBCO1NBQ3JELENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FDVixLQUFhLEVBQ2IsV0FBbUIsQ0FBQyxFQUNwQixTQUFpQixPQUFPO1FBRXhCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEVBQUUsU0FBUztZQUNoQixxQkFBcUIsRUFBRSxRQUFRO1lBQy9CLHFCQUFxQixFQUFFLFFBQVE7U0FDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRTtZQUN6QixZQUFZO1lBQ1osWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsY0FBYztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBekdVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUV2YWx1YXRvclByb3ZpZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvcHJvZ3JhbW1hYmlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb0JvdW5kQXJyb3dzIH0gZnJvbSAnLi4vdXRpbHMvYm91bmQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWF0dGVyU2VydmljZSBpbXBsZW1lbnRzIElFdmFsdWF0b3JQcm92aWRlciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGZvcm1hdERhdGUoaXNvRGF0ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIG9wdGlvbnM/OiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyxcclxuICAgIGxvY2FsZTogc3RyaW5nID0gJ2l0LUlUJ1xyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlzb0RhdGUpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoaXNvRGF0ZSk7XHJcbiAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZm9ybWF0T3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICAgIC4uLm9wdGlvbnNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgZm9ybWF0T3B0aW9ucykuZm9ybWF0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0VGltZShpc29EYXRlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgb3B0aW9ucz86IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zLFxyXG4gICAgbG9jYWxlOiBzdHJpbmcgPSAnaXQtSVQnXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghaXNvRGF0ZSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShpc29EYXRlKTtcclxuICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBmb3JtYXRPcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcclxuICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcclxuICAgICAgc2Vjb25kOiAnMi1kaWdpdCcsXHJcbiAgICAgIGhvdXIxMjogZmFsc2UsXHJcbiAgICAgIC4uLm9wdGlvbnNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgZm9ybWF0T3B0aW9ucykuZm9ybWF0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZVRpbWUoaXNvRGF0ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIG9wdGlvbnM/OiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyxcclxuICAgIGxvY2FsZTogc3RyaW5nID0gJ2l0LUlUJykge1xyXG4gICAgaWYgKCFpc29EYXRlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGlzb0RhdGUpO1xyXG4gICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IGRhdGVQYXJ0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7XHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICAgIC4uLm9wdGlvbnNcclxuICAgIH0pLmZvcm1hdChkYXRlKTtcclxuXHJcbiAgICBjb25zdCB0aW1lUGFydCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXHJcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICBzZWNvbmQ6ICcyLWRpZ2l0JyxcclxuICAgICAgaG91cjEyOiBmYWxzZSxcclxuICAgICAgLi4ub3B0aW9uc1xyXG4gICAgfSkuZm9ybWF0KGRhdGUpO1xyXG5cclxuICAgIHJldHVybiBgJHtkYXRlUGFydH0gJHt0aW1lUGFydH1gO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0Q3VycmVuY3koXHJcbiAgICB2YWx1ZTogbnVtYmVyLFxyXG4gICAgY3VycmVuY3k6IHN0cmluZyA9ICdFVVInLFxyXG4gICAgbG9jYWxlOiBzdHJpbmcgPSAnaXQtSVQnXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiAnJztcclxuXHJcbiAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuICAgICAgY3VycmVuY3k6IGN1cnJlbmN5LFxyXG4gICAgICBjdXJyZW5jeURpc3BsYXk6ICdzeW1ib2wnIC8vIG9wcHVyZTogJ2NvZGUnIHwgJ25hbWUnXHJcbiAgICB9KS5mb3JtYXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0TnVtYmVyKFxyXG4gICAgdmFsdWU6IG51bWJlcixcclxuICAgIGRlY2ltYWxzOiBudW1iZXIgPSAyLFxyXG4gICAgbG9jYWxlOiBzdHJpbmcgPSAnaXQtSVQnICAgIFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAoaXNOYU4odmFsdWUpKSByZXR1cm4gJyc7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUsIHtcclxuICAgICAgc3R5bGU6ICdkZWNpbWFsJyxcclxuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFscyxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsc1xyXG4gICAgfSkuZm9ybWF0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldENvbnRleHQoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgICByZXR1cm4gVG9Cb3VuZEFycm93cyh0aGlzLCBbXHJcbiAgICAgICdmb3JtYXREYXRlJyxcclxuICAgICAgJ2Zvcm1hdFRpbWUnLFxyXG4gICAgICAnZm9ybWF0RGF0ZVRpbWUnLFxyXG4gICAgICAnZm9ybWF0Q3VycmVuY3knLFxyXG4gICAgICAnZm9ybWF0TnVtYmVyJ1xyXG4gICAgXSk7XHJcbiAgfVxyXG4gIFxyXG59XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9zZXJ2aWNlcy9mb3JtYXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLL0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixnQkFBZ0IsQ0FBQztJQUVqQixVQUFVLENBQUMsT0FBa0MsRUFDM0MsT0FBb0MsRUFDcEMsU0FBaUIsT0FBTztRQUV4QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXhCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXJDLE1BQU0sYUFBYSxHQUErQjtZQUNoRCxHQUFHLEVBQUUsU0FBUztZQUNkLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxTQUFTO1lBQ2YsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFrQyxFQUMzQyxPQUFvQyxFQUNwQyxTQUFpQixPQUFPO1FBRXhCLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFckMsTUFBTSxhQUFhLEdBQStCO1lBQ2hELElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLFNBQVM7WUFDakIsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLE9BQU87U0FDWCxDQUFDO1FBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWtDLEVBQy9DLE9BQW9DLEVBQ3BDLFNBQWlCLE9BQU87UUFDeEIsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV4QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1lBQy9DLEdBQUcsRUFBRSxTQUFTO1lBQ2QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixHQUFHLE9BQU87U0FDWCxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhCLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7WUFDL0MsSUFBSSxFQUFFLFNBQVM7WUFDZixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsU0FBUztZQUNqQixNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEIsT0FBTyxHQUFHLFFBQVEsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUNaLEtBQWEsRUFDYixXQUFtQixLQUFLLEVBQ3hCLFNBQWlCLE9BQU87UUFFeEIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ25DLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLGVBQWUsRUFBRSxRQUFRLENBQUMsMEJBQTBCO1NBQ3JELENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVksQ0FDVixLQUFhLEVBQ2IsV0FBbUIsQ0FBQyxFQUNwQixTQUFpQixPQUFPO1FBRXhCLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRTVCLE9BQU8sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRTtZQUNuQyxLQUFLLEVBQUUsU0FBUztZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixxQkFBcUIsRUFBRSxRQUFRO1lBQy9CLHFCQUFxQixFQUFFLFFBQVE7U0FDaEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sYUFBYSxDQUFDLElBQUksRUFBRTtZQUN6QixZQUFZO1lBQ1osWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIsY0FBYztTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBM0dVLGdCQUFnQjs0R0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUV2YWx1YXRvclByb3ZpZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvcHJvZ3JhbW1hYmlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb0JvdW5kQXJyb3dzIH0gZnJvbSAnLi4vdXRpbHMvYm91bmQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWF0dGVyU2VydmljZSBpbXBsZW1lbnRzIElFdmFsdWF0b3JQcm92aWRlciB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIGZvcm1hdERhdGUoaXNvRGF0ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIG9wdGlvbnM/OiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyxcclxuICAgIGxvY2FsZTogc3RyaW5nID0gJ2l0LUlUJ1xyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlzb0RhdGUpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoaXNvRGF0ZSk7XHJcbiAgICBpZiAoaXNOYU4oZGF0ZS5nZXRUaW1lKCkpKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZm9ybWF0T3B0aW9uczogSW50bC5EYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7XHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICAgIC4uLm9wdGlvbnNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgZm9ybWF0T3B0aW9ucykuZm9ybWF0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0VGltZShpc29EYXRlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgb3B0aW9ucz86IEludGwuRGF0ZVRpbWVGb3JtYXRPcHRpb25zLFxyXG4gICAgbG9jYWxlOiBzdHJpbmcgPSAnaXQtSVQnXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmICghaXNvRGF0ZSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShpc29EYXRlKTtcclxuICAgIGlmIChpc05hTihkYXRlLmdldFRpbWUoKSkpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBmb3JtYXRPcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHtcclxuICAgICAgaG91cjogJzItZGlnaXQnLFxyXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcclxuICAgICAgc2Vjb25kOiAnMi1kaWdpdCcsXHJcbiAgICAgIGhvdXIxMjogZmFsc2UsXHJcbiAgICAgIC4uLm9wdGlvbnNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwgZm9ybWF0T3B0aW9ucykuZm9ybWF0KGRhdGUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0RGF0ZVRpbWUoaXNvRGF0ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCxcclxuICAgIG9wdGlvbnM/OiBJbnRsLkRhdGVUaW1lRm9ybWF0T3B0aW9ucyxcclxuICAgIGxvY2FsZTogc3RyaW5nID0gJ2l0LUlUJykge1xyXG4gICAgaWYgKCFpc29EYXRlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKGlzb0RhdGUpO1xyXG4gICAgaWYgKGlzTmFOKGRhdGUuZ2V0VGltZSgpKSkgcmV0dXJuICcnO1xyXG5cclxuICAgIGNvbnN0IGRhdGVQYXJ0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCB7XHJcbiAgICAgIGRheTogJzItZGlnaXQnLFxyXG4gICAgICBtb250aDogJzItZGlnaXQnLFxyXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXHJcbiAgICAgIC4uLm9wdGlvbnNcclxuICAgIH0pLmZvcm1hdChkYXRlKTtcclxuXHJcbiAgICBjb25zdCB0aW1lUGFydCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXHJcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxyXG4gICAgICBzZWNvbmQ6ICcyLWRpZ2l0JyxcclxuICAgICAgaG91cjEyOiBmYWxzZSxcclxuICAgICAgLi4ub3B0aW9uc1xyXG4gICAgfSkuZm9ybWF0KGRhdGUpO1xyXG5cclxuICAgIHJldHVybiBgJHtkYXRlUGFydH0gJHt0aW1lUGFydH1gO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0Q3VycmVuY3koXHJcbiAgICB2YWx1ZTogbnVtYmVyLFxyXG4gICAgY3VycmVuY3k6IHN0cmluZyA9ICdFVVInLFxyXG4gICAgbG9jYWxlOiBzdHJpbmcgPSAnaXQtSVQnXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGlmIChpc05hTih2YWx1ZSkpIHJldHVybiAnJztcclxuXHJcbiAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZSwge1xyXG4gICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuICAgICAgdXNlR3JvdXBpbmc6IHRydWUsXHJcbiAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeSxcclxuICAgICAgY3VycmVuY3lEaXNwbGF5OiAnc3ltYm9sJyAvLyBvcHB1cmU6ICdjb2RlJyB8ICduYW1lJ1xyXG4gICAgfSkuZm9ybWF0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGZvcm1hdE51bWJlcihcclxuICAgIHZhbHVlOiBudW1iZXIsXHJcbiAgICBkZWNpbWFsczogbnVtYmVyID0gMixcclxuICAgIGxvY2FsZTogc3RyaW5nID0gJ2l0LUlUJyAgICBcclxuICApOiBzdHJpbmcge1xyXG4gICAgaWYgKGlzTmFOKHZhbHVlKSkgcmV0dXJuICcnO1xyXG5cclxuICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlLCB7XHJcbiAgICAgIHN0eWxlOiAnZGVjaW1hbCcsXHJcbiAgICAgIHVzZUdyb3VwaW5nOiB0cnVlLFxyXG4gICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxzLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IGRlY2ltYWxzXHJcbiAgICB9KS5mb3JtYXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGV4dCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcclxuICAgIHJldHVybiBUb0JvdW5kQXJyb3dzKHRoaXMsIFtcclxuICAgICAgJ2Zvcm1hdERhdGUnLFxyXG4gICAgICAnZm9ybWF0VGltZScsXHJcbiAgICAgICdmb3JtYXREYXRlVGltZScsXHJcbiAgICAgICdmb3JtYXRDdXJyZW5jeScsXHJcbiAgICAgICdmb3JtYXROdW1iZXInXHJcbiAgICBdKTtcclxuICB9XHJcbiAgXHJcbn1cclxuIl19