@alfresco/adf-process-services 8.1.0-14701637708 → 8.1.0-14714093103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/app-list/apps-list.component.mjs +4 -4
- package/esm2022/lib/app-list/select-apps-dialog/select-apps-dialog.component.mjs +4 -4
- package/esm2022/lib/attachment/create-process-attachment/create-process-attachment.component.mjs +4 -4
- package/esm2022/lib/attachment/create-task-attachment/create-task-attachment.component.mjs +4 -4
- package/esm2022/lib/attachment/process-attachment-list/process-attachment-list.component.mjs +4 -4
- package/esm2022/lib/attachment/task-attachment-list/task-attachment-list.component.mjs +4 -4
- package/esm2022/lib/form/form-custom-outcomes.component.mjs +4 -4
- package/esm2022/lib/form/form-list/form-list.component.mjs +4 -4
- package/esm2022/lib/form/form.component.mjs +4 -4
- package/esm2022/lib/form/process-form-rendering.service.mjs +4 -4
- package/esm2022/lib/form/services/activiti-alfresco.service.mjs +4 -4
- package/esm2022/lib/form/services/ecm-model.service.mjs +4 -4
- package/esm2022/lib/form/services/editor.service.mjs +4 -4
- package/esm2022/lib/form/services/external-alfresco-api.service.mjs +4 -4
- package/esm2022/lib/form/services/model.service.mjs +4 -4
- package/esm2022/lib/form/services/process-content.service.mjs +4 -4
- package/esm2022/lib/form/services/process-definition.service.mjs +4 -4
- package/esm2022/lib/form/services/task-form.service.mjs +4 -4
- package/esm2022/lib/form/services/task.service.mjs +4 -4
- package/esm2022/lib/form/start-form/start-form.component.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.component.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget-dialog.service.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-file-widget.component.mjs +4 -4
- package/esm2022/lib/form/widgets/content-widget/attach-folder-widget.component.mjs +4 -4
- package/esm2022/lib/form/widgets/document/content.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/document/document.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/dropdown/dropdown.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/dynamic-table.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/amount/amount.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/boolean/boolean.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/date/date.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/datetime/datetime.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/dropdown/dropdown.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/row-editor/row.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/dynamic-table/editors/text/text.editor.mjs +4 -4
- package/esm2022/lib/form/widgets/file-viewer/file-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/functional-group/functional-group.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/people/people.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/radio-buttons/radio-buttons.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/typeahead/typeahead.widget.mjs +4 -4
- package/esm2022/lib/form/widgets/upload/upload.widget.mjs +4 -4
- package/esm2022/lib/people/components/people/people.component.mjs +4 -4
- package/esm2022/lib/people/components/people-list/people-list.component.mjs +4 -4
- package/esm2022/lib/people/components/people-search/people-search.component.mjs +4 -4
- package/esm2022/lib/people/components/people-search-field/people-search-field.component.mjs +4 -4
- package/esm2022/lib/people/components/people-selector/people-selector.component.mjs +4 -4
- package/esm2022/lib/process-comments/process-comments.component.mjs +4 -4
- package/esm2022/lib/process-comments/services/comment-process.service.mjs +4 -4
- package/esm2022/lib/process-list/components/process-audit/process-audit.directive.mjs +4 -4
- package/esm2022/lib/process-list/components/process-filters/process-filters.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-instance-details/process-instance-details.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-instance-header/process-instance-header.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-instance-tasks/process-instance-tasks.component.mjs +4 -4
- package/esm2022/lib/process-list/components/process-list/process-list.component.mjs +4 -4
- package/esm2022/lib/process-list/components/start-process/start-process.component.mjs +5 -5
- package/esm2022/lib/process-list/services/process-filter.service.mjs +4 -4
- package/esm2022/lib/process-list/services/process.service.mjs +4 -4
- package/esm2022/lib/process.module.mjs +5 -5
- package/esm2022/lib/services/apps-process.service.mjs +4 -4
- package/esm2022/lib/services/people-process.service.mjs +4 -4
- package/esm2022/lib/services/task-comments.service.mjs +4 -4
- package/esm2022/lib/task-comments/task-comments.component.mjs +4 -4
- package/esm2022/lib/task-list/components/attach-form/attach-form.component.mjs +4 -4
- package/esm2022/lib/task-list/components/checklist/checklist.component.mjs +4 -4
- package/esm2022/lib/task-list/components/start-task/start-task.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-details/task-details.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-filters/task-filters.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-form/claim-task.directive.mjs +4 -4
- package/esm2022/lib/task-list/components/task-form/task-form.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-form/unclaim-task.directive.mjs +4 -4
- package/esm2022/lib/task-list/components/task-header/task-header.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-list/task-list.component.mjs +4 -4
- package/esm2022/lib/task-list/components/task-standalone/task-standalone.component.mjs +4 -4
- package/esm2022/lib/task-list/services/process-upload.service.mjs +4 -4
- package/esm2022/lib/task-list/services/task-filter.service.mjs +4 -4
- package/esm2022/lib/task-list/services/task-upload.service.mjs +4 -4
- package/esm2022/lib/task-list/services/tasklist.service.mjs +4 -4
- package/fesm2022/adf-process-services.mjs +237 -237
- package/fesm2022/adf-process-services.mjs.map +1 -1
- package/lib/app-list/apps-list.component.scss +51 -23
- package/lib/attachment/process-attachment-list/process-attachment-list.component.scss +2 -2
- package/lib/attachment/task-attachment-list/task-attachment-list.component.scss +3 -3
- package/lib/form/start-form/start-form.component.scss +59 -60
- package/lib/form/widgets/content-widget/attach-file-widget-dialog.component.scss +3 -4
- package/lib/form/widgets/content-widget/attach-folder-widget.component.scss +3 -3
- package/lib/form/widgets/dropdown/dropdown.widget.scss +2 -2
- package/lib/form/widgets/people/people.widget.scss +2 -2
- package/lib/form/widgets/upload/upload.widget.scss +2 -2
- package/lib/people/components/people/people.component.scss +2 -2
- package/lib/process-list/components/start-process/start-process.component.scss +12 -12
- package/lib/styles/flex.scss +81 -0
- package/lib/styles/mat-selectors.scss +25 -0
- package/lib/task-list/components/attach-form/attach-form.component.scss +2 -2
- package/lib/task-list/components/checklist/checklist.component.scss +2 -2
- package/lib/task-list/components/start-task/start-task.component.scss +11 -11
- package/lib/task-list/components/task-details/task-details.component.scss +5 -5
- package/lib/task-list/components/task-form/task-form.component.scss +3 -3
- package/lib/task-list/components/task-header/task-header.component.scss +2 -2
- package/lib/task-list/components/task-standalone/task-standalone.component.scss +2 -2
- package/package.json +4 -4
|
@@ -135,10 +135,10 @@ export class FunctionalGroupWidgetComponent extends WidgetComponent {
|
|
|
135
135
|
isGroupAlreadySelected(group) {
|
|
136
136
|
return this.selectedGroups?.some((selectedGroup) => selectedGroup.id === group.id);
|
|
137
137
|
}
|
|
138
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
139
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
138
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FunctionalGroupWidgetComponent, deps: [{ token: i1.PeopleProcessService }, { token: i2.FormService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
139
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: FunctionalGroupWidgetComponent, isStandalone: true, selector: "functional-group-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["inputValue"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-group-widget {{field.className}}\"\n [class.is-dirty]=\"!!field.value\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n id=\"functional-group-div\"\n>\n <label class=\"adf-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n <mat-form-field appearance=\"outline\" class=\"adf-group-widget-field\">\n <mat-chip-grid #chipGrid>\n <mat-chip-row\n *ngFor=\"let group of selectedGroups\"\n (removed)=\"onRemove(group)\"\n [disabled]=\"field.readOnly\"\n [attr.data-automation-id]=\"'adf-group-widget-chip-' + group.id\"\n class=\"adf-group-widget-field-chip\"\n >\n {{ getDisplayName(group) }}\n <button matChipRemove [attr.aria-label]=\"'remove ' + group.name\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-chip-row>\n <input\n matInput\n class=\"adf-input\"\n type=\"text\"\n data-automation-id=\"adf-group-search-input\"\n [matChipInputFor]=\"chipGrid\"\n [id]=\"field.id\"\n [formControl]=\"searchTerm\"\n [disabled]=\"!multiSelect && selectedGroups.length > 0 || field.readOnly\"\n [placeholder]=\"field.placeholder\"\n (blur)=\"markAsTouched()\"\n [matAutocomplete]=\"auto\"\n #inputValue\n />\n </mat-chip-grid>\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"updateOption($event.option.value)\" [displayWith]=\"getDisplayName\">\n <mat-option\n *ngFor=\"let item of groups$ | async; let i = index\"\n id=\"adf-group-widget-user-{{i}}\"\n [id]=\"field.id +'-'+item.id\"\n [value]=\"item\"\n [disabled]=\"isGroupAlreadySelected(item)\"\n >\n <span id=\"adf-group-label-name\">{{item.name}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired() && isTouched()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-group-widget{width:100%}.adf-group-widget .adf-group-widget-field .adf-group-widget-field-chip{border:1px solid var(--adf-chip-border-color);border-radius:10px;background-color:var(--theme-primary-color-default-contrast);height:auto;word-break:break-word;padding:4px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i10.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i10.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i10.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i10.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: FunctionalGroupWidgetComponent, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{ selector: 'functional-group-widget', standalone: true, imports: [
|
|
144
144
|
CommonModule,
|
|
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
165
165
|
type: ViewChild,
|
|
166
166
|
args: ['inputValue', { static: true }]
|
|
167
167
|
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25hbC1ncm91cC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vd2lkZ2V0cy9mdW5jdGlvbmFsLWdyb3VwL2Z1bmN0aW9uYWwtZ3JvdXAud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvZnVuY3Rpb25hbC1ncm91cC9mdW5jdGlvbmFsLWdyb3VwLndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBYyxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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SSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7K0dBM0dRLDhCQUE4QjttR0FBOUIsOEJBQThCLHdlQzlEM0MseTlFQXNEQSw2VURqQlEsWUFBWSxvVEFDWixrQkFBa0IseU9BQ2xCLGVBQWUsMkZBQ2YsY0FBYywwV0FDZCxtQkFBbUIseWtCQUNuQixxQkFBcUIseTFCQUNyQixvQkFBb0IsdUZBQ3BCLGNBQWMsZ3ZCQUNkLGFBQWE7OzRGQWlCUiw4QkFBOEI7a0JBN0IxQyxTQUFTOytCQUNJLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGFBQWE7cUJBQ2hCLFFBR0s7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSTs0SUF5QnJDLEtBQUs7c0JBREosU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFcnJvcldpZGdldENvbXBvbmVudCwgRm9ybVNlcnZpY2UsIEdyb3VwTW9kZWwsIFdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1lcmdlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVvcGxlUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZW9wbGUtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZnVuY3Rpb25hbC1ncm91cC13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBFcnJvcldpZGdldENvbXBvbmVudCxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdW5jdGlvbmFsLWdyb3VwLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mdW5jdGlvbmFsLWdyb3VwLndpZGdldC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGludmFsaWQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKHNlbGVjdCknOiAnZXZlbnQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25hbEdyb3VwV2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBtaW5UZXJtTGVuZ3RoOiBudW1iZXIgPSAxO1xuICAgIGdyb3VwSWQ6IHN0cmluZztcbiAgICBzZWFyY2hUZXJtID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIGdyb3VwcyQgPSBtZXJnZSh0aGlzLnNlYXJjaFRlcm0udmFsdWVDaGFuZ2VzKS5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKHNlYXJjaDogR3JvdXBNb2RlbCB8IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IHR5cGVvZiBzZWFyY2ggIT09ICdzdHJpbmcnO1xuICAgICAgICAgICAgY29uc3QgZW1wdHkgPSBzZWFyY2ggPT09ICcnO1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUdyb3VwKGlzVmFsaWQsIGVtcHR5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2VhcmNoVGVybSAhPT0gJ3N0cmluZycgfHwgc2VhcmNoVGVybS5sZW5ndGggPCB0aGlzLm1pblRlcm1MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVvcGxlUHJvY2Vzc1NlcnZpY2UuZ2V0V29ya2Zsb3dHcm91cHMoc2VhcmNoVGVybSwgdGhpcy5ncm91cElkKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICBzZWxlY3RlZEdyb3VwczogR3JvdXBNb2RlbFtdID0gW107XG4gICAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBlb3BsZVByb2Nlc3NTZXJ2aWNlOiBQZW9wbGVQcm9jZXNzU2VydmljZSwgcHVibGljIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQudmFsdWUpID8gdGhpcy5zZWxlY3RlZEdyb3Vwcy5wdXNoKC4uLnRoaXMuZmllbGQudmFsdWUpIDogdGhpcy5zZWxlY3RlZEdyb3Vwcy5wdXNoKHRoaXMuZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQucmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0uZGlzYWJsZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmZpZWxkLnBhcmFtcztcbiAgICAgICAgICAgIGlmIChwYXJhbXM/LnJlc3RyaWN0V2l0aEdyb3VwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdHJpY3RXaXRoR3JvdXAgPSBwYXJhbXMucmVzdHJpY3RXaXRoR3JvdXA7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cElkID0gcmVzdHJpY3RXaXRoR3JvdXAuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyYW1zPy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3QgPSBwYXJhbXMubXVsdGlwbGU7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRHcm91cHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlPy5uYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtLnNldFZhbHVlKHRoaXMuZmllbGQudmFsdWUubmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPcHRpb24ob3B0aW9uPzogR3JvdXBNb2RlbCkge1xuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0dyb3VwQWxyZWFkeVNlbGVjdGVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRHcm91cHM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG9wdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMucHVzaChvcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0uc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGVHcm91cCh2YWxpZDogYm9vbGVhbiwgZW1wdHk6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgaXNFbXB0eSA9ICF0aGlzLmZpZWxkLnJlcXVpcmVkICYmIChlbXB0eSB8fCB2YWxpZCk7XG4gICAgICAgIGNvbnN0IGhhc1ZhbHVlID0gdGhpcy5maWVsZC5yZXF1aXJlZCAmJiB2YWxpZDtcblxuICAgICAgICBpZiAoaGFzVmFsdWUgfHwgaXNFbXB0eSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbGlkYXRlKCk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmZvcm0udmFsaWRhdGVGb3JtKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9WQUxVRSc7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLm1hcmtBc0ludmFsaWQoKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuZm9ybS5tYXJrQXNJbnZhbGlkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREaXNwbGF5TmFtZShtb2RlbDogR3JvdXBNb2RlbCB8IHN0cmluZykge1xuICAgICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgbW9kZWwgPT09ICdzdHJpbmcnID8gbW9kZWwgOiBtb2RlbC5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBvblJlbW92ZShncm91cDogR3JvdXBNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuaW5kZXhPZihncm91cCk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdGhpcy5zZWxlY3RlZEdyb3VwcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzR3JvdXBBbHJlYWR5U2VsZWN0ZWQoZ3JvdXA6IEdyb3VwTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cHM/LnNvbWUoKHNlbGVjdGVkR3JvdXApID0+IHNlbGVjdGVkR3JvdXAuaWQgPT09IGdyb3VwLmlkKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhZGYtZ3JvdXAtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgIFtjbGFzcy5pcy1kaXJ0eV09XCIhIWZpZWxkLnZhbHVlXCJcbiAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWQgJiYgaXNUb3VjaGVkKClcIlxuICAgIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIlxuICAgIGlkPVwiZnVuY3Rpb25hbC1ncm91cC1kaXZcIlxuPlxuICAgIDxsYWJlbCBjbGFzcz1cImFkZi1sYWJlbFwiIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiXG4gICAgICAgID57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsXG4gICAgPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiYWRmLWdyb3VwLXdpZGdldC1maWVsZFwiPlxuICAgICAgICA8bWF0LWNoaXAtZ3JpZCAjY2hpcEdyaWQ+XG4gICAgICAgICAgICA8bWF0LWNoaXAtcm93XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHNlbGVjdGVkR3JvdXBzXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJvblJlbW92ZShncm91cClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtZ3JvdXAtd2lkZ2V0LWNoaXAtJyArIGdyb3VwLmlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1ncm91cC13aWRnZXQtZmllbGQtY2hpcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0RGlzcGxheU5hbWUoZ3JvdXApIH19XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3JlbW92ZSAnICsgZ3JvdXAubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWdyb3VwLXNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFtdWx0aVNlbGVjdCAmJiBzZWxlY3RlZEdyb3Vwcy5sZW5ndGggPiAwIHx8IGZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm1hcmtBc1RvdWNoZWQoKVwiXG4gICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgICAgICAjaW5wdXRWYWx1ZVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJ1cGRhdGVPcHRpb24oJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIiBbZGlzcGxheVdpdGhdPVwiZ2V0RGlzcGxheU5hbWVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBpZD1cImFkZi1ncm91cC13aWRnZXQtdXNlci17e2l9fVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkICsnLScraXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0dyb3VwQWxyZWFkeVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImFkZi1ncm91cC1sYWJlbC1uYW1lXCI+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuICAgIDxlcnJvci13aWRnZXQgKm5nSWY9XCJpc0ludmFsaWRGaWVsZFJlcXVpcmVkKCkgJiYgaXNUb3VjaGVkKClcIiByZXF1aXJlZD1cInt7ICdGT1JNLkZJRUxELlJFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25hbC1ncm91cC53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vd2lkZ2V0cy9mdW5jdGlvbmFsLWdyb3VwL2Z1bmN0aW9uYWwtZ3JvdXAud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvZnVuY3Rpb25hbC1ncm91cC9mdW5jdGlvbmFsLWdyb3VwLndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBYyxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0s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SSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQWlCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7OEdBM0dRLDhCQUE4QjtrR0FBOUIsOEJBQThCLHdlQzlEM0MseTlFQXNEQSw2VURqQlEsWUFBWSxvVEFDWixrQkFBa0IseU9BQ2xCLGVBQWUsMkZBQ2YsY0FBYywwV0FDZCxtQkFBbUIseWtCQUNuQixxQkFBcUIseTFCQUNyQixvQkFBb0IsdUZBQ3BCLGNBQWMsZ3ZCQUNkLGFBQWE7OzJGQWlCUiw4QkFBOEI7a0JBN0IxQyxTQUFTOytCQUNJLHlCQUF5QixjQUN2QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGFBQWE7cUJBQ2hCLFFBR0s7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSTs0SUF5QnJDLEtBQUs7c0JBREosU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFcnJvcldpZGdldENvbXBvbmVudCwgRm9ybVNlcnZpY2UsIEdyb3VwTW9kZWwsIFdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IG1lcmdlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVvcGxlUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZW9wbGUtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZnVuY3Rpb25hbC1ncm91cC13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBFcnJvcldpZGdldENvbXBvbmVudCxcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGVcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mdW5jdGlvbmFsLWdyb3VwLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mdW5jdGlvbmFsLWdyb3VwLndpZGdldC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGludmFsaWQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKHNlbGVjdCknOiAnZXZlbnQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25hbEdyb3VwV2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBtaW5UZXJtTGVuZ3RoOiBudW1iZXIgPSAxO1xuICAgIGdyb3VwSWQ6IHN0cmluZztcbiAgICBzZWFyY2hUZXJtID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIGdyb3VwcyQgPSBtZXJnZSh0aGlzLnNlYXJjaFRlcm0udmFsdWVDaGFuZ2VzKS5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YXAoKHNlYXJjaDogR3JvdXBNb2RlbCB8IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IHR5cGVvZiBzZWFyY2ggIT09ICdzdHJpbmcnO1xuICAgICAgICAgICAgY29uc3QgZW1wdHkgPSBzZWFyY2ggPT09ICcnO1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUdyb3VwKGlzVmFsaWQsIGVtcHR5KTtcbiAgICAgICAgfSksXG4gICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm0pID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc2VhcmNoVGVybSAhPT0gJ3N0cmluZycgfHwgc2VhcmNoVGVybS5sZW5ndGggPCB0aGlzLm1pblRlcm1MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVvcGxlUHJvY2Vzc1NlcnZpY2UuZ2V0V29ya2Zsb3dHcm91cHMoc2VhcmNoVGVybSwgdGhpcy5ncm91cElkKS5waXBlKGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgICBzZWxlY3RlZEdyb3VwczogR3JvdXBNb2RlbFtdID0gW107XG4gICAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHBlb3BsZVByb2Nlc3NTZXJ2aWNlOiBQZW9wbGVQcm9jZXNzU2VydmljZSwgcHVibGljIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQudmFsdWUpID8gdGhpcy5zZWxlY3RlZEdyb3Vwcy5wdXNoKC4uLnRoaXMuZmllbGQudmFsdWUpIDogdGhpcy5zZWxlY3RlZEdyb3Vwcy5wdXNoKHRoaXMuZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQucmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0uZGlzYWJsZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLmZpZWxkLnBhcmFtcztcbiAgICAgICAgICAgIGlmIChwYXJhbXM/LnJlc3RyaWN0V2l0aEdyb3VwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdHJpY3RXaXRoR3JvdXAgPSBwYXJhbXMucmVzdHJpY3RXaXRoR3JvdXA7XG4gICAgICAgICAgICAgICAgdGhpcy5ncm91cElkID0gcmVzdHJpY3RXaXRoR3JvdXAuaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyYW1zPy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3QgPSBwYXJhbXMubXVsdGlwbGU7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRHcm91cHM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlPy5uYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hUZXJtLnNldFZhbHVlKHRoaXMuZmllbGQudmFsdWUubmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVPcHRpb24ob3B0aW9uPzogR3JvdXBNb2RlbCkge1xuICAgICAgICBpZiAob3B0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aVNlbGVjdCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0dyb3VwQWxyZWFkeVNlbGVjdGVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMuc2VsZWN0ZWRHcm91cHM7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG9wdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cHMucHVzaChvcHRpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0uc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGVHcm91cCh2YWxpZDogYm9vbGVhbiwgZW1wdHk6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgaXNFbXB0eSA9ICF0aGlzLmZpZWxkLnJlcXVpcmVkICYmIChlbXB0eSB8fCB2YWxpZCk7XG4gICAgICAgIGNvbnN0IGhhc1ZhbHVlID0gdGhpcy5maWVsZC5yZXF1aXJlZCAmJiB2YWxpZDtcblxuICAgICAgICBpZiAoaGFzVmFsdWUgfHwgaXNFbXB0eSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZC52YWxpZGF0aW9uU3VtbWFyeS5tZXNzYWdlID0gJyc7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbGlkYXRlKCk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmZvcm0udmFsaWRhdGVGb3JtKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnRk9STS5GSUVMRC5WQUxJREFUT1IuSU5WQUxJRF9WQUxVRSc7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLm1hcmtBc0ludmFsaWQoKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuZm9ybS5tYXJrQXNJbnZhbGlkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXREaXNwbGF5TmFtZShtb2RlbDogR3JvdXBNb2RlbCB8IHN0cmluZykge1xuICAgICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgbW9kZWwgPT09ICdzdHJpbmcnID8gbW9kZWwgOiBtb2RlbC5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBvblJlbW92ZShncm91cDogR3JvdXBNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRHcm91cHMuaW5kZXhPZihncm91cCk7XG4gICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkR3JvdXBzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdGhpcy5zZWxlY3RlZEdyb3VwcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzR3JvdXBBbHJlYWR5U2VsZWN0ZWQoZ3JvdXA6IEdyb3VwTW9kZWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRHcm91cHM/LnNvbWUoKHNlbGVjdGVkR3JvdXApID0+IHNlbGVjdGVkR3JvdXAuaWQgPT09IGdyb3VwLmlkKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhZGYtZ3JvdXAtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgIFtjbGFzcy5pcy1kaXJ0eV09XCIhIWZpZWxkLnZhbHVlXCJcbiAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWQgJiYgaXNUb3VjaGVkKClcIlxuICAgIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIlxuICAgIGlkPVwiZnVuY3Rpb25hbC1ncm91cC1kaXZcIlxuPlxuICAgIDxsYWJlbCBjbGFzcz1cImFkZi1sYWJlbFwiIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiXG4gICAgICAgID57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsXG4gICAgPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiYWRmLWdyb3VwLXdpZGdldC1maWVsZFwiPlxuICAgICAgICA8bWF0LWNoaXAtZ3JpZCAjY2hpcEdyaWQ+XG4gICAgICAgICAgICA8bWF0LWNoaXAtcm93XG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIHNlbGVjdGVkR3JvdXBzXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJvblJlbW92ZShncm91cClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtZ3JvdXAtd2lkZ2V0LWNoaXAtJyArIGdyb3VwLmlkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1ncm91cC13aWRnZXQtZmllbGQtY2hpcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0RGlzcGxheU5hbWUoZ3JvdXApIH19XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3JlbW92ZSAnICsgZ3JvdXAubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9tYXQtY2hpcC1yb3c+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWlucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWdyb3VwLXNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFtdWx0aVNlbGVjdCAmJiBzZWxlY3RlZEdyb3Vwcy5sZW5ndGggPiAwIHx8IGZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgIChibHVyKT1cIm1hcmtBc1RvdWNoZWQoKVwiXG4gICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgICAgICAjaW5wdXRWYWx1ZVxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtY2hpcC1ncmlkPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJ1cGRhdGVPcHRpb24oJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIiBbZGlzcGxheVdpdGhdPVwiZ2V0RGlzcGxheU5hbWVcIj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ3JvdXBzJCB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBpZD1cImFkZi1ncm91cC13aWRnZXQtdXNlci17e2l9fVwiXG4gICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkICsnLScraXRlbS5pZFwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0dyb3VwQWxyZWFkeVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImFkZi1ncm91cC1sYWJlbC1uYW1lXCI+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuICAgIDxlcnJvci13aWRnZXQgKm5nSWY9XCJpc0ludmFsaWRGaWVsZFJlcXVpcmVkKCkgJiYgaXNUb3VjaGVkKClcIiByZXF1aXJlZD1cInt7ICdGT1JNLkZJRUxELlJFUVVJUkVEJyB8IHRyYW5zbGF0ZSB9fVwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -134,10 +134,10 @@ export class PeopleWidgetComponent extends WidgetComponent {
|
|
|
134
134
|
}
|
|
135
135
|
return false;
|
|
136
136
|
}
|
|
137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PeopleWidgetComponent, deps: [{ token: i1.FormService }, { token: i2.PeopleProcessService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PeopleWidgetComponent, isStandalone: true, selector: "people-widget", outputs: { peopleSelected: "peopleSelected" }, host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, viewQueries: [{ propertyName: "input", first: true, predicate: ["inputValue"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"adf-people-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n id=\"people-widget-content\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <mat-form-field\n appearance=\"outline\"\n class=\"adf-people-widget-field\">\n <mat-chip-grid #chipGrid [attr.aria-label]=\"'ADF_PROCESS_LIST.START_PROCESS.FORM.LABEL.SELECTED_PEOPLE' | translate\">\n <mat-chip-row\n *ngFor=\"let user of selectedUsers\"\n (removed)=\"onRemove(user)\"\n [disabled]=\"field.readOnly\"\n [attr.data-automation-id]=\"'adf-people-widget-chip-' + user.id\"\n class=\"adf-people-widget-field-chip\">\n {{ getDisplayName(user) }}\n <button matChipRemove [attr.aria-label]=\"'remove ' + user.firstName\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-chip-row>\n <input #inputValue\n matInput\n class=\"adf-input\"\n [matChipInputFor]=\"chipGrid\"\n data-automation-id=\"adf-people-search-input\"\n type=\"text\"\n [disabled]=\"!multiSelect && selectedUsers.length > 0 || field.readOnly\"\n [id]=\"field.id\"\n [formControl]=\"searchTerm\"\n [placeholder]=\"selectedUsers.length > 0 ? '' : field.placeholder\"\n [matAutocomplete]=\"auto\"\n (blur)=\"markAsTouched()\"\n [title]=\"field.tooltip\">\n </mat-chip-grid>\n\n <mat-autocomplete class=\"adf-people-widget-list\"\n #auto=\"matAutocomplete\"\n (optionSelected)=\"onItemSelect($event.option.value)\"\n [displayWith]=\"getDisplayName\">\n <mat-option *ngFor=\"let user of users$ | async; let i = index\" [value]=\"user\" [disabled]=\"isUserAlreadySelected(user)\">\n <div class=\"adf-people-widget-row\" id=\"adf-people-widget-user-{{i}}\">\n <div [outerHTML]=\"user | usernameInitials:'adf-people-widget-pic'\"></div>\n <div *ngIf=\"user.pictureId\" class=\"adf-people-widget-image-row\">\n <img id=\"adf-people-widget-pic-{{i}}\" class=\"adf-people-widget-image\"\n [alt]=\"getDisplayName(user)\" [src]=\"peopleProcessService.getUserImage(user.id.toString())\"/>\n </div>\n <span class=\"adf-people-label-name\">{{getDisplayName(user)}}</span>\n </div>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired() && isTouched()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n</div>\n", styles: [".adf-people-widget{width:100%}.adf-people-widget .mat-mdc-floating-label{top:10px}.adf-people-widget .adf-people-widget-field .adf-people-widget-field-chip{border:1px solid var(--adf-chip-border-color);border-radius:10px;background-color:var(--theme-primary-color-default-contrast);height:auto;word-break:break-word;padding:4px 0}.adf-people-widget-list{margin:5px 0;padding:10px 0}.adf-people-widget-row{display:flex;align-items:center}.adf-people-widget-pic{background:var(--theme-primary-color);display:flex;justify-content:center;align-items:center;width:40px;height:40px;border-radius:100px;color:var(--adf-theme-foreground-text-color);font-weight:bolder;font-size:var(--theme-adf-picture-1-font-size);text-transform:uppercase}.adf-people-widget-image{margin-left:-44px;left:21px;background:var(--adf-theme-background-dialog-color);border-radius:100px;width:40px;height:40px;vertical-align:middle;display:inline-block;padding:0}.adf-people-widget-image-row{display:inline-block}.adf-people-label-name{padding-left:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i10.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i10.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: InitialUsernamePipe, name: "usernameInitials" }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
139
139
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PeopleWidgetComponent, decorators: [{
|
|
141
141
|
type: Component,
|
|
142
142
|
args: [{ selector: 'people-widget', standalone: true, imports: [
|
|
143
143
|
CommonModule,
|
|
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
167
167
|
}], peopleSelected: [{
|
|
168
168
|
type: Output
|
|
169
169
|
}] } });
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVvcGxlLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS93aWRnZXRzL3Blb3BsZS9wZW9wbGUud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvcGVvcGxlL3Blb3BsZS53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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QUM5QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJO21IQUlyQyxLQUFLO3NCQURKLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLekMsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEVycm9yV2lkZ2V0Q29tcG9uZW50LCBGb3JtU2VydmljZSwgSW5pdGlhbFVzZXJuYW1lUGlwZSwgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGVvcGxlUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZW9wbGUtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IExpZ2h0VXNlclJlcHJlc2VudGF0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZW9wbGUtd2lkZ2V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIEluaXRpYWxVc2VybmFtZVBpcGUsXG4gICAgICAgIEVycm9yV2lkZ2V0Q29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGVvcGxlLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wZW9wbGUud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQZW9wbGVXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIHZhbGlkIHVzZXIgaGFzIGJlZW4gaGlnaGxpZ2h0ZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwZW9wbGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBzZWxlY3RlZFVzZXJzOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbltdID0gW107XG4gICAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcbiAgICBncm91cElkOiBudW1iZXI7XG5cbiAgICBzZWFyY2hUZXJtID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIHNlYXJjaFRlcm1zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5zZWFyY2hUZXJtLnZhbHVlQ2hhbmdlcztcblxuICAgIHVzZXJzJDogT2JzZXJ2YWJsZTxMaWdodFVzZXJSZXByZXNlbnRhdGlvbltdPiA9IHRoaXMuc2VhcmNoVGVybXMkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGVybSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gc2VhcmNoVGVybS5lbWFpbCA/IHRoaXMuZ2V0RGlzcGxheU5hbWUoc2VhcmNoVGVybSkgOiBzZWFyY2hUZXJtO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVvcGxlUHJvY2Vzc1NlcnZpY2UuZ2V0V29ya2Zsb3dVc2Vycyh1bmRlZmluZWQsIHZhbHVlLCB0aGlzLmdyb3VwSWQpLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgobGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaFRlcm0udmFsdWUuZW1haWwgPyB0aGlzLmdldERpc3BsYXlOYW1lKHRoaXMuc2VhcmNoVGVybS52YWx1ZSkgOiB0aGlzLnNlYXJjaFRlcm0udmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVXNlckFuZFZhbGlkYXRlRm9ybShsaXN0LCB2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHVibGljIHBlb3BsZVByb2Nlc3NTZXJ2aWNlOiBQZW9wbGVQcm9jZXNzU2VydmljZSkge1xuICAgICAgICBzdXBlcihmb3JtU2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkgPyB0aGlzLnNlbGVjdGVkVXNlcnMucHVzaCguLi50aGlzLmZpZWxkLnZhbHVlKSA6IHRoaXMuc2VsZWN0ZWRVc2Vycy5wdXNoKHRoaXMuZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5maWVsZC5wYXJhbXM7XG4gICAgICAgICAgICBpZiAocGFyYW1zPy5yZXN0cmljdFdpdGhHcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3RyaWN0V2l0aEdyb3VwID0gcGFyYW1zLnJlc3RyaWN0V2l0aEdyb3VwO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBJZCA9IHJlc3RyaWN0V2l0aEdyb3VwLmlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhcmFtcz8ubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0ID0gcGFyYW1zLm11bHRpcGxlO1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSB0aGlzLnNlbGVjdGVkVXNlcnM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1VzZXJBbmRWYWxpZGF0ZUZvcm0obGlzdDogTGlnaHRVc2VyUmVwcmVzZW50YXRpb25bXSwgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1ZhbGlkVXNlciA9IHRoaXMuaXNWYWxpZFVzZXIobGlzdCwgdmFsdWUpO1xuICAgICAgICBpZiAoaXNWYWxpZFVzZXIgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsaWRhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuZm9ybS52YWxpZGF0ZUZvcm0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9ICdGT1JNLkZJRUxELlZBTElEQVRPUi5JTlZBTElEX1ZBTFVFJztcbiAgICAgICAgICAgIHRoaXMuZmllbGQubWFya0FzSW52YWxpZCgpO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5mb3JtLm1hcmtBc0ludmFsaWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzVmFsaWRVc2VyKHVzZXJzOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbltdLCBuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHVzZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gISF1c2Vycy5maW5kKCh1c2VyKSA9PiB0aGlzLmdldERpc3BsYXlOYW1lKHVzZXIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IG5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldERpc3BsYXlOYW1lKG1vZGVsOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbikge1xuICAgICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gYCR7bW9kZWwuZmlyc3ROYW1lIHx8ICcnfSAke21vZGVsLmxhc3ROYW1lIHx8ICcnfWA7XG4gICAgICAgICAgICByZXR1cm4gZGlzcGxheU5hbWUudHJpbSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBvblJlbW92ZSh1c2VyOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5pbmRleE9mKHVzZXIpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtU2VsZWN0KHVzZXI6IExpZ2h0VXNlclJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNVc2VyQWxyZWFkeVNlbGVjdGVkKHVzZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzLnB1c2godXNlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gW3VzZXJdO1xuICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHVzZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBlb3BsZVNlbGVjdGVkLmVtaXQodXNlcj8uaWQgfHwgdW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXRWYWx1ZSgnJyk7XG4gICAgfVxuXG4gICAgaXNVc2VyQWxyZWFkeVNlbGVjdGVkKHVzZXI6IExpZ2h0VXNlclJlcHJlc2VudGF0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maW5kKChzZWxlY3RlZFVzZXIpID0+IHNlbGVjdGVkVXNlci5pZCA9PT0gdXNlci5pZCk7XG5cbiAgICAgICAgICAgIHJldHVybiAhIXJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1wZW9wbGUtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWQgJiYgaXNUb3VjaGVkKClcIlxuICAgICBbY2xhc3MuYWRmLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgaWQ9XCJwZW9wbGUtd2lkZ2V0LWNvbnRlbnRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhZGYtbGFiZWxcIiBbYXR0ci5mb3JdPVwiZmllbGQuaWRcIj57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLXBlb3BsZS13aWRnZXQtZmllbGRcIj5cbiAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2NoaXBHcmlkIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9QUk9DRVNTX0xJU1QuU1RBUlRfUFJPQ0VTUy5GT1JNLkxBQkVMLlNFTEVDVEVEX1BFT1BMRScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxtYXQtY2hpcC1yb3dcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdXNlciBvZiBzZWxlY3RlZFVzZXJzXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJvblJlbW92ZSh1c2VyKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1wZW9wbGUtd2lkZ2V0LWNoaXAtJyArIHVzZXIuaWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXBlb3BsZS13aWRnZXQtZmllbGQtY2hpcFwiPlxuICAgICAgICAgICAgICAgIHt7IGdldERpc3BsYXlOYW1lKHVzZXIpIH19XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3JlbW92ZSAnICsgdXNlci5maXJzdE5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dFZhbHVlXG4gICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXG4gICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXBlb3BsZS1zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW11bHRpU2VsZWN0ICYmIHNlbGVjdGVkVXNlcnMubGVuZ3RoID4gMCB8fCBmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlbGVjdGVkVXNlcnMubGVuZ3RoID4gMCA/ICcnIDogZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgKGJsdXIpPVwibWFya0FzVG91Y2hlZCgpXCJcbiAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZmllbGQudG9vbHRpcFwiPlxuICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgY2xhc3M9XCJhZGYtcGVvcGxlLXdpZGdldC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib25JdGVtU2VsZWN0KCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImdldERpc3BsYXlOYW1lXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2VycyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJ1c2VyXCIgW2Rpc2FibGVkXT1cImlzVXNlckFscmVhZHlTZWxlY3RlZCh1c2VyKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtcGVvcGxlLXdpZGdldC1yb3dcIiBpZD1cImFkZi1wZW9wbGUtd2lkZ2V0LXVzZXIte3tpfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbb3V0ZXJIVE1MXT1cInVzZXIgfCB1c2VybmFtZUluaXRpYWxzOidhZGYtcGVvcGxlLXdpZGdldC1waWMnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyLnBpY3R1cmVJZFwiIGNsYXNzPVwiYWRmLXBlb3BsZS13aWRnZXQtaW1hZ2Utcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGlkPVwiYWRmLXBlb3BsZS13aWRnZXQtcGljLXt7aX19XCIgY2xhc3M9XCJhZGYtcGVvcGxlLXdpZGdldC1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0RGlzcGxheU5hbWUodXNlcilcIiBbc3JjXT1cInBlb3BsZVByb2Nlc3NTZXJ2aWNlLmdldFVzZXJJbWFnZSh1c2VyLmlkLnRvU3RyaW5nKCkpXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtcGVvcGxlLWxhYmVsLW5hbWVcIj57e2dldERpc3BsYXlOYW1lKHVzZXIpfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxlcnJvci13aWRnZXQgW2Vycm9yXT1cImZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5XCIgLz5cbiAgICA8ZXJyb3Itd2lkZ2V0ICpuZ0lmPVwiaXNJbnZhbGlkRmllbGRSZXF1aXJlZCgpICYmIGlzVG91Y2hlZCgpXCIgcmVxdWlyZWQ9XCJ7eyAnRk9STS5GSUVMRC5SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cIiAvPlxuPC9kaXY+XG4iXX0=
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVvcGxlLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS93aWRnZXRzL3Blb3BsZS9wZW9wbGUud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvcGVvcGxlL3Blb3BsZS53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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QUM5QixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJO21IQUlyQyxLQUFLO3NCQURKLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLekMsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yICovXG5cbmltcG9ydCB7IEVycm9yV2lkZ2V0Q29tcG9uZW50LCBGb3JtU2VydmljZSwgSW5pdGlhbFVzZXJuYW1lUGlwZSwgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGVvcGxlUHJvY2Vzc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZW9wbGUtcHJvY2Vzcy5zZXJ2aWNlJztcbmltcG9ydCB7IExpZ2h0VXNlclJlcHJlc2VudGF0aW9uIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZW9wbGUtd2lkZ2V0JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgICAgIEluaXRpYWxVc2VybmFtZVBpcGUsXG4gICAgICAgIEVycm9yV2lkZ2V0Q29tcG9uZW50XG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGVvcGxlLndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9wZW9wbGUud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQZW9wbGVXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0VmFsdWUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiBhIHZhbGlkIHVzZXIgaGFzIGJlZW4gaGlnaGxpZ2h0ZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwZW9wbGVTZWxlY3RlZDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBzZWxlY3RlZFVzZXJzOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbltdID0gW107XG4gICAgbXVsdGlTZWxlY3QgPSBmYWxzZTtcbiAgICBncm91cElkOiBudW1iZXI7XG5cbiAgICBzZWFyY2hUZXJtID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICAgIHNlYXJjaFRlcm1zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5zZWFyY2hUZXJtLnZhbHVlQ2hhbmdlcztcblxuICAgIHVzZXJzJDogT2JzZXJ2YWJsZTxMaWdodFVzZXJSZXByZXNlbnRhdGlvbltdPiA9IHRoaXMuc2VhcmNoVGVybXMkLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGVybSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gc2VhcmNoVGVybS5lbWFpbCA/IHRoaXMuZ2V0RGlzcGxheU5hbWUoc2VhcmNoVGVybSkgOiBzZWFyY2hUZXJtO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGVvcGxlUHJvY2Vzc1NlcnZpY2UuZ2V0V29ya2Zsb3dVc2Vycyh1bmRlZmluZWQsIHZhbHVlLCB0aGlzLmdyb3VwSWQpLnBpcGUoY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgobGlzdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaFRlcm0udmFsdWUuZW1haWwgPyB0aGlzLmdldERpc3BsYXlOYW1lKHRoaXMuc2VhcmNoVGVybS52YWx1ZSkgOiB0aGlzLnNlYXJjaFRlcm0udmFsdWU7XG4gICAgICAgICAgICB0aGlzLmNoZWNrVXNlckFuZFZhbGlkYXRlRm9ybShsaXN0LCB2YWx1ZSk7XG4gICAgICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSwgcHVibGljIHBlb3BsZVByb2Nlc3NTZXJ2aWNlOiBQZW9wbGVQcm9jZXNzU2VydmljZSkge1xuICAgICAgICBzdXBlcihmb3JtU2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSkge1xuICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkgPyB0aGlzLnNlbGVjdGVkVXNlcnMucHVzaCguLi50aGlzLmZpZWxkLnZhbHVlKSA6IHRoaXMuc2VsZWN0ZWRVc2Vycy5wdXNoKHRoaXMuZmllbGQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5maWVsZC5wYXJhbXM7XG4gICAgICAgICAgICBpZiAocGFyYW1zPy5yZXN0cmljdFdpdGhHcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3RyaWN0V2l0aEdyb3VwID0gcGFyYW1zLnJlc3RyaWN0V2l0aEdyb3VwO1xuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBJZCA9IHJlc3RyaWN0V2l0aEdyb3VwLmlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhcmFtcz8ubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0ID0gcGFyYW1zLm11bHRpcGxlO1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSB0aGlzLnNlbGVjdGVkVXNlcnM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1VzZXJBbmRWYWxpZGF0ZUZvcm0obGlzdDogTGlnaHRVc2VyUmVwcmVzZW50YXRpb25bXSwgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1ZhbGlkVXNlciA9IHRoaXMuaXNWYWxpZFVzZXIobGlzdCwgdmFsdWUpO1xuICAgICAgICBpZiAoaXNWYWxpZFVzZXIgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5Lm1lc3NhZ2UgPSAnJztcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsaWRhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuZm9ybS52YWxpZGF0ZUZvcm0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsaWRhdGlvblN1bW1hcnkubWVzc2FnZSA9ICdGT1JNLkZJRUxELlZBTElEQVRPUi5JTlZBTElEX1ZBTFVFJztcbiAgICAgICAgICAgIHRoaXMuZmllbGQubWFya0FzSW52YWxpZCgpO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5mb3JtLm1hcmtBc0ludmFsaWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzVmFsaWRVc2VyKHVzZXJzOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbltdLCBuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHVzZXJzKSB7XG4gICAgICAgICAgICByZXR1cm4gISF1c2Vycy5maW5kKCh1c2VyKSA9PiB0aGlzLmdldERpc3BsYXlOYW1lKHVzZXIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IG5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGdldERpc3BsYXlOYW1lKG1vZGVsOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbikge1xuICAgICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gYCR7bW9kZWwuZmlyc3ROYW1lIHx8ICcnfSAke21vZGVsLmxhc3ROYW1lIHx8ICcnfWA7XG4gICAgICAgICAgICByZXR1cm4gZGlzcGxheU5hbWUudHJpbSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBvblJlbW92ZSh1c2VyOiBMaWdodFVzZXJSZXByZXNlbnRhdGlvbikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5pbmRleE9mKHVzZXIpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25JdGVtU2VsZWN0KHVzZXI6IExpZ2h0VXNlclJlcHJlc2VudGF0aW9uKSB7XG4gICAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNVc2VyQWxyZWFkeVNlbGVjdGVkKHVzZXIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzLnB1c2godXNlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlID0gdGhpcy5zZWxlY3RlZFVzZXJzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJzID0gW3VzZXJdO1xuICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHVzZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBlb3BsZVNlbGVjdGVkLmVtaXQodXNlcj8uaWQgfHwgdW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybS5zZXRWYWx1ZSgnJyk7XG4gICAgfVxuXG4gICAgaXNVc2VyQWxyZWFkeVNlbGVjdGVkKHVzZXI6IExpZ2h0VXNlclJlcHJlc2VudGF0aW9uKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVXNlcnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2VsZWN0ZWRVc2Vycy5maW5kKChzZWxlY3RlZFVzZXIpID0+IHNlbGVjdGVkVXNlci5pZCA9PT0gdXNlci5pZCk7XG5cbiAgICAgICAgICAgIHJldHVybiAhIXJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1wZW9wbGUtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWQgJiYgaXNUb3VjaGVkKClcIlxuICAgICBbY2xhc3MuYWRmLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgaWQ9XCJwZW9wbGUtd2lkZ2V0LWNvbnRlbnRcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhZGYtbGFiZWxcIiBbYXR0ci5mb3JdPVwiZmllbGQuaWRcIj57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgIDxtYXQtZm9ybS1maWVsZFxuICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgICAgIGNsYXNzPVwiYWRmLXBlb3BsZS13aWRnZXQtZmllbGRcIj5cbiAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2NoaXBHcmlkIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FERl9QUk9DRVNTX0xJU1QuU1RBUlRfUFJPQ0VTUy5GT1JNLkxBQkVMLlNFTEVDVEVEX1BFT1BMRScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxtYXQtY2hpcC1yb3dcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdXNlciBvZiBzZWxlY3RlZFVzZXJzXCJcbiAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJvblJlbW92ZSh1c2VyKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2FkZi1wZW9wbGUtd2lkZ2V0LWNoaXAtJyArIHVzZXIuaWRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXBlb3BsZS13aWRnZXQtZmllbGQtY2hpcFwiPlxuICAgICAgICAgICAgICAgIHt7IGdldERpc3BsYXlOYW1lKHVzZXIpIH19XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXRDaGlwUmVtb3ZlIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3JlbW92ZSAnICsgdXNlci5maXJzdE5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dFZhbHVlXG4gICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXG4gICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXBlb3BsZS1zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIW11bHRpU2VsZWN0ICYmIHNlbGVjdGVkVXNlcnMubGVuZ3RoID4gMCB8fCBmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgICAgW2lkXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoVGVybVwiXG4gICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlbGVjdGVkVXNlcnMubGVuZ3RoID4gMCA/ICcnIDogZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgKGJsdXIpPVwibWFya0FzVG91Y2hlZCgpXCJcbiAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZmllbGQudG9vbHRpcFwiPlxuICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XG5cbiAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgY2xhc3M9XCJhZGYtcGVvcGxlLXdpZGdldC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib25JdGVtU2VsZWN0KCRldmVudC5vcHRpb24udmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImdldERpc3BsYXlOYW1lXCI+XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdXNlciBvZiB1c2VycyQgfCBhc3luYzsgbGV0IGkgPSBpbmRleFwiIFt2YWx1ZV09XCJ1c2VyXCIgW2Rpc2FibGVkXT1cImlzVXNlckFscmVhZHlTZWxlY3RlZCh1c2VyKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtcGVvcGxlLXdpZGdldC1yb3dcIiBpZD1cImFkZi1wZW9wbGUtd2lkZ2V0LXVzZXIte3tpfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBbb3V0ZXJIVE1MXT1cInVzZXIgfCB1c2VybmFtZUluaXRpYWxzOidhZGYtcGVvcGxlLXdpZGdldC1waWMnXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyLnBpY3R1cmVJZFwiIGNsYXNzPVwiYWRmLXBlb3BsZS13aWRnZXQtaW1hZ2Utcm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGlkPVwiYWRmLXBlb3BsZS13aWRnZXQtcGljLXt7aX19XCIgY2xhc3M9XCJhZGYtcGVvcGxlLXdpZGdldC1pbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiZ2V0RGlzcGxheU5hbWUodXNlcilcIiBbc3JjXT1cInBlb3BsZVByb2Nlc3NTZXJ2aWNlLmdldFVzZXJJbWFnZSh1c2VyLmlkLnRvU3RyaW5nKCkpXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtcGVvcGxlLWxhYmVsLW5hbWVcIj57e2dldERpc3BsYXlOYW1lKHVzZXIpfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxlcnJvci13aWRnZXQgW2Vycm9yXT1cImZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5XCIgLz5cbiAgICA8ZXJyb3Itd2lkZ2V0ICpuZ0lmPVwiaXNJbnZhbGlkRmllbGRSZXF1aXJlZCgpICYmIGlzVG91Y2hlZCgpXCIgcmVxdWlyZWQ9XCJ7eyAnRk9STS5GSUVMRC5SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cIiAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -78,10 +78,10 @@ export class RadioButtonsWidgetComponent extends WidgetComponent {
|
|
|
78
78
|
isValidRestConfig() {
|
|
79
79
|
return this.isRestType() && this.hasRestUrl();
|
|
80
80
|
}
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RadioButtonsWidgetComponent, deps: [{ token: i1.FormService }, { token: i2.TaskFormService }, { token: i3.ProcessDefinitionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: RadioButtonsWidgetComponent, isStandalone: true, selector: "radio-buttons-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-radio-buttons-widget {{field.className}}\" [class.adf-readonly]=\"field.readOnly\" [id]=\"field.id\">\n <div class=\"adf-radio-button-container\">\n <label class=\"adf-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n <mat-radio-group class=\"adf-radio-group\" [(ngModel)]=\"field.value\" [disabled]=\"field.readOnly\">\n <mat-radio-button\n [title]=\"field.tooltip\"\n [id]=\"field.id + '-' + opt.id\"\n [name]=\"field.id\"\n [value]=\"opt.id\"\n [checked]=\"field.value === opt.id\"\n (change)=\"onOptionClick(opt.id)\"\n color=\"primary\"\n class=\"adf-radio-button\"\n *ngFor=\"let opt of field.options\"\n >\n {{opt.name}}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n</div>\n", styles: [".adf-radio-button-container{margin-bottom:15px;display:flex;flex-direction:column}.adf-radio-group{margin-top:15px;margin-left:5px;display:inline-flex;flex-direction:column}.adf-radio-button{margin:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i6.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
83
83
|
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: RadioButtonsWidgetComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
86
|
args: [{ selector: 'radio-buttons-widget', standalone: true, imports: [CommonModule, TranslateModule, MatRadioModule, FormsModule, ErrorWidgetComponent], host: {
|
|
87
87
|
'(click)': 'event($event)',
|
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
95
|
'(select)': 'event($event)'
|
|
96
96
|
}, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-radio-buttons-widget {{field.className}}\" [class.adf-readonly]=\"field.readOnly\" [id]=\"field.id\">\n <div class=\"adf-radio-button-container\">\n <label class=\"adf-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n <mat-radio-group class=\"adf-radio-group\" [(ngModel)]=\"field.value\" [disabled]=\"field.readOnly\">\n <mat-radio-button\n [title]=\"field.tooltip\"\n [id]=\"field.id + '-' + opt.id\"\n [name]=\"field.id\"\n [value]=\"opt.id\"\n [checked]=\"field.value === opt.id\"\n (change)=\"onOptionClick(opt.id)\"\n color=\"primary\"\n class=\"adf-radio-button\"\n *ngFor=\"let opt of field.options\"\n >\n {{opt.name}}\n </mat-radio-button>\n </mat-radio-group>\n </div>\n <error-widget [error]=\"field.validationSummary\" />\n</div>\n", styles: [".adf-radio-button-container{margin-bottom:15px;display:flex;flex-direction:column}.adf-radio-group{margin-top:15px;margin-left:5px;display:inline-flex;flex-direction:column}.adf-radio-button{margin:5px}\n"] }]
|
|
97
97
|
}], ctorParameters: () => [{ type: i1.FormService }, { type: i2.TaskFormService }, { type: i3.ProcessDefinitionService }] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9ucy53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vd2lkZ2V0cy9yYWRpby1idXR0b25zL3JhZGlvLWJ1dHRvbnMud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvcmFkaW8tYnV0dG9ucy9yYWRpby1idXR0b25zLndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBcUI3QyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZUFBZTtJQUM1RCxZQUNXLFdBQXdCLEVBQ3ZCLGVBQWdDLEVBQ2hDLHdCQUFrRDtRQUUxRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKWixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMs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biAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBFcnJvcldpZGdldENvbXBvbmVudCwgRm9ybVNlcnZpY2UsIFdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhc2tGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2stZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2Nlc3NEZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2Nlc3MtZGVmaW5pdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncmFkaW8tYnV0dG9ucy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgRm9ybXNNb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9ucy53aWRnZXQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tYnV0dG9ucy53aWRnZXQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGlucHV0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnZhbGlkKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhzZWxlY3QpJzogJ2V2ZW50KCRldmVudCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uc1dpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFza0Zvcm1TZXJ2aWNlOiBUYXNrRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlOiBQcm9jZXNzRGVmaW5pdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkUmVzdENvbmZpZygpICYmICF0aGlzLmlzUmVhZE9ubHlGb3JtKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLmZvcm0udGFza0lkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25zQnlUYXNrSWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25zQnlQcm9jZXNzRGVmaW5pdGlvbklkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRPcHRpb25zQnlUYXNrSWQoKSB7XG4gICAgICAgIHRoaXMudGFza0Zvcm1TZXJ2aWNlLmdldFJlc3RGaWVsZFZhbHVlcyh0aGlzLmZpZWxkLmZvcm0udGFza0lkLCB0aGlzLmZpZWxkLmlkKS5zdWJzY3JpYmUoKGZvcm1GaWVsZE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gZm9ybUZpZWxkT3B0aW9uIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE9wdGlvbnNCeVByb2Nlc3NEZWZpbml0aW9uSWQoKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UmVzdEZpZWxkVmFsdWVzQnlQcm9jZXNzSWQodGhpcy5maWVsZC5mb3JtLnByb2Nlc3NEZWZpbml0aW9uSWQsIHRoaXMuZmllbGQuaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmb3JtRmllbGRPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm9wdGlvbnMgPSBmb3JtRmllbGRPcHRpb24gfHwgW107XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbk9wdGlvbkNsaWNrKG9wdGlvblNlbGVjdGVkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG9wdGlvblNlbGVjdGVkO1xuICAgICAgICB0aGlzLmZpZWxkQ2hhbmdlZC5lbWl0KHRoaXMuZmllbGQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSZXN0VHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQ/Lm9wdGlvblR5cGUgPT09ICdyZXN0JztcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmVhZE9ubHlGb3JtKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpZWxkPy5mb3JtPy5yZWFkT25seTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1Jlc3RVcmwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmllbGQ/LnJlc3RVcmw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkUmVzdENvbmZpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSZXN0VHlwZSgpICYmIHRoaXMuaGFzUmVzdFVybCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtcmFkaW8tYnV0dG9ucy13aWRnZXQge3tmaWVsZC5jbGFzc05hbWV9fVwiIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIiBbaWRdPVwiZmllbGQuaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYWRmLWxhYmVsXCIgW2F0dHIuZm9yXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgID57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsXG4gICAgICAgID5cbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cImFkZi1yYWRpby1ncm91cFwiIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIiBbZGlzYWJsZWRdPVwiZmllbGQucmVhZE9ubHlcIj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImZpZWxkLnRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJmaWVsZC5pZCArICctJyArIG9wdC5pZFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHQuaWRcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZpZWxkLnZhbHVlID09PSBvcHQuaWRcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25PcHRpb25DbGljayhvcHQuaWQpXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdCBvZiBmaWVsZC5vcHRpb25zXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e29wdC5uYW1lfX1cbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuPC9kaXY+XG4iXX0=
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9ucy53aWRnZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvcHJvY2Vzcy1zZXJ2aWNlcy9zcmMvbGliL2Zvcm0vd2lkZ2V0cy9yYWRpby1idXR0b25zL3JhZGlvLWJ1dHRvbnMud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvcmFkaW8tYnV0dG9ucy9yYWRpby1idXR0b25zLndpZGdldC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBcUI3QyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZUFBZTtJQUM1RCxZQUNXLFdBQXdCLEVBQ3ZCLGVBQWdDLEVBQ2hDLHdCQUFrRDtRQUUxRCxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKWixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMs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biAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBFcnJvcldpZGdldENvbXBvbmVudCwgRm9ybVNlcnZpY2UsIFdpZGdldENvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhc2tGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Rhc2stZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2Nlc3NEZWZpbml0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Byb2Nlc3MtZGVmaW5pdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncmFkaW8tYnV0dG9ucy13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRSYWRpb01vZHVsZSwgRm9ybXNNb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9ucy53aWRnZXQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tYnV0dG9ucy53aWRnZXQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhjbGljayknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoY2hhbmdlKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNpbiknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXNvdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGlucHV0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnZhbGlkKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhzZWxlY3QpJzogJ2V2ZW50KCRldmVudCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvQnV0dG9uc1dpZGdldENvbXBvbmVudCBleHRlbmRzIFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFza0Zvcm1TZXJ2aWNlOiBUYXNrRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlOiBQcm9jZXNzRGVmaW5pdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkUmVzdENvbmZpZygpICYmICF0aGlzLmlzUmVhZE9ubHlGb3JtKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLmZvcm0udGFza0lkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25zQnlUYXNrSWQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25zQnlQcm9jZXNzRGVmaW5pdGlvbklkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRPcHRpb25zQnlUYXNrSWQoKSB7XG4gICAgICAgIHRoaXMudGFza0Zvcm1TZXJ2aWNlLmdldFJlc3RGaWVsZFZhbHVlcyh0aGlzLmZpZWxkLmZvcm0udGFza0lkLCB0aGlzLmZpZWxkLmlkKS5zdWJzY3JpYmUoKGZvcm1GaWVsZE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gZm9ybUZpZWxkT3B0aW9uIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldE9wdGlvbnNCeVByb2Nlc3NEZWZpbml0aW9uSWQoKSB7XG4gICAgICAgIHRoaXMucHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0UmVzdEZpZWxkVmFsdWVzQnlQcm9jZXNzSWQodGhpcy5maWVsZC5mb3JtLnByb2Nlc3NEZWZpbml0aW9uSWQsIHRoaXMuZmllbGQuaWQpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChmb3JtRmllbGRPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLm9wdGlvbnMgPSBmb3JtRmllbGRPcHRpb24gfHwgW107XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbk9wdGlvbkNsaWNrKG9wdGlvblNlbGVjdGVkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IG9wdGlvblNlbGVjdGVkO1xuICAgICAgICB0aGlzLmZpZWxkQ2hhbmdlZC5lbWl0KHRoaXMuZmllbGQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSZXN0VHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQ/Lm9wdGlvblR5cGUgPT09ICdyZXN0JztcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmVhZE9ubHlGb3JtKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZpZWxkPy5mb3JtPy5yZWFkT25seTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1Jlc3RVcmwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZmllbGQ/LnJlc3RVcmw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkUmVzdENvbmZpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSZXN0VHlwZSgpICYmIHRoaXMuaGFzUmVzdFVybCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtcmFkaW8tYnV0dG9ucy13aWRnZXQge3tmaWVsZC5jbGFzc05hbWV9fVwiIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIiBbaWRdPVwiZmllbGQuaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYWRmLWxhYmVsXCIgW2F0dHIuZm9yXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgID57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsXG4gICAgICAgID5cbiAgICAgICAgPG1hdC1yYWRpby1ncm91cCBjbGFzcz1cImFkZi1yYWRpby1ncm91cFwiIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIiBbZGlzYWJsZWRdPVwiZmllbGQucmVhZE9ubHlcIj5cbiAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImZpZWxkLnRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJmaWVsZC5pZCArICctJyArIG9wdC5pZFwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHQuaWRcIlxuICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImZpZWxkLnZhbHVlID09PSBvcHQuaWRcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25PcHRpb25DbGljayhvcHQuaWQpXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXJhZGlvLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdCBvZiBmaWVsZC5vcHRpb25zXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e29wdC5uYW1lfX1cbiAgICAgICAgICAgIDwvbWF0LXJhZGlvLWJ1dHRvbj5cbiAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgPC9kaXY+XG4gICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -133,10 +133,10 @@ export class TypeaheadWidgetComponent extends WidgetComponent {
|
|
|
133
133
|
isReadOnlyType() {
|
|
134
134
|
return this.field.type === 'readonly';
|
|
135
135
|
}
|
|
136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeaheadWidgetComponent, deps: [{ token: i1.FormService }, { token: i2.TaskFormService }, { token: i3.ProcessDefinitionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
137
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: TypeaheadWidgetComponent, isStandalone: true, selector: "typeahead-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-typeahead-widget-container\">\n <div class=\"adf-typeahead-widget {{field.className}}\"\n [class.is-dirty]=\"value\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\"\n id=\"typehead-div\">\n <mat-form-field>\n <label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</label>\n <input matInput class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"validate()\"\n (keyup)=\"onKeyUp($event)\"\n [disabled]=\"field.readOnly\"\n data-automation-id=\"adf-typeahed-search-input\"\n placeholder=\"{{field.placeholder}}\"\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onItemSelect($event.option.value)\">\n <mat-option *ngFor=\"let item of options; let i = index\" id=\"adf-typeahed-widget-user-{{i}}\" [value]=\"item\">\n <span id=\"adf-typeahed-label-name\">{{item.name}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n </div>\n</div>\n", styles: [".adf-typeahead-widget-container{position:relative;display:block}.adf-typeahead-widget{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i8.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i8.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
138
138
|
}
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: TypeaheadWidgetComponent, decorators: [{
|
|
140
140
|
type: Component,
|
|
141
141
|
args: [{ selector: 'typeahead-widget', standalone: true, imports: [CommonModule, TranslateModule, MatFormFieldModule, FormsModule, MatAutocompleteModule, ErrorWidgetComponent, MatInputModule], host: {
|
|
142
142
|
'(click)': 'event($event)',
|
|
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
150
150
|
'(select)': 'event($event)'
|
|
151
151
|
}, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-typeahead-widget-container\">\n <div class=\"adf-typeahead-widget {{field.className}}\"\n [class.is-dirty]=\"value\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\"\n id=\"typehead-div\">\n <mat-form-field>\n <label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</label>\n <input matInput class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"validate()\"\n (keyup)=\"onKeyUp($event)\"\n [disabled]=\"field.readOnly\"\n data-automation-id=\"adf-typeahed-search-input\"\n placeholder=\"{{field.placeholder}}\"\n [matAutocomplete]=\"auto\">\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onItemSelect($event.option.value)\">\n <mat-option *ngFor=\"let item of options; let i = index\" id=\"adf-typeahed-widget-user-{{i}}\" [value]=\"item\">\n <span id=\"adf-typeahed-label-name\">{{item.name}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget *ngIf=\"isInvalidFieldRequired()\" required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\" />\n </div>\n</div>\n", styles: [".adf-typeahead-widget-container{position:relative;display:block}.adf-typeahead-widget{width:100%}\n"] }]
|
|
152
152
|
}], ctorParameters: () => [{ type: i1.FormService }, { type: i2.TaskFormService }, { type: i3.ProcessDefinitionService }] });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS93aWRnZXRzL3R5cGVhaGVhZC90eXBlYWhlYWQud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvdHlwZWFoZWFkL3R5cGVhaGVhZC53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7OztBQXFCekQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFNekQsWUFDVyxXQUF3QixFQUN2QixlQUFnQyxFQUNoQyx3QkFBa0Q7UUFFMUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBSlosZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFSOUQsa0JBQWEsR0FBVyxDQUFDLENBQUM7UUFHMUIsWUFBTyxHQUFzQixFQUFFLENBQUM7SUFRaEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLDhCQUE4QixFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNsQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDekcsTUFBTSxPQUFPLEdBQUcsZUFBZSxJQUFJLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFFN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDcEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDYixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztnQkFDcEksSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCw4QkFBOEI7UUFDMUIsSUFBSSxDQUFDLHdCQUF3QjthQUN4Qiw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNqRixTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUMzQixNQUFNLE9BQU8sR0FBRyxlQUFlLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUU3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNiLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2hFLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUMvQixDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBa0I7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2hJLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQW9CO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9GLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7b0JBQzNCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDMUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDdEIsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBcUI7UUFDOUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7SUFDMUMsQ0FBQzsrR0E5R1Esd0JBQXdCO21HQUF4Qix3QkFBd0IsOFdDbERyQywyOUNBNkJBLDRKREtjLFlBQVksK1BBQUUsZUFBZSwyRkFBRSxrQkFBa0IseU9BQUUsV0FBVyw4bUJBQUUscUJBQXFCLHkxQkFBRSxvQkFBb0IsdUZBQUUsY0FBYzs7NEZBZ0I1SCx3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsUUFHaEk7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBGb3JtU2VydmljZSwgRm9ybUZpZWxkT3B0aW9uLCBXaWRnZXRDb21wb25lbnQsIEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEVOVEVSLCBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXNrRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBQcm9jZXNzRGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9jZXNzLWRlZmluaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R5cGVhaGVhZC13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50LCBNYXRJbnB1dE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGVhaGVhZC53aWRnZXQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdHlwZWFoZWFkLndpZGdldC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGludmFsaWQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKHNlbGVjdCknOiAnZXZlbnQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVHlwZWFoZWFkV2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBtaW5UZXJtTGVuZ3RoOiBudW1iZXIgPSAxO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgb2xkVmFsdWU6IHN0cmluZztcbiAgICBvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFza0Zvcm1TZXJ2aWNlOiBUYXNrRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlOiBQcm9jZXNzRGVmaW5pdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5mb3JtLnRhc2tJZCAmJiB0aGlzLmZpZWxkLnJlc3RVcmwpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVzQnlUYXNrSWQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLmZvcm0ucHJvY2Vzc0RlZmluaXRpb25JZCAmJiB0aGlzLmZpZWxkLnJlc3RVcmwpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVzQnlQcm9jZXNzRGVmaW5pdGlvbklkKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkT25seVR5cGUoKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZmllbGQudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRWYWx1ZXNCeVRhc2tJZCgpIHtcbiAgICAgICAgdGhpcy50YXNrRm9ybVNlcnZpY2UuZ2V0UmVzdEZpZWxkVmFsdWVzKHRoaXMuZmllbGQuZm9ybS50YXNrSWQsIHRoaXMuZmllbGQuaWQpLnN1YnNjcmliZSgoZm9ybUZpZWxkT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gZm9ybUZpZWxkT3B0aW9uIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gb3B0aW9ucztcblxuICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuZmllbGQudmFsdWU7XG4gICAgICAgICAgICBpZiAoZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvU2VsZWN0ID0gb3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBmaWVsZFZhbHVlIHx8IGl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBmaWVsZFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgICAgIGlmICh0b1NlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdG9TZWxlY3QubmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uRmllbGRDaGFuZ2VkKHRoaXMuZmllbGQpO1xuICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFZhbHVlc0J5UHJvY2Vzc0RlZmluaXRpb25JZCgpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRSZXN0RmllbGRWYWx1ZXNCeVByb2Nlc3NJZCh0aGlzLmZpZWxkLmZvcm0ucHJvY2Vzc0RlZmluaXRpb25JZCwgdGhpcy5maWVsZC5pZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvcm1GaWVsZE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBmb3JtRmllbGRPcHRpb24gfHwgW107XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gb3B0aW9ucztcblxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB0aGlzLmZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvU2VsZWN0ID0gb3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBmaWVsZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvU2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdG9TZWxlY3QubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9uRmllbGRDaGFuZ2VkKHRoaXMuZmllbGQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudXBkYXRlRm9ybSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9ucygpOiBGb3JtRmllbGRPcHRpb25bXSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHRoaXMudmFsdWUudHJpbSgpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gaXRlbS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICByZXR1cm4gbmFtZS5pbmRleE9mKHZhbCkgPiAtMTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZE9wdGlvbk5hbWUob3B0aW9uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuZmllbGQub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgJiYgaXRlbS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IG9wdGlvbk5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgICAgIHJldHVybiAhIW9wdGlvbjtcbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUudHJpbSgpLmxlbmd0aCA+PSB0aGlzLm1pblRlcm1MZW5ndGggJiYgdGhpcy5vbGRWYWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgIT09IEVTQ0FQRSAmJiBldmVudC5rZXlDb2RlICE9PSBFTlRFUikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pblRlcm1MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkT3B0aW9uTmFtZSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMub3B0aW9uc1swXS5pZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1ZhbHVlRGVmaW5lZCgpICYmIHRoaXMudmFsdWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5vbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSXRlbVNlbGVjdChpdGVtOiBGb3JtRmllbGRPcHRpb24pIHtcbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBpdGVtLmlkO1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW0ubmFtZTtcbiAgICAgICAgICAgIHRoaXMub25GaWVsZENoYW5nZWQodGhpcy5maWVsZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgaXNWYWx1ZURlZmluZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpc1JlYWRPbmx5VHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQudHlwZSA9PT0gJ3JlYWRvbmx5JztcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXR5cGVhaGVhZC13aWRnZXQtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi10eXBlYWhlYWQtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgICAgICBbY2xhc3MuaXMtZGlydHldPVwidmFsdWVcIlxuICAgICAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWRcIlxuICAgICAgICBbY2xhc3MuYWRmLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgaWQ9XCJ0eXBlaGVhZC1kaXZcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYWRmLWxhYmVsXCIgW2F0dHIuZm9yXT1cImZpZWxkLmlkXCI+e3tmaWVsZC5uYW1lIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBjbGFzcz1cImFkZi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJmaWVsZC5pZFwiXG4gICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsaWRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5VXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdHlwZWFoZWQtc2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ZmllbGQucGxhY2Vob2xkZXJ9fVwiXG4gICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCI+XG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvbkl0ZW1TZWxlY3QoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgaWQ9XCJhZGYtdHlwZWFoZWQtd2lkZ2V0LXVzZXIte3tpfX1cIiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImFkZi10eXBlYWhlZC1sYWJlbC1uYW1lXCI+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuICAgICAgICA8ZXJyb3Itd2lkZ2V0ICpuZ0lmPVwiaXNJbnZhbGlkRmllbGRSZXF1aXJlZCgpXCIgcmVxdWlyZWQ9XCJ7eyAnRk9STS5GSUVMRC5SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWFoZWFkLndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9wcm9jZXNzLXNlcnZpY2VzL3NyYy9saWIvZm9ybS93aWRnZXRzL3R5cGVhaGVhZC90eXBlYWhlYWQud2lkZ2V0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMvc3JjL2xpYi9mb3JtL3dpZGdldHMvdHlwZWFoZWFkL3R5cGVhaGVhZC53aWRnZXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekcsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7OztBQXFCekQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFNekQs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QUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7SUFDMUMsQ0FBQzs4R0E5R1Esd0JBQXdCO2tHQUF4Qix3QkFBd0IsOFdDbERyQywyOUNBNkJBLDRKREtjLFlBQVksK1BBQUUsZUFBZSwyRkFBRSxrQkFBa0IseU9BQUUsV0FBVyw4bUJBQUUscUJBQXFCLHkxQkFBRSxvQkFBb0IsdUZBQUUsY0FBYzs7MkZBZ0I1SCx3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNJLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsUUFHaEk7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBGb3JtU2VydmljZSwgRm9ybUZpZWxkT3B0aW9uLCBXaWRnZXRDb21wb25lbnQsIEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IEVOVEVSLCBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXNrRm9ybVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90YXNrLWZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBQcm9jZXNzRGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wcm9jZXNzLWRlZmluaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R5cGVhaGVhZC13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIEZvcm1zTW9kdWxlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUsIEVycm9yV2lkZ2V0Q29tcG9uZW50LCBNYXRJbnB1dE1vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3R5cGVhaGVhZC53aWRnZXQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdHlwZWFoZWFkLndpZGdldC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGludmFsaWQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKHNlbGVjdCknOiAnZXZlbnQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVHlwZWFoZWFkV2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBtaW5UZXJtTGVuZ3RoOiBudW1iZXIgPSAxO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgb2xkVmFsdWU6IHN0cmluZztcbiAgICBvcHRpb25zOiBGb3JtRmllbGRPcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFza0Zvcm1TZXJ2aWNlOiBUYXNrRm9ybVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcHJvY2Vzc0RlZmluaXRpb25TZXJ2aWNlOiBQcm9jZXNzRGVmaW5pdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5mb3JtLnRhc2tJZCAmJiB0aGlzLmZpZWxkLnJlc3RVcmwpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVzQnlUYXNrSWQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZpZWxkLmZvcm0ucHJvY2Vzc0RlZmluaXRpb25JZCAmJiB0aGlzLmZpZWxkLnJlc3RVcmwpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0VmFsdWVzQnlQcm9jZXNzRGVmaW5pdGlvbklkKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkT25seVR5cGUoKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuZmllbGQudmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRWYWx1ZXNCeVRhc2tJZCgpIHtcbiAgICAgICAgdGhpcy50YXNrRm9ybVNlcnZpY2UuZ2V0UmVzdEZpZWxkVmFsdWVzKHRoaXMuZmllbGQuZm9ybS50YXNrSWQsIHRoaXMuZmllbGQuaWQpLnN1YnNjcmliZSgoZm9ybUZpZWxkT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gZm9ybUZpZWxkT3B0aW9uIHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gb3B0aW9ucztcblxuICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHRoaXMuZmllbGQudmFsdWU7XG4gICAgICAgICAgICBpZiAoZmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvU2VsZWN0ID0gb3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBmaWVsZFZhbHVlIHx8IGl0ZW0ubmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBmaWVsZFZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgICAgICAgICAgICAgIGlmICh0b1NlbGVjdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdG9TZWxlY3QubmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLm9uRmllbGRDaGFuZ2VkKHRoaXMuZmllbGQpO1xuICAgICAgICAgICAgdGhpcy5maWVsZC51cGRhdGVGb3JtKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFZhbHVlc0J5UHJvY2Vzc0RlZmluaXRpb25JZCgpIHtcbiAgICAgICAgdGhpcy5wcm9jZXNzRGVmaW5pdGlvblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRSZXN0RmllbGRWYWx1ZXNCeVByb2Nlc3NJZCh0aGlzLmZpZWxkLmZvcm0ucHJvY2Vzc0RlZmluaXRpb25JZCwgdGhpcy5maWVsZC5pZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGZvcm1GaWVsZE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBmb3JtRmllbGRPcHRpb24gfHwgW107XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5vcHRpb25zID0gb3B0aW9ucztcblxuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSB0aGlzLmZpZWxkLnZhbHVlO1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvU2VsZWN0ID0gb3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBmaWVsZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvU2VsZWN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdG9TZWxlY3QubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9uRmllbGRDaGFuZ2VkKHRoaXMuZmllbGQpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudXBkYXRlRm9ybSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0T3B0aW9ucygpOiBGb3JtRmllbGRPcHRpb25bXSB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHRoaXMudmFsdWUudHJpbSgpLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkLm9wdGlvbnMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gaXRlbS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICByZXR1cm4gbmFtZS5pbmRleE9mKHZhbCkgPiAtMTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNWYWxpZE9wdGlvbk5hbWUob3B0aW9uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuZmllbGQub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLm5hbWUgJiYgaXRlbS5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IG9wdGlvbk5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICAgICAgIHJldHVybiAhIW9wdGlvbjtcbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUudHJpbSgpLmxlbmd0aCA+PSB0aGlzLm1pblRlcm1MZW5ndGggJiYgdGhpcy5vbGRWYWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgIT09IEVTQ0FQRSAmJiBldmVudC5rZXlDb2RlICE9PSBFTlRFUikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pblRlcm1MZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkT3B0aW9uTmFtZSh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMub3B0aW9uc1swXS5pZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc1ZhbHVlRGVmaW5lZCgpICYmIHRoaXMudmFsdWUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5vbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSXRlbVNlbGVjdChpdGVtOiBGb3JtRmllbGRPcHRpb24pIHtcbiAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSBpdGVtLmlkO1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW0ubmFtZTtcbiAgICAgICAgICAgIHRoaXMub25GaWVsZENoYW5nZWQodGhpcy5maWVsZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB2YWxpZGF0ZSgpIHtcbiAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgaXNWYWx1ZURlZmluZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9PSBudWxsICYmIHRoaXMudmFsdWUgIT09IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpc1JlYWRPbmx5VHlwZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmllbGQudHlwZSA9PT0gJ3JlYWRvbmx5JztcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXR5cGVhaGVhZC13aWRnZXQtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi10eXBlYWhlYWQtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgICAgICBbY2xhc3MuaXMtZGlydHldPVwidmFsdWVcIlxuICAgICAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWRcIlxuICAgICAgICBbY2xhc3MuYWRmLXJlYWRvbmx5XT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgaWQ9XCJ0eXBlaGVhZC1kaXZcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYWRmLWxhYmVsXCIgW2F0dHIuZm9yXT1cImZpZWxkLmlkXCI+e3tmaWVsZC5uYW1lIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBjbGFzcz1cImFkZi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJmaWVsZC5pZFwiXG4gICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsaWRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5VXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtdHlwZWFoZWQtc2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ZmllbGQucGxhY2Vob2xkZXJ9fVwiXG4gICAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCI+XG4gICAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvbkl0ZW1TZWxlY3QoJGV2ZW50Lm9wdGlvbi52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgaWQ9XCJhZGYtdHlwZWFoZWQtd2lkZ2V0LXVzZXIte3tpfX1cIiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImFkZi10eXBlYWhlZC1sYWJlbC1uYW1lXCI+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPGVycm9yLXdpZGdldCBbZXJyb3JdPVwiZmllbGQudmFsaWRhdGlvblN1bW1hcnlcIiAvPlxuICAgICAgICA8ZXJyb3Itd2lkZ2V0ICpuZ0lmPVwiaXNJbnZhbGlkRmllbGRSZXF1aXJlZCgpXCIgcmVxdWlyZWQ9XCJ7eyAnRk9STS5GSUVMRC5SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|