@valtimo/decision 10.8.0 → 11.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/{esm2020 → esm2022}/lib/decision-deploy/decision-deploy.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/decision-display/decision-display.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/decision-list/decision-list.component.mjs +4 -4
  4. package/esm2022/lib/decision-modeler/decision-modeler.component.mjs +213 -0
  5. package/{esm2020 → esm2022}/lib/decision-routing.module.mjs +5 -5
  6. package/{esm2020 → esm2022}/lib/decision.component.mjs +4 -4
  7. package/esm2022/lib/decision.module.mjs +77 -0
  8. package/esm2022/lib/decision.service.mjs +54 -0
  9. package/{esm2020 → esm2022}/lib/services/decision-state.service.mjs +4 -4
  10. package/{fesm2020 → fesm2022}/valtimo-decision.mjs +53 -52
  11. package/fesm2022/valtimo-decision.mjs.map +1 -0
  12. package/lib/decision-deploy/decision-deploy.component.d.ts +1 -1
  13. package/lib/decision-display/decision-display.component.d.ts +1 -1
  14. package/lib/decision-list/decision-list.component.d.ts +1 -1
  15. package/lib/decision-modeler/decision-modeler.component.d.ts +2 -3
  16. package/lib/decision-modeler/decision-modeler.component.d.ts.map +1 -1
  17. package/lib/decision.component.d.ts +1 -1
  18. package/lib/decision.module.d.ts +1 -2
  19. package/lib/decision.module.d.ts.map +1 -1
  20. package/lib/decision.service.d.ts.map +1 -1
  21. package/package.json +10 -16
  22. package/esm2020/lib/decision-modeler/decision-modeler.component.mjs +0 -214
  23. package/esm2020/lib/decision.module.mjs +0 -78
  24. package/esm2020/lib/decision.service.mjs +0 -54
  25. package/fesm2015/valtimo-decision.mjs +0 -719
  26. package/fesm2015/valtimo-decision.mjs.map +0 -1
  27. package/fesm2020/valtimo-decision.mjs.map +0 -1
  28. /package/{esm2020 → esm2022}/lib/decision-modeler/empty-decision.mjs +0 -0
  29. /package/{esm2020 → esm2022}/lib/models/decision.model.mjs +0 -0
  30. /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
  31. /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
  32. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  33. /package/{esm2020 → esm2022}/valtimo-decision.mjs +0 -0
@@ -1,214 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import DmnJS from 'dmn-js/dist/dmn-modeler.development.js';
3
- import { migrateDiagram } from '@bpmn-io/dmn-migrate';
4
- import { BehaviorSubject, catchError, combineLatest, filter, from, map, of, switchMap, take, tap, } from 'rxjs';
5
- import { EMPTY_DECISION } from './empty-decision';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../decision.service";
8
- import * as i2 from "@angular/router";
9
- import * as i3 from "@valtimo/components";
10
- import * as i4 from "@ngx-translate/core";
11
- import * as i5 from "@valtimo/layout";
12
- import * as i6 from "@angular/common";
13
- import * as i7 from "@valtimo/user-interface";
14
- export class DecisionModelerComponent {
15
- constructor(decisionService, route, router, alertService, translateService, layoutService, pageTitleService) {
16
- this.decisionService = decisionService;
17
- this.route = route;
18
- this.router = router;
19
- this.alertService = alertService;
20
- this.translateService = translateService;
21
- this.layoutService = layoutService;
22
- this.pageTitleService = pageTitleService;
23
- this.CLASS_NAMES = {
24
- drd: 'dmn-icon-lasso-tool',
25
- decisionTable: 'dmn-icon-decision-table',
26
- literalExpression: 'dmn-icon-literal-expression',
27
- };
28
- this.versionSelectionDisabled$ = new BehaviorSubject(true);
29
- this.isCreating$ = new BehaviorSubject(false);
30
- this.decisionId$ = this.route.params.pipe(map(params => params?.id), tap(decisionId => this.isCreating$.next(decisionId === 'create')), filter(decisionId => !!decisionId && decisionId !== 'create'), tap(() => this.versionSelectionDisabled$.next(true)));
31
- this.selectionId$ = new BehaviorSubject('');
32
- this.decision$ = this.decisionId$.pipe(switchMap(decisionId => this.decisionService.getDecisionById(decisionId)), tap(decision => {
33
- if (decision) {
34
- this.selectionId$.next(decision.id);
35
- }
36
- }));
37
- this.decisionTitle$ = this.decision$.pipe(map(decision => decision?.key || ''), tap(decisionTitle => {
38
- this.pageTitleService.setCustomPageTitle(decisionTitle);
39
- }));
40
- this.createdDecisionVersionSelectItems$ = new BehaviorSubject([]);
41
- this.decisionVersionSelectItems$ = combineLatest([
42
- this.decision$,
43
- this.decisionService.getDecisions(),
44
- this.createdDecisionVersionSelectItems$,
45
- ]).pipe(map(([currentDecision, decisions, createdDecisionVersionSelectItems]) => {
46
- const decisionsWithKey = decisions.filter(decision => decision.key === currentDecision.key);
47
- return [
48
- ...decisionsWithKey.map(decision => ({
49
- id: decision.id,
50
- text: decision.version.toString(),
51
- })),
52
- ...createdDecisionVersionSelectItems,
53
- ].sort((a, b) => Number(b.text) - Number(a.text));
54
- }), tap(() => this.versionSelectionDisabled$.next(false)));
55
- this.decisionXml$ = this.decisionId$.pipe(switchMap(decisionId => this.decisionService.getDecisionXml(decisionId)), tap(decisionXml => {
56
- if (decisionXml) {
57
- this.loadDecisionXml(decisionXml);
58
- }
59
- }));
60
- this.setTabEvents = () => {
61
- const $tabs = this.$tabs;
62
- const dmnModeler = this.dmnModeler;
63
- $tabs.delegate('.tab', 'click', async function (e) {
64
- // get index of view from clicked tab
65
- const viewIdx = parseInt(this.getAttribute('data-id'), 10);
66
- // get view using index
67
- const view = dmnModeler.getViews()[viewIdx];
68
- // open view
69
- try {
70
- await dmnModeler.open(view);
71
- }
72
- catch (err) {
73
- console.error('error opening tab', err);
74
- }
75
- });
76
- };
77
- this.setModelerEvents = () => {
78
- const $tabs = this.$tabs;
79
- const CLASS_NAMES = this.CLASS_NAMES;
80
- this.dmnModeler.on('views.changed', function (event) {
81
- // get views from event
82
- const { views, activeView } = event;
83
- // clear tabs
84
- $tabs.empty();
85
- // create a new tab for each view
86
- views.forEach(function (v, idx) {
87
- const className = CLASS_NAMES[v.type];
88
- const tab = $(`
89
- <div class="tab ${v === activeView ? 'active' : ''}" data-id="${idx}">
90
- <span class="${className}"></span>
91
- ${v.element.name || v.element.id}
92
- </div>
93
- `);
94
- $tabs.append(tab);
95
- });
96
- });
97
- };
98
- }
99
- ngAfterViewInit() {
100
- this.setProperties();
101
- this.setTabEvents();
102
- this.setModelerEvents();
103
- }
104
- switchVersion(decisionId) {
105
- if (decisionId) {
106
- this.router.navigate(['/decision-tables/edit', decisionId]);
107
- }
108
- }
109
- deploy() {
110
- from(this.dmnModeler.saveXML({ format: true }))
111
- .pipe(map(result => result.xml), map(xml => new File([xml], 'decision.dmn', {
112
- type: 'text/xml',
113
- })), switchMap(file => this.decisionService.deployDmn(file)), tap(res => {
114
- const deployedDefinitions = res.deployedDecisionDefinitions;
115
- const deployedDecisionDefinition = deployedDefinitions[Object.keys(deployedDefinitions)[0]];
116
- const deployedId = deployedDecisionDefinition.id;
117
- this.createdDecisionVersionSelectItems$
118
- .pipe(take(1))
119
- .subscribe(createdDecisionVersionSelectItems => {
120
- if (deployedDecisionDefinition) {
121
- this.createdDecisionVersionSelectItems$.next([
122
- ...createdDecisionVersionSelectItems,
123
- {
124
- id: deployedId,
125
- text: deployedDecisionDefinition.version.toString(),
126
- },
127
- ]);
128
- }
129
- if (deployedId) {
130
- setTimeout(() => {
131
- this.switchVersion(deployedId);
132
- this.alertService.success(this.translateService.instant('decisions.deploySuccess'));
133
- });
134
- }
135
- });
136
- }), catchError(() => {
137
- this.alertService.error(this.translateService.instant('decisions.deployFailure'));
138
- return of(null);
139
- }))
140
- .subscribe();
141
- }
142
- download() {
143
- from(this.dmnModeler.saveXML({ format: true }))
144
- .pipe(map(result => result.xml), map(xml => new File([xml], 'decision.dmn', {
145
- type: 'text/xml',
146
- })), tap(file => {
147
- const link = document.createElement('a');
148
- link.download = 'diagram.dmn';
149
- link.href = window.URL.createObjectURL(file);
150
- link.click();
151
- window.URL.revokeObjectURL(link.href);
152
- link.remove();
153
- }))
154
- .subscribe();
155
- }
156
- setProperties() {
157
- const isCreating = this.isCreating$.getValue();
158
- this.$container = $('.editor-container');
159
- this.$tabs = $('.editor-tabs');
160
- this.dmnModeler = new DmnJS({
161
- container: this.$container,
162
- height: 500,
163
- width: '100%',
164
- keyboard: {
165
- bindTo: window,
166
- },
167
- });
168
- if (isCreating) {
169
- this.loadEmptyDecisionTable();
170
- }
171
- }
172
- loadEmptyDecisionTable() {
173
- this.loadDecisionXml(EMPTY_DECISION);
174
- }
175
- loadDecisionXml(decision) {
176
- from(this.dmnModeler.importXML(decision.dmnXml))
177
- .pipe(tap(() => {
178
- this.setEditor();
179
- }), catchError(() => {
180
- this.migrateAndLoadDecisionXml(decision);
181
- return of(null);
182
- }))
183
- .subscribe();
184
- }
185
- migrateAndLoadDecisionXml(decision) {
186
- from(migrateDiagram(decision.dmnXml))
187
- .pipe(switchMap(decisionXml => this.dmnModeler.importXML(decisionXml)), tap(() => {
188
- this.setEditor();
189
- }), catchError(() => {
190
- this.alertService.error(this.translateService.instant('decisions.loadFailure'));
191
- return of(null);
192
- }))
193
- .subscribe();
194
- }
195
- setEditor() {
196
- const dmnModeler = this.dmnModeler;
197
- const activeView = dmnModeler.getActiveView();
198
- // apply initial logic in DRD view
199
- if (activeView.type === 'drd') {
200
- const activeEditor = dmnModeler.getActiveViewer();
201
- // access active editor components
202
- const canvas = activeEditor.get('canvas');
203
- // zoom to fit full viewport
204
- canvas.zoom('fit-viewport');
205
- }
206
- }
207
- }
208
- DecisionModelerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionModelerComponent, deps: [{ token: i1.DecisionService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i3.AlertService }, { token: i4.TranslateService }, { token: i5.LayoutService }, { token: i3.PageTitleService }], target: i0.ɵɵFactoryTarget.Component });
209
- DecisionModelerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: DecisionModelerComponent, selector: "valtimo-decision-modeler", 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<div\n [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\"\n class=\"mb-5\"\n *ngIf=\"{\n decisionXml: decisionXml$ | async,\n decisionTitle: decisionTitle$ | async\n } as obs\"\n>\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"createButtons\"></ng-container>\n <div [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\" class=\"modeler pl-3 pr-3 mb-3\">\n <ng-container *ngTemplateOutlet=\"diagramHeader\"></ng-container>\n <ng-container *ngTemplateOutlet=\"diagram\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #buttons>\n <div\n class=\"text-right\"\n *ngIf=\"(isCreating$ | async) === false && {selectionId: selectionId$ | async} as obs\"\n >\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"obs.selectionId && !layoutService.isFullscreen\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': obs.selectionId !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #createButtons>\n <div class=\"text-right\" *ngIf=\"isCreating$ | async\">\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"!layoutService.isFullscreen\">\n <button class=\"btn btn-success btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n <!-- <button-->\n <!-- *ngIf=\"selectedVersion === null\"-->\n <!-- class=\"btn btn-danger btn-space mr-0\"-->\n <!-- (click)=\"reset()\"-->\n <!-- >-->\n <!-- <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}-->\n <!-- </button>-->\n </div>\n </div>\n</ng-template>\n\n<ng-template #diagramHeader>\n <div class=\"row pt-4 pb-3 bg-light diagram-header justify-content-between\">\n <ng-container *ngTemplateOutlet=\"versionSelection\"></ng-container>\n <ng-container *ngTemplateOutlet=\"fullScreenToggle\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #versionSelection>\n <div class=\"col-md-2 d-flex justify-content-center align-items-center\">\n <ng-container\n *ngIf=\"\n (isCreating$ | async) === false && {\n versionSelectItems: decisionVersionSelectItems$ | async,\n defaultSelectionId: selectionId$ | async,\n disabled: versionSelectionDisabled$ | async\n } as obs\n \"\n >\n <v-select\n name=\"version\"\n [title]=\"'decisions.version' | translate\"\n [disabled]=\"obs.disabled\"\n [clearable]=\"false\"\n [loading]=\"!obs.versionSelectItems\"\n [items]=\"obs.versionSelectItems\"\n [defaultSelectionId]=\"obs.defaultSelectionId\"\n [widthInPx]=\"100\"\n (selectedChange)=\"switchVersion($event)\"\n ></v-select>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #fullScreenToggle>\n <div class=\"col-md-2 d-flex fullscreen-toggle align-items-start justify-content-end\">\n <i\n (click)=\"layoutService.toggleFullscreen()\"\n [ngClass]=\"{\n 'mdi-fullscreen': !layoutService.isFullscreen,\n 'mdi-fullscreen-exit': layoutService.isFullscreen\n }\"\n class=\"mdi\"\n ></i>\n </div>\n</ng-template>\n\n<ng-template #diagram>\n <div class=\"row bg-white diagram mb-3\">\n <div class=\"dmn-modeler\">\n <div class=\"test-container\">\n <div class=\"editor-parent\">\n <div class=\"editor-container\"></div>\n <div class=\"editor-tabs\"></div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\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 */#save-button{position:absolute;bottom:10px;left:10px;background:white;border:solid 1px #ccc;border-radius:2px;padding:8px;font-family:Arial,sans-serif;font-weight:700;cursor:default;font-size:14px;color:#444}.dmn-modeler{display:flex;flex-direction:column;width:100%;padding:1rem}.diagram,.diagram-header{border:1px solid #dee2e6}.decision-title{color:#6b6b6b;font-size:1.5rem;margin:0}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin"], outputs: ["selectedChange", "clear"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionModelerComponent, decorators: [{
211
- type: Component,
212
- args: [{ selector: 'valtimo-decision-modeler', 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<div\n [ngClass]=\"{'main-content pt-0': !layoutService.isFullscreen}\"\n class=\"mb-5\"\n *ngIf=\"{\n decisionXml: decisionXml$ | async,\n decisionTitle: decisionTitle$ | async\n } as obs\"\n>\n <div [ngClass]=\"{'container-fluid': !layoutService.isFullscreen}\">\n <ng-container *ngTemplateOutlet=\"buttons\"></ng-container>\n <ng-container *ngTemplateOutlet=\"createButtons\"></ng-container>\n <div [ngClass]=\"{'mt-4': !layoutService.isFullscreen}\" class=\"modeler pl-3 pr-3 mb-3\">\n <ng-container *ngTemplateOutlet=\"diagramHeader\"></ng-container>\n <ng-container *ngTemplateOutlet=\"diagram\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #buttons>\n <div\n class=\"text-right\"\n *ngIf=\"(isCreating$ | async) === false && {selectionId: selectionId$ | async} as obs\"\n >\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"obs.selectionId && !layoutService.isFullscreen\">\n <button class=\"btn btn-primary btn-space\" (click)=\"download()\">\n <i class=\"icon mdi mdi-download mr-1\"></i>{{ 'processManagement.download' | translate }}\n </button>\n <button\n class=\"btn btn-success btn-space\"\n (click)=\"deploy()\"\n [ngClass]=\"{'mr-0': obs.selectionId !== null}\"\n >\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #createButtons>\n <div class=\"text-right\" *ngIf=\"isCreating$ | async\">\n <div class=\"btn-group mt-m3px mb-3\" *ngIf=\"!layoutService.isFullscreen\">\n <button class=\"btn btn-success btn-space\" (click)=\"deploy()\">\n <i class=\"icon mdi mdi-upload mr-1\"></i>{{ 'decisions.deploy' | translate }}\n </button>\n <!-- <button-->\n <!-- *ngIf=\"selectedVersion === null\"-->\n <!-- class=\"btn btn-danger btn-space mr-0\"-->\n <!-- (click)=\"reset()\"-->\n <!-- >-->\n <!-- <i class=\"icon mdi mdi-delete mr-1\"></i>{{ 'processManagement.clear' | translate }}-->\n <!-- </button>-->\n </div>\n </div>\n</ng-template>\n\n<ng-template #diagramHeader>\n <div class=\"row pt-4 pb-3 bg-light diagram-header justify-content-between\">\n <ng-container *ngTemplateOutlet=\"versionSelection\"></ng-container>\n <ng-container *ngTemplateOutlet=\"fullScreenToggle\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #versionSelection>\n <div class=\"col-md-2 d-flex justify-content-center align-items-center\">\n <ng-container\n *ngIf=\"\n (isCreating$ | async) === false && {\n versionSelectItems: decisionVersionSelectItems$ | async,\n defaultSelectionId: selectionId$ | async,\n disabled: versionSelectionDisabled$ | async\n } as obs\n \"\n >\n <v-select\n name=\"version\"\n [title]=\"'decisions.version' | translate\"\n [disabled]=\"obs.disabled\"\n [clearable]=\"false\"\n [loading]=\"!obs.versionSelectItems\"\n [items]=\"obs.versionSelectItems\"\n [defaultSelectionId]=\"obs.defaultSelectionId\"\n [widthInPx]=\"100\"\n (selectedChange)=\"switchVersion($event)\"\n ></v-select>\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template #fullScreenToggle>\n <div class=\"col-md-2 d-flex fullscreen-toggle align-items-start justify-content-end\">\n <i\n (click)=\"layoutService.toggleFullscreen()\"\n [ngClass]=\"{\n 'mdi-fullscreen': !layoutService.isFullscreen,\n 'mdi-fullscreen-exit': layoutService.isFullscreen\n }\"\n class=\"mdi\"\n ></i>\n </div>\n</ng-template>\n\n<ng-template #diagram>\n <div class=\"row bg-white diagram mb-3\">\n <div class=\"dmn-modeler\">\n <div class=\"test-container\">\n <div class=\"editor-parent\">\n <div class=\"editor-container\"></div>\n <div class=\"editor-tabs\"></div>\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["/*!\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 */#save-button{position:absolute;bottom:10px;left:10px;background:white;border:solid 1px #ccc;border-radius:2px;padding:8px;font-family:Arial,sans-serif;font-weight:700;cursor:default;font-size:14px;color:#444}.dmn-modeler{display:flex;flex-direction:column;width:100%;padding:1rem}.diagram,.diagram-header{border:1px solid #dee2e6}.decision-title{color:#6b6b6b;font-size:1.5rem;margin:0}.fullscreen-toggle{font-size:2rem}.fullscreen-toggle>i{cursor:pointer}\n"] }]
213
- }], ctorParameters: function () { return [{ type: i1.DecisionService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.AlertService }, { type: i4.TranslateService }, { type: i5.LayoutService }, { type: i3.PageTitleService }]; } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24tbW9kZWxlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2RlY2lzaW9uL3NyYy9saWIvZGVjaXNpb24tbW9kZWxlci9kZWNpc2lvbi1tb2RlbGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGVjaXNpb24vc3JjL2xpYi9kZWNpc2lvbi1tb2RlbGVyL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE9BQU8sRUFBZ0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLHdDQUF3QyxDQUFDO0FBRzNELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLFVBQVUsRUFDVixhQUFhLEVBQ2IsTUFBTSxFQUNOLElBQUksRUFDSixHQUFHLEVBRUgsRUFBRSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBSWQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFTaEQsTUFBTSxPQUFPLHdCQUF3QjtJQXFFbkMsWUFDbUIsZUFBZ0MsRUFDaEMsS0FBcUIsRUFDckIsTUFBYyxFQUNkLFlBQTBCLEVBQzFCLGdCQUFrQyxFQUNuQyxhQUE0QixFQUMzQixnQkFBa0M7UUFObEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzNCLHFCQUFnQixH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Q29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0RlY2lzaW9uU2VydmljZX0gZnJvbSAnLi4vZGVjaXNpb24uc2VydmljZSc7XG5pbXBvcnQge0FmdGVyVmlld0luaXQsIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgRG1uSlMgZnJvbSAnZG1uLWpzL2Rpc3QvZG1uLW1vZGVsZXIuZGV2ZWxvcG1lbnQuanMnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtEZWNpc2lvbiwgRGVjaXNpb25YbWx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge21pZ3JhdGVEaWFncmFtfSBmcm9tICdAYnBtbi1pby9kbW4tbWlncmF0ZSc7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2xheW91dCc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNhdGNoRXJyb3IsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgZnJvbSxcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTZWxlY3RlZFZhbHVlLCBTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby91c2VyLWludGVyZmFjZSc7XG5pbXBvcnQge0FsZXJ0U2VydmljZSwgUGFnZVRpdGxlU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9ERUNJU0lPTn0gZnJvbSAnLi9lbXB0eS1kZWNpc2lvbic7XG5cbmRlY2xhcmUgY29uc3QgJDogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWRlY2lzaW9uLW1vZGVsZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGVjaXNpb24tbW9kZWxlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVjaXNpb25Nb2RlbGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgQ0xBU1NfTkFNRVMgPSB7XG4gICAgZHJkOiAnZG1uLWljb24tbGFzc28tdG9vbCcsXG4gICAgZGVjaXNpb25UYWJsZTogJ2Rtbi1pY29uLWRlY2lzaW9uLXRhYmxlJyxcbiAgICBsaXRlcmFsRXhwcmVzc2lvbjogJ2Rtbi1pY29uLWxpdGVyYWwtZXhwcmVzc2lvbicsXG4gIH07XG4gIHByaXZhdGUgJGNvbnRhaW5lciE6IGFueTtcbiAgcHJpdmF0ZSAkdGFicyE6IGFueTtcbiAgcHJpdmF0ZSBkbW5Nb2RlbGVyITogRG1uSlM7XG5cbiAgcmVhZG9ubHkgdmVyc2lvblNlbGVjdGlvbkRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgcmVhZG9ubHkgaXNDcmVhdGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlY2lzaW9uSWQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IG51bGw+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICBtYXAocGFyYW1zID0+IHBhcmFtcz8uaWQpLFxuICAgIHRhcChkZWNpc2lvbklkID0+IHRoaXMuaXNDcmVhdGluZyQubmV4dChkZWNpc2lvbklkID09PSAnY3JlYXRlJykpLFxuICAgIGZpbHRlcihkZWNpc2lvbklkID0+ICEhZGVjaXNpb25JZCAmJiBkZWNpc2lvbklkICE9PSAnY3JlYXRlJyksXG4gICAgdGFwKCgpID0+IHRoaXMudmVyc2lvblNlbGVjdGlvbkRpc2FibGVkJC5uZXh0KHRydWUpKVxuICApO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGlvbklkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZWNpc2lvbiQ6IE9ic2VydmFibGU8RGVjaXNpb24+ID0gdGhpcy5kZWNpc2lvbklkJC5waXBlKFxuICAgIHN3aXRjaE1hcChkZWNpc2lvbklkID0+IHRoaXMuZGVjaXNpb25TZXJ2aWNlLmdldERlY2lzaW9uQnlJZChkZWNpc2lvbklkKSksXG4gICAgdGFwKGRlY2lzaW9uID0+IHtcbiAgICAgIGlmIChkZWNpc2lvbikge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbklkJC5uZXh0KGRlY2lzaW9uLmlkKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGRlY2lzaW9uVGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmRlY2lzaW9uJC5waXBlKFxuICAgIG1hcChkZWNpc2lvbiA9PiBkZWNpc2lvbj8ua2V5IHx8ICcnKSxcbiAgICB0YXAoZGVjaXNpb25UaXRsZSA9PiB7XG4gICAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2Uuc2V0Q3VzdG9tUGFnZVRpdGxlKGRlY2lzaW9uVGl0bGUpO1xuICAgIH0pXG4gICk7XG5cbiAgcmVhZG9ubHkgY3JlYXRlZERlY2lzaW9uVmVyc2lvblNlbGVjdEl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8U2VsZWN0SXRlbT4+KFtdKTtcblxuICByZWFkb25seSBkZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0SXRlbT4+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5kZWNpc2lvbiQsXG4gICAgdGhpcy5kZWNpc2lvblNlcnZpY2UuZ2V0RGVjaXNpb25zKCksXG4gICAgdGhpcy5jcmVhdGVkRGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXMkLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2N1cnJlbnREZWNpc2lvbiwgZGVjaXNpb25zLCBjcmVhdGVkRGVjaXNpb25WZXJzaW9uU2VsZWN0SXRlbXNdKSA9PiB7XG4gICAgICBjb25zdCBkZWNpc2lvbnNXaXRoS2V5ID0gZGVjaXNpb25zLmZpbHRlcihkZWNpc2lvbiA9PiBkZWNpc2lvbi5rZXkgPT09IGN1cnJlbnREZWNpc2lvbi5rZXkpO1xuXG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5kZWNpc2lvbnNXaXRoS2V5Lm1hcChkZWNpc2lvbiA9PiAoe1xuICAgICAgICAgIGlkOiBkZWNpc2lvbi5pZCxcbiAgICAgICAgICB0ZXh0OiBkZWNpc2lvbi52ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgIH0pKSxcbiAgICAgICAgLi4uY3JlYXRlZERlY2lzaW9uVmVyc2lvblNlbGVjdEl0ZW1zLFxuICAgICAgXS5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYi50ZXh0KSAtIE51bWJlcihhLnRleHQpKTtcbiAgICB9KSxcbiAgICB0YXAoKCkgPT4gdGhpcy52ZXJzaW9uU2VsZWN0aW9uRGlzYWJsZWQkLm5leHQoZmFsc2UpKVxuICApO1xuXG4gIHJlYWRvbmx5IGRlY2lzaW9uWG1sJCA9IHRoaXMuZGVjaXNpb25JZCQucGlwZShcbiAgICBzd2l0Y2hNYXAoZGVjaXNpb25JZCA9PiB0aGlzLmRlY2lzaW9uU2VydmljZS5nZXREZWNpc2lvblhtbChkZWNpc2lvbklkKSksXG4gICAgdGFwKGRlY2lzaW9uWG1sID0+IHtcbiAgICAgIGlmIChkZWNpc2lvblhtbCkge1xuICAgICAgICB0aGlzLmxvYWREZWNpc2lvblhtbChkZWNpc2lvblhtbCk7XG4gICAgICB9XG4gICAgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlY2lzaW9uU2VydmljZTogRGVjaXNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRQcm9wZXJ0aWVzKCk7XG4gICAgdGhpcy5zZXRUYWJFdmVudHMoKTtcbiAgICB0aGlzLnNldE1vZGVsZXJFdmVudHMoKTtcbiAgfVxuXG4gIHN3aXRjaFZlcnNpb24oZGVjaXNpb25JZDogc3RyaW5nIHwgU2VsZWN0ZWRWYWx1ZSk6IHZvaWQge1xuICAgIGlmIChkZWNpc2lvbklkKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9kZWNpc2lvbi10YWJsZXMvZWRpdCcsIGRlY2lzaW9uSWRdKTtcbiAgICB9XG4gIH1cblxuICBkZXBsb3koKTogdm9pZCB7XG4gICAgZnJvbSh0aGlzLmRtbk1vZGVsZXIuc2F2ZVhNTCh7Zm9ybWF0OiB0cnVlfSkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3VsdCA9PiAocmVzdWx0IGFzIGFueSkueG1sKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgIHhtbCA9PlxuICAgICAgICAgICAgbmV3IEZpbGUoW3htbF0sICdkZWNpc2lvbi5kbW4nLCB7XG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0L3htbCcsXG4gICAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAoZmlsZSA9PiB0aGlzLmRlY2lzaW9uU2VydmljZS5kZXBsb3lEbW4oZmlsZSkpLFxuICAgICAgICB0YXAocmVzID0+IHtcbiAgICAgICAgICBjb25zdCBkZXBsb3llZERlZmluaXRpb25zID0gcmVzLmRlcGxveWVkRGVjaXNpb25EZWZpbml0aW9ucztcbiAgICAgICAgICBjb25zdCBkZXBsb3llZERlY2lzaW9uRGVmaW5pdGlvbiA9XG4gICAgICAgICAgICBkZXBsb3llZERlZmluaXRpb25zW09iamVjdC5rZXlzKGRlcGxveWVkRGVmaW5pdGlvbnMpWzBdXTtcbiAgICAgICAgICBjb25zdCBkZXBsb3llZElkID0gZGVwbG95ZWREZWNpc2lvbkRlZmluaXRpb24uaWQ7XG5cbiAgICAgICAgICB0aGlzLmNyZWF0ZWREZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyRcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGNyZWF0ZWREZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyA9PiB7XG4gICAgICAgICAgICAgIGlmIChkZXBsb3llZERlY2lzaW9uRGVmaW5pdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlZERlY2lzaW9uVmVyc2lvblNlbGVjdEl0ZW1zJC5uZXh0KFtcbiAgICAgICAgICAgICAgICAgIC4uLmNyZWF0ZWREZWNpc2lvblZlcnNpb25TZWxlY3RJdGVtcyxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGRlcGxveWVkSWQsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGRlcGxveWVkRGVjaXNpb25EZWZpbml0aW9uLnZlcnNpb24udG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoZGVwbG95ZWRJZCkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5zd2l0Y2hWZXJzaW9uKGRlcGxveWVkSWQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2RlY2lzaW9ucy5kZXBsb3lTdWNjZXNzJylcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZXJyb3IodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2RlY2lzaW9ucy5kZXBsb3lGYWlsdXJlJykpO1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGRvd25sb2FkKCk6IHZvaWQge1xuICAgIGZyb20odGhpcy5kbW5Nb2RlbGVyLnNhdmVYTUwoe2Zvcm1hdDogdHJ1ZX0pKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXN1bHQgPT4gKHJlc3VsdCBhcyBhbnkpLnhtbCksXG4gICAgICAgIG1hcChcbiAgICAgICAgICB4bWwgPT5cbiAgICAgICAgICAgIG5ldyBGaWxlKFt4bWxdLCAnZGVjaXNpb24uZG1uJywge1xuICAgICAgICAgICAgICB0eXBlOiAndGV4dC94bWwnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKGZpbGUgPT4ge1xuICAgICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgbGluay5kb3dubG9hZCA9ICdkaWFncmFtLmRtbic7XG4gICAgICAgICAgbGluay5ocmVmID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSk7XG4gICAgICAgICAgbGluay5jbGljaygpO1xuICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGxpbmsuaHJlZik7XG4gICAgICAgICAgbGluay5yZW1vdmUoKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICBjb25zdCBpc0NyZWF0aW5nID0gdGhpcy5pc0NyZWF0aW5nJC5nZXRWYWx1ZSgpO1xuXG4gICAgdGhpcy4kY29udGFpbmVyID0gJCgnLmVkaXRvci1jb250YWluZXInKTtcbiAgICB0aGlzLiR0YWJzID0gJCgnLmVkaXRvci10YWJzJyk7XG4gICAgdGhpcy5kbW5Nb2RlbGVyID0gbmV3IERtbkpTKHtcbiAgICAgIGNvbnRhaW5lcjogdGhpcy4kY29udGFpbmVyLFxuICAgICAgaGVpZ2h0OiA1MDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAga2V5Ym9hcmQ6IHtcbiAgICAgICAgYmluZFRvOiB3aW5kb3csXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKGlzQ3JlYXRpbmcpIHtcbiAgICAgIHRoaXMubG9hZEVtcHR5RGVjaXNpb25UYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbG9hZEVtcHR5RGVjaXNpb25UYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWREZWNpc2lvblhtbChFTVBUWV9ERUNJU0lPTik7XG4gIH1cblxuICBwcml2YXRlIHNldFRhYkV2ZW50cyA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCAkdGFicyA9IHRoaXMuJHRhYnM7XG4gICAgY29uc3QgZG1uTW9kZWxlciA9IHRoaXMuZG1uTW9kZWxlcjtcblxuICAgICR0YWJzLmRlbGVnYXRlKCcudGFiJywgJ2NsaWNrJywgYXN5bmMgZnVuY3Rpb24gKGUpIHtcbiAgICAgIC8vIGdldCBpbmRleCBvZiB2aWV3IGZyb20gY2xpY2tlZCB0YWJcbiAgICAgIGNvbnN0IHZpZXdJZHggPSBwYXJzZUludCh0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1pZCcpLCAxMCk7XG5cbiAgICAgIC8vIGdldCB2aWV3IHVzaW5nIGluZGV4XG4gICAgICBjb25zdCB2aWV3ID0gZG1uTW9kZWxlci5nZXRWaWV3cygpW3ZpZXdJZHhdO1xuXG4gICAgICAvLyBvcGVuIHZpZXdcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGRtbk1vZGVsZXIub3Blbih2aWV3KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnJvciBvcGVuaW5nIHRhYicsIGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBzZXRNb2RlbGVyRXZlbnRzID0gKCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0ICR0YWJzID0gdGhpcy4kdGFicztcbiAgICBjb25zdCBDTEFTU19OQU1FUyA9IHRoaXMuQ0xBU1NfTkFNRVM7XG5cbiAgICB0aGlzLmRtbk1vZGVsZXIub24oJ3ZpZXdzLmNoYW5nZWQnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgIC8vIGdldCB2aWV3cyBmcm9tIGV2ZW50XG4gICAgICBjb25zdCB7dmlld3MsIGFjdGl2ZVZpZXd9ID0gZXZlbnQ7XG5cbiAgICAgIC8vIGNsZWFyIHRhYnNcbiAgICAgICR0YWJzLmVtcHR5KCk7XG5cbiAgICAgIC8vIGNyZWF0ZSBhIG5ldyB0YWIgZm9yIGVhY2ggdmlld1xuICAgICAgdmlld3MuZm9yRWFjaChmdW5jdGlvbiAodiwgaWR4KSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IENMQVNTX05BTUVTW3YudHlwZV07XG5cbiAgICAgICAgY29uc3QgdGFiID0gJChgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFiICR7diA9PT0gYWN0aXZlVmlldyA/ICdhY3RpdmUnIDogJyd9XCIgZGF0YS1pZD1cIiR7aWR4fVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7Y2xhc3NOYW1lfVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgJHt2LmVsZW1lbnQubmFtZSB8fCB2LmVsZW1lbnQuaWR9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBgKTtcblxuICAgICAgICAkdGFicy5hcHBlbmQodGFiKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgbG9hZERlY2lzaW9uWG1sKGRlY2lzaW9uOiBEZWNpc2lvblhtbCk6IHZvaWQge1xuICAgIGZyb20odGhpcy5kbW5Nb2RlbGVyLmltcG9ydFhNTChkZWNpc2lvbi5kbW5YbWwpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRFZGl0b3IoKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIHRoaXMubWlncmF0ZUFuZExvYWREZWNpc2lvblhtbChkZWNpc2lvbik7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtaWdyYXRlQW5kTG9hZERlY2lzaW9uWG1sKGRlY2lzaW9uOiBEZWNpc2lvblhtbCk6IHZvaWQge1xuICAgIGZyb20obWlncmF0ZURpYWdyYW0oZGVjaXNpb24uZG1uWG1sKSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoZGVjaXNpb25YbWwgPT4gdGhpcy5kbW5Nb2RlbGVyLmltcG9ydFhNTChkZWNpc2lvblhtbCkpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0RWRpdG9yKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5lcnJvcih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnZGVjaXNpb25zLmxvYWRGYWlsdXJlJykpO1xuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RWRpdG9yKCk6IHZvaWQge1xuICAgIGNvbnN0IGRtbk1vZGVsZXIgPSB0aGlzLmRtbk1vZGVsZXI7XG5cbiAgICBjb25zdCBhY3RpdmVWaWV3ID0gZG1uTW9kZWxlci5nZXRBY3RpdmVWaWV3KCk7XG5cbiAgICAvLyBhcHBseSBpbml0aWFsIGxvZ2ljIGluIERSRCB2aWV3XG4gICAgaWYgKGFjdGl2ZVZpZXcudHlwZSA9PT0gJ2RyZCcpIHtcbiAgICAgIGNvbnN0IGFjdGl2ZUVkaXRvciA9IGRtbk1vZGVsZXIuZ2V0QWN0aXZlVmlld2VyKCk7XG5cbiAgICAgIC8vIGFjY2VzcyBhY3RpdmUgZWRpdG9yIGNvbXBvbmVudHNcbiAgICAgIGNvbnN0IGNhbnZhcyA9IGFjdGl2ZUVkaXRvci5nZXQoJ2NhbnZhcycpO1xuXG4gICAgICAvLyB6b29tIHRvIGZpdCBmdWxsIHZpZXdwb3J0XG4gICAgICBjYW52YXMuem9vbSgnZml0LXZpZXdwb3J0Jyk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXZcbiAgW25nQ2xhc3NdPVwieydtYWluLWNvbnRlbnQgcHQtMCc6ICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlbn1cIlxuICBjbGFzcz1cIm1iLTVcIlxuICAqbmdJZj1cIntcbiAgICBkZWNpc2lvblhtbDogZGVjaXNpb25YbWwkIHwgYXN5bmMsXG4gICAgZGVjaXNpb25UaXRsZTogZGVjaXNpb25UaXRsZSQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgW25nQ2xhc3NdPVwieydjb250YWluZXItZmx1aWQnOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW59XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3JlYXRlQnV0dG9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydtdC00JzogIWxheW91dFNlcnZpY2UuaXNGdWxsc2NyZWVufVwiIGNsYXNzPVwibW9kZWxlciBwbC0zIHByLTMgbWItM1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRpYWdyYW1IZWFkZXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkaWFncmFtXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYnV0dG9ucz5cbiAgPGRpdlxuICAgIGNsYXNzPVwidGV4dC1yaWdodFwiXG4gICAgKm5nSWY9XCIoaXNDcmVhdGluZyQgfCBhc3luYykgPT09IGZhbHNlICYmIHtzZWxlY3Rpb25JZDogc2VsZWN0aW9uSWQkIHwgYXN5bmN9IGFzIG9ic1wiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG10LW0zcHggbWItM1wiICpuZ0lmPVwib2JzLnNlbGVjdGlvbklkICYmICFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlblwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc3BhY2VcIiAoY2xpY2spPVwiZG93bmxvYWQoKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kb3dubG9hZCBtci0xXCI+PC9pPnt7ICdwcm9jZXNzTWFuYWdlbWVudC5kb3dubG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBidG4tc3BhY2VcIlxuICAgICAgICAoY2xpY2spPVwiZGVwbG95KClcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J21yLTAnOiBvYnMuc2VsZWN0aW9uSWQgIT09IG51bGx9XCJcbiAgICAgID5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+e3sgJ2RlY2lzaW9ucy5kZXBsb3knIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NyZWF0ZUJ1dHRvbnM+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCIgKm5nSWY9XCJpc0NyZWF0aW5nJCB8IGFzeW5jXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cCBtdC1tM3B4IG1iLTNcIiAqbmdJZj1cIiFsYXlvdXRTZXJ2aWNlLmlzRnVsbHNjcmVlblwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc3VjY2VzcyBidG4tc3BhY2VcIiAoY2xpY2spPVwiZGVwbG95KClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJpY29uIG1kaSBtZGktdXBsb2FkIG1yLTFcIj48L2k+e3sgJ2RlY2lzaW9ucy5kZXBsb3knIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDwhLS0gICAgICA8YnV0dG9uLS0+XG4gICAgICA8IS0tICAgICAgICAqbmdJZj1cInNlbGVjdGVkVmVyc2lvbiA9PT0gbnVsbFwiLS0+XG4gICAgICA8IS0tICAgICAgICBjbGFzcz1cImJ0biBidG4tZGFuZ2VyIGJ0bi1zcGFjZSBtci0wXCItLT5cbiAgICAgIDwhLS0gICAgICAgIChjbGljayk9XCJyZXNldCgpXCItLT5cbiAgICAgIDwhLS0gICAgICA+LS0+XG4gICAgICA8IS0tICAgICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGUgbXItMVwiPjwvaT57eyAncHJvY2Vzc01hbmFnZW1lbnQuY2xlYXInIHwgdHJhbnNsYXRlIH19LS0+XG4gICAgICA8IS0tICAgICAgPC9idXR0b24+LS0+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkaWFncmFtSGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwicm93IHB0LTQgcGItMyBiZy1saWdodCBkaWFncmFtLWhlYWRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2ZXJzaW9uU2VsZWN0aW9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZ1bGxTY3JlZW5Ub2dnbGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3ZlcnNpb25TZWxlY3Rpb24+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICAoaXNDcmVhdGluZyQgfCBhc3luYykgPT09IGZhbHNlICYmIHtcbiAgICAgICAgICB2ZXJzaW9uU2VsZWN0SXRlbXM6IGRlY2lzaW9uVmVyc2lvblNlbGVjdEl0ZW1zJCB8IGFzeW5jLFxuICAgICAgICAgIGRlZmF1bHRTZWxlY3Rpb25JZDogc2VsZWN0aW9uSWQkIHwgYXN5bmMsXG4gICAgICAgICAgZGlzYWJsZWQ6IHZlcnNpb25TZWxlY3Rpb25EaXNhYmxlZCQgfCBhc3luY1xuICAgICAgICB9IGFzIG9ic1xuICAgICAgXCJcbiAgICA+XG4gICAgICA8di1zZWxlY3RcbiAgICAgICAgbmFtZT1cInZlcnNpb25cIlxuICAgICAgICBbdGl0bGVdPVwiJ2RlY2lzaW9ucy52ZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgW2xvYWRpbmddPVwiIW9icy52ZXJzaW9uU2VsZWN0SXRlbXNcIlxuICAgICAgICBbaXRlbXNdPVwib2JzLnZlcnNpb25TZWxlY3RJdGVtc1wiXG4gICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwib2JzLmRlZmF1bHRTZWxlY3Rpb25JZFwiXG4gICAgICAgIFt3aWR0aEluUHhdPVwiMTAwXCJcbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInN3aXRjaFZlcnNpb24oJGV2ZW50KVwiXG4gICAgICA+PC92LXNlbGVjdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Z1bGxTY3JlZW5Ub2dnbGU+XG4gIDxkaXYgY2xhc3M9XCJjb2wtbWQtMiBkLWZsZXggZnVsbHNjcmVlbi10b2dnbGUgYWxpZ24taXRlbXMtc3RhcnQganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgIDxpXG4gICAgICAoY2xpY2spPVwibGF5b3V0U2VydmljZS50b2dnbGVGdWxsc2NyZWVuKClcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnbWRpLWZ1bGxzY3JlZW4nOiAhbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW4sXG4gICAgICAgICdtZGktZnVsbHNjcmVlbi1leGl0JzogbGF5b3V0U2VydmljZS5pc0Z1bGxzY3JlZW5cbiAgICAgIH1cIlxuICAgICAgY2xhc3M9XCJtZGlcIlxuICAgID48L2k+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkaWFncmFtPlxuICA8ZGl2IGNsYXNzPVwicm93IGJnLXdoaXRlIGRpYWdyYW0gbWItM1wiPlxuICAgIDxkaXYgY2xhc3M9XCJkbW4tbW9kZWxlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRlc3QtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlZGl0b3ItcGFyZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1jb250YWluZXJcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLXRhYnNcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,78 +0,0 @@
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 { NgModule } from '@angular/core';
17
- import { DecisionComponent } from './decision.component';
18
- import { DecisionRoutingModule } from './decision-routing.module';
19
- import { DecisionDeployComponent } from './decision-deploy/decision-deploy.component';
20
- import { CommonModule } from '@angular/common';
21
- import { FormsModule } from '@angular/forms';
22
- import { DecisionDisplayComponent } from './decision-display/decision-display.component';
23
- import { DecisionListComponent } from './decision-list/decision-list.component';
24
- import { ListModule, ModalModule, SpinnerModule, WidgetModule } from '@valtimo/components';
25
- import { TranslateModule } from '@ngx-translate/core';
26
- import { DecisionModelerComponent } from './decision-modeler/decision-modeler.component';
27
- import { SelectModule } from '@valtimo/user-interface';
28
- import * as i0 from "@angular/core";
29
- export class DecisionModule {
30
- }
31
- DecisionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
32
- DecisionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DecisionModule, declarations: [DecisionComponent,
33
- DecisionDeployComponent,
34
- DecisionDisplayComponent,
35
- DecisionListComponent,
36
- DecisionModelerComponent], imports: [DecisionRoutingModule,
37
- WidgetModule,
38
- ListModule,
39
- TranslateModule,
40
- ModalModule,
41
- CommonModule,
42
- FormsModule,
43
- SelectModule,
44
- SpinnerModule], exports: [DecisionComponent, DecisionModelerComponent] });
45
- DecisionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionModule, imports: [DecisionRoutingModule,
46
- WidgetModule,
47
- ListModule,
48
- TranslateModule,
49
- ModalModule,
50
- CommonModule,
51
- FormsModule,
52
- SelectModule,
53
- SpinnerModule] });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionModule, decorators: [{
55
- type: NgModule,
56
- args: [{
57
- declarations: [
58
- DecisionComponent,
59
- DecisionDeployComponent,
60
- DecisionDisplayComponent,
61
- DecisionListComponent,
62
- DecisionModelerComponent,
63
- ],
64
- imports: [
65
- DecisionRoutingModule,
66
- WidgetModule,
67
- ListModule,
68
- TranslateModule,
69
- ModalModule,
70
- CommonModule,
71
- FormsModule,
72
- SelectModule,
73
- SpinnerModule,
74
- ],
75
- exports: [DecisionComponent, DecisionModelerComponent],
76
- }]
77
- }] });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kZWNpc2lvbi9zcmMvbGliL2RlY2lzaW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUF1QnJELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBbkJ2QixpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsd0JBQXdCLGFBR3hCLHFCQUFxQjtRQUNyQixZQUFZO1FBQ1osVUFBVTtRQUNWLGVBQWU7UUFDZixXQUFXO1FBQ1gsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osYUFBYSxhQUVMLGlCQUFpQixFQUFFLHdCQUF3Qjs0R0FFMUMsY0FBYyxZQVp2QixxQkFBcUI7UUFDckIsWUFBWTtRQUNaLFVBQVU7UUFDVixlQUFlO1FBQ2YsV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXO1FBQ1gsWUFBWTtRQUNaLGFBQWE7MkZBSUosY0FBYztrQkFyQjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsZUFBZTt3QkFDZixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RlY2lzaW9uQ29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0RlY2lzaW9uUm91dGluZ01vZHVsZX0gZnJvbSAnLi9kZWNpc2lvbi1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQge0RlY2lzaW9uRGVwbG95Q29tcG9uZW50fSBmcm9tICcuL2RlY2lzaW9uLWRlcGxveS9kZWNpc2lvbi1kZXBsb3kuY29tcG9uZW50JztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtEZWNpc2lvbkRpc3BsYXlDb21wb25lbnR9IGZyb20gJy4vZGVjaXNpb24tZGlzcGxheS9kZWNpc2lvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge0RlY2lzaW9uTGlzdENvbXBvbmVudH0gZnJvbSAnLi9kZWNpc2lvbi1saXN0L2RlY2lzaW9uLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdE1vZHVsZSwgTW9kYWxNb2R1bGUsIFNwaW5uZXJNb2R1bGUsIFdpZGdldE1vZHVsZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RlY2lzaW9uTW9kZWxlckNvbXBvbmVudH0gZnJvbSAnLi9kZWNpc2lvbi1tb2RlbGVyL2RlY2lzaW9uLW1vZGVsZXIuY29tcG9uZW50JztcbmltcG9ydCB7U2VsZWN0TW9kdWxlfSBmcm9tICdAdmFsdGltby91c2VyLWludGVyZmFjZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERlY2lzaW9uQ29tcG9uZW50LFxuICAgIERlY2lzaW9uRGVwbG95Q29tcG9uZW50LFxuICAgIERlY2lzaW9uRGlzcGxheUNvbXBvbmVudCxcbiAgICBEZWNpc2lvbkxpc3RDb21wb25lbnQsXG4gICAgRGVjaXNpb25Nb2RlbGVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgRGVjaXNpb25Sb3V0aW5nTW9kdWxlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgICBMaXN0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBNb2RhbE1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2VsZWN0TW9kdWxlLFxuICAgIFNwaW5uZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtEZWNpc2lvbkNvbXBvbmVudCwgRGVjaXNpb25Nb2RlbGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRGVjaXNpb25Nb2R1bGUge31cbiJdfQ==
@@ -1,54 +0,0 @@
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 { 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 DecisionService {
21
- constructor(configService, http) {
22
- this.configService = configService;
23
- this.http = http;
24
- this.valtimoApiConfig = configService.config.valtimoApi;
25
- }
26
- deployDmn(dmn) {
27
- const formData = new FormData();
28
- formData.append('file', dmn);
29
- formData.append('deployment-name', 'dmnTableDeploy');
30
- formData.append('deployment-source', 'process application');
31
- return this.http.post(`${this.valtimoApiConfig.endpointUri}v1/process/definition/deployment`, formData);
32
- }
33
- getDecisions() {
34
- return this.http.get(`${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/decision-definition`);
35
- }
36
- getDecisionById(decisionId) {
37
- return this.http.get(`${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/decision-definition/${decisionId}`);
38
- }
39
- getLatestDecisionByKey(decisionKey) {
40
- return this.http.get(`${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/decision-definition/key/${decisionKey}`);
41
- }
42
- getDecisionXml(decisionId) {
43
- return this.http.get(`${this.valtimoApiConfig.endpointUri}camunda-rest/engine/default/decision-definition/${decisionId}/xml`);
44
- }
45
- }
46
- DecisionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionService, deps: [{ token: i1.ConfigService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
47
- DecisionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionService, providedIn: 'root' });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DecisionService, decorators: [{
49
- type: Injectable,
50
- args: [{
51
- providedIn: 'root',
52
- }]
53
- }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.HttpClient }]; } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaXNpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZGVjaXNpb24vc3JjL2xpYi9kZWNpc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7OztBQVN6QyxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUFvQixhQUE0QixFQUFVLElBQWdCO1FBQXRELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDMUQsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUFTO1FBQ2pCLE1BQU0sUUFBUSxHQUFhLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JELFFBQVEsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUM1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLGtDQUFrQyxFQUN0RSxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxpREFBaUQsQ0FDdEYsQ0FBQztJQUNKLENBQUM7SUFFRCxlQUFlLENBQUMsVUFBa0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxtREFBbUQsVUFBVSxFQUFFLENBQ3BHLENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsV0FBbUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyx1REFBdUQsV0FBVyxFQUFFLENBQ3pHLENBQUM7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLFVBQWtCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsbURBQW1ELFVBQVUsTUFBTSxDQUN4RyxDQUFDO0lBQ0osQ0FBQzs7NEdBeENVLGVBQWU7Z0hBQWYsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEZWNpc2lvbiwgRGVjaXNpb25YbWx9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7Q29uZmlnU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIERlY2lzaW9uU2VydmljZSB7XG4gIHByaXZhdGUgdmFsdGltb0FwaUNvbmZpZzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgdGhpcy52YWx0aW1vQXBpQ29uZmlnID0gY29uZmlnU2VydmljZS5jb25maWcudmFsdGltb0FwaTtcbiAgfVxuXG4gIGRlcGxveURtbihkbW46IEZpbGUpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGRtbik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdkZXBsb3ltZW50LW5hbWUnLCAnZG1uVGFibGVEZXBsb3knKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2RlcGxveW1lbnQtc291cmNlJywgJ3Byb2Nlc3MgYXBwbGljYXRpb24nKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihcbiAgICAgIGAke3RoaXMudmFsdGltb0FwaUNvbmZpZy5lbmRwb2ludFVyaX12MS9wcm9jZXNzL2RlZmluaXRpb24vZGVwbG95bWVudGAsXG4gICAgICBmb3JtRGF0YVxuICAgICk7XG4gIH1cblxuICBnZXREZWNpc2lvbnMoKTogT2JzZXJ2YWJsZTxEZWNpc2lvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGVjaXNpb25bXT4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9Y2FtdW5kYS1yZXN0L2VuZ2luZS9kZWZhdWx0L2RlY2lzaW9uLWRlZmluaXRpb25gXG4gICAgKTtcbiAgfVxuXG4gIGdldERlY2lzaW9uQnlJZChkZWNpc2lvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERlY2lzaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGVjaXNpb24+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfWNhbXVuZGEtcmVzdC9lbmdpbmUvZGVmYXVsdC9kZWNpc2lvbi1kZWZpbml0aW9uLyR7ZGVjaXNpb25JZH1gXG4gICAgKTtcbiAgfVxuXG4gIGdldExhdGVzdERlY2lzaW9uQnlLZXkoZGVjaXNpb25LZXk6IHN0cmluZyk6IE9ic2VydmFibGU8RGVjaXNpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxEZWNpc2lvbj4oXG4gICAgICBgJHt0aGlzLnZhbHRpbW9BcGlDb25maWcuZW5kcG9pbnRVcml9Y2FtdW5kYS1yZXN0L2VuZ2luZS9kZWZhdWx0L2RlY2lzaW9uLWRlZmluaXRpb24va2V5LyR7ZGVjaXNpb25LZXl9YFxuICAgICk7XG4gIH1cblxuICBnZXREZWNpc2lvblhtbChkZWNpc2lvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERlY2lzaW9uWG1sPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGVjaXNpb25YbWw+KFxuICAgICAgYCR7dGhpcy52YWx0aW1vQXBpQ29uZmlnLmVuZHBvaW50VXJpfWNhbXVuZGEtcmVzdC9lbmdpbmUvZGVmYXVsdC9kZWNpc2lvbi1kZWZpbml0aW9uLyR7ZGVjaXNpb25JZH0veG1sYFxuICAgICk7XG4gIH1cbn1cbiJdfQ==