@qbs-origin/origin-form 0.5.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.
- package/README.md +24 -0
- package/esm2022/lib/action-step-handler.mjs +163 -0
- package/esm2022/lib/auth-client.service.mjs +69 -0
- package/esm2022/lib/enums/label.keys.mjs +721 -0
- package/esm2022/lib/form-css.helper.mjs +367 -0
- package/esm2022/lib/formly/baseFormlyControlComponent.mjs +52 -0
- package/esm2022/lib/formly/baseFormlyStepComponent.mjs +59 -0
- package/esm2022/lib/formly/custom-section-separator.component.mjs +32 -0
- package/esm2022/lib/formly/form-section-separator.component.mjs +36 -0
- package/esm2022/lib/formly/formly-action.mjs +56 -0
- package/esm2022/lib/formly/formly-checkbox/formly-checkbox.component.mjs +52 -0
- package/esm2022/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.mjs +261 -0
- package/esm2022/lib/formly/formly-download-documents/formly-download-documents.component.mjs +126 -0
- package/esm2022/lib/formly/formly-enrol-card/formly-enrol-card.component.mjs +120 -0
- package/esm2022/lib/formly/formly-field-stepper/formly-field-stepper.component.mjs +762 -0
- package/esm2022/lib/formly/formly-generate-documents/formly-generate-documents.component.mjs +57 -0
- package/esm2022/lib/formly/formly-identification.component.mjs +84 -0
- package/esm2022/lib/formly/formly-open-banking/formly-open-banking.component.mjs +590 -0
- package/esm2022/lib/formly/formly-paragraph/formly-paragraph.component.mjs +35 -0
- package/esm2022/lib/formly/formly-radio/formly-radio-component.mjs +49 -0
- package/esm2022/lib/formly/formly-row-fille.mjs +12 -0
- package/esm2022/lib/formly/formly-scan-id/formly-scan-id.component.mjs +284 -0
- package/esm2022/lib/formly/formly-sign/formly-sign.component.mjs +173 -0
- package/esm2022/lib/formly/formly-upload-documents/formly-upload-documents.component.mjs +198 -0
- package/esm2022/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.mjs +124 -0
- package/esm2022/lib/formly/formly-view-documents/formly-view-documents.component.mjs +245 -0
- package/esm2022/lib/formly/formly-view-offers/formly-view-offers.component.mjs +160 -0
- package/esm2022/lib/model-population.helper.mjs +265 -0
- package/esm2022/lib/models/application-type.model.mjs +12 -0
- package/esm2022/lib/models/application.model.mjs +30 -0
- package/esm2022/lib/models/auth/users.model.mjs +2 -0
- package/esm2022/lib/models/dictionary.model.mjs +20 -0
- package/esm2022/lib/models/flux.model.mjs +105 -0
- package/esm2022/lib/models/forms.model.mjs +572 -0
- package/esm2022/lib/models/label-info.model.mjs +2 -0
- package/esm2022/lib/models/label.model.mjs +2 -0
- package/esm2022/lib/models/language.model.mjs +3 -0
- package/esm2022/lib/models/list.model.mjs +2 -0
- package/esm2022/lib/models/partner.model.mjs +3 -0
- package/esm2022/lib/models/treeview.model.mjs +15 -0
- package/esm2022/lib/origin-form-auth.service.mjs +40 -0
- package/esm2022/lib/origin-form-config.model.mjs +2 -0
- package/esm2022/lib/origin-form-token.interceptor.mjs +35 -0
- package/esm2022/lib/origin-form.component.mjs +2391 -0
- package/esm2022/lib/origin-form.module.mjs +479 -0
- package/esm2022/lib/origin-form.service.mjs +14 -0
- package/esm2022/lib/others/check-list.database.mjs +55 -0
- package/esm2022/lib/others/config-service.mjs +42 -0
- package/esm2022/lib/others/dictionary-label-info.mjs +3 -0
- package/esm2022/lib/others/environment-type.mjs +21 -0
- package/esm2022/lib/others/external-link.directive.mjs +49 -0
- package/esm2022/lib/others/flux-helper.mjs +1397 -0
- package/esm2022/lib/others/picker.component.mjs +119 -0
- package/esm2022/lib/others/translation.pipe.mjs +21 -0
- package/esm2022/lib/others/translations-helper.mjs +258 -0
- package/esm2022/lib/others/utils.mjs +272 -0
- package/esm2022/lib/services/applicationData.service.mjs +145 -0
- package/esm2022/lib/services/auth-http.service.mjs +80 -0
- package/esm2022/lib/services/dialog.service.mjs +56 -0
- package/esm2022/lib/services/dictionary.service.mjs +198 -0
- package/esm2022/lib/services/forms.service.mjs +47 -0
- package/esm2022/lib/services/labels.service.mjs +29 -0
- package/esm2022/lib/services/language.service.mjs +24 -0
- package/esm2022/lib/services/open-banking.service.mjs +194 -0
- package/esm2022/lib/services/origin-form-signalr-handler.service.mjs +107 -0
- package/esm2022/lib/services/origin-form-signalr.service.mjs +105 -0
- package/esm2022/lib/services/otp.service.mjs +28 -0
- package/esm2022/lib/services/proxy.service.mjs +79 -0
- package/esm2022/lib/services/scroll-to-error.service.mjs +369 -0
- package/esm2022/lib/services/translation.service.mjs +27 -0
- package/esm2022/lib/shared-components/confirmation.component.mjs +34 -0
- package/esm2022/lib/shared-components/dictionaries-tree.component.mjs +301 -0
- package/esm2022/lib/shared-components/grid.component.mjs +241 -0
- package/esm2022/lib/shared-components/treeview/treeview.component.mjs +224 -0
- package/esm2022/lib/theme-css.mjs +2254 -0
- package/esm2022/lib/theme-injector.service.mjs +26 -0
- package/esm2022/public-api.mjs +4 -0
- package/esm2022/qbs-origin-origin-form.mjs +5 -0
- package/fesm2022/qbs-origin-origin-form.mjs +15215 -0
- package/fesm2022/qbs-origin-origin-form.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/action-step-handler.d.ts +49 -0
- package/lib/auth-client.service.d.ts +17 -0
- package/lib/enums/label.keys.d.ts +720 -0
- package/lib/form-css.helper.d.ts +28 -0
- package/lib/formly/baseFormlyControlComponent.d.ts +25 -0
- package/lib/formly/baseFormlyStepComponent.d.ts +29 -0
- package/lib/formly/custom-section-separator.component.d.ts +6 -0
- package/lib/formly/form-section-separator.component.d.ts +10 -0
- package/lib/formly/formly-action.d.ts +13 -0
- package/lib/formly/formly-checkbox/formly-checkbox.component.d.ts +15 -0
- package/lib/formly/formly-dictionary-dropdown-tree/formly-dictionary-dropdown-tree.component.d.ts +45 -0
- package/lib/formly/formly-download-documents/formly-download-documents.component.d.ts +22 -0
- package/lib/formly/formly-enrol-card/formly-enrol-card.component.d.ts +114 -0
- package/lib/formly/formly-field-stepper/formly-field-stepper.component.d.ts +79 -0
- package/lib/formly/formly-generate-documents/formly-generate-documents.component.d.ts +17 -0
- package/lib/formly/formly-identification.component.d.ts +19 -0
- package/lib/formly/formly-open-banking/formly-open-banking.component.d.ts +119 -0
- package/lib/formly/formly-paragraph/formly-paragraph.component.d.ts +10 -0
- package/lib/formly/formly-radio/formly-radio-component.d.ts +15 -0
- package/lib/formly/formly-row-fille.d.ts +6 -0
- package/lib/formly/formly-scan-id/formly-scan-id.component.d.ts +41 -0
- package/lib/formly/formly-sign/formly-sign.component.d.ts +36 -0
- package/lib/formly/formly-upload-documents/formly-upload-documents.component.d.ts +25 -0
- package/lib/formly/formly-validate-contact-info/formly-validate-contact-info.component.d.ts +79 -0
- package/lib/formly/formly-view-documents/formly-view-documents.component.d.ts +33 -0
- package/lib/formly/formly-view-offers/formly-view-offers.component.d.ts +23 -0
- package/lib/model-population.helper.d.ts +8 -0
- package/lib/models/application-type.model.d.ts +27 -0
- package/lib/models/application.model.d.ts +107 -0
- package/lib/models/auth/users.model.d.ts +20 -0
- package/lib/models/dictionary.model.d.ts +77 -0
- package/lib/models/flux.model.d.ts +101 -0
- package/lib/models/forms.model.d.ts +504 -0
- package/lib/models/label-info.model.d.ts +10 -0
- package/lib/models/label.model.d.ts +4 -0
- package/lib/models/language.model.d.ts +5 -0
- package/lib/models/list.model.d.ts +8 -0
- package/lib/models/partner.model.d.ts +12 -0
- package/lib/models/treeview.model.d.ts +17 -0
- package/lib/origin-form-auth.service.d.ts +15 -0
- package/lib/origin-form-config.model.d.ts +12 -0
- package/lib/origin-form-token.interceptor.d.ts +12 -0
- package/lib/origin-form.component.d.ts +231 -0
- package/lib/origin-form.module.d.ts +84 -0
- package/lib/origin-form.service.d.ts +6 -0
- package/lib/others/check-list.database.d.ts +16 -0
- package/lib/others/config-service.d.ts +22 -0
- package/lib/others/dictionary-label-info.d.ts +6 -0
- package/lib/others/environment-type.d.ts +8 -0
- package/lib/others/external-link.directive.d.ts +12 -0
- package/lib/others/flux-helper.d.ts +115 -0
- package/lib/others/picker.component.d.ts +36 -0
- package/lib/others/translation.pipe.d.ts +10 -0
- package/lib/others/translations-helper.d.ts +31 -0
- package/lib/others/utils.d.ts +37 -0
- package/lib/services/applicationData.service.d.ts +35 -0
- package/lib/services/auth-http.service.d.ts +21 -0
- package/lib/services/dialog.service.d.ts +20 -0
- package/lib/services/dictionary.service.d.ts +89 -0
- package/lib/services/forms.service.d.ts +17 -0
- package/lib/services/labels.service.d.ts +13 -0
- package/lib/services/language.service.d.ts +14 -0
- package/lib/services/open-banking.service.d.ts +137 -0
- package/lib/services/origin-form-signalr-handler.service.d.ts +29 -0
- package/lib/services/origin-form-signalr.service.d.ts +24 -0
- package/lib/services/otp.service.d.ts +22 -0
- package/lib/services/proxy.service.d.ts +29 -0
- package/lib/services/scroll-to-error.service.d.ts +54 -0
- package/lib/services/translation.service.d.ts +10 -0
- package/lib/shared-components/confirmation.component.d.ts +77 -0
- package/lib/shared-components/dictionaries-tree.component.d.ts +51 -0
- package/lib/shared-components/grid.component.d.ts +138 -0
- package/lib/shared-components/treeview/treeview.component.d.ts +121 -0
- package/lib/theme-css.d.ts +2 -0
- package/lib/theme-injector.service.d.ts +8 -0
- package/package.json +42 -0
- package/public-api.d.ts +3 -0
- package/schematics-compiled/collection.json +10 -0
- package/schematics-compiled/ng-add/index.d.ts +2 -0
- package/schematics-compiled/ng-add/index.js +67 -0
- package/schematics-compiled/ng-add/index.js.map +1 -0
- package/schematics-compiled/ng-add/schema.json +8 -0
- package/src/lib/assets/fonts/Figtree-Bold.ttf +0 -0
- package/src/lib/assets/fonts/Figtree-Light.ttf +0 -0
- package/src/lib/assets/fonts/Figtree-Regular.ttf +0 -0
- package/src/lib/assets/fonts/Sora-ExtraBold.ttf +0 -0
- package/src/lib/assets/fonts/Sora-Light.ttf +0 -0
- package/src/lib/assets/fonts/Sora-Regular.ttf +0 -0
- package/src/lib/assets/fonts/ttrounds-bold-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-bold-webfont.woff2 +0 -0
- package/src/lib/assets/fonts/ttrounds-regular-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-regular-webfont.woff2 +0 -0
- package/src/lib/assets/fonts/ttrounds-thin-webfont.woff +0 -0
- package/src/lib/assets/fonts/ttrounds-thin-webfont.woff2 +0 -0
- package/src/lib/assets/images/flag/icon-flag-de.svg +10 -0
- package/src/lib/assets/images/flag/icon-flag-en.svg +1 -0
- package/src/lib/assets/images/flag/icon-flag-es.svg +11 -0
- package/src/lib/assets/images/flag/icon-flag-fr.svg +1 -0
- package/src/lib/assets/images/flag/icon-flag-ro.svg +11 -0
- package/src/lib/assets/images/flag/origin-form/new-id-card.png +0 -0
- package/src/lib/assets/images/flag/origin-form/old-id-card.png +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Utils } from '../others/utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/snack-bar";
|
|
5
|
+
import * as i2 from "@angular/material/dialog";
|
|
6
|
+
import * as i3 from "../others/translation.pipe";
|
|
7
|
+
export class DialogService {
|
|
8
|
+
constructor(snackBar, dialog, translate) {
|
|
9
|
+
this.snackBar = snackBar;
|
|
10
|
+
this.dialog = dialog;
|
|
11
|
+
this.translate = translate;
|
|
12
|
+
}
|
|
13
|
+
popError(message, ...params) {
|
|
14
|
+
this.popErrorsCore([message], params);
|
|
15
|
+
}
|
|
16
|
+
popErrors(labels, duration = 2000) {
|
|
17
|
+
this.popErrorsCore(labels, undefined, duration);
|
|
18
|
+
}
|
|
19
|
+
popErrorTranslation(errorsTranslations, langIso, errorCode, ...params) {
|
|
20
|
+
const errorMessage = Utils.createErrorTranslationMssageWithParameters(errorsTranslations, langIso, errorCode, params);
|
|
21
|
+
this.popError(errorMessage);
|
|
22
|
+
}
|
|
23
|
+
popErrorsCore(labels, params, duration = 2000, panelClass = ['error-snack-bar']) {
|
|
24
|
+
let message = labels
|
|
25
|
+
.map((i) => this.translate.transform(i))
|
|
26
|
+
.join('\r\n');
|
|
27
|
+
if (params) {
|
|
28
|
+
for (let i = 0; i < params.length; i++) {
|
|
29
|
+
message = message.replace('{' + i + '}', params[i]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (message.length > 1000) {
|
|
33
|
+
message = message.substring(0, 1000);
|
|
34
|
+
}
|
|
35
|
+
this.snackBar.open(message, '', {
|
|
36
|
+
duration,
|
|
37
|
+
panelClass,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
popSuccess(message, duration = 2000, panelClass = ['success-snack-bar']) {
|
|
41
|
+
this.snackBar.open(message, '', {
|
|
42
|
+
duration,
|
|
43
|
+
panelClass,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
openDialog(component, config) {
|
|
47
|
+
return this.dialog.open(component, config);
|
|
48
|
+
}
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, deps: [{ token: i1.MatSnackBar }, { token: i2.MatDialog }, { token: i3.TranslatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
50
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, providedIn: 'root' }); }
|
|
51
|
+
}
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, decorators: [{
|
|
53
|
+
type: Injectable,
|
|
54
|
+
args: [{ providedIn: 'root' }]
|
|
55
|
+
}], ctorParameters: () => [{ type: i1.MatSnackBar }, { type: i2.MatDialog }, { type: i3.TranslatePipe }] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFVM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUl4QyxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNVLFFBQXFCLEVBQ3JCLE1BQWlCLEVBQ2pCLFNBQXdCO1FBRnhCLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFlO0lBQzlCLENBQUM7SUFFTCxRQUFRLENBQUMsT0FBZSxFQUFFLEdBQUcsTUFBZ0I7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZ0IsRUFBRSxXQUFtQixJQUFJO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsa0JBQXVDLEVBQUUsT0FBZSxFQUFFLFNBQWlCLEVBQUUsR0FBRyxNQUFnQjtRQUNsSCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsMENBQTBDLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0SCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxhQUFhLENBQ25CLE1BQWdCLEVBQ2hCLE1BQWlCLEVBQ2pCLFdBQW1CLElBQUksRUFDdkIsYUFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztRQUUxQyxJQUFJLE9BQU8sR0FBRyxNQUFNO2FBQ2pCLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhCLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDOUIsUUFBUTtZQUNSLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUNSLE9BQWUsRUFDZixXQUFtQixJQUFJLEVBQ3ZCLGFBQXVCLENBQUMsbUJBQW1CLENBQUM7UUFFNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUM5QixRQUFRO1lBQ1IsVUFBVTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQ1IsU0FBMkIsRUFDM0IsTUFBMkI7UUFFM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0E5RFUsYUFBYTttSEFBYixhQUFhLGNBREEsTUFBTTs7NEZBQ25CLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTWF0RGlhbG9nLFxuICBNYXREaWFsb2dDb25maWcsXG4gIE1hdERpYWxvZ1JlZixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEVycm9yVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm1zLm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi9vdGhlcnMvdHJhbnNsYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uL290aGVycy91dGlscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVBpcGVcbiAgKSB7IH1cblxuICBwb3BFcnJvcihtZXNzYWdlOiBzdHJpbmcsIC4uLnBhcmFtczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBvcEVycm9yc0NvcmUoW21lc3NhZ2VdLCBwYXJhbXMpO1xuICB9XG5cbiAgcG9wRXJyb3JzKGxhYmVsczogc3RyaW5nW10sIGR1cmF0aW9uOiBudW1iZXIgPSAyMDAwKSB7XG4gICAgdGhpcy5wb3BFcnJvcnNDb3JlKGxhYmVscywgdW5kZWZpbmVkLCBkdXJhdGlvbik7XG4gIH1cblxuICBwb3BFcnJvclRyYW5zbGF0aW9uKGVycm9yc1RyYW5zbGF0aW9uczogRXJyb3JUcmFuc2xhdGlvbnNbXSwgbGFuZ0lzbzogc3RyaW5nLCBlcnJvckNvZGU6IHN0cmluZywgLi4ucGFyYW1zOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IFV0aWxzLmNyZWF0ZUVycm9yVHJhbnNsYXRpb25Nc3NhZ2VXaXRoUGFyYW1ldGVycyhlcnJvcnNUcmFuc2xhdGlvbnMsIGxhbmdJc28sIGVycm9yQ29kZSwgcGFyYW1zKTtcbiAgICB0aGlzLnBvcEVycm9yKGVycm9yTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIHBvcEVycm9yc0NvcmUoXG4gICAgbGFiZWxzOiBzdHJpbmdbXSxcbiAgICBwYXJhbXM/OiBzdHJpbmdbXSxcbiAgICBkdXJhdGlvbjogbnVtYmVyID0gMjAwMCxcbiAgICBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsnZXJyb3Itc25hY2stYmFyJ10sXG4gICkge1xuICAgIGxldCBtZXNzYWdlID0gbGFiZWxzXG4gICAgICAubWFwKChpOiBzdHJpbmcpID0+IHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybShpKSlcbiAgICAgIC5qb2luKCdcXHJcXG4nKTtcblxuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoJ3snICsgaSArICd9JywgcGFyYW1zW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWVzc2FnZS5sZW5ndGggPiAxMDAwKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5zdWJzdHJpbmcoMCwgMTAwMCk7XG4gICAgfVxuXG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICcnLCB7XG4gICAgICBkdXJhdGlvbixcbiAgICAgIHBhbmVsQ2xhc3MsXG4gICAgfSk7XG4gIH1cblxuICBwb3BTdWNjZXNzKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBkdXJhdGlvbjogbnVtYmVyID0gMjAwMCxcbiAgICBwYW5lbENsYXNzOiBzdHJpbmdbXSA9IFsnc3VjY2Vzcy1zbmFjay1iYXInXSxcbiAgKSB7XG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICcnLCB7XG4gICAgICBkdXJhdGlvbixcbiAgICAgIHBhbmVsQ2xhc3MsXG4gICAgfSk7XG4gIH1cblxuICBvcGVuRGlhbG9nPFQsIEQgPSBhbnksIFIgPSBhbnk+KFxuICAgIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPixcbiAgICBjb25maWc/OiBNYXREaWFsb2dDb25maWc8RD4sXG4gICk6IE1hdERpYWxvZ1JlZjxULCBSPiB7XG4gICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { catchError, finalize, forkJoin, map, of, shareReplay } from 'rxjs';
|
|
3
|
+
import { ConfigService } from '../others/config-service';
|
|
4
|
+
import { EnvironmentType } from '../others/environment-type';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./auth-http.service";
|
|
7
|
+
export class DictionaryService {
|
|
8
|
+
constructor(http) {
|
|
9
|
+
this.http = http;
|
|
10
|
+
this.activeDictionaryRequests = new Map();
|
|
11
|
+
this.supportsBatchLoad = true;
|
|
12
|
+
this.configService = inject(ConfigService);
|
|
13
|
+
}
|
|
14
|
+
getDictionaries(params) {
|
|
15
|
+
let url = this.configService.readConfig().baseUrlInfrastructure + '/dictionaries';
|
|
16
|
+
let query = '';
|
|
17
|
+
if (params.pageSize) {
|
|
18
|
+
query += `&PageSize=${params.pageSize}`;
|
|
19
|
+
}
|
|
20
|
+
if (params.page) {
|
|
21
|
+
query += `&PageNumber=${params.page}`;
|
|
22
|
+
}
|
|
23
|
+
if (params.sort) {
|
|
24
|
+
query += `&Sort=${params.sort}`;
|
|
25
|
+
}
|
|
26
|
+
if (params.sortDirection) {
|
|
27
|
+
query += `&SortDirection=${params.sortDirection}`;
|
|
28
|
+
}
|
|
29
|
+
if (params.languageIds && params.languageIds.length > 0) {
|
|
30
|
+
query += `&LanguageIds=${params.languageIds.join('&LanguageIds=')}`;
|
|
31
|
+
}
|
|
32
|
+
if (params.dictionaryIds && params.dictionaryIds.length > 0) {
|
|
33
|
+
query += `&DictionaryIds=${params.dictionaryIds.join('&DictionaryIds=')}`;
|
|
34
|
+
}
|
|
35
|
+
if (params.dictionaryUUIDs && params.dictionaryUUIDs.length > 0) {
|
|
36
|
+
query += `&DictionaryUUIDs=${params.dictionaryUUIDs.join('&DictionaryUUIDs=')}`;
|
|
37
|
+
}
|
|
38
|
+
if (params.filters && params.filters.length > 0) {
|
|
39
|
+
query += `&Filter=${params.filters.join('&Filter=')}`;
|
|
40
|
+
}
|
|
41
|
+
const env = params.env || EnvironmentType.Config;
|
|
42
|
+
query += `&Env=${env}`;
|
|
43
|
+
if (query.length > 0) {
|
|
44
|
+
url += '?' + query;
|
|
45
|
+
}
|
|
46
|
+
return this.http.get(url);
|
|
47
|
+
}
|
|
48
|
+
getDictionariesLight(params) {
|
|
49
|
+
let url = this.configService.readConfig().baseUrlInfrastructure +
|
|
50
|
+
'/dictionaries/light';
|
|
51
|
+
let query = '';
|
|
52
|
+
if (params.pageSize) {
|
|
53
|
+
query += `&PageSize=${params.pageSize}`;
|
|
54
|
+
}
|
|
55
|
+
if (params.page) {
|
|
56
|
+
query += `&PageNumber=${params.page}`;
|
|
57
|
+
}
|
|
58
|
+
if (params.sort) {
|
|
59
|
+
query += `&Sort=${params.sort}`;
|
|
60
|
+
}
|
|
61
|
+
if (params.sortDirection) {
|
|
62
|
+
query += `&SortDirection=${params.sortDirection}`;
|
|
63
|
+
}
|
|
64
|
+
if (params.languageIds && params.languageIds.length > 0) {
|
|
65
|
+
query += `&LanguageIds=${params.languageIds.join('&LanguageIds=')}`;
|
|
66
|
+
}
|
|
67
|
+
if (params.filters && params.filters.length > 0) {
|
|
68
|
+
query += `&Filter=${params.filters.join('&Filter=')}`;
|
|
69
|
+
}
|
|
70
|
+
const env = params.env || EnvironmentType.Config;
|
|
71
|
+
query += `&Env=${env}`;
|
|
72
|
+
if (query.length > 0) {
|
|
73
|
+
url += '?' + query;
|
|
74
|
+
}
|
|
75
|
+
return this.http.get(url);
|
|
76
|
+
}
|
|
77
|
+
delete(uuid, env) {
|
|
78
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
79
|
+
`/dictionaries/${uuid}/${env}`;
|
|
80
|
+
return this.http.delete(url);
|
|
81
|
+
}
|
|
82
|
+
getDictionary(id, env) {
|
|
83
|
+
const requestKey = `${id}_${env}`;
|
|
84
|
+
if (this.activeDictionaryRequests.has(requestKey)) {
|
|
85
|
+
return this.activeDictionaryRequests.get(requestKey);
|
|
86
|
+
}
|
|
87
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
88
|
+
'/dictionaries/dictionary/' +
|
|
89
|
+
id +
|
|
90
|
+
'/' +
|
|
91
|
+
env;
|
|
92
|
+
const newRequest$ = this.http.get(url).pipe(shareReplay(1), finalize(() => {
|
|
93
|
+
this.activeDictionaryRequests.delete(requestKey);
|
|
94
|
+
}));
|
|
95
|
+
this.activeDictionaryRequests.set(requestKey, newRequest$);
|
|
96
|
+
return newRequest$;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Load multiple dictionaries in parallel
|
|
100
|
+
* Reusable for any scenario that needs multiple dictionaries
|
|
101
|
+
*/
|
|
102
|
+
loadMultipleDictionaries(uuids, env = EnvironmentType.Config) {
|
|
103
|
+
if (uuids.length === 0) {
|
|
104
|
+
return of(new Map());
|
|
105
|
+
}
|
|
106
|
+
// Check if backend supports batch loading
|
|
107
|
+
if (this.supportsBatchLoad) {
|
|
108
|
+
return this.getBatchDictionaries(uuids, env);
|
|
109
|
+
}
|
|
110
|
+
// Fallback: Load all in parallel instead of sequential
|
|
111
|
+
const requests = uuids.map((uuid) => this.getDictionary(uuid, env).pipe(map((dict) => ({ uuid, dict })), catchError((error) => {
|
|
112
|
+
console.warn(`Failed to load dictionary ${uuid}:`, error);
|
|
113
|
+
return of({ uuid, dict: null });
|
|
114
|
+
})));
|
|
115
|
+
return forkJoin(requests).pipe(map((results) => {
|
|
116
|
+
const dictionaryMap = new Map();
|
|
117
|
+
results.forEach((result) => {
|
|
118
|
+
if (result.dict) {
|
|
119
|
+
dictionaryMap.set(result.uuid, result.dict);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return dictionaryMap;
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Private method for batch loading (when backend supports it)
|
|
127
|
+
*/
|
|
128
|
+
getBatchDictionaries(uuids, env) {
|
|
129
|
+
const url = `${this.configService.readConfig().baseUrlInfrastructure}/dictionaries/batch`;
|
|
130
|
+
return this.http
|
|
131
|
+
.post(url, { uuids, env })
|
|
132
|
+
.pipe(map((response) => new Map(Object.entries(response))));
|
|
133
|
+
}
|
|
134
|
+
getDependencies(id) {
|
|
135
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
136
|
+
'/dictionaries/dependencies/' +
|
|
137
|
+
id;
|
|
138
|
+
return this.http.get(url);
|
|
139
|
+
}
|
|
140
|
+
getAppDependencies(uuid, env) {
|
|
141
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
142
|
+
'/dictionaries/app-dependencies/' +
|
|
143
|
+
uuid +
|
|
144
|
+
'/' +
|
|
145
|
+
env;
|
|
146
|
+
return this.http.get(url);
|
|
147
|
+
}
|
|
148
|
+
create(dictionary) {
|
|
149
|
+
const createUrl = this.configService.readConfig().baseUrlInfrastructure + '/dictionaries';
|
|
150
|
+
return this.http.post(createUrl, dictionary);
|
|
151
|
+
}
|
|
152
|
+
updateDictionary(dictionary) {
|
|
153
|
+
const updateUrl = `${this.configService.readConfig().baseUrlInfrastructure}/dictionaries`;
|
|
154
|
+
return this.http.put(updateUrl, dictionary);
|
|
155
|
+
}
|
|
156
|
+
publishDictionaryVersion(uuid, envFrom, envTo) {
|
|
157
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
158
|
+
`/dictionaries/publish` +
|
|
159
|
+
`?uuid=${uuid}&envFrom=${envFrom}&envTo=${envTo}`;
|
|
160
|
+
return this.http.get(url);
|
|
161
|
+
}
|
|
162
|
+
getDictionaryVersion(uuid, env) {
|
|
163
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
164
|
+
`/dictionaries/dictionary/` +
|
|
165
|
+
`${uuid}/${env}`;
|
|
166
|
+
return this.http.get(url);
|
|
167
|
+
}
|
|
168
|
+
loadAppDictionaries(appUuid, env = EnvironmentType.Config) {
|
|
169
|
+
const url = `${this.configService.readConfig().baseUrlInfrastructure}/dictionaries/app-dictionaries/${appUuid}?env=${env}`;
|
|
170
|
+
return this.http.get(url);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* NEW: Get complete dictionary tree in a single API call
|
|
174
|
+
* This replaces the need for multiple recursive calls to load child dictionaries
|
|
175
|
+
*/
|
|
176
|
+
getDictionaryTree(dictionaryId, params) {
|
|
177
|
+
const baseUrl = this.configService.readConfig().baseUrlInfrastructure;
|
|
178
|
+
let url = `${baseUrl}/dictionaries/${dictionaryId}/tree`;
|
|
179
|
+
let queryParams = [];
|
|
180
|
+
queryParams.push(`environmentType=${params.env}`);
|
|
181
|
+
if (params.languageId) {
|
|
182
|
+
queryParams.push(`languageId=${params.languageId}`);
|
|
183
|
+
}
|
|
184
|
+
if (params.valueIdsToShow && params.valueIdsToShow.length > 0) {
|
|
185
|
+
queryParams.push(`valueIdsToShow=${params.valueIdsToShow.join(',')}`);
|
|
186
|
+
}
|
|
187
|
+
if (queryParams.length > 0) {
|
|
188
|
+
url += '?' + queryParams.join('&');
|
|
189
|
+
}
|
|
190
|
+
return this.http.get(url);
|
|
191
|
+
}
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
193
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService }); }
|
|
194
|
+
}
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DictionaryService, decorators: [{
|
|
196
|
+
type: Injectable
|
|
197
|
+
}], ctorParameters: () => [{ type: i1.AuthHttpService }] });
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3JpZ2luLWZvcm0vc3JjL2xpYi9zZXJ2aWNlcy9kaWN0aW9uYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBT3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8saUJBQWlCO0lBTTVCLFlBQW9CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBTGpDLDZCQUF3QixHQUFHLElBQUksR0FBRyxFQUd6QyxDQUFDO1FBQ0ksc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRy9CLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRk0sQ0FBQztJQUl0QyxlQUFlLENBQUMsTUFVdEI7UUFDQyxJQUFJLEdBQUcsR0FDTCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLHFCQUFxQixHQUFHLGVBQWUsQ0FBQztRQUUxRSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixLQUFLLElBQUksYUFBYSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLEtBQUssSUFBSSxlQUFlLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QyxDQUFD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Q0FBQztRQUN4RSxDQUFDO1FBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLEdBQUcsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBNEIsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQzsrR0FwU1UsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBmb3JrSm9pbiwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIERpY3Rpb25hcnksXG4gIERpY3Rpb25hcnlBcHBEZXBlbmRlbmN5RHRvLFxuICBEaWN0aW9uYXJ5RHRvLFxufSBmcm9tICcuLi9tb2RlbHMvZGljdGlvbmFyeS5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi4vbW9kZWxzL2xpc3QubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL290aGVycy9jb25maWctc2VydmljZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudFR5cGUgfSBmcm9tICcuLi9vdGhlcnMvZW52aXJvbm1lbnQtdHlwZSc7XG5pbXBvcnQgeyBBdXRoSHR0cFNlcnZpY2UgfSBmcm9tICcuL2F1dGgtaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBhY3RpdmVEaWN0aW9uYXJ5UmVxdWVzdHMgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIE9ic2VydmFibGU8RGljdGlvbmFyeUR0bz5cbj4oKTtcbnByaXZhdGUgc3VwcG9ydHNCYXRjaExvYWQgPSB0cnVlO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEF1dGhIdHRwU2VydmljZSkge31cblxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KENvbmZpZ1NlcnZpY2UpO1xuXG4gIHB1YmxpYyBnZXREaWN0aW9uYXJpZXMocGFyYW1zOiB7XG4gICAgcGFnZT86IG51bWJlcjtcbiAgICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgICBzb3J0Pzogc3RyaW5nO1xuICAgIHNvcnREaXJlY3Rpb24/OiBzdHJpbmc7XG4gICAgZmlsdGVycz86IHN0cmluZ1tdO1xuICAgIGRpY3Rpb25hcnlJZHM/OiBudW1iZXJbXTtcbiAgICBkaWN0aW9uYXJ5VVVJRHM/OiBzdHJpbmdbXTtcbiAgICBsYW5ndWFnZUlkcz86IG51bWJlcltdO1xuICAgIGVudjogRW52aXJvbm1lbnRUeXBlO1xuICB9KTogT2JzZXJ2YWJsZTxMaXN0PERpY3Rpb25hcnlEdG8+PiB7XG4gICAgbGV0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArICcvZGljdGlvbmFyaWVzJztcblxuICAgIGxldCBxdWVyeSA9ICcnO1xuICAgIGlmIChwYXJhbXMucGFnZVNpemUpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmUGFnZVNpemU9JHtwYXJhbXMucGFnZVNpemV9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5wYWdlKSB7XG4gICAgICBxdWVyeSArPSBgJlBhZ2VOdW1iZXI9JHtwYXJhbXMucGFnZX1gO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnNvcnQpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmU29ydD0ke3BhcmFtcy5zb3J0fWA7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuc29ydERpcmVjdGlvbikge1xuICAgICAgcXVlcnkgKz0gYCZTb3J0RGlyZWN0aW9uPSR7cGFyYW1zLnNvcnREaXJlY3Rpb259YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5sYW5ndWFnZUlkcyAmJiBwYXJhbXMubGFuZ3VhZ2VJZHMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnkgKz0gYCZMYW5ndWFnZUlkcz0ke3BhcmFtcy5sYW5ndWFnZUlkcy5qb2luKCcmTGFuZ3VhZ2VJZHM9Jyl9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5kaWN0aW9uYXJ5SWRzICYmIHBhcmFtcy5kaWN0aW9uYXJ5SWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5ICs9IGAmRGljdGlvbmFyeUlkcz0ke3BhcmFtcy5kaWN0aW9uYXJ5SWRzLmpvaW4oJyZEaWN0aW9uYXJ5SWRzPScpfWA7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuZGljdGlvbmFyeVVVSURzICYmIHBhcmFtcy5kaWN0aW9uYXJ5VVVJRHMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnkgKz0gYCZEaWN0aW9uYXJ5VVVJRHM9JHtwYXJhbXMuZGljdGlvbmFyeVVVSURzLmpvaW4oXG4gICAgICAgICcmRGljdGlvbmFyeVVVSURzPSdcbiAgICAgICl9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5maWx0ZXJzICYmIHBhcmFtcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5ICs9IGAmRmlsdGVyPSR7cGFyYW1zLmZpbHRlcnMuam9pbignJkZpbHRlcj0nKX1gO1xuICAgIH1cblxuICAgIGNvbnN0IGVudiA9IHBhcmFtcy5lbnYgfHwgRW52aXJvbm1lbnRUeXBlLkNvbmZpZztcbiAgICBxdWVyeSArPSBgJkVudj0ke2Vudn1gO1xuXG4gICAgaWYgKHF1ZXJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgIHVybCArPSAnPycgKyBxdWVyeTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMaXN0PERpY3Rpb25hcnlEdG8+Pih1cmwpO1xuICB9XG5cbiAgcHVibGljIGdldERpY3Rpb25hcmllc0xpZ2h0KHBhcmFtczoge1xuICAgIHBhZ2U/OiBudW1iZXI7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG4gICAgc29ydD86IHN0cmluZztcbiAgICBzb3J0RGlyZWN0aW9uPzogc3RyaW5nO1xuICAgIGZpbHRlcnM6IHN0cmluZ1tdO1xuICAgIGxhbmd1YWdlSWRzPzogbnVtYmVyW107XG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGU7XG4gIH0pOiBPYnNlcnZhYmxlPExpc3Q8RGljdGlvbmFyeUR0bz4+IHtcbiAgICBsZXQgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgICcvZGljdGlvbmFyaWVzL2xpZ2h0JztcblxuICAgIGxldCBxdWVyeSA9ICcnO1xuICAgIGlmIChwYXJhbXMucGFnZVNpemUpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmUGFnZVNpemU9JHtwYXJhbXMucGFnZVNpemV9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5wYWdlKSB7XG4gICAgICBxdWVyeSArPSBgJlBhZ2VOdW1iZXI9JHtwYXJhbXMucGFnZX1gO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLnNvcnQpIHtcbiAgICAgIHF1ZXJ5ICs9IGAmU29ydD0ke3BhcmFtcy5zb3J0fWA7XG4gICAgfVxuICAgIGlmIChwYXJhbXMuc29ydERpcmVjdGlvbikge1xuICAgICAgcXVlcnkgKz0gYCZTb3J0RGlyZWN0aW9uPSR7cGFyYW1zLnNvcnREaXJlY3Rpb259YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5sYW5ndWFnZUlkcyAmJiBwYXJhbXMubGFuZ3VhZ2VJZHMubGVuZ3RoID4gMCkge1xuICAgICAgcXVlcnkgKz0gYCZMYW5ndWFnZUlkcz0ke3BhcmFtcy5sYW5ndWFnZUlkcy5qb2luKCcmTGFuZ3VhZ2VJZHM9Jyl9YDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5maWx0ZXJzICYmIHBhcmFtcy5maWx0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHF1ZXJ5ICs9IGAmRmlsdGVyPSR7cGFyYW1zLmZpbHRlcnMuam9pbignJkZpbHRlcj0nKX1gO1xuICAgIH1cbiAgICBjb25zdCBlbnYgPSBwYXJhbXMuZW52IHx8IEVudmlyb25tZW50VHlwZS5Db25maWc7XG4gICAgcXVlcnkgKz0gYCZFbnY9JHtlbnZ9YDtcblxuICAgIGlmIChxdWVyeS5sZW5ndGggPiAwKSB7XG4gICAgICB1cmwgKz0gJz8nICsgcXVlcnk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExpc3Q8RGljdGlvbmFyeUR0bz4+KHVybCk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKHV1aWQ6IHN0cmluZywgZW52OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICBgL2RpY3Rpb25hcmllcy8ke3V1aWR9LyR7ZW52fWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaWN0aW9uYXJ5KFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5RHRvPiB7XG4gICAgY29uc3QgcmVxdWVzdEtleSA9IGAke2lkfV8ke2Vudn1gO1xuICAgIGlmICh0aGlzLmFjdGl2ZURpY3Rpb25hcnlSZXF1ZXN0cy5oYXMocmVxdWVzdEtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFjdGl2ZURpY3Rpb25hcnlSZXF1ZXN0cy5nZXQocmVxdWVzdEtleSkhO1xuICAgIH1cblxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICAnL2RpY3Rpb25hcmllcy9kaWN0aW9uYXJ5LycgK1xuICAgICAgaWQgK1xuICAgICAgJy8nICtcbiAgICAgIGVudjtcblxuICAgIGNvbnN0IG5ld1JlcXVlc3QkID0gdGhpcy5odHRwLmdldDxEaWN0aW9uYXJ5RHRvPih1cmwpLnBpcGUoXG4gICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVEaWN0aW9uYXJ5UmVxdWVzdHMuZGVsZXRlKHJlcXVlc3RLZXkpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5hY3RpdmVEaWN0aW9uYXJ5UmVxdWVzdHMuc2V0KHJlcXVlc3RLZXksIG5ld1JlcXVlc3QkKTtcbiAgICByZXR1cm4gbmV3UmVxdWVzdCQ7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBtdWx0aXBsZSBkaWN0aW9uYXJpZXMgaW4gcGFyYWxsZWxcbiAgICogUmV1c2FibGUgZm9yIGFueSBzY2VuYXJpbyB0aGF0IG5lZWRzIG11bHRpcGxlIGRpY3Rpb25hcmllc1xuICAgKi9cbiAgcHVibGljIGxvYWRNdWx0aXBsZURpY3Rpb25hcmllcyhcbiAgICB1dWlkczogc3RyaW5nW10sXG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGUgPSBFbnZpcm9ubWVudFR5cGUuQ29uZmlnXG4gICk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgRGljdGlvbmFyeUR0bz4+IHtcbiAgICBpZiAodXVpZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gb2YobmV3IE1hcCgpKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiBiYWNrZW5kIHN1cHBvcnRzIGJhdGNoIGxvYWRpbmdcbiAgICBpZiAodGhpcy5zdXBwb3J0c0JhdGNoTG9hZCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QmF0Y2hEaWN0aW9uYXJpZXModXVpZHMsIGVudik7XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2s6IExvYWQgYWxsIGluIHBhcmFsbGVsIGluc3RlYWQgb2Ygc2VxdWVudGlhbFxuICAgIGNvbnN0IHJlcXVlc3RzID0gdXVpZHMubWFwKCh1dWlkKSA9PlxuICAgICAgdGhpcy5nZXREaWN0aW9uYXJ5KHV1aWQsIGVudikucGlwZShcbiAgICAgICAgbWFwKChkaWN0KSA9PiAoeyB1dWlkLCBkaWN0IH0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oYEZhaWxlZCB0byBsb2FkIGRpY3Rpb25hcnkgJHt1dWlkfTpgLCBlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG9mKHsgdXVpZCwgZGljdDogbnVsbCB9KTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3RzKS5waXBlKFxuICAgICAgbWFwKChyZXN1bHRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnlNYXAgPSBuZXcgTWFwPHN0cmluZywgRGljdGlvbmFyeUR0bz4oKTtcbiAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LmRpY3QpIHtcbiAgICAgICAgICAgIGRpY3Rpb25hcnlNYXAuc2V0KHJlc3VsdC51dWlkLCByZXN1bHQuZGljdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRpY3Rpb25hcnlNYXA7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHJpdmF0ZSBtZXRob2QgZm9yIGJhdGNoIGxvYWRpbmcgKHdoZW4gYmFja2VuZCBzdXBwb3J0cyBpdClcbiAgICovXG4gIHByaXZhdGUgZ2V0QmF0Y2hEaWN0aW9uYXJpZXMoXG4gICAgdXVpZHM6IHN0cmluZ1tdLFxuICAgIGVudjogRW52aXJvbm1lbnRUeXBlXG4gICk6IE9ic2VydmFibGU8TWFwPHN0cmluZywgRGljdGlvbmFyeUR0bz4+IHtcbiAgICBjb25zdCB1cmwgPSBgJHtcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlXG4gICAgfS9kaWN0aW9uYXJpZXMvYmF0Y2hgO1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PHsgW3V1aWQ6IHN0cmluZ106IERpY3Rpb25hcnlEdG8gfT4odXJsLCB7IHV1aWRzLCBlbnYgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IG5ldyBNYXAoT2JqZWN0LmVudHJpZXMocmVzcG9uc2UpKSkpO1xuICB9XG5cbiAgcHVibGljIGdldERlcGVuZGVuY2llcyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5RHRvW10+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgK1xuICAgICAgJy9kaWN0aW9uYXJpZXMvZGVwZW5kZW5jaWVzLycgK1xuICAgICAgaWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeUR0b1tdPih1cmwpO1xuICB9XG5cbiAgcHVibGljIGdldEFwcERlcGVuZGVuY2llcyhcbiAgICB1dWlkOiBzdHJpbmcsXG4gICAgZW52OiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5QXBwRGVwZW5kZW5jeUR0bz4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICAnL2RpY3Rpb25hcmllcy9hcHAtZGVwZW5kZW5jaWVzLycgK1xuICAgICAgdXVpZCArXG4gICAgICAnLycgK1xuICAgICAgZW52O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PERpY3Rpb25hcnlBcHBEZXBlbmRlbmN5RHRvPih1cmwpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZShkaWN0aW9uYXJ5OiBEaWN0aW9uYXJ5KTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBjcmVhdGVVcmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgKyAnL2RpY3Rpb25hcmllcyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZz4oY3JlYXRlVXJsLCBkaWN0aW9uYXJ5KTtcbiAgfVxuXG4gIHVwZGF0ZURpY3Rpb25hcnkoZGljdGlvbmFyeTogRGljdGlvbmFyeSk6IE9ic2VydmFibGU8RGljdGlvbmFyeT4ge1xuICAgIGNvbnN0IHVwZGF0ZVVybCA9IGAke1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmVcbiAgICB9L2RpY3Rpb25hcmllc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8RGljdGlvbmFyeT4odXBkYXRlVXJsLCBkaWN0aW9uYXJ5KTtcbiAgfVxuXG4gIHB1Ymxpc2hEaWN0aW9uYXJ5VmVyc2lvbihcbiAgICB1dWlkOiBzdHJpbmcsXG4gICAgZW52RnJvbTogRW52aXJvbm1lbnRUeXBlLFxuICAgIGVudlRvOiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5RHRvPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgIGAvZGljdGlvbmFyaWVzL3B1Ymxpc2hgICtcbiAgICAgIGA/dXVpZD0ke3V1aWR9JmVudkZyb209JHtlbnZGcm9tfSZlbnZUbz0ke2VudlRvfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeUR0bz4odXJsKTtcbiAgfVxuXG4gIGdldERpY3Rpb25hcnlWZXJzaW9uKFxuICAgIHV1aWQ6IHN0cmluZyxcbiAgICBlbnY6IEVudmlyb25tZW50VHlwZVxuICApOiBPYnNlcnZhYmxlPERpY3Rpb25hcnlEdG8+IHtcbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgK1xuICAgICAgYC9kaWN0aW9uYXJpZXMvZGljdGlvbmFyeS9gICtcbiAgICAgIGAke3V1aWR9LyR7ZW52fWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeUR0bz4odXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkQXBwRGljdGlvbmFyaWVzKFxuICAgIGFwcFV1aWQ6IHN0cmluZyxcbiAgICBlbnY6IEVudmlyb25tZW50VHlwZSA9IEVudmlyb25tZW50VHlwZS5Db25maWdcbiAgKTogT2JzZXJ2YWJsZTxBcHBEaWN0aW9uYXJpZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGAke1xuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmVcbiAgICB9L2RpY3Rpb25hcmllcy9hcHAtZGljdGlvbmFyaWVzLyR7YXBwVXVpZH0/ZW52PSR7ZW52fWA7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcHBEaWN0aW9uYXJpZXNSZXNwb25zZT4odXJsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBORVc6IEdldCBjb21wbGV0ZSBkaWN0aW9uYXJ5IHRyZWUgaW4gYSBzaW5nbGUgQVBJIGNhbGxcbiAgICogVGhpcyByZXBsYWNlcyB0aGUgbmVlZCBmb3IgbXVsdGlwbGUgcmVjdXJzaXZlIGNhbGxzIHRvIGxvYWQgY2hpbGQgZGljdGlvbmFyaWVzXG4gICAqL1xuICBwdWJsaWMgZ2V0RGljdGlvbmFyeVRyZWUoXG4gICAgZGljdGlvbmFyeUlkOiBzdHJpbmcsXG4gICAgcGFyYW1zOiB7XG4gICAgICBlbnY6IEVudmlyb25tZW50VHlwZTtcbiAgICAgIGxhbmd1YWdlSWQ/OiBudW1iZXI7XG4gICAgICB2YWx1ZUlkc1RvU2hvdz86IG51bWJlcltdO1xuICAgIH1cbiAgKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5VHJlZVJlc3BvbnNlRHRvPiB7XG4gICAgY29uc3QgYmFzZVVybCA9IHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlO1xuICAgIGxldCB1cmwgPSBgJHtiYXNlVXJsfS9kaWN0aW9uYXJpZXMvJHtkaWN0aW9uYXJ5SWR9L3RyZWVgO1xuXG4gICAgbGV0IHF1ZXJ5UGFyYW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGVudmlyb25tZW50VHlwZT0ke3BhcmFtcy5lbnZ9YCk7XG5cbiAgICBpZiAocGFyYW1zLmxhbmd1YWdlSWQpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYGxhbmd1YWdlSWQ9JHtwYXJhbXMubGFuZ3VhZ2VJZH1gKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnZhbHVlSWRzVG9TaG93ICYmIHBhcmFtcy52YWx1ZUlkc1RvU2hvdy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeVBhcmFtcy5wdXNoKGB2YWx1ZUlkc1RvU2hvdz0ke3BhcmFtcy52YWx1ZUlkc1RvU2hvdy5qb2luKCcsJyl9YCk7XG4gICAgfVxuXG4gICAgaWYgKHF1ZXJ5UGFyYW1zLmxlbmd0aCA+IDApIHtcbiAgICAgIHVybCArPSAnPycgKyBxdWVyeVBhcmFtcy5qb2luKCcmJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RGljdGlvbmFyeVRyZWVSZXNwb25zZUR0bz4odXJsKTtcbiAgfVxufVxuXG4vLyBORVc6IFJlc3BvbnNlIGludGVyZmFjZSBmb3IgZGljdGlvbmFyeSB0cmVlIGVuZHBvaW50XG5leHBvcnQgaW50ZXJmYWNlIERpY3Rpb25hcnlUcmVlUmVzcG9uc2VEdG8ge1xuICBtYWluRGljdGlvbmFyeTogRGljdGlvbmFyeUR0bztcbiAgYWxsRGljdGlvbmFyaWVzOiBEaWN0aW9uYXJ5RHRvW107XG4gIG1ldGFkYXRhOiB7XG4gICAgdG90YWxEaWN0aW9uYXJpZXM6IG51bWJlcjtcbiAgICBtYXhEZXB0aDogbnVtYmVyO1xuICAgIGxvYWRlZEF0OiBzdHJpbmc7XG4gIH07XG59XG5cbi8vIFJlc3BvbnNlIGludGVyZmFjZSBmb3IgdGhlIGFwcCBkaWN0aW9uYXJpZXMgZW5kcG9pbnRcbmV4cG9ydCBpbnRlcmZhY2UgQXBwRGljdGlvbmFyaWVzUmVzcG9uc2Uge1xuICBkaWN0aW9uYXJpZXM6IHsgW3V1aWQ6IHN0cmluZ106IERpY3Rpb25hcnlEdG8gfTtcbiAgYW5hbHlzaXNTdGF0czoge1xuICAgIGFwcFV1aWQ6IHN0cmluZztcbiAgICBzZWN0aW9uc0FuYWx5emVkOiBudW1iZXI7XG4gICAgY29udHJvbHNBbmFseXplZDogbnVtYmVyO1xuICAgIHByZXNlbnRhdGlvbkNvbnRyb2xzQW5hbHl6ZWQ6IG51bWJlcjtcbiAgICBpbml0aWFsRGljdGlvbmFyaWVzRm91bmQ6IG51bWJlcjtcbiAgICB0b3RhbExvYWRlZDogbnVtYmVyO1xuICAgIGRlcGVuZGVuY3lSb3VuZHM6IG51bWJlcjtcbiAgICBsb2FkaW5nVGltZU1zOiBudW1iZXI7XG4gIH07XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIGVycm9ycz86IHN0cmluZ1tdO1xufVxuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { ConfigService } from '../others/config-service';
|
|
3
|
+
import { EnvironmentType } from '../others/environment-type';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./auth-http.service";
|
|
6
|
+
export class FormsService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
this.configService = inject(ConfigService);
|
|
10
|
+
}
|
|
11
|
+
loadForm(id, env) {
|
|
12
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
13
|
+
`/Application/LoadById` +
|
|
14
|
+
`?id=${id}`;
|
|
15
|
+
return this.http.get(url);
|
|
16
|
+
}
|
|
17
|
+
loadFormByUuid(uuid, env) {
|
|
18
|
+
if (!env) {
|
|
19
|
+
env = EnvironmentType.Config;
|
|
20
|
+
}
|
|
21
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
22
|
+
`/Application/LoadByUuidAndEnv` +
|
|
23
|
+
`?uuid=${uuid}&env=${env}`;
|
|
24
|
+
return this.http.get(url);
|
|
25
|
+
}
|
|
26
|
+
publish(applicationUuid, envTo) {
|
|
27
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
28
|
+
`/Application/Publish` +
|
|
29
|
+
`?uuid=${applicationUuid}&envFrom=${EnvironmentType.Config}&envTo=${envTo}`;
|
|
30
|
+
return this.http.get(url);
|
|
31
|
+
}
|
|
32
|
+
getVersion(applicationUuid, env) {
|
|
33
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
34
|
+
`/application/LoadByUuidAndEnv` +
|
|
35
|
+
`?uuid=${applicationUuid}&env=${env}`;
|
|
36
|
+
return this.http.get(url);
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, providedIn: 'root' }); }
|
|
40
|
+
}
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormsService, decorators: [{
|
|
42
|
+
type: Injectable,
|
|
43
|
+
args: [{
|
|
44
|
+
providedIn: 'root',
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: () => [{ type: i1.AuthHttpService }] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29yaWdpbi1mb3JtL3NyYy9saWIvc2VydmljZXMvZm9ybXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFLN0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsSUFBcUI7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBaUI7UUFFekMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFGTSxDQUFDO0lBSTdDLFFBQVEsQ0FBQyxFQUFVLEVBQUUsR0FBWTtRQUMvQixNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDLHFCQUFxQjtZQUNyRCx1QkFBdUI7WUFDdkIsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLEdBQVk7UUFDdkMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsR0FBRyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDL0IsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCO1lBQ3JELCtCQUErQjtZQUMvQixTQUFTLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixHQUFHLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxDQUNMLGVBQXVCLEVBQ3ZCLEtBQXNCO1FBRXRCLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCO1lBQ3JELHNCQUFzQjtZQUN0QixTQUFTLGVBQWUsWUFBWSxlQUFlLENBQUMsTUFBTSxVQUFVLEtBQUssRUFBRSxDQUFDO1FBQzlFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVLENBQ1IsZUFBdUIsRUFDdkIsR0FBcUI7UUFFckIsTUFBTSxHQUFHLEdBQ1AsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxxQkFBcUI7WUFDckQsK0JBQStCO1lBQy9CLFNBQVMsZUFBZSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBNUNVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkR0byB9IGZyb20gJy4uL21vZGVscy9hcHBsaWNhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3RoZXJzL2NvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7IEVudmlyb25tZW50VHlwZSB9IGZyb20gJy4uL290aGVycy9lbnZpcm9ubWVudC10eXBlJztcbmltcG9ydCB7IEF1dGhIdHRwU2VydmljZSB9IGZyb20gJy4vYXV0aC1odHRwLnNlcnZpY2UnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogQXV0aEh0dHBTZXJ2aWNlKSB7fVxuXG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQ29uZmlnU2VydmljZSk7XG5cbiAgbG9hZEZvcm0oaWQ6IG51bWJlciwgZW52Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkR0bz4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICBgL0FwcGxpY2F0aW9uL0xvYWRCeUlkYCArXG4gICAgICBgP2lkPSR7aWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcHBsaWNhdGlvbkR0bz4odXJsKTtcbiAgfVxuXG4gIGxvYWRGb3JtQnlVdWlkKHV1aWQ6IHN0cmluZywgZW52Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkR0bz4ge1xuICAgIGlmICghZW52KSB7XG4gICAgICBlbnYgPSBFbnZpcm9ubWVudFR5cGUuQ29uZmlnO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLnJlYWRDb25maWcoKS5iYXNlVXJsSW5mcmFzdHJ1Y3R1cmUgK1xuICAgICAgYC9BcHBsaWNhdGlvbi9Mb2FkQnlVdWlkQW5kRW52YCArXG4gICAgICBgP3V1aWQ9JHt1dWlkfSZlbnY9JHtlbnZ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBcHBsaWNhdGlvbkR0bz4odXJsKTtcbiAgfVxuXG4gIHB1Ymxpc2goXG4gICAgYXBwbGljYXRpb25VdWlkOiBzdHJpbmcsXG4gICAgZW52VG86IEVudmlyb25tZW50VHlwZVxuICApOiBPYnNlcnZhYmxlPEFwcGxpY2F0aW9uRHRvPiB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5yZWFkQ29uZmlnKCkuYmFzZVVybEluZnJhc3RydWN0dXJlICtcbiAgICAgIGAvQXBwbGljYXRpb24vUHVibGlzaGAgK1xuICAgICAgYD91dWlkPSR7YXBwbGljYXRpb25VdWlkfSZlbnZGcm9tPSR7RW52aXJvbm1lbnRUeXBlLkNvbmZpZ30mZW52VG89JHtlbnZUb31gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFwcGxpY2F0aW9uRHRvPih1cmwpO1xuICB9XG5cbiAgZ2V0VmVyc2lvbihcbiAgICBhcHBsaWNhdGlvblV1aWQ6IHN0cmluZyxcbiAgICBlbnY/OiBFbnZpcm9ubWVudFR5cGVcbiAgKTogT2JzZXJ2YWJsZTxBcHBsaWNhdGlvbkR0bz4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICBgL2FwcGxpY2F0aW9uL0xvYWRCeVV1aWRBbmRFbnZgICtcbiAgICAgIGA/dXVpZD0ke2FwcGxpY2F0aW9uVXVpZH0mZW52PSR7ZW52fWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXBwbGljYXRpb25EdG8+KHVybCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { ConfigService } from '../others/config-service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./auth-http.service";
|
|
5
|
+
export class LabelService {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.configService = inject(ConfigService);
|
|
9
|
+
}
|
|
10
|
+
getLabels(langIso, updateUserLanguageIso = true) {
|
|
11
|
+
let listUrl = this.configService.readConfig().baseUrlPublicInfrastructure + '/labels';
|
|
12
|
+
if (langIso) {
|
|
13
|
+
listUrl += `?&LanguageIso=${langIso}`;
|
|
14
|
+
if (updateUserLanguageIso == false) {
|
|
15
|
+
listUrl += '&ShouldUpdateUserLanguage=false';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return this.http.get(listUrl);
|
|
19
|
+
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, providedIn: 'root' }); }
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LabelService, decorators: [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root',
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: () => [{ type: i1.AuthHttpService }] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vcmlnaW4tZm9ybS9zcmMvbGliL3NlcnZpY2VzL2xhYmVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW9CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO1FBRXpDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRk8sQ0FBQztJQUk5QyxTQUFTLENBQ1AsT0FBZSxFQUNmLHdCQUFpQyxJQUFJO1FBRXJDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsMkJBQTJCLEdBQUcsU0FBUyxDQUFDO1FBQ3RGLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixPQUFPLElBQUksaUJBQWlCLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLElBQUkscUJBQXFCLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ25DLE9BQU8sSUFBSSxpQ0FBaUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0FqQlUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhYmVsIH0gZnJvbSAnLi4vbW9kZWxzL2xhYmVsLm1vZGVsJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9vdGhlcnMvY29uZmlnLXNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWh0dHAuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEF1dGhIdHRwU2VydmljZSkgeyB9XG5cbiAgY29uZmlnU2VydmljZSA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcblxuICBnZXRMYWJlbHMoXG4gICAgbGFuZ0lzbzogc3RyaW5nLFxuICAgIHVwZGF0ZVVzZXJMYW5ndWFnZUlzbzogYm9vbGVhbiA9IHRydWVcbiAgKTogT2JzZXJ2YWJsZTxMYWJlbFtdPiB7XG4gICAgbGV0IGxpc3RVcmwgPSB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxQdWJsaWNJbmZyYXN0cnVjdHVyZSArICcvbGFiZWxzJztcbiAgICBpZiAobGFuZ0lzbykge1xuICAgICAgbGlzdFVybCArPSBgPyZMYW5ndWFnZUlzbz0ke2xhbmdJc299YDtcbiAgICAgIGlmICh1cGRhdGVVc2VyTGFuZ3VhZ2VJc28gPT0gZmFsc2UpIHtcbiAgICAgICAgbGlzdFVybCArPSAnJlNob3VsZFVwZGF0ZVVzZXJMYW5ndWFnZT1mYWxzZSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PExhYmVsW10+KGxpc3RVcmwpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
|
2
|
+
import { ConfigService } from '../others/config-service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./auth-http.service";
|
|
5
|
+
export class LanguageService {
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
this.configService = inject(ConfigService);
|
|
9
|
+
}
|
|
10
|
+
getLanguages() {
|
|
11
|
+
const url = this.configService.readConfig().baseUrlInfrastructure +
|
|
12
|
+
'/language?PageSize=999999';
|
|
13
|
+
return this.http.get(url);
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, deps: [{ token: i1.AuthHttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, providedIn: 'root' }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LanguageService, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{
|
|
21
|
+
providedIn: 'root',
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: () => [{ type: i1.AuthHttpService }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29yaWdpbi1mb3JtL3NyYy9saWIvc2VydmljZXMvbGFuZ3VhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQU16RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUFvQixJQUFxQjtRQUFyQixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUV6QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUZNLENBQUM7SUFJN0MsWUFBWTtRQUNWLE1BQU0sR0FBRyxHQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMscUJBQXFCO1lBQ3JELDJCQUEyQixDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7K0dBVlUsZUFBZTttSEFBZixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICcuLi9tb2RlbHMvbGlzdC5tb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJy4uL21vZGVscy9sYW5ndWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vb3RoZXJzL2NvbmZpZy1zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhIdHRwU2VydmljZSB9IGZyb20gJy4vYXV0aC1odHRwLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBBdXRoSHR0cFNlcnZpY2UpIHt9XG5cbiAgY29uZmlnU2VydmljZSA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcblxuICBnZXRMYW5ndWFnZXMoKTogT2JzZXJ2YWJsZTxMaXN0PExhbmd1YWdlPj4ge1xuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UucmVhZENvbmZpZygpLmJhc2VVcmxJbmZyYXN0cnVjdHVyZSArXG4gICAgICAnL2xhbmd1YWdlP1BhZ2VTaXplPTk5OTk5OSc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TGlzdDxMYW5ndWFnZT4+KHVybCk7XG4gIH1cbn1cbiJdfQ==
|