@valtimo/plugin 12.20.1 → 12.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.module.mjs +25 -6
  2. package/esm2022/lib/plugins/besluiten-api/besluiten-api-plugin.specification.mjs +35 -10
  3. package/esm2022/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.mjs +75 -0
  4. package/esm2022/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.mjs +132 -0
  5. package/esm2022/lib/plugins/besluiten-api/models/config.mjs +1 -1
  6. package/esm2022/lib/plugins/besluiten-api/models/patch-besluit-properties.mjs +27 -0
  7. package/esm2022/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.mjs +75 -0
  8. package/esm2022/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.mjs +154 -12
  9. package/esm2022/lib/plugins/zaken-api/models/config.mjs +1 -1
  10. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.module.mjs +17 -6
  11. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.specification.mjs +24 -1
  12. package/esm2022/public-api.mjs +4 -1
  13. package/fesm2022/valtimo-plugin.mjs +534 -34
  14. package/fesm2022/valtimo-plugin.mjs.map +1 -1
  15. package/lib/plugins/besluiten-api/besluiten-api-plugin.module.d.ts +8 -6
  16. package/lib/plugins/besluiten-api/besluiten-api-plugin.module.d.ts.map +1 -1
  17. package/lib/plugins/besluiten-api/besluiten-api-plugin.specification.d.ts.map +1 -1
  18. package/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.d.ts +24 -0
  19. package/lib/plugins/besluiten-api/components/get-besluit/get-besluit-configuration.component.d.ts.map +1 -0
  20. package/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.d.ts +39 -0
  21. package/lib/plugins/besluiten-api/components/patch-zaak-besluit/patch-zaak-besluit-configuration.component.d.ts.map +1 -0
  22. package/lib/plugins/besluiten-api/models/config.d.ts +17 -1
  23. package/lib/plugins/besluiten-api/models/config.d.ts.map +1 -1
  24. package/lib/plugins/besluiten-api/models/patch-besluit-properties.d.ts +3 -0
  25. package/lib/plugins/besluiten-api/models/patch-besluit-properties.d.ts.map +1 -0
  26. package/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.d.ts +24 -0
  27. package/lib/plugins/zaken-api/components/get-zaakbesluiten/get-zaakbesluiten-configuration.component.d.ts.map +1 -0
  28. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts +18 -2
  29. package/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.d.ts.map +1 -1
  30. package/lib/plugins/zaken-api/models/config.d.ts +6 -1
  31. package/lib/plugins/zaken-api/models/config.d.ts.map +1 -1
  32. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts +7 -6
  33. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts.map +1 -1
  34. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/public-api.d.ts +3 -0
  37. package/public-api.d.ts.map +1 -1
@@ -0,0 +1,132 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { BehaviorSubject, combineLatest, take } from 'rxjs';
3
+ import { Add16, TrashCan16 } from '@carbon/icons';
4
+ import { PatchBesluitPropertyOptions, } from '../../models/patch-besluit-properties';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "carbon-components-angular";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@valtimo/components";
9
+ import * as i4 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
10
+ export class PatchZaakBesluitConfigurationComponent {
11
+ constructor(iconService) {
12
+ this.iconService = iconService;
13
+ this.valid = new EventEmitter();
14
+ this.configuration = new EventEmitter();
15
+ this.propertyOptions = [...PatchBesluitPropertyOptions];
16
+ this.propertyList = [];
17
+ this._formValue$ = new BehaviorSubject(null);
18
+ this._properties = new Map();
19
+ this._valid$ = new BehaviorSubject(false);
20
+ this._prefillConfig = null;
21
+ this.iconService.registerAll([Add16, TrashCan16]);
22
+ }
23
+ ngOnInit() {
24
+ this.openSaveSubscription();
25
+ this.prefillConfiguration$.pipe(take(1)).subscribe(prefill => {
26
+ if (!prefill)
27
+ return;
28
+ this._prefillConfig = prefill;
29
+ const prefilledProperties = this.propertyOptions.filter(property => !!this.prefillValueFor(property, prefill));
30
+ this.propertyList = [...prefilledProperties];
31
+ });
32
+ }
33
+ ngOnDestroy() {
34
+ this._saveSubscription?.unsubscribe();
35
+ }
36
+ onFormValueChanged(formValue) {
37
+ this._formValue$.next(formValue);
38
+ this.handleValid(formValue);
39
+ }
40
+ onPropertyChanged(property, value) {
41
+ this._properties.set(property, value);
42
+ const formValue = this._formValue$.value;
43
+ if (!formValue)
44
+ return;
45
+ this._properties.forEach((propValue, key) => {
46
+ formValue[key] = propValue;
47
+ });
48
+ this.onFormValueChanged(formValue);
49
+ }
50
+ prefillValueFor(property, prefill) {
51
+ return prefill ? (prefill[property] ?? null) : null;
52
+ }
53
+ translationKeyFor(property) {
54
+ return property === 'description' ? 'omschrijving' : property;
55
+ }
56
+ translationKeyForPropertyList(property) {
57
+ return this.translationKeyFor(property);
58
+ }
59
+ addProperty(property) {
60
+ if (!this.propertyList.includes(property)) {
61
+ this.propertyList = [...this.propertyList, property];
62
+ const formValue = this._formValue$.value;
63
+ if (formValue)
64
+ this.handleValid(formValue);
65
+ }
66
+ }
67
+ removeProperty(property) {
68
+ if (this.propertyList.includes(property)) {
69
+ this.propertyList = this.propertyList.filter(p => p !== property);
70
+ this._properties.delete(property);
71
+ const formValue = this._formValue$.value;
72
+ if (formValue) {
73
+ formValue[property] = undefined;
74
+ this.handleValid(formValue);
75
+ }
76
+ }
77
+ }
78
+ hasPropertyBeenAdded(property) {
79
+ return this.propertyList.includes(property);
80
+ }
81
+ handleValid(formValue) {
82
+ const combined = {
83
+ ...(this._prefillConfig || {}),
84
+ ...formValue,
85
+ };
86
+ const besluitUrlValid = !!combined.besluitUrl;
87
+ const dynamicValid = this.propertyList.every(p => !!combined[p]);
88
+ const valid = besluitUrlValid && dynamicValid;
89
+ this._valid$.next(valid);
90
+ this.valid.emit(valid);
91
+ }
92
+ openSaveSubscription() {
93
+ this._saveSubscription = this.save$?.subscribe(() => {
94
+ combineLatest([this._formValue$, this._valid$])
95
+ .pipe(take(1))
96
+ .subscribe(([formValue, valid]) => {
97
+ if (!valid || !formValue)
98
+ return;
99
+ const combined = {
100
+ ...(this._prefillConfig || {}),
101
+ ...formValue,
102
+ };
103
+ const payload = {
104
+ besluitUrl: combined.besluitUrl,
105
+ };
106
+ this.propertyList.forEach(property => {
107
+ payload[property] = combined[property];
108
+ });
109
+ this.configuration.emit(payload);
110
+ });
111
+ });
112
+ }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PatchZaakBesluitConfigurationComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: PatchZaakBesluitConfigurationComponent, selector: "valtimo-patch-zaak-besluit-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakBesluitInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n ></v-input>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchBesluitProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"translationKeyFor(property + 'Tooltip') | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n ></v-input>\n </div>\n\n <div class=\"col-1\">\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n</ng-template>\n", styles: [".delete-button{height:46px;width:46px;margin-top:20px}.delete-button:hover{background-color:#e12717}.add-button{margin-block-end:var(--v-input-margin)}::ng-deep .cds--overflow-menu-options{z-index:10000!important;width:230px}\n/*!\n * Copyright 2015-2025 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: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i3.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "directive", type: i1.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i1.OverflowMenuDirective, selector: "[cdsOverflowMenu], [ibmOverflowMenu]", inputs: ["ibmOverflowMenu", "cdsOverflowMenu", "flip", "offset", "wrapperClass", "customPane"], exportAs: ["overflowMenu"] }, { kind: "component", type: i1.OverflowMenuOption, selector: "cds-overflow-menu-option, ibm-overflow-menu-option", inputs: ["divider", "type", "disabled", "href", "target", "innerClass"], outputs: ["selected"] }, { kind: "directive", type: i1.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.PluginTranslatePipe, name: "pluginTranslate" }] }); }
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PatchZaakBesluitConfigurationComponent, decorators: [{
117
+ type: Component,
118
+ args: [{ standalone: false, selector: 'valtimo-patch-zaak-besluit-configuration', template: "<ng-container\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-paragraph [margin]=\"true\" [italic]=\"true\">\n {{ 'patchZaakBesluitInformation' | pluginTranslate: pluginId | async }}\n </v-paragraph>\n\n <v-form (valueChange)=\"onFormValueChanged($event)\">\n <v-input\n name=\"besluitUrl\"\n [title]=\"'besluitUrl' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.besluitUrl\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'besluitUrlTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n ></v-input>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <button\n cdsButton=\"primary\"\n [size]=\"'md'\"\n [cdsOverflowMenu]=\"addPropertyList\"\n [customPane]=\"true\"\n placement=\"bottom\"\n class=\"add-button\"\n >\n {{ 'addPatchBesluitProperty' | pluginTranslate: pluginId | async }}\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n\n @for (property of propertyList; track property) {\n <div class=\"row\">\n <div class=\"col-11\">\n <v-input\n [name]=\"property\"\n [title]=\"translationKeyFor(property) | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"prefillValueFor(property, obs.prefill)\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"translationKeyFor(property + 'Tooltip') | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n (valueChange)=\"onPropertyChanged(property, $event)\"\n ></v-input>\n </div>\n\n <div class=\"col-1\">\n <button class=\"btn btn-space delete-button\" (click)=\"removeProperty(property)\">\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </div>\n </div>\n }\n </v-form>\n</ng-container>\n\n<ng-template #addPropertyList>\n @for (propertyOption of propertyOptions; track propertyOption) {\n <cds-overflow-menu-option\n *ngIf=\"!hasPropertyBeenAdded(propertyOption)\"\n (click)=\"addProperty(propertyOption)\"\n >\n {{ translationKeyForPropertyList(propertyOption) | pluginTranslate: pluginId | async }}\n </cds-overflow-menu-option>\n }\n</ng-template>\n", styles: [".delete-button{height:46px;width:46px;margin-top:20px}.delete-button:hover{background-color:#e12717}.add-button{margin-block-end:var(--v-input-margin)}::ng-deep .cds--overflow-menu-options{z-index:10000!important;width:230px}\n/*!\n * Copyright 2015-2025 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"] }]
119
+ }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { save$: [{
120
+ type: Input
121
+ }], disabled$: [{
122
+ type: Input
123
+ }], pluginId: [{
124
+ type: Input
125
+ }], prefillConfiguration$: [{
126
+ type: Input
127
+ }], valid: [{
128
+ type: Output
129
+ }], configuration: [{
130
+ type: Output
131
+ }] } });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtemFhay1iZXNsdWl0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvY29tcG9uZW50cy9wYXRjaC16YWFrLWJlc2x1aXQvcGF0Y2gtemFhay1iZXNsdWl0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvY29tcG9uZW50cy9wYXRjaC16YWFrLWJlc2x1aXQvcGF0Y2gtemFhay1iZXNsdWl0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQTRCLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVwRixPQUFPLEVBQUMsS0FBSyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRCxPQUFPLEVBRUwsMkJBQTJCLEdBQzVCLE1BQU0sdUNBQXVDLENBQUM7Ozs7OztBQVMvQyxNQUFNLE9BQU8sc0NBQXNDO0lBbUJqRCxZQUE2QixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVozQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRXJELG9CQUFlLEdBQTZCLENBQUMsR0FBRywyQkFBMkIsQ0FBQyxDQUFDO1FBQ3RGLGlCQUFZLEdBQTZCLEVBQUUsQ0FBQztRQUVsQyxnQkFB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UTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Z1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRha2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQYXRjaFphYWtCZXNsdWl0Q29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtBZGQxNiwgVHJhc2hDYW4xNn0gZnJvbSAnQGNhcmJvbi9pY29ucyc7XG5pbXBvcnQge1xuICBQYXRjaEJlc2x1aXRQcm9wZXJ0aWVzLFxuICBQYXRjaEJlc2x1aXRQcm9wZXJ0eU9wdGlvbnMsXG59IGZyb20gJy4uLy4uL21vZGVscy9wYXRjaC1iZXNsdWl0LXByb3BlcnRpZXMnO1xuaW1wb3J0IHtJY29uU2VydmljZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiBmYWxzZSxcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXBhdGNoLXphYWstYmVzbHVpdC1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdGNoLXphYWstYmVzbHVpdC1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGF0Y2gtemFhay1iZXNsdWl0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGF0Y2haYWFrQmVzbHVpdENvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHNhdmUkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIHBsdWdpbklkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxQYXRjaFphYWtCZXNsdWl0Q29uZmlnPjtcbiAgQE91dHB1dCgpIHZhbGlkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8UGF0Y2haYWFrQmVzbHVpdENvbmZpZz4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcHJvcGVydHlPcHRpb25zOiBQYXRjaEJlc2x1aXRQcm9wZXJ0aWVzW10gPSBbLi4uUGF0Y2hCZXNsdWl0UHJvcGVydHlPcHRpb25zXTtcbiAgcHVibGljIHByb3BlcnR5TGlzdDogUGF0Y2hCZXNsdWl0UHJvcGVydGllc1tdID0gW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGF0Y2haYWFrQmVzbHVpdENvbmZpZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wcm9wZXJ0aWVzID0gbmV3IE1hcDxQYXRjaEJlc2x1aXRQcm9wZXJ0aWVzLCBzdHJpbmc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9zYXZlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF9wcmVmaWxsQ29uZmlnOiBQYXRjaFphYWtCZXNsdWl0Q29uZmlnIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UpIHtcbiAgICB0aGlzLmljb25TZXJ2aWNlLnJlZ2lzdGVyQWxsKFtBZGQxNiwgVHJhc2hDYW4xNl0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcblxuICAgIHRoaXMucHJlZmlsbENvbmZpZ3VyYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHByZWZpbGwgPT4ge1xuICAgICAgaWYgKCFwcmVmaWxsKSByZXR1cm47XG5cbiAgICAgIHRoaXMuX3ByZWZpbGxDb25maWcgPSBwcmVmaWxsO1xuXG4gICAgICBjb25zdCBwcmVmaWxsZWRQcm9wZXJ0aWVzID0gdGhpcy5wcm9wZXJ0eU9wdGlvbnMuZmlsdGVyKFxuICAgICAgICBwcm9wZXJ0eSA9PiAhIXRoaXMucHJlZmlsbFZhbHVlRm9yKHByb3BlcnR5LCBwcmVmaWxsKVxuICAgICAgKTtcblxuICAgICAgdGhpcy5wcm9wZXJ0eUxpc3QgPSBbLi4ucHJlZmlsbGVkUHJvcGVydGllc107XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvcm1WYWx1ZUNoYW5nZWQoZm9ybVZhbHVlOiBQYXRjaFphYWtCZXNsdWl0Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5fZm9ybVZhbHVlJC5uZXh0KGZvcm1WYWx1ZSk7XG4gICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG9uUHJvcGVydHlDaGFuZ2VkKHByb3BlcnR5OiBQYXRjaEJlc2x1aXRQcm9wZXJ0aWVzLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fcHJvcGVydGllcy5zZXQocHJvcGVydHksIHZhbHVlKTtcblxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuX2Zvcm1WYWx1ZSQudmFsdWU7XG4gICAgaWYgKCFmb3JtVmFsdWUpIHJldHVybjtcblxuICAgIHRoaXMuX3Byb3BlcnRpZXMuZm9yRWFjaCgocHJvcFZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGZvcm1WYWx1ZVtrZXldID0gcHJvcFZhbHVlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5vbkZvcm1WYWx1ZUNoYW5nZWQoZm9ybVZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVmaWxsVmFsdWVGb3IocHJvcGVydHk6IHN0cmluZywgcHJlZmlsbDogUGF0Y2haYWFrQmVzbHVpdENvbmZpZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiBwcmVmaWxsID8gKChwcmVmaWxsIGFzIGFueSlbcHJvcGVydHldID8/IG51bGwpIDogbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2xhdGlvbktleUZvcihwcm9wZXJ0eTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcHJvcGVydHkgPT09ICdkZXNjcmlwdGlvbicgPyAnb21zY2hyaWp2aW5nJyA6IHByb3BlcnR5O1xuICB9XG5cbiAgcHVibGljIHRyYW5zbGF0aW9uS2V5Rm9yUHJvcGVydHlMaXN0KHByb3BlcnR5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uS2V5Rm9yKHByb3BlcnR5KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRQcm9wZXJ0eShwcm9wZXJ0eTogUGF0Y2hCZXNsdWl0UHJvcGVydGllcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5wcm9wZXJ0eUxpc3QuaW5jbHVkZXMocHJvcGVydHkpKSB7XG4gICAgICB0aGlzLnByb3BlcnR5TGlzdCA9IFsuLi50aGlzLnByb3BlcnR5TGlzdCwgcHJvcGVydHldO1xuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5fZm9ybVZhbHVlJC52YWx1ZTtcbiAgICAgIGlmIChmb3JtVmFsdWUpIHRoaXMuaGFuZGxlVmFsaWQoZm9ybVZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlUHJvcGVydHkocHJvcGVydHk6IFBhdGNoQmVzbHVpdFByb3BlcnRpZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wZXJ0eUxpc3QuaW5jbHVkZXMocHJvcGVydHkpKSB7XG4gICAgICB0aGlzLnByb3BlcnR5TGlzdCA9IHRoaXMucHJvcGVydHlMaXN0LmZpbHRlcihwID0+IHAgIT09IHByb3BlcnR5KTtcbiAgICAgIHRoaXMuX3Byb3BlcnRpZXMuZGVsZXRlKHByb3BlcnR5KTtcblxuICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5fZm9ybVZhbHVlJC52YWx1ZTtcbiAgICAgIGlmIChmb3JtVmFsdWUpIHtcbiAgICAgICAgKGZvcm1WYWx1ZSBhcyBhbnkpW3Byb3BlcnR5XSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNQcm9wZXJ0eUJlZW5BZGRlZChwcm9wZXJ0eTogUGF0Y2hCZXNsdWl0UHJvcGVydGllcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByb3BlcnR5TGlzdC5pbmNsdWRlcyhwcm9wZXJ0eSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbGlkKGZvcm1WYWx1ZTogUGF0Y2haYWFrQmVzbHVpdENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGNvbWJpbmVkOiBhbnkgPSB7XG4gICAgICAuLi4oKHRoaXMuX3ByZWZpbGxDb25maWcgYXMgYW55KSB8fCB7fSksXG4gICAgICAuLi4oZm9ybVZhbHVlIGFzIGFueSksXG4gICAgfTtcblxuICAgIGNvbnN0IGJlc2x1aXRVcmxWYWxpZCA9ICEhY29tYmluZWQuYmVzbHVpdFVybDtcbiAgICBjb25zdCBkeW5hbWljVmFsaWQgPSB0aGlzLnByb3BlcnR5TGlzdC5ldmVyeShwID0+ICEhY29tYmluZWRbcF0pO1xuICAgIGNvbnN0IHZhbGlkID0gYmVzbHVpdFVybFZhbGlkICYmIGR5bmFtaWNWYWxpZDtcblxuICAgIHRoaXMuX3ZhbGlkJC5uZXh0KHZhbGlkKTtcbiAgICB0aGlzLnZhbGlkLmVtaXQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2F2ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zYXZlU3Vic2NyaXB0aW9uID0gdGhpcy5zYXZlJD8uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2Zvcm1WYWx1ZSQsIHRoaXMuX3ZhbGlkJF0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFtmb3JtVmFsdWUsIHZhbGlkXSkgPT4ge1xuICAgICAgICAgIGlmICghdmFsaWQgfHwgIWZvcm1WYWx1ZSkgcmV0dXJuO1xuXG4gICAgICAgICAgY29uc3QgY29tYmluZWQ6IGFueSA9IHtcbiAgICAgICAgICAgIC4uLigodGhpcy5fcHJlZmlsbENvbmZpZyBhcyBhbnkpIHx8IHt9KSxcbiAgICAgICAgICAgIC4uLihmb3JtVmFsdWUgYXMgYW55KSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3QgcGF5bG9hZDogUGF0Y2haYWFrQmVzbHVpdENvbmZpZyA9IHtcbiAgICAgICAgICAgIGJlc2x1aXRVcmw6IGNvbWJpbmVkLmJlc2x1aXRVcmwsXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHRoaXMucHJvcGVydHlMaXN0LmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICAgICAgKHBheWxvYWQgYXMgYW55KVtwcm9wZXJ0eV0gPSBjb21iaW5lZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChwYXlsb2FkKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IHByZWZpbGxDb25maWd1cmF0aW9uJCA/IChwcmVmaWxsQ29uZmlndXJhdGlvbiQgfCBhc3luYykgOiBudWxsLFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2LXBhcmFncmFwaCBbbWFyZ2luXT1cInRydWVcIiBbaXRhbGljXT1cInRydWVcIj5cbiAgICB7eyAncGF0Y2haYWFrQmVzbHVpdEluZm9ybWF0aW9uJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luYyB9fVxuICA8L3YtcGFyYWdyYXBoPlxuXG4gIDx2LWZvcm0gKHZhbHVlQ2hhbmdlKT1cIm9uRm9ybVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPHYtaW5wdXRcbiAgICAgIG5hbWU9XCJiZXNsdWl0VXJsXCJcbiAgICAgIFt0aXRsZV09XCInYmVzbHVpdFVybCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LmJlc2x1aXRVcmxcIlxuICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICBbdHJpbV09XCJ0cnVlXCJcbiAgICAgIFt0b29sdGlwXT1cIidiZXNsdWl0VXJsVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICA+PC92LWlucHV0PlxuXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgW3NpemVdPVwiJ21kJ1wiXG4gICAgICAgICAgW2Nkc092ZXJmbG93TWVudV09XCJhZGRQcm9wZXJ0eUxpc3RcIlxuICAgICAgICAgIFtjdXN0b21QYW5lXT1cInRydWVcIlxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXG4gICAgICAgICAgY2xhc3M9XCJhZGQtYnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdhZGRQYXRjaEJlc2x1aXRQcm9wZXJ0eScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAZm9yIChwcm9wZXJ0eSBvZiBwcm9wZXJ0eUxpc3Q7IHRyYWNrIHByb3BlcnR5KSB7XG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTFcIj5cbiAgICAgICAgICA8di1pbnB1dFxuICAgICAgICAgICAgW25hbWVdPVwicHJvcGVydHlcIlxuICAgICAgICAgICAgW3RpdGxlXT1cInRyYW5zbGF0aW9uS2V5Rm9yKHByb3BlcnR5KSB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZV09XCJwcmVmaWxsVmFsdWVGb3IocHJvcGVydHksIG9icy5wcmVmaWxsKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0cmltXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwidHJhbnNsYXRpb25LZXlGb3IocHJvcGVydHkgKyAnVG9vbHRpcCcpIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25Qcm9wZXJ0eUNoYW5nZWQocHJvcGVydHksICRldmVudClcIlxuICAgICAgICAgID48L3YtaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMVwiPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNwYWNlIGRlbGV0ZS1idXR0b25cIiAoY2xpY2spPVwicmVtb3ZlUHJvcGVydHkocHJvcGVydHkpXCI+XG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwidHJhc2gtY2FuXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L3YtZm9ybT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2FkZFByb3BlcnR5TGlzdD5cbiAgQGZvciAocHJvcGVydHlPcHRpb24gb2YgcHJvcGVydHlPcHRpb25zOyB0cmFjayBwcm9wZXJ0eU9wdGlvbikge1xuICAgIDxjZHMtb3ZlcmZsb3ctbWVudS1vcHRpb25cbiAgICAgICpuZ0lmPVwiIWhhc1Byb3BlcnR5QmVlbkFkZGVkKHByb3BlcnR5T3B0aW9uKVwiXG4gICAgICAoY2xpY2spPVwiYWRkUHJvcGVydHkocHJvcGVydHlPcHRpb24pXCJcbiAgICA+XG4gICAgICB7eyB0cmFuc2xhdGlvbktleUZvclByb3BlcnR5TGlzdChwcm9wZXJ0eU9wdGlvbikgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICA8L2Nkcy1vdmVyZmxvdy1tZW51LW9wdGlvbj5cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export {};
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvbW9kZWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0lucHV0T3B0aW9ufSBmcm9tICcuL2lucHV0JztcblxuaW50ZXJmYWNlIEJlc2x1aXRlbkFwaUNvbmZpZyBleHRlbmRzIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhIHtcbiAgcnNpbjogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYXV0aGVudGljYXRpb25QbHVnaW5Db25maWd1cmF0aW9uOiBzdHJpbmc7XG59XG5cbnR5cGUgVmVydmFscmVkZW5lbiA9ICd0aWpkZWxpamsnIHwgJ2luZ2V0cm9ra2VuX292ZXJoZWlkJyB8ICdpbmdldHJva2tlbl9iZWxhbmdoZWJiZW5kZSc7XG5cbmludGVyZmFjZSBDcmVhdGVaYWFrQmVzbHVpdENvbmZpZyB7XG4gIGJlc2x1aXR0eXBlVXJsOiBzdHJpbmc7XG4gIHRvZWxpY2h0aW5nOiBzdHJpbmc7XG4gIGJlc3R1dXJzb3JnYWFuOiBzdHJpbmc7XG4gIGluZ2FuZ3NkYXR1bTogc3RyaW5nO1xuICB2ZXJ2YWxkYXR1bTogc3RyaW5nO1xuICB2ZXJ2YWxyZWRlbjogVmVydmFscmVkZW5lbjtcbiAgcHVibGljYXRpZWRhdHVtOiBzdHJpbmc7XG4gIHZlcnplbmRkYXR1bTogc3RyaW5nO1xuICB1aXRlcmxpamtlUmVhY3RpZURhdHVtOiBzdHJpbmc7XG4gIGNyZWF0ZWRCZXNsdWl0VXJsOiBzdHJpbmc7XG4gIGlucHV0VHlwZUJlc2x1aXRUb2dnbGU/OiBJbnB1dE9wdGlvbjtcbiAgaW5wdXRUeXBlU3RhcnRpbmdEYXRlVG9nZ2xlPzogSW5wdXRPcHRpb247XG4gIGlucHV0VHlwZUV4cGlyYXRpb25EYXRlVG9nZ2xlPzogSW5wdXRPcHRpb247XG59XG5pbnRlcmZhY2UgTGlua0RvY3VtZW50VG9CZXNsdWl0Q29uZmlnIHtcbiAgYmVzbHVpdFVybDogc3RyaW5nO1xuICBkb2N1bWVudFVybDogc3RyaW5nO1xufVxuXG5leHBvcnQge0Jlc2x1aXRlbkFwaUNvbmZpZywgQ3JlYXRlWmFha0Jlc2x1aXRDb25maWcsIFZlcnZhbHJlZGVuZW4sIExpbmtEb2N1bWVudFRvQmVzbHVpdENvbmZpZ307XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvbW9kZWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0lucHV0T3B0aW9ufSBmcm9tICcuL2lucHV0JztcblxuaW50ZXJmYWNlIEJlc2x1aXRlbkFwaUNvbmZpZyBleHRlbmRzIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhIHtcbiAgcnNpbjogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYXV0aGVudGljYXRpb25QbHVnaW5Db25maWd1cmF0aW9uOiBzdHJpbmc7XG59XG5cbnR5cGUgVmVydmFscmVkZW5lbiA9ICd0aWpkZWxpamsnIHwgJ2luZ2V0cm9ra2VuX292ZXJoZWlkJyB8ICdpbmdldHJva2tlbl9iZWxhbmdoZWJiZW5kZSc7XG5cbmludGVyZmFjZSBDcmVhdGVaYWFrQmVzbHVpdENvbmZpZyB7XG4gIGJlc2x1aXR0eXBlVXJsOiBzdHJpbmc7XG4gIHRvZWxpY2h0aW5nOiBzdHJpbmc7XG4gIGJlc3R1dXJzb3JnYWFuOiBzdHJpbmc7XG4gIGluZ2FuZ3NkYXR1bTogc3RyaW5nO1xuICB2ZXJ2YWxkYXR1bTogc3RyaW5nO1xuICB2ZXJ2YWxyZWRlbjogVmVydmFscmVkZW5lbjtcbiAgcHVibGljYXRpZWRhdHVtOiBzdHJpbmc7XG4gIHZlcnplbmRkYXR1bTogc3RyaW5nO1xuICB1aXRlcmxpamtlUmVhY3RpZURhdHVtOiBzdHJpbmc7XG4gIGNyZWF0ZWRCZXNsdWl0VXJsOiBzdHJpbmc7XG4gIGlucHV0VHlwZUJlc2x1aXRUb2dnbGU/OiBJbnB1dE9wdGlvbjtcbiAgaW5wdXRUeXBlU3RhcnRpbmdEYXRlVG9nZ2xlPzogSW5wdXRPcHRpb247XG4gIGlucHV0VHlwZUV4cGlyYXRpb25EYXRlVG9nZ2xlPzogSW5wdXRPcHRpb247XG59XG5pbnRlcmZhY2UgTGlua0RvY3VtZW50VG9CZXNsdWl0Q29uZmlnIHtcbiAgYmVzbHVpdFVybDogc3RyaW5nO1xuICBkb2N1bWVudFVybDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGF0Y2haYWFrQmVzbHVpdENvbmZpZyB7XG4gIGJlc2x1aXRVcmw6IHN0cmluZztcbiAgYmVzbGlzZGF0dW0/OiBzdHJpbmc7XG4gIHRvZWxpY2h0aW5nPzogc3RyaW5nO1xuICBiZXN0dXVyc29yZ2Fhbj86IHN0cmluZztcbiAgaW5nYW5nc2RhdHVtPzogc3RyaW5nO1xuICB2ZXJ2YWxkYXR1bT86IHN0cmluZztcbiAgdmVydmFscmVkZW4/OiBzdHJpbmc7XG4gIHB1YmxpY2F0aWVkYXR1bT86IHN0cmluZztcbiAgdmVyemVuZGRhdHVtPzogc3RyaW5nO1xuICB1aXRlcmxpamtlUmVhY3RpZWRhdHVtPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgR2V0QmVzbHVpdENvbmZpZyB7XG4gIGJlc2x1aXRVcmw6IHN0cmluZztcbiAgcmVzdWx0UHJvY2Vzc1ZhcmlhYmxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB7XG4gIEJlc2x1aXRlbkFwaUNvbmZpZyxcbiAgQ3JlYXRlWmFha0Jlc2x1aXRDb25maWcsXG4gIFZlcnZhbHJlZGVuZW4sXG4gIExpbmtEb2N1bWVudFRvQmVzbHVpdENvbmZpZyxcbiAgUGF0Y2haYWFrQmVzbHVpdENvbmZpZyxcbiAgR2V0QmVzbHVpdENvbmZpZyxcbn07XG4iXX0=
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export const PatchBesluitPropertyOptions = [
17
+ 'beslisdatum',
18
+ 'toelichting',
19
+ 'bestuursorgaan',
20
+ 'ingangsdatum',
21
+ 'vervaldatum',
22
+ 'vervalreden',
23
+ 'publicatiedatum',
24
+ 'verzenddatum',
25
+ 'uiterlijkeReactieDatum',
26
+ ];
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2gtYmVzbHVpdC1wcm9wZXJ0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvbW9kZWxzL3BhdGNoLWJlc2x1aXQtcHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQ3pDLGFBQWE7SUFDYixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxhQUFhO0lBQ2IsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsd0JBQXdCO0NBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNSBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgY29uc3QgUGF0Y2hCZXNsdWl0UHJvcGVydHlPcHRpb25zID0gW1xuICAnYmVzbGlzZGF0dW0nLFxuICAndG9lbGljaHRpbmcnLFxuICAnYmVzdHV1cnNvcmdhYW4nLFxuICAnaW5nYW5nc2RhdHVtJyxcbiAgJ3ZlcnZhbGRhdHVtJyxcbiAgJ3ZlcnZhbHJlZGVuJyxcbiAgJ3B1YmxpY2F0aWVkYXR1bScsXG4gICd2ZXJ6ZW5kZGF0dW0nLFxuICAndWl0ZXJsaWprZVJlYWN0aWVEYXR1bScsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgUGF0Y2hCZXNsdWl0UHJvcGVydGllcyA9ICh0eXBlb2YgUGF0Y2hCZXNsdWl0UHJvcGVydHlPcHRpb25zKVtudW1iZXJdO1xuIl19
@@ -0,0 +1,75 @@
1
+ /*
2
+ * Copyright 2015-2025 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
17
+ import { BehaviorSubject, combineLatest, take } from 'rxjs';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/common";
20
+ import * as i2 from "@valtimo/components";
21
+ import * as i3 from "../../../../pipes/plugin-translate/plugin-translate.pipe";
22
+ export class GetZaakbesluitenConfigurationComponent {
23
+ constructor() {
24
+ this.valid = new EventEmitter();
25
+ this.configuration = new EventEmitter();
26
+ this.formValue$ = new BehaviorSubject(null);
27
+ this.valid$ = new BehaviorSubject(false);
28
+ }
29
+ ngOnInit() {
30
+ this.openSaveSubscription();
31
+ this.valid.emit(true);
32
+ }
33
+ ngOnDestroy() {
34
+ this.saveSubscription?.unsubscribe();
35
+ }
36
+ openSaveSubscription() {
37
+ this.saveSubscription = this.save$?.subscribe(save => {
38
+ combineLatest([this.formValue$, this.valid$])
39
+ .pipe(take(1))
40
+ .subscribe(([formValue, valid]) => {
41
+ if (valid) {
42
+ this.configuration.emit(formValue);
43
+ }
44
+ });
45
+ });
46
+ }
47
+ formValueChange(formValue) {
48
+ this.formValue$.next(formValue);
49
+ this.handleValid(formValue);
50
+ }
51
+ handleValid(formValue) {
52
+ const valid = !!formValue.resultProcessVariable;
53
+ this.valid$.next(valid);
54
+ this.valid.emit(valid);
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetZaakbesluitenConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: GetZaakbesluitenConfigurationComponent, selector: "valtimo-get-zaakbesluiten-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2025 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.PluginTranslatePipe, name: "pluginTranslate" }] }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GetZaakbesluitenConfigurationComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'valtimo-get-zaakbesluiten-configuration', standalone: false, template: "<!--\n ~ Copyright 2015-2025 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<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"resultProcessVariable\"\n [title]=\"'resultProcessVariable' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [defaultValue]=\"obs.prefill?.resultProcessVariable\"\n [disabled]=\"obs.disabled\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'resultProcessVariableTooltip' | pluginTranslate: pluginId | async\"\n ></v-input>\n</v-form>\n" }]
62
+ }], propDecorators: { save$: [{
63
+ type: Input
64
+ }], disabled$: [{
65
+ type: Input
66
+ }], pluginId: [{
67
+ type: Input
68
+ }], prefillConfiguration$: [{
69
+ type: Input
70
+ }], valid: [{
71
+ type: Output
72
+ }], configuration: [{
73
+ type: Output
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXphYWtiZXNsdWl0ZW4tY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvZ2V0LXphYWtiZXNsdWl0ZW4vZ2V0LXphYWtiZXNsdWl0ZW4tY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvZ2V0LXphYWtiZXNsdWl0ZW4vZ2V0LXphYWtiZXNsdWl0ZW4tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXhGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUE0QixJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUXBGLE1BQU0sT0FBTyxzQ0FBc0M7SUFMbkQ7UUFZWSxVQUFLLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFDM0Qsa0JBQWEsR0FDckIsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFHNUIsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7S0FrQy9EO0lBaENRLFFBQVE7UUFDYixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkQsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDVixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckMsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQWlDO1FBQ3RELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUFpQztRQUNuRCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDO1FBRWhELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBOUNVLHNDQUFzQzttR0FBdEMsc0NBQXNDLHNRQzFCbkQsb3VDQWtDQTs7NEZEUmEsc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNFLHlDQUF5QyxjQUV2QyxLQUFLOzhCQUtSLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjUgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7R2V0WmFha2Jlc2x1aXRlbkNvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1nZXQtemFha2Jlc2x1aXRlbi1jb25maWd1cmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dldC16YWFrYmVzbHVpdGVuLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgR2V0WmFha2Jlc2x1aXRlbkNvbmZpZ3VyYXRpb25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHNhdmUkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIHBsdWdpbklkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxHZXRaYWFrYmVzbHVpdGVuQ29uZmlnPjtcbiAgQE91dHB1dCgpIHZhbGlkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjb25maWd1cmF0aW9uOiBFdmVudEVtaXR0ZXI8R2V0WmFha2Jlc2x1aXRlbkNvbmZpZz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8R2V0WmFha2Jlc2x1aXRlbkNvbmZpZz4oKTtcblxuICBwcml2YXRlIHNhdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R2V0WmFha2Jlc2x1aXRlbkNvbmZpZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TYXZlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy52YWxpZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uID0gdGhpcy5zYXZlJD8uc3Vic2NyaWJlKHNhdmUgPT4ge1xuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JtVmFsdWUkLCB0aGlzLnZhbGlkJF0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFtmb3JtVmFsdWUsIHZhbGlkXSkgPT4ge1xuICAgICAgICAgIGlmICh2YWxpZCkge1xuICAgICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmVtaXQoZm9ybVZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IEdldFphYWtiZXNsdWl0ZW5Db25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1WYWx1ZSQubmV4dChmb3JtVmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlVmFsaWQoZm9ybVZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVmFsaWQoZm9ybVZhbHVlOiBHZXRaYWFrYmVzbHVpdGVuQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgdmFsaWQgPSAhIWZvcm1WYWx1ZS5yZXN1bHRQcm9jZXNzVmFyaWFibGU7XG5cbiAgICB0aGlzLnZhbGlkJC5uZXh0KHZhbGlkKTtcbiAgICB0aGlzLnZhbGlkLmVtaXQodmFsaWQpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNSBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LWZvcm1cbiAgKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IHByZWZpbGxDb25maWd1cmF0aW9uJCA/IChwcmVmaWxsQ29uZmlndXJhdGlvbiQgfCBhc3luYykgOiBudWxsLFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInJlc3VsdFByb2Nlc3NWYXJpYWJsZVwiXG4gICAgW3RpdGxlXT1cIidyZXN1bHRQcm9jZXNzVmFyaWFibGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LnJlc3VsdFByb2Nlc3NWYXJpYWJsZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0cmltXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidyZXN1bHRQcm9jZXNzVmFyaWFibGVUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gID48L3YtaW5wdXQ+XG48L3YtZm9ybT5cbiJdfQ==