@valtimo-plugins/freemarker 8.0.0 → 8.1.1-V12

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 (70) hide show
  1. package/README.md +0 -1
  2. package/esm2022/lib/models/freemarker-template.mjs +17 -0
  3. package/esm2022/lib/models/index.mjs +17 -0
  4. package/esm2022/lib/plugins/document-generator/assets/document-generator-plugin-logo.mjs +18 -0
  5. package/esm2022/lib/plugins/document-generator/assets/index.mjs +17 -0
  6. package/esm2022/lib/plugins/document-generator/components/document-generator-configuration/document-generator-configuration.component.mjs +77 -0
  7. package/esm2022/lib/plugins/document-generator/components/document-template-add-edit-modal/document-template-add-edit-modal.component.mjs +117 -0
  8. package/esm2022/lib/plugins/document-generator/components/document-template-delete-modal/document-template-delete-modal.component.mjs +42 -0
  9. package/esm2022/lib/plugins/document-generator/components/document-template-editor/document-template-editor.component.mjs +211 -0
  10. package/esm2022/lib/plugins/document-generator/components/document-template-list/document-template-list.component.mjs +126 -0
  11. package/esm2022/lib/plugins/document-generator/components/generate-csv/generate-csv.component.mjs +94 -0
  12. package/esm2022/lib/plugins/document-generator/components/generate-pdf/generate-pdf.component.mjs +94 -0
  13. package/esm2022/lib/plugins/document-generator/document-generator-management-routing.module.mjs +48 -0
  14. package/esm2022/lib/plugins/document-generator/document-generator-plugin-module.mjs +137 -0
  15. package/esm2022/lib/plugins/document-generator/document-generator-plugin.specification.mjs +74 -0
  16. package/esm2022/lib/plugins/document-generator/models/config.mjs +18 -0
  17. package/esm2022/lib/plugins/document-generator/models/index.mjs +17 -0
  18. package/esm2022/lib/plugins/mail-template/assets/index.mjs +17 -0
  19. package/esm2022/lib/plugins/mail-template/assets/mail-template-plugin-logo.mjs +18 -0
  20. package/esm2022/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.mjs +94 -0
  21. package/esm2022/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.mjs +94 -0
  22. package/esm2022/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.mjs +92 -0
  23. package/esm2022/lib/plugins/mail-template/components/mail-template-configuration/mail-template-configuration.component.mjs +77 -0
  24. package/esm2022/lib/plugins/mail-template/components/mail-template-delete-modal/mail-template-delete-modal.component.mjs +40 -0
  25. package/esm2022/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.mjs +201 -0
  26. package/esm2022/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.mjs +124 -0
  27. package/esm2022/lib/plugins/mail-template/mail-template-management-routing.module.mjs +48 -0
  28. package/esm2022/lib/plugins/mail-template/mail-template-plugin-module.mjs +154 -0
  29. package/esm2022/lib/plugins/mail-template/mail-template-plugin.specification.mjs +74 -0
  30. package/esm2022/lib/plugins/mail-template/models/config.mjs +17 -0
  31. package/esm2022/lib/plugins/mail-template/models/index.mjs +17 -0
  32. package/esm2022/lib/plugins/text-template/assets/index.mjs +17 -0
  33. package/esm2022/lib/plugins/text-template/assets/text-template-plugin-logo.mjs +18 -0
  34. package/esm2022/lib/plugins/text-template/components/generate-text-file/generate-text-file.component.mjs +94 -0
  35. package/esm2022/lib/plugins/text-template/components/text-template-add-edit-modal/text-template-add-edit-modal.component.mjs +92 -0
  36. package/esm2022/lib/plugins/text-template/components/text-template-configuration/text-template-configuration.component.mjs +77 -0
  37. package/esm2022/lib/plugins/text-template/components/text-template-delete-modal/text-template-delete-modal.component.mjs +42 -0
  38. package/esm2022/lib/plugins/text-template/components/text-template-editor/text-template-editor.component.mjs +189 -0
  39. package/esm2022/lib/plugins/text-template/components/text-template-list/text-template-list.component.mjs +124 -0
  40. package/esm2022/lib/plugins/text-template/models/config.mjs +17 -0
  41. package/esm2022/lib/plugins/text-template/models/index.mjs +17 -0
  42. package/esm2022/lib/plugins/text-template/text-template-management-routing.module.mjs +48 -0
  43. package/esm2022/lib/plugins/text-template/text-template-plugin-module.mjs +149 -0
  44. package/esm2022/lib/plugins/text-template/text-template-plugin.specification.mjs +66 -0
  45. package/esm2022/lib/services/freemarker-template-management.service.mjs +84 -0
  46. package/esm2022/lib/services/index.mjs +17 -0
  47. package/esm2022/public_api.mjs +54 -0
  48. package/esm2022/valtimo-plugins-freemarker.mjs +5 -0
  49. package/fesm2022/valtimo-plugins-freemarker.mjs +448 -468
  50. package/fesm2022/valtimo-plugins-freemarker.mjs.map +1 -1
  51. package/lib/models/freemarker-template.d.ts +11 -11
  52. package/lib/plugins/document-generator/components/document-template-add-edit-modal/document-template-add-edit-modal.component.d.ts +4 -4
  53. package/lib/plugins/document-generator/components/document-template-editor/document-template-editor.component.d.ts +7 -7
  54. package/lib/plugins/document-generator/components/document-template-list/document-template-list.component.d.ts +4 -7
  55. package/lib/plugins/document-generator/components/generate-csv/generate-csv.component.d.ts +7 -7
  56. package/lib/plugins/document-generator/components/generate-pdf/generate-pdf.component.d.ts +7 -7
  57. package/lib/plugins/document-generator/document-generator-plugin-module.d.ts +1 -1
  58. package/lib/plugins/mail-template/components/generate-mail-content/generate-mail-content.component.d.ts +10 -9
  59. package/lib/plugins/mail-template/components/generate-mail-file/generate-mail-file.component.d.ts +10 -9
  60. package/lib/plugins/mail-template/components/mail-template-add-edit-modal/mail-template-add-edit-modal.component.d.ts +2 -2
  61. package/lib/plugins/mail-template/components/mail-template-editor/mail-template-editor.component.d.ts +6 -6
  62. package/lib/plugins/mail-template/components/mail-template-list/mail-template-list.component.d.ts +3 -6
  63. package/lib/plugins/mail-template/mail-template-plugin-module.d.ts +5 -2
  64. package/lib/plugins/text-template/components/generate-text-file/generate-text-file.component.d.ts +10 -9
  65. package/lib/plugins/text-template/components/text-template-add-edit-modal/text-template-add-edit-modal.component.d.ts +2 -2
  66. package/lib/plugins/text-template/components/text-template-editor/text-template-editor.component.d.ts +6 -6
  67. package/lib/plugins/text-template/components/text-template-list/text-template-list.component.d.ts +3 -6
  68. package/lib/plugins/text-template/text-template-plugin-module.d.ts +5 -1
  69. package/lib/services/freemarker-template-management.service.d.ts +9 -10
  70. package/package.json +3 -1
@@ -0,0 +1,124 @@
1
+ /*
2
+ * Copyright 2015-2024 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 { ChangeDetectionStrategy, Component, ViewChild, } from '@angular/core';
17
+ import { BehaviorSubject, filter, map, switchMap, take } from 'rxjs';
18
+ import { CarbonListComponent, CarbonListModule, ViewType } from '@valtimo/components';
19
+ import { CommonModule } from '@angular/common';
20
+ import { ButtonModule } from 'carbon-components-angular';
21
+ import { TranslateModule } from '@ngx-translate/core';
22
+ import { TextTemplateDeleteModalComponent } from '../text-template-delete-modal/text-template-delete-modal.component';
23
+ import { TextTemplateAddEditModalComponent } from '../text-template-add-edit-modal/text-template-add-edit-modal.component';
24
+ import * as i0 from "@angular/core";
25
+ import * as i1 from "../../../../services";
26
+ import * as i2 from "@angular/router";
27
+ import * as i3 from "@angular/common";
28
+ import * as i4 from "@valtimo/components";
29
+ import * as i5 from "carbon-components-angular";
30
+ import * as i6 from "@ngx-translate/core";
31
+ export class TextTemplateListComponent {
32
+ constructor(templateService, router, route) {
33
+ this.templateService = templateService;
34
+ this.router = router;
35
+ this.route = route;
36
+ this.fields = [
37
+ {
38
+ viewType: ViewType.TEXT,
39
+ key: 'key',
40
+ label: 'Key',
41
+ },
42
+ {
43
+ viewType: ViewType.BOOLEAN,
44
+ key: 'readOnly',
45
+ label: 'Read only',
46
+ },
47
+ ];
48
+ this._caseDefinitionName$ = this.route.params.pipe(map(params => params?.name), filter(caseDefinitionName => !!caseDefinitionName));
49
+ this.templates$ = new BehaviorSubject(null);
50
+ this.showAddModal$ = new BehaviorSubject(false);
51
+ this.showDeleteModal$ = new BehaviorSubject(false);
52
+ this.selectedRowKeys$ = new BehaviorSubject([]);
53
+ this.loading$ = new BehaviorSubject(true);
54
+ }
55
+ ngOnInit() {
56
+ this.reloadTemplateList();
57
+ }
58
+ openAddModal() {
59
+ this.showAddModal$.next(true);
60
+ }
61
+ onAdd(data) {
62
+ if (!data) {
63
+ this.showAddModal$.next(false);
64
+ return;
65
+ }
66
+ this._caseDefinitionName$.pipe(take(1), switchMap(caseDefinitionName => this.templateService.addTemplate({
67
+ caseDefinitionName,
68
+ type: 'text', ...data
69
+ }))).subscribe(template => {
70
+ this.showAddModal$.next(false);
71
+ this.gotoTextTemplateEditor(template.caseDefinitionName, template.key);
72
+ });
73
+ }
74
+ showDeleteModal() {
75
+ this.setSelectedTemplateKeys();
76
+ this.showDeleteModal$.next(true);
77
+ }
78
+ onDelete(templates) {
79
+ this.loading$.next(true);
80
+ this._caseDefinitionName$.pipe(take(1), switchMap(caseDefinitionName => this.templateService.deleteTemplates({
81
+ caseDefinitionName,
82
+ type: 'text',
83
+ templates
84
+ }))).subscribe(_ => {
85
+ this.reloadTemplateList();
86
+ });
87
+ }
88
+ onRowClick(template) {
89
+ this._caseDefinitionName$.pipe(take(1)).subscribe(caseDefinitionName => this.gotoTextTemplateEditor(caseDefinitionName, template.key));
90
+ }
91
+ gotoTextTemplateEditor(caseDefinitionName, key) {
92
+ this.router.navigate([`/dossier-management/dossier/${caseDefinitionName}/text-template/${key}`]);
93
+ }
94
+ reloadTemplateList() {
95
+ this.loading$.next(true);
96
+ this._caseDefinitionName$.pipe(switchMap(caseDefinitionName => this.templateService.getAllTextTemplates(caseDefinitionName)), map(templatePage => templatePage.content), take(1)).subscribe(templateListItems => {
97
+ this.templates$.next(templateListItems);
98
+ this.loading$.next(false);
99
+ });
100
+ }
101
+ setSelectedTemplateKeys() {
102
+ this.selectedRowKeys$.next(this.carbonList.selectedItems.map((template) => ({
103
+ key: template.key,
104
+ type: template.type
105
+ })));
106
+ }
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateListComponent, deps: [{ token: i1.FreemarkerTemplateManagementService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextTemplateListComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "carbonList", first: true, predicate: CarbonListComponent, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 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<valtimo-carbon-list\n [header]=\"false\"\n [items]=\"templates$ | async\"\n [fields]=\"fields\"\n [loading]=\"loading$ | async\"\n [showSelectionColumn]=\"true\"\n (rowClicked)=\"onRowClick($event)\"\n>\n <ng-container header> {{ 'Title' }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTemplateButton\"></ng-container>\n </div>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteModal()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTemplateButton\"\n description=\"{{ 'Come back later.' }}\"\n title=\"{{ 'No templates found' }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-text-template-add-edit-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-text-template-add-edit-modal>\n\n<ng-container *ngIf=\"{selectedRowKeys: selectedRowKeys$ | async} as obs\">\n <valtimo-text-template-delete-modal\n [deleteRowKeys]=\"obs.selectedRowKeys\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-text-template-delete-modal>\n</ng-container>\n\n<ng-template #addTemplateButton>\n <button cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'Add' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: CarbonListModule }, { kind: "component", type: i4.CarbonListComponent, selector: "valtimo-carbon-list", inputs: ["items", "fields", "tableTranslations", "paginatorConfig", "pagination", "loading", "actions", "actionItems", "header", "hideColumnHeader", "initialSortState", "sortState", "isSearchable", "enableSingleSelection", "lastColumnTemplate", "paginationIdentifier", "showSelectionColumn", "striped", "hideToolbar", "lockedTooltipTranslationKey", "movingRowsEnabled", "dragAndDrop", "dragAndDropDisabled"], outputs: ["rowClicked", "paginationClicked", "paginationSet", "search", "sortChanged", "moveRow", "itemsReordered"] }, { kind: "component", type: i4.CarbonNoResultsComponent, selector: "valtimo-no-results", inputs: ["action", "description", "illustration", "title", "smallPadding", "collapseVertically", "alwaysRenderVertically"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i5.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "component", type: TextTemplateDeleteModalComponent, selector: "valtimo-text-template-delete-modal", inputs: ["deleteRowKeys", "showDeleteModal$"], outputs: ["deleteEvent"] }, { kind: "component", type: TextTemplateAddEditModalComponent, selector: "valtimo-text-template-add-edit-modal", inputs: ["open", "type", "defaultKeyValue"], outputs: ["closeEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
+ }
110
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplateListComponent, decorators: [{
111
+ type: Component,
112
+ args: [{ standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
113
+ CommonModule,
114
+ CarbonListModule,
115
+ ButtonModule,
116
+ TranslateModule,
117
+ TextTemplateDeleteModalComponent,
118
+ TextTemplateAddEditModalComponent
119
+ ], template: "<!--\n ~ Copyright 2015-2023 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<valtimo-carbon-list\n [header]=\"false\"\n [items]=\"templates$ | async\"\n [fields]=\"fields\"\n [loading]=\"loading$ | async\"\n [showSelectionColumn]=\"true\"\n (rowClicked)=\"onRowClick($event)\"\n>\n <ng-container header> {{ 'Title' }} </ng-container>\n\n <div carbonToolbarContent>\n <ng-container [ngTemplateOutlet]=\"addTemplateButton\"></ng-container>\n </div>\n\n <ng-container carbonToolbarActions>\n <button cdsButton=\"primary\" (click)=\"showDeleteModal()\">\n {{ 'interface.delete' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"trash-can\" size=\"16\"></svg>\n </button>\n </ng-container>\n\n <valtimo-no-results\n [action]=\"addTemplateButton\"\n description=\"{{ 'Come back later.' }}\"\n title=\"{{ 'No templates found' }}\"\n ></valtimo-no-results>\n</valtimo-carbon-list>\n\n<valtimo-text-template-add-edit-modal\n [open]=\"showAddModal$ | async\"\n (closeEvent)=\"onAdd($event)\"\n></valtimo-text-template-add-edit-modal>\n\n<ng-container *ngIf=\"{selectedRowKeys: selectedRowKeys$ | async} as obs\">\n <valtimo-text-template-delete-modal\n [deleteRowKeys]=\"obs.selectedRowKeys\"\n [showDeleteModal$]=\"showDeleteModal$\"\n (deleteEvent)=\"onDelete($event)\"\n >\n </valtimo-text-template-delete-modal>\n</ng-container>\n\n<ng-template #addTemplateButton>\n <button cdsButton=\"primary\" (click)=\"openAddModal()\">\n {{ 'Add' }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n" }]
120
+ }], ctorParameters: () => [{ type: i1.FreemarkerTemplateManagementService }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { carbonList: [{
121
+ type: ViewChild,
122
+ args: [CarbonListComponent]
123
+ }] } });
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8tcGx1Z2lucy9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy90ZXh0LXRlbXBsYXRlL2NvbXBvbmVudHMvdGV4dC10ZW1wbGF0ZS1saXN0L3RleHQtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvdGV4dC10ZW1wbGF0ZS9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtbGlzdC90ZXh0LXRlbXBsYXRlLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLFNBQVMsR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQWdCLFFBQVEsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR2xHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQ3BILE9BQU8sRUFDSCxpQ0FBaUMsRUFDcEMsTUFBTSx3RUFBd0UsQ0FBQzs7Ozs7Ozs7QUFlaEYsTUFBTSxPQUFPLHlC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LFFBQTBCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUYsR0FBRyxFQUFFLFFBQVEsQ0FBQyxHQUFHO1lBQ2pCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtTQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1QsQ0FBQzsrR0ExR1EseUJBQXlCO21HQUF6Qix5QkFBeUIsb0hBQ3ZCLG1CQUFtQixnREM1Q2xDLGl5RUFrRUEsMkNEL0JRLFlBQVksOFZBQ1osZ0JBQWdCLHcxQkFDaEIsWUFBWSxnTUFDWixlQUFlLDRGQUNmLGdDQUFnQyx3SkFDaEMsaUNBQWlDOzs0RkFHNUIseUJBQXlCO2tCQWJyQyxTQUFTO2lDQUNNLElBQUksbUJBRUMsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdDQUFnQzt3QkFDaEMsaUNBQWlDO3FCQUNwQzswSkFHK0IsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIHN3aXRjaE1hcCwgdGFrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0NhcmJvbkxpc3RDb21wb25lbnQsIENhcmJvbkxpc3RNb2R1bGUsIENvbHVtbkNvbmZpZywgVmlld1R5cGV9IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtGcmVlbWFya2VyVGVtcGxhdGVNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtUZW1wbGF0ZUxpc3RJdGVtfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZURlbGV0ZU1vZGFsQ29tcG9uZW50fSBmcm9tICcuLi90ZXh0LXRlbXBsYXRlLWRlbGV0ZS1tb2RhbC90ZXh0LXRlbXBsYXRlLWRlbGV0ZS1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBUZXh0VGVtcGxhdGVBZGRFZGl0TW9kYWxDb21wb25lbnRcbn0gZnJvbSAnLi4vdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbC90ZXh0LXRlbXBsYXRlLWFkZC1lZGl0LW1vZGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHQtdGVtcGxhdGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBUZXh0VGVtcGxhdGVEZWxldGVNb2RhbENvbXBvbmVudCxcbiAgICAgICAgVGV4dFRlbXBsYXRlQWRkRWRpdE1vZGFsQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0VGVtcGxhdGVMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKENhcmJvbkxpc3RDb21wb25lbnQpIGNhcmJvbkxpc3Q6IENhcmJvbkxpc3RDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZmllbGRzOiBDb2x1bW5Db25maWdbXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgdmlld1R5cGU6IFZpZXdUeXBlLlRFWFQsXG4gICAgICAgICAgICBrZXk6ICdrZXknLFxuICAgICAgICAgICAgbGFiZWw6ICdLZXknLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB2aWV3VHlwZTogVmlld1R5cGUuQk9PTEVBTixcbiAgICAgICAgICAgIGtleTogJ3JlYWRPbmx5JyxcbiAgICAgICAgICAgIGxhYmVsOiAnUmVhZCBvbmx5JyxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY2FzZURlZmluaXRpb25OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICAgICAgbWFwKHBhcmFtcyA9PiBwYXJhbXM/Lm5hbWUpLFxuICAgICAgICBmaWx0ZXIoY2FzZURlZmluaXRpb25OYW1lID0+ICEhY2FzZURlZmluaXRpb25OYW1lKSxcbiAgICApO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRlbXBsYXRlTGlzdEl0ZW1bXSB8IG51bGw+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBzaG93QWRkTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHNob3dEZWxldGVNb2RhbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRSb3dLZXlzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8YW55Pj4oW10pO1xuICAgIHB1YmxpYyByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVNlcnZpY2U6IEZyZWVtYXJrZXJUZW1wbGF0ZU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWxvYWRUZW1wbGF0ZUxpc3QoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkFkZE1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dBZGRNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25BZGQoZGF0YT86IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0FkZE1vZGFsJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoY2FzZURlZmluaXRpb25OYW1lID0+IHRoaXMudGVtcGxhdGVTZXJ2aWNlLmFkZFRlbXBsYXRlKHtcbiAgICAgICAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLCAuLi5kYXRhXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKS5zdWJzY3JpYmUodGVtcGxhdGUgPT4ge1xuICAgICAgICAgICAgdGhpcy5zaG93QWRkTW9kYWwkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5nb3RvVGV4dFRlbXBsYXRlRWRpdG9yKHRlbXBsYXRlLmNhc2VEZWZpbml0aW9uTmFtZSwgdGVtcGxhdGUua2V5KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEZWxldGVNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFRlbXBsYXRlS2V5cygpO1xuICAgICAgICB0aGlzLnNob3dEZWxldGVNb2RhbCQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EZWxldGUodGVtcGxhdGVzOiBBcnJheTxhbnk+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5fY2FzZURlZmluaXRpb25OYW1lJC5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChjYXNlRGVmaW5pdGlvbk5hbWUgPT4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZGVsZXRlVGVtcGxhdGVzKHtcbiAgICAgICAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIHRlbXBsYXRlc1xuICAgICAgICAgICAgfSkpLFxuICAgICAgICApLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVsb2FkVGVtcGxhdGVMaXN0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvd0NsaWNrKHRlbXBsYXRlOiBUZW1wbGF0ZUxpc3RJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Nhc2VEZWZpbml0aW9uTmFtZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoY2FzZURlZmluaXRpb25OYW1lID0+XG4gICAgICAgICAgICB0aGlzLmdvdG9UZXh0VGVtcGxhdGVFZGl0b3IoY2FzZURlZmluaXRpb25OYW1lLCB0ZW1wbGF0ZS5rZXkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb3RvVGV4dFRlbXBsYXRlRWRpdG9yKGNhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9kb3NzaWVyLW1hbmFnZW1lbnQvZG9zc2llci8ke2Nhc2VEZWZpbml0aW9uTmFtZX0vdGV4dC10ZW1wbGF0ZS8ke2tleX1gXSlcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbG9hZFRlbXBsYXRlTGlzdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLl9jYXNlRGVmaW5pdGlvbk5hbWUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoY2FzZURlZmluaXRpb25OYW1lID0+IHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdldEFsbFRleHRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lKSksXG4gICAgICAgICAgICBtYXAodGVtcGxhdGVQYWdlID0+IHRlbXBsYXRlUGFnZS5jb250ZW50KSxcbiAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUodGVtcGxhdGVMaXN0SXRlbXMgPT4ge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZXMkLm5leHQodGVtcGxhdGVMaXN0SXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTZWxlY3RlZFRlbXBsYXRlS2V5cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd0tleXMkLm5leHQodGhpcy5jYXJib25MaXN0LnNlbGVjdGVkSXRlbXMubWFwKCh0ZW1wbGF0ZTogVGVtcGxhdGVMaXN0SXRlbSkgPT4gKHtcbiAgICAgICAgICAgIGtleTogdGVtcGxhdGUua2V5LFxuICAgICAgICAgICAgdHlwZTogdGVtcGxhdGUudHlwZVxuICAgICAgICB9KSkpO1xuICAgIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tY2FyYm9uLWxpc3RcbiAgICAgICAgW2hlYWRlcl09XCJmYWxzZVwiXG4gICAgICAgIFtpdGVtc109XCJ0ZW1wbGF0ZXMkIHwgYXN5bmNcIlxuICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXG4gICAgICAgIFtsb2FkaW5nXT1cImxvYWRpbmckIHwgYXN5bmNcIlxuICAgICAgICBbc2hvd1NlbGVjdGlvbkNvbHVtbl09XCJ0cnVlXCJcbiAgICAgICAgKHJvd0NsaWNrZWQpPVwib25Sb3dDbGljaygkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyIGhlYWRlcj4ge3sgJ1RpdGxlJyB9fSA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxkaXYgY2FyYm9uVG9vbGJhckNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWRkVGVtcGxhdGVCdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgY2FyYm9uVG9vbGJhckFjdGlvbnM+XG4gICAgICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJzaG93RGVsZXRlTW9kYWwoKVwiPlxuICAgICAgICAgICAge3sgJ2ludGVyZmFjZS5kZWxldGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJ0cmFzaC1jYW5cIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dmFsdGltby1uby1yZXN1bHRzXG4gICAgICAgICAgICBbYWN0aW9uXT1cImFkZFRlbXBsYXRlQnV0dG9uXCJcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwie3sgJ0NvbWUgYmFjayBsYXRlci4nIH19XCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ05vIHRlbXBsYXRlcyBmb3VuZCcgfX1cIlxuICAgID48L3ZhbHRpbW8tbm8tcmVzdWx0cz5cbjwvdmFsdGltby1jYXJib24tbGlzdD5cblxuPHZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbFxuICAgICAgICBbb3Blbl09XCJzaG93QWRkTW9kYWwkIHwgYXN5bmNcIlxuICAgICAgICAoY2xvc2VFdmVudCk9XCJvbkFkZCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbD5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIntzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyQgfCBhc3luY30gYXMgb2JzXCI+XG4gICAgPHZhbHRpbW8tdGV4dC10ZW1wbGF0ZS1kZWxldGUtbW9kYWxcbiAgICAgICAgICAgIFtkZWxldGVSb3dLZXlzXT1cIm9icy5zZWxlY3RlZFJvd0tleXNcIlxuICAgICAgICAgICAgW3Nob3dEZWxldGVNb2RhbCRdPVwic2hvd0RlbGV0ZU1vZGFsJFwiXG4gICAgICAgICAgICAoZGVsZXRlRXZlbnQpPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvdmFsdGltby10ZXh0LXRlbXBsYXRlLWRlbGV0ZS1tb2RhbD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2FkZFRlbXBsYXRlQnV0dG9uPlxuICAgIDxidXR0b24gY2RzQnV0dG9uPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuQWRkTW9kYWwoKVwiPlxuICAgICAgICB7eyAnQWRkJyB9fVxuXG4gICAgICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright 2015-2022 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 {};
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvbW9kZWxzL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbkRhdGF9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5cbmludGVyZmFjZSBUZXh0VGVtcGxhdGVDb25maWcgZXh0ZW5kcyBQbHVnaW5Db25maWd1cmF0aW9uRGF0YSB7XG59XG5cbmludGVyZmFjZSBHZW5lcmF0ZVRleHRDb250ZW50Q29uZmlnIHtcbiAgICB0ZXh0VGVtcGxhdGVLZXk6IHN0cmluZztcbiAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBHZW5lcmF0ZVRleHRGaWxlQ29uZmlnIHtcbiAgICB0ZXh0VGVtcGxhdGVLZXk6IHN0cmluZztcbiAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB7VGV4dFRlbXBsYXRlQ29uZmlnLCBHZW5lcmF0ZVRleHRDb250ZW50Q29uZmlnLCBHZW5lcmF0ZVRleHRGaWxlQ29uZmlnfTtcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ /*
2
+ * Copyright 2015-2022 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 * from './config';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3BsdWdpbnMvdGV4dC10ZW1wbGF0ZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnJztcbiJdfQ==
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright 2015-2023 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 { CommonModule } from '@angular/common';
17
+ import { NgModule } from '@angular/core';
18
+ import { RouterModule } from '@angular/router';
19
+ import { ROLE_ADMIN } from '@valtimo/config';
20
+ import { AuthGuardService } from '@valtimo/security';
21
+ import { TextTemplateEditorComponent } from './components/text-template-editor/text-template-editor.component';
22
+ import * as i0 from "@angular/core";
23
+ import * as i1 from "@angular/router";
24
+ const routes = [
25
+ {
26
+ path: 'dossier-management/dossier/:name/text-template/:key',
27
+ component: TextTemplateEditorComponent,
28
+ canActivate: [AuthGuardService],
29
+ data: {
30
+ title: 'Text Template Editor',
31
+ templates: [ROLE_ADMIN],
32
+ customPageTitle: true,
33
+ },
34
+ },
35
+ ];
36
+ export class TemplateManagementRoutingModule {
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
38
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, i1.RouterModule], exports: [RouterModule] }); }
39
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, imports: [CommonModule, RouterModule.forChild(routes), RouterModule] }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TemplateManagementRoutingModule, decorators: [{
42
+ type: NgModule,
43
+ args: [{
44
+ imports: [CommonModule, RouterModule.forChild(routes)],
45
+ exports: [RouterModule],
46
+ }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvdGV4dC10ZW1wbGF0ZS1tYW5hZ2VtZW50LXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQzs7O0FBRTdHLE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLHFEQUFxRDtRQUMzRCxTQUFTLEVBQUUsMkJBQTJCO1FBQ3RDLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ3ZCLGVBQWUsRUFBRSxJQUFJO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDO0FBTUYsTUFBTSxPQUFPLCtCQUErQjsrR0FBL0IsK0JBQStCO2dIQUEvQiwrQkFBK0IsWUFIaEMsWUFBWSw4QkFDWixZQUFZO2dIQUVYLCtCQUErQixZQUhoQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDM0MsWUFBWTs7NEZBRVgsK0JBQStCO2tCQUozQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZSwgUm91dGVzfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtST0xFX0FETUlOfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtZWRpdG9yL3RleHQtdGVtcGxhdGUtZWRpdG9yLmNvbXBvbmVudCc7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJ2Rvc3NpZXItbWFuYWdlbWVudC9kb3NzaWVyLzpuYW1lL3RleHQtdGVtcGxhdGUvOmtleScsXG4gICAgY29tcG9uZW50OiBUZXh0VGVtcGxhdGVFZGl0b3JDb21wb25lbnQsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBkYXRhOiB7XG4gICAgICB0aXRsZTogJ1RleHQgVGVtcGxhdGUgRWRpdG9yJyxcbiAgICAgIHRlbXBsYXRlczogW1JPTEVfQURNSU5dLFxuICAgICAgY3VzdG9tUGFnZVRpdGxlOiB0cnVlLFxuICAgIH0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZU1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,149 @@
1
+ /*
2
+ * Copyright 2015-2022 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 { NgModule } from '@angular/core';
17
+ import { TextTemplateConfigurationComponent } from './components/text-template-configuration/text-template-configuration.component';
18
+ import { CommonModule } from '@angular/common';
19
+ import { PluginTranslatePipeModule } from '@valtimo/plugin';
20
+ import { CarbonListModule, ConfirmationModalModule, EditorModule, FormModule, InputModule as ValtimoInputModule, ParagraphModule, RenderInPageHeaderDirectiveModule, SelectModule, } from '@valtimo/components';
21
+ import { ButtonModule, DialogModule, DropdownModule, IconModule, InputModule, LoadingModule, ModalModule, NotificationModule, TabsModule, } from 'carbon-components-angular';
22
+ import { CASE_MANAGEMENT_TAB_TOKEN } from '@valtimo/config';
23
+ import { TextTemplateListComponent } from './components/text-template-list/text-template-list.component';
24
+ import { TextTemplateAddEditModalComponent } from './components/text-template-add-edit-modal/text-template-add-edit-modal.component';
25
+ import { TextTemplateEditorComponent } from './components/text-template-editor/text-template-editor.component';
26
+ import { TextTemplateDeleteModalComponent } from './components/text-template-delete-modal/text-template-delete-modal.component';
27
+ import { TranslateModule } from '@ngx-translate/core';
28
+ import { ReactiveFormsModule } from '@angular/forms';
29
+ import { TemplateManagementRoutingModule } from './text-template-management-routing.module';
30
+ import { GenerateTextFileComponent } from './components/generate-text-file/generate-text-file.component';
31
+ import * as i0 from "@angular/core";
32
+ export class TextTemplatePluginModule {
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
34
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, declarations: [GenerateTextFileComponent,
35
+ TextTemplateConfigurationComponent], imports: [CommonModule,
36
+ PluginTranslatePipeModule,
37
+ TemplateManagementRoutingModule,
38
+ FormModule,
39
+ ParagraphModule,
40
+ SelectModule,
41
+ ConfirmationModalModule,
42
+ TranslateModule,
43
+ ReactiveFormsModule,
44
+ CarbonListModule,
45
+ EditorModule,
46
+ ValtimoInputModule,
47
+ ButtonModule,
48
+ DialogModule,
49
+ DropdownModule,
50
+ IconModule,
51
+ InputModule,
52
+ LoadingModule,
53
+ ModalModule,
54
+ NotificationModule,
55
+ RenderInPageHeaderDirectiveModule,
56
+ TabsModule,
57
+ TextTemplateAddEditModalComponent,
58
+ TextTemplateEditorComponent,
59
+ TextTemplateDeleteModalComponent,
60
+ TextTemplateListComponent], exports: [GenerateTextFileComponent,
61
+ TextTemplateConfigurationComponent] }); }
62
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, providers: [
63
+ {
64
+ provide: CASE_MANAGEMENT_TAB_TOKEN,
65
+ useValue: {
66
+ translationKey: 'Text templates',
67
+ component: TextTemplateListComponent,
68
+ },
69
+ multi: true,
70
+ }
71
+ ], imports: [CommonModule,
72
+ PluginTranslatePipeModule,
73
+ TemplateManagementRoutingModule,
74
+ FormModule,
75
+ ParagraphModule,
76
+ SelectModule,
77
+ ConfirmationModalModule,
78
+ TranslateModule,
79
+ ReactiveFormsModule,
80
+ CarbonListModule,
81
+ EditorModule,
82
+ ValtimoInputModule,
83
+ ButtonModule,
84
+ DialogModule,
85
+ DropdownModule,
86
+ IconModule,
87
+ InputModule,
88
+ LoadingModule,
89
+ ModalModule,
90
+ NotificationModule,
91
+ RenderInPageHeaderDirectiveModule,
92
+ TabsModule,
93
+ TextTemplateAddEditModalComponent,
94
+ TextTemplateEditorComponent,
95
+ TextTemplateDeleteModalComponent,
96
+ TextTemplateListComponent] }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextTemplatePluginModule, decorators: [{
99
+ type: NgModule,
100
+ args: [{
101
+ declarations: [
102
+ GenerateTextFileComponent,
103
+ TextTemplateConfigurationComponent,
104
+ ],
105
+ imports: [
106
+ CommonModule,
107
+ PluginTranslatePipeModule,
108
+ TemplateManagementRoutingModule,
109
+ FormModule,
110
+ ParagraphModule,
111
+ SelectModule,
112
+ ConfirmationModalModule,
113
+ TranslateModule,
114
+ ReactiveFormsModule,
115
+ CarbonListModule,
116
+ EditorModule,
117
+ ValtimoInputModule,
118
+ ButtonModule,
119
+ DialogModule,
120
+ DropdownModule,
121
+ IconModule,
122
+ InputModule,
123
+ LoadingModule,
124
+ ModalModule,
125
+ NotificationModule,
126
+ RenderInPageHeaderDirectiveModule,
127
+ TabsModule,
128
+ TextTemplateAddEditModalComponent,
129
+ TextTemplateEditorComponent,
130
+ TextTemplateDeleteModalComponent,
131
+ TextTemplateListComponent,
132
+ ],
133
+ exports: [
134
+ GenerateTextFileComponent,
135
+ TextTemplateConfigurationComponent,
136
+ ],
137
+ providers: [
138
+ {
139
+ provide: CASE_MANAGEMENT_TAB_TOKEN,
140
+ useValue: {
141
+ translationKey: 'Text templates',
142
+ component: TextTemplateListComponent,
143
+ },
144
+ multi: true,
145
+ }
146
+ ]
147
+ }]
148
+ }] });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1wbHVnaW4tbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby1wbHVnaW5zL2ZyZWVtYXJrZXIvc3JjL2xpYi9wbHVnaW5zL3RleHQtdGVtcGxhdGUvdGV4dC10ZW1wbGF0ZS1wbHVnaW4tbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUNILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLElBQUksa0JBQWtCLEVBQ2pDLGVBQWUsRUFBRSxpQ0FBaUMsRUFDbEQsWUFBWSxHQUNmLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUNILFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNiLFdBQVcsRUFDWCxrQkFBa0IsRUFBRSxVQUFVLEdBQ2pDLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOERBQThELENBQUM7QUFDdkcsT0FBTyxFQUFDLGlDQUFpQyxFQUFDLE1BQU0sa0ZBQWtGLENBQUM7QUFDbkksT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sOEVBQThFLENBQUM7QUFDOUgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDOztBQWtEdkcsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO2dIQUF4Qix3QkFBd0IsaUJBOUM3Qix5QkFBeUI7WUFDekIsa0NBQWtDLGFBR2xDLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLFVBQVU7WUFDVixlQUFlO1lBQ2YsWUFBWTtZQUNaLHVCQUF1QjtZQUN2QixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixZQUFZO1lBQ1osY0FBYztZQUNkLFVBQVU7WUFDVixXQUFXO1lBQ1gsYUFBYTtZQUNiLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsaUNBQWlDO1lBQ2pDLFVBQVU7WUFDVixpQ0FBaUM7WUFDakMsMkJBQTJCO1lBQzNCLGdDQUFnQztZQUNoQyx5QkFBeUIsYUFHekIseUJBQXlCO1lBQ3pCLGtDQUFrQztnSEFhN0Isd0JBQXdCLGFBWHRCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLHlCQUF5QjtnQkFDbEMsUUFBUSxFQUFFO29CQUNOLGNBQWMsRUFBRSxnQkFBZ0I7b0JBQ2hDLFNBQVMsRUFBRSx5QkFBeUI7aUJBQ3ZDO2dCQUNELEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixZQXhDRyxZQUFZO1lBQ1oseUJBQXlCO1lBQ3pCLCtCQUErQjtZQUMvQixVQUFVO1lBQ1YsZUFBZTtZQUNmLFlBQVk7WUFDWix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osWUFBWTtZQUNaLGNBQWM7WUFDZCxVQUFVO1lBQ1YsV0FBVztZQUNYLGFBQWE7WUFDYixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLGlDQUFpQztZQUNqQyxVQUFVO1lBQ1YsaUNBQWlDO1lBQ2pDLDJCQUEyQjtZQUMzQixnQ0FBZ0M7WUFDaEMseUJBQXlCOzs0RkFpQnBCLHdCQUF3QjtrQkFoRHBDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3FCQUNyQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWix5QkFBeUI7d0JBQ3pCLCtCQUErQjt3QkFDL0IsVUFBVTt3QkFDVixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsVUFBVTt3QkFDVixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLGlDQUFpQzt3QkFDakMsVUFBVTt3QkFDVixpQ0FBaUM7d0JBQ2pDLDJCQUEyQjt3QkFDM0IsZ0NBQWdDO3dCQUNoQyx5QkFBeUI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDTCx5QkFBeUI7d0JBQ3pCLGtDQUFrQztxQkFDckM7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSx5QkFBeUI7NEJBQ2xDLFFBQVEsRUFBRTtnQ0FDTixjQUFjLEVBQUUsZ0JBQWdCO2dDQUNoQyxTQUFTLEVBQUUseUJBQXlCOzZCQUN2Qzs0QkFDRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIyIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUZXh0VGVtcGxhdGVDb25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uL3RleHQtdGVtcGxhdGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1BsdWdpblRyYW5zbGF0ZVBpcGVNb2R1bGV9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1xuICAgIENhcmJvbkxpc3RNb2R1bGUsXG4gICAgQ29uZmlybWF0aW9uTW9kYWxNb2R1bGUsXG4gICAgRWRpdG9yTW9kdWxlLFxuICAgIEZvcm1Nb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUgYXMgVmFsdGltb0lucHV0TW9kdWxlLFxuICAgIFBhcmFncmFwaE1vZHVsZSwgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBMb2FkaW5nTW9kdWxlLFxuICAgIE1vZGFsTW9kdWxlLFxuICAgIE5vdGlmaWNhdGlvbk1vZHVsZSwgVGFic01vZHVsZSxcbn0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0NBU0VfTUFOQUdFTUVOVF9UQUJfVE9LRU59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUxpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWxpc3QvdGV4dC10ZW1wbGF0ZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUFkZEVkaXRNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtYWRkLWVkaXQtbW9kYWwvdGV4dC10ZW1wbGF0ZS1hZGQtZWRpdC1tb2RhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0VGVtcGxhdGVFZGl0b3JDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWVkaXRvci90ZXh0LXRlbXBsYXRlLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHtUZXh0VGVtcGxhdGVEZWxldGVNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQtdGVtcGxhdGUtZGVsZXRlLW1vZGFsL3RleHQtdGVtcGxhdGUtZGVsZXRlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VGVtcGxhdGVNYW5hZ2VtZW50Um91dGluZ01vZHVsZX0gZnJvbSAnLi90ZXh0LXRlbXBsYXRlLW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHtHZW5lcmF0ZVRleHRGaWxlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJhdGUtdGV4dC1maWxlL2dlbmVyYXRlLXRleHQtZmlsZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBHZW5lcmF0ZVRleHRGaWxlQ29tcG9uZW50LFxuICAgICAgICBUZXh0VGVtcGxhdGVDb25maWd1cmF0aW9uQ29tcG9uZW50LFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBsdWdpblRyYW5zbGF0ZVBpcGVNb2R1bGUsXG4gICAgICAgIFRlbXBsYXRlTWFuYWdlbWVudFJvdXRpbmdNb2R1bGUsXG4gICAgICAgIEZvcm1Nb2R1bGUsXG4gICAgICAgIFBhcmFncmFwaE1vZHVsZSxcbiAgICAgICAgU2VsZWN0TW9kdWxlLFxuICAgICAgICBDb25maXJtYXRpb25Nb2RhbE1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDYXJib25MaXN0TW9kdWxlLFxuICAgICAgICBFZGl0b3JNb2R1bGUsXG4gICAgICAgIFZhbHRpbW9JbnB1dE1vZHVsZSxcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgICBEaWFsb2dNb2R1bGUsXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBJY29uTW9kdWxlLFxuICAgICAgICBJbnB1dE1vZHVsZSxcbiAgICAgICAgTG9hZGluZ01vZHVsZSxcbiAgICAgICAgTW9kYWxNb2R1bGUsXG4gICAgICAgIE5vdGlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlTW9kdWxlLFxuICAgICAgICBUYWJzTW9kdWxlLFxuICAgICAgICBUZXh0VGVtcGxhdGVBZGRFZGl0TW9kYWxDb21wb25lbnQsXG4gICAgICAgIFRleHRUZW1wbGF0ZUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgVGV4dFRlbXBsYXRlRGVsZXRlTW9kYWxDb21wb25lbnQsXG4gICAgICAgIFRleHRUZW1wbGF0ZUxpc3RDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEdlbmVyYXRlVGV4dEZpbGVDb21wb25lbnQsXG4gICAgICAgIFRleHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ0FTRV9NQU5BR0VNRU5UX1RBQl9UT0tFTixcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25LZXk6ICdUZXh0IHRlbXBsYXRlcycsXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUZXh0VGVtcGxhdGVMaXN0Q29tcG9uZW50LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0VGVtcGxhdGVQbHVnaW5Nb2R1bGUge1xufVxuIl19
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Copyright 2015-2022 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 { TextTemplateConfigurationComponent } from './components/text-template-configuration/text-template-configuration.component';
17
+ import { TEXT_TEMPLATE_PLUGIN_LOGO_BASE64 } from './assets';
18
+ import { GenerateTextFileComponent } from './components/generate-text-file/generate-text-file.component';
19
+ const textTemplatePluginSpecification = {
20
+ pluginId: 'text-template',
21
+ pluginConfigurationComponent: TextTemplateConfigurationComponent,
22
+ pluginLogoBase64: TEXT_TEMPLATE_PLUGIN_LOGO_BASE64,
23
+ functionConfigurationComponents: {
24
+ 'generate-text-file': GenerateTextFileComponent,
25
+ },
26
+ pluginTranslations: {
27
+ nl: {
28
+ title: 'Text sjablonen',
29
+ 'generate-text-file': 'Genereer Textbestand',
30
+ description: 'Maak Text sjablonen met Freemarker.',
31
+ configurationTitle: 'Configuratienaam',
32
+ configurationTitleTooltip: 'De naam van de huidige plug-in configuratie. Onder deze naam kan de configuratie worden gevonden in de rest van de applicatie.',
33
+ generateTextFileDescription: 'Deze actie genereert de inhoud van een text-template en slaat het resultaat op in een tijdelijk bestand. Het ID van het bestand wordt opgeslagen in een Proces Variabele.',
34
+ textTemplateKey: 'Text sjabloon',
35
+ textTemplateKeyTooltip: 'Op bases van deze sjabloon wordt de text-template gegenereerd',
36
+ processVariableName: 'Procesvariabelenaam',
37
+ processVariableNameTooltip: 'Het resultaat wordt opgeslagen in een procesvariabele met deze naam',
38
+ },
39
+ en: {
40
+ title: 'Text Templates',
41
+ 'generate-text-file': 'Generate Text File',
42
+ description: 'Create text-template templates with Freemarker.',
43
+ configurationTitle: 'Configuration Name',
44
+ configurationTitleTooltip: 'The name of the current plug-in configuration. The configuration can be found under this name in the rest of the application.',
45
+ generateTextFileDescription: 'This action generates the content of an text-template and saves the result in a temporary file. The file ID is stored in a Process Variable.',
46
+ textTemplateKey: 'Text Template',
47
+ textTemplateKeyTooltip: 'The text-template will be generated based on this template.',
48
+ processVariableName: 'Process Variable Name',
49
+ processVariableNameTooltip: 'The result will be stored in a process variable with this name.',
50
+ },
51
+ de: {
52
+ title: 'Text-Vorlagen',
53
+ 'generate-text-file': 'Text-Datei generieren',
54
+ description: 'Erstellen Sie Text-Vorlagen mit Freemarker.',
55
+ configurationTitle: 'Konfigurationsname',
56
+ configurationTitleTooltip: 'Der Name der aktuellen Plug-in-Konfiguration. Unter diesem Namen kann die Konfiguration im Rest der Anwendung gefunden werden.',
57
+ generateTextFileDescription: 'Diese Aktion generiert den Inhalt einer Text und speichert das Ergebnis in einer temporären Datei. Die Datei-ID wird in einer Prozessvariablen gespeichert.',
58
+ textTemplateKey: 'Text-Vorlage',
59
+ textTemplateKeyTooltip: 'Die Text wird basierend auf dieser Vorlage generiert.',
60
+ processVariableName: 'Prozessvariablenname',
61
+ processVariableNameTooltip: 'Das Ergebnis wird in einer Prozessvariablen mit diesem Namen gespeichert.',
62
+ },
63
+ },
64
+ };
65
+ export { textTemplatePluginSpecification };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10ZW1wbGF0ZS1wbHVnaW4uc3BlY2lmaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8tcGx1Z2lucy9mcmVlbWFya2VyL3NyYy9saWIvcGx1Z2lucy90ZXh0LXRlbXBsYXRlL3RleHQtdGVtcGxhdGUtcGx1Z2luLnNwZWNpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFHSCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxnRkFBZ0YsQ0FBQztBQUNsSSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDMUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOERBQThELENBQUM7QUFFdkcsTUFBTSwrQkFBK0IsR0FBd0I7SUFDM0QsUUFBUSxFQUFFLGVBQWU7SUFDekIsNEJBQTRCLEVBQUUsa0NBQWtDO0lBQ2hFLGdCQUFnQixFQUFFLGdDQUFnQztJQUNsRCwrQkFBK0IsRUFBRTtRQUMvQixvQkFBb0IsRUFBRSx5QkFBeUI7S0FDaEQ7SUFDRCxrQkFBa0IsRUFBRTtRQUNsQixFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLG9CQUFvQixFQUFFLHNCQUFzQjtZQUM1QyxXQUFXLEVBQUUscUNBQXFDO1lBQ2xELGtCQUFrQixFQUFFLGtCQUFrQjtZQUN0Qyx5QkFBeUIsRUFDckIsZ0lBQWdJO1lBQ3BJLDJCQUEyQixFQUN2QiwyS0FBMks7WUFDL0ssZUFBZSxFQUFFLGVBQWU7WUFDaEMsc0JBQXNCLEVBQUUsK0RBQStEO1lBQ3ZGLG1CQUFtQixFQUFFLHFCQUFxQjtZQUMxQywwQkFBMEIsRUFBRSxxRUFBcUU7U0FDbEc7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLG9CQUFvQixFQUFFLG9CQUFvQjtZQUMxQyxXQUFXLEVBQUUsaURBQWlEO1lBQzlELGtCQUFrQixFQUFFLG9CQUFvQjtZQUN4Qyx5QkFBeUIsRUFDckIsK0hBQStIO1lBQ25JLDJCQUEyQixFQUN2Qiw4SUFBOEk7WUFDbEosZUFBZSxFQUFFLGVBQWU7WUFDaEMsc0JBQXNCLEVBQUUsNkRBQTZEO1lBQ3JGLG1CQUFtQixFQUFFLHVCQUF1QjtZQUM1QywwQkFBMEIsRUFBRSxpRUFBaUU7U0FDOUY7UUFDRCxFQUFFLEVBQUU7WUFDRixLQUFLLEVBQUUsZUFBZTtZQUN0QixvQkFBb0IsRUFBRSx1QkFBdUI7WUFDN0MsV0FBVyxFQUFFLDZDQUE2QztZQUMxRCxrQkFBa0IsRUFBRSxvQkFBb0I7WUFDeEMseUJBQXlCLEVBQ3JCLGdJQUFnSTtZQUNwSSwyQkFBMkIsRUFDdkIsNkpBQTZKO1lBQ2pLLGVBQWUsRUFBRSxjQUFjO1lBQy9CLHNCQUFzQixFQUFFLHVEQUF1RDtZQUMvRSxtQkFBbUIsRUFBRSxzQkFBc0I7WUFDM0MsMEJBQTBCLEVBQUUsMkVBQTJFO1NBQ3hHO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFDLCtCQUErQixFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMiBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1BsdWdpblNwZWNpZmljYXRpb259IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge1RleHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90ZXh0LXRlbXBsYXRlLWNvbmZpZ3VyYXRpb24vdGV4dC10ZW1wbGF0ZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1RFWFRfVEVNUExBVEVfUExVR0lOX0xPR09fQkFTRTY0fSBmcm9tICcuL2Fzc2V0cyc7XG5pbXBvcnQge0dlbmVyYXRlVGV4dEZpbGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmF0ZS10ZXh0LWZpbGUvZ2VuZXJhdGUtdGV4dC1maWxlLmNvbXBvbmVudCc7XG5cbmNvbnN0IHRleHRUZW1wbGF0ZVBsdWdpblNwZWNpZmljYXRpb246IFBsdWdpblNwZWNpZmljYXRpb24gPSB7XG4gIHBsdWdpbklkOiAndGV4dC10ZW1wbGF0ZScsXG4gIHBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQ6IFRleHRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIHBsdWdpbkxvZ29CYXNlNjQ6IFRFWFRfVEVNUExBVEVfUExVR0lOX0xPR09fQkFTRTY0LFxuICBmdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnRzOiB7XG4gICAgJ2dlbmVyYXRlLXRleHQtZmlsZSc6IEdlbmVyYXRlVGV4dEZpbGVDb21wb25lbnQsXG4gIH0sXG4gIHBsdWdpblRyYW5zbGF0aW9uczoge1xuICAgIG5sOiB7XG4gICAgICB0aXRsZTogJ1RleHQgc2phYmxvbmVuJyxcbiAgICAgICdnZW5lcmF0ZS10ZXh0LWZpbGUnOiAnR2VuZXJlZXIgVGV4dGJlc3RhbmQnLFxuICAgICAgZGVzY3JpcHRpb246ICdNYWFrIFRleHQgc2phYmxvbmVuIG1ldCBGcmVlbWFya2VyLicsXG4gICAgICBjb25maWd1cmF0aW9uVGl0bGU6ICdDb25maWd1cmF0aWVuYWFtJyxcbiAgICAgIGNvbmZpZ3VyYXRpb25UaXRsZVRvb2x0aXA6XG4gICAgICAgICAgJ0RlIG5hYW0gdmFuIGRlIGh1aWRpZ2UgcGx1Zy1pbiBjb25maWd1cmF0aWUuIE9uZGVyIGRlemUgbmFhbSBrYW4gZGUgY29uZmlndXJhdGllIHdvcmRlbiBnZXZvbmRlbiBpbiBkZSByZXN0IHZhbiBkZSBhcHBsaWNhdGllLicsXG4gICAgICBnZW5lcmF0ZVRleHRGaWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgJ0RlemUgYWN0aWUgZ2VuZXJlZXJ0IGRlIGluaG91ZCB2YW4gZWVuIHRleHQtdGVtcGxhdGUgZW4gc2xhYXQgaGV0IHJlc3VsdGFhdCBvcCBpbiBlZW4gdGlqZGVsaWprIGJlc3RhbmQuIEhldCBJRCB2YW4gaGV0IGJlc3RhbmQgd29yZHQgb3BnZXNsYWdlbiBpbiBlZW4gUHJvY2VzIFZhcmlhYmVsZS4nLFxuICAgICAgdGV4dFRlbXBsYXRlS2V5OiAnVGV4dCBzamFibG9vbicsXG4gICAgICB0ZXh0VGVtcGxhdGVLZXlUb29sdGlwOiAnT3AgYmFzZXMgdmFuIGRlemUgc2phYmxvb24gd29yZHQgZGUgdGV4dC10ZW1wbGF0ZSBnZWdlbmVyZWVyZCcsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiAnUHJvY2VzdmFyaWFiZWxlbmFhbScsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lVG9vbHRpcDogJ0hldCByZXN1bHRhYXQgd29yZHQgb3BnZXNsYWdlbiBpbiBlZW4gcHJvY2VzdmFyaWFiZWxlIG1ldCBkZXplIG5hYW0nLFxuICAgIH0sXG4gICAgZW46IHtcbiAgICAgIHRpdGxlOiAnVGV4dCBUZW1wbGF0ZXMnLFxuICAgICAgJ2dlbmVyYXRlLXRleHQtZmlsZSc6ICdHZW5lcmF0ZSBUZXh0IEZpbGUnLFxuICAgICAgZGVzY3JpcHRpb246ICdDcmVhdGUgdGV4dC10ZW1wbGF0ZSB0ZW1wbGF0ZXMgd2l0aCBGcmVlbWFya2VyLicsXG4gICAgICBjb25maWd1cmF0aW9uVGl0bGU6ICdDb25maWd1cmF0aW9uIE5hbWUnLFxuICAgICAgY29uZmlndXJhdGlvblRpdGxlVG9vbHRpcDpcbiAgICAgICAgICAnVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgcGx1Zy1pbiBjb25maWd1cmF0aW9uLiBUaGUgY29uZmlndXJhdGlvbiBjYW4gYmUgZm91bmQgdW5kZXIgdGhpcyBuYW1lIGluIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbi4nLFxuICAgICAgZ2VuZXJhdGVUZXh0RmlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICdUaGlzIGFjdGlvbiBnZW5lcmF0ZXMgdGhlIGNvbnRlbnQgb2YgYW4gdGV4dC10ZW1wbGF0ZSBhbmQgc2F2ZXMgdGhlIHJlc3VsdCBpbiBhIHRlbXBvcmFyeSBmaWxlLiBUaGUgZmlsZSBJRCBpcyBzdG9yZWQgaW4gYSBQcm9jZXNzIFZhcmlhYmxlLicsXG4gICAgICB0ZXh0VGVtcGxhdGVLZXk6ICdUZXh0IFRlbXBsYXRlJyxcbiAgICAgIHRleHRUZW1wbGF0ZUtleVRvb2x0aXA6ICdUaGUgdGV4dC10ZW1wbGF0ZSB3aWxsIGJlIGdlbmVyYXRlZCBiYXNlZCBvbiB0aGlzIHRlbXBsYXRlLicsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiAnUHJvY2VzcyBWYXJpYWJsZSBOYW1lJyxcbiAgICAgIHByb2Nlc3NWYXJpYWJsZU5hbWVUb29sdGlwOiAnVGhlIHJlc3VsdCB3aWxsIGJlIHN0b3JlZCBpbiBhIHByb2Nlc3MgdmFyaWFibGUgd2l0aCB0aGlzIG5hbWUuJyxcbiAgICB9LFxuICAgIGRlOiB7XG4gICAgICB0aXRsZTogJ1RleHQtVm9ybGFnZW4nLFxuICAgICAgJ2dlbmVyYXRlLXRleHQtZmlsZSc6ICdUZXh0LURhdGVpIGdlbmVyaWVyZW4nLFxuICAgICAgZGVzY3JpcHRpb246ICdFcnN0ZWxsZW4gU2llIFRleHQtVm9ybGFnZW4gbWl0IEZyZWVtYXJrZXIuJyxcbiAgICAgIGNvbmZpZ3VyYXRpb25UaXRsZTogJ0tvbmZpZ3VyYXRpb25zbmFtZScsXG4gICAgICBjb25maWd1cmF0aW9uVGl0bGVUb29sdGlwOlxuICAgICAgICAgICdEZXIgTmFtZSBkZXIgYWt0dWVsbGVuIFBsdWctaW4tS29uZmlndXJhdGlvbi4gVW50ZXIgZGllc2VtIE5hbWVuIGthbm4gZGllIEtvbmZpZ3VyYXRpb24gaW0gUmVzdCBkZXIgQW53ZW5kdW5nIGdlZnVuZGVuIHdlcmRlbi4nLFxuICAgICAgZ2VuZXJhdGVUZXh0RmlsZURlc2NyaXB0aW9uOlxuICAgICAgICAgICdEaWVzZSBBa3Rpb24gZ2VuZXJpZXJ0IGRlbiBJbmhhbHQgZWluZXIgVGV4dCB1bmQgc3BlaWNoZXJ0IGRhcyBFcmdlYm5pcyBpbiBlaW5lciB0ZW1wb3LDpHJlbiBEYXRlaS4gRGllIERhdGVpLUlEIHdpcmQgaW4gZWluZXIgUHJvemVzc3ZhcmlhYmxlbiBnZXNwZWljaGVydC4nLFxuICAgICAgdGV4dFRlbXBsYXRlS2V5OiAnVGV4dC1Wb3JsYWdlJyxcbiAgICAgIHRleHRUZW1wbGF0ZUtleVRvb2x0aXA6ICdEaWUgVGV4dCB3aXJkIGJhc2llcmVuZCBhdWYgZGllc2VyIFZvcmxhZ2UgZ2VuZXJpZXJ0LicsXG4gICAgICBwcm9jZXNzVmFyaWFibGVOYW1lOiAnUHJvemVzc3ZhcmlhYmxlbm5hbWUnLFxuICAgICAgcHJvY2Vzc1ZhcmlhYmxlTmFtZVRvb2x0aXA6ICdEYXMgRXJnZWJuaXMgd2lyZCBpbiBlaW5lciBQcm96ZXNzdmFyaWFibGVuIG1pdCBkaWVzZW0gTmFtZW4gZ2VzcGVpY2hlcnQuJyxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IHt0ZXh0VGVtcGxhdGVQbHVnaW5TcGVjaWZpY2F0aW9ufTtcbiJdfQ==
@@ -0,0 +1,84 @@
1
+ /*
2
+ * Copyright 2015-2024 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 { Injectable } from '@angular/core';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "@valtimo/config";
19
+ import * as i2 from "@angular/common/http";
20
+ export class FreemarkerTemplateManagementService {
21
+ constructor(configService, http) {
22
+ this.configService = configService;
23
+ this.http = http;
24
+ this.valtimoEndpointUri = `${this.configService.config.valtimoApi.endpointUri}management/`;
25
+ }
26
+ getAllMailTemplates(caseDefinitionName) {
27
+ return this.getTemplates(caseDefinitionName, 'mail', undefined, undefined, 0, 10000);
28
+ }
29
+ getAllTextTemplates(caseDefinitionName) {
30
+ return this.getTemplates(caseDefinitionName, 'text', undefined, undefined, 0, 10000);
31
+ }
32
+ getAllDocumentTemplates(caseDefinitionName) {
33
+ return this.getTemplates(caseDefinitionName, undefined, ['csv', 'pdf'], undefined, 0, 10000);
34
+ }
35
+ getAllTemplates(caseDefinitionName, templateType) {
36
+ return this.getTemplates(caseDefinitionName, templateType, undefined, undefined, 0, 10000);
37
+ }
38
+ getTemplates(caseDefinitionName, templateType, templateTypes, templateKey, page, pageSize) {
39
+ const params = {
40
+ caseDefinitionName,
41
+ templateType,
42
+ templateTypes,
43
+ templateKey,
44
+ page,
45
+ size: pageSize,
46
+ };
47
+ Object.keys(params).forEach(key => {
48
+ if (params[key] === undefined) {
49
+ delete params[key];
50
+ }
51
+ });
52
+ return this.http.get(`${this.valtimoEndpointUri}v1/template`, { params });
53
+ }
54
+ getMailTemplate(caseDefinitionName, key) {
55
+ return this.getTemplate(caseDefinitionName, 'mail', key);
56
+ }
57
+ getTextTemplate(caseDefinitionName, key) {
58
+ return this.getTemplate(caseDefinitionName, 'text', key);
59
+ }
60
+ getTemplate(caseDefinitionName, templateType, key) {
61
+ return this.http.get(`${this.valtimoEndpointUri}v1/case-definition/${caseDefinitionName}/template-type/${templateType}/template/${key}`);
62
+ }
63
+ addTemplate(template) {
64
+ return this.http.post(`${this.valtimoEndpointUri}v1/template`, template);
65
+ }
66
+ deleteTemplates(request) {
67
+ return this.http.delete(`${this.valtimoEndpointUri}v1/template`, { body: request });
68
+ }
69
+ updateTemplate(template) {
70
+ return this.http.put(`${this.valtimoEndpointUri}v1/template`, template);
71
+ }
72
+ previewTemplate(template) {
73
+ return this.http.post(`${this.valtimoEndpointUri}v1/template/preview`, template, { responseType: 'blob' });
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FreemarkerTemplateManagementService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
76
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FreemarkerTemplateManagementService, providedIn: 'root' }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FreemarkerTemplateManagementService, decorators: [{
79
+ type: Injectable,
80
+ args: [{
81
+ providedIn: 'root',
82
+ }]
83
+ }], ctorParameters: () => [{ type: i1.ConfigService }, { type: i2.HttpClient }] });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZW1hcmtlci10ZW1wbGF0ZS1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vLXBsdWdpbnMvZnJlZW1hcmtlci9zcmMvbGliL3NlcnZpY2VzL2ZyZWVtYXJrZXItdGVtcGxhdGUtbWFuYWdlbWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQWlCekMsTUFBTSxPQUFPLG1DQUFtQztJQUc1QyxZQUNxQixhQUE0QixFQUM1QixJQUFnQjtRQURoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRWpDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxXQUFXLGFBQWEsQ0FBQztJQUMvRixDQUFDO0lBRU0sbUJBQW1CLENBQUMsa0JBQTJCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGtCQUEyQjtRQUNsRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxrQkFBMkI7UUFDdEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFTSxlQUFlLENBQUMsa0JBQTJCLEVBQUUsWUFBMkI7UUFDM0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sWUFBWSxDQUNmLGtCQUEyQixFQUMzQixZQUEyQixFQUMzQixhQUE4QixFQUM5QixXQUFvQixFQUNwQixJQUFhLEVBQ2IsUUFBaUI7UUFFakIsTUFBTSxNQUFNLEdBQTJEO1lBQ25FLGtCQUFrQjtZQUNsQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxJQUFJO1lBQ0osSUFBSSxFQUFFLFFBQVE7U0FDakIsQ0FBQztRQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzlCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM1QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUN2QyxFQUFDLE1BQU0sRUFBQyxDQUNYLENBQUM7SUFDTixDQUFDO0lBRU0sZUFBZSxDQUFDLGtCQUEwQixFQUFFLEdBQVc7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sZUFBZSxDQUFDLGtCQUEwQixFQUFFLEdBQVc7UUFDMUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sV0FBVyxDQUFDLGtCQUEwQixFQUFFLFlBQTBCLEVBQUUsR0FBVztRQUNsRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNoQixHQUFHLElBQUksQ0FBQyxrQkFBa0Isc0JBQXNCLGtCQUFrQixrQkFBa0IsWUFBWSxhQUFhLEdBQUcsRUFBRSxDQUNySCxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFrQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTSxlQUFlLENBQUMsT0FBK0I7UUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVNLGNBQWMsQ0FBQyxRQUErQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFtQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxlQUFlLENBQUMsUUFBZ0M7UUFDbkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IscUJBQXFCLEVBQUUsUUFBUSxFQUFFLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFDN0csQ0FBQzsrR0FuRlEsbUNBQW1DO21IQUFuQyxtQ0FBbUMsY0FGaEMsTUFBTTs7NEZBRVQsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBIZWFkZXJzfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge21hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIERlbGV0ZVRlbXBsYXRlc1JlcXVlc3QsXG4gICAgVGVtcGxhdGUsXG4gICAgVGVtcGxhdGVMaXN0SXRlbSxcbiAgICBUZW1wbGF0ZVByZXZpZXdSZXF1ZXN0LFxuICAgIFRlbXBsYXRlUmVzcG9uc2UsXG4gICAgVGVtcGxhdGVUeXBlLFxuICAgIFVwZGF0ZVRlbXBsYXRlUmVxdWVzdCxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZSwgUGFnZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRnJlZW1hcmtlclRlbXBsYXRlTWFuYWdlbWVudFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdGltb0VuZHBvaW50VXJpOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnRcbiAgICApIHtcbiAgICAgICAgdGhpcy52YWx0aW1vRW5kcG9pbnRVcmkgPSBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcml9bWFuYWdlbWVudC9gO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxNYWlsVGVtcGxhdGVzKGNhc2VEZWZpbml0aW9uTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8UGFnZTxUZW1wbGF0ZUxpc3RJdGVtPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lLCAnbWFpbCcsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCAwLCAxMDAwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFsbFRleHRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlPFRlbXBsYXRlTGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlcyhjYXNlRGVmaW5pdGlvbk5hbWUsICd0ZXh0JywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIDAsIDEwMDAwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWxsRG9jdW1lbnRUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxQYWdlPFRlbXBsYXRlTGlzdEl0ZW0+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlcyhjYXNlRGVmaW5pdGlvbk5hbWUsIHVuZGVmaW5lZCwgWydjc3YnLCAncGRmJ10sIHVuZGVmaW5lZCwgMCwgMTAwMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbGxUZW1wbGF0ZXMoY2FzZURlZmluaXRpb25OYW1lPzogc3RyaW5nLCB0ZW1wbGF0ZVR5cGU/OiBUZW1wbGF0ZVR5cGUpOiBPYnNlcnZhYmxlPFBhZ2U8VGVtcGxhdGVMaXN0SXRlbT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGVtcGxhdGVzKGNhc2VEZWZpbml0aW9uTmFtZSwgdGVtcGxhdGVUeXBlLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgMCwgMTAwMDApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZW1wbGF0ZXMoXG4gICAgICAgIGNhc2VEZWZpbml0aW9uTmFtZT86IHN0cmluZyxcbiAgICAgICAgdGVtcGxhdGVUeXBlPzogVGVtcGxhdGVUeXBlLFxuICAgICAgICB0ZW1wbGF0ZVR5cGVzPzogVGVtcGxhdGVUeXBlW10sXG4gICAgICAgIHRlbXBsYXRlS2V5Pzogc3RyaW5nLFxuICAgICAgICBwYWdlPzogbnVtYmVyLFxuICAgICAgICBwYWdlU2l6ZT86IG51bWJlcixcbiAgICApOiBPYnNlcnZhYmxlPFBhZ2U8VGVtcGxhdGVMaXN0SXRlbT4+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZD4gPSB7XG4gICAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgICB0ZW1wbGF0ZVR5cGUsXG4gICAgICAgICAgICB0ZW1wbGF0ZVR5cGVzLFxuICAgICAgICAgICAgdGVtcGxhdGVLZXksXG4gICAgICAgICAgICBwYWdlLFxuICAgICAgICAgICAgc2l6ZTogcGFnZVNpemUsXG4gICAgICAgIH07XG5cbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAocGFyYW1zW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwYXJhbXNba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UGFnZTxUZW1wbGF0ZUxpc3RJdGVtPj4oXG4gICAgICAgICAgICBgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90ZW1wbGF0ZWAsXG4gICAgICAgICAgICB7cGFyYW1zfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNYWlsVGVtcGxhdGUoY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlKGNhc2VEZWZpbml0aW9uTmFtZSwgJ21haWwnLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZXh0VGVtcGxhdGUoY2FzZURlZmluaXRpb25OYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRlbXBsYXRlKGNhc2VEZWZpbml0aW9uTmFtZSwgJ3RleHQnLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUZW1wbGF0ZShjYXNlRGVmaW5pdGlvbk5hbWU6IHN0cmluZywgdGVtcGxhdGVUeXBlOiBUZW1wbGF0ZVR5cGUsIGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRlbXBsYXRlUmVzcG9uc2U+KFxuICAgICAgICAgICAgYCR7dGhpcy52YWx0aW1vRW5kcG9pbnRVcml9djEvY2FzZS1kZWZpbml0aW9uLyR7Y2FzZURlZmluaXRpb25OYW1lfS90ZW1wbGF0ZS10eXBlLyR7dGVtcGxhdGVUeXBlfS90ZW1wbGF0ZS8ke2tleX1gXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSk6IE9ic2VydmFibGU8VGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VGVtcGxhdGVSZXNwb25zZT4oYCR7dGhpcy52YWx0aW1vRW5kcG9pbnRVcml9djEvdGVtcGxhdGVgLCB0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlbGV0ZVRlbXBsYXRlcyhyZXF1ZXN0OiBEZWxldGVUZW1wbGF0ZXNSZXF1ZXN0KTogT2JzZXJ2YWJsZTxudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPG51bGw+KGAke3RoaXMudmFsdGltb0VuZHBvaW50VXJpfXYxL3RlbXBsYXRlYCwge2JvZHk6IHJlcXVlc3R9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVGVtcGxhdGUodGVtcGxhdGU6IFVwZGF0ZVRlbXBsYXRlUmVxdWVzdCk6IE9ic2VydmFibGU8VGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUZW1wbGF0ZVJlc3BvbnNlPihgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90ZW1wbGF0ZWAsIHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcHJldmlld1RlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVByZXZpZXdSZXF1ZXN0KTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnZhbHRpbW9FbmRwb2ludFVyaX12MS90ZW1wbGF0ZS9wcmV2aWV3YCwgdGVtcGxhdGUsIHtyZXNwb25zZVR5cGU6ICdibG9iJ30pO1xuICAgIH1cbn1cbiJdfQ==