@provoly/hypervisor 1.4.78 → 1.4.80
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/esm2022/src/lib/event/filters/choice/choice-filter.component.mjs +4 -4
- package/esm2022/src/lib/event/filters/on/click/event-filters.component.mjs +3 -3
- package/esm2022/src/lib/general/procedure-actions/action-parameters/service/create-service.component.mjs +6 -2
- package/fesm2022/provoly-hypervisor.mjs +10 -6
- package/fesm2022/provoly-hypervisor.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/components/_o-hvy-event-filters.scss +4 -0
|
@@ -30,7 +30,7 @@ export class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
30
30
|
if (this.allSelected()) {
|
|
31
31
|
return this.i18nService.instant(this.allLabel);
|
|
32
32
|
}
|
|
33
|
-
if (this.value().length
|
|
33
|
+
if (this.value().length >= 0) {
|
|
34
34
|
return `(${this.value().length})`;
|
|
35
35
|
}
|
|
36
36
|
if (this.value().length === 1) {
|
|
@@ -133,11 +133,11 @@ export class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
133
133
|
setTimeout(() => (this.inhibate = undefined), 50);
|
|
134
134
|
}
|
|
135
135
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
137
137
|
}
|
|
138
138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, decorators: [{
|
|
139
139
|
type: Component,
|
|
140
|
-
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
140
|
+
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
141
141
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i3.PryI18nService }, { type: i0.ElementRef }], propDecorators: { allLabel: [{
|
|
142
142
|
type: Input
|
|
143
143
|
}], label: [{
|
|
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
152
152
|
type: ViewChild,
|
|
153
153
|
args: ['template', { read: TemplateRef }]
|
|
154
154
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L2ZpbHRlcnMvY2hvaWNlL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxRQUFRLEVBRVIsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBWXJDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7YUFDeEQsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBeUJyQixZQUNVLEtBQVksRUFDWixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsV0FBMkIsRUFDM0IsR0FBZTtRQUV2QixLQUFLLEVBQUUsQ0FBQztRQU5BLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxX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QUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0EvSVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMEtBRnJCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsMkdBYXZFLFdBQVcsb0RDMUM1QywyMERBa0RBOzsyRkRuQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixhQUVsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztxTEFNN0YsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFd0MsUUFBUTtzQkFBckQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdnlVbml0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHZ5LXVuaXQtZmlsdGVyLmNsYXNzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEh2eUNob2ljZUZpbHRlciA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W107XG59W107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1jaG9pY2UtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEh2eVVuaXRGaWx0ZXJDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENob2ljZUZpbHRlckNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hvaWNlRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgSHZ5VW5pdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcbiAgaWQgPSAtMTtcblxuICBASW5wdXQoKSBhbGxMYWJlbDogc3RyaW5nID0gJ0BodnkuZXZlbnQuZmlsdGVyLmNob2ljZS5hbGwnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ25vLWxhYmVsLWRlZmluZWQnO1xuICBASW5wdXQoKSBpMThuUHJlZml4OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWRkTm9uTGVhdmVzOiBib29sZWFuID0gZmFsc2U7XG4gIHZhbHVlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmdbXT4gPSBzaWduYWwoW10pO1xuICBASW5wdXQoKSBjaG9pY2VzOiBIdnlDaG9pY2VGaWx0ZXIgPSBbXTtcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGluaGliYXRlPzogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCh0aGlzLmFsbExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gYCgke3RoaXMudmFsdWUoKS5sZW5ndGh9KWA7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbHVlKCkubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuU2VydmljZS5pbnN0YW50KHRoaXMuaTE4blByZWZpeCArIHRoaXMudmFsdWUoKVswXSk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGkxOG5TZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSBDaG9pY2VGaWx0ZXJDb21wb25lbnQuaWRDb3VudGVyKys7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLmZpbHRlcnMpLCB0aGlzLl9maWx0ZXJTZXQkXSkuc3Vic2NyaWJlKChbZmlsdGVycywgZmlsdGVyU2V0XSkgPT4ge1xuICAgICAgICB0aGlzLmFzc2lnblZhbHVlKFxuICAgICAgICAgIChmaWx0ZXJzW2ZpbHRlclNldF0gPz8ge30pLmhhc093blByb3BlcnR5KHRoaXMucHJvcClcbiAgICAgICAgICAgID8gZmlsdGVyc1tmaWx0ZXJTZXRdW3RoaXMucHJvcF0ubGVuZ3RoID09PSAxICYmIGZpbHRlcnNbZmlsdGVyU2V0XVt0aGlzLnByb3BdWzBdID09PSAnJ1xuICAgICAgICAgICAgICA/IFtdXG4gICAgICAgICAgICAgIDogZmlsdGVyc1tmaWx0ZXJTZXRdW3RoaXMucHJvcF1cbiAgICAgICAgICAgIDogdGhpcy5hbGxWYWx1ZXMoKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0UGFyYW1zKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSB7XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPT09IHRoaXMuYWxsVmFsdWVzKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB7IFt0aGlzLnByb3BdOiB0aGlzLnZhbHVlKCkubGVuZ3RoID09PSAwID8gWycnXSA6IHRoaXMudmFsdWUoKSB9O1xuICB9XG5cbiAgdG9nZ2xlTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMudHJpZ2dlckluaGliYXRlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJyxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ20tY29udGV4dC1tZW51LXdyYXBwZXInLCAnby1jaG9pY2UtZmlsdGVyLXBvcHVwJ11cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZU1vZGFsKCkpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBjb25zdCBjb250ZXh0TWVudSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vLWNob2ljZS1maWx0ZXItcG9wdXAnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmICghIWNvbnRleHRNZW51KSB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb250ZXh0TWVudS5zdHlsZS5sZWZ0ID0gcmVjdC54ICsgJ3B4JztcbiAgICAgICAgY29udGV4dE1lbnUuc3R5bGUubWluV2lkdGggPSByZWN0LnJpZ2h0IC0gcmVjdC54ICsgJ3B4JztcbiAgICAgICAgY29udGV4dE1lbnUuc3R5bGUudG9wID0gcmVjdC5ib3R0b20gKyAncHgnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrQWxsKCkge1xuICAgIGlmICh0aGlzLmFsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuYXNzaWduVmFsdWUoW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFzc2lnblZhbHVlKHRoaXMuYWxsVmFsdWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZShlbHQ6IHsga2V5OiBzdHJpbmc7IGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W10gfSkge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLmlzU2VsZWN0ZWQoZWx0KTtcbiAgICBjb25zdCBlbHRTdWJLZXlzID0gIWVsdC5jaGlsZHJlbiA/IFtlbHQua2V5XSA6IGVsdC5jaGlsZHJlbi5tYXAoKGNoKSA9PiBjaC5rZXkpO1xuICAgIGlmICghaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5hc3NpZ25WYWx1ZShbLi4ubmV3IFNldChbLi4udGhpcy52YWx1ZSgpLCAuLi5lbHRTdWJLZXlzXSldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hc3NpZ25WYWx1ZSh0aGlzLnZhbHVlKCkuZmlsdGVyKCh2KSA9PiAhZWx0U3ViS2V5cy5pbmNsdWRlcyh2KSkpO1xuICAgIH1cbiAgfVxuXG4gIGFsbFNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmNob2ljZXMubWFwKChjaG9pY2UpID0+IHRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKS5yZWR1Y2UoKHAsIGMpID0+IHAgJiYgYywgdHJ1ZSk7XG4gIH1cblxuICBpc1NlbGVjdGVkKGNob2ljZTogeyBrZXk6IHN0cmluZzsgY2hpbGRyZW4/OiB7IGtleTogc3RyaW5nIH1bXSB9KTogYm9vbGVhbiB7XG4gICAgaWYgKCFjaG9pY2UuY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlKCkuaW5jbHVkZXMoY2hvaWNlLmtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjaG9pY2UuY2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gdGhpcy5pc1NlbGVjdGVkKGNoaWxkKSkucmVkdWNlKChwLCBjKSA9PiBwICYmIGMsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGFsbFZhbHVlcygpIHtcbiAgICBjb25zdCBicmFuY2hlcyA9IHRoaXMuY2hvaWNlcy5maWx0ZXIoKGNob2ljZSkgPT4gY2hvaWNlLmNoaWxkcmVuKS5tYXAoKGNob2ljZSkgPT4gY2hvaWNlLmtleSk7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgICAgLm1hcCgoY2hvaWNlKSA9PlxuICAgICAgICAhY2hvaWNlLmNoaWxkcmVuXG4gICAgICAgICAgPyBbY2hvaWNlLmtleV1cbiAgICAgICAgICA6IFsuLi5jaG9pY2UuY2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gY2hpbGQua2V5KSwgLi4uKHRoaXMuYWRkTm9uTGVhdmVzID8gYnJhbmNoZXMgOiBbXSldXG4gICAgICApXG4gICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKTtcbiAgfVxuXG4gIGFzc2lnblZhbHVlKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICBpZiAoIXRoaXMuaW5oaWJhdGUgfHwgdGhpcy5pbmhpYmF0ZSAhPT0gdGhpcy5maWx0ZXJTZXQpIHtcbiAgICAgIHRoaXMudHJpZ2dlckluaGliYXRlKCk7XG5cbiAgICAgIC8vIEFkZCBvciByZW1vdmVzIHRyZWUgYnJhbmNoZXMsIGFjY29yZGluZyB0byBjaGlsZHJlbiBzdGF0dXNlc1xuICAgICAgY29uc3QgYnJhbmNoZXMgPSB0aGlzLmNob2ljZXMuZmlsdGVyKChjaG9pY2UpID0+IGNob2ljZS5jaGlsZHJlbikubWFwKChjaG9pY2UpID0+IGNob2ljZS5rZXkpO1xuICAgICAgY29uc3Qgd2l0aG91dEJyYW5jaGVzID0gdmFsdWVzLmZpbHRlcigodmFsdWUpID0+ICFicmFuY2hlcy5pbmNsdWRlcyh2YWx1ZSkpO1xuICAgICAgY29uc3QgYWRkZWRCcmFuY2hWYWx1ZXMgPSB0aGlzLmNob2ljZXNcbiAgICAgICAgLmZpbHRlcigoY2hvaWNlKSA9PiBjaG9pY2UuY2hpbGRyZW4gJiYgIWNob2ljZS5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gIXZhbHVlcy5pbmNsdWRlcyhjaGlsZC5rZXkpKSlcbiAgICAgICAgLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2Uua2V5KTtcbiAgICAgIHRoaXMudmFsdWUuc2V0KFsuLi53aXRob3V0QnJhbmNoZXMsIC4uLih0aGlzLmFkZE5vbkxlYXZlcyA/IGFkZGVkQnJhbmNoVmFsdWVzIDogW10pXSk7XG5cbiAgICAgIHRoaXMuY2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmlnZ2VySW5oaWJhdGUoKSB7XG4gICAgdGhpcy5pbmhpYmF0ZSA9IHRoaXMuZmlsdGVyU2V0O1xuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaW5oaWJhdGUgPSB1bmRlZmluZWQpLCA1MCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKGNsaWNrKT1cInRvZ2dsZU1vZGFsKClcIlxuICAjYnV0dG9uXG4gIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlciAtaG9yaXpvbnRhbFwiXG4gIFtjbGFzcy4taGlnaGxpZ2h0XT1cImRpc3BsYXlWYWx1ZSgpICE9PSAoYWxsTGFiZWwgfCBpMThuKVwiXG4gIFtjbGFzcy4tZm9jdXNdPVwib3ZlcmxheVJlZlwiXG4+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX19jaG9pY2UtdmFsdWVcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX2xhYmVsXCI+e3sgbGFiZWwgfCBpMThuIH19IDo8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX192YWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJzZWxlY3Rfe3sgaWQgfX1cIj57eyBkaXNwbGF5VmFsdWUoKSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxwcnktaWNvbiBbaWNvblN2Z109XCIhIW92ZXJsYXlSZWYgPyAnY2hldnJvbl90b3AnIDogJ2NoZXZyb25fYm90dG9tJ1wiIFt3aWR0aF09XCIxMFwiIFtoZWlnaHRdPVwiMTBcIj48L3ByeS1pY29uPlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm0tY29udGV4dC1tZW51IG8taHZ5LWNob2ljZS1maWx0ZXJcIlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImNob2ljZVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgaWQ9XCJjaG9pY2VcIlxuICAgIHJvbGU9XCJtZW51XCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fYWxsXCI+XG4gICAgICA8cHJ5LWNoZWNrYm94IFtuZ01vZGVsXT1cImFsbFNlbGVjdGVkKClcIiAobmdNb2RlbENoYW5nZSk9XCJjbGlja0FsbCgpXCI+XG4gICAgICAgIDxzcGFuPnt7IGFsbExhYmVsIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKGVsdCBvZiBjaG9pY2VzOyB0cmFjayBlbHQua2V5KSB7XG4gICAgICBAaWYgKCFlbHQuY2hpbGRyZW4pIHtcbiAgICAgICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJpc1NlbGVjdGVkKGVsdClcIiAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGUoZWx0KVwiIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fcm9vdFwiPlxuICAgICAgICAgIDxzcGFuPnt7IGkxOG5QcmVmaXggKyBlbHQua2V5IHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJpc1NlbGVjdGVkKGVsdClcIiAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGUoZWx0KVwiIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fcm9vdFwiPlxuICAgICAgICAgIDxzcGFuPnt7IGkxOG5QcmVmaXggKyBlbHQua2V5IHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICAgIEBmb3IgKGNoaWxkIG9mIGVsdC5jaGlsZHJlbjsgdHJhY2sgY2hpbGQua2V5KSB7XG4gICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgW25nTW9kZWxdPVwiaXNTZWxlY3RlZChjaGlsZClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGNoaWxkKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX2NoaWxkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Bhbj57eyBpMThuUHJlZml4ICsgY2hpbGQua2V5IHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3ByeS1jaGVja2JveD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L2ZpbHRlcnMvY2hvaWNlL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxRQUFRLEVBRVIsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBWXJDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7YUFDeEQsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBeUJyQixZQUNVLEtBQVksRUFDWixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsV0FBMkIsRUFDM0IsR0FBZTtRQUV2QixLQUFLLEVBQUUsQ0FBQztRQU5BLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUE3QnpCLE9BQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVDLGFBQVEsR0FBVyw4QkFBOEIsQ0FBQztRQUNsRCxVQUFLLEdBQVcsa0JBQWtCLENBQUM7UUFDbkMsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUN2QyxVQUFLLEdBQTZCLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxZQUFPLEdBQW9CLEVBQUUsQ0FBQztRQUl2QyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFVRCxJQUFJLENBQUMsRUFBRSxHQUFHLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQzlHLElBQUksQ0FBQyxXQUFXLENBQ2QsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2xELENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO29CQUNyRixDQUFDLENBQUMsRUFBRTtvQkFDSixDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQ3JCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVRLFNBQVM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDbkMsSUFBSSxhQUFhLENBQUM7Z0JBQ2hCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixhQUFhLEVBQUUsVUFBVTtnQkFDekIsVUFBVSxFQUFFLENBQUMsd0JBQXdCLEVBQUUsdUJBQXVCLENBQUM7YUFDaEUsQ0FBQyxDQUNILENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDakYsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBbUIsQ0FBQztZQUN2RixJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDNUQsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ3ZDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ3hELFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQzdDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFrRDtRQUN2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXFEO1FBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9GLENBQUM7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUYsT0FBTyxJQUFJLENBQUMsT0FBTzthQUNoQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNkLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDZCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzNGO2FBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXZCLCtEQUErRDtZQUMvRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlGLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzVFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE9BQU87aUJBQ25DLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ3BHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0EvSVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMEtBRnJCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsMkdBYXZFLFdBQVcsb0RDMUM1QywyM0RBbURBOzsyRkRwQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixhQUVsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztxTEFNN0YsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFd0MsUUFBUTtzQkFBckQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdnlVbml0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHZ5LXVuaXQtZmlsdGVyLmNsYXNzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEh2eUNob2ljZUZpbHRlciA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W107XG59W107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1jaG9pY2UtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEh2eVVuaXRGaWx0ZXJDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENob2ljZUZpbHRlckNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hvaWNlRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgSHZ5VW5pdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcbiAgaWQgPSAtMTtcblxuICBASW5wdXQoKSBhbGxMYWJlbDogc3RyaW5nID0gJ0BodnkuZXZlbnQuZmlsdGVyLmNob2ljZS5hbGwnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ25vLWxhYmVsLWRlZmluZWQnO1xuICBASW5wdXQoKSBpMThuUHJlZml4OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWRkTm9uTGVhdmVzOiBib29sZWFuID0gZmFsc2U7XG4gIHZhbHVlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmdbXT4gPSBzaWduYWwoW10pO1xuICBASW5wdXQoKSBjaG9pY2VzOiBIdnlDaG9pY2VGaWx0ZXIgPSBbXTtcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGluaGliYXRlPzogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCh0aGlzLmFsbExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPj0gMCkge1xuICAgICAgcmV0dXJuIGAoJHt0aGlzLnZhbHVlKCkubGVuZ3RofSlgO1xuICAgIH1cbiAgICBpZiAodGhpcy52YWx1ZSgpLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCh0aGlzLmkxOG5QcmVmaXggKyB0aGlzLnZhbHVlKClbMF0pO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gQ2hvaWNlRmlsdGVyQ29tcG9uZW50LmlkQ291bnRlcisrO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5maWx0ZXJzKSwgdGhpcy5fZmlsdGVyU2V0JF0pLnN1YnNjcmliZSgoW2ZpbHRlcnMsIGZpbHRlclNldF0pID0+IHtcbiAgICAgICAgdGhpcy5hc3NpZ25WYWx1ZShcbiAgICAgICAgICAoZmlsdGVyc1tmaWx0ZXJTZXRdID8/IHt9KS5oYXNPd25Qcm9wZXJ0eSh0aGlzLnByb3ApXG4gICAgICAgICAgICA/IGZpbHRlcnNbZmlsdGVyU2V0XVt0aGlzLnByb3BdLmxlbmd0aCA9PT0gMSAmJiBmaWx0ZXJzW2ZpbHRlclNldF1bdGhpcy5wcm9wXVswXSA9PT0gJydcbiAgICAgICAgICAgICAgPyBbXVxuICAgICAgICAgICAgICA6IGZpbHRlcnNbZmlsdGVyU2V0XVt0aGlzLnByb3BdXG4gICAgICAgICAgICA6IHRoaXMuYWxsVmFsdWVzKClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldFBhcmFtcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0ge1xuICAgIGlmICh0aGlzLnZhbHVlKCkubGVuZ3RoID09PSB0aGlzLmFsbFZhbHVlcygpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4geyBbdGhpcy5wcm9wXTogdGhpcy52YWx1ZSgpLmxlbmd0aCA9PT0gMCA/IFsnJ10gOiB0aGlzLnZhbHVlKCkgfTtcbiAgfVxuXG4gIHRvZ2dsZU1vZGFsKCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLnRyaWdnZXJJbmhpYmF0ZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdiYWNrZHJvcCcsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydtLWNvbnRleHQtbWVudS13cmFwcGVyJywgJ28tY2hvaWNlLWZpbHRlci1wb3B1cCddXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVNb2RhbCgpKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgICAgY29uc3QgY29udGV4dE1lbnUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuby1jaG9pY2UtZmlsdGVyLXBvcHVwJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFjb250ZXh0TWVudSkge1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29udGV4dE1lbnUuc3R5bGUubGVmdCA9IHJlY3QueCArICdweCc7XG4gICAgICAgIGNvbnRleHRNZW51LnN0eWxlLm1pbldpZHRoID0gcmVjdC5yaWdodCAtIHJlY3QueCArICdweCc7XG4gICAgICAgIGNvbnRleHRNZW51LnN0eWxlLnRvcCA9IHJlY3QuYm90dG9tICsgJ3B4JztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjbGlja0FsbCgpIHtcbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZCgpKSB7XG4gICAgICB0aGlzLmFzc2lnblZhbHVlKFtdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hc3NpZ25WYWx1ZSh0aGlzLmFsbFZhbHVlcygpKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGUoZWx0OiB7IGtleTogc3RyaW5nOyBjaGlsZHJlbj86IHsga2V5OiBzdHJpbmcgfVtdIH0pIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkKGVsdCk7XG4gICAgY29uc3QgZWx0U3ViS2V5cyA9ICFlbHQuY2hpbGRyZW4gPyBbZWx0LmtleV0gOiBlbHQuY2hpbGRyZW4ubWFwKChjaCkgPT4gY2gua2V5KTtcbiAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuYXNzaWduVmFsdWUoWy4uLm5ldyBTZXQoWy4uLnRoaXMudmFsdWUoKSwgLi4uZWx0U3ViS2V5c10pXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXNzaWduVmFsdWUodGhpcy52YWx1ZSgpLmZpbHRlcigodikgPT4gIWVsdFN1YktleXMuaW5jbHVkZXModikpKTtcbiAgICB9XG4gIH1cblxuICBhbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB0aGlzLmlzU2VsZWN0ZWQoY2hvaWNlKSkucmVkdWNlKChwLCBjKSA9PiBwICYmIGMsIHRydWUpO1xuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IHsga2V5OiBzdHJpbmc7IGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W10gfSk6IGJvb2xlYW4ge1xuICAgIGlmICghY2hvaWNlLmNoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZSgpLmluY2x1ZGVzKGNob2ljZS5rZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY2hvaWNlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHRoaXMuaXNTZWxlY3RlZChjaGlsZCkpLnJlZHVjZSgocCwgYykgPT4gcCAmJiBjLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBhbGxWYWx1ZXMoKSB7XG4gICAgY29uc3QgYnJhbmNoZXMgPSB0aGlzLmNob2ljZXMuZmlsdGVyKChjaG9pY2UpID0+IGNob2ljZS5jaGlsZHJlbikubWFwKChjaG9pY2UpID0+IGNob2ljZS5rZXkpO1xuICAgIHJldHVybiB0aGlzLmNob2ljZXNcbiAgICAgIC5tYXAoKGNob2ljZSkgPT5cbiAgICAgICAgIWNob2ljZS5jaGlsZHJlblxuICAgICAgICAgID8gW2Nob2ljZS5rZXldXG4gICAgICAgICAgOiBbLi4uY2hvaWNlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGNoaWxkLmtleSksIC4uLih0aGlzLmFkZE5vbkxlYXZlcyA/IGJyYW5jaGVzIDogW10pXVxuICAgICAgKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSk7XG4gIH1cblxuICBhc3NpZ25WYWx1ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCF0aGlzLmluaGliYXRlIHx8IHRoaXMuaW5oaWJhdGUgIT09IHRoaXMuZmlsdGVyU2V0KSB7XG4gICAgICB0aGlzLnRyaWdnZXJJbmhpYmF0ZSgpO1xuXG4gICAgICAvLyBBZGQgb3IgcmVtb3ZlcyB0cmVlIGJyYW5jaGVzLCBhY2NvcmRpbmcgdG8gY2hpbGRyZW4gc3RhdHVzZXNcbiAgICAgIGNvbnN0IGJyYW5jaGVzID0gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBjaG9pY2UuY2hpbGRyZW4pLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2Uua2V5KTtcbiAgICAgIGNvbnN0IHdpdGhvdXRCcmFuY2hlcyA9IHZhbHVlcy5maWx0ZXIoKHZhbHVlKSA9PiAhYnJhbmNoZXMuaW5jbHVkZXModmFsdWUpKTtcbiAgICAgIGNvbnN0IGFkZGVkQnJhbmNoVmFsdWVzID0gdGhpcy5jaG9pY2VzXG4gICAgICAgIC5maWx0ZXIoKGNob2ljZSkgPT4gY2hvaWNlLmNoaWxkcmVuICYmICFjaG9pY2UuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+ICF2YWx1ZXMuaW5jbHVkZXMoY2hpbGQua2V5KSkpXG4gICAgICAgIC5tYXAoKGNob2ljZSkgPT4gY2hvaWNlLmtleSk7XG4gICAgICB0aGlzLnZhbHVlLnNldChbLi4ud2l0aG91dEJyYW5jaGVzLCAuLi4odGhpcy5hZGROb25MZWF2ZXMgPyBhZGRlZEJyYW5jaFZhbHVlcyA6IFtdKV0pO1xuXG4gICAgICB0aGlzLmNoYW5nZWQubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlckluaGliYXRlKCkge1xuICAgIHRoaXMuaW5oaWJhdGUgPSB0aGlzLmZpbHRlclNldDtcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmluaGliYXRlID0gdW5kZWZpbmVkKSwgNTApO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIChjbGljayk9XCJ0b2dnbGVNb2RhbCgpXCJcbiAgI2J1dHRvblxuICBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXIgLWhvcml6b250YWxcIlxuICBbY2xhc3MuLWhpZ2hsaWdodF09XCJkaXNwbGF5VmFsdWUoKSAhPT0gKGFsbExhYmVsIHwgaTE4bilcIlxuICBbY2xhc3MuLW5vLXZhbHVlXT1cImRpc3BsYXlWYWx1ZSgpPT09JygwKSdcIlxuICBbY2xhc3MuLWZvY3VzXT1cIm92ZXJsYXlSZWZcIlxuPlxuICA8ZGl2IGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fY2hvaWNlLXZhbHVlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX19sYWJlbFwiPnt7IGxhYmVsIHwgaTE4biB9fSA6PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fdmFsdWVcIiB0eXBlPVwidGV4dFwiIGlkPVwic2VsZWN0X3t7IGlkIH19XCI+e3sgZGlzcGxheVZhbHVlKCkgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8cHJ5LWljb24gW2ljb25TdmddPVwiISFvdmVybGF5UmVmID8gJ2NoZXZyb25fdG9wJyA6ICdjaGV2cm9uX2JvdHRvbSdcIiBbd2lkdGhdPVwiMTBcIiBbaGVpZ2h0XT1cIjEwXCI+PC9wcnktaWNvbj5cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJtLWNvbnRleHQtbWVudSBvLWh2eS1jaG9pY2UtZmlsdGVyXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJjaG9pY2VcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGlkPVwiY2hvaWNlXCJcbiAgICByb2xlPVwibWVudVwiXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX2FsbFwiPlxuICAgICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJhbGxTZWxlY3RlZCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2xpY2tBbGwoKVwiPlxuICAgICAgICA8c3Bhbj57eyBhbGxMYWJlbCB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L3ByeS1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICBAZm9yIChlbHQgb2YgY2hvaWNlczsgdHJhY2sgZWx0LmtleSkge1xuICAgICAgQGlmICghZWx0LmNoaWxkcmVuKSB7XG4gICAgICAgIDxwcnktY2hlY2tib3ggW25nTW9kZWxdPVwiaXNTZWxlY3RlZChlbHQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGVsdClcIiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX3Jvb3RcIj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuUHJlZml4ICsgZWx0LmtleSB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxwcnktY2hlY2tib3ggW25nTW9kZWxdPVwiaXNTZWxlY3RlZChlbHQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGVsdClcIiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX3Jvb3RcIj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuUHJlZml4ICsgZWx0LmtleSB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgICBAZm9yIChjaGlsZCBvZiBlbHQuY2hpbGRyZW47IHRyYWNrIGNoaWxkLmtleSkge1xuICAgICAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cImlzU2VsZWN0ZWQoY2hpbGQpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZShjaGlsZClcIlxuICAgICAgICAgICAgY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX19jaGlsZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgaTE4blByZWZpeCArIGNoaWxkLmtleSB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -16,7 +16,7 @@ export class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
16
16
|
}
|
|
17
17
|
filter() {
|
|
18
18
|
let filters = this.filters.map((filter) => filter.getParams()).reduce((p, c) => ({ ...p, ...c }), {});
|
|
19
|
-
if (this.filterSet
|
|
19
|
+
if (this.filterSet !== 'events') {
|
|
20
20
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
21
21
|
}
|
|
22
22
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -25,7 +25,7 @@ export class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
25
25
|
}
|
|
26
26
|
reset() {
|
|
27
27
|
let filters = {};
|
|
28
|
-
if (this.filterSet
|
|
28
|
+
if (this.filterSet !== 'events') {
|
|
29
29
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
30
30
|
}
|
|
31
31
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
46
46
|
}], filtered: [{
|
|
47
47
|
type: Output
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9maWx0ZXJzL29uL2NsaWNrL2V2ZW50LWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQvZmlsdGVycy9vbi9jbGljay9ldmVudC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFNckUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHdCQUF3QjtJQUtqRSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUp2QixjQUFTLEdBQUcsUUFBUSxDQUFDO1FBRXBCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSTlDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLElBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsRUFBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsRUFBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OEdBL0JVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlPQ1ZsQyxxZkFZQTs7MkZERmEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjswRUFJcEIsU0FBUztzQkFBakIsS0FBSztnQkFDNEMsT0FBTztzQkFBeEQsZUFBZTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUN0QyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgSHZ5VW5pdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2h2eS11bml0LWZpbHRlci5jbGFzcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEV2ZW50QWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2V2ZW50L2V2ZW50LmFjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktZXZlbnQtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudEZpbHRlcnNDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgZmlsdGVyU2V0ID0gJ2dsb2JhbCc7XG4gIEBDb250ZW50Q2hpbGRyZW4oJ2ZpbHRlcicsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZmlsdGVycyE6IFF1ZXJ5TGlzdDxIdnlVbml0RmlsdGVyQ29tcG9uZW50PjtcbiAgQE91dHB1dCgpIGZpbHRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiAoZmlsdGVyLmZpbHRlclNldCA9IHRoaXMuZmlsdGVyU2V0KSk7XG4gIH1cblxuICBmaWx0ZXIoKSB7XG4gICAgbGV0IGZpbHRlcnMgPSB0aGlzLmZpbHRlcnMubWFwKChmaWx0ZXIpID0+IGZpbHRlci5nZXRQYXJhbXMoKSkucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCAuLi5jIH0pLCB7fSk7XG4gICAgaWYodGhpcy5maWx0ZXJTZXQgIT09ICdldmVudHMnKSB7XG4gICAgICBmaWx0ZXJzID0gey4uLmZpbHRlcnMsIFsnZGVsZXRlZCddOiBbJ2ZhbHNlJ119O1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50QWN0aW9ucy5maWx0ZXIoeyBmaWx0ZXJzLCBmaWx0ZXJTZXQ6IHRoaXMuZmlsdGVyU2V0IH0pKTtcbiAgICB0aGlzLmZpbHRlcmVkLm5leHQoKTtcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2ZvcmNlQ2xvc2VNYXBUb29sdGlwJykpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgbGV0IGZpbHRlcnMgPSB7fTtcbiAgICBpZih0aGlzLmZpbHRlclNldCAhPT0gJ2V2ZW50cycpIHtcbiAgICAgIGZpbHRlcnMgPSB7Li4uZmlsdGVycywgWydkZWxldGVkJ106IFsnZmFsc2UnXX07XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRXZlbnRBY3Rpb25zLmZpbHRlcih7IGZpbHRlcnMsIGZpbHRlclNldDogdGhpcy5maWx0ZXJTZXQgfSkpO1xuICAgIHRoaXMuZmlsdGVyZWQubmV4dCgpO1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZm9yY2VDbG9zZU1hcFRvb2x0aXAnKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudC1maWx0ZXJzXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50LWZpbHRlcnNfX2J1dHRvbnNcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgW3RpdGxlXT1cIidAaHZ5LmV2ZW50LmZpbHRlci5yZXNldCcgfCBpMThuXCI+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlc2V0X2ZpbHRlcl9ldmVudFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZmlsdGVyKClcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICB7eyAnQGh2eS5ldmVudC5maWx0ZXIubmFtZScgfCBpMThuIH19XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV2ZW50X2ZpbHRlclwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -40,7 +40,11 @@ export class HvyCreateServiceComponent extends SubscriptionnerDirective {
|
|
|
40
40
|
...ev.equipment,
|
|
41
41
|
displayName: `${ev.equipment?.name} - ${this.i18nService.instant('@hvy.event.family.' + ev.equipment?.family)}`
|
|
42
42
|
}))
|
|
43
|
-
]
|
|
43
|
+
].filter((obj, index, arr) => {
|
|
44
|
+
return arr.findIndex(o => {
|
|
45
|
+
return JSON.stringify(o) === JSON.stringify(obj);
|
|
46
|
+
}) === index;
|
|
47
|
+
});
|
|
44
48
|
this.serviceService.types().subscribe((types) => {
|
|
45
49
|
this.types = types;
|
|
46
50
|
this.updateAllowedTypes();
|
|
@@ -130,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
130
134
|
type: Inject,
|
|
131
135
|
args: [PRY_DIALOG_DATA]
|
|
132
136
|
}] }, { type: i2.ServiceService }, { type: i1.PryI18nService }] });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNlcnZpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9zZXJ2aWNlL2NyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvc2VydmljZS9jcmVhdGUtc2VydmljZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFnQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFvQjdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFpQnJFLFlBQ1UsTUFBK0MsRUFDdkIsSUFBNkQsRUFDckYsY0FBOEIsRUFDOUIsV0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFMQSxXQUFNLEdBQU4sTUFBTSxDQUF5QztRQUN2QixTQUFJLEdBQUosSUFBSSxDQUF5RDtRQUNyRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBcEJyQyxXQUFNLEdBQTJCO1lBQy9CLEtBQUssRUFBRSxRQUFRO1lBQ2YsSUFBSSxFQUFFLEVBQUU7WUFDUixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixJQUFJ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QUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNoQixHQUFHLElBQUksQ0FBQyxNQUFNO1lBQ2QsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztZQUN0RixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ25DLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDdkcsQ0FBQztJQUNKLENBQUM7OEdBbklVLHlCQUF5Qiw4Q0FtQjFCLGVBQWU7a0dBbkJkLHlCQUF5QixpRkN6QnRDLHU0SEF1RkE7OzJGRDlEYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9COzswQkFzQjNCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQUllfRElBTE9HX0RBVEEsIFByeURpYWxvZ1JlZiwgUHJ5STE4blNlcnZpY2UsIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBIeXBFcXVpcG1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbC9oeXAtZXF1aXBtZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBIeXBTZXJ2aWNlQWN0aW9uIH0gZnJvbSAnLi9zZXJ2aWNlLWFjdGlvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIeXBTZXJ2aWNlVHlwZSwgU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9zZXJ2aWNlL3NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBET01BSU5TIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWwvZG9tYWlucy5jb25zdGFudCc7XG5pbXBvcnQgeyBIeXBFdmVudERldGFpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtZGV0YWlsLmludGVyZmFjZSc7XG5cbmV4cG9ydCB0eXBlIEh5cENyZWF0ZVNlcnZpY2VSZXN1bHQgPSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZXF1aXBtZW50OiBzdHJpbmc7XG4gIGRvbWFpbjogc3RyaW5nO1xuICBwcmlvcml0eTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGd0aT86IHN0cmluZztcbiAgZ3RyPzogc3RyaW5nO1xuICBndHJwPzogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWNyZWF0ZS1zZXJ2aWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIdnlDcmVhdGVTZXJ2aWNlQ29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIHtcbiAgcmVzdWx0OiBIeXBDcmVhdGVTZXJ2aWNlUmVzdWx0ID0ge1xuICAgIHZhbHVlOiAnY2FuY2VsJyxcbiAgICBuYW1lOiAnJyxcbiAgICBkb21haW46ICcnLFxuICAgIHByaW9yaXR5OiAnJyxcbiAgICBlcXVpcG1lbnQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIGRlc2NyaXB0aW9uOiAnJ1xuICB9O1xuICBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gIHR5cGVzOiBIeXBTZXJ2aWNlVHlwZVtdID0gW107XG4gIHByaW9yaXRpZXMgPSBbJzEtTUlORVVSJywgJzItTUFKRVVSJywgJzMtQkxPUVVBTlQnXTtcbiAgZG9tYWlucyA9IERPTUFJTlMudmFsdWVzO1xuICBlcXVpcG1lbnRzOiAoSHlwRXF1aXBtZW50IHwgeyBkaXNwbGF5TmFtZTogc3RyaW5nIH0pW10gPSBbXTtcbiAgYWxsb3dlZFR5cGVzOiBIeXBTZXJ2aWNlVHlwZVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1JlZjxIdnlDcmVhdGVTZXJ2aWNlQ29tcG9uZW50PixcbiAgICBASW5qZWN0KFBSWV9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IHsgYWN0aW9uOiBIeXBTZXJ2aWNlQWN0aW9uOyBldmVudHM6IEh5cEV2ZW50RGV0YWlsc1tdIH0sXG4gICAgcHJpdmF0ZSBzZXJ2aWNlU2VydmljZTogU2VydmljZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnJlc3VsdC5uYW1lID1cbiAgICAgIHRoaXMuZGF0YS5ldmVudHMgJiYgdGhpcy5kYXRhLmV2ZW50cy5sZW5ndGggPiAwID8gdGhpcy5kYXRhLmV2ZW50c1swXS5uYW1lIDogdGhpcy5kYXRhLmFjdGlvbi5uYW1lO1xuICAgIHRoaXMuZXF1aXBtZW50cyA9IFtcbiAgICAgIHtcbiAgICAgICAgZGlzcGxheU5hbWU6IHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQGh2eS5zZXJ2aWNlLm5vRXF1aXAnKSxcbiAgICAgICAgaWQ6ICdfX05PX0VRVUlQTUVOVF9fJ1xuICAgICAgfSxcbiAgICAgIC4uLnRoaXMuZGF0YS5ldmVudHNcbiAgICAgICAgLmZpbHRlcigoZXYpID0+ICEhZXYuZXF1aXBtZW50KVxuICAgICAgICAubWFwKChldikgPT4gKHtcbiAgICAgICAgICAuLi5ldi5lcXVpcG1lbnQsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGAke2V2LmVxdWlwbWVudD8ubmFtZX0gLSAke3RoaXMuaTE4blNlcnZpY2UuaW5zdGFudCgnQGh2eS5ldmVudC5mYW1pbHkuJyArIGV2LmVxdWlwbWVudD8uZmFtaWx5KX1gXG4gICAgICAgIH0pKVxuICAgIF07XG4gICAgdGhpcy5zZXJ2aWNlU2VydmljZS50eXBlcygpLnN1YnNjcmliZSgodHlwZXMpID0+IHtcbiAgICAgIHRoaXMudHlwZXMgPSB0eXBlcztcbiAgICAgIHRoaXMudXBkYXRlQWxsb3dlZFR5cGVzKCk7XG4gICAgfSk7XG4gIH1cblxuICBhY3Rpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMucmVzdWx0LnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5kaWFsb2cuY2xvc2UodGhpcy5yZXN1bHQpO1xuICB9XG5cbiAgb25FcXVpcG1lbnRDaGFuZ2UoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlc3VsdC5lcXVpcG1lbnQgPSAkZXZlbnQ7XG4gICAgY29uc3QgZXF1aXBtZW50ID0gKFxuICAgICAgdGhpcy5lcXVpcG1lbnRzLmZpbHRlcigoZXF1aXBtZW50KSA9PiBlcXVpcG1lbnQuaGFzT3duUHJvcGVydHkoJ2RvbWFpbicpKSBhcyBIeXBFcXVpcG1lbnRbXVxuICAgICkuZmluZCgoZXF1aXApID0+IGVxdWlwLmlkID09PSAkZXZlbnQpO1xuICAgIGlmIChlcXVpcG1lbnQpIHtcbiAgICAgIHRoaXMucmVzdWx0LmRvbWFpbiA9IChlcXVpcG1lbnQgYXMgSHlwRXF1aXBtZW50KS5kb21haW47XG4gICAgfVxuICAgIHRoaXMuY2hlY2soKTtcbiAgfVxuXG4gIG9uRGVzY3JpcHRpb25DaGFuZ2UoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlc3VsdC5kZXNjcmlwdGlvbiA9ICRldmVudDtcbiAgICB0aGlzLmNoZWNrKCk7XG4gIH1cblxuICBvblR5cGVDaGFuZ2UoJGV2ZW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlc3VsdC50eXBlID0gJGV2ZW50O1xuICAgIGNvbnN0IHR5cGVWYWx1ZSA9IHRoaXMudHlwZXMuZmluZCgodHlwZSkgPT4gdHlwZS5uYW1lID09PSAkZXZlbnQpID8/IHtcbiAgICAgIGd0aTogJy0nLFxuICAgICAgZ3RyOiAnLScsXG4gICAgICBndHJwOiAnLSdcbiAgICB9O1xuICAgIHRoaXMucmVzdWx0Lmd0aSA9ICh0eXBlVmFsdWUuZ3RpID8/ICctJykgKyAnJztcbiAgICB0aGlzLnJlc3VsdC5ndHIgPSAodHlwZVZhbHVlLmd0ciA/PyAnLScpICsgJyc7XG4gICAgdGhpcy5yZXN1bHQuZ3RycCA9ICh0eXBlVmFsdWUuZ3RycCA/PyAnLScpICsgJyc7XG4gICAgdGhpcy5jaGVjaygpO1xuICB9XG5cbiAgb25Qcmlvcml0eUNoYW5nZSgkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVzdWx0LnByaW9yaXR5ID0gJGV2ZW50O1xuICAgIHRoaXMuY2hlY2soKTtcbiAgfVxuXG4gIG9uRG9tYWluQ2hhbmdlKCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXN1bHQuZG9tYWluID0gJGV2ZW50O1xuICAgIHRoaXMudXBkYXRlQWxsb3dlZFR5cGVzKCk7XG4gICAgdGhpcy5jaGVjaygpO1xuICB9XG5cbiAgaGFzRXJyb3IodHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JzLmluY2x1ZGVzKHR5cGUpO1xuICB9XG5cbiAgY2hlY2soKSB7XG4gICAgdGhpcy5lcnJvcnMgPSBbXTtcbiAgICBpZiAoIXRoaXMucmVzdWx0Lm5hbWUgfHwgdGhpcy5yZXN1bHQubmFtZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZXJyb3JzLnB1c2goJ25hbWUnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlc3VsdC5lcXVpcG1lbnQgfHwgdGhpcy5yZXN1bHQuZXF1aXBtZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5lcnJvcnMucHVzaCgndGFyZ2V0Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yZXN1bHQuZGVzY3JpcHRpb24gfHwgdGhpcy5yZXN1bHQuZGVzY3JpcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9ycy5wdXNoKCdkZXNjcmlwdGlvbicpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucmVzdWx0LnR5cGUgfHwgdGhpcy5yZXN1bHQudHlwZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZXJyb3JzLnB1c2goJ3R5cGUnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlc3VsdC5wcmlvcml0eSB8fCB0aGlzLnJlc3VsdC5wcmlvcml0eS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZXJyb3JzLnB1c2goJ3ByaW9yaXR5Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yZXN1bHQuZG9tYWluIHx8IHRoaXMucmVzdWx0LmRvbWFpbi5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZXJyb3JzLnB1c2goJ2RvbWFpbicpO1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZURJKCkge1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlKHtcbiAgICAgIC4uLnRoaXMucmVzdWx0LFxuICAgICAgZXF1aXBtZW50OiB0aGlzLnJlc3VsdC5lcXVpcG1lbnQgPT09ICdfX05PX0VRVUlQTUVOVF9fJyA/IG51bGwgOiB0aGlzLnJlc3VsdC5lcXVpcG1lbnQsXG4gICAgICB2YWx1ZTogJ29rJ1xuICAgIH0pO1xuICB9XG5cbiAgY2xvc2VNb2RhbCgpIHtcbiAgICB0aGlzLmRpYWxvZy5jbG9zZSh7IHZhbHVlOiAnY2FuY2VsJyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlQWxsb3dlZFR5cGVzKCkge1xuICAgIHRoaXMuYWxsb3dlZFR5cGVzID0gdGhpcy50eXBlcy5maWx0ZXIoXG4gICAgICAodHlwZSkgPT4gIXRoaXMucmVzdWx0LmRvbWFpbiB8fCB0aGlzLnJlc3VsdC5kb21haW4ubGVuZ3RoID09PSAwIHx8IHR5cGUuZG9tYWluID09PSB0aGlzLnJlc3VsdC5kb21haW5cbiAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiby1odnktY3JlYXRlLXNlcnZpY2VcIj5cbiAgPGgzPnt7ICdAaHZ5LnNlcnZpY2UudGl0bGUnIHwgaTE4biB9fTwvaDM+XG4gIDxzcGFuPnt7ICdAaHZ5LnNlcnZpY2Uuc3VidGl0bGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19yZWFzb24gbS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGxhYmVsPnt7ICdAaHZ5LnNlcnZpY2UucmVhc29uJyB8IGkxOG4gfX0gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+IDo8L2xhYmVsPlxuICAgIDxpbnB1dCBjbGFzcz1cImEtZm9ybS1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgWyhuZ01vZGVsKV09XCJyZXN1bHQubmFtZVwiIFtjbGFzcy4tZXJyb3JdPVwiaGFzRXJyb3IoJ25hbWUnKVwiIC8+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGxhYmVsPnt7ICdAaHZ5LnNlcnZpY2UudGFyZ2V0JyB8IGkxOG4gfX0gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+IDo8L2xhYmVsPlxuICAgIDxwcnktc2VsZWN0XG4gICAgICBbaXRlbXNdPVwiZXF1aXBtZW50c1wiXG4gICAgICBbbmdNb2RlbF09XCJyZXN1bHQuZXF1aXBtZW50XCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRXF1aXBtZW50Q2hhbmdlKCRldmVudClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIicnIHwgaTE4blwiXG4gICAgICBbY2xhc3MuLWVycm9yXT1cImhhc0Vycm9yKCd0YXJnZXQnKVwiXG4gICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICBiaW5kTGFiZWw9XCJkaXNwbGF5TmFtZVwiXG4gICAgPjwvcHJ5LXNlbGVjdD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgby1odnktY3JlYXRlLXNlcnZpY2VfX3ByaW9yaXR5LW5hdHVyZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgIDxsYWJlbD57eyAnQGh2eS5zZXJ2aWNlLmRvbWFpbicgfCBpMThuIH19IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPiA6PC9sYWJlbD5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIFtpdGVtc109XCJkb21haW5zXCJcbiAgICAgICAgW25nTW9kZWxdPVwicmVzdWx0LmRvbWFpblwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRG9tYWluQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJycgfCBpMThuXCJcbiAgICAgICAgW2NsYXNzLi1lcnJvcl09XCJoYXNFcnJvcignZG9tYWluJylcIlxuICAgICAgICBpMThuUHJlZml4PVwiQGh2eS5ldmVudC5kb21haW4uXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgPGxhYmVsPnt7ICdAaHZ5LnNlcnZpY2UucHJpb3JpdHknIHwgaTE4biB9fSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj4gOjwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwicHJpb3JpdGllc1wiXG4gICAgICAgIFtuZ01vZGVsXT1cInJlc3VsdC5wcmlvcml0eVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uUHJpb3JpdHlDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInJyB8IGkxOG5cIlxuICAgICAgICBbY2xhc3MuLWVycm9yXT1cImhhc0Vycm9yKCdwcmlvcml0eScpXCJcbiAgICAgICAgaTE4blByZWZpeD1cIkBodnkuc2VydmljZS5wcmlvcml0aWVzLlwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgIDxsYWJlbD57eyAnQGh2eS5zZXJ2aWNlLnR5cGUnIHwgaTE4biB9fSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj4gOjwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwiYWxsb3dlZFR5cGVzXCJcbiAgICAgICAgW25nTW9kZWxdPVwicmVzdWx0LnR5cGVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblR5cGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInJyB8IGkxOG5cIlxuICAgICAgICBbY2xhc3MuLWVycm9yXT1cImhhc0Vycm9yKCd0eXBlJylcIlxuICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19ob3VycyBtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktY3JlYXRlLXNlcnZpY2VfX2hvdXJzX19lbGVtZW50XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiZ3RpXCI+e3sgJ0Bodnkuc2VydmljZS5ndGknIHwgaTE4biB9fSA6PC9sYWJlbD5cbiAgICAgIDxpbnB1dCBpZD1cImd0aVwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cInRleHRcIiBbbmdNb2RlbF09XCJyZXN1bHQuZ3RpID8/ICctJ1wiIHJlYWRvbmx5IFtkaXNhYmxlZF09XCJ0cnVlXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktY3JlYXRlLXNlcnZpY2VfX2hvdXJzX19lbGVtZW50XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiZ3RyXCI+e3sgJ0Bodnkuc2VydmljZS5ndHInIHwgaTE4biB9fSA6PC9sYWJlbD5cbiAgICAgIDxpbnB1dCBpZD1cImd0clwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cInRleHRcIiBbbmdNb2RlbF09XCJyZXN1bHQuZ3RyID8/ICctJ1wiIHJlYWRvbmx5IFtkaXNhYmxlZF09XCJ0cnVlXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktY3JlYXRlLXNlcnZpY2VfX2hvdXJzX19lbGVtZW50XCI+XG4gICAgICA8bGFiZWwgZm9yPVwiZ3RycFwiPnt7ICdAaHZ5LnNlcnZpY2UuZ3RycCcgfCBpMThuIH19IDo8L2xhYmVsPlxuICAgICAgPGlucHV0IGlkPVwiZ3RycFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiBbbmdNb2RlbF09XCJyZXN1bHQuZ3RycCA/PyAnLSdcIiByZWFkb25seSBbZGlzYWJsZWRdPVwidHJ1ZVwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1odnktY3JlYXRlLXNlcnZpY2VfX2Rlc2NyaXB0aW9uIG0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgIDxsYWJlbCBmb3I9XCJkZXNjcmlwdGlvblwiPnt7ICdAaHZ5LnNlcnZpY2UuZGVzY3JpcHRpb24nIHwgaTE4biB9fSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj4gOjwvbGFiZWw+XG4gICAgPHRleHRhcmVhXG4gICAgICBbbmdNb2RlbF09XCJyZXN1bHQuZGVzY3JpcHRpb25cIlxuICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgW2NsYXNzLi1lcnJvcl09XCJoYXNFcnJvcignZGVzY3JpcHRpb24nKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRlc2NyaXB0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgW21heExlbmd0aF09XCIyNTZcIlxuICAgICAgaWQ9XCJkZXNjcmlwdGlvblwiXG4gICAgPjwvdGV4dGFyZWE+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1odnktYXNzb2NpYXRpb24tbW9kYWxfX2J1dHRvbnMgdS1kaXNwbGF5LWZsZXggLWp1c3RpZnktY2VudGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgW2Rpc2FibGVkXT1cInRoaXMuZXJyb3JzLmxlbmd0aCAhPT0gMFwiIChjbGljayk9XCJjcmVhdGVESSgpXCI+XG4gICAgICB7eyAnQGh2eS5hY3Rpb24udmFsaWRhdGUnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiPnt7ICdAaHZ5LmFjdGlvbi5jYW5jZWwnIHwgaTE4biB9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNlcnZpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZ2VuZXJhbC9wcm9jZWR1cmUtYWN0aW9ucy9hY3Rpb24tcGFyYW1ldGVycy9zZXJ2aWNlL2NyZWF0ZS1zZXJ2aWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2dlbmVyYWwvcHJvY2VkdXJlLWFjdGlvbnMvYWN0aW9uLXBhcmFtZXRlcnMvc2VydmljZS9jcmVhdGUtc2VydmljZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFnQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTdHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7QUFvQjdELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFpQnJFLFlBQ1UsTUFBK0MsRUFDdkIsSUFBNkQsRUFDckYsY0FBOEIsRUFDOUIsV0FBMkI7UUFFbkMsS0FBSyxFQUFFLENBQUM7UUFMQSxXQUFNLEdBQU4sTUFBTSxDQUF5QztRQUN2QixTQUFJLEdBQUosSUFBSSxDQUF5RDtRQUNyRixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBcEJyQyxXQUFNLEdBQTJCO1lBQy9CLEtBQUssRUFBRSxRQUFRO1lBQ2YsSUFBSSxFQUFFLEVBQUU7WUFDUixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxFQUFFO1lBQ1osU0FBUyxFQUFFLEVBQUU7WUFDYixJQUFJ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QWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDaEIsR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDdEYsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUNuQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3ZHLENBQUM7SUFDSixDQUFDOzhHQTFJVSx5QkFBeUIsOENBbUIxQixlQUFlO2tHQW5CZCx5QkFBeUIsaUZDekJ0Qyx1NEhBdUZBOzsyRkQ5RGEseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLG9CQUFvQjs7MEJBc0IzQixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUFJZX0RJQUxPR19EQVRBLCBQcnlEaWFsb2dSZWYsIFByeUkxOG5TZXJ2aWNlLCBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgSHlwRXF1aXBtZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWwvaHlwLWVxdWlwbWVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHlwU2VydmljZUFjdGlvbiB9IGZyb20gJy4vc2VydmljZS1hY3Rpb24tZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHlwU2VydmljZVR5cGUsIFNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvc2VydmljZS9zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRE9NQUlOUyB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVsL2RvbWFpbnMuY29uc3RhbnQnO1xuaW1wb3J0IHsgSHlwRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LWRldGFpbC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBIeXBDcmVhdGVTZXJ2aWNlUmVzdWx0ID0ge1xuICB2YWx1ZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVxdWlwbWVudDogc3RyaW5nO1xuICBkb21haW46IHN0cmluZztcbiAgcHJpb3JpdHk6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBndGk/OiBzdHJpbmc7XG4gIGd0cj86IHN0cmluZztcbiAgZ3RycD86IHN0cmluZztcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1jcmVhdGUtc2VydmljZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtc2VydmljZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSHZ5Q3JlYXRlU2VydmljZUNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIHJlc3VsdDogSHlwQ3JlYXRlU2VydmljZVJlc3VsdCA9IHtcbiAgICB2YWx1ZTogJ2NhbmNlbCcsXG4gICAgbmFtZTogJycsXG4gICAgZG9tYWluOiAnJyxcbiAgICBwcmlvcml0eTogJycsXG4gICAgZXF1aXBtZW50OiAnJyxcbiAgICB0eXBlOiAnJyxcbiAgICBkZXNjcmlwdGlvbjogJydcbiAgfTtcbiAgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICB0eXBlczogSHlwU2VydmljZVR5cGVbXSA9IFtdO1xuICBwcmlvcml0aWVzID0gWycxLU1JTkVVUicsICcyLU1BSkVVUicsICczLUJMT1FVQU5UJ107XG4gIGRvbWFpbnMgPSBET01BSU5TLnZhbHVlcztcbiAgZXF1aXBtZW50czogKEh5cEVxdWlwbWVudCB8IHsgZGlzcGxheU5hbWU6IHN0cmluZyB9KVtdID0gW107XG4gIGFsbG93ZWRUeXBlczogSHlwU2VydmljZVR5cGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nOiBQcnlEaWFsb2dSZWY8SHZ5Q3JlYXRlU2VydmljZUNvbXBvbmVudD4sXG4gICAgQEluamVjdChQUllfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiB7IGFjdGlvbjogSHlwU2VydmljZUFjdGlvbjsgZXZlbnRzOiBIeXBFdmVudERldGFpbHNbXSB9LFxuICAgIHByaXZhdGUgc2VydmljZVNlcnZpY2U6IFNlcnZpY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZXN1bHQubmFtZSA9XG4gICAgICB0aGlzLmRhdGEuZXZlbnRzICYmIHRoaXMuZGF0YS5ldmVudHMubGVuZ3RoID4gMCA/IHRoaXMuZGF0YS5ldmVudHNbMF0ubmFtZSA6IHRoaXMuZGF0YS5hY3Rpb24ubmFtZTtcbiAgICB0aGlzLmVxdWlwbWVudHMgPSBbXG4gICAgICB7XG4gICAgICAgIGRpc3BsYXlOYW1lOiB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0Bodnkuc2VydmljZS5ub0VxdWlwJyksXG4gICAgICAgIGlkOiAnX19OT19FUVVJUE1FTlRfXydcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLmRhdGEuZXZlbnRzXG4gICAgICAgIC5maWx0ZXIoKGV2KSA9PiAhIWV2LmVxdWlwbWVudClcbiAgICAgICAgLm1hcCgoZXYpID0+ICh7XG4gICAgICAgICAgLi4uZXYuZXF1aXBtZW50LFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBgJHtldi5lcXVpcG1lbnQ/Lm5hbWV9IC0gJHt0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQoJ0BodnkuZXZlbnQuZmFtaWx5LicgKyBldi5lcXVpcG1lbnQ/LmZhbWlseSl9YFxuICAgICAgICB9KSlcbiAgICBdLmZpbHRlcigob2JqLCBpbmRleCwgYXJyKSA9PlxuICAgIHtcbiAgICAgIHJldHVybiBhcnIuZmluZEluZGV4KG8gPT5cbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG8pID09PSBKU09OLnN0cmluZ2lmeShvYmopXG4gICAgICB9KSA9PT0gaW5kZXhcbiAgICB9KTtcblxuICAgIHRoaXMuc2VydmljZVNlcnZpY2UudHlwZXMoKS5zdWJzY3JpYmUoKHR5cGVzKSA9PiB7XG4gICAgICB0aGlzLnR5cGVzID0gdHlwZXM7XG4gICAgICB0aGlzLnVwZGF0ZUFsbG93ZWRUeXBlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgYWN0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnJlc3VsdC52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuZGlhbG9nLmNsb3NlKHRoaXMucmVzdWx0KTtcbiAgfVxuXG4gIG9uRXF1aXBtZW50Q2hhbmdlKCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXN1bHQuZXF1aXBtZW50ID0gJGV2ZW50O1xuICAgIGNvbnN0IGVxdWlwbWVudCA9IChcbiAgICAgIHRoaXMuZXF1aXBtZW50cy5maWx0ZXIoKGVxdWlwbWVudCkgPT4gZXF1aXBtZW50Lmhhc093blByb3BlcnR5KCdkb21haW4nKSkgYXMgSHlwRXF1aXBtZW50W11cbiAgICApLmZpbmQoKGVxdWlwKSA9PiBlcXVpcC5pZCA9PT0gJGV2ZW50KTtcbiAgICBpZiAoZXF1aXBtZW50KSB7XG4gICAgICB0aGlzLnJlc3VsdC5kb21haW4gPSAoZXF1aXBtZW50IGFzIEh5cEVxdWlwbWVudCkuZG9tYWluO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrKCk7XG4gIH1cblxuICBvbkRlc2NyaXB0aW9uQ2hhbmdlKCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXN1bHQuZGVzY3JpcHRpb24gPSAkZXZlbnQ7XG4gICAgdGhpcy5jaGVjaygpO1xuICB9XG5cbiAgb25UeXBlQ2hhbmdlKCRldmVudDogc3RyaW5nKSB7XG4gICAgdGhpcy5yZXN1bHQudHlwZSA9ICRldmVudDtcbiAgICBjb25zdCB0eXBlVmFsdWUgPSB0aGlzLnR5cGVzLmZpbmQoKHR5cGUpID0+IHR5cGUubmFtZSA9PT0gJGV2ZW50KSA/PyB7XG4gICAgICBndGk6ICctJyxcbiAgICAgIGd0cjogJy0nLFxuICAgICAgZ3RycDogJy0nXG4gICAgfTtcbiAgICB0aGlzLnJlc3VsdC5ndGkgPSAodHlwZVZhbHVlLmd0aSA/PyAnLScpICsgJyc7XG4gICAgdGhpcy5yZXN1bHQuZ3RyID0gKHR5cGVWYWx1ZS5ndHIgPz8gJy0nKSArICcnO1xuICAgIHRoaXMucmVzdWx0Lmd0cnAgPSAodHlwZVZhbHVlLmd0cnAgPz8gJy0nKSArICcnO1xuICAgIHRoaXMuY2hlY2soKTtcbiAgfVxuXG4gIG9uUHJpb3JpdHlDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnJlc3VsdC5wcmlvcml0eSA9ICRldmVudDtcbiAgICB0aGlzLmNoZWNrKCk7XG4gIH1cblxuICBvbkRvbWFpbkNoYW5nZSgkZXZlbnQ6IHN0cmluZykge1xuICAgIHRoaXMucmVzdWx0LmRvbWFpbiA9ICRldmVudDtcbiAgICB0aGlzLnVwZGF0ZUFsbG93ZWRUeXBlcygpO1xuICAgIHRoaXMuY2hlY2soKTtcbiAgfVxuXG4gIGhhc0Vycm9yKHR5cGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmVycm9ycy5pbmNsdWRlcyh0eXBlKTtcbiAgfVxuXG4gIGNoZWNrKCkge1xuICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgaWYgKCF0aGlzLnJlc3VsdC5uYW1lIHx8IHRoaXMucmVzdWx0Lm5hbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9ycy5wdXNoKCduYW1lJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yZXN1bHQuZXF1aXBtZW50IHx8IHRoaXMucmVzdWx0LmVxdWlwbWVudC5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuZXJyb3JzLnB1c2goJ3RhcmdldCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucmVzdWx0LmRlc2NyaXB0aW9uIHx8IHRoaXMucmVzdWx0LmRlc2NyaXB0aW9uLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5lcnJvcnMucHVzaCgnZGVzY3JpcHRpb24nKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnJlc3VsdC50eXBlIHx8IHRoaXMucmVzdWx0LnR5cGUubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9ycy5wdXNoKCd0eXBlJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5yZXN1bHQucHJpb3JpdHkgfHwgdGhpcy5yZXN1bHQucHJpb3JpdHkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9ycy5wdXNoKCdwcmlvcml0eScpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMucmVzdWx0LmRvbWFpbiB8fCB0aGlzLnJlc3VsdC5kb21haW4ubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9ycy5wdXNoKCdkb21haW4nKTtcbiAgICB9XG4gIH1cblxuICBjcmVhdGVESSgpIHtcbiAgICB0aGlzLmRpYWxvZy5jbG9zZSh7XG4gICAgICAuLi50aGlzLnJlc3VsdCxcbiAgICAgIGVxdWlwbWVudDogdGhpcy5yZXN1bHQuZXF1aXBtZW50ID09PSAnX19OT19FUVVJUE1FTlRfXycgPyBudWxsIDogdGhpcy5yZXN1bHQuZXF1aXBtZW50LFxuICAgICAgdmFsdWU6ICdvaydcbiAgICB9KTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoeyB2YWx1ZTogJ2NhbmNlbCcgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUFsbG93ZWRUeXBlcygpIHtcbiAgICB0aGlzLmFsbG93ZWRUeXBlcyA9IHRoaXMudHlwZXMuZmlsdGVyKFxuICAgICAgKHR5cGUpID0+ICF0aGlzLnJlc3VsdC5kb21haW4gfHwgdGhpcy5yZXN1bHQuZG9tYWluLmxlbmd0aCA9PT0gMCB8fCB0eXBlLmRvbWFpbiA9PT0gdGhpcy5yZXN1bHQuZG9tYWluXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlXCI+XG4gIDxoMz57eyAnQGh2eS5zZXJ2aWNlLnRpdGxlJyB8IGkxOG4gfX08L2gzPlxuICA8c3Bhbj57eyAnQGh2eS5zZXJ2aWNlLnN1YnRpdGxlJyB8IGkxOG4gfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1jcmVhdGUtc2VydmljZV9fcmVhc29uIG0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgIDxsYWJlbD57eyAnQGh2eS5zZXJ2aWNlLnJlYXNvbicgfCBpMThuIH19IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPiA6PC9sYWJlbD5cbiAgICA8aW5wdXQgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwicmVzdWx0Lm5hbWVcIiBbY2xhc3MuLWVycm9yXT1cImhhc0Vycm9yKCduYW1lJylcIiAvPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgIDxsYWJlbD57eyAnQGh2eS5zZXJ2aWNlLnRhcmdldCcgfCBpMThuIH19IDxzcGFuIGNsYXNzPVwicmVxdWlyZWRcIj4qPC9zcGFuPiA6PC9sYWJlbD5cbiAgICA8cHJ5LXNlbGVjdFxuICAgICAgW2l0ZW1zXT1cImVxdWlwbWVudHNcIlxuICAgICAgW25nTW9kZWxdPVwicmVzdWx0LmVxdWlwbWVudFwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkVxdWlwbWVudENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInJyB8IGkxOG5cIlxuICAgICAgW2NsYXNzLi1lcnJvcl09XCJoYXNFcnJvcigndGFyZ2V0JylcIlxuICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgYmluZExhYmVsPVwiZGlzcGxheU5hbWVcIlxuICAgID48L3ByeS1zZWxlY3Q+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIG8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19wcmlvcml0eS1uYXR1cmVcIj5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICA8bGFiZWw+e3sgJ0Bodnkuc2VydmljZS5kb21haW4nIHwgaTE4biB9fSA8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj4gOjwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBbaXRlbXNdPVwiZG9tYWluc1wiXG4gICAgICAgIFtuZ01vZGVsXT1cInJlc3VsdC5kb21haW5cIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkRvbWFpbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIicnIHwgaTE4blwiXG4gICAgICAgIFtjbGFzcy4tZXJyb3JdPVwiaGFzRXJyb3IoJ2RvbWFpbicpXCJcbiAgICAgICAgaTE4blByZWZpeD1cIkBodnkuZXZlbnQuZG9tYWluLlwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgIDxsYWJlbD57eyAnQGh2eS5zZXJ2aWNlLnByaW9yaXR5JyB8IGkxOG4gfX0gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+IDo8L2xhYmVsPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgW2l0ZW1zXT1cInByaW9yaXRpZXNcIlxuICAgICAgICBbbmdNb2RlbF09XCJyZXN1bHQucHJpb3JpdHlcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblByaW9yaXR5Q2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJycgfCBpMThuXCJcbiAgICAgICAgW2NsYXNzLi1lcnJvcl09XCJoYXNFcnJvcigncHJpb3JpdHknKVwiXG4gICAgICAgIGkxOG5QcmVmaXg9XCJAaHZ5LnNlcnZpY2UucHJpb3JpdGllcy5cIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICA8bGFiZWw+e3sgJ0Bodnkuc2VydmljZS50eXBlJyB8IGkxOG4gfX0gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+IDo8L2xhYmVsPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgW2l0ZW1zXT1cImFsbG93ZWRUeXBlc1wiXG4gICAgICAgIFtuZ01vZGVsXT1cInJlc3VsdC50eXBlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UeXBlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJycgfCBpMThuXCJcbiAgICAgICAgW2NsYXNzLi1lcnJvcl09XCJoYXNFcnJvcigndHlwZScpXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgIGJpbmRWYWx1ZT1cIm5hbWVcIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1jcmVhdGUtc2VydmljZV9faG91cnMgbS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19ob3Vyc19fZWxlbWVudFwiPlxuICAgICAgPGxhYmVsIGZvcj1cImd0aVwiPnt7ICdAaHZ5LnNlcnZpY2UuZ3RpJyB8IGkxOG4gfX0gOjwvbGFiZWw+XG4gICAgICA8aW5wdXQgaWQ9XCJndGlcIiBjbGFzcz1cImEtZm9ybS1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW25nTW9kZWxdPVwicmVzdWx0Lmd0aSA/PyAnLSdcIiByZWFkb25seSBbZGlzYWJsZWRdPVwidHJ1ZVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19ob3Vyc19fZWxlbWVudFwiPlxuICAgICAgPGxhYmVsIGZvcj1cImd0clwiPnt7ICdAaHZ5LnNlcnZpY2UuZ3RyJyB8IGkxOG4gfX0gOjwvbGFiZWw+XG4gICAgICA8aW5wdXQgaWQ9XCJndHJcIiBjbGFzcz1cImEtZm9ybS1maWVsZFwiIHR5cGU9XCJ0ZXh0XCIgW25nTW9kZWxdPVwicmVzdWx0Lmd0ciA/PyAnLSdcIiByZWFkb25seSBbZGlzYWJsZWRdPVwidHJ1ZVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19ob3Vyc19fZWxlbWVudFwiPlxuICAgICAgPGxhYmVsIGZvcj1cImd0cnBcIj57eyAnQGh2eS5zZXJ2aWNlLmd0cnAnIHwgaTE4biB9fSA6PC9sYWJlbD5cbiAgICAgIDxpbnB1dCBpZD1cImd0cnBcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgW25nTW9kZWxdPVwicmVzdWx0Lmd0cnAgPz8gJy0nXCIgcmVhZG9ubHkgW2Rpc2FibGVkXT1cInRydWVcIiAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWNyZWF0ZS1zZXJ2aWNlX19kZXNjcmlwdGlvbiBtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICA8bGFiZWwgZm9yPVwiZGVzY3JpcHRpb25cIj57eyAnQGh2eS5zZXJ2aWNlLmRlc2NyaXB0aW9uJyB8IGkxOG4gfX0gPHNwYW4gY2xhc3M9XCJyZXF1aXJlZFwiPio8L3NwYW4+IDo8L2xhYmVsPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgW25nTW9kZWxdPVwicmVzdWx0LmRlc2NyaXB0aW9uXCJcbiAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgIFtjbGFzcy4tZXJyb3JdPVwiaGFzRXJyb3IoJ2Rlc2NyaXB0aW9uJylcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25EZXNjcmlwdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIFttYXhMZW5ndGhdPVwiMjU2XCJcbiAgICAgIGlkPVwiZGVzY3JpcHRpb25cIlxuICAgID48L3RleHRhcmVhPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWFzc29jaWF0aW9uLW1vZGFsX19idXR0b25zIHUtZGlzcGxheS1mbGV4IC1qdXN0aWZ5LWNlbnRlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIFtkaXNhYmxlZF09XCJ0aGlzLmVycm9ycy5sZW5ndGggIT09IDBcIiAoY2xpY2spPVwiY3JlYXRlREkoKVwiPlxuICAgICAge3sgJ0BodnkuYWN0aW9uLnZhbGlkYXRlJyB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZU1vZGFsKClcIj57eyAnQGh2eS5hY3Rpb24uY2FuY2VsJyB8IGkxOG4gfX08L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1164,7 +1164,11 @@ class HvyCreateServiceComponent extends SubscriptionnerDirective {
|
|
|
1164
1164
|
...ev.equipment,
|
|
1165
1165
|
displayName: `${ev.equipment?.name} - ${this.i18nService.instant('@hvy.event.family.' + ev.equipment?.family)}`
|
|
1166
1166
|
}))
|
|
1167
|
-
]
|
|
1167
|
+
].filter((obj, index, arr) => {
|
|
1168
|
+
return arr.findIndex(o => {
|
|
1169
|
+
return JSON.stringify(o) === JSON.stringify(obj);
|
|
1170
|
+
}) === index;
|
|
1171
|
+
});
|
|
1168
1172
|
this.serviceService.types().subscribe((types) => {
|
|
1169
1173
|
this.types = types;
|
|
1170
1174
|
this.updateAllowedTypes();
|
|
@@ -2621,7 +2625,7 @@ class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
2621
2625
|
}
|
|
2622
2626
|
filter() {
|
|
2623
2627
|
let filters = this.filters.map((filter) => filter.getParams()).reduce((p, c) => ({ ...p, ...c }), {});
|
|
2624
|
-
if (this.filterSet
|
|
2628
|
+
if (this.filterSet !== 'events') {
|
|
2625
2629
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
2626
2630
|
}
|
|
2627
2631
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -2630,7 +2634,7 @@ class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
2630
2634
|
}
|
|
2631
2635
|
reset() {
|
|
2632
2636
|
let filters = {};
|
|
2633
|
-
if (this.filterSet
|
|
2637
|
+
if (this.filterSet !== 'events') {
|
|
2634
2638
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
2635
2639
|
}
|
|
2636
2640
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -2764,7 +2768,7 @@ class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
2764
2768
|
if (this.allSelected()) {
|
|
2765
2769
|
return this.i18nService.instant(this.allLabel);
|
|
2766
2770
|
}
|
|
2767
|
-
if (this.value().length
|
|
2771
|
+
if (this.value().length >= 0) {
|
|
2768
2772
|
return `(${this.value().length})`;
|
|
2769
2773
|
}
|
|
2770
2774
|
if (this.value().length === 1) {
|
|
@@ -2867,11 +2871,11 @@ class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
2867
2871
|
setTimeout(() => (this.inhibate = undefined), 50);
|
|
2868
2872
|
}
|
|
2869
2873
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, deps: [{ token: i1$1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i1$3.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2870
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$3.I18nPipe, name: "i18n" }] }); }
|
|
2874
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$3.I18nPipe, name: "i18n" }] }); }
|
|
2871
2875
|
}
|
|
2872
2876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, decorators: [{
|
|
2873
2877
|
type: Component,
|
|
2874
|
-
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
2878
|
+
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
2875
2879
|
}], ctorParameters: () => [{ type: i1$1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i1$3.PryI18nService }, { type: i0.ElementRef }], propDecorators: { allLabel: [{
|
|
2876
2880
|
type: Input
|
|
2877
2881
|
}], label: [{
|