@mediusinc/mng-commons 5.0.0-rc.2 → 5.0.0-rc.4
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.
- package/core/data-providers/base-data-provider.factory.d.ts +13 -0
- package/core/data-providers/base.data-provider.d.ts +2 -14
- package/core/descriptors/editor.descriptor.d.ts +1 -1
- package/core/descriptors/tableview.descriptor.d.ts +5 -5
- package/core/directives/component.directive.d.ts +2 -2
- package/core/index.d.ts +1 -0
- package/core/security/permission.service.d.ts +1 -0
- package/core/services/commons-router.service.d.ts +3 -3
- package/core/services/commons.service.d.ts +31 -42
- package/core/services/tokens/module-config.token.d.ts +2 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +3 -3
- package/esm2022/core/components/pages/error/error.page.component.mjs +3 -3
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +3 -3
- package/esm2022/core/data-providers/base-data-provider.factory.mjs +28 -0
- package/esm2022/core/data-providers/base.data-provider.mjs +1 -31
- package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
- package/esm2022/core/directives/component.directive.mjs +10 -7
- package/esm2022/core/index.mjs +2 -1
- package/esm2022/core/security/permission.service.mjs +4 -2
- package/esm2022/core/services/commons-init.service.mjs +2 -2
- package/esm2022/core/services/commons-router.service.mjs +16 -15
- package/esm2022/core/services/commons.service.mjs +109 -166
- package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +4 -4
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +31 -0
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -31
- package/esm2022/form/api/index.mjs +2 -1
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +92 -83
- package/esm2022/form/components/dropdown/dropdown.component.mjs +145 -87
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +8 -0
- package/esm2022/model/descriptors/enum.descriptor.mjs +3 -6
- package/esm2022/model/descriptors/model.descriptor.mjs +22 -9
- package/esm2022/model/descriptors/type.descriptor.mjs +3 -9
- package/esm2022/model/index.mjs +3 -1
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +33 -0
- package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -31
- package/esm2022/table/api/descriptors/sort.descriptor.mjs +2 -2
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +89 -0
- package/esm2022/table/api/descriptors/table.descriptor.mjs +4 -139
- package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +97 -0
- package/esm2022/table/api/index.mjs +4 -1
- package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +6 -7
- package/esm2022/table/components/column-value/column-value.component.mjs +2 -2
- package/esm2022/table/components/table/table.component.mjs +5 -5
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +2 -2
- package/esm2022/table/services/data-list.service.mjs +1 -1
- package/esm2022/tableview/action/components/action/action.component.mjs +140 -188
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +56 -66
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +119 -141
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +21 -39
- package/esm2022/tableview/action/components/route/action-route.component.mjs +17 -23
- package/esm2022/tableview/action/components/table/action-table.component.mjs +1 -1
- package/esm2022/tableview/action/services/action-executor.service.mjs +9 -9
- package/esm2022/tableview/action/services/navigation.service.mjs +3 -2
- package/esm2022/tableview/action/services/view-container.service.mjs +5 -21
- package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +119 -0
- package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +77 -0
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +20 -80
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +45 -0
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -32
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +3 -69
- package/esm2022/tableview/api/action/models/action-component.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/view-container.model.mjs +1 -1
- package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +33 -0
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -31
- package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +81 -0
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +7 -133
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +13 -5
- package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +4 -4
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +3 -3
- package/esm2022/tableview/api/editor/descriptors/field-validation.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +95 -0
- package/esm2022/tableview/api/editor/helpers/field-validators.mjs +7 -7
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/field-action-context.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/field-validation.model.mjs +2 -0
- package/esm2022/tableview/api/editor/models/field.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.interface.mjs +1 -1
- package/esm2022/tableview/api/editor/models/formly-field.model.mjs +1 -1
- package/esm2022/tableview/api/index.mjs +11 -1
- package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +47 -0
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +5 -46
- package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +111 -0
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +15 -168
- package/esm2022/tableview/api/tableview/helpers/files-export.mjs +2 -2
- package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +5 -5
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +53 -18
- package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +110 -0
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +2 -2
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +16 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +6 -2
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +10 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +1 -1
- package/esm2022/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +9 -11
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +16 -18
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +20 -22
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +18 -20
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +27 -6
- package/esm2022/tableview/editor/services/form-editor.service.mjs +96 -0
- package/esm2022/tableview/index.mjs +2 -1
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-core.mjs +155 -210
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +18 -18
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +236 -169
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs +43 -33
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +192 -146
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +11 -12
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +822 -590
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +564 -571
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/form/api/data-providers/lookup-data-provider.factory.d.ts +18 -0
- package/form/api/data-providers/lookup.data-provider.d.ts +2 -14
- package/form/api/index.d.ts +1 -0
- package/form/components/autocomplete/autocomplete.component.d.ts +31 -23
- package/form/components/dropdown/dropdown.component.d.ts +38 -25
- package/model/data-providers/base-from-type-data-provider.factory.d.ts +8 -0
- package/model/descriptors/enum.descriptor.d.ts +1 -2
- package/model/descriptors/model.descriptor.d.ts +11 -4
- package/model/descriptors/type.descriptor.d.ts +2 -4
- package/model/index.d.ts +1 -0
- package/package.json +7 -7
- package/table/api/data-providers/table-data-provider.factory.d.ts +18 -0
- package/table/api/data-providers/table.data-provider.d.ts +2 -14
- package/table/api/descriptors/table-descriptor.factory.d.ts +44 -0
- package/table/api/descriptors/table.descriptor.d.ts +4 -65
- package/table/api/helpers/table-descriptor-helpers.d.ts +44 -0
- package/table/api/index.d.ts +3 -0
- package/table/components/column-filter-full/column-filter-full.component.d.ts +5 -4
- package/table/components/table/table.component.d.ts +11 -11
- package/table/services/data-list.service.d.ts +9 -10
- package/tableview/action/components/action/action.component.d.ts +37 -44
- package/tableview/action/components/editor/action-editor.component.d.ts +20 -18
- package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +23 -23
- package/tableview/action/components/localization/data-language-dropdown.component.d.ts +11 -14
- package/tableview/action/components/route/action-route.component.d.ts +6 -11
- package/tableview/action/components/table/action-table.component.d.ts +3 -3
- package/tableview/action/services/view-container.service.d.ts +3 -9
- package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +36 -0
- package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +31 -0
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +17 -37
- package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +15 -0
- package/tableview/api/action/descriptors/action-link.descriptor.d.ts +1 -9
- package/tableview/api/action/descriptors/action.descriptor.d.ts +4 -27
- package/tableview/api/action/models/action-component.model.d.ts +8 -8
- package/tableview/api/action/models/execution/view-container.model.d.ts +4 -3
- package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +18 -0
- package/tableview/api/editor/data-providers/editor.data-provider.d.ts +2 -14
- package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +44 -0
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +34 -90
- package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +3 -3
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +15 -13
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +7 -6
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -2
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +8 -8
- package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +6 -6
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +1 -1
- package/tableview/api/editor/helpers/editor-descriptor-helpers.d.ts +43 -0
- package/tableview/api/editor/helpers/field-validators.d.ts +1 -1
- package/tableview/api/editor/models/editor-fields.model.d.ts +24 -22
- package/tableview/api/editor/models/field-action-context.model.d.ts +10 -8
- package/tableview/api/editor/models/field-validation.model.d.ts +26 -0
- package/tableview/api/editor/models/field.model.d.ts +0 -19
- package/tableview/api/editor/models/form-editor.event.d.ts +24 -16
- package/tableview/api/editor/models/form-editor.interface.d.ts +2 -1
- package/tableview/api/editor/models/formly-custom-field.model.d.ts +1 -1
- package/tableview/api/editor/models/formly-field.model.d.ts +4 -4
- package/tableview/api/index.d.ts +10 -0
- package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +25 -0
- package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +3 -20
- package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +49 -0
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +40 -100
- package/tableview/api/tableview/helpers/tableview-create.d.ts +2 -2
- package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +4 -2
- package/tableview/api/tableview/helpers/tableview-descriptor-helpers.d.ts +42 -0
- package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +1 -1
- package/tableview/editor/components/editor/form-editor.component.d.ts +6 -4
- package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +5 -3
- package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +1 -0
- package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +1 -1
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +3 -4
- package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +3 -4
- package/tableview/editor/helpers/editor-formly.d.ts +1 -1
- package/tableview/editor/services/form-editor.service.d.ts +39 -0
- package/tableview/index.d.ts +1 -0
- package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
- package/tableview/tableview/components/tableview/tableview.component.d.ts +1 -1
- package/version-info.json +7 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApplicationRef, Directive, ElementRef, EventEmitter, InjectionToken, Injector, Input, Output, Type, ViewContainerRef, createComponent, inject } from '@angular/core';
|
|
1
|
+
import { ApplicationRef, Directive, ElementRef, EnvironmentInjector, EventEmitter, InjectionToken, Injector, Input, Output, Type, ViewContainerRef, createComponent, inject } from '@angular/core';
|
|
2
2
|
import { CommonsInternalError } from '../error/error.model';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class ComponentDirective {
|
|
@@ -21,17 +21,20 @@ export class ComponentDirective {
|
|
|
21
21
|
if (!component) {
|
|
22
22
|
throw new CommonsInternalError(`Component cannot be created, no component (${this.component}) or no or invalid injection token provided (${this.componentIt}).`);
|
|
23
23
|
}
|
|
24
|
+
const elementInjector = this.parentInjector ?? this.injector;
|
|
25
|
+
const environmentInjector = elementInjector.get(EnvironmentInjector, null, { optional: true }) ?? this.applicationRef.injector;
|
|
24
26
|
if (this.attachToHost) {
|
|
25
27
|
this.componentRef = createComponent(component, {
|
|
26
28
|
hostElement: this.elementRef.nativeElement,
|
|
27
|
-
environmentInjector:
|
|
28
|
-
elementInjector:
|
|
29
|
+
environmentInjector: environmentInjector,
|
|
30
|
+
elementInjector: elementInjector
|
|
29
31
|
});
|
|
30
32
|
}
|
|
31
33
|
else {
|
|
32
34
|
this.viewContainerRef.clear();
|
|
33
35
|
this.componentRef = this.viewContainerRef.createComponent(component, {
|
|
34
|
-
|
|
36
|
+
environmentInjector: environmentInjector,
|
|
37
|
+
injector: elementInjector
|
|
35
38
|
});
|
|
36
39
|
}
|
|
37
40
|
if (this.inputs) {
|
|
@@ -45,7 +48,7 @@ export class ComponentDirective {
|
|
|
45
48
|
this.componentInstanceEventEmitter.next(this.componentRef.instance);
|
|
46
49
|
}
|
|
47
50
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ComponentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
48
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: ComponentDirective, isStandalone: true, selector: "[mngComponent]", inputs: { component: ["mngComponent", "component"], componentIt: ["injectionToken", "componentIt"], inputs: "inputs", attachToHost: "attachToHost",
|
|
51
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.4", type: ComponentDirective, isStandalone: true, selector: "[mngComponent]", inputs: { component: ["mngComponent", "component"], componentIt: ["injectionToken", "componentIt"], inputs: "inputs", attachToHost: "attachToHost", parentInjector: "parentInjector" }, outputs: { componentInstanceEventEmitter: "instanceCreated" }, ngImport: i0 }); }
|
|
49
52
|
}
|
|
50
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: ComponentDirective, decorators: [{
|
|
51
54
|
type: Directive,
|
|
@@ -63,10 +66,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
|
|
|
63
66
|
type: Input
|
|
64
67
|
}], attachToHost: [{
|
|
65
68
|
type: Input
|
|
66
|
-
}],
|
|
69
|
+
}], parentInjector: [{
|
|
67
70
|
type: Input
|
|
68
71
|
}], componentInstanceEventEmitter: [{
|
|
69
72
|
type: Output,
|
|
70
73
|
args: ['instanceCreated']
|
|
71
74
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL2RpcmVjdGl2ZXMvY29tcG9uZW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUVkLFNBQVMsRUFDVCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixjQUFjLEVBQ2QsUUFBUSxFQUNSLEtBQUssRUFFTCxNQUFNLEVBQ04sSUFBSSxFQUNKLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQU0xRCxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS3FCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUtwRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVLLGtDQUE2QixHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7S0E2QzVGO0lBekNHLFFBQVE7UUFDSixJQUFJLFNBQVMsR0FBbUIsSUFBSSxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMxQixTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLG9CQUFvQixDQUFDLDhDQUE4QyxJQUFJLENBQUMsU0FBUyxnREFBZ0QsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDckssQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3RCxNQUFNLG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFFN0gsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxlQUFlLENBQUMsU0FBUyxFQUFFO2dCQUMzQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhO2dCQUMxQyxtQkFBbUIsRUFBRSxtQkFBbUI7Z0JBQ3hDLGVBQWUsRUFBRSxlQUFlO2FBQ25DLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBTSxTQUFTLEVBQUU7Z0JBQ3RFLG1CQUFtQixFQUFFLG1CQUFtQjtnQkFDeEMsUUFBUSxFQUFFLGVBQWU7YUFDNUIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2QsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs4R0F2RFEsa0JBQWtCO2tHQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCOzhCQU9tQyxTQUFTO3NCQUF4QyxLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGNBQWMsRUFBQztnQkFDSSxXQUFXO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFDO2dCQUN2QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUM2Qiw2QkFBNkI7c0JBQS9ELE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0b3IsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUeXBlLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgY3JlYXRlQ29tcG9uZW50LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvcn0gZnJvbSAnLi4vZXJyb3IvZXJyb3IubW9kZWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW21uZ0NvbXBvbmVudF0nXG59KVxuZXhwb3J0IGNsYXNzIENvbXBvbmVudERpcmVjdGl2ZTxDPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGljYXRpb25SZWYgPSBpbmplY3QoQXBwbGljYXRpb25SZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAgIEBJbnB1dCh7YWxpYXM6ICdtbmdDb21wb25lbnQnfSkgY29tcG9uZW50PzogVHlwZTxDPjtcbiAgICBASW5wdXQoe2FsaWFzOiAnaW5qZWN0aW9uVG9rZW4nfSkgY29tcG9uZW50SXQ/OiBJbmplY3Rpb25Ub2tlbjxUeXBlPEM+PjtcbiAgICBASW5wdXQoKSBpbnB1dHM/OiB7W2tleTogc3RyaW5nXTogYW55fTtcbiAgICBASW5wdXQoKSBhdHRhY2hUb0hvc3QgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwYXJlbnRJbmplY3Rvcj86IEluamVjdG9yO1xuICAgIEBPdXRwdXQoJ2luc3RhbmNlQ3JlYXRlZCcpIHByaXZhdGUgY29tcG9uZW50SW5zdGFuY2VFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEM+KCk7XG5cbiAgICBwdWJsaWMgY29tcG9uZW50UmVmITogQ29tcG9uZW50UmVmPEM+O1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGxldCBjb21wb25lbnQ6IFR5cGU8Qz4gfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XG4gICAgICAgICAgICBjb21wb25lbnQgPSB0aGlzLmNvbXBvbmVudDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbXBvbmVudEl0KSB7XG4gICAgICAgICAgICBjb21wb25lbnQgPSB0aGlzLmluamVjdG9yLmdldCh0aGlzLmNvbXBvbmVudEl0LCBudWxsLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYENvbXBvbmVudCBjYW5ub3QgYmUgY3JlYXRlZCwgbm8gY29tcG9uZW50ICgke3RoaXMuY29tcG9uZW50fSkgb3Igbm8gb3IgaW52YWxpZCBpbmplY3Rpb24gdG9rZW4gcHJvdmlkZWQgKCR7dGhpcy5jb21wb25lbnRJdH0pLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudEluamVjdG9yID0gdGhpcy5wYXJlbnRJbmplY3RvciA/PyB0aGlzLmluamVjdG9yO1xuICAgICAgICBjb25zdCBlbnZpcm9ubWVudEluamVjdG9yID0gZWxlbWVudEluamVjdG9yLmdldChFbnZpcm9ubWVudEluamVjdG9yLCBudWxsLCB7b3B0aW9uYWw6IHRydWV9KSA/PyB0aGlzLmFwcGxpY2F0aW9uUmVmLmluamVjdG9yO1xuXG4gICAgICAgIGlmICh0aGlzLmF0dGFjaFRvSG9zdCkge1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgaG9zdEVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IGVudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgZWxlbWVudEluamVjdG9yOiBlbGVtZW50SW5qZWN0b3JcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQ8YW55Pihjb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbnZpcm9ubWVudEluamVjdG9yLFxuICAgICAgICAgICAgICAgIGluamVjdG9yOiBlbGVtZW50SW5qZWN0b3JcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGlucHV0IGluIHRoaXMuaW5wdXRzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuc2V0SW5wdXQoaW5wdXQsIHRoaXMuaW5wdXRzW2lucHV0XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdHRhY2hUb0hvc3QpIHtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25SZWYuYXR0YWNoVmlldyh0aGlzLmNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlRXZlbnRFbWl0dGVyLm5leHQodGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuICAgIH1cbn1cbiJdfQ==
|
package/esm2022/core/index.mjs
CHANGED
|
@@ -11,6 +11,7 @@ export * from './data-list/data-list-params-helpers';
|
|
|
11
11
|
export * from './data-list/filter-match.model';
|
|
12
12
|
// data-providers
|
|
13
13
|
export * from './data-providers/base.data-provider';
|
|
14
|
+
export * from './data-providers/base-data-provider.factory';
|
|
14
15
|
export * from './data-providers/lookup.data-provider';
|
|
15
16
|
// descriptors
|
|
16
17
|
export * from './descriptors/action.descriptor';
|
|
@@ -102,4 +103,4 @@ export * from './styles/style.model';
|
|
|
102
103
|
export * from './styles/style-constants';
|
|
103
104
|
// provide
|
|
104
105
|
export * from './provide';
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb3JlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTO0FBQ1QsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGtDQUFrQyxDQUFDO0FBRWpELGFBQWE7QUFDYixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx1REFBdUQsQ0FBQztBQUV0RSxZQUFZO0FBQ1osY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsaUJBQWlCO0FBQ2pCLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWM7QUFDZCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxhQUFhO0FBQ2IsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsUUFBUTtBQUNSLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxRQUFRO0FBQ1IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsVUFBVTtBQUNWLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxPQUFPO0FBQ1AsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFFakMsTUFBTTtBQUNOLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLFNBQVM7QUFDVCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLFFBQVE7QUFDUixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLFVBQVU7QUFDVixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsV0FBVztBQUNYLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxTQUFTO0FBQ1QsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTztBQUNQLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsV0FBVztBQUNYLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsV0FBVztBQUNYLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMseUNBQXlDLENBQUM7QUFFeEQsU0FBUztBQUNULGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxVQUFVO0FBQ1YsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhY3Rpb25cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2FjdGlvbi1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL2FjdGlvbi1wYXJhbWV0ZXJzLm1vZGVsJztcblxuLy8gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24td3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BhZ2VzL2Vycm9yL2Vycm9yLnBhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wYWdlcy9ub3QtZm91bmQvbm90LWZvdW5kLnBhZ2UuY29tcG9uZW50JztcblxuLy8gZGF0YS1saXN0XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtbGlzdC9kYXRhLWxpc3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLWxpc3QvZGF0YS1saXN0LXBhcmFtcy1oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1saXN0L2ZpbHRlci1tYXRjaC5tb2RlbCc7XG5cbi8vIGRhdGEtcHJvdmlkZXJzXG5leHBvcnQgKiBmcm9tICcuL2RhdGEtcHJvdmlkZXJzL2Jhc2UuZGF0YS1wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtcHJvdmlkZXJzL2Jhc2UtZGF0YS1wcm92aWRlci5mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS1wcm92aWRlcnMvbG9va3VwLmRhdGEtcHJvdmlkZXInO1xuXG4vLyBkZXNjcmlwdG9yc1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy9hY3Rpb24uZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2NyaXB0b3JzL2NvbHVtbi5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvZWRpdG9yLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy9lbnVtLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy9maWx0ZXIuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2NyaXB0b3JzL2xvb2t1cC5kZXNjcmlwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZGVzY3JpcHRvcnMvbW9kZWwuZGVzY3JpcHRvcic7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2NyaXB0b3JzL3RhYmxlLmRlc2NyaXB0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZXNjcmlwdG9ycy90YWJsZXZpZXcuZGVzY3JpcHRvcic7XG5cbi8vIGRpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9jb21wb25lbnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kaWFsb2cta2V5ZG93bi1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcblxuLy8gZW51bXNcbmV4cG9ydCAqIGZyb20gJy4vZW51bS9lbnVtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bS9lbnVtLWhlbHBlcnMnO1xuXG4vLyBlcnJvclxuZXhwb3J0ICogZnJvbSAnLi9lcnJvci9lcnJvci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yL2Vycm9yLWhhbmRsZXInO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci9lcnJvci1oZWxwZXJzJztcblxuLy8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2NvZXJjaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9kYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9ub3RpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL29iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvcm91dGUnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL3N0cmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvdHlwZS1oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy90ZW1wbGF0ZXMnO1xuXG4vLyBpMThuXG5leHBvcnQgKiBmcm9tICcuL2kxOG4vaTE4bi1jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL2kxOG4tZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pMThuL2kxOG4tdHlwZSc7XG5cbi8vIGxvZ1xuZXhwb3J0ICogZnJvbSAnLi9sb2cvbG9nLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nL2xvZy1wdWJsaXNoZXItY29uc29sZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9nL2xvZ2dlci5zZXJ2aWNlJztcblxuLy8gbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jbGFzcy1hdHRyaWJ1dGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY2xhc3Mtc2VydmljZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9nZXR0ZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvaTE4bi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9tZW51Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3VzZXIubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdmVyc2lvbi5tb2RlbCc7XG5cbi8vIHBpcGVzXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2Jvb2xlYW4ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2NsYXNzLW1hcC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZW51bS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZW51bWVyYXRlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9lbnVtZXJhdGUtYXN5bmMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2dldHRlci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvaTE4bi1wcm9wZXJ0eS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvanNvbi1wYXRoLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9wYXJhbWV0cml6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvdGVtcGxhdGUucGlwZSc7XG5cbi8vIHJlZmxlY3RcbmV4cG9ydCAqIGZyb20gJy4vcmVmbGVjdC90eXBlLWVudW0tZGVjb3JhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmbGVjdC90eXBlLWVudW0tbWV0YWRhdGEnO1xuXG4vLyByZWdpc3RyeVxuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3RyeS9yZWdpc3RyeS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZ2lzdHJ5L3R5cGUtcmVnaXN0cnknO1xuXG4vLyByb3V0ZXJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyL3JvdXRlLWJ1aWxkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXIvcm91dGVyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyL3JvdXRlcy1idWlsZGVyJztcblxuLy8gcnhqc1xuZXhwb3J0ICogZnJvbSAnLi9yeGpzL21hcC1kYXRhLWxpc3QtcmVzdWx0LW9wZXJhdG9yJztcblxuLy8gc2VjdXJpdHlcbmV4cG9ydCAqIGZyb20gJy4vc2VjdXJpdHkvcGVybWlzc2lvbi5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyaXR5L3Blcm1pc3Npb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyaXR5L3Blcm1pc3Npb24taGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyaXR5L3Blcm1pc3Npb25zLm1vZGVsJztcblxuLy8gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvcHJvdmlkZXJzL2NvbW1vbnMtaW5pdC5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3Rva2Vucy9icm93c2VyLXN0b3JhZ2UudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy90b2tlbnMvY29tbW9ucy1pbml0LnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdG9rZW5zL2xvZy1wdWJsaXNoZXIudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy90b2tlbnMvbW9kdWxlLWNvbmZpZy50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvbW1vbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NvbW1vbnMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29tbW9ucy1pbml0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb21tb25zLXJvdXRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvbG9jYWwtc3RvcmFnZS1jb25maWcuc2VydmljZSc7XG5cbi8vIHN0eWxlc1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZXMvc3R5bGUtY29uc3RhbnRzJztcblxuLy8gcHJvdmlkZVxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlJztcbiJdfQ==
|
|
@@ -2,6 +2,7 @@ import { Injectable, Injector, inject } from '@angular/core';
|
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { combineLatest, of } from 'rxjs';
|
|
4
4
|
import { map } from 'rxjs/operators';
|
|
5
|
+
import { toObservable } from '../helpers/coercion';
|
|
5
6
|
import { LoggerService } from '../log/logger.service';
|
|
6
7
|
import { CommonsService } from '../services/commons.service';
|
|
7
8
|
import { isPermitted } from './permission-helpers';
|
|
@@ -13,6 +14,7 @@ export class PermissionService {
|
|
|
13
14
|
this.injector = inject(Injector);
|
|
14
15
|
this.commons = inject(CommonsService);
|
|
15
16
|
this.logger = inject(LoggerService).create('AuthorizationService');
|
|
17
|
+
this.userRoles$ = toObservable(this.commons.userRoles());
|
|
16
18
|
}
|
|
17
19
|
isPermitted(permissions, route, actionCtx) {
|
|
18
20
|
switch (permissions.authorizationType) {
|
|
@@ -23,7 +25,7 @@ export class PermissionService {
|
|
|
23
25
|
case PermissionTypeEnum.Service:
|
|
24
26
|
return this.isPermittedService(permissions, route, actionCtx);
|
|
25
27
|
default:
|
|
26
|
-
return this.
|
|
28
|
+
return this.userRoles$.pipe(map(ur => isPermitted(permissions, ur)));
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
isPermittedAll(permission, route, actionCtx) {
|
|
@@ -46,4 +48,4 @@ export class PermissionService {
|
|
|
46
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: PermissionService, decorators: [{
|
|
47
49
|
type: Injectable
|
|
48
50
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9zcmMvc2VjdXJpdHkvcGVybWlzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQXlCLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRS9ELE9BQU8sRUFBYSxhQUFhLEVBQUUsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUF5QyxrQkFBa0IsRUFBYyxNQUFNLHFCQUFxQixDQUFDOztBQUc1RyxNQUFNLE9BQU8saUJBQWlCO0lBRDlCO1FBRXFCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFdkUsZUFBVSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7S0ErQi9EO0lBN0JVLFdBQVcsQ0FBQyxXQUF5QixFQUFFLEtBQThCLEVBQUUsU0FBc0Q7UUFDaEksUUFBUSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNwQyxLQUFLLGtCQUFrQixDQUFDLEdBQUc7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUE4QixFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNqRixLQUFLLGtCQUFrQixDQUFDLEdBQUc7Z0JBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUE4QixFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNqRixLQUFLLGtCQUFrQixDQUFDLE9BQU87Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQWtDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3pGO2dCQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsVUFBMkIsRUFBRSxLQUE4QixFQUFFLFNBQXNEO1FBQ3RJLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEosQ0FBQztJQUVPLGNBQWMsQ0FBQyxVQUEyQixFQUFFLEtBQThCLEVBQUUsU0FBc0Q7UUFDdEksT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvSSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsVUFBK0IsRUFBRSxLQUE4QixFQUFFLFNBQXNEO1FBQzlJLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkRBQTZELFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3JHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRixDQUFDOzhHQXBDUSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge3RvT2JzZXJ2YWJsZX0gZnJvbSAnLi4vaGVscGVycy9jb2VyY2lvbic7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gJy4uL2xvZy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tb25zLnNlcnZpY2UnO1xuaW1wb3J0IHtpc1Blcm1pdHRlZH0gZnJvbSAnLi9wZXJtaXNzaW9uLWhlbHBlcnMnO1xuaW1wb3J0IHtBUGVybWlzc2lvbnMsIElBY3Rpb25Db250ZXh0VmFsaWRhdGlvbiwgUGVybWlzc2lvblR5cGVFbnVtLCBQZXJtaXNzaW9uc30gZnJvbSAnLi9wZXJtaXNzaW9ucy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnMgPSBpbmplY3QoQ29tbW9uc1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpLmNyZWF0ZSgnQXV0aG9yaXphdGlvblNlcnZpY2UnKTtcblxuICAgIHByaXZhdGUgdXNlclJvbGVzJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbW1vbnMudXNlclJvbGVzKCkpO1xuXG4gICAgcHVibGljIGlzUGVybWl0dGVkKHBlcm1pc3Npb25zOiBBUGVybWlzc2lvbnMsIHJvdXRlPzogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgYWN0aW9uQ3R4PzogSUFjdGlvbkNvbnRleHRWYWxpZGF0aW9uPHVua25vd24sIHVua25vd24+KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHN3aXRjaCAocGVybWlzc2lvbnMuYXV0aG9yaXphdGlvblR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgUGVybWlzc2lvblR5cGVFbnVtLkFsbDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pc1Blcm1pdHRlZEFsbChwZXJtaXNzaW9ucyBhcyBQZXJtaXNzaW9ucy5BbGwsIHJvdXRlLCBhY3Rpb25DdHgpO1xuICAgICAgICAgICAgY2FzZSBQZXJtaXNzaW9uVHlwZUVudW0uQW55OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzUGVybWl0dGVkQW55KHBlcm1pc3Npb25zIGFzIFBlcm1pc3Npb25zLkFueSwgcm91dGUsIGFjdGlvbkN0eCk7XG4gICAgICAgICAgICBjYXNlIFBlcm1pc3Npb25UeXBlRW51bS5TZXJ2aWNlOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmlzUGVybWl0dGVkU2VydmljZShwZXJtaXNzaW9ucyBhcyBQZXJtaXNzaW9ucy5TZXJ2aWNlLCByb3V0ZSwgYWN0aW9uQ3R4KTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlclJvbGVzJC5waXBlKG1hcCh1ciA9PiBpc1Blcm1pdHRlZChwZXJtaXNzaW9ucywgdXIpKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUGVybWl0dGVkQWxsKHBlcm1pc3Npb246IFBlcm1pc3Npb25zLkFsbCwgcm91dGU/OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBhY3Rpb25DdHg/OiBJQWN0aW9uQ29udGV4dFZhbGlkYXRpb248dW5rbm93biwgdW5rbm93bj4pIHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QocGVybWlzc2lvbi5wZXJtaXNzaW9ucy5tYXAocCA9PiB0aGlzLmlzUGVybWl0dGVkKHAsIHJvdXRlLCBhY3Rpb25DdHgpKSkucGlwZShtYXAocmVzID0+IHJlcy5ldmVyeShpcCA9PiBpcCA9PT0gdHJ1ZSkpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUGVybWl0dGVkQW55KHBlcm1pc3Npb246IFBlcm1pc3Npb25zLkFueSwgcm91dGU/OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBhY3Rpb25DdHg/OiBJQWN0aW9uQ29udGV4dFZhbGlkYXRpb248dW5rbm93biwgdW5rbm93bj4pIHtcbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QocGVybWlzc2lvbi5wZXJtaXNzaW9ucy5tYXAocCA9PiB0aGlzLmlzUGVybWl0dGVkKHAsIHJvdXRlLCBhY3Rpb25DdHgpKSkucGlwZShtYXAocmVzID0+IHJlcy5zb21lKGlwID0+IGlwID09PSB0cnVlKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNQZXJtaXR0ZWRTZXJ2aWNlKHBlcm1pc3Npb246IFBlcm1pc3Npb25zLlNlcnZpY2UsIHJvdXRlPzogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgYWN0aW9uQ3R4PzogSUFjdGlvbkNvbnRleHRWYWxpZGF0aW9uPHVua25vd24sIHVua25vd24+KSB7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VJbnN0YW5jZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KHBlcm1pc3Npb24uc2VydmljZSk7XG4gICAgICAgIGlmICghc2VydmljZUluc3RhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgV0FSTklORzogU2VydmljZSBpbnN0YW5jZSBjb3VsZCBub3QgYmUgcmV0cmVpdmVkIGZvciB0eXBlICR7cGVybWlzc2lvbi5zZXJ2aWNlfWApO1xuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VydmljZUluc3RhbmNlLmlzUGVybWl0dGVkKHJvdXRlLCB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdCwgYWN0aW9uQ3R4KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -93,7 +93,7 @@ export class CommonsInitService {
|
|
|
93
93
|
this.commonsInitServiceEvents.next(CommonsInitEventEnum.CommonsInitEnd);
|
|
94
94
|
this.commonsInitServiceEvents.complete();
|
|
95
95
|
this.isInitializedSubject.next(true);
|
|
96
|
-
return this.commons.
|
|
96
|
+
return this.commons.initialize();
|
|
97
97
|
}), catchError(err => {
|
|
98
98
|
ctxLogger.warn('Commons initialization failed with error', err);
|
|
99
99
|
this.commonsInitServiceEvents.next(CommonsInitEventEnum.CommonsInitError);
|
|
@@ -108,4 +108,4 @@ export class CommonsInitService {
|
|
|
108
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: CommonsInitService, decorators: [{
|
|
109
109
|
type: Injectable
|
|
110
110
|
}] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9zZXJ2aWNlcy9jb21tb25zLWluaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFhLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2RyxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOztBQUV0RSxNQUFNLENBQU4sSUFBWSxvQkFRWDtBQVJELFdBQVksb0JBQW9CO0lBQzVCLHVGQUFnQixDQUFBO0lBQ2hCLHVHQUF3QixDQUFBO0lBQ3hCLCtHQUE0QixDQUFBO0lBQzVCLGlHQUFxQixDQUFBO0lBQ3JCLG1HQUFzQixDQUFBO0lBQ3RCLG1GQUFjLENBQUE7SUFDZCx1RkFBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBUlcsb0JBQW9C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WUFDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0EvRlEsa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBCYWNrZW5kLCBIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2VNYXAsIG9mLCB0YWtlLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7Q29tbW9uc0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuL2NvbW1vbnMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7Q29tbW9uc1JvdXRlclNlcnZpY2V9IGZyb20gJy4vY29tbW9ucy1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuL2NvbW1vbnMuc2VydmljZSc7XG5pbXBvcnQge0NPTU1PTlNfSU5JVElBTElaRVJfSVR9IGZyb20gJy4vdG9rZW5zL2NvbW1vbnMtaW5pdC50b2tlbic7XG5pbXBvcnQge0xPR19QVUJMSVNIRVJTfSBmcm9tICcuL3Rva2Vucy9sb2ctcHVibGlzaGVyLnRva2VuJztcbmltcG9ydCB7Q09NTU9OU19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuL3Rva2Vucy9tb2R1bGUtY29uZmlnLnRva2VuJztcblxuZXhwb3J0IGVudW0gQ29tbW9uc0luaXRFdmVudEVudW0ge1xuICAgIENvbW1vbnNJbml0U3RhcnQsXG4gICAgQ29uZmlnU291cmNlTW9kdWxlTG9hZGVkLFxuICAgIENvbmZpZ1NvdXJjZVByb2plY3RFbnZMb2FkZWQsXG4gICAgQ29uZmlnU291cmNlSnNvbkFkZGVkLFxuICAgIENvbmZpZ1NvdXJjZUpzb25Mb2FkZWQsXG4gICAgQ29tbW9uc0luaXRFbmQsXG4gICAgQ29tbW9uc0luaXRFcnJvclxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tbW9uc0luaXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IGluamVjdChMb2dnZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ1B1Ymxpc2hlcnMgPSBpbmplY3QoTE9HX1BVQkxJU0hFUlMsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENvbW1vbnNDb25maWd1cmF0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNSb3V0ZXIgPSBpbmplY3QoQ29tbW9uc1JvdXRlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kdWxlQ29uZmlnID0gaW5qZWN0KENPTU1PTlNfTU9EVUxFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zSW5pdGlhbGl6ZXJzID0gaW5qZWN0KENPTU1PTlNfSU5JVElBTElaRVJfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGh0dHBDbGllbnQhOiBIdHRwQ2xpZW50O1xuXG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBjb21tb25zSW5pdFNlcnZpY2VFdmVudHMgPSBuZXcgU3ViamVjdDxDb21tb25zSW5pdEV2ZW50RW51bT4oKTtcblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzJCgpOiBPYnNlcnZhYmxlPENvbW1vbnNJbml0RXZlbnRFbnVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbW1vbnNJbml0U2VydmljZUV2ZW50cy5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0aWFsaXplKGhhbmRsZXI6IEh0dHBCYWNrZW5kKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih2b2lkIDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgTG9nZ2VyU2VydmljZS5jb25maWd1cmUoe3RpbWVzdGFtcEZvcm1hdDogdGhpcy5tb2R1bGVDb25maWc/LmxvZz8udGltZXN0YW1wRm9ybWF0fSk7XG5cbiAgICAgICAgY29uc3QgY3R4TG9nZ2VyID0gdGhpcy5sb2dnZXIuY3JlYXRlKCdDb21tb25zSW5pdFNlcnZpY2UnKTtcbiAgICAgICAgY3R4TG9nZ2VyLmRlYnVnKCdDb21tb25zIGluaXRpYWxpemF0aW9uIGlzIHN0YXJ0aW5nJyk7XG4gICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29tbW9uc0luaXRTdGFydCk7XG5cbiAgICAgICAgLy8gaW5pdCBodHRwIGNsaWVudFxuICAgICAgICB0aGlzLmh0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChoYW5kbGVyKTtcblxuICAgICAgICAvLyBpbml0IHJvdXRlclxuICAgICAgICB0aGlzLmNvbW1vbnNSb3V0ZXIuaW5pdGlhbGl6ZSgpO1xuXG4gICAgICAgIC8vIGluaXQgY29uZmlndXJhdGlvbnMgd2l0aCBzZXR0aW5ncyBmcm9tIG1vZHVsZSBjb25maWdcbiAgICAgICAgdGhpcy5jb25maWcuaW5pdCh0aGlzLmh0dHBDbGllbnQsIHRoaXMubG9nZ2VyKTtcbiAgICAgICAgdGhpcy5jb25maWcuYWRkTW9kdWxlQ29uZmlnU291cmNlKHRoaXMubW9kdWxlQ29uZmlnID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29uZmlnU291cmNlTW9kdWxlTG9hZGVkKTtcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEVudmlyb25tZW50U291cmNlKHRoaXMubW9kdWxlQ29uZmlnLmNvbmZpZ3VyYXRpb24ucHJvamVjdEVudmlyb25tZW50KTtcbiAgICAgICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29uZmlnU291cmNlUHJvamVjdEVudkxvYWRlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbml0IGNvbmZpZ3VyYXRpb25zIHdpdGggc2V0dGluZ3MgZnJvbSBtb2R1bGUgY29uZmlnIGZvciBqc29uIHNvdXJjZVxuICAgICAgICBpZiAoISh0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uc2tpcEpzb25Tb3VyY2VJbml0ID8/IGZhbHNlKSkge1xuICAgICAgICAgICAgY29uc3QganNvblNvdXJjZUVuYWJsZUVudlByb2QgPSB0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uanNvblNvdXJjZUVuYWJsZUVudlByb2QgPz8gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBqc29uU291cmNlID0gdGhpcy5tb2R1bGVDb25maWc/LmNvbmZpZ3VyYXRpb24/Lmpzb25Tb3VyY2U7XG4gICAgICAgICAgICBpZiAoIWpzb25Tb3VyY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5hZGRKc29uU291cmNlKHtlbmFibGVFbnZQcm9kOiBqc29uU291cmNlRW5hYmxlRW52UHJvZH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGpzb25Tb3VyY2UpKSB7XG4gICAgICAgICAgICAgICAganNvblNvdXJjZS5mb3JFYWNoKHNvdXJjZSA9PiB0aGlzLmNvbmZpZy5hZGRKc29uU291cmNlKHt1cmw6IHNvdXJjZSwgZW5hYmxlRW52UHJvZDoganNvblNvdXJjZUVuYWJsZUVudlByb2R9KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEpzb25Tb3VyY2Uoe3VybDoganNvblNvdXJjZSwgZW5hYmxlRW52UHJvZDoganNvblNvdXJjZUVuYWJsZUVudlByb2R9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29uZmlnU291cmNlSnNvbkFkZGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5sb2FkSnNvbkNvbmZpZ3VyYXRpb25zKCkucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoISh0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uc2tpcEpzb25Tb3VyY2VJbml0ID8/IGZhbHNlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1vbnNJbml0U2VydmljZUV2ZW50cy5uZXh0KENvbW1vbnNJbml0RXZlbnRFbnVtLkNvbmZpZ1NvdXJjZUpzb25Mb2FkZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpbml0IGxvZ2dlclxuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZywgdGhpcy5sb2dQdWJsaXNoZXJzID8/IFtdKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbW1vbnNJbml0aWFsaXplcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4TG9nZ2VyLmRlYnVnKCdQcm9qZWN0IGluaXRpYWxpemVycyBhcmUgYmVpbmcgaW5pdGlhbGl6ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QodGhpcy5jb21tb25zSW5pdGlhbGl6ZXJzLm1hcChjaSA9PiBjaSgpKSkucGlwZShtYXAocmVzID0+IHJlcykpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY3R4TG9nZ2VyLmRlYnVnKCdDb21tb25zIGluaXRpYWxpemF0aW9uIGlzIGZpbmlzaGVkJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25zSW5pdFNlcnZpY2VFdmVudHMubmV4dChDb21tb25zSW5pdEV2ZW50RW51bS5Db21tb25zSW5pdEVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25zSW5pdFNlcnZpY2VFdmVudHMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tbW9ucy5yZXNldCgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gICAgICAgICAgICAgICAgY3R4TG9nZ2VyLndhcm4oJ0NvbW1vbnMgaW5pdGlhbGl6YXRpb24gZmFpbGVkIHdpdGggZXJyb3InLCBlcnIpO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29tbW9uc0luaXRFcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25zSW5pdFNlcnZpY2VFdmVudHMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqZWN0Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1pbml0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NyYy9zZXJ2aWNlcy9jb21tb25zLWluaXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFhLGFBQWEsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2RyxPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOztBQUV0RSxNQUFNLENBQU4sSUFBWSxvQkFRWDtBQVJELFdBQVksb0JBQW9CO0lBQzVCLHVGQUFnQixDQUFBO0lBQ2hCLHVHQUF3QixDQUFBO0lBQ3hCLCtHQUE0QixDQUFBO0lBQzVCLGlHQUFxQixDQUFBO0lBQ3JCLG1HQUFzQixDQUFBO0lBQ3RCLG1GQUFjLENBQUE7SUFDZCx1RkFBZ0IsQ0FBQTtBQUNwQixDQUFDLEVBUlcsb0JBQW9C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WUFDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0EvRlEsa0JBQWtCO2tIQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBCYWNrZW5kLCBIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWVyZ2VNYXAsIG9mLCB0YWtlLCB0aHJvd0Vycm9yfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y2F0Y2hFcnJvciwgbWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7Q29tbW9uc0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuL2NvbW1vbnMtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7Q29tbW9uc1JvdXRlclNlcnZpY2V9IGZyb20gJy4vY29tbW9ucy1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlfSBmcm9tICcuL2NvbW1vbnMuc2VydmljZSc7XG5pbXBvcnQge0NPTU1PTlNfSU5JVElBTElaRVJfSVR9IGZyb20gJy4vdG9rZW5zL2NvbW1vbnMtaW5pdC50b2tlbic7XG5pbXBvcnQge0xPR19QVUJMSVNIRVJTfSBmcm9tICcuL3Rva2Vucy9sb2ctcHVibGlzaGVyLnRva2VuJztcbmltcG9ydCB7Q09NTU9OU19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuL3Rva2Vucy9tb2R1bGUtY29uZmlnLnRva2VuJztcblxuZXhwb3J0IGVudW0gQ29tbW9uc0luaXRFdmVudEVudW0ge1xuICAgIENvbW1vbnNJbml0U3RhcnQsXG4gICAgQ29uZmlnU291cmNlTW9kdWxlTG9hZGVkLFxuICAgIENvbmZpZ1NvdXJjZVByb2plY3RFbnZMb2FkZWQsXG4gICAgQ29uZmlnU291cmNlSnNvbkFkZGVkLFxuICAgIENvbmZpZ1NvdXJjZUpzb25Mb2FkZWQsXG4gICAgQ29tbW9uc0luaXRFbmQsXG4gICAgQ29tbW9uc0luaXRFcnJvclxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tbW9uc0luaXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IGluamVjdChMb2dnZXJTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ1B1Ymxpc2hlcnMgPSBpbmplY3QoTE9HX1BVQkxJU0hFUlMsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENvbW1vbnNDb25maWd1cmF0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNSb3V0ZXIgPSBpbmplY3QoQ29tbW9uc1JvdXRlclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kdWxlQ29uZmlnID0gaW5qZWN0KENPTU1PTlNfTU9EVUxFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zSW5pdGlhbGl6ZXJzID0gaW5qZWN0KENPTU1PTlNfSU5JVElBTElaRVJfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGh0dHBDbGllbnQhOiBIdHRwQ2xpZW50O1xuXG4gICAgcHJpdmF0ZSBpc0luaXRpYWxpemVkU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSBjb21tb25zSW5pdFNlcnZpY2VFdmVudHMgPSBuZXcgU3ViamVjdDxDb21tb25zSW5pdEV2ZW50RW51bT4oKTtcblxuICAgIHB1YmxpYyBnZXQgZXZlbnRzJCgpOiBPYnNlcnZhYmxlPENvbW1vbnNJbml0RXZlbnRFbnVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbW1vbnNJbml0U2VydmljZUV2ZW50cy5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzSW5pdGlhbGl6ZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0luaXRpYWxpemVkU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0aWFsaXplKGhhbmRsZXI6IEh0dHBCYWNrZW5kKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih2b2lkIDApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWU7XG5cbiAgICAgICAgTG9nZ2VyU2VydmljZS5jb25maWd1cmUoe3RpbWVzdGFtcEZvcm1hdDogdGhpcy5tb2R1bGVDb25maWc/LmxvZz8udGltZXN0YW1wRm9ybWF0fSk7XG5cbiAgICAgICAgY29uc3QgY3R4TG9nZ2VyID0gdGhpcy5sb2dnZXIuY3JlYXRlKCdDb21tb25zSW5pdFNlcnZpY2UnKTtcbiAgICAgICAgY3R4TG9nZ2VyLmRlYnVnKCdDb21tb25zIGluaXRpYWxpemF0aW9uIGlzIHN0YXJ0aW5nJyk7XG4gICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29tbW9uc0luaXRTdGFydCk7XG5cbiAgICAgICAgLy8gaW5pdCBodHRwIGNsaWVudFxuICAgICAgICB0aGlzLmh0dHBDbGllbnQgPSBuZXcgSHR0cENsaWVudChoYW5kbGVyKTtcblxuICAgICAgICAvLyBpbml0IHJvdXRlclxuICAgICAgICB0aGlzLmNvbW1vbnNSb3V0ZXIuaW5pdGlhbGl6ZSgpO1xuXG4gICAgICAgIC8vIGluaXQgY29uZmlndXJhdGlvbnMgd2l0aCBzZXR0aW5ncyBmcm9tIG1vZHVsZSBjb25maWdcbiAgICAgICAgdGhpcy5jb25maWcuaW5pdCh0aGlzLmh0dHBDbGllbnQsIHRoaXMubG9nZ2VyKTtcbiAgICAgICAgdGhpcy5jb25maWcuYWRkTW9kdWxlQ29uZmlnU291cmNlKHRoaXMubW9kdWxlQ29uZmlnID8/IHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29uZmlnU291cmNlTW9kdWxlTG9hZGVkKTtcbiAgICAgICAgaWYgKHRoaXMubW9kdWxlQ29uZmlnPy5jb25maWd1cmF0aW9uPy5wcm9qZWN0RW52aXJvbm1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEVudmlyb25tZW50U291cmNlKHRoaXMubW9kdWxlQ29uZmlnLmNvbmZpZ3VyYXRpb24ucHJvamVjdEVudmlyb25tZW50KTtcbiAgICAgICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29uZmlnU291cmNlUHJvamVjdEVudkxvYWRlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbml0IGNvbmZpZ3VyYXRpb25zIHdpdGggc2V0dGluZ3MgZnJvbSBtb2R1bGUgY29uZmlnIGZvciBqc29uIHNvdXJjZVxuICAgICAgICBpZiAoISh0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uc2tpcEpzb25Tb3VyY2VJbml0ID8/IGZhbHNlKSkge1xuICAgICAgICAgICAgY29uc3QganNvblNvdXJjZUVuYWJsZUVudlByb2QgPSB0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uanNvblNvdXJjZUVuYWJsZUVudlByb2QgPz8gZmFsc2U7XG4gICAgICAgICAgICBjb25zdCBqc29uU291cmNlID0gdGhpcy5tb2R1bGVDb25maWc/LmNvbmZpZ3VyYXRpb24/Lmpzb25Tb3VyY2U7XG4gICAgICAgICAgICBpZiAoIWpzb25Tb3VyY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5hZGRKc29uU291cmNlKHtlbmFibGVFbnZQcm9kOiBqc29uU291cmNlRW5hYmxlRW52UHJvZH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGpzb25Tb3VyY2UpKSB7XG4gICAgICAgICAgICAgICAganNvblNvdXJjZS5mb3JFYWNoKHNvdXJjZSA9PiB0aGlzLmNvbmZpZy5hZGRKc29uU291cmNlKHt1cmw6IHNvdXJjZSwgZW5hYmxlRW52UHJvZDoganNvblNvdXJjZUVuYWJsZUVudlByb2R9KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmFkZEpzb25Tb3VyY2Uoe3VybDoganNvblNvdXJjZSwgZW5hYmxlRW52UHJvZDoganNvblNvdXJjZUVuYWJsZUVudlByb2R9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY29tbW9uc0luaXRTZXJ2aWNlRXZlbnRzLm5leHQoQ29tbW9uc0luaXRFdmVudEVudW0uQ29uZmlnU291cmNlSnNvbkFkZGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5sb2FkSnNvbkNvbmZpZ3VyYXRpb25zKCkucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoISh0aGlzLm1vZHVsZUNvbmZpZz8uY29uZmlndXJhdGlvbj8uc2tpcEpzb25Tb3VyY2VJbml0ID8/IGZhbHNlKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbW1vbnNJbml0U2VydmljZUV2ZW50cy5uZXh0KENvbW1vbnNJbml0RXZlbnRFbnVtLkNvbmZpZ1NvdXJjZUpzb25Mb2FkZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBpbml0IGxvZ2dlclxuICAgICAgICAgICAgICAgIExvZ2dlclNlcnZpY2UuaW5pdCh0aGlzLmNvbmZpZywgdGhpcy5sb2dQdWJsaXNoZXJzID8/IFtdKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbW1vbnNJbml0aWFsaXplcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY3R4TG9nZ2VyLmRlYnVnKCdQcm9qZWN0IGluaXRpYWxpemVycyBhcmUgYmVpbmcgaW5pdGlhbGl6ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QodGhpcy5jb21tb25zSW5pdGlhbGl6ZXJzLm1hcChjaSA9PiBjaSgpKSkucGlwZShtYXAocmVzID0+IHJlcykpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY3R4TG9nZ2VyLmRlYnVnKCdDb21tb25zIGluaXRpYWxpemF0aW9uIGlzIGZpbmlzaGVkJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25zSW5pdFNlcnZpY2VFdmVudHMubmV4dChDb21tb25zSW5pdEV2ZW50RW51bS5Db21tb25zSW5pdEVuZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25zSW5pdFNlcnZpY2VFdmVudHMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5pdGlhbGl6ZWRTdWJqZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29tbW9ucy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcbiAgICAgICAgICAgICAgICBjdHhMb2dnZXIud2FybignQ29tbW9ucyBpbml0aWFsaXphdGlvbiBmYWlsZWQgd2l0aCBlcnJvcicsIGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21tb25zSW5pdFNlcnZpY2VFdmVudHMubmV4dChDb21tb25zSW5pdEV2ZW50RW51bS5Db21tb25zSW5pdEVycm9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbW1vbnNJbml0U2VydmljZUV2ZW50cy5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsaXplZFN1YmplY3QubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
2
3
|
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, RouteConfigLoadEnd, RouteConfigLoadStart, Router } from '@angular/router';
|
|
3
4
|
import { ReplaySubject } from 'rxjs';
|
|
4
5
|
import { first } from 'rxjs/operators';
|
|
5
6
|
import { LoggerService } from '../log/logger.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/router";
|
|
8
8
|
export class CommonsRouterService {
|
|
9
|
-
constructor(
|
|
10
|
-
this.router =
|
|
9
|
+
constructor() {
|
|
10
|
+
this.router = inject(Router);
|
|
11
11
|
this.logger = inject(LoggerService).create('CommonsRouterService');
|
|
12
12
|
this.routesLoadedPropKey = '_loadedRoutes';
|
|
13
13
|
this.currentNavigationModuleKeys = [];
|
|
14
14
|
this.lazyLoadedRoutesConfig = {};
|
|
15
|
-
|
|
16
|
-
getRouteLoadedChildren(path) {
|
|
17
|
-
return this.getOrCreateRouteForModule(this.getModulePathFromRouterLink(path)).loadedRoutes;
|
|
18
|
-
}
|
|
19
|
-
getRouteLoadedChildren$(path) {
|
|
20
|
-
return this.getOrCreateRouteForModule(this.getModulePathFromRouterLink(path)).loadedRoutesSubject.asObservable().pipe(first());
|
|
21
|
-
}
|
|
22
|
-
initialize() {
|
|
23
|
-
this.router.events.subscribe(event => {
|
|
15
|
+
this.router.events.pipe(takeUntilDestroyed()).subscribe(event => {
|
|
24
16
|
if (event instanceof NavigationStart) {
|
|
25
17
|
this.startNavigation(event.url);
|
|
26
18
|
}
|
|
@@ -35,6 +27,15 @@ export class CommonsRouterService {
|
|
|
35
27
|
}
|
|
36
28
|
});
|
|
37
29
|
}
|
|
30
|
+
getRouteLoadedChildren(path) {
|
|
31
|
+
return this.getOrCreateRouteForModule(this.getModulePathFromRouterLink(path)).loadedRoutes;
|
|
32
|
+
}
|
|
33
|
+
getRouteLoadedChildren$(path) {
|
|
34
|
+
return this.getOrCreateRouteForModule(this.getModulePathFromRouterLink(path)).loadedRoutesSubject.asObservable().pipe(first());
|
|
35
|
+
}
|
|
36
|
+
initialize() {
|
|
37
|
+
this.logger.debug('Initialized.');
|
|
38
|
+
}
|
|
38
39
|
startNavigation(url) {
|
|
39
40
|
this.currentNavigationPath = url.split('?')[0].split('#')[0];
|
|
40
41
|
this.currentNavigationModuleKeys = [];
|
|
@@ -171,10 +172,10 @@ export class CommonsRouterService {
|
|
|
171
172
|
getModulePathFromRouterLink(path) {
|
|
172
173
|
return ('/' + (Array.isArray(path) ? path.join('/') : path)).replace(/\/\//g, '/');
|
|
173
174
|
}
|
|
174
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: CommonsRouterService, deps: [
|
|
175
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: CommonsRouterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
175
176
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: CommonsRouterService }); }
|
|
176
177
|
}
|
|
177
178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: CommonsRouterService, decorators: [{
|
|
178
179
|
type: Injectable
|
|
179
|
-
}], ctorParameters: () => [
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL3NlcnZpY2VzL2NvbW1vbnMtcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFTLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBRW5LLE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBR3BELE1BQU0sT0FBTyxvQkFBb0I7SUFnQjdCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBZmpCLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDOUQsd0JBQW1CLEdBQUcsZUFBZSxDQUFDO1FBRy9DLGdDQUEyQixHQUFhLEVBQUUsQ0FBQztRQUUzQywyQkFBc0IsR0FPMUIsRUFBRSxDQUFDO0lBRThCLENBQUM7SUFFL0Isc0JBQXNCLENBQUMsSUFBNEI7UUFDdEQsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQy9GLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxJQUE0QjtRQUN2RCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIs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QTRCO1FBQzVELE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkYsQ0FBQzs4R0FwTVEsb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZSwgUm91dGVDb25maWdMb2FkRW5kLCBSb3V0ZUNvbmZpZ0xvYWRTdGFydCwgUm91dGVyLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbW1vbnNSb3V0ZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IGluamVjdChMb2dnZXJTZXJ2aWNlKS5jcmVhdGUoJ0NvbW1vbnNSb3V0ZXJTZXJ2aWNlJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXNMb2FkZWRQcm9wS2V5ID0gJ19sb2FkZWRSb3V0ZXMnO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50TmF2aWdhdGlvblBhdGg/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBjdXJyZW50TmF2aWdhdGlvbk1vZHVsZUtleXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBwcml2YXRlIGxhenlMb2FkZWRSb3V0ZXNDb25maWc6IHtcbiAgICAgICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgICAgICAgIHJvdXRlPzogUm91dGU7XG4gICAgICAgICAgICBpc0xvYWRFbmQ6IGJvb2xlYW47XG4gICAgICAgICAgICBsb2FkZWRSb3V0ZXM/OiBSb3V0ZXM7XG4gICAgICAgICAgICBsb2FkZWRSb3V0ZXNTdWJqZWN0OiBTdWJqZWN0PFJvdXRlcz47XG4gICAgICAgIH07XG4gICAgfSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cblxuICAgIHB1YmxpYyBnZXRSb3V0ZUxvYWRlZENoaWxkcmVuKHBhdGg6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pOiBSb3V0ZXMgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRPckNyZWF0ZVJvdXRlRm9yTW9kdWxlKHRoaXMuZ2V0TW9kdWxlUGF0aEZyb21Sb3V0ZXJMaW5rKHBhdGgpKS5sb2FkZWRSb3V0ZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJvdXRlTG9hZGVkQ2hpbGRyZW4kKHBhdGg6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPFJvdXRlcz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRPckNyZWF0ZVJvdXRlRm9yTW9kdWxlKHRoaXMuZ2V0TW9kdWxlUGF0aEZyb21Sb3V0ZXJMaW5rKHBhdGgpKS5sb2FkZWRSb3V0ZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlyc3QoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRpYWxpemUoKSB7XG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydE5hdmlnYXRpb24oZXZlbnQudXJsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZUNvbmZpZ0xvYWRTdGFydCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWFya05hdmlnYXRpb25Db25maWdMb2FkKGV2ZW50LnJvdXRlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZUNvbmZpZ0xvYWRFbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1hcmtOYXZpZ2F0aW9uQ29uZmlnTG9hZChldmVudC5yb3V0ZSwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbmlzaE5hdmlnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE5hdmlnYXRpb24odXJsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50TmF2aWdhdGlvblBhdGggPSB1cmwuc3BsaXQoJz8nKVswXS5zcGxpdCgnIycpWzBdO1xuICAgICAgICB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5cyA9IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluaXNoTmF2aWdhdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE5hdmlnYXRpb25Nb2R1bGVLZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TmF2aWdhdGlvbk1vZHVsZUtleXMuZm9yRWFjaChrID0+IHRoaXMuZ2V0TG9hZGVkUm91dGVzRnJvbVJvdXRlKGssIHRydWUpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uUGF0aCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtOYXZpZ2F0aW9uQ29uZmlnTG9hZChyb3V0ZTogUm91dGUsIGlzRW5kID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3Qgcm91dGVQYXRoID0gcm91dGUucGF0aCA/PyAnJztcblxuICAgICAgICBsZXQgbW9kdWxlS2V5ID0gcm91dGVQYXRoO1xuICAgICAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvblBhdGhSb3V0ZVBhdGhJZHggPSB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uUGF0aD8uaW5kZXhPZihyb3V0ZVBhdGgpID8/IC0xO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TmF2aWdhdGlvblBhdGggJiYgY3VycmVudE5hdmlnYXRpb25QYXRoUm91dGVQYXRoSWR4ID49IDApIHtcbiAgICAgICAgICAgIG1vZHVsZUtleSA9IHRoaXMuY3VycmVudE5hdmlnYXRpb25QYXRoLnN1YnN0cmluZygwLCBjdXJyZW50TmF2aWdhdGlvblBhdGhSb3V0ZVBhdGhJZHggKyByb3V0ZVBhdGgubGVuZ3RoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnROYXZpZ2F0aW9uUGF0aCAmJiByb3V0ZVBhdGggIT09IHRoaXMuY3VycmVudE5hdmlnYXRpb25QYXRoICYmICFyb3V0ZVBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAvLyB1c3VhbGx5IG1lYW5zIHRoYXQgcmVkaXJlY3QgdG8gY3VycmVudE5hdmlnYXRpb25QYXRoIHdhcyBkb25lLCBhZGRpdGlvbmFsbHksIHJvdXRlIHBhdGggd2FzIGFsc28gdHJpZ2dlcmVkIG9uIGxhenkgcm91dGVzIGxvYWRcbiAgICAgICAgICAgIG1vZHVsZUtleSA9IGAke3RoaXMuY3VycmVudE5hdmlnYXRpb25QYXRofS8ke3JvdXRlUGF0aH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0VuZCAmJiB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5cy5pbmRleE9mKG1vZHVsZUtleSkgPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5cy5wdXNoKG1vZHVsZUtleSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShgQ29uZmlnIGxvYWQgJHtpc0VuZCA/ICdlbmQnIDogJ3N0YXJ0J30gZm9yICR7bW9kdWxlS2V5fSAocm91dGVQYXRoOiAke3JvdXRlUGF0aH07IG5hdmlnYXRpb25Vcmw6ICR7dGhpcy5jdXJyZW50TmF2aWdhdGlvblBhdGh9KWApO1xuXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0T3JDcmVhdGVSb3V0ZUZvck1vZHVsZShtb2R1bGVLZXkpO1xuICAgICAgICBjb25maWcucm91dGUgPSByb3V0ZTtcbiAgICAgICAgY29uZmlnLmlzTG9hZEVuZCA9IGlzRW5kO1xuXG4gICAgICAgIGlmIChpc0VuZCkge1xuICAgICAgICAgICAgdGhpcy5nZXRMb2FkZWRSb3V0ZXNGcm9tUm91dGUobW9kdWxlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TG9hZGVkUm91dGVzRnJvbVJvdXRlKG1vZHVsZUtleTogc3RyaW5nLCBpc0ZpbmlzaCA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUNvbmZpZyA9IHRoaXMubGF6eUxvYWRlZFJvdXRlc0NvbmZpZ1ttb2R1bGVLZXldO1xuICAgICAgICBpZiAoIW1vZHVsZUNvbmZpZz8ucm91dGUgfHwgQXJyYXkuaXNBcnJheShtb2R1bGVDb25maWcubG9hZGVkUm91dGVzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyA9IG1vZHVsZUNvbmZpZy5yb3V0ZSFbdGhpcy5yb3V0ZXNMb2FkZWRQcm9wS2V5IGFzIGtleW9mIG9iamVjdF07XG5cbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZHVsZUNvbmZpZy5sb2FkZWRSb3V0ZXMpICYmIGlzRmluaXNoKSB7XG4gICAgICAgICAgICAvLyBpZiBpcyBjYWxsZWQgZnJvbSBmaW5pc2ggYW5kIG5vIGxhenkgbG9hZGVkIHJvdXRlcyBhcmUgbWF0Y2hlZCBmcm9tIHJvdXRlciBldmVudHMsIHRyeSBmaW5kaW5nIGluIHJvdXRlIGNvbmZpZywgaXQgc2hvdWxkIGJlIHRoZXJlIVxuICAgICAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoYFJvdXRlIGxvYWRlZFJvdXRlcyBmb3IgJHttb2R1bGVLZXl9IG5vdCBmb3VuZCwgc2VhcmNoaW5nIGluIHJvdXRlciBjb25maWcgbm93YCk7XG4gICAgICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuZmluZFJvdXRlSW5Sb3V0ZUNvbmZpZyhtb2R1bGVLZXkpO1xuICAgICAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgbW9kdWxlQ29uZmlnLnJvdXRlID0gcm91dGU7XG4gICAgICAgICAgICAgICAgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyA9IG1vZHVsZUNvbmZpZy5yb3V0ZSFbdGhpcy5yb3V0ZXNMb2FkZWRQcm9wS2V5IGFzIGtleW9mIG9iamVjdF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oYFJvdXRlIGxvYWRlZFJvdXRlcyBmb3IgJHttb2R1bGVLZXl9IHdlcmUgbm90IGZvdW5kIGluIHJvdXRlciBjb25maWdgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIG1vZHVsZUNvbmZpZy5sb2FkZWRSb3V0ZXNTdWJqZWN0Lm5leHQobW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyEpO1xuICAgICAgICAgICAgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlc1N1YmplY3QuY29tcGxldGUoKTtcblxuICAgICAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoYENvbmZpZyBsb2FkIGZvciAke21vZHVsZUtleX0gaXMgY29tcGxldGVgLCBtb2R1bGVDb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIGZvciByb3V0ZSBjb25maWcgYnkgbW9kdWxlIHBhdGggYnkgcmVjdXJzaXZlIHNjYW5uaW5nIG9mIHJvdXRlciBjb25maWcgdHJlZS5cbiAgICAgKiBAcGFyYW0gbW9kdWxlUGF0aCBQYXRoIG9mIG1vZHVsZSB0aGF0IGlzIHNlYXJjaGVkLlxuICAgICAqIEBwYXJhbSByb3V0ZXMgUm91dGVzIHRvIGJlIHNjYW5uZWQuIElmIG5vdCBwcm92aWRlZCwgaXQgc3RhcnRzIG9uIHJvb3Qgcm91dGVyIGNvbmZpZy5cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZFJvdXRlSW5Sb3V0ZUNvbmZpZyhtb2R1bGVQYXRoOiBzdHJpbmcsIHJvdXRlczogUm91dGVzID0gdGhpcy5yb3V0ZXIuY29uZmlnKTogUm91dGUgfCBudWxsIHtcbiAgICAgICAgaWYgKG1vZHVsZVBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBtb2R1bGVQYXRoID0gbW9kdWxlUGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHJvdXRlIG9mIHJvdXRlcykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5wYXRoID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHJvdXRlUGF0aCA9IHJvdXRlLnBhdGg7XG4gICAgICAgICAgICBpZiAocm91dGVQYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgICAgIHJvdXRlUGF0aCA9IHJvdXRlUGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGxvbmdlc3RQYXRoTWF0Y2ggPSB0aGlzLmZpbmRMb25nZXN0UGF0aE1hdGNoKG1vZHVsZVBhdGgsIHJvdXRlUGF0aCk7XG4gICAgICAgICAgICBpZiAobG9uZ2VzdFBhdGhNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aGVyZSBpcyBhIHBhcnRpYWwgb3IgZnVsbCBtYXRjaFxuICAgICAgICAgICAgaWYgKHJvdXRlLmxvYWRDaGlsZHJlbiAmJiBtb2R1bGVQYXRoID09PSBsb25nZXN0UGF0aE1hdGNoKSB7XG4gICAgICAgICAgICAgICAgLy8gaXQncyBhIGhpdCFcbiAgICAgICAgICAgICAgICByZXR1cm4gcm91dGU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJvdXRlLmxvYWRDaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KHJvdXRlW3RoaXMucm91dGVzTG9hZGVkUHJvcEtleSBhcyBrZXlvZiBvYmplY3RdKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZFJvdXRlSW5Sb3V0ZUNvbmZpZyhtb2R1bGVQYXRoLnN1YnN0cmluZyhsb25nZXN0UGF0aE1hdGNoLmxlbmd0aCwgbW9kdWxlUGF0aC5sZW5ndGgpLCByb3V0ZVt0aGlzLnJvdXRlc0xvYWRlZFByb3BLZXkgYXMga2V5b2Ygb2JqZWN0XSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocm91dGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRSb3V0ZUluUm91dGVDb25maWcobW9kdWxlUGF0aC5zdWJzdHJpbmcobG9uZ2VzdFBhdGhNYXRjaC5sZW5ndGgsIG1vZHVsZVBhdGgubGVuZ3RoKSwgcm91dGUuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBsb25nZXN0IHBhdGggbWF0Y2ggb2Ygc291cmNlIHRvIG1hdGNoIHN0cmluZy4gSWYgbWF0Y2ggaXMgJycsIGl0IGlzIGNvbnNpZGVyZWQgYXMgYSBtYXRjaCBpbiBBbmd1bGFyIHJvdXRpbmcuXG4gICAgICogQHBhcmFtIHNvdXJjZSBTb3VyY2Ugc3RyaW5nIGZyb20gb24gd2hpY2ggY29tcGFyaXNvbiBpcyBiYXNlZC5cbiAgICAgKiBAcGFyYW0gbWF0Y2ggTWF0Y2ggc3RyaW5nIHRvIHdoaWNoIHRoZSBzb3VyY2UgaXMgbWF0Y2hlZCB0by5cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZExvbmdlc3RQYXRoTWF0Y2goc291cmNlOiBzdHJpbmcsIG1hdGNoOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc291cmNlU2VnbWVudHMgPSBzb3VyY2Uuc3BsaXQoJy8nKTtcbiAgICAgICAgY29uc3QgbWF0Y2hTZWdtZW50cyA9IG1hdGNoLnNwbGl0KCcvJyk7XG5cbiAgICAgICAgaWYgKG1hdGNoU2VnbWVudHMubGVuZ3RoID09PSAxICYmIG1hdGNoU2VnbWVudHNbMF0gPT09ICcnKSB7XG4gICAgICAgICAgICAvLyBpdCdzIGEgaGl0LCBiZWNhdXNlIGVtcHR5IHJvdXRlIG11c3QgYWx3YXlzIGJlIHByb2Nlc3NlZCAoa2luZCBvZiBhIFwiYWJzdHJhY3RcIiByb3V0ZSlcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzb3VyY2VTZWdtZW50c1swXSA9PT0gbWF0Y2hTZWdtZW50c1swXSkge1xuICAgICAgICAgICAgLy8gdGhlcmUgaXMgYSBtYXRjaCwgZmluZCBob3cgbG9uZyBpdCBpc1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChzb3VyY2VTZWdtZW50c1tpXSAhPT0gbWF0Y2hTZWdtZW50c1tpXSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbmQgb2YgbWF0Y2hcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvdXJjZVNlZ21lbnRzLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRoZXJlIGlzIGZ1bGwgbWF0Y2hcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2VTZWdtZW50cy5qb2luKCcvJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9yQ3JlYXRlUm91dGVGb3JNb2R1bGUobW9kdWxlS2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhenlMb2FkZWRSb3V0ZXNDb25maWdbbW9kdWxlS2V5XSkge1xuICAgICAgICAgICAgdGhpcy5sYXp5TG9hZGVkUm91dGVzQ29uZmlnW21vZHVsZUtleV0gPSB7XG4gICAgICAgICAgICAgICAgbG9hZGVkUm91dGVzU3ViamVjdDogbmV3IFJlcGxheVN1YmplY3Q8Um91dGVzPigxKSxcbiAgICAgICAgICAgICAgICBpc0xvYWRFbmQ6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubGF6eUxvYWRlZFJvdXRlc0NvbmZpZ1ttb2R1bGVLZXldO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9kdWxlUGF0aEZyb21Sb3V0ZXJMaW5rKHBhdGg6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgcmV0dXJuICgnLycgKyAoQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGguam9pbignLycpIDogcGF0aCkpLnJlcGxhY2UoL1xcL1xcLy9nLCAnLycpO1xuICAgIH1cbn1cbiJdfQ==
|
|
180
|
+
}], ctorParameters: () => [] });
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9ucy1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc3JjL3NlcnZpY2VzL2NvbW1vbnMtcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFTLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBRW5LLE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLG9CQUFvQjtJQWlCN0I7UUFoQmlCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCx3QkFBbUIsR0FBRyxlQUFlLENBQUM7UUFHL0MsZ0NBQTJCLEdBQWEsRUFBRSxDQUFDO1FBRTNDLDJCQUFzQixHQU8xQixFQUFFLENBQUM7UUFHSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1RCxJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMs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LENBQUMsQ0FBQztnQkFDakQsU0FBUyxFQUFFLEtBQUs7YUFDbkIsQ0FBQztRQUNOLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sMkJBQTJCLENBQUMsSUFBNEI7UUFDNUQsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RixDQUFDOzhHQXZNUSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge05hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25FcnJvciwgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZSwgUm91dGVDb25maWdMb2FkRW5kLCBSb3V0ZUNvbmZpZ0xvYWRTdGFydCwgUm91dGVyLCBSb3V0ZXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSAnLi4vbG9nL2xvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbW1vbnNSb3V0ZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpLmNyZWF0ZSgnQ29tbW9uc1JvdXRlclNlcnZpY2UnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlc0xvYWRlZFByb3BLZXkgPSAnX2xvYWRlZFJvdXRlcyc7XG5cbiAgICBwcml2YXRlIGN1cnJlbnROYXZpZ2F0aW9uUGF0aD86IHN0cmluZztcbiAgICBwcml2YXRlIGN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5czogc3RyaW5nW10gPSBbXTtcblxuICAgIHByaXZhdGUgbGF6eUxvYWRlZFJvdXRlc0NvbmZpZzoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgICAgcm91dGU/OiBSb3V0ZTtcbiAgICAgICAgICAgIGlzTG9hZEVuZDogYm9vbGVhbjtcbiAgICAgICAgICAgIGxvYWRlZFJvdXRlcz86IFJvdXRlcztcbiAgICAgICAgICAgIGxvYWRlZFJvdXRlc1N1YmplY3Q6IFN1YmplY3Q8Um91dGVzPjtcbiAgICAgICAgfTtcbiAgICB9ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TmF2aWdhdGlvbihldmVudC51cmwpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFJvdXRlQ29uZmlnTG9hZFN0YXJ0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXJrTmF2aWdhdGlvbkNvbmZpZ0xvYWQoZXZlbnQucm91dGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFJvdXRlQ29uZmlnTG9hZEVuZCkge1xuICAgICAgICAgICAgICAgIHRoaXMubWFya05hdmlnYXRpb25Db25maWdMb2FkKGV2ZW50LnJvdXRlLCB0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kIHx8IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkNhbmNlbCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmluaXNoTmF2aWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Um91dGVMb2FkZWRDaGlsZHJlbihwYXRoOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+KTogUm91dGVzIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JDcmVhdGVSb3V0ZUZvck1vZHVsZSh0aGlzLmdldE1vZHVsZVBhdGhGcm9tUm91dGVyTGluayhwYXRoKSkubG9hZGVkUm91dGVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3V0ZUxvYWRlZENoaWxkcmVuJChwYXRoOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxSb3V0ZXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0T3JDcmVhdGVSb3V0ZUZvck1vZHVsZSh0aGlzLmdldE1vZHVsZVBhdGhGcm9tUm91dGVyTGluayhwYXRoKSkubG9hZGVkUm91dGVzU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKGZpcnN0KCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnSW5pdGlhbGl6ZWQuJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE5hdmlnYXRpb24odXJsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50TmF2aWdhdGlvblBhdGggPSB1cmwuc3BsaXQoJz8nKVswXS5zcGxpdCgnIycpWzBdO1xuICAgICAgICB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5cyA9IFtdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluaXNoTmF2aWdhdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudE5hdmlnYXRpb25Nb2R1bGVLZXlzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50TmF2aWdhdGlvbk1vZHVsZUtleXMuZm9yRWFjaChrID0+IHRoaXMuZ2V0TG9hZGVkUm91dGVzRnJvbVJvdXRlKGssIHRydWUpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uUGF0aCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtOYXZpZ2F0aW9uQ29uZmlnTG9hZChyb3V0ZTogUm91dGUsIGlzRW5kID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3Qgcm91dGVQYXRoID0gcm91dGUucGF0aCA/PyAnJztcblxuICAgICAgICBsZXQgbW9kdWxlS2V5ID0gcm91dGVQYXRoO1xuICAgICAgICBjb25zdCBjdXJyZW50TmF2aWdhdGlvblBhdGhSb3V0ZVBhdGhJZHggPSB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uUGF0aD8uaW5kZXhPZihyb3V0ZVBhdGgpID8/IC0xO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TmF2aWdhdGlvblBhdGggJiYgY3VycmVudE5hdmlnYXRpb25QYXRoUm91dGVQYXRoSWR4ID49IDApIHtcbiAgICAgICAgICAgIG1vZHVsZUtleSA9IHRoaXMuY3VycmVudE5hdmlnYXRpb25QYXRoLnN1YnN0cmluZygwLCBjdXJyZW50TmF2aWdhdGlvblBhdGhSb3V0ZVBhdGhJZHggKyByb3V0ZVBhdGgubGVuZ3RoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmN1cnJlbnROYXZpZ2F0aW9uUGF0aCAmJiByb3V0ZVBhdGggIT09IHRoaXMuY3VycmVudE5hdmlnYXRpb25QYXRoICYmICFyb3V0ZVBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAvLyB1c3VhbGx5IG1lYW5zIHRoYXQgcmVkaXJlY3QgdG8gY3VycmVudE5hdmlnYXRpb25QYXRoIHdhcyBkb25lLCBhZGRpdGlvbmFsbHksIHJvdXRlIHBhdGggd2FzIGFsc28gdHJpZ2dlcmVkIG9uIGxhenkgcm91dGVzIGxvYWRcbiAgICAgICAgICAgIG1vZHVsZUtleSA9IGAke3RoaXMuY3VycmVudE5hdmlnYXRpb25QYXRofS8ke3JvdXRlUGF0aH1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0VuZCAmJiB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5cy5pbmRleE9mKG1vZHVsZUtleSkgPCAwKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnROYXZpZ2F0aW9uTW9kdWxlS2V5cy5wdXNoKG1vZHVsZUtleSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShgQ29uZmlnIGxvYWQgJHtpc0VuZCA/ICdlbmQnIDogJ3N0YXJ0J30gZm9yICR7bW9kdWxlS2V5fSAocm91dGVQYXRoOiAke3JvdXRlUGF0aH07IG5hdmlnYXRpb25Vcmw6ICR7dGhpcy5jdXJyZW50TmF2aWdhdGlvblBhdGh9KWApO1xuXG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZ2V0T3JDcmVhdGVSb3V0ZUZvck1vZHVsZShtb2R1bGVLZXkpO1xuICAgICAgICBjb25maWcucm91dGUgPSByb3V0ZTtcbiAgICAgICAgY29uZmlnLmlzTG9hZEVuZCA9IGlzRW5kO1xuXG4gICAgICAgIGlmIChpc0VuZCkge1xuICAgICAgICAgICAgdGhpcy5nZXRMb2FkZWRSb3V0ZXNGcm9tUm91dGUobW9kdWxlS2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TG9hZGVkUm91dGVzRnJvbVJvdXRlKG1vZHVsZUtleTogc3RyaW5nLCBpc0ZpbmlzaCA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUNvbmZpZyA9IHRoaXMubGF6eUxvYWRlZFJvdXRlc0NvbmZpZ1ttb2R1bGVLZXldO1xuICAgICAgICBpZiAoIW1vZHVsZUNvbmZpZz8ucm91dGUgfHwgQXJyYXkuaXNBcnJheShtb2R1bGVDb25maWcubG9hZGVkUm91dGVzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyA9IG1vZHVsZUNvbmZpZy5yb3V0ZSFbdGhpcy5yb3V0ZXNMb2FkZWRQcm9wS2V5IGFzIGtleW9mIG9iamVjdF07XG5cbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZHVsZUNvbmZpZy5sb2FkZWRSb3V0ZXMpICYmIGlzRmluaXNoKSB7XG4gICAgICAgICAgICAvLyBpZiBpcyBjYWxsZWQgZnJvbSBmaW5pc2ggYW5kIG5vIGxhenkgbG9hZGVkIHJvdXRlcyBhcmUgbWF0Y2hlZCBmcm9tIHJvdXRlciBldmVudHMsIHRyeSBmaW5kaW5nIGluIHJvdXRlIGNvbmZpZywgaXQgc2hvdWxkIGJlIHRoZXJlIVxuICAgICAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoYFJvdXRlIGxvYWRlZFJvdXRlcyBmb3IgJHttb2R1bGVLZXl9IG5vdCBmb3VuZCwgc2VhcmNoaW5nIGluIHJvdXRlciBjb25maWcgbm93YCk7XG4gICAgICAgICAgICBjb25zdCByb3V0ZSA9IHRoaXMuZmluZFJvdXRlSW5Sb3V0ZUNvbmZpZyhtb2R1bGVLZXkpO1xuICAgICAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgbW9kdWxlQ29uZmlnLnJvdXRlID0gcm91dGU7XG4gICAgICAgICAgICAgICAgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyA9IG1vZHVsZUNvbmZpZy5yb3V0ZSFbdGhpcy5yb3V0ZXNMb2FkZWRQcm9wS2V5IGFzIGtleW9mIG9iamVjdF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oYFJvdXRlIGxvYWRlZFJvdXRlcyBmb3IgJHttb2R1bGVLZXl9IHdlcmUgbm90IGZvdW5kIGluIHJvdXRlciBjb25maWdgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIG1vZHVsZUNvbmZpZy5sb2FkZWRSb3V0ZXNTdWJqZWN0Lm5leHQobW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlcyEpO1xuICAgICAgICAgICAgbW9kdWxlQ29uZmlnLmxvYWRlZFJvdXRlc1N1YmplY3QuY29tcGxldGUoKTtcblxuICAgICAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoYENvbmZpZyBsb2FkIGZvciAke21vZHVsZUtleX0gaXMgY29tcGxldGVgLCBtb2R1bGVDb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VhcmNoIGZvciByb3V0ZSBjb25maWcgYnkgbW9kdWxlIHBhdGggYnkgcmVjdXJzaXZlIHNjYW5uaW5nIG9mIHJvdXRlciBjb25maWcgdHJlZS5cbiAgICAgKiBAcGFyYW0gbW9kdWxlUGF0aCBQYXRoIG9mIG1vZHVsZSB0aGF0IGlzIHNlYXJjaGVkLlxuICAgICAqIEBwYXJhbSByb3V0ZXMgUm91dGVzIHRvIGJlIHNjYW5uZWQuIElmIG5vdCBwcm92aWRlZCwgaXQgc3RhcnRzIG9uIHJvb3Qgcm91dGVyIGNvbmZpZy5cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZFJvdXRlSW5Sb3V0ZUNvbmZpZyhtb2R1bGVQYXRoOiBzdHJpbmcsIHJvdXRlczogUm91dGVzID0gdGhpcy5yb3V0ZXIuY29uZmlnKTogUm91dGUgfCBudWxsIHtcbiAgICAgICAgaWYgKG1vZHVsZVBhdGguc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICBtb2R1bGVQYXRoID0gbW9kdWxlUGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IHJvdXRlIG9mIHJvdXRlcykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb3V0ZS5wYXRoID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IHJvdXRlUGF0aCA9IHJvdXRlLnBhdGg7XG4gICAgICAgICAgICBpZiAocm91dGVQYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgICAgIHJvdXRlUGF0aCA9IHJvdXRlUGF0aC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGxvbmdlc3RQYXRoTWF0Y2ggPSB0aGlzLmZpbmRMb25nZXN0UGF0aE1hdGNoKG1vZHVsZVBhdGgsIHJvdXRlUGF0aCk7XG4gICAgICAgICAgICBpZiAobG9uZ2VzdFBhdGhNYXRjaCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyB0aGVyZSBpcyBhIHBhcnRpYWwgb3IgZnVsbCBtYXRjaFxuICAgICAgICAgICAgaWYgKHJvdXRlLmxvYWRDaGlsZHJlbiAmJiBtb2R1bGVQYXRoID09PSBsb25nZXN0UGF0aE1hdGNoKSB7XG4gICAgICAgICAgICAgICAgLy8gaXQncyBhIGhpdCFcbiAgICAgICAgICAgICAgICByZXR1cm4gcm91dGU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJvdXRlLmxvYWRDaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KHJvdXRlW3RoaXMucm91dGVzTG9hZGVkUHJvcEtleSBhcyBrZXlvZiBvYmplY3RdKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuZmluZFJvdXRlSW5Sb3V0ZUNvbmZpZyhtb2R1bGVQYXRoLnN1YnN0cmluZyhsb25nZXN0UGF0aE1hdGNoLmxlbmd0aCwgbW9kdWxlUGF0aC5sZW5ndGgpLCByb3V0ZVt0aGlzLnJvdXRlc0xvYWRlZFByb3BLZXkgYXMga2V5b2Ygb2JqZWN0XSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocm91dGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRSb3V0ZUluUm91dGVDb25maWcobW9kdWxlUGF0aC5zdWJzdHJpbmcobG9uZ2VzdFBhdGhNYXRjaC5sZW5ndGgsIG1vZHVsZVBhdGgubGVuZ3RoKSwgcm91dGUuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBsb25nZXN0IHBhdGggbWF0Y2ggb2Ygc291cmNlIHRvIG1hdGNoIHN0cmluZy4gSWYgbWF0Y2ggaXMgJycsIGl0IGlzIGNvbnNpZGVyZWQgYXMgYSBtYXRjaCBpbiBBbmd1bGFyIHJvdXRpbmcuXG4gICAgICogQHBhcmFtIHNvdXJjZSBTb3VyY2Ugc3RyaW5nIGZyb20gb24gd2hpY2ggY29tcGFyaXNvbiBpcyBiYXNlZC5cbiAgICAgKiBAcGFyYW0gbWF0Y2ggTWF0Y2ggc3RyaW5nIHRvIHdoaWNoIHRoZSBzb3VyY2UgaXMgbWF0Y2hlZCB0by5cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZExvbmdlc3RQYXRoTWF0Y2goc291cmNlOiBzdHJpbmcsIG1hdGNoOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qgc291cmNlU2VnbWVudHMgPSBzb3VyY2Uuc3BsaXQoJy8nKTtcbiAgICAgICAgY29uc3QgbWF0Y2hTZWdtZW50cyA9IG1hdGNoLnNwbGl0KCcvJyk7XG5cbiAgICAgICAgaWYgKG1hdGNoU2VnbWVudHMubGVuZ3RoID09PSAxICYmIG1hdGNoU2VnbWVudHNbMF0gPT09ICcnKSB7XG4gICAgICAgICAgICAvLyBpdCdzIGEgaGl0LCBiZWNhdXNlIGVtcHR5IHJvdXRlIG11c3QgYWx3YXlzIGJlIHByb2Nlc3NlZCAoa2luZCBvZiBhIFwiYWJzdHJhY3RcIiByb3V0ZSlcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzb3VyY2VTZWdtZW50c1swXSA9PT0gbWF0Y2hTZWdtZW50c1swXSkge1xuICAgICAgICAgICAgLy8gdGhlcmUgaXMgYSBtYXRjaCwgZmluZCBob3cgbG9uZyBpdCBpc1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2VTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChzb3VyY2VTZWdtZW50c1tpXSAhPT0gbWF0Y2hTZWdtZW50c1tpXSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbmQgb2YgbWF0Y2hcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNvdXJjZVNlZ21lbnRzLnNsaWNlKDAsIGkpLmpvaW4oJy8nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHRoZXJlIGlzIGZ1bGwgbWF0Y2hcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2VTZWdtZW50cy5qb2luKCcvJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9yQ3JlYXRlUm91dGVGb3JNb2R1bGUobW9kdWxlS2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhenlMb2FkZWRSb3V0ZXNDb25maWdbbW9kdWxlS2V5XSkge1xuICAgICAgICAgICAgdGhpcy5sYXp5TG9hZGVkUm91dGVzQ29uZmlnW21vZHVsZUtleV0gPSB7XG4gICAgICAgICAgICAgICAgbG9hZGVkUm91dGVzU3ViamVjdDogbmV3IFJlcGxheVN1YmplY3Q8Um91dGVzPigxKSxcbiAgICAgICAgICAgICAgICBpc0xvYWRFbmQ6IGZhbHNlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubGF6eUxvYWRlZFJvdXRlc0NvbmZpZ1ttb2R1bGVLZXldO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9kdWxlUGF0aEZyb21Sb3V0ZXJMaW5rKHBhdGg6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pIHtcbiAgICAgICAgcmV0dXJuICgnLycgKyAoQXJyYXkuaXNBcnJheShwYXRoKSA/IHBhdGguam9pbignLycpIDogcGF0aCkpLnJlcGxhY2UoL1xcL1xcLy9nLCAnLycpO1xuICAgIH1cbn1cbiJdfQ==
|