@eo-sdk/client 11.2.1 → 11.2.2
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/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +1 -1
- package/assets/_default/i18n/en.json +1 -1
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +4 -3
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +3 -3
- package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +4 -4
- package/esm2022/app/eo-framework/grid/grid.component.mjs +5 -4
- package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +9 -9
- package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +2 -2
- package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +1 -1
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +1 -1
- package/fesm2022/eo-sdk-client.mjs +28 -27
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/prebuild-about-state.js +13 -10
- package/package.json +7 -7
|
@@ -35,7 +35,7 @@ let LastEditedAndCreatedSetupComponent = class LastEditedAndCreatedSetupComponen
|
|
|
35
35
|
lastEdited: [true],
|
|
36
36
|
lastCreated: [true],
|
|
37
37
|
sortRevert: [],
|
|
38
|
-
number: [10, [Validators.max(
|
|
38
|
+
number: [10, [Validators.max(50), Validators.min(3), Validators.required]],
|
|
39
39
|
});
|
|
40
40
|
this.setupForm.valueChanges.pipe(untilDestroyed(this)).subscribe((_) => {
|
|
41
41
|
this.setWidgetConfig();
|
|
@@ -63,7 +63,7 @@ let LastEditedAndCreatedSetupComponent = class LastEditedAndCreatedSetupComponen
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedSetupComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: LastEditedAndCreatedSetupComponent, selector: "eo-last-edited-and-created-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange", widgetConfigStateChange: "widgetConfigStateChange" }, viewQueries: [{ propertyName: "lastEditedAndCreated", first: true, predicate: LastEditedAndCreatedComponent, descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate>\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i5.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i6.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i7.LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: ["editMode", "widgetConfig"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: LastEditedAndCreatedSetupComponent, selector: "eo-last-edited-and-created-setup", inputs: { widgetConfig: "widgetConfig" }, outputs: { widgetConfigChange: "widgetConfigChange", widgetConfigStateChange: "widgetConfigStateChange" }, viewQueries: [{ propertyName: "lastEditedAndCreated", first: true, predicate: LastEditedAndCreatedComponent, descendants: true }], ngImport: i0, template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate [translateParams]=\"{min: 3, max: 50}\">\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ErrorMessageComponent, selector: "eo-error-message", inputs: ["emptyState"] }, { kind: "component", type: i4.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i5.NumberComponent, selector: "eo-number", inputs: ["scale", "precision", "grouping", "pattern", "readonly"] }, { kind: "component", type: i6.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i7.LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: ["editMode", "widgetConfig"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
|
67
67
|
};
|
|
68
68
|
LastEditedAndCreatedSetupComponent = __decorate([
|
|
69
69
|
UntilDestroy()
|
|
@@ -71,7 +71,7 @@ LastEditedAndCreatedSetupComponent = __decorate([
|
|
|
71
71
|
export { LastEditedAndCreatedSetupComponent };
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: LastEditedAndCreatedSetupComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
|
-
args: [{ selector: 'eo-last-edited-and-created-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate>\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"] }]
|
|
74
|
+
args: [{ selector: 'eo-last-edited-and-created-setup', template: "<div class=\"setup\">\n <form [formGroup]=\"setupForm\">\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.edited'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastEdited\" [readonly]=\"isEditedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.created'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"lastCreated\" [readonly]=\"isCreatedChecked\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [required]=\"true\"\n [invalid]=\"setupForm.dirty && setupForm.get('number').invalid\"\n [label]=\"'eo.workspace.widget.form.label.size' | translate\">\n <eo-number [scale]=\"0\" formControlName=\"number\"></eo-number>\n </eo-form-input>\n @if (setupForm.dirty && setupForm.get('number').invalid) {\n <div class=\"err-msg\" translate [translateParams]=\"{min: 3, max: 50}\">\n @if (setupForm.get('number').hasError('required')) {\n eo.form.property.required\n } @else if (setupForm.get('number').hasError('max') || setupForm.get('size').hasError('min')) {\n eo.form.property.string.error.classification.partialValue\n }\n </div>\n }\n <eo-form-input class=\"label checkbox\" [label]=\"'eo.workspace.widget.form.label.sortRevert'|translate\"\n [skipToggle]=\"true\">\n <eo-checkbox formControlName=\"sortRevert\" [tristate]=\"false\"></eo-checkbox>\n </eo-form-input>\n </form>\n</div>\n\n@if (isEmpty) {\n <div class=\"empty\">\n <eo-error-message\n [emptyState]=\"{icon: 'ic_saved_search.svg', text: 'eo.workspace.widget.emptyList'}\"></eo-error-message>\n </div>\n} @else {\n <div class=\"preview\">\n <eo-last-edited-and-created [widgetConfig]=\"widgetConfig\"></eo-last-edited-and-created>\n </div>\n}\n", styles: [":host{display:grid;grid-template-rows:1fr;grid-template-columns:minmax(200px,400px) 1fr;grid-template-areas:\"setup preview\";height:100%}:host .setup{grid-area:setup;padding:var(--app-pane-padding);border-right:1px solid var(--panel-divider-color)}:host .setup eo-form-input{display:block;margin-bottom:var(--app-pane-padding)}:host .setup .propertyPicker{padding-bottom:30px;padding-top:30px}:host .setup .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}:host .preview{grid-area:preview;overflow-y:auto;background-color:var(--main-background);padding:var(--app-pane-padding)}:host .preview eo-last-edited-and-created{border:1px solid var(--panel-divider-color)}\n"] }]
|
|
75
75
|
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }], propDecorators: { widgetConfigChange: [{
|
|
76
76
|
type: Output
|
|
77
77
|
}], widgetConfigStateChange: [{
|
|
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
82
82
|
}], widgetConfig: [{
|
|
83
83
|
type: Input
|
|
84
84
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQtc2V0dXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvbGFzdC1lZGl0ZWQtd2lkZ2V0L2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBMEQsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBUzVFLElBQU0sa0NBQWtDLEdBQXhDLE1BQU0sa0NBQWtDO0lBZ0I3QyxJQUFhLFlBQVksQ0FBQyxDQUF1QjtRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FB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LGdEQ2xCMUMsNDhEQXlDQTs7QUQzQmEsa0NBQWtDO0lBRDlDLFlBQVksRUFBRTtHQUNGLGtDQUFrQyxDQTZEOUM7OzJGQTdEWSxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0Usa0NBQWtDO3VGQVFsQyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNtQyxvQkFBb0I7c0JBQTdELFNBQVM7dUJBQUMsNkJBQTZCO2dCQVkzQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZH0gZnJvbSAnLi4vbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQnO1xuaW1wb3J0IHtGb3JtQ29udHJvbFN0YXR1cywgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50fSBmcm9tICcuLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIExhc3RFZGl0ZWRBbmRDcmVhdGVkU2V0dXBDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0U2V0dXBDb21wb25lbnQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogTGFzdEVkaXRlZEFuZENyZWF0ZWQ7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExhc3RFZGl0ZWRBbmRDcmVhdGVkPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Db250cm9sU3RhdHVzPigpO1xuICBAVmlld0NoaWxkKExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50KSBsYXN0RWRpdGVkQW5kQ3JlYXRlZDtcbiAgaXNFbXB0eSA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0VkaXRlZENoZWNrZWQgPSBmYWxzZTtcbiAgaXNDcmVhdGVkQ2hlY2tlZCA9IGZhbHNlO1xuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBsYXN0RWRpdGVkOiBbdHJ1ZV0sXG4gICAgbGFzdENyZWF0ZWQ6IFt0cnVlXSxcbiAgICBzb3J0UmV2ZXJ0OiBbXSxcbiAgICBudW1iZXI6IFsxMCwgW1ZhbGlkYXRvcnMubWF4KDEwMCksIFZhbGlkYXRvcnMubWluKDMpLCBWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gIH0pO1xuXG4gIEBJbnB1dCgpIHNldCB3aWRnZXRDb25maWcoYzogTGFzdEVkaXRlZEFuZENyZWF0ZWQpIHtcbiAgICB0aGlzLl93aWRnZXRDb25maWcgPSBjO1xuICAgIHRoaXMuc2V0dXBGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgbGFzdEVkaXRlZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkID09PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0RWRpdGVkLFxuICAgICAgbGFzdENyZWF0ZWQ6IHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkLFxuICAgICAgc29ydFJldmVydDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5zb3J0UmV2ZXJ0ID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5zb3J0UmV2ZXJ0IDogJycsXG4gICAgICBudW1iZXI6IHRoaXMuX3dpZGdldENvbmZpZz8ubnVtYmVyID8gdGhpcy5fd2lkZ2V0Q29uZmlnPy5udW1iZXIgOiAxMCxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCB3aWRnZXRDb25maWcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldENvbmZpZztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgKSB7XG4gICAgdGhpcy5zZXR1cEZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgdGhpcy5zZXRXaWRnZXRDb25maWcoKTtcbiAgICAgIHRoaXMuaXNDcmVhdGVkQ2hlY2tlZCA9ICF0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQ7XG4gICAgICB0aGlzLmlzRWRpdGVkQ2hlY2tlZCA9ICF0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RDcmVhdGVkO1xuICAgIH0pO1xuICAgIHRoaXMuc2V0dXBGb3JtLnN0YXR1c0NoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh2KSA9PiB7XG4gICAgICB0aGlzLndpZGdldENvbmZpZ1N0YXRlQ2hhbmdlLmVtaXQodik7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzRW1wdHkgPSB0aGlzLmxhc3RFZGl0ZWRBbmRDcmVhdGVkLmVtcHR5O1xuICAgIH0sIDIwMCk7XG4gIH1cbiAgXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlnKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZGdldENvbmZpZygpIHtcbiAgICBpZiAodGhpcy5zZXR1cEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHtcbiAgICAgICAgLi4uIHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5lZGl0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RFZGl0ZWRcIiBbcmVhZG9ubHldPVwiaXNFZGl0ZWRDaGVja2VkXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJsYWJlbCBjaGVja2JveFwiIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmNyZWF0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RDcmVhdGVkXCIgW3JlYWRvbmx5XT1cImlzQ3JlYXRlZENoZWNrZWRcIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zaXplJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlclwiPjwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICBAaWYgKHNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiIHRyYW5zbGF0ZT5cbiAgICAgICAgQGlmIChzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICAgIGVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWRcbiAgICAgICAgfSBAZWxzZSBpZiAoc2V0dXBGb3JtLmdldCgnbnVtYmVyJykuaGFzRXJyb3IoJ21heCcpIHx8IHNldHVwRm9ybS5nZXQoJ3NpemUnKS5oYXNFcnJvcignbWluJykpIHtcbiAgICAgICAgICBlby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi5wYXJ0aWFsVmFsdWVcbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zb3J0UmV2ZXJ0J3x0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgIFtza2lwVG9nZ2xlXT1cInRydWVcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJzb3J0UmV2ZXJ0XCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gIDwvZm9ybT5cbjwvZGl2PlxuXG5AaWYgKGlzRW1wdHkpIHtcbiAgPGRpdiBjbGFzcz1cImVtcHR5XCI+XG4gICAgPGVvLWVycm9yLW1lc3NhZ2VcbiAgICAgIFtlbXB0eVN0YXRlXT1cIntpY29uOiAnaWNfc2F2ZWRfc2VhcmNoLnN2ZycsIHRleHQ6ICdlby53b3Jrc3BhY2Uud2lkZ2V0LmVtcHR5TGlzdCd9XCI+PC9lby1lcnJvci1tZXNzYWdlPlxuICA8L2Rpdj5cbn0gQGVsc2Uge1xuICA8ZGl2IGNsYXNzPVwicHJldmlld1wiPlxuICAgIDxlby1sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZCBbd2lkZ2V0Q29uZmlnXT1cIndpZGdldENvbmZpZ1wiPjwvZW8tbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQ+XG4gIDwvZGl2PlxufVxuIl19
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQtc2V0dXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvZGFzaGJvYXJkL3dpZGdldHMvbGFzdC1lZGl0ZWQtd2lkZ2V0L2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tY2xpZW50L2Rhc2hib2FyZC93aWRnZXRzL2xhc3QtZWRpdGVkLXdpZGdldC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZHLE9BQU8sRUFBMEQsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkcsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBUzVFLElBQU0sa0NBQWtDLEdBQXhDLE1BQU0sa0NBQWtDO0lBZ0I3QyxJQUFhLFlBQVksQ0FBQyxDQUF1QjtRQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FB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LGdEQ2xCMUMsby9EQXlDQTs7QUQzQmEsa0NBQWtDO0lBRDlDLFlBQVksRUFBRTtHQUNGLGtDQUFrQyxDQTZEOUM7OzJGQTdEWSxrQ0FBa0M7a0JBUDlDLFNBQVM7K0JBQ0Usa0NBQWtDO3VGQVFsQyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNtQyxvQkFBb0I7c0JBQTdELFNBQVM7dUJBQUMsNkJBQTZCO2dCQVkzQixZQUFZO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJV2lkZ2V0U2V0dXBDb21wb25lbnR9IGZyb20gJ0B5dXV2aXMvd2lkZ2V0LWdyaWQnO1xuaW1wb3J0IHtMYXN0RWRpdGVkQW5kQ3JlYXRlZH0gZnJvbSAnLi4vbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQnO1xuaW1wb3J0IHtGb3JtQ29udHJvbFN0YXR1cywgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge0xhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50fSBmcm9tICcuLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9sYXN0LWVkaXRlZC1hbmQtY3JlYXRlZC1zZXR1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xhc3QtZWRpdGVkLWFuZC1jcmVhdGVkLXNldHVwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbkBVbnRpbERlc3Ryb3koKVxuZXhwb3J0IGNsYXNzIExhc3RFZGl0ZWRBbmRDcmVhdGVkU2V0dXBDb21wb25lbnQgaW1wbGVtZW50cyBJV2lkZ2V0U2V0dXBDb21wb25lbnQsIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX3dpZGdldENvbmZpZzogTGFzdEVkaXRlZEFuZENyZWF0ZWQ7XG4gIEBPdXRwdXQoKSB3aWRnZXRDb25maWdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPExhc3RFZGl0ZWRBbmRDcmVhdGVkPigpO1xuICBAT3V0cHV0KCkgd2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Db250cm9sU3RhdHVzPigpO1xuICBAVmlld0NoaWxkKExhc3RFZGl0ZWRBbmRDcmVhdGVkQ29tcG9uZW50KSBsYXN0RWRpdGVkQW5kQ3JlYXRlZDtcbiAgaXNFbXB0eSA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBpc0VkaXRlZENoZWNrZWQgPSBmYWxzZTtcbiAgaXNDcmVhdGVkQ2hlY2tlZCA9IGZhbHNlO1xuICBzZXR1cEZvcm06IFVudHlwZWRGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBsYXN0RWRpdGVkOiBbdHJ1ZV0sXG4gICAgbGFzdENyZWF0ZWQ6IFt0cnVlXSxcbiAgICBzb3J0UmV2ZXJ0OiBbXSxcbiAgICBudW1iZXI6IFsxMCwgW1ZhbGlkYXRvcnMubWF4KDUwKSwgVmFsaWRhdG9ycy5taW4oMyksIFZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgfSk7XG5cbiAgQElucHV0KCkgc2V0IHdpZGdldENvbmZpZyhjOiBMYXN0RWRpdGVkQW5kQ3JlYXRlZCkge1xuICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IGM7XG4gICAgdGhpcy5zZXR1cEZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBsYXN0RWRpdGVkOiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQgPT09IHVuZGVmaW5lZCA/IHRydWUgOiB0aGlzLl93aWRnZXRDb25maWc/Lmxhc3RFZGl0ZWQsXG4gICAgICBsYXN0Q3JlYXRlZDogdGhpcy5fd2lkZ2V0Q29uZmlnPy5sYXN0Q3JlYXRlZCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQsXG4gICAgICBzb3J0UmV2ZXJ0OiB0aGlzLl93aWRnZXRDb25maWc/LnNvcnRSZXZlcnQgPyB0aGlzLl93aWRnZXRDb25maWc/LnNvcnRSZXZlcnQgOiAnJyxcbiAgICAgIG51bWJlcjogdGhpcy5fd2lkZ2V0Q29uZmlnPy5udW1iZXIgPyB0aGlzLl93aWRnZXRDb25maWc/Lm51bWJlciA6IDEwLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IHdpZGdldENvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0Q29uZmlnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICB0aGlzLnNldHVwRm9ybS52YWx1ZUNoYW5nZXMucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICB0aGlzLnNldFdpZGdldENvbmZpZygpO1xuICAgICAgdGhpcy5pc0NyZWF0ZWRDaGVja2VkID0gIXRoaXMuX3dpZGdldENvbmZpZz8ubGFzdEVkaXRlZDtcbiAgICAgIHRoaXMuaXNFZGl0ZWRDaGVja2VkID0gIXRoaXMuX3dpZGdldENvbmZpZz8ubGFzdENyZWF0ZWQ7XG4gICAgfSk7XG4gICAgdGhpcy5zZXR1cEZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnU3RhdGVDaGFuZ2UuZW1pdCh2KTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNFbXB0eSA9IHRoaXMubGFzdEVkaXRlZEFuZENyZWF0ZWQuZW1wdHk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0V2lkZ2V0Q29uZmlnKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFdpZGdldENvbmZpZygpIHtcbiAgICBpZiAodGhpcy5zZXR1cEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuX3dpZGdldENvbmZpZyA9IHtcbiAgICAgICAgLi4uIHRoaXMuc2V0dXBGb3JtLnZhbHVlLFxuICAgICAgfTtcbiAgICAgIHRoaXMud2lkZ2V0Q29uZmlnQ2hhbmdlLmVtaXQodGhpcy5fd2lkZ2V0Q29uZmlnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZXR1cFwiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNldHVwRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IGNsYXNzPVwibGFiZWwgY2hlY2tib3hcIiBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5lZGl0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RFZGl0ZWRcIiBbcmVhZG9ubHldPVwiaXNFZGl0ZWRDaGVja2VkXCIgW3RyaXN0YXRlXT1cImZhbHNlXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgY2xhc3M9XCJsYWJlbCBjaGVja2JveFwiIFtsYWJlbF09XCInZW8ud29ya3NwYWNlLndpZGdldC5mb3JtLmxhYmVsLmNyZWF0ZWQnfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImxhc3RDcmVhdGVkXCIgW3JlYWRvbmx5XT1cImlzQ3JlYXRlZENoZWNrZWRcIiBbdHJpc3RhdGVdPVwiZmFsc2VcIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkXCJcbiAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ2VvLndvcmtzcGFjZS53aWRnZXQuZm9ybS5sYWJlbC5zaXplJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPGVvLW51bWJlciBbc2NhbGVdPVwiMFwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlclwiPjwvZW8tbnVtYmVyPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICBAaWYgKHNldHVwRm9ybS5kaXJ0eSAmJiBzZXR1cEZvcm0uZ2V0KCdudW1iZXInKS5pbnZhbGlkKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiIHRyYW5zbGF0ZSBbdHJhbnNsYXRlUGFyYW1zXT1cInttaW46IDMsIG1heDogNTB9XCI+XG4gICAgICAgIEBpZiAoc2V0dXBGb3JtLmdldCgnbnVtYmVyJykuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgICBlby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkXG4gICAgICAgIH0gQGVsc2UgaWYgKHNldHVwRm9ybS5nZXQoJ251bWJlcicpLmhhc0Vycm9yKCdtYXgnKSB8fCBzZXR1cEZvcm0uZ2V0KCdzaXplJykuaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICAgICAgZW8uZm9ybS5wcm9wZXJ0eS5zdHJpbmcuZXJyb3IuY2xhc3NpZmljYXRpb24ucGFydGlhbFZhbHVlXG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZW8tZm9ybS1pbnB1dCBjbGFzcz1cImxhYmVsIGNoZWNrYm94XCIgW2xhYmVsXT1cIidlby53b3Jrc3BhY2Uud2lkZ2V0LmZvcm0ubGFiZWwuc29ydFJldmVydCd8dHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICBbc2tpcFRvZ2dsZV09XCJ0cnVlXCI+XG4gICAgICA8ZW8tY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwic29ydFJldmVydFwiIFt0cmlzdGF0ZV09XCJmYWxzZVwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG48L2Rpdj5cblxuQGlmIChpc0VtcHR5KSB7XG4gIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgIDxlby1lcnJvci1tZXNzYWdlXG4gICAgICBbZW1wdHlTdGF0ZV09XCJ7aWNvbjogJ2ljX3NhdmVkX3NlYXJjaC5zdmcnLCB0ZXh0OiAnZW8ud29ya3NwYWNlLndpZGdldC5lbXB0eUxpc3QnfVwiPjwvZW8tZXJyb3ItbWVzc2FnZT5cbiAgPC9kaXY+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cInByZXZpZXdcIj5cbiAgICA8ZW8tbGFzdC1lZGl0ZWQtYW5kLWNyZWF0ZWQgW3dpZGdldENvbmZpZ109XCJ3aWRnZXRDb25maWdcIj48L2VvLWxhc3QtZWRpdGVkLWFuZC1jcmVhdGVkPlxuICA8L2Rpdj5cbn1cbiJdfQ==
|