@valtimo/dossier-management 12.6.1 → 12.8.0

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.
Files changed (38) hide show
  1. package/esm2022/lib/components/dossier-management-detail/dossier-management-detail.component.mjs +2 -2
  2. package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +1 -1
  3. package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +1 -1
  4. package/esm2022/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.mjs +22 -10
  5. package/esm2022/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.mjs +17 -12
  6. package/esm2022/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.mjs +18 -5
  7. package/esm2022/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.mjs +15 -10
  8. package/esm2022/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.mjs +14 -9
  9. package/esm2022/lib/components/dossier-management-widget-configurators/index.mjs +4 -3
  10. package/esm2022/lib/components/dossier-management-widget-configurators/process-selector/dossier-management-widget-process-selector.component.mjs +100 -0
  11. package/esm2022/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.mjs +23 -11
  12. package/esm2022/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.mjs +12 -1
  13. package/esm2022/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.mjs +2 -2
  14. package/esm2022/lib/services/widget-wizard.service.mjs +5 -2
  15. package/fesm2022/valtimo-dossier-management.mjs +512 -371
  16. package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
  17. package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts.map +1 -1
  18. package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts +10 -3
  19. package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts.map +1 -1
  20. package/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.d.ts +8 -5
  21. package/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.d.ts.map +1 -1
  22. package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts +6 -2
  23. package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts.map +1 -1
  24. package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts +6 -2
  25. package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts.map +1 -1
  26. package/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.d.ts +4 -1
  27. package/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.d.ts.map +1 -1
  28. package/lib/components/dossier-management-widget-configurators/index.d.ts +3 -2
  29. package/lib/components/dossier-management-widget-configurators/index.d.ts.map +1 -1
  30. package/lib/components/dossier-management-widget-configurators/process-selector/dossier-management-widget-process-selector.component.d.ts +29 -0
  31. package/lib/components/dossier-management-widget-configurators/process-selector/dossier-management-widget-process-selector.component.d.ts.map +1 -0
  32. package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts +10 -3
  33. package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts.map +1 -1
  34. package/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.d.ts +1 -0
  35. package/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.d.ts.map +1 -1
  36. package/lib/services/widget-wizard.service.d.ts +2 -1
  37. package/lib/services/widget-wizard.service.d.ts.map +1 -1
  38. package/package.json +1 -1
@@ -17,22 +17,25 @@ import { CommonModule } from '@angular/common';
17
17
  import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Output, signal, ViewEncapsulation, } from '@angular/core';
18
18
  import { ReactiveFormsModule, Validators } from '@angular/forms';
19
19
  import { TranslateModule } from '@ngx-translate/core';
20
- import { CARBON_THEME, CurrentCarbonTheme, InputLabelModule, } from '@valtimo/components';
20
+ import { CARBON_THEME, CurrentCarbonTheme, InputLabelModule, ValuePathSelectorComponent, ValuePathSelectorPrefix, ValuePathType, } from '@valtimo/components';
21
21
  import { ButtonModule, InputModule, ToggleModule } from 'carbon-components-angular';
22
- import { debounceTime, map, Subscription } from 'rxjs';
22
+ import { BehaviorSubject, debounceTime, map, Subscription } from 'rxjs';
23
23
  import { DossierManagementWidgetFieldsColumnComponent } from '../fields/column/dossier-management-widget-fields-column.component';
24
+ import { DossierManagementWidgetProcessSelectorComponent } from '../process-selector/dossier-management-widget-process-selector.component';
24
25
  import * as i0 from "@angular/core";
25
26
  import * as i1 from "@valtimo/components";
26
27
  import * as i2 from "@angular/forms";
27
28
  import * as i3 from "../../../services";
28
- import * as i4 from "@angular/common";
29
- import * as i5 from "@ngx-translate/core";
30
- import * as i6 from "carbon-components-angular";
29
+ import * as i4 from "@angular/router";
30
+ import * as i5 from "@angular/common";
31
+ import * as i6 from "@ngx-translate/core";
32
+ import * as i7 from "carbon-components-angular";
31
33
  export class DossierManagementWidgetTableComponent {
32
- constructor(cdsThemeService, fb, widgetWizardService) {
34
+ constructor(cdsThemeService, fb, widgetWizardService, route) {
33
35
  this.cdsThemeService = cdsThemeService;
34
36
  this.fb = fb;
35
37
  this.widgetWizardService = widgetWizardService;
38
+ this.route = route;
36
39
  this.class = 'valtimo-dossier-management-widget-table';
37
40
  this.changeValidEvent = new EventEmitter();
38
41
  this.form = this.fb.group({
@@ -44,6 +47,10 @@ export class DossierManagementWidgetTableComponent {
44
47
  this.content = this.widgetWizardService
45
48
  .widgetContent;
46
49
  this.checked = computed(() => this.widgetWizardService.widgetContent()?.firstColumnAsTitle || false);
50
+ this.selectedCollection$ = new BehaviorSubject(null);
51
+ this.documentDefinitionName$ = this.route.paramMap.pipe(map((paramMap) => paramMap.get('name') ?? ''));
52
+ this.ValuePathSelectorPrefix = ValuePathSelectorPrefix;
53
+ this.ValuePathType = ValuePathType;
47
54
  this._contentValid = signal(this.widgetWizardService.editMode());
48
55
  this._subscriptions = new Subscription();
49
56
  }
@@ -73,8 +80,11 @@ export class DossierManagementWidgetTableComponent {
73
80
  onCheckedChange(firstColumnAsTitle) {
74
81
  this.widgetWizardService.widgetContent.update((content) => ({ ...content, firstColumnAsTitle }));
75
82
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetTableComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementWidgetTableComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.collectionTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "isFieldWidget", "fieldWidthDropdown"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i6.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
83
+ onCollectionSelected(item) {
84
+ this.selectedCollection$.next(item);
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetTableComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }, { token: i4.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementWidgetTableComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <div class=\"valtimo-dossier-management-widget-table__path-selector\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.collectionTooltip' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n </div>\n</form>\n\n<valtimo-dossier-management-widget-process-selector\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n></valtimo-dossier-management-widget-process-selector>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [selectedCollection]=\"selectedCollection$ | async\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}.valtimo-dossier-management-widget-table__path-selector{display:flex;flex-direction:column}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "isFieldWidget", "documentDefinitionName", "fieldWidthDropdown", "selectedCollection", "showHideWhenEmptyCheckbox"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i7.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i7.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i7.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: DossierManagementWidgetProcessSelectorComponent, selector: "valtimo-dossier-management-widget-process-selector", inputs: ["documentDefinitionName"] }, { kind: "component", type: ValuePathSelectorComponent, selector: "valtimo-value-path-selector", inputs: ["name", "appendInline", "margin", "marginLg", "marginXl", "disabled", "documentDefinitionName", "version", "prefixes", "label", "tooltip", "required", "showDocumentDefinitionSelector", "notation", "defaultValue", "type", "parentItem"], outputs: ["valueChangeEvent", "collectionSelected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
88
  }
79
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetTableComponent, decorators: [{
80
90
  type: Component,
@@ -87,11 +97,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
87
97
  ToggleModule,
88
98
  ButtonModule,
89
99
  InputLabelModule,
90
- ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.collectionTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
91
- }], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }], propDecorators: { class: [{
100
+ DossierManagementWidgetProcessSelectorComponent,
101
+ ValuePathSelectorComponent,
102
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <div class=\"valtimo-dossier-management-widget-table__path-selector\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.collectionTooltip' | translate\"\n >\n </v-input-label>\n\n <valtimo-value-path-selector\n formControlName=\"collection\"\n [attr.data-carbon-theme]=\"obs.theme\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [prefixes]=\"[ValuePathSelectorPrefix.DOC, ValuePathSelectorPrefix.CASE]\"\n [type]=\"ValuePathType.COLLECTION\"\n (collectionSelected)=\"onCollectionSelected($event)\"\n ></valtimo-value-path-selector>\n </div>\n</form>\n\n<valtimo-dossier-management-widget-process-selector\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n></valtimo-dossier-management-widget-process-selector>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [selectedCollection]=\"selectedCollection$ | async\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);align-items:flex-end}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}.valtimo-dossier-management-widget-table__path-selector{display:flex;flex-direction:column}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
103
+ }], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }, { type: i4.ActivatedRoute }], propDecorators: { class: [{
92
104
  type: HostBinding,
93
105
  args: ['class']
94
106
  }], changeValidEvent: [{
95
107
  type: Output
96
108
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb25maWd1cmF0b3JzL3RhYmxlL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy90YWJsZS9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUdYLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxZQUFZLEVBRVosa0JBQWtCLEVBQ2xCLGdCQUFnQixHQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxZQUFZLEVB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RCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZiw0Q0FBNEM7d0JBQzVDLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtnSkFLcUMsS0FBSztzQkFBMUMsV0FBVzt1QkFBQyxPQUFPO2dCQUNNLGdCQUFnQjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIENBUkJPTl9USEVNRSxcbiAgQ2RzVGhlbWVTZXJ2aWNlLFxuICBDdXJyZW50Q2FyYm9uVGhlbWUsXG4gIElucHV0TGFiZWxNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtGaWVsZHNDYXNlV2lkZ2V0VmFsdWUsIFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzLCBXaWRnZXRUYWJsZUNvbnRlbnR9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIElucHV0TW9kdWxlLCBUb2dnbGVNb2R1bGV9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7V2lkZ2V0Q29udGVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0V2l6YXJkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFdpZGdldEZpZWxkc0NvbHVtbkNvbXBvbmVudH0gZnJvbSAnLi4vZmllbGRzL2NvbHVtbi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb2x1bW5Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBUb2dnbGVNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIElucHV0TGFiZWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0VGFibGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBXaWRnZXRDb250ZW50Q29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHVibGljIHJlYWRvbmx5IGNsYXNzID0gJ3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZSc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlVmFsaWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgdGl0bGU6IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KFxuICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlKCkgPz8gJycsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgICBjb2xsZWN0aW9uOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPihcbiAgICAgICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldFRhYmxlQ29udGVudCk/LmNvbGxlY3Rpb24gPz8gJycsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgICBkZWZhdWx0UGFnZVNpemU6IHRoaXMuZmIuY29udHJvbDxudW1iZXI+KFxuICAgICAgKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0VGFibGVDb250ZW50KT8uZGVmYXVsdFBhZ2VTaXplID8/IDUsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lJDogT2JzZXJ2YWJsZTxDQVJCT05fVEhFTUU+ID0gdGhpcy5jZHNUaGVtZVNlcnZpY2UuY3VycmVudFRoZW1lJC5waXBlKFxuICAgIG1hcCgoY3VycmVudFRoZW1lOiBDdXJyZW50Q2FyYm9uVGhlbWUpID0+XG4gICAgICBjdXJyZW50VGhlbWUgPT09IEN1cnJlbnRDYXJib25UaGVtZS5HMTAgPyBDQVJCT05fVEhFTUUuV0hJVEUgOiBDQVJCT05fVEhFTUUuRzkwXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50ID0gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlXG4gICAgLndpZGdldENvbnRlbnQgYXMgV3JpdGFibGVTaWduYWw8V2lkZ2V0VGFibGVDb250ZW50PjtcbiAgcHVibGljIHJlYWRvbmx5IGNoZWNrZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0VGFibGVDb250ZW50KT8uZmlyc3RDb2x1bW5Bc1RpdGxlIHx8IGZhbHNlXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRWYWxpZCA9IHNpZ25hbDxib29sZWFuPih0aGlzLndpZGdldFdpemFyZFNlcnZpY2UuZWRpdE1vZGUoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlLnNldCh2YWx1ZT8udGl0bGUgPz8gJycpO1xuXG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShcbiAgICAgICAgICAoY29udGVudDogV2lkZ2V0Q29udGVudFByb3BlcnRpZXMgfCBudWxsKSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgLi4uY29udGVudCxcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogdmFsdWU/LmNvbGxlY3Rpb24gfHwgJycsXG4gICAgICAgICAgICAgIGRlZmF1bHRQYWdlU2l6ZTogdmFsdWU/LmRlZmF1bHRQYWdlU2l6ZSB8fCA1LFxuICAgICAgICAgICAgfSkgYXMgV2lkZ2V0VGFibGVDb250ZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodGhpcy5mb3JtLnZhbGlkICYmIHRoaXMuX2NvbnRlbnRWYWxpZCgpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50VmFsaWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQoZmFsc2UpO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ29sdW1uVXBkYXRlRXZlbnQoZXZlbnQ6IHtkYXRhOiBGaWVsZHNDYXNlV2lkZ2V0VmFsdWVbXTsgdmFsaWQ6IGJvb2xlYW59KTogdm9pZCB7XG4gICAgY29uc3Qge2RhdGEsIHZhbGlkfSA9IGV2ZW50O1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShcbiAgICAgIChjb250ZW50OiBXaWRnZXRDb250ZW50UHJvcGVydGllcyB8IG51bGwpID0+XG4gICAgICAgICh7Li4uY29udGVudCwgY29sdW1uczogZGF0YX0pIGFzIFdpZGdldFRhYmxlQ29udGVudFxuICAgICk7XG4gICAgdGhpcy5fY29udGVudFZhbGlkLnNldCh2YWxpZCk7XG4gICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodmFsaWQgJiYgdGhpcy5mb3JtLnZhbGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrZWRDaGFuZ2UoZmlyc3RDb2x1bW5Bc1RpdGxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgKGNvbnRlbnQ6IFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzIHwgbnVsbCkgPT5cbiAgICAgICAgKHsuLi5jb250ZW50LCBmaXJzdENvbHVtbkFzVGl0bGV9KSBhcyBXaWRnZXRUYWJsZUNvbnRlbnRcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtXG4gICpuZ0lmPVwie3RoZW1lOiB0aGVtZSQgfCBhc3luY30gYXMgb2JzXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX2Zvcm1cIlxuPlxuICA8Y2RzLXRleHQtbGFiZWwgW2F0dHIuZGF0YS1jYXJib24tdGhlbWVdPVwib2JzLnRoZW1lXCI+XG4gICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgIFt0aXRsZV09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdG9vbHRpcF09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtdGV4dC1sYWJlbCBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIj5cbiAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgW3RpdGxlXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuZGVmYXVsdFBhZ2VTaXplJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdG9vbHRpcF09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmRlZmF1bHRQYWdlU2l6ZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgPGlucHV0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0UGFnZVNpemVcIlxuICAgICAgY2RzVGV4dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuZGVmYXVsdFBhZ2VTaXplUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtdGV4dC1sYWJlbCBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIj5cbiAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgW3RpdGxlXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5jb2xsZWN0aW9uVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbGxlY3Rpb25cIlxuICAgICAgY2RzVGV4dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvblBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cbjwvZm9ybT5cblxuPHNwYW4gY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX3N1YnRpdGxlXCI+XG4gIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sdW1ucycgfCB0cmFuc2xhdGUgfX1cbjwvc3Bhbj5cblxuPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uXG4gIFthZGRUcmFuc2xhdGVLZXldPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5hZGRDb2x1bW4nXCJcbiAgW2NvbHVtbkRhdGFdPVwiY29udGVudCgpPy5jb2x1bW5zXCJcbiAgKGNvbHVtblVwZGF0ZUV2ZW50KT1cIm9uQ29sdW1uVXBkYXRlRXZlbnQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRzLWNvbHVtbj5cblxuPHNlY3Rpb24gY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX3RvZ2dsZVwiPlxuICA8c3BhbiBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fc3VidGl0bGVcIj5cbiAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLm9wdGlvbnMnIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cblxuICA8Y2RzLXRvZ2dsZVxuICAgIFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXG4gICAgW2xhYmVsXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuZmlyc3RDb2x1bW5Bc1RpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW29uVGV4dF09XCInaW50ZXJmYWNlLnllcycgfCB0cmFuc2xhdGVcIlxuICAgIFtvZmZUZXh0XT1cIidpbnRlcmZhY2Uubm8nIHwgdHJhbnNsYXRlXCJcbiAgICAoY2hlY2tlZENoYW5nZSk9XCJvbkNoZWNrZWRDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2Nkcy10b2dnbGU+XG48L3NlY3Rpb24+XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb25maWd1cmF0b3JzL3RhYmxlL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy90YWJsZS9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUdYLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxZQUFZLEVBRVosa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUVoQiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLGFBQWEsR0FDZCxNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBQyxNQUFN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LENBQUM7SUFDdkQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxrQkFBMkI7UUFDaEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQzNDLENBQUMsT0FBdUMsRUFBRSxFQUFFLENBQzFDLENBQUMsRUFBQyxHQUFHLE9BQU8sRUFBRSxrQkFBa0IsRUFBQyxDQUF1QixDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQW1CO1FBQzdDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQzsrR0FqR1UscUNBQXFDO21HQUFyQyxxQ0FBcUMsNEtDckVsRCxvb0hBa0dBLHNxQ0R6Q0ksWUFBWSx1TEFDWixlQUFlLDRGQUNmLDRDQUE0QywwUkFDNUMsbUJBQW1CLDQ4QkFDbkIsV0FBVywyYUFDWCxZQUFZLG1MQUNaLFlBQVksOEJBQ1osZ0JBQWdCLHVQQUNoQiwrQ0FBK0MsbUlBQy9DLDBCQUEwQjs7NEZBR2pCLHFDQUFxQztrQkFuQmpELFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLGlCQUNELGlCQUFpQixDQUFDLElBQUksV0FDNUI7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLDRDQUE0Qzt3QkFDNUMsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLCtDQUErQzt3QkFDL0MsMEJBQTBCO3FCQUMzQjs2S0FLcUMsS0FBSztzQkFBMUMsV0FBVzt1QkFBQyxPQUFPO2dCQUNNLGdCQUFnQjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ0FSQk9OX1RIRU1FLFxuICBDZHNUaGVtZVNlcnZpY2UsXG4gIEN1cnJlbnRDYXJib25UaGVtZSxcbiAgSW5wdXRMYWJlbE1vZHVsZSxcbiAgVmFsdWVQYXRoSXRlbSxcbiAgVmFsdWVQYXRoU2VsZWN0b3JDb21wb25lbnQsXG4gIFZhbHVlUGF0aFNlbGVjdG9yUHJlZml4LFxuICBWYWx1ZVBhdGhUeXBlLFxufSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RmllbGRzQ2FzZVdpZGdldFZhbHVlLCBXaWRnZXRDb250ZW50UHJvcGVydGllcywgV2lkZ2V0VGFibGVDb250ZW50fSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJbnB1dE1vZHVsZSwgVG9nZ2xlTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7V2lkZ2V0Q29udGVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0V2l6YXJkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFdpZGdldEZpZWxkc0NvbHVtbkNvbXBvbmVudH0gZnJvbSAnLi4vZmllbGRzL2NvbHVtbi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnRXaWRnZXRQcm9jZXNzU2VsZWN0b3JDb21wb25lbnR9IGZyb20gJy4uL3Byb2Nlc3Mtc2VsZWN0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1wcm9jZXNzLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0RmllbGRzQ29sdW1uQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBJbnB1dExhYmVsTW9kdWxlLFxuICAgIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0UHJvY2Vzc1NlbGVjdG9yQ29tcG9uZW50LFxuICAgIFZhbHVlUGF0aFNlbGVjdG9yQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFdpZGdldFRhYmxlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgV2lkZ2V0Q29udGVudENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHB1YmxpYyByZWFkb25seSBjbGFzcyA9ICd2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUnO1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGNoYW5nZVZhbGlkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm06IEZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHRpdGxlOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPihcbiAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZSgpID8/ICcnLFxuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICksXG4gICAgY29sbGVjdGlvbjogdGhpcy5mYi5jb250cm9sPHN0cmluZz4oXG4gICAgICAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRUYWJsZUNvbnRlbnQpPy5jb2xsZWN0aW9uID8/ICcnLFxuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICksXG4gICAgZGVmYXVsdFBhZ2VTaXplOiB0aGlzLmZiLmNvbnRyb2w8bnVtYmVyPihcbiAgICAgICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldFRhYmxlQ29udGVudCk/LmRlZmF1bHRQYWdlU2l6ZSA/PyA1LFxuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICksXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSB0aGVtZSQ6IE9ic2VydmFibGU8Q0FSQk9OX1RIRU1FPiA9IHRoaXMuY2RzVGhlbWVTZXJ2aWNlLmN1cnJlbnRUaGVtZSQucGlwZShcbiAgICBtYXAoKGN1cnJlbnRUaGVtZTogQ3VycmVudENhcmJvblRoZW1lKSA9PlxuICAgICAgY3VycmVudFRoZW1lID09PSBDdXJyZW50Q2FyYm9uVGhlbWUuRzEwID8gQ0FSQk9OX1RIRU1FLldISVRFIDogQ0FSQk9OX1RIRU1FLkc5MFxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudCA9IHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZVxuICAgIC53aWRnZXRDb250ZW50IGFzIFdyaXRhYmxlU2lnbmFsPFdpZGdldFRhYmxlQ29udGVudD47XG4gIHB1YmxpYyByZWFkb25seSBjaGVja2VkID0gY29tcHV0ZWQoXG4gICAgKCkgPT5cbiAgICAgICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldFRhYmxlQ29udGVudCk/LmZpcnN0Q29sdW1uQXNUaXRsZSB8fCBmYWxzZVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZENvbGxlY3Rpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWx1ZVBhdGhJdGVtIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudERlZmluaXRpb25OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbU1hcC5waXBlKFxuICAgIG1hcCgocGFyYW1NYXA6IFBhcmFtTWFwKSA9PiBwYXJhbU1hcC5nZXQoJ25hbWUnKSA/PyAnJylcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXggPSBWYWx1ZVBhdGhTZWxlY3RvclByZWZpeDtcbiAgcHVibGljIHJlYWRvbmx5IFZhbHVlUGF0aFR5cGUgPSBWYWx1ZVBhdGhUeXBlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRWYWxpZCA9IHNpZ25hbDxib29sZWFuPih0aGlzLndpZGdldFdpemFyZFNlcnZpY2UuZWRpdE1vZGUoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlLnNldCh2YWx1ZT8udGl0bGUgPz8gJycpO1xuXG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShcbiAgICAgICAgICAoY29udGVudDogV2lkZ2V0Q29udGVudFByb3BlcnRpZXMgfCBudWxsKSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgLi4uY29udGVudCxcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogdmFsdWU/LmNvbGxlY3Rpb24gfHwgJycsXG4gICAgICAgICAgICAgIGRlZmF1bHRQYWdlU2l6ZTogdmFsdWU/LmRlZmF1bHRQYWdlU2l6ZSB8fCA1LFxuICAgICAgICAgICAgfSkgYXMgV2lkZ2V0VGFibGVDb250ZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodGhpcy5mb3JtLnZhbGlkICYmIHRoaXMuX2NvbnRlbnRWYWxpZCgpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50VmFsaWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQoZmFsc2UpO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ29sdW1uVXBkYXRlRXZlbnQoZXZlbnQ6IHtkYXRhOiBGaWVsZHNDYXNlV2lkZ2V0VmFsdWVbXTsgdmFsaWQ6IGJvb2xlYW59KTogdm9pZCB7XG4gICAgY29uc3Qge2RhdGEsIHZhbGlkfSA9IGV2ZW50O1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShcbiAgICAgIChjb250ZW50OiBXaWRnZXRDb250ZW50UHJvcGVydGllcyB8IG51bGwpID0+XG4gICAgICAgICh7Li4uY29udGVudCwgY29sdW1uczogZGF0YX0pIGFzIFdpZGdldFRhYmxlQ29udGVudFxuICAgICk7XG4gICAgdGhpcy5fY29udGVudFZhbGlkLnNldCh2YWxpZCk7XG4gICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodmFsaWQgJiYgdGhpcy5mb3JtLnZhbGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrZWRDaGFuZ2UoZmlyc3RDb2x1bW5Bc1RpdGxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgKGNvbnRlbnQ6IFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzIHwgbnVsbCkgPT5cbiAgICAgICAgKHsuLi5jb250ZW50LCBmaXJzdENvbHVtbkFzVGl0bGV9KSBhcyBXaWRnZXRUYWJsZUNvbnRlbnRcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ29sbGVjdGlvblNlbGVjdGVkKGl0ZW06IFZhbHVlUGF0aEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbiQubmV4dChpdGVtKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48Zm9ybVxuICAqbmdJZj1cInt0aGVtZTogdGhlbWUkIHwgYXN5bmN9IGFzIG9ic1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlX19mb3JtXCJcbj5cbiAgPGNkcy10ZXh0LWxhYmVsIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cIm9icy50aGVtZVwiPlxuICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICBbdGl0bGVdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgPGlucHV0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cblxuICA8Y2RzLXRleHQtbGFiZWwgW2F0dHIuZGF0YS1jYXJib24tdGhlbWVdPVwib2JzLnRoZW1lXCI+XG4gICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgIFt0aXRsZV09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmRlZmF1bHRQYWdlU2l6ZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5kZWZhdWx0UGFnZVNpemVUb29sdGlwJyB8IHRyYW5zbGF0ZVwiXG4gICAgPlxuICAgIDwvdi1pbnB1dC1sYWJlbD5cblxuICAgIDxpbnB1dFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVmYXVsdFBhZ2VTaXplXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmRlZmF1bHRQYWdlU2l6ZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cblxuICA8ZGl2IGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlX19wYXRoLXNlbGVjdG9yXCI+XG4gICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgIFt0aXRsZV09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmNvbGxlY3Rpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgIFt0b29sdGlwXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvblRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgPHZhbHRpbW8tdmFsdWUtcGF0aC1zZWxlY3RvclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sbGVjdGlvblwiXG4gICAgICBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIlxuICAgICAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luY1wiXG4gICAgICBbcHJlZml4ZXNdPVwiW1ZhbHVlUGF0aFNlbGVjdG9yUHJlZml4LkRPQywgVmFsdWVQYXRoU2VsZWN0b3JQcmVmaXguQ0FTRV1cIlxuICAgICAgW3R5cGVdPVwiVmFsdWVQYXRoVHlwZS5DT0xMRUNUSU9OXCJcbiAgICAgIChjb2xsZWN0aW9uU2VsZWN0ZWQpPVwib25Db2xsZWN0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgPjwvdmFsdGltby12YWx1ZS1wYXRoLXNlbGVjdG9yPlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1wcm9jZXNzLXNlbGVjdG9yXG4gIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXByb2Nlc3Mtc2VsZWN0b3I+XG5cbjxzcGFuIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlX19zdWJ0aXRsZVwiPlxuICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmNvbHVtbnMnIHwgdHJhbnNsYXRlIH19XG48L3NwYW4+XG5cbjx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRzLWNvbHVtblxuICBbYWRkVHJhbnNsYXRlS2V5XT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuYWRkQ29sdW1uJ1wiXG4gIFtjb2x1bW5EYXRhXT1cImNvbnRlbnQoKT8uY29sdW1uc1wiXG4gIFtkb2N1bWVudERlZmluaXRpb25OYW1lXT1cImRvY3VtZW50RGVmaW5pdGlvbk5hbWUkIHwgYXN5bmNcIlxuICBbc2VsZWN0ZWRDb2xsZWN0aW9uXT1cInNlbGVjdGVkQ29sbGVjdGlvbiQgfCBhc3luY1wiXG4gIChjb2x1bW5VcGRhdGVFdmVudCk9XCJvbkNvbHVtblVwZGF0ZUV2ZW50KCRldmVudClcIlxuPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4+XG5cbjxzZWN0aW9uIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlX190b2dnbGVcIj5cbiAgPHNwYW4gY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX3N1YnRpdGxlXCI+XG4gICAge3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5vcHRpb25zJyB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG5cbiAgPGNkcy10b2dnbGVcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkKClcIlxuICAgIFtsYWJlbF09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmZpcnN0Q29sdW1uQXNUaXRsZScgfCB0cmFuc2xhdGVcIlxuICAgIFtvblRleHRdPVwiJ2ludGVyZmFjZS55ZXMnIHwgdHJhbnNsYXRlXCJcbiAgICBbb2ZmVGV4dF09XCInaW50ZXJmYWNlLm5vJyB8IHRyYW5zbGF0ZVwiXG4gICAgKGNoZWNrZWRDaGFuZ2UpPVwib25DaGVja2VkQ2hhbmdlKCRldmVudClcIlxuICA+PC9jZHMtdG9nZ2xlPlxuPC9zZWN0aW9uPlxuIl19
@@ -21,6 +21,7 @@ import { ButtonModule, IconModule, TabsModule } from 'carbon-components-angular'
21
21
  import { BehaviorSubject, combineLatest, map, Subject, take } from 'rxjs';
22
22
  import { AVAILABLE_WIDGETS, WidgetStyle, WidgetTypeTags } from '../../../models';
23
23
  import { DossierManagementWidgetWizardComponent } from '../../dossier-management-widget-wizard/dossier-management-widget-wizard.component';
24
+ import { cloneDeep } from 'lodash';
24
25
  import * as i0 from "@angular/core";
25
26
  import * as i1 from "@valtimo/components";
26
27
  import * as i2 from "@ngx-translate/core";
@@ -77,6 +78,10 @@ export class DossierManagementWidgetsEditorComponent {
77
78
  label: 'interface.edit',
78
79
  callback: this.editWidget.bind(this),
79
80
  },
81
+ {
82
+ label: 'interface.duplicate',
83
+ callback: this.duplicateWidget.bind(this),
84
+ },
80
85
  {
81
86
  label: 'interface.delete',
82
87
  callback: this.deleteWidget.bind(this),
@@ -111,8 +116,14 @@ export class DossierManagementWidgetsEditorComponent {
111
116
  this.widgetWizardService.widgetContent.set(tabWidget.properties);
112
117
  this.widgetWizardService.editMode.set(true);
113
118
  this.widgetWizardService.widgetKey.set(tabWidget.key);
119
+ this.widgetWizardService.widgetActions.set(tabWidget.actions);
114
120
  this.isWizardOpen$.next(true);
115
121
  }
122
+ duplicateWidget(tabWidget) {
123
+ const tabWidgetClone = cloneDeep(tabWidget);
124
+ tabWidgetClone.key = null;
125
+ this.editWidget(tabWidgetClone);
126
+ }
116
127
  openAddModal() {
117
128
  this.isWizardOpen$.next(true);
118
129
  }
@@ -205,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
205
216
  }], changeSaved: [{
206
217
  type: Output
207
218
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYi9lZGl0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYi9lZGl0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFHTCxnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBRXZCLFFBQVEsR0FDVCxNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFX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LElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sc0JBQXNCLENBQUMsS0FBYTtRQUMxQyxRQUFRLEtBQUssRUFBRSxDQUFDO1lBQ2QsS0FBSyxDQUFDO2dCQUNKLE9BQU8sdUNBQXVDLENBQUM7WUFDakQsS0FBSyxDQUFDO2dCQUNKLE9BQU8sd0NBQXdDLENBQUM7WUFDbEQsS0FBSyxDQUFDO2dCQUNKLE9BQU8sdUNBQXVDLENBQUM7WUFDakQsS0FBSyxDQUFDO2dCQUNKLE9BQU8sMkNBQTJDLENBQUM7WUFDckQ7Z0JBQ0UsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzsrR0F4TFUsdUNBQXVDO21HQUF2Qyx1Q0FBdUMsZ1JDMURwRCxtM0VBbUVBLDJDRG5CSSxZQUFZLDhWQUNaLGVBQWUsMkZBQ2YsZ0JBQWdCLHcxQkFDaEIsWUFBWSxnTUFDWixVQUFVLDROQUNWLFVBQVUsK0JBQ1Ysc0NBQXNDLDJJQUN0Qyx1QkFBdUI7OzRGQUdkLHVDQUF1QztrQkFoQm5ELFNBQVM7K0JBQ0UsMkNBQTJDLG1CQUVwQyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixzQ0FBc0M7d0JBQ3RDLHVCQUF1QjtxQkFDeEI7a01BR2Usc0JBQXNCO3NCQUFyQyxLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBRWMsZ0JBQWdCO3NCQUFuQyxLQUFLO2dCQVlvQixXQUFXO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDYXJib25MaXN0SXRlbSxcbiAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgQ29sdW1uQ29uZmlnLFxuICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgS2V5R2VuZXJhdG9yU2VydmljZSxcbiAgVmlld1R5cGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtCYXNpY0Nhc2VXaWRnZXQsIENhc2VXaWRnZXQsIENhc2VXaWRnZXRzUmVzfSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBUYWJzTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBVkFJTEFCTEVfV0lER0VUUywgV2lkZ2V0U3R5bGUsIFdpZGdldFR5cGVUYWdzfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRUYWJNYW5hZ2VtZW50U2VydmljZSwgV2lkZ2V0V2l6YXJkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFdpZGdldFdpemFyZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0cy1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBEb3NzaWVyTWFuYWdlbWVudFdpZGdldFdpemFyZENvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRzRWRpdG9yQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGRvY3VtZW50RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHRhYldpZGdldEtleTogc3RyaW5nO1xuICBwcml2YXRlIF9jdXJyZW50V2lkZ2V0VGFiOiBDYXNlV2lkZ2V0c1JlcztcbiAgQElucHV0KCkgcHVibGljIHNldCBjdXJyZW50V2lkZ2V0VGFiKHZhbHVlOiBDYXNlV2lkZ2V0c1Jlcykge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcblxuICAgIHRoaXMuX2N1cnJlbnRXaWRnZXRUYWIgPSB2YWx1ZTtcbiAgICB0aGlzLl9pdGVtcyQubmV4dCh2YWx1ZT8ud2lkZ2V0cyk7XG4gICAgdGhpcy5fdXNlZEtleXMgPSB2YWx1ZT8ud2lkZ2V0cy5tYXAod2lkZ2V0ID0+IHdpZGdldC5rZXkpO1xuICAgIHRoaXMuZHJhZ0FuZERyb3BEaXNhYmxlZC5zZXQoZmFsc2UpO1xuICB9XG4gIHB1YmxpYyBnZXQgY3VycmVudFdpZGdldFRhYigpOiBDYXNlV2lkZ2V0c1JlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRXaWRnZXRUYWI7XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGNoYW5nZVNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBGSUVMRFM6IENvbHVtbkNvbmZpZ1tdID0gW1xuICAgIHtcbiAgICAgIGtleTogJ3RpdGxlJyxcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLnRpdGxlJyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAndGFncycsXG4gICAgICBsYWJlbDogJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29sdW1ucy50eXBlJyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5UQUdTLFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAna2V5JyxcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmtleScsXG4gICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ3dpZHRoVHJhbnNsYXRpb24nLFxuICAgICAgbGFiZWw6ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbHVtbnMud2lkdGgnLFxuICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdoaWdoQ29udHJhc3QnLFxuICAgICAgbGFiZWw6ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbHVtbnMuaGlnaENvbnRyYXN0JyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5CT09MRUFOLFxuICAgIH0sXG4gIF07XG5cbiAgcHVibGljIHJlYWRvbmx5IEFDVElPTl9JVEVNUzogQWN0aW9uSXRlbVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnaW50ZXJmYWNlLmVkaXQnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZWRpdFdpZGdldC5iaW5kKHRoaXMpLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UuZGVsZXRlJyxcbiAgICAgIGNhbGxiYWNrOiB0aGlzLmRlbGV0ZVdpZGdldC5iaW5kKHRoaXMpLFxuICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgfSxcbiAgXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENhcmJvbkxpc3RJdGVtW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1zJDogT2JzZXJ2YWJsZTxDYXJib25MaXN0SXRlbVtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX2l0ZW1zJCxcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKSxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtpdGVtc10pID0+XG4gICAgICBpdGVtcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICB3aWR0aFRyYW5zbGF0aW9uOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmdldFdpZHRoVHJhbnNsYXRpb25LZXkoaXRlbS53aWR0aCkpLFxuICAgICAgICB0YWdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgY29udGVudDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYHdpZGdldFRhYk1hbmFnZW1lbnQudHlwZXMuJHtpdGVtLnR5cGV9LnRpdGxlYCksXG4gICAgICAgICAgICB0eXBlOiBXaWRnZXRUeXBlVGFnc1tpdGVtLnR5cGVdLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzV2l6YXJkT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGlzRWRpdE1vZGUgPSB0aGlzLndpZGdldFdpemFyZFNlcnZpY2UuZWRpdE1vZGU7XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVNb2RhbE9wZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVSb3dLZXkkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBkcmFnQW5kRHJvcERpc2FibGVkID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcml2YXRlIF91c2VkS2V5czogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBrZXlHZW5lcmF0b3JTZXJ2aWNlOiBLZXlHZW5lcmF0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFRhYk1hbmFnZW1lbnRTZXJ2aWNlOiBXaWRnZXRUYWJNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBlZGl0V2lkZ2V0KHRhYldpZGdldDogQ2FzZVdpZGdldCk6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZS5zZXQodGFiV2lkZ2V0LnRpdGxlKTtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0U3R5bGUuc2V0KFxuICAgICAgdGFiV2lkZ2V0LmhpZ2hDb250cmFzdCA/IFdpZGdldFN0eWxlLkhJR0hfQ09OVFJBU1QgOiBXaWRnZXRTdHlsZS5ERUZBVUxUXG4gICAgKTtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0V2lkdGguc2V0KHRhYldpZGdldC53aWR0aCk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLnNlbGVjdGVkV2lkZ2V0LnNldChcbiAgICAgIEFWQUlMQUJMRV9XSURHRVRTLmZpbmQoYXZhaWxhYmxlID0+IGF2YWlsYWJsZS50eXBlID09PSB0YWJXaWRnZXQudHlwZSkgPz8gbnVsbFxuICAgICk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQuc2V0KHRhYldpZGdldC5wcm9wZXJ0aWVzKTtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2UuZWRpdE1vZGUuc2V0KHRydWUpO1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRLZXkuc2V0KHRhYldpZGdldC5rZXkpO1xuICAgIHRoaXMuaXNXaXphcmRPcGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9wZW5BZGRNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLmlzV2l6YXJkT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlbGV0ZUNvbmZpcm0od2lkZ2V0S2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFRhYk1hbmFnZW1lbnRTZXJ2aWNlXG4gICAgICAudXBkYXRlV2lkZ2V0cyh7XG4gICAgICAgIC4uLnRoaXMuY3VycmVudFdpZGdldFRhYixcbiAgICAgICAgd2lkZ2V0czogdGhpcy5jdXJyZW50V2lkZ2V0VGFiLndpZGdldHMuZmlsdGVyKHdpZGdldCA9PiB3aWRnZXQua2V5ICE9PSB3aWRnZXRLZXkpLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTYXZlZC5lbWl0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlRXZlbnQod2lkZ2V0UmVzdWx0OiBCYXNpY0Nhc2VXaWRnZXQsIGV4aXN0aW5nV2lkZ2V0czogQ2FzZVdpZGdldFtdKTogdm9pZCB7XG4gICAgdGhpcy5pc1dpemFyZE9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5yZXNldFdpemFyZCgpO1xuXG4gICAgaWYgKCF3aWRnZXRSZXN1bHQpIHJldHVybjtcblxuICAgIHRoaXMud2lkZ2V0VGFiTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgIC51cGRhdGVXaWRnZXRzKHtcbiAgICAgICAgY2FzZURlZmluaXRpb25OYW1lOiB0aGlzLmRvY3VtZW50RGVmaW5pdGlvbk5hbWUsXG4gICAgICAgIGtleTogdGhpcy50YWJXaWRnZXRLZXksXG4gICAgICAgIHdpZGdldHM6ICEhd2lkZ2V0UmVzdWx0LmtleVxuICAgICAgICAgID8gZXhpc3RpbmdXaWRnZXRzLm1hcCgod2lkZ2V0OiBCYXNpY0Nhc2VXaWRnZXQpID0+XG4gICAgICAgICAgICAgIHdpZGdldC5rZXkgPT09IHdpZGdldFJlc3VsdC5rZXkgPyB3aWRnZXRSZXN1bHQgOiB3aWRnZXRcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgLi4uZXhpc3RpbmdXaWRnZXRzLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4ud2lkZ2V0UmVzdWx0LFxuICAgICAgICAgICAgICAgIGtleTogdGhpcy5rZXlHZW5lcmF0b3JTZXJ2aWNlLmdldFVuaXF1ZUtleSh3aWRnZXRSZXN1bHQudGl0bGUsIHRoaXMuX3VzZWRLZXlzKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICB9KVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZVNhdmVkLmVtaXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uSXRlbXNSZW9yZGVyZWQod2lkZ2V0czogQ2FzZVdpZGdldFtdKTogdm9pZCB7XG4gICAgdGhpcy5kcmFnQW5kRHJvcERpc2FibGVkLnNldCh0cnVlKTtcblxuICAgIHRoaXMud2lkZ2V0VGFiTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgIC51cGRhdGVXaWRnZXRzKHtcbiAgICAgICAgLi4udGhpcy5jdXJyZW50V2lkZ2V0VGFiLFxuICAgICAgICB3aWRnZXRzLFxuICAgICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jaGFuZ2VTYXZlZC5lbWl0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVsZXRlV2lkZ2V0KHRhYldpZGdldDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5kZWxldGVSb3dLZXkkLm5leHQodGFiV2lkZ2V0LmtleSk7XG4gICAgdGhpcy5kZWxldGVNb2RhbE9wZW4kLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFdpZHRoVHJhbnNsYXRpb25LZXkod2lkdGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgc3dpdGNoICh3aWR0aCkge1xuICAgICAgY2FzZSAxOlxuICAgICAgICByZXR1cm4gJ3dpZGdldFRhYk1hbmFnZW1lbnQud2lkdGguc21hbGwudGl0bGUnO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByZXR1cm4gJ3dpZGdldFRhYk1hbmFnZW1lbnQud2lkdGgubWVkaXVtLnRpdGxlJztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgcmV0dXJuICd3aWRnZXRUYWJNYW5hZ2VtZW50LndpZHRoLmxhcmdlLnRpdGxlJztcbiAgICAgIGNhc2UgNDpcbiAgICAgICAgcmV0dXJuICd3aWRnZXRUYWJNYW5hZ2VtZW50LndpZHRoLnh0cmFMYXJnZS50aXRsZSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJy0nO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyXG4gICpuZ0lmPVwie1xuICAgIGlzV2l6YXJkT3BlbjogaXNXaXphcmRPcGVuJCB8IGFzeW5jLFxuICAgIGl0ZW1zOiBpdGVtcyQgfCBhc3luYyxcbiAgfSBhcyBvYnNcIlxuPlxuICA8dmFsdGltby1jYXJib24tbGlzdFxuICAgIFthY3Rpb25JdGVtc109XCJBQ1RJT05fSVRFTVNcIlxuICAgIFtmaWVsZHNdPVwiRklFTERTXCJcbiAgICBbaGVhZGVyXT1cImZhbHNlXCJcbiAgICBbaXRlbXNdPVwib2JzLml0ZW1zXCJcbiAgICBbZHJhZ0FuZERyb3BdPVwidHJ1ZVwiXG4gICAgW2RyYWdBbmREcm9wRGlzYWJsZWRdPVwiZHJhZ0FuZERyb3BEaXNhYmxlZCgpXCJcbiAgICAoaXRlbXNSZW9yZGVyZWQpPVwib25JdGVtc1Jlb3JkZXJlZCgkZXZlbnQpXCJcbiAgICAocm93Q2xpY2tlZCk9XCJlZGl0V2lkZ2V0KCRldmVudClcIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciBjYXJib25Ub29sYmFyQ29udGVudD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhZGRXaWRnZXRCdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx2YWx0aW1vLW5vLXJlc3VsdHNcbiAgICAgIFthY3Rpb25dPVwiYWRkV2lkZ2V0QnV0dG9uXCJcbiAgICAgIFtkZXNjcmlwdGlvbl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5saXN0Lm5vUmVzdWx0cy5kZXNjcmlwdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgW3RpdGxlXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50Lmxpc3Qubm9SZXN1bHRzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgPjwvdmFsdGltby1uby1yZXN1bHRzPlxuICA8L3ZhbHRpbW8tY2FyYm9uLWxpc3Q+XG5cbiAgPG5nLXRlbXBsYXRlICNhZGRXaWRnZXRCdXR0b24+XG4gICAgPGJ1dHRvbiBjZHNCdXR0b249XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9wZW5BZGRNb2RhbCgpXCI+XG4gICAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5saXN0LmFkZCcgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cImFkZFwiIHNpemU9XCIxNlwiPjwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkXG4gICAgW2VkaXRNb2RlXT1cImlzRWRpdE1vZGUoKVwiXG4gICAgW29wZW5dPVwib2JzLmlzV2l6YXJkT3BlblwiXG4gICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZUV2ZW50KCRldmVudCwgb2JzLml0ZW1zKVwiXG4gID48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQ+XG5cbiAgPHZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsXG4gICAgY29uZmlybUJ1dHRvblRleHRUcmFuc2xhdGlvbktleT1cImludGVyZmFjZS5kZWxldGVcIlxuICAgIGNvbmZpcm1CdXR0b25UeXBlPVwiZGFuZ2VyXCJcbiAgICBjb250ZW50VHJhbnNsYXRpb25LZXk9XCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgd2lkZ2V0P1wiXG4gICAgW291dHB1dE9uQ29uZmlybV09XCJkZWxldGVSb3dLZXkkIHwgYXN5bmNcIlxuICAgIFtzaG93TW9kYWxTdWJqZWN0JF09XCJkZWxldGVNb2RhbE9wZW4kXCJcbiAgICB0aXRsZVRyYW5zbGF0aW9uS2V5PVwiaW50ZXJmYWNlLmRlbGV0ZVwiXG4gICAgKGNvbmZpcm1FdmVudCk9XCJvbkRlbGV0ZUNvbmZpcm0oJGV2ZW50KVwiXG4gID48L3ZhbHRpbW8tY29uZmlybWF0aW9uLW1vZGFsPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYi9lZGl0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYi9lZGl0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFHTCxnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBRXZCLFFBQVEsR0FDVCxNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxXQUFX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QWdCO3dCQUNoQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixzQ0FBc0M7d0JBQ3RDLHVCQUF1QjtxQkFDeEI7a01BR2Usc0JBQXNCO3NCQUFyQyxLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBRWMsZ0JBQWdCO3NCQUFuQyxLQUFLO2dCQVlvQixXQUFXO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25JdGVtLFxuICBDYXJib25MaXN0SXRlbSxcbiAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgQ29sdW1uQ29uZmlnLFxuICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgS2V5R2VuZXJhdG9yU2VydmljZSxcbiAgVmlld1R5cGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtCYXNpY0Nhc2VXaWRnZXQsIENhc2VXaWRnZXQsIENhc2VXaWRnZXRzUmVzfSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBUYWJzTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBVkFJTEFCTEVfV0lER0VUUywgV2lkZ2V0U3R5bGUsIFdpZGdldFR5cGVUYWdzfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRUYWJNYW5hZ2VtZW50U2VydmljZSwgV2lkZ2V0V2l6YXJkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFdpZGdldFdpemFyZENvbXBvbmVudH0gZnJvbSAnLi4vLi4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQuY29tcG9uZW50JztcbmltcG9ydCB7Y2xvbmVEZWVwfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXRzLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0cy1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQ2FyYm9uTGlzdE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0V2l6YXJkQ29tcG9uZW50LFxuICAgIENvbmZpcm1hdGlvbk1vZGFsTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFdpZGdldHNFZGl0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgZG9jdW1lbnREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdGFiV2lkZ2V0S2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgX2N1cnJlbnRXaWRnZXRUYWI6IENhc2VXaWRnZXRzUmVzO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGN1cnJlbnRXaWRnZXRUYWIodmFsdWU6IENhc2VXaWRnZXRzUmVzKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fY3VycmVudFdpZGdldFRhYiA9IHZhbHVlO1xuICAgIHRoaXMuX2l0ZW1zJC5uZXh0KHZhbHVlPy53aWRnZXRzKTtcbiAgICB0aGlzLl91c2VkS2V5cyA9IHZhbHVlPy53aWRnZXRzLm1hcCh3aWRnZXQgPT4gd2lkZ2V0LmtleSk7XG4gICAgdGhpcy5kcmFnQW5kRHJvcERpc2FibGVkLnNldChmYWxzZSk7XG4gIH1cbiAgcHVibGljIGdldCBjdXJyZW50V2lkZ2V0VGFiKCk6IENhc2VXaWRnZXRzUmVzIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFdpZGdldFRhYjtcbiAgfVxuXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlU2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IEZJRUxEUzogQ29sdW1uQ29uZmlnW10gPSBbXG4gICAge1xuICAgICAga2V5OiAndGl0bGUnLFxuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UudGl0bGUnLFxuICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICd0YWdzJyxcbiAgICAgIGxhYmVsOiAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb2x1bW5zLnR5cGUnLFxuICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRBR1MsXG4gICAgfSxcbiAgICB7XG4gICAgICBrZXk6ICdrZXknLFxuICAgICAgbGFiZWw6ICdpbnRlcmZhY2Uua2V5JyxcbiAgICAgIHZpZXdUeXBlOiBWaWV3VHlwZS5URVhULFxuICAgIH0sXG4gICAge1xuICAgICAga2V5OiAnd2lkdGhUcmFuc2xhdGlvbicsXG4gICAgICBsYWJlbDogJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29sdW1ucy53aWR0aCcsXG4gICAgICB2aWV3VHlwZTogVmlld1R5cGUuVEVYVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGtleTogJ2hpZ2hDb250cmFzdCcsXG4gICAgICBsYWJlbDogJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29sdW1ucy5oaWdoQ29udHJhc3QnLFxuICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLkJPT0xFQU4sXG4gICAgfSxcbiAgXTtcblxuICBwdWJsaWMgcmVhZG9ubHkgQUNUSU9OX0lURU1TOiBBY3Rpb25JdGVtW10gPSBbXG4gICAge1xuICAgICAgbGFiZWw6ICdpbnRlcmZhY2UuZWRpdCcsXG4gICAgICBjYWxsYmFjazogdGhpcy5lZGl0V2lkZ2V0LmJpbmQodGhpcyksXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5kdXBsaWNhdGUnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZHVwbGljYXRlV2lkZ2V0LmJpbmQodGhpcyksXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogJ2ludGVyZmFjZS5kZWxldGUnLFxuICAgICAgY2FsbGJhY2s6IHRoaXMuZGVsZXRlV2lkZ2V0LmJpbmQodGhpcyksXG4gICAgICB0eXBlOiAnZGFuZ2VyJyxcbiAgICB9LFxuICBdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2FyYm9uTGlzdEl0ZW1bXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlbXMkOiBPYnNlcnZhYmxlPENhcmJvbkxpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5faXRlbXMkLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2l0ZW1zXSkgPT5cbiAgICAgIGl0ZW1zLm1hcChpdGVtID0+ICh7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIHdpZHRoVHJhbnNsYXRpb246IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuZ2V0V2lkdGhUcmFuc2xhdGlvbktleShpdGVtLndpZHRoKSksXG4gICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb250ZW50OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChgd2lkZ2V0VGFiTWFuYWdlbWVudC50eXBlcy4ke2l0ZW0udHlwZX0udGl0bGVgKSxcbiAgICAgICAgICAgIHR5cGU6IFdpZGdldFR5cGVUYWdzW2l0ZW0udHlwZV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaXNXaXphcmRPcGVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNFZGl0TW9kZSA9IHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5lZGl0TW9kZTtcbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZU1vZGFsT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZVJvd0tleSQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGRyYWdBbmREcm9wRGlzYWJsZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByaXZhdGUgX3VzZWRLZXlzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleUdlbmVyYXRvclNlcnZpY2U6IEtleUdlbmVyYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0VGFiTWFuYWdlbWVudFNlcnZpY2U6IFdpZGdldFRhYk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0V2l6YXJkU2VydmljZTogV2lkZ2V0V2l6YXJkU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGVkaXRXaWRnZXQodGFiV2lkZ2V0OiBDYXNlV2lkZ2V0KTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlLnNldCh0YWJXaWRnZXQudGl0bGUpO1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRTdHlsZS5zZXQoXG4gICAgICB0YWJXaWRnZXQuaGlnaENvbnRyYXN0ID8gV2lkZ2V0U3R5bGUuSElHSF9DT05UUkFTVCA6IFdpZGdldFN0eWxlLkRFRkFVTFRcbiAgICApO1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRXaWR0aC5zZXQodGFiV2lkZ2V0LndpZHRoKTtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uuc2VsZWN0ZWRXaWRnZXQuc2V0KFxuICAgICAgQVZBSUxBQkxFX1dJREdFVFMuZmluZChhdmFpbGFibGUgPT4gYXZhaWxhYmxlLnR5cGUgPT09IHRhYldpZGdldC50eXBlKSA/PyBudWxsXG4gICAgKTtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudC5zZXQodGFiV2lkZ2V0LnByb3BlcnRpZXMpO1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5lZGl0TW9kZS5zZXQodHJ1ZSk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldEtleS5zZXQodGFiV2lkZ2V0LmtleSk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldEFjdGlvbnMuc2V0KHRhYldpZGdldC5hY3Rpb25zKTtcbiAgICB0aGlzLmlzV2l6YXJkT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBkdXBsaWNhdGVXaWRnZXQodGFiV2lkZ2V0OiBDYXNlV2lkZ2V0KTogdm9pZCB7XG4gICAgY29uc3QgdGFiV2lkZ2V0Q2xvbmUgPSBjbG9uZURlZXAodGFiV2lkZ2V0KTtcbiAgICB0YWJXaWRnZXRDbG9uZS5rZXkgPSBudWxsO1xuICAgIHRoaXMuZWRpdFdpZGdldCh0YWJXaWRnZXRDbG9uZSk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkFkZE1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMuaXNXaXphcmRPcGVuJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlQ29uZmlybSh3aWRnZXRLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0VGFiTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgIC51cGRhdGVXaWRnZXRzKHtcbiAgICAgICAgLi4udGhpcy5jdXJyZW50V2lkZ2V0VGFiLFxuICAgICAgICB3aWRnZXRzOiB0aGlzLmN1cnJlbnRXaWRnZXRUYWIud2lkZ2V0cy5maWx0ZXIod2lkZ2V0ID0+IHdpZGdldC5rZXkgIT09IHdpZGdldEtleSksXG4gICAgICB9KVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZVNhdmVkLmVtaXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2VFdmVudCh3aWRnZXRSZXN1bHQ6IEJhc2ljQ2FzZVdpZGdldCwgZXhpc3RpbmdXaWRnZXRzOiBDYXNlV2lkZ2V0W10pOiB2b2lkIHtcbiAgICB0aGlzLmlzV2l6YXJkT3BlbiQubmV4dChmYWxzZSk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLnJlc2V0V2l6YXJkKCk7XG5cbiAgICBpZiAoIXdpZGdldFJlc3VsdCkgcmV0dXJuO1xuXG4gICAgdGhpcy53aWRnZXRUYWJNYW5hZ2VtZW50U2VydmljZVxuICAgICAgLnVwZGF0ZVdpZGdldHMoe1xuICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWU6IHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSxcbiAgICAgICAga2V5OiB0aGlzLnRhYldpZGdldEtleSxcbiAgICAgICAgd2lkZ2V0czogISF3aWRnZXRSZXN1bHQua2V5XG4gICAgICAgICAgPyBleGlzdGluZ1dpZGdldHMubWFwKCh3aWRnZXQ6IEJhc2ljQ2FzZVdpZGdldCkgPT5cbiAgICAgICAgICAgICAgd2lkZ2V0LmtleSA9PT0gd2lkZ2V0UmVzdWx0LmtleSA/IHdpZGdldFJlc3VsdCA6IHdpZGdldFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAuLi5leGlzdGluZ1dpZGdldHMsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi53aWRnZXRSZXN1bHQsXG4gICAgICAgICAgICAgICAga2V5OiB0aGlzLmtleUdlbmVyYXRvclNlcnZpY2UuZ2V0VW5pcXVlS2V5KHdpZGdldFJlc3VsdC50aXRsZSwgdGhpcy5fdXNlZEtleXMpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgIH0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2F2ZWQuZW1pdCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25JdGVtc1Jlb3JkZXJlZCh3aWRnZXRzOiBDYXNlV2lkZ2V0W10pOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdBbmREcm9wRGlzYWJsZWQuc2V0KHRydWUpO1xuXG4gICAgdGhpcy53aWRnZXRUYWJNYW5hZ2VtZW50U2VydmljZVxuICAgICAgLnVwZGF0ZVdpZGdldHMoe1xuICAgICAgICAuLi50aGlzLmN1cnJlbnRXaWRnZXRUYWIsXG4gICAgICAgIHdpZGdldHMsXG4gICAgICB9KVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZVNhdmVkLmVtaXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVXaWRnZXQodGFiV2lkZ2V0OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGV0ZVJvd0tleSQubmV4dCh0YWJXaWRnZXQua2V5KTtcbiAgICB0aGlzLmRlbGV0ZU1vZGFsT3BlbiQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0V2lkdGhUcmFuc2xhdGlvbktleSh3aWR0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHdpZHRoKSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIHJldHVybiAnd2lkZ2V0VGFiTWFuYWdlbWVudC53aWR0aC5zbWFsbC50aXRsZSc7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIHJldHVybiAnd2lkZ2V0VGFiTWFuYWdlbWVudC53aWR0aC5tZWRpdW0udGl0bGUnO1xuICAgICAgY2FzZSAzOlxuICAgICAgICByZXR1cm4gJ3dpZGdldFRhYk1hbmFnZW1lbnQud2lkdGgubGFyZ2UudGl0bGUnO1xuICAgICAgY2FzZSA0OlxuICAgICAgICByZXR1cm4gJ3dpZGdldFRhYk1hbmFnZW1lbnQud2lkdGgueHRyYUxhcmdlLnRpdGxlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnLSc7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgaXNXaXphcmRPcGVuOiBpc1dpemFyZE9wZW4kIHwgYXN5bmMsXG4gICAgaXRlbXM6IGl0ZW1zJCB8IGFzeW5jLFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2YWx0aW1vLWNhcmJvbi1saXN0XG4gICAgW2FjdGlvbkl0ZW1zXT1cIkFDVElPTl9JVEVNU1wiXG4gICAgW2ZpZWxkc109XCJGSUVMRFNcIlxuICAgIFtoZWFkZXJdPVwiZmFsc2VcIlxuICAgIFtpdGVtc109XCJvYnMuaXRlbXNcIlxuICAgIFtkcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgICBbZHJhZ0FuZERyb3BEaXNhYmxlZF09XCJkcmFnQW5kRHJvcERpc2FibGVkKClcIlxuICAgIChpdGVtc1Jlb3JkZXJlZCk9XCJvbkl0ZW1zUmVvcmRlcmVkKCRldmVudClcIlxuICAgIChyb3dDbGlja2VkKT1cImVkaXRXaWRnZXQoJGV2ZW50KVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyIGNhcmJvblRvb2xiYXJDb250ZW50PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFkZFdpZGdldEJ1dHRvblwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHZhbHRpbW8tbm8tcmVzdWx0c1xuICAgICAgW2FjdGlvbl09XCJhZGRXaWRnZXRCdXR0b25cIlxuICAgICAgW2Rlc2NyaXB0aW9uXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50Lmxpc3Qubm9SZXN1bHRzLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdGl0bGVdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQubGlzdC5ub1Jlc3VsdHMudGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICA+PC92YWx0aW1vLW5vLXJlc3VsdHM+XG4gIDwvdmFsdGltby1jYXJib24tbGlzdD5cblxuICA8bmctdGVtcGxhdGUgI2FkZFdpZGdldEJ1dHRvbj5cbiAgICA8YnV0dG9uIGNkc0J1dHRvbj1cInByaW1hcnlcIiAoY2xpY2spPVwib3BlbkFkZE1vZGFsKClcIj5cbiAgICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50Lmxpc3QuYWRkJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmRcbiAgICBbZWRpdE1vZGVdPVwiaXNFZGl0TW9kZSgpXCJcbiAgICBbb3Blbl09XCJvYnMuaXNXaXphcmRPcGVuXCJcbiAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlRXZlbnQoJGV2ZW50LCBvYnMuaXRlbXMpXCJcbiAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZD5cblxuICA8dmFsdGltby1jb25maXJtYXRpb24tbW9kYWxcbiAgICBjb25maXJtQnV0dG9uVGV4dFRyYW5zbGF0aW9uS2V5PVwiaW50ZXJmYWNlLmRlbGV0ZVwiXG4gICAgY29uZmlybUJ1dHRvblR5cGU9XCJkYW5nZXJcIlxuICAgIGNvbnRlbnRUcmFuc2xhdGlvbktleT1cIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyB3aWRnZXQ/XCJcbiAgICBbb3V0cHV0T25Db25maXJtXT1cImRlbGV0ZVJvd0tleSQgfCBhc3luY1wiXG4gICAgW3Nob3dNb2RhbFN1YmplY3QkXT1cImRlbGV0ZU1vZGFsT3BlbiRcIlxuICAgIHRpdGxlVHJhbnNsYXRpb25LZXk9XCJpbnRlcmZhY2UuZGVsZXRlXCJcbiAgICAoY29uZmlybUV2ZW50KT1cIm9uRGVsZXRlQ29uZmlybSgkZXZlbnQpXCJcbiAgPjwvdmFsdGltby1jb25maXJtYXRpb24tbW9kYWw+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -36,7 +36,7 @@ export class DossierManagementWidgetWizardComponent {
36
36
  this._editMode = value;
37
37
  if (!value)
38
38
  return;
39
- this.currentStep.set(WidgetWizardStep.WIDTH);
39
+ this.currentStep.set(WidgetWizardStep.CONTENT);
40
40
  }
41
41
  get editMode() {
42
42
  return this._editMode;
@@ -163,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
163
163
  }], closeEvent: [{
164
164
  type: Output
165
165
  }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZC9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBTyxNQUFNLDJCQUEyQixDQUFDO0FBQ25HLE9BQU8sRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxtQkFBbUIs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QVc7d0JBQ1gsWUFBWTt3QkFDWixHQUFHLFlBQVk7cUJBQ2hCO3VIQUdlLElBQUk7c0JBQW5CLEtBQUs7Z0JBRWMsUUFBUTtzQkFBM0IsS0FBSztnQkFTVyxVQUFVO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9PYnNlcnZhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NBUkJPTl9DT05TVEFOVFN9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIE1vZGFsTW9kdWxlLCBQcm9ncmVzc0luZGljYXRvck1vZHVsZSwgU3RlcH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1dJREdFVF9TVFlMRV9MQUJFTFMsIFdJREdFVF9XSURUSF9MQUJFTFMsIFdpZGdldFdpemFyZFN0ZXB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dpZGdldFdpemFyZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7V0lER0VUX1NURVBTfSBmcm9tICcuL3N0ZXBzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBQcm9ncmVzc0luZGljYXRvck1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgLi4uV0lER0VUX1NURVBTLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFdpZGdldFdpemFyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgX2VkaXRNb2RlOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGVkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZWRpdE1vZGUgPSB2YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRTdGVwLnNldChXaWRnZXRXaXphcmRTdGVwLldJRFRIKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGVkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lZGl0TW9kZTtcbiAgfVxuICBAT3V0cHV0KCkgcHVibGljIGNsb3NlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgV2lkZ2V0V2l6YXJkU3RlcHMgPSBXaWRnZXRXaXphcmRTdGVwO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZWNvbmRhcnlMYWJlbHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRXaWRnZXRUeXBlID0gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLnNlbGVjdGVkV2lkZ2V0KCk/LnR5cGUgPz8gJyc7XG4gICAgY29uc3Qgc2VsZWN0ZWRXaWR0aCA9IHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRXaWR0aCgpID8/ICcnO1xuICAgIGNvbnN0IHNlbGVjdGVkU3R5bGUgPSB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0U3R5bGUoKSA/PyAnJztcblxuICAgIHJldHVybiB7XG4gICAgICBbV2lkZ2V0V2l6YXJkU3RlcC5UWVBFXTogc2VsZWN0ZWRXaWRnZXRUeXBlXG4gICAgICAgID8gYHdpZGdldFRhYk1hbmFnZW1lbnQudHlwZXMuJHtzZWxlY3RlZFdpZGdldFR5cGV9LnRpdGxlYFxuICAgICAgICA6ICcnLFxuICAgICAgW1dpZGdldFdpemFyZFN0ZXAuV0lEVEhdOiBXSURHRVRfV0lEVEhfTEFCRUxTW3NlbGVjdGVkV2lkdGhdID8/ICcnLFxuICAgICAgW1dpZGdldFdpemFyZFN0ZXAuU1RZTEVdOiBXSURHRVRfU1RZTEVfTEFCRUxTW3NlbGVjdGVkU3R5bGVdID8/ICcnLFxuICAgIH07XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGVwcyQ6IE9ic2VydmFibGU8U3RlcFtdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLl9zZWNvbmRhcnlMYWJlbHMpLFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLndpZGdldFdpemFyZFNlcnZpY2UuZWRpdE1vZGUpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3NlY29uZGFyeUxhYmVscywgZWRpdE1vZGVdKSA9PiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3aWRnZXRUYWJNYW5hZ2VtZW50LndpemFyZC5zdGVwcy50eXBlJyksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLlRZUEVdICYmIHtcbiAgICAgICAgICAgIHNlY29uZGFyeUxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5UWVBFXSksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZGlzYWJsZWQ6IGVkaXRNb2RlLFxuICAgICAgICAgIGNvbXBsZXRlOiAhIXRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5zZWxlY3RlZFdpZGdldCgpPy50eXBlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3aWRnZXRUYWJNYW5hZ2VtZW50LndpemFyZC5zdGVwcy53aWR0aCcpLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5XSURUSF0gJiYge1xuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLldJRFRIXSksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZGlzYWJsZWQ6ICFzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5UWVBFXSxcbiAgICAgICAgICBjb21wbGV0ZTogISF0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0V2lkdGgoKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2lkZ2V0VGFiTWFuYWdlbWVudC53aXphcmQuc3RlcHMuc3R5bGUnKSxcbiAgICAgICAgICAuLi4oc2Vjb25kYXJ5TGFiZWxzW1dpZGdldFdpemFyZFN0ZXAuU1RZTEVdICYmIHtcbiAgICAgICAgICAgIHNlY29uZGFyeUxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5TVFlMRV0pLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGRpc2FibGVkOiAhc2Vjb25kYXJ5TGFiZWxzW1dpZGdldFdpemFyZFN0ZXAuV0lEVEhdLFxuICAgICAgICAgIGNvbXBsZXRlOiAhIXRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRTdHlsZSgpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3aWRnZXRUYWJNYW5hZ2VtZW50LndpemFyZC5zdGVwcy5jb250ZW50JyksXG4gICAgICAgICAgZGlzYWJsZWQ6XG4gICAgICAgICAgICAhc2Vjb25kYXJ5TGFiZWxzW1dpZGdldFdpemFyZFN0ZXAuVFlQRV0gfHxcbiAgICAgICAgICAgICFzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5XSURUSF0gfHxcbiAgICAgICAgICAgICFzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5TVFlMRV0sXG4gICAgICAgICAgY29tcGxldGU6ICEhdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfSlcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50U3RlcFZhbGlkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGN1cnJlbnRTdGVwID0gc2lnbmFsPFdpZGdldFdpemFyZFN0ZXA+KFdpZGdldFdpemFyZFN0ZXAuVFlQRSk7XG4gIHB1YmxpYyByZWFkb25seSBiYWNrQnV0dG9uRGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5lZGl0TW9kZSgpICYmIHRoaXMuY3VycmVudFN0ZXAoKSA9PT0gV2lkZ2V0V2l6YXJkU3RlcC5XSURUSFxuICApO1xuICBwdWJsaWMgbmV4dEJ1dHRvbkRpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50U3RlcCgpKSB7XG4gICAgICBjYXNlIFdpZGdldFdpemFyZFN0ZXAuVFlQRTpcbiAgICAgICAgcmV0dXJuICF0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uuc2VsZWN0ZWRXaWRnZXQoKTtcbiAgICAgIGNhc2UgV2lkZ2V0V2l6YXJkU3RlcC5XSURUSDpcbiAgICAgICAgcmV0dXJuICF0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0V2lkdGgoKTtcbiAgICAgIGNhc2UgV2lkZ2V0V2l6YXJkU3RlcC5TVFlMRTpcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRTdHlsZSgpID09PSBudWxsO1xuICAgICAgY2FzZSBXaWRnZXRXaXphcmRTdGVwLkNPTlRFTlQ6XG4gICAgICAgIHJldHVybiB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpID09PSBudWxsIHx8ICF0aGlzLl9jb250ZW50U3RlcFZhbGlkKCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBvblN0ZXBTZWxlY3RlZChldmVudDoge3N0ZXA6IFN0ZXA7IGluZGV4OiBXaWRnZXRXaXphcmRTdGVwfSk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFN0ZXAuc2V0KGV2ZW50LmluZGV4KTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHRCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50U3RlcCgpID09PSBXaWRnZXRXaXphcmRTdGVwLkNPTlRFTlQpIHtcbiAgICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRzQ29uZmlnKCkpO1xuICAgICAgdGhpcy5yZXNldFdpemFyZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY3VycmVudFN0ZXAudXBkYXRlKChzdGVwOiBXaWRnZXRXaXphcmRTdGVwKSA9PiBzdGVwICsgMSk7XG4gIH1cblxuICBwdWJsaWMgb25CYWNrQnV0dG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50U3RlcC51cGRhdGUoKHN0ZXA6IFdpZGdldFdpemFyZFN0ZXApID0+IHN0ZXAgLSAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KG51bGwpO1xuICAgIHRoaXMucmVzZXRXaXphcmQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNvbnRlbnRWYWxpZEV2ZW50KHZhbGlkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudFN0ZXBWYWxpZC5zZXQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFdpemFyZCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5yZXNldFdpemFyZCgpO1xuICAgICAgdGhpcy5jdXJyZW50U3RlcC5zZXQoV2lkZ2V0V2l6YXJkU3RlcC5UWVBFKTtcbiAgICB9LCBDQVJCT05fQ09OU1RBTlRTLm1vZGFsQW5pbWF0aW9uTXMpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxjZHMtbW9kYWxcbiAgKm5nSWY9XCJ7c3RlcHM6IHN0ZXBzJCB8IGFzeW5jfSBhcyBvYnNcIlxuICBbb3Blbl09XCJvcGVuXCJcbiAgc2hvd0Zvb3Rlcj1cInRydWVcIlxuICBzaXplPVwibGdcIlxuICB2YWx0aW1vQ2RzTW9kYWxcbiAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkXCJcbj5cbiAgPGNkcy1tb2RhbC1oZWFkZXIgW3Nob3dDbG9zZUJ1dHRvbl09XCJ0cnVlXCIgKGNsb3NlU2VsZWN0KT1cIm9uQ2xvc2UoKVwiPlxuICAgIDxoMyBjZHNNb2RhbEhlYWRlckhlYWRpbmc+XG4gICAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC53aXphcmQuJyArIChlZGl0TW9kZSA/ICdlZGl0JyA6ICdjcmVhdGUnKSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvaDM+XG4gIDwvY2RzLW1vZGFsLWhlYWRlcj5cblxuICA8c2VjdGlvbiBjZHNNb2RhbENvbnRlbnQgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkX19jb250ZW50XCI+XG4gICAgPGNkcy1wcm9ncmVzcy1pbmRpY2F0b3JcbiAgICAgIFtjdXJyZW50XT1cImN1cnJlbnRTdGVwKClcIlxuICAgICAgW3NrZWxldG9uXT1cIiFvYnMuc3RlcHNcIlxuICAgICAgW3NwYWNpbmddPVwiJ2VxdWFsJ1wiXG4gICAgICBbc3RlcHNdPVwib2JzLnN0ZXBzXCJcbiAgICAgIChzdGVwU2VsZWN0ZWQpPVwib25TdGVwU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvY2RzLXByb2dyZXNzLWluZGljYXRvcj5cblxuICAgIEBzd2l0Y2ggKGN1cnJlbnRTdGVwKCkpIHtcbiAgICAgIEBjYXNlIChXaWRnZXRXaXphcmRTdGVwcy5UWVBFKSB7XG4gICAgICAgIDxwPnt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LnR5cGVzLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cblxuICAgICAgICA8dmFsdGltby13aWRnZXQtd2l6YXJkLXR5cGUtc3RlcFxuICAgICAgICAgIGNsYXNzPVwidmFsdGltby13aWRnZXQtd2l6YXJkLXN0ZXBcIlxuICAgICAgICA+PC92YWx0aW1vLXdpZGdldC13aXphcmQtdHlwZS1zdGVwPlxuICAgICAgfVxuICAgICAgQGNhc2UgKFdpZGdldFdpemFyZFN0ZXBzLldJRFRIKSB7XG4gICAgICAgIDxwPnt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LndpZHRoLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cblxuICAgICAgICA8dmFsdGltby13aWRnZXQtd2l6YXJkLXdpZHRoLXN0ZXBcbiAgICAgICAgICBjbGFzcz1cInZhbHRpbW8td2lkZ2V0LXdpemFyZC1zdGVwXCJcbiAgICAgICAgPjwvdmFsdGltby13aWRnZXQtd2l6YXJkLXdpZHRoLXN0ZXA+XG4gICAgICB9XG4gICAgICBAY2FzZSAoV2lkZ2V0V2l6YXJkU3RlcHMuU1RZTEUpIHtcbiAgICAgICAgPHA+e3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuc3R5bGUuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC9wPlxuXG4gICAgICAgIDx2YWx0aW1vLXdpZGdldC13aXphcmQtc3R5bGUtc3RlcFxuICAgICAgICAgIGNsYXNzPVwidmFsdGltby13aWRnZXQtd2l6YXJkLXN0ZXBcIlxuICAgICAgICA+PC92YWx0aW1vLXdpZGdldC13aXphcmQtc3R5bGUtc3RlcD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChXaWRnZXRXaXphcmRTdGVwcy5DT05URU5UKSB7XG4gICAgICAgIDx2YWx0aW1vLXdpZGdldC13aXphcmQtY29udGVudC1zdGVwXG4gICAgICAgICAgKGNvbnRlbnRWYWxpZEV2ZW50KT1cIm9uQ29udGVudFZhbGlkRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgID48L3ZhbHRpbW8td2lkZ2V0LXdpemFyZC1jb250ZW50LXN0ZXA+XG4gICAgICB9XG4gICAgICBAZGVmYXVsdCB7XG4gICAgICAgIDxwPnt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LnR5cGVzLmRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fTwvcD5cblxuICAgICAgICA8dmFsdGltby13aWRnZXQtd2l6YXJkLXR5cGUtc3RlcD48L3ZhbHRpbW8td2lkZ2V0LXdpemFyZC10eXBlLXN0ZXA+XG4gICAgICB9XG4gICAgfVxuICA8L3NlY3Rpb24+XG5cbiAgPGNkcy1tb2RhbC1mb290ZXIgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkX19mb290ZXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmRfX2NhbmNlbFwiXG4gICAgICBjZHNCdXR0b249XCJnaG9zdFwiXG4gICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICA+XG4gICAgICB7eyAnaW50ZXJmYWNlLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cblxuICAgIEBpZiAoY3VycmVudFN0ZXAoKSAhPT0gV2lkZ2V0V2l6YXJkU3RlcHMuVFlQRSkge1xuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmRfX2JhY2tcIlxuICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiYmFja0J1dHRvbkRpc2FibGVkKClcIlxuICAgICAgICAoY2xpY2spPVwib25CYWNrQnV0dG9uQ2xpY2soKVwiXG4gICAgICA+XG4gICAgICAgIHt7ICdpbnRlcmZhY2UuYmFjaycgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cblxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZF9fbmV4dFwiXG4gICAgICBjZHNCdXR0b249XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJuZXh0QnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAoY2xpY2spPVwib25OZXh0QnV0dG9uQ2xpY2soKVwiXG4gICAgPlxuICAgICAge3tcbiAgICAgICAgJ2ludGVyZmFjZS4nICsgKGN1cnJlbnRTdGVwKCkgPT09IFdpZGdldFdpemFyZFN0ZXBzLkNPTlRFTlQgPyAnc2F2ZScgOiAnbmV4dCcpIHwgdHJhbnNsYXRlXG4gICAgICB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Nkcy1tb2RhbC1mb290ZXI+XG48L2Nkcy1tb2RhbD5cbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZC9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBTyxNQUFNLDJCQUEyQixDQUFDO0FBQ25HLE9BQU8sRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxtQkFBbUIs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QVc7d0JBQ1gsWUFBWTt3QkFDWixHQUFHLFlBQVk7cUJBQ2hCO3VIQUdlLElBQUk7c0JBQW5CLEtBQUs7Z0JBRWMsUUFBUTtzQkFBM0IsS0FBSztnQkFTVyxVQUFVO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9PYnNlcnZhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NBUkJPTl9DT05TVEFOVFN9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIE1vZGFsTW9kdWxlLCBQcm9ncmVzc0luZGljYXRvck1vZHVsZSwgU3RlcH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1dJREdFVF9TVFlMRV9MQUJFTFMsIFdJREdFVF9XSURUSF9MQUJFTFMsIFdpZGdldFdpemFyZFN0ZXB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dpZGdldFdpemFyZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7V0lER0VUX1NURVBTfSBmcm9tICcuL3N0ZXBzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBQcm9ncmVzc0luZGljYXRvck1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgLi4uV0lER0VUX1NURVBTLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFdpZGdldFdpemFyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgX2VkaXRNb2RlOiBib29sZWFuO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGVkaXRNb2RlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZWRpdE1vZGUgPSB2YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm47XG5cbiAgICB0aGlzLmN1cnJlbnRTdGVwLnNldChXaWRnZXRXaXphcmRTdGVwLkNPTlRFTlQpO1xuICB9XG4gIHB1YmxpYyBnZXQgZWRpdE1vZGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRNb2RlO1xuICB9XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBXaWRnZXRXaXphcmRTdGVwcyA9IFdpZGdldFdpemFyZFN0ZXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlY29uZGFyeUxhYmVscyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZFdpZGdldFR5cGUgPSB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uuc2VsZWN0ZWRXaWRnZXQoKT8udHlwZSA/PyAnJztcbiAgICBjb25zdCBzZWxlY3RlZFdpZHRoID0gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFdpZHRoKCkgPz8gJyc7XG4gICAgY29uc3Qgc2VsZWN0ZWRTdHlsZSA9IHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRTdHlsZSgpID8/ICcnO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIFtXaWRnZXRXaXphcmRTdGVwLlRZUEVdOiBzZWxlY3RlZFdpZGdldFR5cGVcbiAgICAgICAgPyBgd2lkZ2V0VGFiTWFuYWdlbWVudC50eXBlcy4ke3NlbGVjdGVkV2lkZ2V0VHlwZX0udGl0bGVgXG4gICAgICAgIDogJycsXG4gICAgICBbV2lkZ2V0V2l6YXJkU3RlcC5XSURUSF06IFdJREdFVF9XSURUSF9MQUJFTFNbc2VsZWN0ZWRXaWR0aF0gPz8gJycsXG4gICAgICBbV2lkZ2V0V2l6YXJkU3RlcC5TVFlMRV06IFdJREdFVF9TVFlMRV9MQUJFTFNbc2VsZWN0ZWRTdHlsZV0gPz8gJycsXG4gICAgfTtcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHN0ZXBzJDogT2JzZXJ2YWJsZTxTdGVwW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuX3NlY29uZGFyeUxhYmVscyksXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5lZGl0TW9kZSksXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbc2Vjb25kYXJ5TGFiZWxzLCBlZGl0TW9kZV0pID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dpZGdldFRhYk1hbmFnZW1lbnQud2l6YXJkLnN0ZXBzLnR5cGUnKSxcbiAgICAgICAgICAuLi4oc2Vjb25kYXJ5TGFiZWxzW1dpZGdldFdpemFyZFN0ZXAuVFlQRV0gJiYge1xuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLlRZUEVdKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBkaXNhYmxlZDogZWRpdE1vZGUsXG4gICAgICAgICAgY29tcGxldGU6ICEhdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLnNlbGVjdGVkV2lkZ2V0KCk/LnR5cGUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dpZGdldFRhYk1hbmFnZW1lbnQud2l6YXJkLnN0ZXBzLndpZHRoJyksXG4gICAgICAgICAgLi4uKHNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLldJRFRIXSAmJiB7XG4gICAgICAgICAgICBzZWNvbmRhcnlMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoc2Vjb25kYXJ5TGFiZWxzW1dpZGdldFdpemFyZFN0ZXAuV0lEVEhdKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBkaXNhYmxlZDogIXNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLlRZUEVdLFxuICAgICAgICAgIGNvbXBsZXRlOiAhIXRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRXaWR0aCgpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3aWRnZXRUYWJNYW5hZ2VtZW50LndpemFyZC5zdGVwcy5zdHlsZScpLFxuICAgICAgICAgIC4uLihzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5TVFlMRV0gJiYge1xuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLlNUWUxFXSksXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZGlzYWJsZWQ6ICFzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5XSURUSF0sXG4gICAgICAgICAgY29tcGxldGU6ICEhdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFN0eWxlKCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dpZGdldFRhYk1hbmFnZW1lbnQud2l6YXJkLnN0ZXBzLmNvbnRlbnQnKSxcbiAgICAgICAgICBkaXNhYmxlZDpcbiAgICAgICAgICAgICFzZWNvbmRhcnlMYWJlbHNbV2lkZ2V0V2l6YXJkU3RlcC5UWVBFXSB8fFxuICAgICAgICAgICAgIXNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLldJRFRIXSB8fFxuICAgICAgICAgICAgIXNlY29uZGFyeUxhYmVsc1tXaWRnZXRXaXphcmRTdGVwLlNUWUxFXSxcbiAgICAgICAgICBjb21wbGV0ZTogISF0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRTdGVwVmFsaWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwdWJsaWMgcmVhZG9ubHkgY3VycmVudFN0ZXAgPSBzaWduYWw8V2lkZ2V0V2l6YXJkU3RlcD4oV2lkZ2V0V2l6YXJkU3RlcC5UWVBFKTtcbiAgcHVibGljIHJlYWRvbmx5IGJhY2tCdXR0b25EaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+ID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLmVkaXRNb2RlKCkgJiYgdGhpcy5jdXJyZW50U3RlcCgpID09PSBXaWRnZXRXaXphcmRTdGVwLldJRFRIXG4gICk7XG4gIHB1YmxpYyBuZXh0QnV0dG9uRGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRTdGVwKCkpIHtcbiAgICAgIGNhc2UgV2lkZ2V0V2l6YXJkU3RlcC5UWVBFOlxuICAgICAgICByZXR1cm4gIXRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5zZWxlY3RlZFdpZGdldCgpO1xuICAgICAgY2FzZSBXaWRnZXRXaXphcmRTdGVwLldJRFRIOlxuICAgICAgICByZXR1cm4gIXRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRXaWR0aCgpO1xuICAgICAgY2FzZSBXaWRnZXRXaXphcmRTdGVwLlNUWUxFOlxuICAgICAgICByZXR1cm4gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFN0eWxlKCkgPT09IG51bGw7XG4gICAgICBjYXNlIFdpZGdldFdpemFyZFN0ZXAuQ09OVEVOVDpcbiAgICAgICAgcmV0dXJuIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgPT09IG51bGwgfHwgIXRoaXMuX2NvbnRlbnRTdGVwVmFsaWQoKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0V2l6YXJkU2VydmljZTogV2lkZ2V0V2l6YXJkU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG9uU3RlcFNlbGVjdGVkKGV2ZW50OiB7c3RlcDogU3RlcDsgaW5kZXg6IFdpZGdldFdpemFyZFN0ZXB9KTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50U3RlcC5zZXQoZXZlbnQuaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG9uTmV4dEJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRTdGVwKCkgPT09IFdpZGdldFdpemFyZFN0ZXAuQ09OVEVOVCkge1xuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldHNDb25maWcoKSk7XG4gICAgICB0aGlzLnJlc2V0V2l6YXJkKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jdXJyZW50U3RlcC51cGRhdGUoKHN0ZXA6IFdpZGdldFdpemFyZFN0ZXApID0+IHN0ZXAgKyAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJhY2tCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmN1cnJlbnRTdGVwLnVwZGF0ZSgoc3RlcDogV2lkZ2V0V2l6YXJkU3RlcCkgPT4gc3RlcCAtIDEpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQobnVsbCk7XG4gICAgdGhpcy5yZXNldFdpemFyZCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ29udGVudFZhbGlkRXZlbnQodmFsaWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50U3RlcFZhbGlkLnNldCh2YWxpZCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0V2l6YXJkKCk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLnJlc2V0V2l6YXJkKCk7XG4gICAgICB0aGlzLmN1cnJlbnRTdGVwLnNldChXaWRnZXRXaXphcmRTdGVwLlRZUEUpO1xuICAgIH0sIENBUkJPTl9DT05TVEFOVFMubW9kYWxBbmltYXRpb25Ncyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGNkcy1tb2RhbFxuICAqbmdJZj1cIntzdGVwczogc3RlcHMkIHwgYXN5bmN9IGFzIG9ic1wiXG4gIFtvcGVuXT1cIm9wZW5cIlxuICBzaG93Rm9vdGVyPVwidHJ1ZVwiXG4gIHNpemU9XCJsZ1wiXG4gIHZhbHRpbW9DZHNNb2RhbFxuICBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmRcIlxuPlxuICA8Y2RzLW1vZGFsLWhlYWRlciBbc2hvd0Nsb3NlQnV0dG9uXT1cInRydWVcIiAoY2xvc2VTZWxlY3QpPVwib25DbG9zZSgpXCI+XG4gICAgPGgzIGNkc01vZGFsSGVhZGVySGVhZGluZz5cbiAgICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LndpemFyZC4nICsgKGVkaXRNb2RlID8gJ2VkaXQnIDogJ2NyZWF0ZScpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9oMz5cbiAgPC9jZHMtbW9kYWwtaGVhZGVyPlxuXG4gIDxzZWN0aW9uIGNkc01vZGFsQ29udGVudCBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmRfX2NvbnRlbnRcIj5cbiAgICA8Y2RzLXByb2dyZXNzLWluZGljYXRvclxuICAgICAgW2N1cnJlbnRdPVwiY3VycmVudFN0ZXAoKVwiXG4gICAgICBbc2tlbGV0b25dPVwiIW9icy5zdGVwc1wiXG4gICAgICBbc3BhY2luZ109XCInZXF1YWwnXCJcbiAgICAgIFtzdGVwc109XCJvYnMuc3RlcHNcIlxuICAgICAgKHN0ZXBTZWxlY3RlZCk9XCJvblN0ZXBTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9jZHMtcHJvZ3Jlc3MtaW5kaWNhdG9yPlxuXG4gICAgQHN3aXRjaCAoY3VycmVudFN0ZXAoKSkge1xuICAgICAgQGNhc2UgKFdpZGdldFdpemFyZFN0ZXBzLlRZUEUpIHtcbiAgICAgICAgPHA+e3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQudHlwZXMuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC9wPlxuXG4gICAgICAgIDx2YWx0aW1vLXdpZGdldC13aXphcmQtdHlwZS1zdGVwXG4gICAgICAgICAgY2xhc3M9XCJ2YWx0aW1vLXdpZGdldC13aXphcmQtc3RlcFwiXG4gICAgICAgID48L3ZhbHRpbW8td2lkZ2V0LXdpemFyZC10eXBlLXN0ZXA+XG4gICAgICB9XG4gICAgICBAY2FzZSAoV2lkZ2V0V2l6YXJkU3RlcHMuV0lEVEgpIHtcbiAgICAgICAgPHA+e3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQud2lkdGguZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC9wPlxuXG4gICAgICAgIDx2YWx0aW1vLXdpZGdldC13aXphcmQtd2lkdGgtc3RlcFxuICAgICAgICAgIGNsYXNzPVwidmFsdGltby13aWRnZXQtd2l6YXJkLXN0ZXBcIlxuICAgICAgICA+PC92YWx0aW1vLXdpZGdldC13aXphcmQtd2lkdGgtc3RlcD5cbiAgICAgIH1cbiAgICAgIEBjYXNlIChXaWRnZXRXaXphcmRTdGVwcy5TVFlMRSkge1xuICAgICAgICA8cD57eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5zdHlsZS5kZXNjcmlwdGlvbicgfCB0cmFuc2xhdGUgfX08L3A+XG5cbiAgICAgICAgPHZhbHRpbW8td2lkZ2V0LXdpemFyZC1zdHlsZS1zdGVwXG4gICAgICAgICAgY2xhc3M9XCJ2YWx0aW1vLXdpZGdldC13aXphcmQtc3RlcFwiXG4gICAgICAgID48L3ZhbHRpbW8td2lkZ2V0LXdpemFyZC1zdHlsZS1zdGVwPlxuICAgICAgfVxuICAgICAgQGNhc2UgKFdpZGdldFdpemFyZFN0ZXBzLkNPTlRFTlQpIHtcbiAgICAgICAgPHZhbHRpbW8td2lkZ2V0LXdpemFyZC1jb250ZW50LXN0ZXBcbiAgICAgICAgICAoY29udGVudFZhbGlkRXZlbnQpPVwib25Db250ZW50VmFsaWRFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgPjwvdmFsdGltby13aWRnZXQtd2l6YXJkLWNvbnRlbnQtc3RlcD5cbiAgICAgIH1cbiAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPHA+e3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQudHlwZXMuZGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19PC9wPlxuXG4gICAgICAgIDx2YWx0aW1vLXdpZGdldC13aXphcmQtdHlwZS1zdGVwPjwvdmFsdGltby13aWRnZXQtd2l6YXJkLXR5cGUtc3RlcD5cbiAgICAgIH1cbiAgICB9XG4gIDwvc2VjdGlvbj5cblxuICA8Y2RzLW1vZGFsLWZvb3RlciBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC13aXphcmRfX2Zvb3RlclwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZF9fY2FuY2VsXCJcbiAgICAgIGNkc0J1dHRvbj1cImdob3N0XCJcbiAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIlxuICAgID5cbiAgICAgIHt7ICdpbnRlcmZhY2UuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgQGlmIChjdXJyZW50U3RlcCgpICE9PSBXaWRnZXRXaXphcmRTdGVwcy5UWVBFKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXdpemFyZF9fYmFja1wiXG4gICAgICAgIGNkc0J1dHRvbj1cInNlY29uZGFyeVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJiYWNrQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgIChjbGljayk9XCJvbkJhY2tCdXR0b25DbGljaygpXCJcbiAgICAgID5cbiAgICAgICAge3sgJ2ludGVyZmFjZS5iYWNrJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtd2l6YXJkX19uZXh0XCJcbiAgICAgIGNkc0J1dHRvbj1cInByaW1hcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cIm5leHRCdXR0b25EaXNhYmxlZCgpXCJcbiAgICAgIChjbGljayk9XCJvbk5leHRCdXR0b25DbGljaygpXCJcbiAgICA+XG4gICAgICB7e1xuICAgICAgICAnaW50ZXJmYWNlLicgKyAoY3VycmVudFN0ZXAoKSA9PT0gV2lkZ2V0V2l6YXJkU3RlcHMuQ09OVEVOVCA/ICdzYXZlJyA6ICduZXh0JykgfCB0cmFuc2xhdGVcbiAgICAgIH19XG4gICAgPC9idXR0b24+XG4gIDwvY2RzLW1vZGFsLWZvb3Rlcj5cbjwvY2RzLW1vZGFsPlxuIl19
@@ -1,6 +1,6 @@
1
1
  import { computed, Injectable, signal } from '@angular/core';
2
- import { WidgetStyle } from '../models';
3
2
  import { CaseWidgetType, } from '@valtimo/dossier';
3
+ import { WidgetStyle } from '../models';
4
4
  import * as i0 from "@angular/core";
5
5
  export class WidgetWizardService {
6
6
  constructor() {
@@ -10,6 +10,7 @@ export class WidgetWizardService {
10
10
  this.widgetContent = signal(null);
11
11
  this.widgetTitle = signal(null);
12
12
  this.widgetKey = signal(null);
13
+ this.widgetActions = signal(undefined);
13
14
  this.widgetsConfig = computed(() => ({
14
15
  key: this.widgetKey() ?? '',
15
16
  title: this.widgetTitle() ?? '',
@@ -17,6 +18,7 @@ export class WidgetWizardService {
17
18
  width: this.widgetWidth() ?? 4,
18
19
  highContrast: (this.widgetStyle() ?? WidgetStyle.DEFAULT) === WidgetStyle.HIGH_CONTRAST,
19
20
  properties: this.widgetContent() ?? {},
21
+ actions: this.widgetActions() ?? [],
20
22
  }));
21
23
  this.editMode = signal(false);
22
24
  }
@@ -27,6 +29,7 @@ export class WidgetWizardService {
27
29
  this.widgetContent.set(null);
28
30
  this.widgetTitle.set(null);
29
31
  this.widgetKey.set(null);
32
+ this.widgetActions.set(undefined);
30
33
  this.editMode.set(false);
31
34
  }
32
35
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: WidgetWizardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
@@ -38,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
38
41
  providedIn: 'root',
39
42
  }]
40
43
  }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXdpemFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9zZXJ2aWNlcy93aWRnZXQtd2l6YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUMsV0FBVyxFQUFzQixNQUFNLFdBQVcsQ0FBQztBQUMzRCxPQUFPLEVBRUwsY0FBYyxHQUdmLE1BQU0sa0JBQWtCLENBQUM7O0FBTTFCLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJa0IsbUJBQWMsR0FBK0MsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFFLGdCQUFXLEdBQTJDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxnQkFBVyxHQUF1QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0Qsa0JBQWEsR0FBbUQsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdFLGdCQUFXLEdBQWtDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxRCxjQUFTLEdBQWtDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxrQkFBYSxHQUE0QixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2RSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxJQUFJLGNBQWMsQ0FBQyxNQUFNO1lBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztZQUM5QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFdBQVcsQ0FBQyxhQUFhO1lBQ3ZGLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUssRUFBVTtTQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVZLGFBQVEsR0FBNEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBV25FO0lBVFEsV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQWhDVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgSW5qZWN0YWJsZSwgU2lnbmFsLCBzaWduYWwsIFdyaXRhYmxlU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V2lkZ2V0U3R5bGUsIFdpZGdldFR5cGVTZWxlY3Rpb259IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBCYXNpY0Nhc2VXaWRnZXQsXG4gIENhc2VXaWRnZXRUeXBlLFxuICBDYXNlV2lkZ2V0V2lkdGgsXG4gIFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzLFxufSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnRXaWRnZXRDb2xsZWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRXaXphcmRTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkV2lkZ2V0OiBXcml0YWJsZVNpZ25hbDxXaWRnZXRUeXBlU2VsZWN0aW9uIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldFdpZHRoOiBXcml0YWJsZVNpZ25hbDxDYXNlV2lkZ2V0V2lkdGggfCBudWxsPiA9IHNpZ25hbChudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0U3R5bGU6IFdyaXRhYmxlU2lnbmFsPFdpZGdldFN0eWxlIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldENvbnRlbnQ6IFdyaXRhYmxlU2lnbmFsPFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldFRpdGxlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmcgfCBudWxsPiA9IHNpZ25hbChudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0S2V5OiBXcml0YWJsZVNpZ25hbDxzdHJpbmcgfCBudWxsPiA9IHNpZ25hbChudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0c0NvbmZpZzogU2lnbmFsPEJhc2ljQ2FzZVdpZGdldD4gPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIGtleTogdGhpcy53aWRnZXRLZXkoKSA/PyAnJyxcbiAgICB0aXRsZTogdGhpcy53aWRnZXRUaXRsZSgpID8/ICcnLFxuICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRXaWRnZXQoKT8udHlwZSA/PyBDYXNlV2lkZ2V0VHlwZS5GSUVMRFMsXG4gICAgd2lkdGg6IHRoaXMud2lkZ2V0V2lkdGgoKSA/PyA0LFxuICAgIGhpZ2hDb250cmFzdDogKHRoaXMud2lkZ2V0U3R5bGUoKSA/PyBXaWRnZXRTdHlsZS5ERUZBVUxUKSA9PT0gV2lkZ2V0U3R5bGUuSElHSF9DT05UUkFTVCxcbiAgICBwcm9wZXJ0aWVzOiB0aGlzLndpZGdldENvbnRlbnQoKSA/PyAoe30gYXMgYW55KSxcbiAgfSkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlZGl0TW9kZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyByZXNldFdpemFyZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0LnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldFdpZHRoLnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldFN0eWxlLnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldENvbnRlbnQuc2V0KG51bGwpO1xuICAgIHRoaXMud2lkZ2V0VGl0bGUuc2V0KG51bGwpO1xuICAgIHRoaXMud2lkZ2V0S2V5LnNldChudWxsKTtcbiAgICB0aGlzLmVkaXRNb2RlLnNldChmYWxzZSk7XG4gIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXdpemFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9zZXJ2aWNlcy93aWRnZXQtd2l6YXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxVQUFVLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBR0wsY0FBYyxHQUdmLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFDLFdBQVcsRUFBc0IsTUFBTSxXQUFXLENBQUM7O0FBSzNELE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJa0IsbUJBQWMsR0FBK0MsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFFLGdCQUFXLEdBQTJDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSxnQkFBVyxHQUF1QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0Qsa0JBQWEsR0FBbUQsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdFLGdCQUFXLEdBQWtDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxRCxjQUFTLEdBQWtDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxrQkFBYSxHQUFtRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEYsa0JBQWEsR0FBNEIsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdkUsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFO1lBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRTtZQUMvQixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksSUFBSSxjQUFjLENBQUMsTUFBTTtZQUMxRCxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7WUFDOUIsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxXQUFXLENBQUMsYUFBYTtZQUN2RixVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFLLEVBQVU7WUFDL0MsT0FBTyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFO1NBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRVksYUFBUSxHQUE0QixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FZbkU7SUFWUSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBcENVLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NvbXB1dGVkLCBJbmplY3RhYmxlLCBTaWduYWwsIHNpZ25hbCwgV3JpdGFibGVTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmFzaWNDYXNlV2lkZ2V0LFxuICBDYXNlV2lkZ2V0QWN0aW9uLFxuICBDYXNlV2lkZ2V0VHlwZSxcbiAgQ2FzZVdpZGdldFdpZHRoLFxuICBXaWRnZXRDb250ZW50UHJvcGVydGllcyxcbn0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge1dpZGdldFN0eWxlLCBXaWRnZXRUeXBlU2VsZWN0aW9ufSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0V2l6YXJkU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFdpZGdldDogV3JpdGFibGVTaWduYWw8V2lkZ2V0VHlwZVNlbGVjdGlvbiB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRXaWR0aDogV3JpdGFibGVTaWduYWw8Q2FzZVdpZGdldFdpZHRoIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldFN0eWxlOiBXcml0YWJsZVNpZ25hbDxXaWRnZXRTdHlsZSB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRDb250ZW50OiBXcml0YWJsZVNpZ25hbDxXaWRnZXRDb250ZW50UHJvcGVydGllcyB8IG51bGw+ID0gc2lnbmFsKG51bGwpO1xuXG4gIHB1YmxpYyByZWFkb25seSB3aWRnZXRUaXRsZTogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldEtleTogV3JpdGFibGVTaWduYWw8c3RyaW5nIHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldEFjdGlvbnM6IFdyaXRhYmxlU2lnbmFsPENhc2VXaWRnZXRBY3Rpb25bXSB8IHVuZGVmaW5lZD4gPSBzaWduYWwodW5kZWZpbmVkKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0c0NvbmZpZzogU2lnbmFsPEJhc2ljQ2FzZVdpZGdldD4gPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIGtleTogdGhpcy53aWRnZXRLZXkoKSA/PyAnJyxcbiAgICB0aXRsZTogdGhpcy53aWRnZXRUaXRsZSgpID8/ICcnLFxuICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRXaWRnZXQoKT8udHlwZSA/PyBDYXNlV2lkZ2V0VHlwZS5GSUVMRFMsXG4gICAgd2lkdGg6IHRoaXMud2lkZ2V0V2lkdGgoKSA/PyA0LFxuICAgIGhpZ2hDb250cmFzdDogKHRoaXMud2lkZ2V0U3R5bGUoKSA/PyBXaWRnZXRTdHlsZS5ERUZBVUxUKSA9PT0gV2lkZ2V0U3R5bGUuSElHSF9DT05UUkFTVCxcbiAgICBwcm9wZXJ0aWVzOiB0aGlzLndpZGdldENvbnRlbnQoKSA/PyAoe30gYXMgYW55KSxcbiAgICBhY3Rpb25zOiB0aGlzLndpZGdldEFjdGlvbnMoKSA/PyBbXSxcbiAgfSkpO1xuXG4gIHB1YmxpYyByZWFkb25seSBlZGl0TW9kZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyByZXNldFdpemFyZCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0LnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldFdpZHRoLnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldFN0eWxlLnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldENvbnRlbnQuc2V0KG51bGwpO1xuICAgIHRoaXMud2lkZ2V0VGl0bGUuc2V0KG51bGwpO1xuICAgIHRoaXMud2lkZ2V0S2V5LnNldChudWxsKTtcbiAgICB0aGlzLndpZGdldEFjdGlvbnMuc2V0KHVuZGVmaW5lZCk7XG4gICAgdGhpcy5lZGl0TW9kZS5zZXQoZmFsc2UpO1xuICB9XG59XG4iXX0=