@valtimo/task-management 12.1.3 → 12.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -335,7 +335,7 @@ export class TaskManagementColumnModalComponent {
335
335
  });
336
336
  }
337
337
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementColumnModalComponent, deps: [{ token: i1.TranslateService }, { token: i2.TaskManagementApiService }], target: i0.ɵɵFactoryTarget.Component }); }
338
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementColumnModalComponent, isStandalone: true, selector: "valtimo-task-management-column-modal", inputs: { carbonTheme: "carbonTheme", taskListColumns: "taskListColumns", type: "type", show: "show", documentDefinitionName: "documentDefinitionName", selectedTaskListColumn: "selectedTaskListColumn" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n show: show$ | async,\n type: type$ | async,\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n disabled: disabled$ | async,\n showDateFormat: showDateFormat$ | async,\n showEnum: showEnum$ | async,\n showYesNo: showYesNo$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n enumValues: enumValues$ | async,\n enumValid: enumValid$ | async,\n yesNoValues: yesNoValues$ | async,\n viewTypeItems: viewTypeItems$ | async,\n sortItems: sortItems$ | async\n } as obs\"\n>\n <cds-modal size=\"sm\" [open]=\"obs.show\" valtimoCdsModal>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n obs.type === 'add'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"form; context: {obs: obs}\"></ng-container>\n </section>\n\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {obs: obs}\"> </ng-container>\n </cds-modal>\n</ng-container>\n\n<ng-template #form let-obs=\"obs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [invalid]=\"key?.touched && key?.invalid\"\n [disabled]=\"obs.disabled || obs.isEdit\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"key\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n *ngIf=\"obs.viewTypeItems\"\n formControlName=\"displayType\"\n [disabled]=\"obs.disabled\"\n >\n <cds-dropdown-list [items]=\"obs.viewTypeItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showDateFormat\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showEnum\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showEnum\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.enumValues\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showYesNo\" [ngClass]=\"'no-margin'\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitleOptional' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltipOptional' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showYesNo\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.yesNoValues\"\n type=\"keyValue\"\n [hideAddButton]=\"true\"\n [hideDeleteButton]=\"true\"\n [maxRows]=\"1\"\n [keyColumnTitle]=\"'viewTypeConverter.Yes' | translate\"\n [valueColumnTitle]=\"'viewTypeConverter.No' | translate\"\n (valueChange)=\"yesNoValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\" [disabled]=\"obs.disabled\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled || obs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown formControlName=\"defaultSort\" [disabled]=\"obs.disabled\" *ngIf=\"obs.sortItems\">\n <cds-dropdown-list [items]=\"obs.sortItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-obs=\"obs\">\n <cds-modal-footer>\n <ng-container>\n <button\n (click)=\"closeModal()\"\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n (click)=\"save()\"\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"!obs.valid\"\n [disabled]=\"obs.disabled || formGroup?.invalid || (obs.showEnum && !obs.enumValid)\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n", styles: [".cds--text-input__field-wrapper cds-label{width:100%}.cds--text-input__field-wrapper ::ng-deep .cds--label{width:100%}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:16px}.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:8px}.list-column-form{margin-bottom:16px}.no-margin{margin-bottom:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipIconModule }, { kind: "component", type: i6.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i6.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ValtimoCdsModalDirectiveModule }, { kind: "directive", type: i6.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementColumnModalComponent, isStandalone: true, selector: "valtimo-task-management-column-modal", inputs: { carbonTheme: "carbonTheme", taskListColumns: "taskListColumns", type: "type", show: "show", documentDefinitionName: "documentDefinitionName", selectedTaskListColumn: "selectedTaskListColumn" }, outputs: { closeEvent: "closeEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n show: show$ | async,\n type: type$ | async,\n isAdd: isAdd$ | async,\n isEdit: isEdit$ | async,\n disabled: disabled$ | async,\n showDateFormat: showDateFormat$ | async,\n showEnum: showEnum$ | async,\n showYesNo: showYesNo$ | async,\n disableDefaultSort: disableDefaultSort$ | async,\n enumValues: enumValues$ | async,\n enumValid: enumValid$ | async,\n yesNoValues: yesNoValues$ | async,\n viewTypeItems: viewTypeItems$ | async,\n sortItems: sortItems$ | async\n } as obs\"\n>\n <cds-modal size=\"sm\" [open]=\"obs.show\" valtimoCdsModal>\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeModal()\">\n <h3 cdsModalHeaderHeading>\n {{\n obs.type === 'add'\n ? ('listColumn.addButtonText' | translate)\n : ('listColumn.editColumnTitle' | translate)\n }}\n </h3>\n </cds-modal-header>\n\n <section cdsModalContent>\n <ng-container *ngTemplateOutlet=\"form; context: {obs: obs}\"></ng-container>\n </section>\n\n <ng-container *ngTemplateOutlet=\"modalFooter; context: {obs: obs}\"> </ng-container>\n </cds-modal>\n</ng-container>\n\n<ng-template #form let-obs=\"obs\">\n <form [formGroup]=\"formGroup\" class=\"list-column-form\">\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.titleTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.titleTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"title\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label\n [invalid]=\"key?.touched && key?.invalid\"\n [disabled]=\"obs.disabled || obs.isEdit\"\n [invalidText]=\"'listColumn.uniqueKeyWarning' | translate\"\n >\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.key' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.keyTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"key\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.path' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.pathTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"path\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.displayType' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.displayTypeTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown\n *ngIf=\"obs.viewTypeItems\"\n formControlName=\"displayType\"\n [disabled]=\"obs.disabled\"\n >\n <cds-dropdown-list [items]=\"obs.viewTypeItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showDateFormat\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip\">\n {{ 'listColumn.dateFormat' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.dateFormatTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <input cdsText formControlName=\"dateFormat\" />\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showEnum\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showEnum\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.enumValues\"\n type=\"keyValue\"\n (valueChange)=\"enumValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\" *ngIf=\"obs.showYesNo\" [ngClass]=\"'no-margin'\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.enumTitleOptional' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.enumTooltipOptional' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <valtimo-carbon-multi-input\n *ngIf=\"obs.showYesNo\"\n [fullWidth]=\"true\"\n [carbonTheme]=\"CARBON_THEME_WHITE\"\n [defaultValues]=\"obs.yesNoValues\"\n type=\"keyValue\"\n [hideAddButton]=\"true\"\n [hideDeleteButton]=\"true\"\n [maxRows]=\"1\"\n [keyColumnTitle]=\"'viewTypeConverter.Yes' | translate\"\n [valueColumnTitle]=\"'viewTypeConverter.No' | translate\"\n (valueChange)=\"yesNoValueChange($event)\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-checkbox formControlName=\"sortable\" [disabled]=\"obs.disabled\"\n >{{ 'listColumn.sortable' | translate }}\n </cds-checkbox>\n </div>\n\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled || obs.disableDefaultSort\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'listColumn.defaultSortTitle' | translate }}\n\n <v-tooltip-icon\n [tooltip]=\"'listColumn.defaultSortTooltip' | translate\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n\n <cds-dropdown formControlName=\"defaultSort\" [disabled]=\"obs.disabled\" *ngIf=\"obs.sortItems\">\n <cds-dropdown-list [items]=\"obs.sortItems\"></cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n </div>\n </form>\n</ng-template>\n\n<ng-template #modalFooter let-obs=\"obs\">\n <cds-modal-footer>\n <ng-container>\n <button\n (click)=\"closeModal()\"\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'listColumn.close' | translate }}\n </button>\n\n <button\n (click)=\"save()\"\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"!obs.valid\"\n [disabled]=\"obs.disabled || formGroup?.invalid || (obs.showEnum && !obs.enumValid)\"\n >\n {{ 'listColumn.save' | translate }}\n </button>\n </ng-container>\n </cds-modal-footer>\n</ng-template>\n", styles: [".cds--text-input__field-wrapper cds-label{width:100%}.cds--text-input__field-wrapper ::ng-deep .cds--label{width:100%}.cds--text-input__field-wrapper:not(:last-child){margin-bottom:16px}.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:8px}.list-column-form{margin-bottom:16px}.no-margin{margin-bottom:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ModalModule }, { kind: "component", type: i5.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i5.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i5.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i5.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i5.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i5.Checkbox, selector: "cds-checkbox, ibm-checkbox", inputs: ["disabled", "skeleton", "hideLabel", "name", "id", "required", "value", "ariaLabel", "ariaLabelledby", "indeterminate", "checked"], outputs: ["click", "checkedChange", "indeterminateChange"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i5.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i5.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i5.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TooltipIconModule }, { kind: "component", type: i6.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "ngmodule", type: CarbonMultiInputModule }, { kind: "component", type: i6.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "arbitraryValueAmount", "arbitraryAmountTitles", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth", "carbonTheme"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: ValtimoCdsModalDirectiveModule }, { kind: "directive", type: i6.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
339
339
  }
340
340
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementColumnModalComponent, decorators: [{
341
341
  type: Component,
@@ -370,4 +370,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
370
370
  }], closeEvent: [{
371
371
  type: Output
372
372
  }] } });
373
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC90YXNrLW1hbmFnZW1lbnQtY29sdW1uLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtY29sdW1uLW1vZGFsL3Rhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixzQkFBc0IsRUFFdEIsaUJBQWlCLEVBQ2pCLDhCQUE4QixFQUM5QixRQUFRLEdBQ1QsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFFTCx5QkFBeUIsR0FLMUIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7QUF5Qi9CLE1BQU0sT0FBTyxrQ0FBa0M7SUFFN0MsSUFBb0IsZUFBZSxDQUFDLEtBQXVCO1FBQ3pELElBQUksS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBb0IsSUFBSSxDQUFDLEtBQThCO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELElBQW9CLElBQUksQ0FBQyxTQUFrQjtRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixJQUFJLFNBQVM7WUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBb0Isc0JBQXNCLENBQUMsTUFBc0I7UUFDL0QsSUFBSSxNQUFNO1lBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBb0JELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDaEMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBcURELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDO1lBQ2hFLEdBQUcsRUFBRSxLQUFLO1NBQ2UsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBWSxlQUFlO1FBQ3pCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQztZQUNqRSxHQUFHLEVBQUUsTUFBTTtTQUNjLENBQUM7SUFDOUIsQ0FBQztJQXFGRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0Isb0JBQW9CLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFJRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDNUIsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRUQsWUFDbUIsZ0JBQWtDLEVBQ2xDLHdCQUFrRDtRQURsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUE5T3JELGdCQUFXLEdBQWlCLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFxQm5ELGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUV6RCxVQUFLLEdBQUcsSUFBSSxlQUFlLENBQTBCLEtBQUssQ0FBQyxDQUFDO1FBQzVELFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RCxZQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsRUFDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ2MsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzVDLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUvQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBbUIsRUFBRSxDQUFDLENBQUM7UUFROUQsaUJBQVksR0FBRyxhQUFhLENBQUM7UUFFN0Isa0JBQWEsR0FBb0I7WUFDaEQsUUFBUSxDQUFDLElBQUk7WUFDYixRQUFRLENBQUMsSUFBSTtZQUNiLFFBQVEsQ0FBQyxPQUFPO1lBQ2hCLFFBQVEsQ0FBQyxJQUFJO1lBQ2IsUUFBUSxDQUFDLFdBQVc7WUFDcEIsUUFBUSxDQUFDLHFCQUFxQjtTQUMvQixDQUFDO1FBRU0sdUJBQWtCLEdBQUcsQ0FBQyxZQUFvQixFQUEwQixFQUFFLENBQUMsQ0FBQztZQUM5RSxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7WUFDcEQsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3RCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUssdUJBQWtCLEdBQUcsQ0FDM0IsY0FBdUQsRUFDMUIsRUFBRTtZQUMvQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFFMUQsT0FBTyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxXQUFXLEVBQUUsS0FBSyxjQUFjLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUM5RjtnQkFDQyxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUM7UUFDeEIsQ0FBQyxDQUFDO1FBRU0sc0JBQWlCLEdBQUcsQ0FDMUIsZUFBd0QsRUFDekIsRUFBRSxDQUNqQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsWUFBWTtZQUM1RSxDQUFDLENBQUMsSUFBSTtZQUNOLENBQUMsQ0FBQyxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUMsQ0FBQztRQUVWLGNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN4QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQzVCLEdBQUcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRixJQUFJLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDaEQsVUFBVSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQztZQUNqQyxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDLEVBQUU7Z0JBQ3BGLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNsQyxDQUFDO1lBQ0YsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQztZQUNoQyxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDLEVBQUU7Z0JBQ3BGLFVBQVUsQ0FBQyxRQUFRO2FBQ3BCLENBQUM7U0FDSCxDQUFDLENBQUM7UUF1Q2EsZUFBVSxHQUE4QyxhQUFhLENBQUM7WUFDcEYsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNwQyxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUN4QjtZQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw4QkFBOEIsQ0FBQztZQUN2RCxJQUFJLENBQUMsY0FBYztZQUNuQixJQUFJLENBQUMsZUFBZTtTQUNyQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEIsR0FBRyxJQUFJO1lBQ1AsUUFBUSxFQUFFLGVBQWUsRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLEdBQUc7U0FDN0MsQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO1FBRWMsbUJBQWMsR0FBOEMsYUFBYSxDQUFDO1lBQ3hGLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsQ0FDeEI7WUFDRTtnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQztnQkFDdEUsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZO2FBQ3ZCO1lBQ0QsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0RSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEIsR0FBRyxJQUFJO1lBQ1AsUUFBUSxFQUFFLGVBQWUsRUFBRSxHQUFHLEtBQUssSUFBSSxFQUFFLEdBQUc7U0FDN0MsQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO1FBR2Msb0JBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2hFLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1RSxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FDL0QsQ0FBQztRQUdjLGNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUNwRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUdjLGVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNELEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUN2RSxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNsRixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRWMsdUJBQWtCLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUV4Qyx3QkFBbUIsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvRixHQUFHLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0saUJBQWlCLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FDNUMsTUFBTSxDQUFDLEVBQUUsQ0FDUCxNQUFNLEVBQUUsV0FBVyxLQUFLLHlCQUF5QixDQUFDLEdBQUc7Z0JBQ3JELE1BQU0sRUFBRSxXQUFXLEtBQUsseUJBQXlCLENBQUMsSUFBSSxDQUN6RCxDQUFDO1lBQ0YsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUM7WUFDcEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyx1QkFBdUIsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO1lBRS9FLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUM5QixDQUFDO1lBRUQsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRWUseUJBQW9CLEdBQXFCLENBQUMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBRWhFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBWWhGLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQW1CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBVy9GLENBQUM7SUFFRyxVQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsd0JBQXdCO2FBQzFCLG9CQUFvQixDQUNuQixJQUFJLENBQUMsc0JBQXNCLEVBQzNCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzRjthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVCLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUF1QjtRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBdUI7UUFDN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDbkIsS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsSUFBSTtZQUNULFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsOEJBQThCLENBQUM7WUFDcEUsUUFBUSxFQUFFLEtBQUs7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sOEJBQThCLENBQ3BDLFdBQW9CLEVBQ3BCLGlCQUEwQixFQUMxQixZQUFxQjtRQUVyQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sZ0JBQWdCLEdBQ3BCLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRixNQUFNLGlCQUFpQixHQUNyQixnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUxRixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLE1BQU0sY0FBYyxHQUFtQjtZQUNyQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFDLENBQUM7WUFDaEQsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1lBQ2xCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixXQUFXLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRztnQkFDL0IscUJBQXFCLEVBQUU7b0JBQ3JCLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxTQUFTLENBQUMsVUFBVSxJQUFJLEVBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVLEVBQUMsQ0FBQztvQkFDcEYsR0FBRyxDQUFDLFdBQVcsSUFBSSxnQkFBZ0IsSUFBSSxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxDQUFDO29CQUNoRSxHQUFHLENBQUMsWUFBWSxJQUFJLGlCQUFpQixJQUFJLEVBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFDLENBQUM7aUJBQ3BFO2FBQ0Y7WUFDRCxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7WUFDNUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxZQUFZLElBQUk7Z0JBQ3JELFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQWdDO2FBQ3BFLENBQUM7U0FDSCxDQUFDO1FBRUYsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxVQUE0QjtRQUNoRCxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQXdCO1FBQ2pELE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLHVCQUF1QixDQUFDLFFBQTJCO1FBQ3pELE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsUUFBUSxFQUFFLENBQUM7WUFDM0UsR0FBRyxFQUFFLFFBQVE7U0FDWSxDQUFDO0lBQzlCLENBQUM7SUFFTyx5Q0FBeUMsQ0FDL0Msa0JBQXNDO1FBRXRDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxFQUNyRSxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxXQUFXLENBQUMsTUFBc0I7UUFDeEMsSUFDRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSTtZQUMzQyxNQUFNLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFDaEQsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNwQixJQUFJLENBQUMseUNBQXlDLENBQzVDLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUM5QyxDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFDRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksS0FBSyxRQUFRLENBQUMsT0FBTztZQUM5QyxNQUFNLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFDaEQsQ0FBQztZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMseUNBQXlDLENBQzVDLE1BQU0sQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUM5QyxDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7WUFDeEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO1lBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ2xFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUMsQ0FBQztZQUMxQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJO2dCQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDO2FBQ3JFLENBQUM7WUFDRixHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxLQUFLLElBQUksRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBQyxDQUFDO1lBQ3ZFLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLE1BQU0sSUFBSSxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFDLENBQUM7WUFDekUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxJQUFJLElBQUk7Z0JBQ2hELFVBQVUsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLFVBQVU7YUFDaEUsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7K0dBOVpVLGtDQUFrQzttR0FBbEMsa0NBQWtDLG1WQ2pGL0MsODhQQThPQSxraENEN0tJLFlBQVksNGJBQ1osZ0JBQWdCLDhCQUNoQixlQUFlLDJGQUNmLFVBQVUsOEJBQ1YsV0FBVywycEJBQ1gsV0FBVywrc0JBQ1gsY0FBYyx5VEFDZCxjQUFjLG1yQkFDZCxXQUFXLHlXQUNYLG1CQUFtQiwrVUFDbkIsaUJBQWlCLGlKQUNqQixzQkFBc0Isc29CQUN0QixZQUFZLGdNQUNaLDhCQUE4Qjs7NEZBR3JCLGtDQUFrQztrQkF2QjlDLFNBQVM7K0JBQ0Usc0NBQXNDLGNBR3BDLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsc0JBQXNCO3dCQUN0QixZQUFZO3dCQUNaLDhCQUE4QjtxQkFDL0I7NEhBR2UsV0FBVztzQkFBMUIsS0FBSztnQkFDYyxlQUFlO3NCQUFsQyxLQUFLO2dCQUtjLElBQUk7c0JBQXZCLEtBQUs7Z0JBTWMsSUFBSTtzQkFBdkIsS0FBSztnQkFLVSxzQkFBc0I7c0JBQXJDLEtBQUs7Z0JBQ2Msc0JBQXNCO3NCQUF6QyxLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDQVJCT05fQ09OU1RBTlRTLFxuICBDQVJCT05fVEhFTUUsXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gIE11bHRpSW5wdXRWYWx1ZXMsXG4gIFRvb2x0aXBJY29uTW9kdWxlLFxuICBWYWx0aW1vQ2RzTW9kYWxEaXJlY3RpdmVNb2R1bGUsXG4gIFZpZXdUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBDaGVja2JveE1vZHVsZSxcbiAgRHJvcGRvd25Nb2R1bGUsXG4gIElucHV0TW9kdWxlLFxuICBNb2RhbE1vZHVsZSxcbiAgVGFic01vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50QXBpU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBUYXNrTGlzdENvbHVtbixcbiAgVGFza0xpc3RDb2x1bW5EZWZhdWx0U29ydCxcbiAgVGFza0xpc3RDb2x1bW5FbnVtLFxuICBUYXNrTGlzdENvbHVtbkxpc3RJdGVtLFxuICBUYXNrTGlzdENvbHVtbk1vZGFsQ2xvc2VFdmVudCxcbiAgVGFza0xpc3RDb2x1bW5Nb2RhbFR5cGUsXG59IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc0VxdWFsfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBDaGVja2JveE1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRvb2x0aXBJY29uTW9kdWxlLFxuICAgIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFZhbHRpbW9DZHNNb2RhbERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFza01hbmFnZW1lbnRDb2x1bW5Nb2RhbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZTogQ0FSQk9OX1RIRU1FID0gQ0FSQk9OX1RIRU1FLkcxMDtcbiAgQElucHV0KCkgcHVibGljIHNldCB0YXNrTGlzdENvbHVtbnModmFsdWU6IFRhc2tMaXN0Q29sdW1uW10pIHtcbiAgICBpZiAodmFsdWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3Rhc2tMaXN0Q29sdW1ucyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHlwZSh2YWx1ZTogVGFza0xpc3RDb2x1bW5Nb2RhbFR5cGUpIHtcbiAgICB0aGlzLnR5cGUkLm5leHQodmFsdWUpO1xuICB9XG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBUYXNrTGlzdENvbHVtbk1vZGFsVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSQuZ2V0VmFsdWUoKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNob3coc2hvd01vZGFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93JC5uZXh0KHNob3dNb2RhbCk7XG4gICAgaWYgKHNob3dNb2RhbCkgdGhpcy5lbmFibGUoKTtcbiAgICBpZiAoIXNob3dNb2RhbCkgdGhpcy5yZXNldEZvcm1BZnRlclRpbWVvdXQoKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZFRhc2tMaXN0Q29sdW1uKGNvbHVtbjogVGFza0xpc3RDb2x1bW4pIHtcbiAgICBpZiAoY29sdW1uKSB0aGlzLnByZWZpbGxGb3JtKGNvbHVtbik7XG4gIH1cbiAgQE91dHB1dCgpIGNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2tMaXN0Q29sdW1uTW9kYWxDbG9zZUV2ZW50PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0xpc3RDb2x1bW5Nb2RhbFR5cGU+KCdhZGQnKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzQWRkJCA9IHRoaXMudHlwZSQucGlwZShtYXAodHlwZSA9PiB0eXBlID09PSAnYWRkJykpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNFZGl0JCA9IHRoaXMudHlwZSQucGlwZShcbiAgICBtYXAodHlwZSA9PiB0eXBlID09PSAnZWRpdCcpLFxuICAgIHRhcChpc0VkaXQgPT4ge1xuICAgICAgaWYgKGlzRWRpdCkge1xuICAgICAgICB0aGlzLmtleS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmtleS5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvdyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Rhc2tMaXN0Q29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tMaXN0Q29sdW1uW10+KFtdKTtcblxuICBwdWJsaWMgZ2V0IHRhc2tMaXN0Q29sdW1ucyQoKTogT2JzZXJ2YWJsZTxUYXNrTGlzdENvbHVtbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rhc2tMaXN0Q29sdW1ucyQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gaXNFcXVhbChwcmV2aW91cywgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX0lOVkFMSURfS0VZID0gJ0lOVkFMSURfS0VZJztcblxuICBwcml2YXRlIHJlYWRvbmx5IERJU1BMQVlfVFlQRVM6IEFycmF5PFZpZXdUeXBlPiA9IFtcbiAgICBWaWV3VHlwZS5URVhULFxuICAgIFZpZXdUeXBlLkRBVEUsXG4gICAgVmlld1R5cGUuQk9PTEVBTixcbiAgICBWaWV3VHlwZS5FTlVNLFxuICAgIFZpZXdUeXBlLkFSUkFZX0NPVU5ULFxuICAgIFZpZXdUeXBlLlVOREVSU0NPUkVTX1RPX1NQQUNFUyxcbiAgXTtcblxuICBwcml2YXRlIGdldEludmFsaWRMaXN0SXRlbSA9ICh0cmFuc2xhdGVLZXk6IHN0cmluZyk6IFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW0gPT4gKHtcbiAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0cmFuc2xhdGVLZXkpLFxuICAgIGtleTogdGhpcy5fSU5WQUxJRF9LRVksXG4gICAgc2VsZWN0ZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHByaXZhdGUgdW5pcXVlS2V5VmFsaWRhdG9yID0gKFxuICAgIGtleUZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT5cbiAgKToge25vdFVuaXF1ZTogYm9vbGVhbn0gfCBudWxsID0+IHtcbiAgICBjb25zdCB0YXNrTGlzdENvbHVtbnMgPSB0aGlzLl90YXNrTGlzdENvbHVtbnMkLmdldFZhbHVlKCk7XG5cbiAgICByZXR1cm4gIXRhc2tMaXN0Q29sdW1ucz8uZmluZChcbiAgICAgIGNvbHVtbiA9PiBjb2x1bW4/LmtleT8udHJpbSgpPy50b0xvd2VyQ2FzZSgpID09PSBrZXlGb3JtQ29udHJvbD8udmFsdWU/LnRyaW0oKT8udG9Mb3dlckNhc2UoKVxuICAgIClcbiAgICAgID8gbnVsbFxuICAgICAgOiB7bm90VW5pcXVlOiB0cnVlfTtcbiAgfTtcblxuICBwcml2YXRlIGxpc3RJdGVtVmFsaWRhdG9yID0gKFxuICAgIGxpc3RJdGVtQ29udHJvbDogQWJzdHJhY3RDb250cm9sPFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW0+XG4gICk6IHtpbnZhbGlkSXRlbTogYm9vbGVhbn0gfCBudWxsID0+XG4gICAgbGlzdEl0ZW1Db250cm9sPy52YWx1ZT8ua2V5ICYmIGxpc3RJdGVtQ29udHJvbC52YWx1ZS5rZXkgIT09IHRoaXMuX0lOVkFMSURfS0VZXG4gICAgICA/IG51bGxcbiAgICAgIDoge2ludmFsaWRJdGVtOiB0cnVlfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICBrZXk6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbdGhpcy51bmlxdWVLZXlWYWxpZGF0b3IuYmluZCh0aGlzKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHBhdGg6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBkYXRlRm9ybWF0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgZGlzcGxheVR5cGU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmdldEludmFsaWRMaXN0SXRlbShgbGlzdENvbHVtbi5zZWxlY3REZWZhdWx0U29ydGApLCBbXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgdGhpcy5saXN0SXRlbVZhbGlkYXRvci5iaW5kKHRoaXMpLFxuICAgIF0pLFxuICAgIHNvcnRhYmxlOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGRlZmF1bHRTb3J0OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5nZXRJbnZhbGlkTGlzdEl0ZW0oYGxpc3RDb2x1bW4uc2VsZWN0RGVmYXVsdFNvcnRgKSwgW1xuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICBdKSxcbiAgfSk7XG5cbiAgcHVibGljIGdldCB0aXRsZSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgndGl0bGUnKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGtleSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgna2V5Jyk7XG4gIH1cbiAgcHVibGljIGdldCBrZXlWYWx1ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5rZXkudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cbiAgcHVibGljIGdldCBwYXRoKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXRoJyk7XG4gIH1cbiAgcHVibGljIGdldCBkYXRlRm9ybWF0KCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdkYXRlRm9ybWF0Jyk7XG4gIH1cbiAgcHVibGljIGdldCBkaXNwbGF5VHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2Rpc3BsYXlUeXBlJyk7XG4gIH1cbiAgcHVibGljIGdldCBzb3J0YWJsZSgpOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3NvcnRhYmxlJyk7XG4gIH1cbiAgcHVibGljIGdldCBkZWZhdWx0U29ydCgpOiBBYnN0cmFjdENvbnRyb2w8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2RlZmF1bHRTb3J0Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfU09SVF9BU0NfSVRFTSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGxpc3RDb2x1bW4uc29ydGFibGVBc2NgKSxcbiAgICAgIGtleTogJ0FTQycsXG4gICAgfSBhcyBUYXNrTGlzdENvbHVtbkxpc3RJdGVtO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9TT1JUX0RFU0NfSVRFTSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGxpc3RDb2x1bW4uc29ydGFibGVEZXNjYCksXG4gICAgICBrZXk6ICdERVNDJyxcbiAgICB9IGFzIFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW07XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IHNvcnRJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kZWZhdWx0U29ydD8udmFsdWVDaGFuZ2VzIHx8IG9mKG51bGwpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2RlZmF1bHRTb3J0SXRlbV0pID0+XG4gICAgICBbXG4gICAgICAgIHRoaXMuZ2V0SW52YWxpZExpc3RJdGVtKGBsaXN0Q29sdW1uLnNlbGVjdERlZmF1bHRTb3J0YCksXG4gICAgICAgIHRoaXMuX1NPUlRfQVNDX0lURU0sXG4gICAgICAgIHRoaXMuX1NPUlRfREVTQ19JVEVNLFxuICAgICAgXS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBzZWxlY3RlZDogZGVmYXVsdFNvcnRJdGVtPy5rZXkgPT09IGl0ZW0/LmtleSxcbiAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmlld1R5cGVJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kaXNwbGF5VHlwZT8udmFsdWVDaGFuZ2VzIHx8IG9mKG51bGwpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2Rpc3BsYXlUeXBlSXRlbV0pID0+XG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgbGlzdENvbHVtbkRpc3BsYXlUeXBlLnNlbGVjdGApLFxuICAgICAgICAgIGtleTogdGhpcy5fSU5WQUxJRF9LRVksXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnRoaXMuRElTUExBWV9UWVBFUy5tYXAodHlwZSA9PiB0aGlzLmdldExpc3RJdGVtRnJvbVZpZXdUeXBlKHR5cGUpKSxcbiAgICAgIF0ubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgc2VsZWN0ZWQ6IGRpc3BsYXlUeXBlSXRlbT8ua2V5ID09PSBpdGVtPy5rZXksXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSBfc2hvd0RhdGVGb3JtYXQhOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0RhdGVGb3JtYXQkID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgbWFwKGZvcm1WYWx1ZXMgPT4gISEoZm9ybVZhbHVlcy5kaXNwbGF5VHlwZT8ua2V5ID09PSB0aGlzLkRJU1BMQVlfVFlQRVNbMV0pKSxcbiAgICB0YXAoc2hvd0RhdGVGb3JtYXQgPT4gKHRoaXMuX3Nob3dEYXRlRm9ybWF0ID0gc2hvd0RhdGVGb3JtYXQpKVxuICApO1xuXG4gIHByaXZhdGUgX3Nob3dFbnVtITogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dFbnVtJCA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgIG1hcChmb3JtVmFsdWVzID0+ICEhKGZvcm1WYWx1ZXMuZGlzcGxheVR5cGU/LmtleSA9PT0gVmlld1R5cGUuRU5VTSkpLFxuICAgIHRhcChzaG93RW51bSA9PiB7XG4gICAgICB0aGlzLl9zaG93RW51bSA9IHNob3dFbnVtO1xuICAgICAgaWYgKCh0aGlzLl9lbnVtVmFsdWVzJC5nZXRWYWx1ZSgpIHx8IFtdKS5sZW5ndGggPT09IDApIHRoaXMucmVzZXRFbnVtVmFsdWVzKCk7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIF9zaG93WWVzTm8hOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd1llc05vJCA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgIG1hcChmb3JtVmFsdWVzID0+ICEhKGZvcm1WYWx1ZXMuZGlzcGxheVR5cGU/LmtleSA9PT0gVmlld1R5cGUuQk9PTEVBTikpLFxuICAgIHRhcChzaG93WWVzTm8gPT4ge1xuICAgICAgdGhpcy5fc2hvd1llc05vID0gc2hvd1llc05vO1xuICAgICAgaWYgKCh0aGlzLl95ZXNOb1ZhbHVlcyQuZ2V0VmFsdWUoKSB8fCBbXSkubGVuZ3RoID09PSAwKSB0aGlzLnJlc2V0WWVzTm9WYWx1ZXMoKTtcbiAgICB9KVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBDQVJCT05fVEhFTUVfV0hJVEUgPSBDQVJCT05fVEhFTUUuV0hJVEU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVEZWZhdWx0U29ydCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRhc2tMaXN0Q29sdW1ucyQsIHRoaXMua2V5VmFsdWUkXSkucGlwZShcbiAgICBtYXAoKFt0YXNrTGlzdENvbHVtbnMsIGtleVZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdFNvcnRDb2x1bW4gPSB0YXNrTGlzdENvbHVtbnMuZmluZChcbiAgICAgICAgY29sdW1uID0+XG4gICAgICAgICAgY29sdW1uPy5kZWZhdWx0U29ydCA9PT0gVGFza0xpc3RDb2x1bW5EZWZhdWx0U29ydC5BU0MgfHxcbiAgICAgICAgICBjb2x1bW4/LmRlZmF1bHRTb3J0ID09PSBUYXNrTGlzdENvbHVtbkRlZmF1bHRTb3J0LkRFU0NcbiAgICAgICk7XG4gICAgICBjb25zdCBkZWZhdWx0U29ydENvbHVtbkV4aXN0cyA9ICEhZGVmYXVsdFNvcnRDb2x1bW47XG4gICAgICBjb25zdCBlbmFibGVkID0gIWRlZmF1bHRTb3J0Q29sdW1uRXhpc3RzIHx8IGRlZmF1bHRTb3J0Q29sdW1uLmtleSA9PT0ga2V5VmFsdWU7XG5cbiAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFNvcnQ/LmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0U29ydD8uZGlzYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gIWVuYWJsZWQ7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9ERUZBVUxUX0VOVU1fVkFMVUVTOiBNdWx0aUlucHV0VmFsdWVzID0gW3trZXk6ICcnLCB2YWx1ZTogJyd9XTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbnVtVmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TXVsdGlJbnB1dFZhbHVlcz4odGhpcy5fREVGQVVMVF9FTlVNX1ZBTFVFUyk7XG5cbiAgcHVibGljIGdldCBlbnVtVmFsdWVzJCgpOiBPYnNlcnZhYmxlPE11bHRpSW5wdXRWYWx1ZXM+IHtcbiAgICByZXR1cm4gdGhpcy5fZW51bVZhbHVlcyQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gaXNFcXVhbChwcmV2aW91cywgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW51bVZhbGlkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnVtVmFsdWVzJC5waXBlKG1hcCh2YWx1ZXMgPT4gdGhpcy5nZXRWYWxpZEVudW1WYWx1ZXModmFsdWVzKS5sZW5ndGggPiAwKSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF95ZXNOb1ZhbHVlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE11bHRpSW5wdXRWYWx1ZXM+KHRoaXMuX0RFRkFVTFRfRU5VTV9WQUxVRVMpO1xuXG4gIHB1YmxpYyBnZXQgeWVzTm9WYWx1ZXMkKCk6IE9ic2VydmFibGU8TXVsdGlJbnB1dFZhbHVlcz4ge1xuICAgIHJldHVybiB0aGlzLl95ZXNOb1ZhbHVlcyQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gaXNFcXVhbChwcmV2aW91cywgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhc2tNYW5hZ2VtZW50QXBpU2VydmljZTogVGFza01hbmFnZW1lbnRBcGlTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgnY2xvc2UnKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgdGhpcy50YXNrTWFuYWdlbWVudEFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVUYXNrTGlzdENvbHVtbihcbiAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lLFxuICAgICAgICB0aGlzLmdldFRhc2tMaXN0Q29sdW1uRnJvbUZvcm1WYWx1ZSh0aGlzLl9zaG93RW51bSwgdGhpcy5fc2hvd0RhdGVGb3JtYXQsIHRoaXMuX3Nob3dZZXNObylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZU1vZGFsQW5kUmVmcmVzaCgpO1xuICAgICAgICAgIHRoaXMuZW5hYmxlQWZ0ZXJUaW1lb3V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVudW1WYWx1ZUNoYW5nZSh2YWx1ZTogTXVsdGlJbnB1dFZhbHVlcyk6IHZvaWQge1xuICAgIHRoaXMuX2VudW1WYWx1ZXMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHllc05vVmFsdWVDaGFuZ2UodmFsdWU6IE11bHRpSW5wdXRWYWx1ZXMpOiB2b2lkIHtcbiAgICB0aGlzLl95ZXNOb1ZhbHVlcyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RW51bVZhbHVlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnVtVmFsdWVzJC5uZXh0KHRoaXMuX0RFRkFVTFRfRU5VTV9WQUxVRVMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFllc05vVmFsdWVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3llc05vVmFsdWVzJC5uZXh0KHRoaXMuX0RFRkFVTFRfRU5VTV9WQUxVRVMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvcm1BZnRlclRpbWVvdXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0RW51bVZhbHVlcygpO1xuICAgIHRoaXMucmVzZXRZZXNOb1ZhbHVlcygpO1xuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KHtcbiAgICAgIHRpdGxlOiBudWxsLFxuICAgICAga2V5OiBudWxsLFxuICAgICAgZGF0ZUZvcm1hdDogbnVsbCxcbiAgICAgIGRpc3BsYXlUeXBlOiB0aGlzLmdldEludmFsaWRMaXN0SXRlbSgnbGlzdENvbHVtbkRpc3BsYXlUeXBlLnNlbGVjdCcpLFxuICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgZGVmYXVsdFNvcnQ6IHRoaXMuZ2V0SW52YWxpZExpc3RJdGVtKGBsaXN0Q29sdW1uLnNlbGVjdERlZmF1bHRTb3J0YCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlQWZ0ZXJUaW1lb3V0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9LCBDQVJCT05fQ09OU1RBTlRTLm1vZGFsQW5pbWF0aW9uTXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlTW9kYWxBbmRSZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KCdyZWZyZXNoJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhc2tMaXN0Q29sdW1uRnJvbUZvcm1WYWx1ZShcbiAgICBpbmNsdWRlRW51bTogYm9vbGVhbixcbiAgICBpbmNsdWRlRGF0ZUZvcm1hdDogYm9vbGVhbixcbiAgICBpbmNsdWRlWWVzTm86IGJvb2xlYW5cbiAgKTogVGFza0xpc3RDb2x1bW4ge1xuICAgIGNvbnN0IHZhbGlkRW51bVZhbHVlcyA9IHRoaXMuZ2V0VmFsaWRFbnVtVmFsdWVzKHRoaXMuX2VudW1WYWx1ZXMkLmdldFZhbHVlKCkpO1xuICAgIGNvbnN0IG1hcHBlZEVudW1WYWx1ZXMgPVxuICAgICAgdmFsaWRFbnVtVmFsdWVzICYmIHZhbGlkRW51bVZhbHVlcy5sZW5ndGggPiAwICYmIHRoaXMubWFwRW51bVZhbHVlcyh2YWxpZEVudW1WYWx1ZXMpO1xuICAgIGNvbnN0IHZhbGlkWWVzTm9WYWx1ZXMgPSB0aGlzLmdldFZhbGlkRW51bVZhbHVlcyh0aGlzLl95ZXNOb1ZhbHVlcyQuZ2V0VmFsdWUoKSk7XG4gICAgY29uc3QgbWFwcGVkWWVzTm9WYWx1ZXMgPVxuICAgICAgdmFsaWRZZXNOb1ZhbHVlcyAmJiB2YWxpZFllc05vVmFsdWVzLmxlbmd0aCA+IDAgJiYgdGhpcy5tYXBFbnVtVmFsdWVzKHZhbGlkWWVzTm9WYWx1ZXMpO1xuXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCB0YXNrTGlzdENvbHVtbjogVGFza0xpc3RDb2x1bW4gPSB7XG4gICAgICAuLi4oZm9ybVZhbHVlLnRpdGxlICYmIHt0aXRsZTogZm9ybVZhbHVlLnRpdGxlfSksXG4gICAgICBrZXk6IGZvcm1WYWx1ZS5rZXksXG4gICAgICBwYXRoOiBmb3JtVmFsdWUucGF0aCxcbiAgICAgIGRpc3BsYXlUeXBlOiB7XG4gICAgICAgIHR5cGU6IGZvcm1WYWx1ZS5kaXNwbGF5VHlwZS5rZXksXG4gICAgICAgIGRpc3BsYXlUeXBlUGFyYW1ldGVyczoge1xuICAgICAgICAgIC4uLihpbmNsdWRlRGF0ZUZvcm1hdCAmJiBmb3JtVmFsdWUuZGF0ZUZvcm1hdCAmJiB7ZGF0ZUZvcm1hdDogZm9ybVZhbHVlLmRhdGVGb3JtYXR9KSxcbiAgICAgICAgICAuLi4oaW5jbHVkZUVudW0gJiYgbWFwcGVkRW51bVZhbHVlcyAmJiB7ZW51bTogbWFwcGVkRW51bVZhbHVlc30pLFxuICAgICAgICAgIC4uLihpbmNsdWRlWWVzTm8gJiYgbWFwcGVkWWVzTm9WYWx1ZXMgJiYge2VudW06IG1hcHBlZFllc05vVmFsdWVzfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc29ydGFibGU6IGZvcm1WYWx1ZS5zb3J0YWJsZSxcbiAgICAgIC4uLihmb3JtVmFsdWUuZGVmYXVsdFNvcnQua2V5ICE9PSB0aGlzLl9JTlZBTElEX0tFWSAmJiB7XG4gICAgICAgIGRlZmF1bHRTb3J0OiBmb3JtVmFsdWUuZGVmYXVsdFNvcnQua2V5IGFzIFRhc2tMaXN0Q29sdW1uRGVmYXVsdFNvcnQsXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRhc2tMaXN0Q29sdW1uO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBFbnVtVmFsdWVzKGVudW1WYWx1ZXM6IE11bHRpSW5wdXRWYWx1ZXMpOiBUYXNrTGlzdENvbHVtbkVudW0ge1xuICAgIHJldHVybiBlbnVtVmFsdWVzLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiAoey4uLmFjYywgW2N1cnIua2V5XTogY3Vyci52YWx1ZX0pLCB7fSk7XG4gIH1cblxuICBwcml2YXRlIGdldFZhbGlkRW51bVZhbHVlcyh2YWx1ZXM6IE11bHRpSW5wdXRWYWx1ZXMpOiBNdWx0aUlucHV0VmFsdWVzIHtcbiAgICByZXR1cm4gKHZhbHVlcyB8fCBbXSkuZmlsdGVyKHZhbHVlID0+IHZhbHVlLnZhbHVlICYmIHZhbHVlLmtleSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpc3RJdGVtRnJvbVZpZXdUeXBlKHZpZXdUeXBlOiBWaWV3VHlwZSB8IHN0cmluZyk6IFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgbGlzdENvbHVtbkRpc3BsYXlUeXBlLiR7dmlld1R5cGV9YCksXG4gICAgICBrZXk6IHZpZXdUeXBlLFxuICAgIH0gYXMgVGFza0xpc3RDb2x1bW5MaXN0SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TXVsdGlJbnB1dFZhbHVlc0Zyb21UYXNrTGlzdENvbHVtbkVudW0oXG4gICAgdGFza0xpc3RDb2x1bW5FbnVtOiBUYXNrTGlzdENvbHVtbkVudW1cbiAgKTogTXVsdGlJbnB1dFZhbHVlcyB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRhc2tMaXN0Q29sdW1uRW51bSkucmVkdWNlKFxuICAgICAgKGFjYywgY3VycikgPT4gWy4uLmFjYywge2tleTogY3VyciwgdmFsdWU6IHRhc2tMaXN0Q29sdW1uRW51bVtjdXJyXX1dLFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaWxsRm9ybShjb2x1bW46IFRhc2tMaXN0Q29sdW1uKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY29sdW1uPy5kaXNwbGF5VHlwZT8udHlwZSA9PT0gVmlld1R5cGUuRU5VTSAmJlxuICAgICAgY29sdW1uPy5kaXNwbGF5VHlwZT8uZGlzcGxheVR5cGVQYXJhbWV0ZXJzPy5lbnVtXG4gICAgKSB7XG4gICAgICB0aGlzLl9lbnVtVmFsdWVzJC5uZXh0KFxuICAgICAgICB0aGlzLmdldE11bHRpSW5wdXRWYWx1ZXNGcm9tVGFza0xpc3RDb2x1bW5FbnVtKFxuICAgICAgICAgIGNvbHVtbi5kaXNwbGF5VHlwZS5kaXNwbGF5VHlwZVBhcmFtZXRlcnMuZW51bVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNvbHVtbj8uZGlzcGxheVR5cGU/LnR5cGUgPT09IFZpZXdUeXBlLkJPT0xFQU4gJiZcbiAgICAgIGNvbHVtbj8uZGlzcGxheVR5cGU/LmRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZW51bVxuICAgICkge1xuICAgICAgdGhpcy5feWVzTm9WYWx1ZXMkLm5leHQoXG4gICAgICAgIHRoaXMuZ2V0TXVsdGlJbnB1dFZhbHVlc0Zyb21UYXNrTGlzdENvbHVtbkVudW0oXG4gICAgICAgICAgY29sdW1uLmRpc3BsYXlUeXBlLmRpc3BsYXlUeXBlUGFyYW1ldGVycy5lbnVtXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICBwYXRoOiBjb2x1bW4ucGF0aCxcbiAgICAgIHNvcnRhYmxlOiBjb2x1bW4uc29ydGFibGUsXG4gICAgICBkaXNwbGF5VHlwZTogdGhpcy5nZXRMaXN0SXRlbUZyb21WaWV3VHlwZShjb2x1bW4uZGlzcGxheVR5cGUudHlwZSksXG4gICAgICAuLi4oY29sdW1uLnRpdGxlICYmIHt0aXRsZTogY29sdW1uLnRpdGxlfSksXG4gICAgICAuLi4oIWNvbHVtbi5kZWZhdWx0U29ydCAmJiB7XG4gICAgICAgIGRlZmF1bHRTb3J0OiB0aGlzLmdldEludmFsaWRMaXN0SXRlbShgbGlzdENvbHVtbi5zZWxlY3REZWZhdWx0U29ydGApLFxuICAgICAgfSksXG4gICAgICAuLi4oY29sdW1uLmRlZmF1bHRTb3J0ID09PSAnQVNDJyAmJiB7ZGVmYXVsdFNvcnQ6IHRoaXMuX1NPUlRfQVNDX0lURU19KSxcbiAgICAgIC4uLihjb2x1bW4uZGVmYXVsdFNvcnQgPT09ICdERVNDJyAmJiB7ZGVmYXVsdFNvcnQ6IHRoaXMuX1NPUlRfREVTQ19JVEVNfSksXG4gICAgICAuLi4oY29sdW1uLmRpc3BsYXlUeXBlPy50eXBlID09PSBWaWV3VHlwZS5EQVRFICYmIHtcbiAgICAgICAgZGF0ZUZvcm1hdDogY29sdW1uLmRpc3BsYXlUeXBlLmRpc3BsYXlUeXBlUGFyYW1ldGVycy5kYXRlRm9ybWF0LFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBzaG93OiBzaG93JCB8IGFzeW5jLFxuICAgIHR5cGU6IHR5cGUkIHwgYXN5bmMsXG4gICAgaXNBZGQ6IGlzQWRkJCB8IGFzeW5jLFxuICAgIGlzRWRpdDogaXNFZGl0JCB8IGFzeW5jLFxuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBzaG93RGF0ZUZvcm1hdDogc2hvd0RhdGVGb3JtYXQkIHwgYXN5bmMsXG4gICAgc2hvd0VudW06IHNob3dFbnVtJCB8IGFzeW5jLFxuICAgIHNob3dZZXNObzogc2hvd1llc05vJCB8IGFzeW5jLFxuICAgIGRpc2FibGVEZWZhdWx0U29ydDogZGlzYWJsZURlZmF1bHRTb3J0JCB8IGFzeW5jLFxuICAgIGVudW1WYWx1ZXM6IGVudW1WYWx1ZXMkIHwgYXN5bmMsXG4gICAgZW51bVZhbGlkOiBlbnVtVmFsaWQkIHwgYXN5bmMsXG4gICAgeWVzTm9WYWx1ZXM6IHllc05vVmFsdWVzJCB8IGFzeW5jLFxuICAgIHZpZXdUeXBlSXRlbXM6IHZpZXdUeXBlSXRlbXMkIHwgYXN5bmMsXG4gICAgc29ydEl0ZW1zOiBzb3J0SXRlbXMkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8Y2RzLW1vZGFsIHNpemU9XCJzbVwiIFtvcGVuXT1cIm9icy5zaG93XCIgdmFsdGltb0Nkc01vZGFsPlxuICAgIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICAgIHt7XG4gICAgICAgICAgb2JzLnR5cGUgPT09ICdhZGQnXG4gICAgICAgICAgICA/ICgnbGlzdENvbHVtbi5hZGRCdXR0b25UZXh0JyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdsaXN0Q29sdW1uLmVkaXRDb2x1bW5UaXRsZScgfCB0cmFuc2xhdGUpXG4gICAgICAgIH19XG4gICAgICA8L2gzPlxuICAgIDwvY2RzLW1vZGFsLWhlYWRlcj5cblxuICAgIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vZGFsRm9vdGVyOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+IDwvbmctY29udGFpbmVyPlxuICA8L2Nkcy1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Zvcm0gbGV0LW9icz1cIm9ic1wiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibGlzdC1jb2x1bW4tZm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcFwiPlxuICAgICAgICAgIHt7ICdsaXN0Q29sdW1uLnRpdGxlVGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLnRpdGxlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdi10b29sdGlwLWljb24+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8aW5wdXQgY2RzVGV4dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICA8L2Nkcy1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgIDxjZHMtbGFiZWxcbiAgICAgICAgW2ludmFsaWRdPVwia2V5Py50b3VjaGVkICYmIGtleT8uaW52YWxpZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgb2JzLmlzRWRpdFwiXG4gICAgICAgIFtpbnZhbGlkVGV4dF09XCInbGlzdENvbHVtbi51bmlxdWVLZXlXYXJuaW5nJyB8IHRyYW5zbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtd2l0aC10b29sdGlwXCI+XG4gICAgICAgICAge3sgJ2xpc3RDb2x1bW4ua2V5JyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICAgICAgPHYtdG9vbHRpcC1pY29uXG4gICAgICAgICAgICBbdG9vbHRpcF09XCInbGlzdENvbHVtbi5rZXlUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cImtleVwiIC8+XG4gICAgICA8L2Nkcy1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcFwiPlxuICAgICAgICAgIHt7ICdsaXN0Q29sdW1uLnBhdGgnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLnBhdGhUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cInBhdGhcIiAvPlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCI+XG4gICAgICA8Y2RzLWxhYmVsIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC13aXRoLXRvb2x0aXAgc2VsZWN0LWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2xpc3RDb2x1bW4uZGlzcGxheVR5cGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLmRpc3BsYXlUeXBlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdi10b29sdGlwLWljb24+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgICAgKm5nSWY9XCJvYnMudmlld1R5cGVJdGVtc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGlzcGxheVR5cGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMudmlld1R5cGVJdGVtc1wiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCIgKm5nSWY9XCJvYnMuc2hvd0RhdGVGb3JtYXRcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcFwiPlxuICAgICAgICAgIHt7ICdsaXN0Q29sdW1uLmRhdGVGb3JtYXQnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLmRhdGVGb3JtYXRUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cImRhdGVGb3JtYXRcIiAvPlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCIgKm5nSWY9XCJvYnMuc2hvd0VudW1cIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcCBzZWxlY3QtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnbGlzdENvbHVtbi5lbnVtVGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLmVudW1Ub29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgICAgICpuZ0lmPVwib2JzLnNob3dFbnVtXCJcbiAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIFtjYXJib25UaGVtZV09XCJDQVJCT05fVEhFTUVfV0hJVEVcIlxuICAgICAgICAgIFtkZWZhdWx0VmFsdWVzXT1cIm9icy5lbnVtVmFsdWVzXCJcbiAgICAgICAgICB0eXBlPVwia2V5VmFsdWVcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJlbnVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCIgKm5nSWY9XCJvYnMuc2hvd1llc05vXCIgW25nQ2xhc3NdPVwiJ25vLW1hcmdpbidcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcCBzZWxlY3QtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnbGlzdENvbHVtbi5lbnVtVGl0bGVPcHRpb25hbCcgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgIDx2LXRvb2x0aXAtaWNvblxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ2xpc3RDb2x1bW4uZW51bVRvb2x0aXBPcHRpb25hbCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdi10b29sdGlwLWljb24+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8dmFsdGltby1jYXJib24tbXVsdGktaW5wdXRcbiAgICAgICAgICAqbmdJZj1cIm9icy5zaG93WWVzTm9cIlxuICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW2NhcmJvblRoZW1lXT1cIkNBUkJPTl9USEVNRV9XSElURVwiXG4gICAgICAgICAgW2RlZmF1bHRWYWx1ZXNdPVwib2JzLnllc05vVmFsdWVzXCJcbiAgICAgICAgICB0eXBlPVwia2V5VmFsdWVcIlxuICAgICAgICAgIFtoaWRlQWRkQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgIFtoaWRlRGVsZXRlQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgIFttYXhSb3dzXT1cIjFcIlxuICAgICAgICAgIFtrZXlDb2x1bW5UaXRsZV09XCIndmlld1R5cGVDb252ZXJ0ZXIuWWVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3ZhbHVlQ29sdW1uVGl0bGVdPVwiJ3ZpZXdUeXBlQ29udmVydGVyLk5vJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInllc05vVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCI+XG4gICAgICA8Y2RzLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInNvcnRhYmxlXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgID57eyAnbGlzdENvbHVtbi5zb3J0YWJsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvY2RzLWNoZWNrYm94PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNkcy0tdGV4dC1pbnB1dF9fZmllbGQtd3JhcHBlclwiPlxuICAgICAgPGNkcy1sYWJlbCBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8IG9icy5kaXNhYmxlRGVmYXVsdFNvcnRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC13aXRoLXRvb2x0aXAgc2VsZWN0LWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2xpc3RDb2x1bW4uZGVmYXVsdFNvcnRUaXRsZScgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgIDx2LXRvb2x0aXAtaWNvblxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ2xpc3RDb2x1bW4uZGVmYXVsdFNvcnRUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdFNvcnRcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgKm5nSWY9XCJvYnMuc29ydEl0ZW1zXCI+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMuc29ydEl0ZW1zXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgICA8L2Nkcy1sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtb2RhbEZvb3RlciBsZXQtb2JzPVwib2JzXCI+XG4gIDxjZHMtbW9kYWwtZm9vdGVyPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIlxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2xpc3RDb2x1bW4uY2xvc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhb2JzLnZhbGlkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCBmb3JtR3JvdXA/LmludmFsaWQgfHwgKG9icy5zaG93RW51bSAmJiAhb2JzLmVudW1WYWxpZClcIlxuICAgICAgPlxuICAgICAgICB7eyAnbGlzdENvbHVtbi5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvY2RzLW1vZGFsLWZvb3Rlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC90YXNrLW1hbmFnZW1lbnQtY29sdW1uLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtY29sdW1uLW1vZGFsL3Rhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixzQkFBc0IsRUFFdEIsaUJBQWlCLEVBQ2pCLDhCQUE4QixFQUM5QixRQUFRLEdBQ1QsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxjQUFjLEVBQ2QsV0FBVyxFQUNYLFdBQVcsRUFDWCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FB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QUE4QjtxQkFDL0I7NEhBR2UsV0FBVztzQkFBMUIsS0FBSztnQkFDYyxlQUFlO3NCQUFsQyxLQUFLO2dCQUtjLElBQUk7c0JBQXZCLEtBQUs7Z0JBTWMsSUFBSTtzQkFBdkIsS0FBSztnQkFLVSxzQkFBc0I7c0JBQXJDLEtBQUs7Z0JBQ2Msc0JBQXNCO3NCQUF6QyxLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDQVJCT05fQ09OU1RBTlRTLFxuICBDQVJCT05fVEhFTUUsXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gIE11bHRpSW5wdXRWYWx1ZXMsXG4gIFRvb2x0aXBJY29uTW9kdWxlLFxuICBWYWx0aW1vQ2RzTW9kYWxEaXJlY3RpdmVNb2R1bGUsXG4gIFZpZXdUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBDaGVja2JveE1vZHVsZSxcbiAgRHJvcGRvd25Nb2R1bGUsXG4gIElucHV0TW9kdWxlLFxuICBNb2RhbE1vZHVsZSxcbiAgVGFic01vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50QXBpU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBGb3Jtc01vZHVsZSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBUYXNrTGlzdENvbHVtbixcbiAgVGFza0xpc3RDb2x1bW5EZWZhdWx0U29ydCxcbiAgVGFza0xpc3RDb2x1bW5FbnVtLFxuICBUYXNrTGlzdENvbHVtbkxpc3RJdGVtLFxuICBUYXNrTGlzdENvbHVtbk1vZGFsQ2xvc2VFdmVudCxcbiAgVGFza0xpc3RDb2x1bW5Nb2RhbFR5cGUsXG59IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtpc0VxdWFsfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFzay1tYW5hZ2VtZW50LWNvbHVtbi1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rhc2stbWFuYWdlbWVudC1jb2x1bW4tbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBDaGVja2JveE1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRvb2x0aXBJY29uTW9kdWxlLFxuICAgIENhcmJvbk11bHRpSW5wdXRNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFZhbHRpbW9DZHNNb2RhbERpcmVjdGl2ZU1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFza01hbmFnZW1lbnRDb2x1bW5Nb2RhbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZTogQ0FSQk9OX1RIRU1FID0gQ0FSQk9OX1RIRU1FLkcxMDtcbiAgQElucHV0KCkgcHVibGljIHNldCB0YXNrTGlzdENvbHVtbnModmFsdWU6IFRhc2tMaXN0Q29sdW1uW10pIHtcbiAgICBpZiAodmFsdWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuX3Rhc2tMaXN0Q29sdW1ucyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgdHlwZSh2YWx1ZTogVGFza0xpc3RDb2x1bW5Nb2RhbFR5cGUpIHtcbiAgICB0aGlzLnR5cGUkLm5leHQodmFsdWUpO1xuICB9XG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBUYXNrTGlzdENvbHVtbk1vZGFsVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSQuZ2V0VmFsdWUoKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHNob3coc2hvd01vZGFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5zaG93JC5uZXh0KHNob3dNb2RhbCk7XG4gICAgaWYgKHNob3dNb2RhbCkgdGhpcy5lbmFibGUoKTtcbiAgICBpZiAoIXNob3dNb2RhbCkgdGhpcy5yZXNldEZvcm1BZnRlclRpbWVvdXQoKTtcbiAgfVxuICBASW5wdXQoKSBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uTmFtZSE6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZFRhc2tMaXN0Q29sdW1uKGNvbHVtbjogVGFza0xpc3RDb2x1bW4pIHtcbiAgICBpZiAoY29sdW1uKSB0aGlzLnByZWZpbGxGb3JtKGNvbHVtbik7XG4gIH1cbiAgQE91dHB1dCgpIGNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPFRhc2tMaXN0Q29sdW1uTW9kYWxDbG9zZUV2ZW50PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSB0eXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0xpc3RDb2x1bW5Nb2RhbFR5cGU+KCdhZGQnKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzQWRkJCA9IHRoaXMudHlwZSQucGlwZShtYXAodHlwZSA9PiB0eXBlID09PSAnYWRkJykpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNFZGl0JCA9IHRoaXMudHlwZSQucGlwZShcbiAgICBtYXAodHlwZSA9PiB0eXBlID09PSAnZWRpdCcpLFxuICAgIHRhcChpc0VkaXQgPT4ge1xuICAgICAgaWYgKGlzRWRpdCkge1xuICAgICAgICB0aGlzLmtleS5kaXNhYmxlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmtleS5lbmFibGUoKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvdyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Rhc2tMaXN0Q29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tMaXN0Q29sdW1uW10+KFtdKTtcblxuICBwdWJsaWMgZ2V0IHRhc2tMaXN0Q29sdW1ucyQoKTogT2JzZXJ2YWJsZTxUYXNrTGlzdENvbHVtbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Rhc2tMaXN0Q29sdW1ucyQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gaXNFcXVhbChwcmV2aW91cywgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX0lOVkFMSURfS0VZID0gJ0lOVkFMSURfS0VZJztcblxuICBwcml2YXRlIHJlYWRvbmx5IERJU1BMQVlfVFlQRVM6IEFycmF5PFZpZXdUeXBlPiA9IFtcbiAgICBWaWV3VHlwZS5URVhULFxuICAgIFZpZXdUeXBlLkRBVEUsXG4gICAgVmlld1R5cGUuQk9PTEVBTixcbiAgICBWaWV3VHlwZS5FTlVNLFxuICAgIFZpZXdUeXBlLkFSUkFZX0NPVU5ULFxuICAgIFZpZXdUeXBlLlVOREVSU0NPUkVTX1RPX1NQQUNFUyxcbiAgXTtcblxuICBwcml2YXRlIGdldEludmFsaWRMaXN0SXRlbSA9ICh0cmFuc2xhdGVLZXk6IHN0cmluZyk6IFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW0gPT4gKHtcbiAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0cmFuc2xhdGVLZXkpLFxuICAgIGtleTogdGhpcy5fSU5WQUxJRF9LRVksXG4gICAgc2VsZWN0ZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHByaXZhdGUgdW5pcXVlS2V5VmFsaWRhdG9yID0gKFxuICAgIGtleUZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2w8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT5cbiAgKToge25vdFVuaXF1ZTogYm9vbGVhbn0gfCBudWxsID0+IHtcbiAgICBjb25zdCB0YXNrTGlzdENvbHVtbnMgPSB0aGlzLl90YXNrTGlzdENvbHVtbnMkLmdldFZhbHVlKCk7XG5cbiAgICByZXR1cm4gIXRhc2tMaXN0Q29sdW1ucz8uZmluZChcbiAgICAgIGNvbHVtbiA9PiBjb2x1bW4/LmtleT8udHJpbSgpPy50b0xvd2VyQ2FzZSgpID09PSBrZXlGb3JtQ29udHJvbD8udmFsdWU/LnRyaW0oKT8udG9Mb3dlckNhc2UoKVxuICAgIClcbiAgICAgID8gbnVsbFxuICAgICAgOiB7bm90VW5pcXVlOiB0cnVlfTtcbiAgfTtcblxuICBwcml2YXRlIGxpc3RJdGVtVmFsaWRhdG9yID0gKFxuICAgIGxpc3RJdGVtQ29udHJvbDogQWJzdHJhY3RDb250cm9sPFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW0+XG4gICk6IHtpbnZhbGlkSXRlbTogYm9vbGVhbn0gfCBudWxsID0+XG4gICAgbGlzdEl0ZW1Db250cm9sPy52YWx1ZT8ua2V5ICYmIGxpc3RJdGVtQ29udHJvbC52YWx1ZS5rZXkgIT09IHRoaXMuX0lOVkFMSURfS0VZXG4gICAgICA/IG51bGxcbiAgICAgIDoge2ludmFsaWRJdGVtOiB0cnVlfTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcbiAgICBrZXk6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbdGhpcy51bmlxdWVLZXlWYWxpZGF0b3IuYmluZCh0aGlzKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIHBhdGg6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICBkYXRlRm9ybWF0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXG4gICAgZGlzcGxheVR5cGU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmdldEludmFsaWRMaXN0SXRlbShgbGlzdENvbHVtbi5zZWxlY3REZWZhdWx0U29ydGApLCBbXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgdGhpcy5saXN0SXRlbVZhbGlkYXRvci5iaW5kKHRoaXMpLFxuICAgIF0pLFxuICAgIHNvcnRhYmxlOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxuICAgIGRlZmF1bHRTb3J0OiBuZXcgRm9ybUNvbnRyb2wodGhpcy5nZXRJbnZhbGlkTGlzdEl0ZW0oYGxpc3RDb2x1bW4uc2VsZWN0RGVmYXVsdFNvcnRgKSwgW1xuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICBdKSxcbiAgfSk7XG5cbiAgcHVibGljIGdldCB0aXRsZSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgndGl0bGUnKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGtleSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldCgna2V5Jyk7XG4gIH1cbiAgcHVibGljIGdldCBrZXlWYWx1ZSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5rZXkudmFsdWVDaGFuZ2VzLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cbiAgcHVibGljIGdldCBwYXRoKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdwYXRoJyk7XG4gIH1cbiAgcHVibGljIGdldCBkYXRlRm9ybWF0KCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KCdkYXRlRm9ybWF0Jyk7XG4gIH1cbiAgcHVibGljIGdldCBkaXNwbGF5VHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2Rpc3BsYXlUeXBlJyk7XG4gIH1cbiAgcHVibGljIGdldCBzb3J0YWJsZSgpOiBBYnN0cmFjdENvbnRyb2w8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ3NvcnRhYmxlJyk7XG4gIH1cbiAgcHVibGljIGdldCBkZWZhdWx0U29ydCgpOiBBYnN0cmFjdENvbnRyb2w8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoJ2RlZmF1bHRTb3J0Jyk7XG4gIH1cblxuICBwcml2YXRlIGdldCBfU09SVF9BU0NfSVRFTSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGxpc3RDb2x1bW4uc29ydGFibGVBc2NgKSxcbiAgICAgIGtleTogJ0FTQycsXG4gICAgfSBhcyBUYXNrTGlzdENvbHVtbkxpc3RJdGVtO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9TT1JUX0RFU0NfSVRFTSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYGxpc3RDb2x1bW4uc29ydGFibGVEZXNjYCksXG4gICAgICBrZXk6ICdERVNDJyxcbiAgICB9IGFzIFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW07XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IHNvcnRJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kZWZhdWx0U29ydD8udmFsdWVDaGFuZ2VzIHx8IG9mKG51bGwpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2RlZmF1bHRTb3J0SXRlbV0pID0+XG4gICAgICBbXG4gICAgICAgIHRoaXMuZ2V0SW52YWxpZExpc3RJdGVtKGBsaXN0Q29sdW1uLnNlbGVjdERlZmF1bHRTb3J0YCksXG4gICAgICAgIHRoaXMuX1NPUlRfQVNDX0lURU0sXG4gICAgICAgIHRoaXMuX1NPUlRfREVTQ19JVEVNLFxuICAgICAgXS5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoe1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBzZWxlY3RlZDogZGVmYXVsdFNvcnRJdGVtPy5rZXkgPT09IGl0ZW0/LmtleSxcbiAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdmlld1R5cGVJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8VGFza0xpc3RDb2x1bW5MaXN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kaXNwbGF5VHlwZT8udmFsdWVDaGFuZ2VzIHx8IG9mKG51bGwpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2Rpc3BsYXlUeXBlSXRlbV0pID0+XG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgbGlzdENvbHVtbkRpc3BsYXlUeXBlLnNlbGVjdGApLFxuICAgICAgICAgIGtleTogdGhpcy5fSU5WQUxJRF9LRVksXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnRoaXMuRElTUExBWV9UWVBFUy5tYXAodHlwZSA9PiB0aGlzLmdldExpc3RJdGVtRnJvbVZpZXdUeXBlKHR5cGUpKSxcbiAgICAgIF0ubWFwKChpdGVtLCBpbmRleCkgPT4gKHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgc2VsZWN0ZWQ6IGRpc3BsYXlUeXBlSXRlbT8ua2V5ID09PSBpdGVtPy5rZXksXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSBfc2hvd0RhdGVGb3JtYXQhOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd0RhdGVGb3JtYXQkID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgbWFwKGZvcm1WYWx1ZXMgPT4gISEoZm9ybVZhbHVlcy5kaXNwbGF5VHlwZT8ua2V5ID09PSB0aGlzLkRJU1BMQVlfVFlQRVNbMV0pKSxcbiAgICB0YXAoc2hvd0RhdGVGb3JtYXQgPT4gKHRoaXMuX3Nob3dEYXRlRm9ybWF0ID0gc2hvd0RhdGVGb3JtYXQpKVxuICApO1xuXG4gIHByaXZhdGUgX3Nob3dFbnVtITogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dFbnVtJCA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgIG1hcChmb3JtVmFsdWVzID0+ICEhKGZvcm1WYWx1ZXMuZGlzcGxheVR5cGU/LmtleSA9PT0gVmlld1R5cGUuRU5VTSkpLFxuICAgIHRhcChzaG93RW51bSA9PiB7XG4gICAgICB0aGlzLl9zaG93RW51bSA9IHNob3dFbnVtO1xuICAgICAgaWYgKCh0aGlzLl9lbnVtVmFsdWVzJC5nZXRWYWx1ZSgpIHx8IFtdKS5sZW5ndGggPT09IDApIHRoaXMucmVzZXRFbnVtVmFsdWVzKCk7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIF9zaG93WWVzTm8hOiBib29sZWFuO1xuICBwdWJsaWMgcmVhZG9ubHkgc2hvd1llc05vJCA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgIG1hcChmb3JtVmFsdWVzID0+ICEhKGZvcm1WYWx1ZXMuZGlzcGxheVR5cGU/LmtleSA9PT0gVmlld1R5cGUuQk9PTEVBTikpLFxuICAgIHRhcChzaG93WWVzTm8gPT4ge1xuICAgICAgdGhpcy5fc2hvd1llc05vID0gc2hvd1llc05vO1xuICAgICAgaWYgKCh0aGlzLl95ZXNOb1ZhbHVlcyQuZ2V0VmFsdWUoKSB8fCBbXSkubGVuZ3RoID09PSAwKSB0aGlzLnJlc2V0WWVzTm9WYWx1ZXMoKTtcbiAgICB9KVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBDQVJCT05fVEhFTUVfV0hJVEUgPSBDQVJCT05fVEhFTUUuV0hJVEU7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRpc2FibGVEZWZhdWx0U29ydCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRhc2tMaXN0Q29sdW1ucyQsIHRoaXMua2V5VmFsdWUkXSkucGlwZShcbiAgICBtYXAoKFt0YXNrTGlzdENvbHVtbnMsIGtleVZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdFNvcnRDb2x1bW4gPSB0YXNrTGlzdENvbHVtbnMuZmluZChcbiAgICAgICAgY29sdW1uID0+XG4gICAgICAgICAgY29sdW1uPy5kZWZhdWx0U29ydCA9PT0gVGFza0xpc3RDb2x1bW5EZWZhdWx0U29ydC5BU0MgfHxcbiAgICAgICAgICBjb2x1bW4/LmRlZmF1bHRTb3J0ID09PSBUYXNrTGlzdENvbHVtbkRlZmF1bHRTb3J0LkRFU0NcbiAgICAgICk7XG4gICAgICBjb25zdCBkZWZhdWx0U29ydENvbHVtbkV4aXN0cyA9ICEhZGVmYXVsdFNvcnRDb2x1bW47XG4gICAgICBjb25zdCBlbmFibGVkID0gIWRlZmF1bHRTb3J0Q29sdW1uRXhpc3RzIHx8IGRlZmF1bHRTb3J0Q29sdW1uLmtleSA9PT0ga2V5VmFsdWU7XG5cbiAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFNvcnQ/LmVuYWJsZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0U29ydD8uZGlzYWJsZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gIWVuYWJsZWQ7XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9ERUZBVUxUX0VOVU1fVkFMVUVTOiBNdWx0aUlucHV0VmFsdWVzID0gW3trZXk6ICcnLCB2YWx1ZTogJyd9XTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9lbnVtVmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TXVsdGlJbnB1dFZhbHVlcz4odGhpcy5fREVGQVVMVF9FTlVNX1ZBTFVFUyk7XG5cbiAgcHVibGljIGdldCBlbnVtVmFsdWVzJCgpOiBPYnNlcnZhYmxlPE11bHRpSW5wdXRWYWx1ZXM+IHtcbiAgICByZXR1cm4gdGhpcy5fZW51bVZhbHVlcyQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gaXNFcXVhbChwcmV2aW91cywgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW51bVZhbGlkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5lbnVtVmFsdWVzJC5waXBlKG1hcCh2YWx1ZXMgPT4gdGhpcy5nZXRWYWxpZEVudW1WYWx1ZXModmFsdWVzKS5sZW5ndGggPiAwKSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF95ZXNOb1ZhbHVlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE11bHRpSW5wdXRWYWx1ZXM+KHRoaXMuX0RFRkFVTFRfRU5VTV9WQUxVRVMpO1xuXG4gIHB1YmxpYyBnZXQgeWVzTm9WYWx1ZXMkKCk6IE9ic2VydmFibGU8TXVsdGlJbnB1dFZhbHVlcz4ge1xuICAgIHJldHVybiB0aGlzLl95ZXNOb1ZhbHVlcyQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gaXNFcXVhbChwcmV2aW91cywgY3VycmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhc2tNYW5hZ2VtZW50QXBpU2VydmljZTogVGFza01hbmFnZW1lbnRBcGlTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCgnY2xvc2UnKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgdGhpcy50YXNrTWFuYWdlbWVudEFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVUYXNrTGlzdENvbHVtbihcbiAgICAgICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lLFxuICAgICAgICB0aGlzLmdldFRhc2tMaXN0Q29sdW1uRnJvbUZvcm1WYWx1ZSh0aGlzLl9zaG93RW51bSwgdGhpcy5fc2hvd0RhdGVGb3JtYXQsIHRoaXMuX3Nob3dZZXNObylcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZU1vZGFsQW5kUmVmcmVzaCgpO1xuICAgICAgICAgIHRoaXMuZW5hYmxlQWZ0ZXJUaW1lb3V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGVudW1WYWx1ZUNoYW5nZSh2YWx1ZTogTXVsdGlJbnB1dFZhbHVlcyk6IHZvaWQge1xuICAgIHRoaXMuX2VudW1WYWx1ZXMkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHllc05vVmFsdWVDaGFuZ2UodmFsdWU6IE11bHRpSW5wdXRWYWx1ZXMpOiB2b2lkIHtcbiAgICB0aGlzLl95ZXNOb1ZhbHVlcyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RW51bVZhbHVlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9lbnVtVmFsdWVzJC5uZXh0KHRoaXMuX0RFRkFVTFRfRU5VTV9WQUxVRVMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFllc05vVmFsdWVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3llc05vVmFsdWVzJC5uZXh0KHRoaXMuX0RFRkFVTFRfRU5VTV9WQUxVRVMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldEZvcm1BZnRlclRpbWVvdXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Rm9ybSgpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0RW51bVZhbHVlcygpO1xuICAgIHRoaXMucmVzZXRZZXNOb1ZhbHVlcygpO1xuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KHtcbiAgICAgIHRpdGxlOiBudWxsLFxuICAgICAga2V5OiBudWxsLFxuICAgICAgZGF0ZUZvcm1hdDogbnVsbCxcbiAgICAgIGRpc3BsYXlUeXBlOiB0aGlzLmdldEludmFsaWRMaXN0SXRlbSgnbGlzdENvbHVtbkRpc3BsYXlUeXBlLnNlbGVjdCcpLFxuICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgZGVmYXVsdFNvcnQ6IHRoaXMuZ2V0SW52YWxpZExpc3RJdGVtKGBsaXN0Q29sdW1uLnNlbGVjdERlZmF1bHRTb3J0YCksXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlQWZ0ZXJUaW1lb3V0KCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9LCBDQVJCT05fQ09OU1RBTlRTLm1vZGFsQW5pbWF0aW9uTXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmFibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dChmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlTW9kYWxBbmRSZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KCdyZWZyZXNoJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhc2tMaXN0Q29sdW1uRnJvbUZvcm1WYWx1ZShcbiAgICBpbmNsdWRlRW51bTogYm9vbGVhbixcbiAgICBpbmNsdWRlRGF0ZUZvcm1hdDogYm9vbGVhbixcbiAgICBpbmNsdWRlWWVzTm86IGJvb2xlYW5cbiAgKTogVGFza0xpc3RDb2x1bW4ge1xuICAgIGNvbnN0IHZhbGlkRW51bVZhbHVlcyA9IHRoaXMuZ2V0VmFsaWRFbnVtVmFsdWVzKHRoaXMuX2VudW1WYWx1ZXMkLmdldFZhbHVlKCkpO1xuICAgIGNvbnN0IG1hcHBlZEVudW1WYWx1ZXMgPVxuICAgICAgdmFsaWRFbnVtVmFsdWVzICYmIHZhbGlkRW51bVZhbHVlcy5sZW5ndGggPiAwICYmIHRoaXMubWFwRW51bVZhbHVlcyh2YWxpZEVudW1WYWx1ZXMpO1xuICAgIGNvbnN0IHZhbGlkWWVzTm9WYWx1ZXMgPSB0aGlzLmdldFZhbGlkRW51bVZhbHVlcyh0aGlzLl95ZXNOb1ZhbHVlcyQuZ2V0VmFsdWUoKSk7XG4gICAgY29uc3QgbWFwcGVkWWVzTm9WYWx1ZXMgPVxuICAgICAgdmFsaWRZZXNOb1ZhbHVlcyAmJiB2YWxpZFllc05vVmFsdWVzLmxlbmd0aCA+IDAgJiYgdGhpcy5tYXBFbnVtVmFsdWVzKHZhbGlkWWVzTm9WYWx1ZXMpO1xuXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcbiAgICBjb25zdCB0YXNrTGlzdENvbHVtbjogVGFza0xpc3RDb2x1bW4gPSB7XG4gICAgICAuLi4oZm9ybVZhbHVlLnRpdGxlICYmIHt0aXRsZTogZm9ybVZhbHVlLnRpdGxlfSksXG4gICAgICBrZXk6IGZvcm1WYWx1ZS5rZXksXG4gICAgICBwYXRoOiBmb3JtVmFsdWUucGF0aCxcbiAgICAgIGRpc3BsYXlUeXBlOiB7XG4gICAgICAgIHR5cGU6IGZvcm1WYWx1ZS5kaXNwbGF5VHlwZS5rZXksXG4gICAgICAgIGRpc3BsYXlUeXBlUGFyYW1ldGVyczoge1xuICAgICAgICAgIC4uLihpbmNsdWRlRGF0ZUZvcm1hdCAmJiBmb3JtVmFsdWUuZGF0ZUZvcm1hdCAmJiB7ZGF0ZUZvcm1hdDogZm9ybVZhbHVlLmRhdGVGb3JtYXR9KSxcbiAgICAgICAgICAuLi4oaW5jbHVkZUVudW0gJiYgbWFwcGVkRW51bVZhbHVlcyAmJiB7ZW51bTogbWFwcGVkRW51bVZhbHVlc30pLFxuICAgICAgICAgIC4uLihpbmNsdWRlWWVzTm8gJiYgbWFwcGVkWWVzTm9WYWx1ZXMgJiYge2VudW06IG1hcHBlZFllc05vVmFsdWVzfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc29ydGFibGU6IGZvcm1WYWx1ZS5zb3J0YWJsZSxcbiAgICAgIC4uLihmb3JtVmFsdWUuZGVmYXVsdFNvcnQua2V5ICE9PSB0aGlzLl9JTlZBTElEX0tFWSAmJiB7XG4gICAgICAgIGRlZmF1bHRTb3J0OiBmb3JtVmFsdWUuZGVmYXVsdFNvcnQua2V5IGFzIFRhc2tMaXN0Q29sdW1uRGVmYXVsdFNvcnQsXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRhc2tMaXN0Q29sdW1uO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBFbnVtVmFsdWVzKGVudW1WYWx1ZXM6IE11bHRpSW5wdXRWYWx1ZXMpOiBUYXNrTGlzdENvbHVtbkVudW0ge1xuICAgIHJldHVybiBlbnVtVmFsdWVzLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiAoey4uLmFjYywgW2N1cnIua2V5XTogY3Vyci52YWx1ZX0pLCB7fSk7XG4gIH1cblxuICBwcml2YXRlIGdldFZhbGlkRW51bVZhbHVlcyh2YWx1ZXM6IE11bHRpSW5wdXRWYWx1ZXMpOiBNdWx0aUlucHV0VmFsdWVzIHtcbiAgICByZXR1cm4gKHZhbHVlcyB8fCBbXSkuZmlsdGVyKHZhbHVlID0+IHZhbHVlLnZhbHVlICYmIHZhbHVlLmtleSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpc3RJdGVtRnJvbVZpZXdUeXBlKHZpZXdUeXBlOiBWaWV3VHlwZSB8IHN0cmluZyk6IFRhc2tMaXN0Q29sdW1uTGlzdEl0ZW0ge1xuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgbGlzdENvbHVtbkRpc3BsYXlUeXBlLiR7dmlld1R5cGV9YCksXG4gICAgICBrZXk6IHZpZXdUeXBlLFxuICAgIH0gYXMgVGFza0xpc3RDb2x1bW5MaXN0SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TXVsdGlJbnB1dFZhbHVlc0Zyb21UYXNrTGlzdENvbHVtbkVudW0oXG4gICAgdGFza0xpc3RDb2x1bW5FbnVtOiBUYXNrTGlzdENvbHVtbkVudW1cbiAgKTogTXVsdGlJbnB1dFZhbHVlcyB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRhc2tMaXN0Q29sdW1uRW51bSkucmVkdWNlKFxuICAgICAgKGFjYywgY3VycikgPT4gWy4uLmFjYywge2tleTogY3VyciwgdmFsdWU6IHRhc2tMaXN0Q29sdW1uRW51bVtjdXJyXX1dLFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBwcmVmaWxsRm9ybShjb2x1bW46IFRhc2tMaXN0Q29sdW1uKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgY29sdW1uPy5kaXNwbGF5VHlwZT8udHlwZSA9PT0gVmlld1R5cGUuRU5VTSAmJlxuICAgICAgY29sdW1uPy5kaXNwbGF5VHlwZT8uZGlzcGxheVR5cGVQYXJhbWV0ZXJzPy5lbnVtXG4gICAgKSB7XG4gICAgICB0aGlzLl9lbnVtVmFsdWVzJC5uZXh0KFxuICAgICAgICB0aGlzLmdldE11bHRpSW5wdXRWYWx1ZXNGcm9tVGFza0xpc3RDb2x1bW5FbnVtKFxuICAgICAgICAgIGNvbHVtbi5kaXNwbGF5VHlwZS5kaXNwbGF5VHlwZVBhcmFtZXRlcnMuZW51bVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGNvbHVtbj8uZGlzcGxheVR5cGU/LnR5cGUgPT09IFZpZXdUeXBlLkJPT0xFQU4gJiZcbiAgICAgIGNvbHVtbj8uZGlzcGxheVR5cGU/LmRpc3BsYXlUeXBlUGFyYW1ldGVycz8uZW51bVxuICAgICkge1xuICAgICAgdGhpcy5feWVzTm9WYWx1ZXMkLm5leHQoXG4gICAgICAgIHRoaXMuZ2V0TXVsdGlJbnB1dFZhbHVlc0Zyb21UYXNrTGlzdENvbHVtbkVudW0oXG4gICAgICAgICAgY29sdW1uLmRpc3BsYXlUeXBlLmRpc3BsYXlUeXBlUGFyYW1ldGVycy5lbnVtXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7XG4gICAgICBrZXk6IGNvbHVtbi5rZXksXG4gICAgICBwYXRoOiBjb2x1bW4ucGF0aCxcbiAgICAgIHNvcnRhYmxlOiBjb2x1bW4uc29ydGFibGUsXG4gICAgICBkaXNwbGF5VHlwZTogdGhpcy5nZXRMaXN0SXRlbUZyb21WaWV3VHlwZShjb2x1bW4uZGlzcGxheVR5cGUudHlwZSksXG4gICAgICAuLi4oY29sdW1uLnRpdGxlICYmIHt0aXRsZTogY29sdW1uLnRpdGxlfSksXG4gICAgICAuLi4oIWNvbHVtbi5kZWZhdWx0U29ydCAmJiB7XG4gICAgICAgIGRlZmF1bHRTb3J0OiB0aGlzLmdldEludmFsaWRMaXN0SXRlbShgbGlzdENvbHVtbi5zZWxlY3REZWZhdWx0U29ydGApLFxuICAgICAgfSksXG4gICAgICAuLi4oY29sdW1uLmRlZmF1bHRTb3J0ID09PSAnQVNDJyAmJiB7ZGVmYXVsdFNvcnQ6IHRoaXMuX1NPUlRfQVNDX0lURU19KSxcbiAgICAgIC4uLihjb2x1bW4uZGVmYXVsdFNvcnQgPT09ICdERVNDJyAmJiB7ZGVmYXVsdFNvcnQ6IHRoaXMuX1NPUlRfREVTQ19JVEVNfSksXG4gICAgICAuLi4oY29sdW1uLmRpc3BsYXlUeXBlPy50eXBlID09PSBWaWV3VHlwZS5EQVRFICYmIHtcbiAgICAgICAgZGF0ZUZvcm1hdDogY29sdW1uLmRpc3BsYXlUeXBlLmRpc3BsYXlUeXBlUGFyYW1ldGVycy5kYXRlRm9ybWF0LFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBzaG93OiBzaG93JCB8IGFzeW5jLFxuICAgIHR5cGU6IHR5cGUkIHwgYXN5bmMsXG4gICAgaXNBZGQ6IGlzQWRkJCB8IGFzeW5jLFxuICAgIGlzRWRpdDogaXNFZGl0JCB8IGFzeW5jLFxuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBzaG93RGF0ZUZvcm1hdDogc2hvd0RhdGVGb3JtYXQkIHwgYXN5bmMsXG4gICAgc2hvd0VudW06IHNob3dFbnVtJCB8IGFzeW5jLFxuICAgIHNob3dZZXNObzogc2hvd1llc05vJCB8IGFzeW5jLFxuICAgIGRpc2FibGVEZWZhdWx0U29ydDogZGlzYWJsZURlZmF1bHRTb3J0JCB8IGFzeW5jLFxuICAgIGVudW1WYWx1ZXM6IGVudW1WYWx1ZXMkIHwgYXN5bmMsXG4gICAgZW51bVZhbGlkOiBlbnVtVmFsaWQkIHwgYXN5bmMsXG4gICAgeWVzTm9WYWx1ZXM6IHllc05vVmFsdWVzJCB8IGFzeW5jLFxuICAgIHZpZXdUeXBlSXRlbXM6IHZpZXdUeXBlSXRlbXMkIHwgYXN5bmMsXG4gICAgc29ydEl0ZW1zOiBzb3J0SXRlbXMkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8Y2RzLW1vZGFsIHNpemU9XCJzbVwiIFtvcGVuXT1cIm9icy5zaG93XCIgdmFsdGltb0Nkc01vZGFsPlxuICAgIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJjbG9zZU1vZGFsKClcIj5cbiAgICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICAgIHt7XG4gICAgICAgICAgb2JzLnR5cGUgPT09ICdhZGQnXG4gICAgICAgICAgICA/ICgnbGlzdENvbHVtbi5hZGRCdXR0b25UZXh0JyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgIDogKCdsaXN0Q29sdW1uLmVkaXRDb2x1bW5UaXRsZScgfCB0cmFuc2xhdGUpXG4gICAgICAgIH19XG4gICAgICA8L2gzPlxuICAgIDwvY2RzLW1vZGFsLWhlYWRlcj5cblxuICAgIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb3JtOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1vZGFsRm9vdGVyOyBjb250ZXh0OiB7b2JzOiBvYnN9XCI+IDwvbmctY29udGFpbmVyPlxuICA8L2Nkcy1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2Zvcm0gbGV0LW9icz1cIm9ic1wiPlxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibGlzdC1jb2x1bW4tZm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcFwiPlxuICAgICAgICAgIHt7ICdsaXN0Q29sdW1uLnRpdGxlVGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLnRpdGxlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdi10b29sdGlwLWljb24+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8aW5wdXQgY2RzVGV4dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICA8L2Nkcy1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgIDxjZHMtbGFiZWxcbiAgICAgICAgW2ludmFsaWRdPVwia2V5Py50b3VjaGVkICYmIGtleT8uaW52YWxpZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgb2JzLmlzRWRpdFwiXG4gICAgICAgIFtpbnZhbGlkVGV4dF09XCInbGlzdENvbHVtbi51bmlxdWVLZXlXYXJuaW5nJyB8IHRyYW5zbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtd2l0aC10b29sdGlwXCI+XG4gICAgICAgICAge3sgJ2xpc3RDb2x1bW4ua2V5JyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICAgICAgPHYtdG9vbHRpcC1pY29uXG4gICAgICAgICAgICBbdG9vbHRpcF09XCInbGlzdENvbHVtbi5rZXlUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cImtleVwiIC8+XG4gICAgICA8L2Nkcy1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcFwiPlxuICAgICAgICAgIHt7ICdsaXN0Q29sdW1uLnBhdGgnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLnBhdGhUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cInBhdGhcIiAvPlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCI+XG4gICAgICA8Y2RzLWxhYmVsIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC13aXRoLXRvb2x0aXAgc2VsZWN0LWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2xpc3RDb2x1bW4uZGlzcGxheVR5cGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLmRpc3BsYXlUeXBlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdi10b29sdGlwLWljb24+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAgICAgKm5nSWY9XCJvYnMudmlld1R5cGVJdGVtc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGlzcGxheVR5cGVcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMudmlld1R5cGVJdGVtc1wiPjwvY2RzLWRyb3Bkb3duLWxpc3Q+XG4gICAgICAgIDwvY2RzLWRyb3Bkb3duPlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCIgKm5nSWY9XCJvYnMuc2hvd0RhdGVGb3JtYXRcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcFwiPlxuICAgICAgICAgIHt7ICdsaXN0Q29sdW1uLmRhdGVGb3JtYXQnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLmRhdGVGb3JtYXRUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpbnB1dCBjZHNUZXh0IGZvcm1Db250cm9sTmFtZT1cImRhdGVGb3JtYXRcIiAvPlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCIgKm5nSWY9XCJvYnMuc2hvd0VudW1cIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcCBzZWxlY3QtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnbGlzdENvbHVtbi5lbnVtVGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICA8di10b29sdGlwLWljb25cbiAgICAgICAgICAgIFt0b29sdGlwXT1cIidsaXN0Q29sdW1uLmVudW1Ub29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgICAgICpuZ0lmPVwib2JzLnNob3dFbnVtXCJcbiAgICAgICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgICAgIFtjYXJib25UaGVtZV09XCJDQVJCT05fVEhFTUVfV0hJVEVcIlxuICAgICAgICAgIFtkZWZhdWx0VmFsdWVzXT1cIm9icy5lbnVtVmFsdWVzXCJcbiAgICAgICAgICB0eXBlPVwia2V5VmFsdWVcIlxuICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJlbnVtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCIgKm5nSWY9XCJvYnMuc2hvd1llc05vXCIgW25nQ2xhc3NdPVwiJ25vLW1hcmdpbidcIj5cbiAgICAgIDxjZHMtbGFiZWwgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXdpdGgtdG9vbHRpcCBzZWxlY3QtbGFiZWxcIj5cbiAgICAgICAgICB7eyAnbGlzdENvbHVtbi5lbnVtVGl0bGVPcHRpb25hbCcgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgIDx2LXRvb2x0aXAtaWNvblxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ2xpc3RDb2x1bW4uZW51bVRvb2x0aXBPcHRpb25hbCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdi10b29sdGlwLWljb24+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8dmFsdGltby1jYXJib24tbXVsdGktaW5wdXRcbiAgICAgICAgICAqbmdJZj1cIm9icy5zaG93WWVzTm9cIlxuICAgICAgICAgIFtmdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgICAgW2NhcmJvblRoZW1lXT1cIkNBUkJPTl9USEVNRV9XSElURVwiXG4gICAgICAgICAgW2RlZmF1bHRWYWx1ZXNdPVwib2JzLnllc05vVmFsdWVzXCJcbiAgICAgICAgICB0eXBlPVwia2V5VmFsdWVcIlxuICAgICAgICAgIFtoaWRlQWRkQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgIFtoaWRlRGVsZXRlQnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgIFttYXhSb3dzXT1cIjFcIlxuICAgICAgICAgIFtrZXlDb2x1bW5UaXRsZV09XCIndmlld1R5cGVDb252ZXJ0ZXIuWWVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3ZhbHVlQ29sdW1uVGl0bGVdPVwiJ3ZpZXdUeXBlQ29udmVydGVyLk5vJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInllc05vVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0PlxuICAgICAgPC9jZHMtbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2RzLS10ZXh0LWlucHV0X19maWVsZC13cmFwcGVyXCI+XG4gICAgICA8Y2RzLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInNvcnRhYmxlXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgID57eyAnbGlzdENvbHVtbi5zb3J0YWJsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvY2RzLWNoZWNrYm94PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNkcy0tdGV4dC1pbnB1dF9fZmllbGQtd3JhcHBlclwiPlxuICAgICAgPGNkcy1sYWJlbCBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8IG9icy5kaXNhYmxlRGVmYXVsdFNvcnRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC13aXRoLXRvb2x0aXAgc2VsZWN0LWxhYmVsXCI+XG4gICAgICAgICAge3sgJ2xpc3RDb2x1bW4uZGVmYXVsdFNvcnRUaXRsZScgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgICAgIDx2LXRvb2x0aXAtaWNvblxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ2xpc3RDb2x1bW4uZGVmYXVsdFNvcnRUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+PC92LXRvb2x0aXAtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxjZHMtZHJvcGRvd24gZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdFNvcnRcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgKm5nSWY9XCJvYnMuc29ydEl0ZW1zXCI+XG4gICAgICAgICAgPGNkcy1kcm9wZG93bi1saXN0IFtpdGVtc109XCJvYnMuc29ydEl0ZW1zXCI+PC9jZHMtZHJvcGRvd24tbGlzdD5cbiAgICAgICAgPC9jZHMtZHJvcGRvd24+XG4gICAgICA8L2Nkcy1sYWJlbD5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtb2RhbEZvb3RlciBsZXQtb2JzPVwib2JzXCI+XG4gIDxjZHMtbW9kYWwtZm9vdGVyPlxuICAgIDxuZy1jb250YWluZXI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIChjbGljayk9XCJjbG9zZU1vZGFsKClcIlxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2xpc3RDb2x1bW4uY2xvc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgIFthdHRyLm1vZGFsLXByaW1hcnktZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhb2JzLnZhbGlkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZCB8fCBmb3JtR3JvdXA/LmludmFsaWQgfHwgKG9icy5zaG93RW51bSAmJiAhb2JzLmVudW1WYWxpZClcIlxuICAgICAgPlxuICAgICAgICB7eyAnbGlzdENvbHVtbi5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvY2RzLW1vZGFsLWZvb3Rlcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -50,7 +50,7 @@ export class TaskManagementDetailComponent {
50
50
  this.taskManagementService.setActiveTab(tab);
51
51
  }
52
52
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementDetailComponent, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.PageTitleService }, { token: i4.ActivatedRoute }, { token: i5.TaskManagementService }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n activeTab: activeTab$ | async,\n documentDefinitionName: setDocumentDefinitionName$ | async,\n } as obs\"\n class=\"task-management-detail\"\n>\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n >\n <valtimo-task-management-columns> </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields> </valtimo-task-management-search-fields>\n </cds-tab>\n \n </cds-tabs>\n</div>\n", styles: [".task-management-detail .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i8.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i8.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "component", type: TaskManagementColumnsComponent, selector: "valtimo-task-management-columns", inputs: ["carbonTheme"] }, { kind: "component", type: TaskManagementSearchFieldsComponent, selector: "valtimo-task-management-search-fields" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TaskManagementDetailComponent, isStandalone: true, selector: "ng-component", inputs: { carbonTheme: "carbonTheme" }, providers: [TaskManagementService], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"{\n activeTab: activeTab$ | async,\n documentDefinitionName: setDocumentDefinitionName$ | async,\n } as obs\"\n class=\"task-management-detail\"\n>\n <cds-tabs class=\"dossier-management-tabs\" type=\"contained\">\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.COLUMNS\"\n [heading]=\"'taskManagement.columns' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.COLUMNS)\"\n >\n <valtimo-task-management-columns> </valtimo-task-management-columns>\n </cds-tab>\n\n <cds-tab\n [active]=\"obs.activeTab === TAB_ENUM.SEARCH_FIELDS\"\n [heading]=\"'taskManagement.searchFields' | translate\"\n (selected)=\"setActiveTab(TAB_ENUM.SEARCH_FIELDS)\"\n >\n <valtimo-task-management-search-fields> </valtimo-task-management-search-fields>\n </cds-tab>\n \n </cds-tabs>\n</div>\n", styles: [".task-management-detail .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i8.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i8.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "component", type: TaskManagementColumnsComponent, selector: "valtimo-task-management-columns", inputs: ["carbonTheme"] }, { kind: "component", type: TaskManagementSearchFieldsComponent, selector: "valtimo-task-management-search-fields" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
54
  }
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TaskManagementDetailComponent, decorators: [{
56
56
  type: Component,
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
65
65
  }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3.PageTitleService }, { type: i4.ActivatedRoute }, { type: i5.TaskManagementService }], propDecorators: { carbonTheme: [{
66
66
  type: Input
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWRldGFpbC90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtZGV0YWlsL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFFckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7O0FBbUI3SCxNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsS0FBcUIsRUFDckIscUJBQTRDO1FBSjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUF2Qi9DLGdCQUFXLEdBQWlCLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFFN0MsK0JBQTBCLEdBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUNsQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtDQUFrQyxDQUFDLHNCQUFzQixDQUFDLENBQ2hGLEVBQ0QsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFFLGtCQUEwQixFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVZLGVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRW5ELGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQVExQyxDQUFDO0lBRUcsWUFBWSxDQUFDLEdBQXNCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0E3QlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsbUdBSDdCLENBQUMscUJBQXFCLENBQUMsMEJDMUNwQywwL0NBMENBLDZ1QkRQSSxZQUFZLHVMQUNaLGdCQUFnQiw4QkFDaEIsZUFBZSwyRkFDZixVQUFVLCtaQUNWLDhCQUE4QixxR0FDOUIsbUNBQW1DOzs0RkFLMUIsNkJBQTZCO2tCQWhCekMsU0FBUztpQ0FHSSxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsVUFBVTt3QkFDViw4QkFBOEI7d0JBQzlCLG1DQUFtQztxQkFDcEMsYUFDVSxDQUFDLHFCQUFxQixDQUFDLGlCQUNuQixpQkFBaUIsQ0FBQyxJQUFJO2dOQUdyQixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDYXJib25MaXN0TW9kdWxlLCBQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uLCBEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7VGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50VGFifSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtY29sdW1ucyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgVGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50LFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUYXNrTWFuYWdlbWVudFNlcnZpY2VdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudERldGFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZTogQ0FSQk9OX1RIRU1FID0gQ0FSQk9OX1RIRU1FLkcxMDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8RG9jdW1lbnREZWZpbml0aW9uPiA9XG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgICAgZmlsdGVyKGRvY0RlZk5hbWUgPT4gISFkb2NEZWZOYW1lKSxcbiAgICAgIHN3aXRjaE1hcChkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvbkZvck1hbmFnZW1lbnQoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICksXG4gICAgICB0YXAoZG9jdW1lbnREZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZSgoZG9jdW1lbnREZWZpbml0aW9uIGFzIGFueSk/LnNjaGVtYT8udGl0bGUgfHwgJy0nKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVGFiJCA9IHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLmFjdGl2ZVRhYiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IFRBQl9FTlVNID0gVGFza01hbmFnZW1lbnRUYWI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza01hbmFnZW1lbnRTZXJ2aWNlOiBUYXNrTWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVUYWIodGFiOiBUYXNrTWFuYWdlbWVudFRhYik6IHZvaWQge1xuICAgIHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLnNldEFjdGl2ZVRhYih0YWIpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgYWN0aXZlVGFiOiBhY3RpdmVUYWIkIHwgYXN5bmMsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuICBjbGFzcz1cInRhc2stbWFuYWdlbWVudC1kZXRhaWxcIlxuPlxuICA8Y2RzLXRhYnMgY2xhc3M9XCJkb3NzaWVyLW1hbmFnZW1lbnQtdGFic1wiIHR5cGU9XCJjb250YWluZWRcIj5cbiAgICA8Y2RzLXRhYlxuICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5DT0xVTU5TXCJcbiAgICAgIFtoZWFkaW5nXT1cIid0YXNrTWFuYWdlbWVudC5jb2x1bW5zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLkNPTFVNTlMpXCJcbiAgICA+XG4gICAgICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtY29sdW1ucz4gPC92YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zPlxuICAgIDwvY2RzLXRhYj5cblxuICAgICAgPGNkcy10YWJcbiAgICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5TRUFSQ0hfRklFTERTXCJcbiAgICAgICAgW2hlYWRpbmddPVwiJ3Rhc2tNYW5hZ2VtZW50LnNlYXJjaEZpZWxkcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLlNFQVJDSF9GSUVMRFMpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHM+IDwvdmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcz5cbiAgICAgIDwvY2RzLXRhYj5cbiAgICBcbiAgPC9jZHMtdGFicz5cbjwvZGl2PlxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LWRldGFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Rhc2stbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvdGFzay1tYW5hZ2VtZW50LWRldGFpbC90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtZGV0YWlsL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFM0YsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFFckYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBQyxtQ0FBbUMsRUFBQyxNQUFNLDBFQUEwRSxDQUFDOzs7Ozs7Ozs7O0FBbUI3SCxNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsS0FBcUIsRUFDckIscUJBQTRDO1FBSjVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUF2Qi9DLGdCQUFXLEdBQWlCLFlBQVksQ0FBQyxHQUFHLENBQUM7UUFFN0MsK0JBQTBCLEdBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFDaEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUNsQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtDQUFrQyxDQUFDLHNCQUFzQixDQUFDLENBQ2hGLEVBQ0QsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFFLGtCQUEwQixFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDOUYsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVZLGVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBRW5ELGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQVExQyxDQUFDO0lBRUcsWUFBWSxDQUFDLEdBQXNCO1FBQ3hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQzsrR0E3QlUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsbUdBSDdCLENBQUMscUJBQXFCLENBQUMsMEJDMUNwQywwL0NBMENBLDZ1QkRQSSxZQUFZLHVMQUNaLGdCQUFnQiw4QkFDaEIsZUFBZSwyRkFDZixVQUFVLGdjQUNWLDhCQUE4QixxR0FDOUIsbUNBQW1DOzs0RkFLMUIsNkJBQTZCO2tCQWhCekMsU0FBUztpQ0FHSSxJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsVUFBVTt3QkFDViw4QkFBOEI7d0JBQzlCLG1DQUFtQztxQkFDcEMsYUFDVSxDQUFDLHFCQUFxQixDQUFDLGlCQUNuQixpQkFBaUIsQ0FBQyxJQUFJO2dOQUdyQixXQUFXO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDYXJib25MaXN0TW9kdWxlLCBQYWdlVGl0bGVTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9uLCBEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcbmltcG9ydCB7VGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50VGFifSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtY29sdW1ucyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3Rhc2stbWFuYWdlbWVudC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YXNrLW1hbmFnZW1lbnQtZGV0YWlsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgVGFza01hbmFnZW1lbnRDb2x1bW5zQ29tcG9uZW50LFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUYXNrTWFuYWdlbWVudFNlcnZpY2VdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBUYXNrTWFuYWdlbWVudERldGFpbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXJib25UaGVtZTogQ0FSQk9OX1RIRU1FID0gQ0FSQk9OX1RIRU1FLkcxMDtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8RG9jdW1lbnREZWZpbml0aW9uPiA9XG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgICAgZmlsdGVyKGRvY0RlZk5hbWUgPT4gISFkb2NEZWZOYW1lKSxcbiAgICAgIHN3aXRjaE1hcChkb2N1bWVudERlZmluaXRpb25OYW1lID0+XG4gICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldERvY3VtZW50RGVmaW5pdGlvbkZvck1hbmFnZW1lbnQoZG9jdW1lbnREZWZpbml0aW9uTmFtZSlcbiAgICAgICksXG4gICAgICB0YXAoZG9jdW1lbnREZWZpbml0aW9uID0+IHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldEN1c3RvbVBhZ2VUaXRsZSgoZG9jdW1lbnREZWZpbml0aW9uIGFzIGFueSk/LnNjaGVtYT8udGl0bGUgfHwgJy0nKTtcbiAgICAgIH0pXG4gICAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVGFiJCA9IHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLmFjdGl2ZVRhYiQ7XG5cbiAgcHVibGljIHJlYWRvbmx5IFRBQl9FTlVNID0gVGFza01hbmFnZW1lbnRUYWI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFza01hbmFnZW1lbnRTZXJ2aWNlOiBUYXNrTWFuYWdlbWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVUYWIodGFiOiBUYXNrTWFuYWdlbWVudFRhYik6IHZvaWQge1xuICAgIHRoaXMudGFza01hbmFnZW1lbnRTZXJ2aWNlLnNldEFjdGl2ZVRhYih0YWIpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgKm5nSWY9XCJ7XG4gICAgYWN0aXZlVGFiOiBhY3RpdmVUYWIkIHwgYXN5bmMsXG4gICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc2V0RG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuICBjbGFzcz1cInRhc2stbWFuYWdlbWVudC1kZXRhaWxcIlxuPlxuICA8Y2RzLXRhYnMgY2xhc3M9XCJkb3NzaWVyLW1hbmFnZW1lbnQtdGFic1wiIHR5cGU9XCJjb250YWluZWRcIj5cbiAgICA8Y2RzLXRhYlxuICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5DT0xVTU5TXCJcbiAgICAgIFtoZWFkaW5nXT1cIid0YXNrTWFuYWdlbWVudC5jb2x1bW5zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLkNPTFVNTlMpXCJcbiAgICA+XG4gICAgICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtY29sdW1ucz4gPC92YWx0aW1vLXRhc2stbWFuYWdlbWVudC1jb2x1bW5zPlxuICAgIDwvY2RzLXRhYj5cblxuICAgICAgPGNkcy10YWJcbiAgICAgICAgW2FjdGl2ZV09XCJvYnMuYWN0aXZlVGFiID09PSBUQUJfRU5VTS5TRUFSQ0hfRklFTERTXCJcbiAgICAgICAgW2hlYWRpbmddPVwiJ3Rhc2tNYW5hZ2VtZW50LnNlYXJjaEZpZWxkcycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAoc2VsZWN0ZWQpPVwic2V0QWN0aXZlVGFiKFRBQl9FTlVNLlNFQVJDSF9GSUVMRFMpXCJcbiAgICAgID5cbiAgICAgICAgPHZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHM+IDwvdmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcz5cbiAgICAgIDwvY2RzLXRhYj5cbiAgICBcbiAgPC9jZHMtdGFicz5cbjwvZGl2PlxuIl19
@@ -130,11 +130,13 @@ export class TaskManagementSearchFieldsComponent {
130
130
  onDeleteFieldConfirm(item) {
131
131
  if (!item)
132
132
  return;
133
- this.searchFieldsService
134
- .deleteTaskListSearchField(item.key)
135
- .pipe(take(1), switchMap(() => item.dropdownDataProvider
136
- ? this.documentService.deleteDropdownData(item.dropdownDataProvider, item.ownerId, item.key)
137
- : of()))
133
+ combineLatest([
134
+ this.searchFieldsService.deleteTaskListSearchField(item.key),
135
+ item.dropdownDataProvider
136
+ ? this.documentService.deleteDropdownData(item.dropdownDataProvider, item.ownerId, item.key)
137
+ : of(null),
138
+ ])
139
+ .pipe(take(1))
138
140
  .subscribe(() => this._refresh$.next(null));
139
141
  }
140
142
  deleteField(item) {
@@ -173,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
173
175
  ConfirmationModalModule,
174
176
  ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container\n *ngIf=\"{\n fieldModalOpen: fieldModalOpen$ | async,\n fields: fields$ | async,\n itemToDelete: itemToDelete$ | async,\n prefillData: prefillData$ | async,\n searchFields: searchFields$ | async\n } as obs\"\n>\n <valtimo-carbon-list\n [actionItems]=\"ACTION_ITEMS\"\n [fields]=\"obs.fields\"\n [items]=\"obs.searchFields\"\n [dragAndDrop]=\"true\"\n (itemsReordered)=\"onItemsReordered($event)\"\n (rowClicked)=\"editField($event)\"\n >\n <ng-container carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addButton\"></ng-container>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addButton\"\n [description]=\"'searchFieldsOverview.noSearchfieldsDescription' | translate\"\n [title]=\"'searchFieldsOverview.noSearchfieldsTitle' | translate\"\n ></valtimo-no-results>\n </valtimo-carbon-list>\n\n <valtimo-task-management-search-fields-modal\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [open]=\"obs.fieldModalOpen\"\n [prefillData]=\"obs.prefillData\"\n (closeEvent)=\"onCloseEvent($event, obs.prefillData)\"\n ></valtimo-task-management-search-fields-modal>\n\n <valtimo-confirmation-modal\n confirmButtonTextTranslationKey=\"interface.delete\"\n confirmButtonType=\"danger\"\n contentTranslationKey=\"searchFieldsOverview.deleteSearchFieldConfirmation\"\n [outputOnConfirm]=\"obs.itemToDelete\"\n [showModalSubject$]=\"deleteModalOpen$\"\n titleTranslationKey=\"searchFieldsOverview.deleteSearchField\"\n (confirmEvent)=\"onDeleteFieldConfirm($event)\"\n ></valtimo-confirmation-modal>\n</ng-container>\n\n<ng-template #addButton>\n <button cdsButton=\"primary\" (click)=\"onAddButtonClick()\">\n <svg cdsIcon=\"add\" size=\"16\" class=\"cds--btn__icon\"></svg>\n\n {{ 'searchFieldsOverview.add' | translate }}\n </button>\n</ng-template>\n" }]
175
177
  }], ctorParameters: () => [{ type: i1.DocumentService }, { type: i2.ActivatedRoute }, { type: i3.TaskManagementSearchFieldsService }, { type: i4.TranslateService }] });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUVMLGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUdMLDRCQUE0QixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7Ozs7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LDRCQUE0QixDQUFDLHFCQUFxQjtnQkFDckQsT0FBTyx1QkFBdUIsQ0FBQztZQUNqQztnQkFDRSxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzsrR0FyTFUsbUNBQW1DO21HQUFuQyxtQ0FBbUMsaUdDOURoRCxzZ0ZBcUVBLDJDRGhCSSxZQUFZLDhWQUNaLGVBQWUsMkZBQ2YsZ0JBQWdCLHcxQkFDaEIsWUFBWSxnTUFDWixVQUFVLDZOQUNWLHdDQUF3QywyS0FDeEMsdUJBQXVCOzs0RkFHZCxtQ0FBbUM7a0JBZi9DLFNBQVM7K0JBQ0UsdUNBQXVDLG1CQUVoQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1Ysd0NBQXdDO3dCQUN4Qyx1QkFBdUI7cUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDYXJib25MaXN0TW9kdWxlLFxuICBDb2x1bW5Db25maWcsXG4gIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICBWaWV3VHlwZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtcbiAgVGFza0xpc3RTZWFyY2hEcm9wZG93blZhbHVlLFxuICBUYXNrTGlzdFNlYXJjaEZpZWxkLFxuICBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLFxufSBmcm9tICdAdmFsdGltby90YXNrJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG4gIHRha2UsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtUYXNrTWFuYWdlbWVudFNlYXJjaEZpZWxkc01vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzJyxcbiAgdGVtcGxhdGVVcmw6ICd0YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJY29uTW9kdWxlLFxuICAgIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzTW9kYWxDb21wb25lbnQsXG4gICAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzQ29tcG9uZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgIGZpbHRlcihkb2NEZWZOYW1lID0+ICEhZG9jRGVmTmFtZSksXG4gICAgdGFwKChkb2NEZWZOYW1lOiBzdHJpbmcpID0+IHRoaXMuc2VhcmNoRmllbGRzU2VydmljZS5zZXREb2N1bWVudERlZmluaXRpb25OYW1lKGRvY0RlZk5hbWUpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3JlZnJlc2gkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsPihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2VhcmNoRmllbGRzJDogT2JzZXJ2YWJsZTxUYXNrTGlzdFNlYXJjaEZpZWxkW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kb2N1bWVudERlZmluaXRpb25OYW1lJCxcbiAgICB0aGlzLl9yZWZyZXNoJCxcbiAgICB0aGlzLnRyYXNubGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLmdldFRhc2tMaXN0U2VhcmNoRmllbGRzKCkpLFxuICAgIG1hcCgoc2VhcmNoRmllbGRzOiBUYXNrTGlzdFNlYXJjaEZpZWxkW10pID0+IHRoaXMubWFwVHJhbnNsYXRpb25zKHNlYXJjaEZpZWxkcykpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZpZWxkcyQ6IE9ic2VydmFibGU8Q29sdW1uQ29uZmlnW10+ID0gdGhpcy50cmFzbmxhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JykucGlwZShcbiAgICBtYXAoKCkgPT4gW1xuICAgICAge1xuICAgICAgICBrZXk6ICd0aXRsZScsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcudGl0bGUnLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2tleScsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcua2V5JyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdwYXRoJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5wYXRoJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdkYXRhVHlwZVRyYW5zbGF0aW9uJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5kYXRhVHlwZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmllbGRUeXBlVHJhbnNsYXRpb24nLFxuICAgICAgICBsYWJlbDogJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LmZpZWxkVHlwZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICBdKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVNb2RhbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBmaWVsZE1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1Ub0RlbGV0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHByZWZpbGxEYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBBQ1RJT05fSVRFTVM6IEFjdGlvbkl0ZW1bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5lZGl0JyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLmVkaXRGaWVsZC5iaW5kKHRoaXMpLFxuICAgICAgdHlwZTogJ25vcm1hbCcsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5kZWxldGUnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZGVsZXRlRmllbGQuYmluZCh0aGlzKSxcbiAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaEZpZWxkc1NlcnZpY2U6IFRhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYXNubGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBlZGl0RmllbGQoaXRlbTogVGFza0xpc3RTZWFyY2hGaWVsZCk6IHZvaWQge1xuICAgIGlmICghIWl0ZW0uZHJvcGRvd25EYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgICAgIC5nZXREcm9wZG93bkRhdGEoaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlciwgaXRlbS5vd25lcklkLCBpdGVtLmtleSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZShkcm9wZG93blZhbHVlcyA9PiB7XG4gICAgICAgICAgaXRlbS5kcm9wZG93blZhbHVlcyA9IGRyb3Bkb3duVmFsdWVzIGFzIFRhc2tMaXN0U2VhcmNoRHJvcGRvd25WYWx1ZTtcbiAgICAgICAgICB0aGlzLnByZWZpbGxEYXRhJC5uZXh0KGl0ZW0pO1xuICAgICAgICAgIHRoaXMuZmllbGRNb2RhbE9wZW4kLm5leHQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMucHJlZmlsbERhdGEkLm5leHQoaXRlbSk7XG4gICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkl0ZW1zUmVvcmRlcmVkKGV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlXG4gICAgICAub3JkZXJUYXNrTGlzdFNlYXJjaEZpZWxkcyhldmVudClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3JlZnJlc2gkLm5leHQobnVsbCkpO1xuICB9XG5cbiAgcHVibGljIG9uQWRkQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlRXZlbnQoXG4gICAgc2VhcmNoRmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsLFxuICAgIHByZWZpbGxEYXRhOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkTW9kYWxPcGVuJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLnByZWZpbGxEYXRhJC5uZXh0KG51bGwpO1xuICAgIGlmICghc2VhcmNoRmllbGQpIHJldHVybjtcblxuICAgIGNvbnN0IGhhc0Ryb3Bkb3duVmFsdWVzOiBib29sZWFuID1cbiAgICAgIHNlYXJjaEZpZWxkLmZpZWxkVHlwZSA9PT0gVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOIHx8XG4gICAgICBzZWFyY2hGaWVsZC5maWVsZFR5cGUgPT09IFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOO1xuXG4gICAgKCFwcmVmaWxsRGF0YVxuICAgICAgPyB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2UuY3JlYXRlVGFza0xpc3RTZWFyY2hGaWVsZChzZWFyY2hGaWVsZClcbiAgICAgIDogdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLnVwZGF0ZVRhc2tMaXN0U2VhcmNoRmllbGQoc2VhcmNoRmllbGQpXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoZmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQpID0+IHtcbiAgICAgICAgICByZXR1cm4gaGFzRHJvcGRvd25WYWx1ZXNcbiAgICAgICAgICAgID8gdGhpcy5kb2N1bWVudFNlcnZpY2UucG9zdERyb3Bkb3duRGF0YShcbiAgICAgICAgICAgICAgICBmaWVsZC5kcm9wZG93bkRhdGFQcm92aWRlciA/PyAnJyxcbiAgICAgICAgICAgICAgICBmaWVsZC5vd25lcklkLFxuICAgICAgICAgICAgICAgIGZpZWxkLmtleSxcbiAgICAgICAgICAgICAgICBzZWFyY2hGaWVsZC5kcm9wZG93blZhbHVlcyA/PyB7fVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IG9mKGZpZWxkKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwdWJsaWMgb25EZWxldGVGaWVsZENvbmZpcm0oaXRlbTogVGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcblxuICAgIHRoaXMuc2VhcmNoRmllbGRzU2VydmljZVxuICAgICAgLmRlbGV0ZVRhc2tMaXN0U2VhcmNoRmllbGQoaXRlbS5rZXkpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlclxuICAgICAgICAgICAgPyB0aGlzLmRvY3VtZW50U2VydmljZS5kZWxldGVEcm9wZG93bkRhdGEoXG4gICAgICAgICAgICAgICAgaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlcixcbiAgICAgICAgICAgICAgICBpdGVtLm93bmVySWQsXG4gICAgICAgICAgICAgICAgaXRlbS5rZXlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZigpXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZpZWxkKGl0ZW06IFRhc2tMaXN0U2VhcmNoRmllbGQpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1Ub0RlbGV0ZSQubmV4dChpdGVtKTtcbiAgICB0aGlzLmRlbGV0ZU1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwVHJhbnNsYXRpb25zKFxuICAgIHNlYXJjaEZpZWxkczogVGFza0xpc3RTZWFyY2hGaWVsZFtdXG4gICk6IChUYXNrTGlzdFNlYXJjaEZpZWxkICYge2RhdGFUeXBlVHJhbnNsYXRpb246IHN0cmluZzsgZmllbGRUeXBlVHJhbnNsYXRpb246IHN0cmluZ30pW10ge1xuICAgIHJldHVybiBzZWFyY2hGaWVsZHMubWFwKChzZWFyY2hGaWVsZDogVGFza0xpc3RTZWFyY2hGaWVsZCkgPT4gKHtcbiAgICAgIC4uLnNlYXJjaEZpZWxkLFxuICAgICAgZGF0YVR5cGVUcmFuc2xhdGlvbjogdGhpcy50cmFzbmxhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBzZWFyY2hGaWVsZHMuJHtzZWFyY2hGaWVsZC5kYXRhVHlwZS50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICksXG4gICAgICBmaWVsZFR5cGVUcmFuc2xhdGlvbjogdGhpcy50cmFzbmxhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGBzZWFyY2hGaWVsZHNPdmVydmlldy4ke3RoaXMuZmllbGRUeXBlVHJhbnNsYXRpb24oc2VhcmNoRmllbGQuZmllbGRUeXBlKX1gXG4gICAgICApLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZmllbGRUeXBlVHJhbnNsYXRpb24oZmllbGRUeXBlOiBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGZpZWxkVHlwZSkge1xuICAgICAgY2FzZSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV046XG4gICAgICAgIHJldHVybiAnc2luZ2xlLXNlbGVjdC1kcm9wZG93bic7XG4gICAgICBjYXNlIFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUuTVVMVElfU0VMRUNUX0RST1BET1dOOlxuICAgICAgICByZXR1cm4gJ211bHRpLXNlbGVjdC1kcm9wZG93bic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmllbGRUeXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgZmllbGRNb2RhbE9wZW46IGZpZWxkTW9kYWxPcGVuJCB8IGFzeW5jLFxuICAgIGZpZWxkczogZmllbGRzJCB8IGFzeW5jLFxuICAgIGl0ZW1Ub0RlbGV0ZTogaXRlbVRvRGVsZXRlJCB8IGFzeW5jLFxuICAgIHByZWZpbGxEYXRhOiBwcmVmaWxsRGF0YSQgfCBhc3luYyxcbiAgICBzZWFyY2hGaWVsZHM6IHNlYXJjaEZpZWxkcyQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgW2FjdGlvbkl0ZW1zXT1cIkFDVElPTl9JVEVNU1wiXG4gICAgW2ZpZWxkc109XCJvYnMuZmllbGRzXCJcbiAgICBbaXRlbXNdPVwib2JzLnNlYXJjaEZpZWxkc1wiXG4gICAgW2RyYWdBbmREcm9wXT1cInRydWVcIlxuICAgIChpdGVtc1Jlb3JkZXJlZCk9XCJvbkl0ZW1zUmVvcmRlcmVkKCRldmVudClcIlxuICAgIChyb3dDbGlja2VkKT1cImVkaXRGaWVsZCgkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgY2FyYm9uVG9vbGJhckNvbnRlbnQ+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFkZEJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgW2FjdGlvbl09XCJhZGRCdXR0b25cIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5ub1NlYXJjaGZpZWxkc0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiJ3NlYXJjaEZpZWxkc092ZXJ2aWV3Lm5vU2VhcmNoZmllbGRzVGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG4gIDwvdmFsdGltby1jYXJib24tbGlzdD5cblxuICA8dmFsdGltby10YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy1tb2RhbFxuICAgIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICAgIFtvcGVuXT1cIm9icy5maWVsZE1vZGFsT3BlblwiXG4gICAgW3ByZWZpbGxEYXRhXT1cIm9icy5wcmVmaWxsRGF0YVwiXG4gICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZUV2ZW50KCRldmVudCwgb2JzLnByZWZpbGxEYXRhKVwiXG4gID48L3ZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWw+XG5cbiAgPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gICAgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICAgIGNvbmZpcm1CdXR0b25UeXBlPVwiZGFuZ2VyXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJzZWFyY2hGaWVsZHNPdmVydmlldy5kZWxldGVTZWFyY2hGaWVsZENvbmZpcm1hdGlvblwiXG4gICAgW291dHB1dE9uQ29uZmlybV09XCJvYnMuaXRlbVRvRGVsZXRlXCJcbiAgICBbc2hvd01vZGFsU3ViamVjdCRdPVwiZGVsZXRlTW9kYWxPcGVuJFwiXG4gICAgdGl0bGVUcmFuc2xhdGlvbktleT1cInNlYXJjaEZpZWxkc092ZXJ2aWV3LmRlbGV0ZVNlYXJjaEZpZWxkXCJcbiAgICAoY29uZmlybUV2ZW50KT1cIm9uRGVsZXRlRmllbGRDb25maXJtKCRldmVudClcIlxuICA+PC92YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2FkZEJ1dHRvbj5cbiAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWRkQnV0dG9uQ2xpY2soKVwiPlxuICAgIDxzdmcgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIj48L3N2Zz5cblxuICAgIHt7ICdzZWFyY2hGaWVsZHNPdmVydmlldy5hZGQnIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby90YXNrLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vdGFzay1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy90YXNrLW1hbmFnZW1lbnQtc2VhcmNoLWZpZWxkcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBQyxlQUFlLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUVMLGdCQUFnQixFQUVoQix1QkFBdUIsRUFDdkIsUUFBUSxHQUNULE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUdMLDRCQUE0QixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFDLHdDQUF3QyxFQUFDLE1BQU0sc0ZBQXNGLENBQUM7Ozs7Ozs7OztBQWlCOUksTUFBTSxPQUFPLG1DQUFtQztJQWtFOUMsWUFDbUIsZUFBZ0MsRUFDaEMsS0FBcUIsRUFDckIsbUJBQXNELEVBQ3RELGdCQUFrQztRQUhsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFtQztRQUN0RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckVyQyw0QkFBdUIsR0FBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNsRixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUNoQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQ2xDLEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUM1RixDQUFDO1FBRWUsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFPLElBQUksQ0FBQyxDQUFDO1FBRTdDLGtCQUFhLEdBQXNDLGFBQWEsQ0FBQztZQUMvRSxJQUFJLENBQUMsdUJBQXVCO1lBQzVCLElBQUksQ0FBQyxTQUFTO1lBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDcEMsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixFQUFFLENBQUMsRUFDbkUsR0FBRyxDQUFDLENBQUMsWUFBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUNqRixDQUFDO1FBRWMsWUFBTyxHQUErQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDNUYsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1I7Z0JBQ0UsR0FBRyxFQUFFLE9BQU87Z0JBQ1osS0FBSyxFQUFFLDRCQUE0QjtnQkFDbkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLEtBQUs7Z0JBQ1YsS0FBSyxFQUFFLDBCQUEwQjtnQkFDakMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLDJCQUEyQjtnQkFDbEMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLHFCQUFxQjtnQkFDMUIsS0FBSyxFQUFFLCtCQUErQjtnQkFDdEMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLHNCQUFzQjtnQkFDM0IsS0FBSyxFQUFFLGdDQUFnQztnQkFDdkMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3hCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFYyxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN2RCxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3RELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQTZCLElBQUksQ0FBQyxDQUFDO1FBQ3RFLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQTZCLElBQUksQ0FBQyxDQUFDO1FBRXJFLGlCQUFZLEdBQWlCO1lBQzNDO2dCQUNFLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0YsQ0FBQztJQU9DLENBQUM7SUFFRyxTQUFTLENBQUMsSUFBeUI7UUFDeEMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGVBQWU7aUJBQ2pCLGVBQWUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNiLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUE2QyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7WUFFTCxPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFLO1FBQzNCLElBQUksQ0FBQyxtQkFBbUI7YUFDckIseUJBQXlCLENBQUMsS0FBSyxDQUFDO2FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxZQUFZLENBQ2pCLFdBQXVDLEVBQ3ZDLFdBQXVDO1FBRXZDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTztRQUV6QixNQUFNLGlCQUFpQixHQUNyQixXQUFXLENBQUMsU0FBUyxLQUFLLDRCQUE0QixDQUFDLHNCQUFzQjtZQUM3RSxXQUFXLENBQUMsU0FBUyxLQUFLLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO1FBRS9FLENBQUMsQ0FBQyxXQUFXO1lBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUM7WUFDakUsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsQ0FDbEU7YUFDRSxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxDQUFDLEtBQTBCLEVBQUUsRUFBRTtZQUN2QyxPQUFPLGlCQUFpQjtnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQ25DLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQ2hDLEtBQUssQ0FBQyxPQUFPLEVBQ2IsS0FBSyxDQUFDLEdBQUcsRUFDVCxXQUFXLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FDakM7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxJQUFnQztRQUMxRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsYUFBYSxDQUFDO1lBQ1osSUFBSSxDQUFDLG1CQUFtQixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDNUQsSUFBSSxDQUFDLG9CQUFvQjtnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDNUYsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDYixDQUFDO2FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTyxXQUFXLENBQUMsSUFBeUI7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sZUFBZSxDQUNyQixZQUFtQztRQUVuQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFnQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzdELEdBQUcsV0FBVztZQUNkLG1CQUFtQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQ2hELGdCQUFnQixXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ3JEO1lBQ0Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FDakQsd0JBQXdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDM0U7U0FDRixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxTQUF1QztRQUNsRSxRQUFRLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLEtBQUssNEJBQTRCLENBQUMsc0JBQXNCO2dCQUN0RCxPQUFPLHdCQUF3QixDQUFDO1lBQ2xDLEtBQUssNEJBQTRCLENBQUMscUJBQXFCO2dCQUNyRCxPQUFPLHVCQUF1QixDQUFDO1lBQ2pDO2dCQUNFLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDOytHQTlLVSxtQ0FBbUM7bUdBQW5DLG1DQUFtQyxpR0M5RGhELHNnRkFxRUEsMkNEaEJJLFlBQVksOFZBQ1osZUFBZSwyRkFDZixnQkFBZ0IsdzFCQUNoQixZQUFZLGdNQUNaLFVBQVUsNk5BQ1Ysd0NBQXdDLDJLQUN4Qyx1QkFBdUI7OzRGQUdkLG1DQUFtQztrQkFmL0MsU0FBUzsrQkFDRSx1Q0FBdUMsbUJBRWhDLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osVUFBVTt3QkFDVix3Q0FBd0M7d0JBQ3hDLHVCQUF1QjtxQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGlvbkl0ZW0sXG4gIENhcmJvbkxpc3RNb2R1bGUsXG4gIENvbHVtbkNvbmZpZyxcbiAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gIFZpZXdUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1xuICBUYXNrTGlzdFNlYXJjaERyb3Bkb3duVmFsdWUsXG4gIFRhc2tMaXN0U2VhcmNoRmllbGQsXG4gIFRhc2tMaXN0U2VhcmNoRmllbGRGaWVsZFR5cGUsXG59IGZyb20gJ0B2YWx0aW1vL3Rhc2snO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIEljb25Nb2R1bGV9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7VGFza01hbmFnZW1lbnRTZWFyY2hGaWVsZHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1Rhc2tNYW5hZ2VtZW50U2VhcmNoRmllbGRzTW9kYWxDb21wb25lbnR9IGZyb20gJy4uL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsL3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMnLFxuICB0ZW1wbGF0ZVVybDogJ3Rhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgVGFza01hbmFnZW1lbnRTZWFyY2hGaWVsZHNNb2RhbENvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFza01hbmFnZW1lbnRTZWFyY2hGaWVsZHNDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWZpbml0aW9uTmFtZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMucm91dGUucGFyYW1zLnBpcGUoXG4gICAgbWFwKHBhcmFtcyA9PiBwYXJhbXMubmFtZSB8fCAnJyksXG4gICAgZmlsdGVyKGRvY0RlZk5hbWUgPT4gISFkb2NEZWZOYW1lKSxcbiAgICB0YXAoKGRvY0RlZk5hbWU6IHN0cmluZykgPT4gdGhpcy5zZWFyY2hGaWVsZHNTZXJ2aWNlLnNldERvY3VtZW50RGVmaW5pdGlvbk5hbWUoZG9jRGVmTmFtZSkpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVmcmVzaCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bGw+KG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWFyY2hGaWVsZHMkOiBPYnNlcnZhYmxlPFRhc2tMaXN0U2VhcmNoRmllbGRbXT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUkLFxuICAgIHRoaXMuX3JlZnJlc2gkLFxuICAgIHRoaXMudHJhc25sYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2UuZ2V0VGFza0xpc3RTZWFyY2hGaWVsZHMoKSksXG4gICAgbWFwKChzZWFyY2hGaWVsZHM6IFRhc2tMaXN0U2VhcmNoRmllbGRbXSkgPT4gdGhpcy5tYXBUcmFuc2xhdGlvbnMoc2VhcmNoRmllbGRzKSlcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZmllbGRzJDogT2JzZXJ2YWJsZTxDb2x1bW5Db25maWdbXT4gPSB0aGlzLnRyYXNubGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKS5waXBlKFxuICAgIG1hcCgoKSA9PiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ3RpdGxlJyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy50aXRsZScsXG4gICAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAna2V5JyxcbiAgICAgICAgbGFiZWw6ICdzZWFyY2hGaWVsZHNPdmVydmlldy5rZXknLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ3BhdGgnLFxuICAgICAgICBsYWJlbDogJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LnBhdGgnLFxuICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGtleTogJ2RhdGFUeXBlVHJhbnNsYXRpb24nLFxuICAgICAgICBsYWJlbDogJ3NlYXJjaEZpZWxkc092ZXJ2aWV3LmRhdGFUeXBlJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdmaWVsZFR5cGVUcmFuc2xhdGlvbicsXG4gICAgICAgIGxhYmVsOiAnc2VhcmNoRmllbGRzT3ZlcnZpZXcuZmllbGRUeXBlJyxcbiAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICB9LFxuICAgIF0pXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZU1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGZpZWxkTW9kYWxPcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlbVRvRGVsZXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJlZmlsbERhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IEFDVElPTl9JVEVNUzogQWN0aW9uSXRlbVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmVkaXQnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZWRpdEZpZWxkLmJpbmQodGhpcyksXG4gICAgICB0eXBlOiAnbm9ybWFsJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmRlbGV0ZScsXG4gICAgICBjYWxsYmFjazogdGhpcy5kZWxldGVGaWVsZC5iaW5kKHRoaXMpLFxuICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgfSxcbiAgXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VhcmNoRmllbGRzU2VydmljZTogVGFza01hbmFnZW1lbnRTZWFyY2hGaWVsZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhc25sYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGVkaXRGaWVsZChpdGVtOiBUYXNrTGlzdFNlYXJjaEZpZWxkKTogdm9pZCB7XG4gICAgaWYgKCEhaXRlbS5kcm9wZG93bkRhdGFQcm92aWRlcikge1xuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2VcbiAgICAgICAgLmdldERyb3Bkb3duRGF0YShpdGVtLmRyb3Bkb3duRGF0YVByb3ZpZGVyLCBpdGVtLm93bmVySWQsIGl0ZW0ua2V5KVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKGRyb3Bkb3duVmFsdWVzID0+IHtcbiAgICAgICAgICBpdGVtLmRyb3Bkb3duVmFsdWVzID0gZHJvcGRvd25WYWx1ZXMgYXMgVGFza0xpc3RTZWFyY2hEcm9wZG93blZhbHVlO1xuICAgICAgICAgIHRoaXMucHJlZmlsbERhdGEkLm5leHQoaXRlbSk7XG4gICAgICAgICAgdGhpcy5maWVsZE1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wcmVmaWxsRGF0YSQubmV4dChpdGVtKTtcbiAgICB0aGlzLmZpZWxkTW9kYWxPcGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uSXRlbXNSZW9yZGVyZWQoZXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2VcbiAgICAgIC5vcmRlclRhc2tMaXN0U2VhcmNoRmllbGRzKGV2ZW50KVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVmcmVzaCQubmV4dChudWxsKSk7XG4gIH1cblxuICBwdWJsaWMgb25BZGRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmZpZWxkTW9kYWxPcGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VFdmVudChcbiAgICBzZWFyY2hGaWVsZDogVGFza0xpc3RTZWFyY2hGaWVsZCB8IG51bGwsXG4gICAgcHJlZmlsbERhdGE6IFRhc2tMaXN0U2VhcmNoRmllbGQgfCBudWxsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuZmllbGRNb2RhbE9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMucHJlZmlsbERhdGEkLm5leHQobnVsbCk7XG4gICAgaWYgKCFzZWFyY2hGaWVsZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgaGFzRHJvcGRvd25WYWx1ZXM6IGJvb2xlYW4gPVxuICAgICAgc2VhcmNoRmllbGQuZmllbGRUeXBlID09PSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLlNJTkdMRV9TRUxFQ1RfRFJPUERPV04gfHxcbiAgICAgIHNlYXJjaEZpZWxkLmZpZWxkVHlwZSA9PT0gVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5NVUxUSV9TRUxFQ1RfRFJPUERPV047XG5cbiAgICAoIXByZWZpbGxEYXRhXG4gICAgICA/IHRoaXMuc2VhcmNoRmllbGRzU2VydmljZS5jcmVhdGVUYXNrTGlzdFNlYXJjaEZpZWxkKHNlYXJjaEZpZWxkKVxuICAgICAgOiB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2UudXBkYXRlVGFza0xpc3RTZWFyY2hGaWVsZChzZWFyY2hGaWVsZClcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKChmaWVsZDogVGFza0xpc3RTZWFyY2hGaWVsZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBoYXNEcm9wZG93blZhbHVlc1xuICAgICAgICAgICAgPyB0aGlzLmRvY3VtZW50U2VydmljZS5wb3N0RHJvcGRvd25EYXRhKFxuICAgICAgICAgICAgICAgIGZpZWxkLmRyb3Bkb3duRGF0YVByb3ZpZGVyID8/ICcnLFxuICAgICAgICAgICAgICAgIGZpZWxkLm93bmVySWQsXG4gICAgICAgICAgICAgICAgZmllbGQua2V5LFxuICAgICAgICAgICAgICAgIHNlYXJjaEZpZWxkLmRyb3Bkb3duVmFsdWVzID8/IHt9XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YoZmllbGQpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZWZyZXNoJC5uZXh0KG51bGwpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlbGV0ZUZpZWxkQ29uZmlybShpdGVtOiBUYXNrTGlzdFNlYXJjaEZpZWxkIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnNlYXJjaEZpZWxkc1NlcnZpY2UuZGVsZXRlVGFza0xpc3RTZWFyY2hGaWVsZChpdGVtLmtleSksXG4gICAgICBpdGVtLmRyb3Bkb3duRGF0YVByb3ZpZGVyXG4gICAgICAgID8gdGhpcy5kb2N1bWVudFNlcnZpY2UuZGVsZXRlRHJvcGRvd25EYXRhKGl0ZW0uZHJvcGRvd25EYXRhUHJvdmlkZXIsIGl0ZW0ub3duZXJJZCwgaXRlbS5rZXkpXG4gICAgICAgIDogb2YobnVsbCksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3JlZnJlc2gkLm5leHQobnVsbCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVGaWVsZChpdGVtOiBUYXNrTGlzdFNlYXJjaEZpZWxkKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtVG9EZWxldGUkLm5leHQoaXRlbSk7XG4gICAgdGhpcy5kZWxldGVNb2RhbE9wZW4kLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIG1hcFRyYW5zbGF0aW9ucyhcbiAgICBzZWFyY2hGaWVsZHM6IFRhc2tMaXN0U2VhcmNoRmllbGRbXVxuICApOiAoVGFza0xpc3RTZWFyY2hGaWVsZCAmIHtkYXRhVHlwZVRyYW5zbGF0aW9uOiBzdHJpbmc7IGZpZWxkVHlwZVRyYW5zbGF0aW9uOiBzdHJpbmd9KVtdIHtcbiAgICByZXR1cm4gc2VhcmNoRmllbGRzLm1hcCgoc2VhcmNoRmllbGQ6IFRhc2tMaXN0U2VhcmNoRmllbGQpID0+ICh7XG4gICAgICAuLi5zZWFyY2hGaWVsZCxcbiAgICAgIGRhdGFUeXBlVHJhbnNsYXRpb246IHRoaXMudHJhc25sYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBgc2VhcmNoRmllbGRzLiR7c2VhcmNoRmllbGQuZGF0YVR5cGUudG9Mb3dlckNhc2UoKX1gXG4gICAgICApLFxuICAgICAgZmllbGRUeXBlVHJhbnNsYXRpb246IHRoaXMudHJhc25sYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBgc2VhcmNoRmllbGRzT3ZlcnZpZXcuJHt0aGlzLmZpZWxkVHlwZVRyYW5zbGF0aW9uKHNlYXJjaEZpZWxkLmZpZWxkVHlwZSl9YFxuICAgICAgKSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGZpZWxkVHlwZVRyYW5zbGF0aW9uKGZpZWxkVHlwZTogVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICAgIGNhc2UgVGFza0xpc3RTZWFyY2hGaWVsZEZpZWxkVHlwZS5TSU5HTEVfU0VMRUNUX0RST1BET1dOOlxuICAgICAgICByZXR1cm4gJ3NpbmdsZS1zZWxlY3QtZHJvcGRvd24nO1xuICAgICAgY2FzZSBUYXNrTGlzdFNlYXJjaEZpZWxkRmllbGRUeXBlLk1VTFRJX1NFTEVDVF9EUk9QRE9XTjpcbiAgICAgICAgcmV0dXJuICdtdWx0aS1zZWxlY3QtZHJvcGRvd24nO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZpZWxkVHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIGZpZWxkTW9kYWxPcGVuOiBmaWVsZE1vZGFsT3BlbiQgfCBhc3luYyxcbiAgICBmaWVsZHM6IGZpZWxkcyQgfCBhc3luYyxcbiAgICBpdGVtVG9EZWxldGU6IGl0ZW1Ub0RlbGV0ZSQgfCBhc3luYyxcbiAgICBwcmVmaWxsRGF0YTogcHJlZmlsbERhdGEkIHwgYXN5bmMsXG4gICAgc2VhcmNoRmllbGRzOiBzZWFyY2hGaWVsZHMkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIlxuPlxuICA8dmFsdGltby1jYXJib24tbGlzdFxuICAgIFthY3Rpb25JdGVtc109XCJBQ1RJT05fSVRFTVNcIlxuICAgIFtmaWVsZHNdPVwib2JzLmZpZWxkc1wiXG4gICAgW2l0ZW1zXT1cIm9icy5zZWFyY2hGaWVsZHNcIlxuICAgIFtkcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgICAoaXRlbXNSZW9yZGVyZWQpPVwib25JdGVtc1Jlb3JkZXJlZCgkZXZlbnQpXCJcbiAgICAocm93Q2xpY2tlZCk9XCJlZGl0RmllbGQoJGV2ZW50KVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyIGNhcmJvblRvb2xiYXJDb250ZW50PlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhZGRCdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAgIFthY3Rpb25dPVwiYWRkQnV0dG9uXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInc2VhcmNoRmllbGRzT3ZlcnZpZXcubm9TZWFyY2hmaWVsZHNEZXNjcmlwdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgW3RpdGxlXT1cIidzZWFyY2hGaWVsZHNPdmVydmlldy5ub1NlYXJjaGZpZWxkc1RpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L3ZhbHRpbW8tY2FyYm9uLWxpc3Q+XG5cbiAgPHZhbHRpbW8tdGFzay1tYW5hZ2VtZW50LXNlYXJjaC1maWVsZHMtbW9kYWxcbiAgICBbZG9jdW1lbnREZWZpbml0aW9uTmFtZV09XCJkb2N1bWVudERlZmluaXRpb25OYW1lJCB8IGFzeW5jXCJcbiAgICBbb3Blbl09XCJvYnMuZmllbGRNb2RhbE9wZW5cIlxuICAgIFtwcmVmaWxsRGF0YV09XCJvYnMucHJlZmlsbERhdGFcIlxuICAgIChjbG9zZUV2ZW50KT1cIm9uQ2xvc2VFdmVudCgkZXZlbnQsIG9icy5wcmVmaWxsRGF0YSlcIlxuICA+PC92YWx0aW1vLXRhc2stbWFuYWdlbWVudC1zZWFyY2gtZmllbGRzLW1vZGFsPlxuXG4gIDx2YWx0aW1vLWNvbmZpcm1hdGlvbi1tb2RhbFxuICAgIGNvbmZpcm1CdXR0b25UZXh0VHJhbnNsYXRpb25LZXk9XCJpbnRlcmZhY2UuZGVsZXRlXCJcbiAgICBjb25maXJtQnV0dG9uVHlwZT1cImRhbmdlclwiXG4gICAgY29udGVudFRyYW5zbGF0aW9uS2V5PVwic2VhcmNoRmllbGRzT3ZlcnZpZXcuZGVsZXRlU2VhcmNoRmllbGRDb25maXJtYXRpb25cIlxuICAgIFtvdXRwdXRPbkNvbmZpcm1dPVwib2JzLml0ZW1Ub0RlbGV0ZVwiXG4gICAgW3Nob3dNb2RhbFN1YmplY3QkXT1cImRlbGV0ZU1vZGFsT3BlbiRcIlxuICAgIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJzZWFyY2hGaWVsZHNPdmVydmlldy5kZWxldGVTZWFyY2hGaWVsZFwiXG4gICAgKGNvbmZpcm1FdmVudCk9XCJvbkRlbGV0ZUZpZWxkQ29uZmlybSgkZXZlbnQpXCJcbiAgPjwvdmFsdGltby1jb25maXJtYXRpb24tbW9kYWw+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNhZGRCdXR0b24+XG4gIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFkZEJ1dHRvbkNsaWNrKClcIj5cbiAgICA8c3ZnIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIiBjbGFzcz1cImNkcy0tYnRuX19pY29uXCI+PC9zdmc+XG5cbiAgICB7eyAnc2VhcmNoRmllbGRzT3ZlcnZpZXcuYWRkJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=