kwikid-forms 0.6.51 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/kwikid-forms.umd.js +468 -134
- package/bundles/kwikid-forms.umd.js.map +1 -1
- package/esm2015/lib/builder/builder.component.js +19 -9
- package/esm2015/lib/renderer/config-converter/config-converter.helper.js +6 -4
- package/esm2015/lib/renderer/config-converter/config-converter.js +14 -3
- package/esm2015/lib/renderer/form-view/form-view.api.service.js +13 -3
- package/esm2015/lib/renderer/form-view/form-view.component.js +76 -18
- package/esm2015/lib/renderer/forms-list/forms-list.component.js +25 -9
- package/esm2015/lib/renderer/helpers/forms-storage.helper.js +194 -0
- package/esm2015/lib/renderer/renderer.component.js +23 -12
- package/fesm2015/kwikid-forms.js +358 -50
- package/fesm2015/kwikid-forms.js.map +1 -1
- package/lib/builder/builder.component.d.ts +2 -1
- package/lib/renderer/config-converter/config-converter.d.ts +7 -0
- package/lib/renderer/config-converter/config-converter.helper.d.ts +1 -1
- package/lib/renderer/form-view/form-view.api.service.d.ts +5 -0
- package/lib/renderer/form-view/form-view.component.d.ts +4 -1
- package/lib/renderer/forms-list/forms-list.component.d.ts +2 -1
- package/lib/renderer/helpers/forms-storage.helper.d.ts +46 -0
- package/lib/renderer/renderer.component.d.ts +2 -1
- package/package.json +8 -4
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
2
|
import { Component, Input } from "@angular/core";
|
|
3
|
-
import { checkObjectKeyExists,
|
|
3
|
+
import { checkObjectKeyExists, isNotEmptyValue, logMethod } from "kwikid-toolkit";
|
|
4
|
+
import { resolveFormsStorageConfig, resolveFormsStorageObject, resolveFormsStorageString } from "../renderer/helpers/forms-storage.helper";
|
|
4
5
|
import { convertFormListConfig } from "./builder.helper";
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "kwikui";
|
|
@@ -10,11 +11,15 @@ export class KwikIDFormsBuilderComponent {
|
|
|
10
11
|
constructor(loaderService) {
|
|
11
12
|
this.loaderService = loaderService;
|
|
12
13
|
this.userConfig = {};
|
|
14
|
+
this.reduxData = {};
|
|
13
15
|
this.formsList = [];
|
|
14
16
|
this.activeFormConfig = undefined;
|
|
15
17
|
}
|
|
16
18
|
ngOnInit() {
|
|
17
|
-
|
|
19
|
+
var _a;
|
|
20
|
+
this.reduxData = Object.assign({}, ((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}));
|
|
21
|
+
const storageConfig = resolveFormsStorageConfig(this.userConfig);
|
|
22
|
+
const formStepKey = resolveFormsStorageString("formKey", this.reduxData, storageConfig);
|
|
18
23
|
if (isNotEmptyValue(formStepKey) &&
|
|
19
24
|
checkObjectKeyExists(this.userConfig.userFormFields, formStepKey)) {
|
|
20
25
|
this.formsList = convertFormListConfig(this.userConfig.userFormFields[formStepKey]);
|
|
@@ -40,15 +45,18 @@ export class KwikIDFormsBuilderComponent {
|
|
|
40
45
|
this.formsList = e.formsList;
|
|
41
46
|
}
|
|
42
47
|
handleOnClickSetActiveForm(selectedFormKey) {
|
|
43
|
-
var _a, _b, _c, _d;
|
|
48
|
+
var _a, _b, _c, _d, _e;
|
|
44
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
50
|
this.toggleLoader(true);
|
|
46
51
|
const activeFormConfig = this.formsList.find((form) => {
|
|
47
52
|
return form.key === selectedFormKey;
|
|
48
53
|
});
|
|
49
54
|
let formConfig;
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
this.reduxData = Object.assign({}, ((_a = this.reduxData) !== null && _a !== void 0 ? _a : {}));
|
|
56
|
+
const storageConfig = resolveFormsStorageConfig(this.userConfig);
|
|
57
|
+
const cachedFormConfig = resolveFormsStorageObject(activeFormConfig.key, this.reduxData, storageConfig);
|
|
58
|
+
if (cachedFormConfig) {
|
|
59
|
+
formConfig = cachedFormConfig;
|
|
52
60
|
}
|
|
53
61
|
else if (checkObjectKeyExists(activeFormConfig, "props")) {
|
|
54
62
|
if (checkObjectKeyExists(activeFormConfig.props, "url")) {
|
|
@@ -58,7 +66,7 @@ export class KwikIDFormsBuilderComponent {
|
|
|
58
66
|
else if (checkObjectKeyExists(activeFormConfig.props, "path") &&
|
|
59
67
|
checkObjectKeyExists(this.userConfig, "backend") &&
|
|
60
68
|
checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL")) {
|
|
61
|
-
const url = `${(
|
|
69
|
+
const url = `${(_c = (_b = this.userConfig) === null || _b === void 0 ? void 0 : _b.backend) === null || _c === void 0 ? void 0 : _c.CONFIG_BASE_URL}${activeFormConfig.props.path}`;
|
|
62
70
|
const formConfigFromPath = yield this.fetchFormConfig(url);
|
|
63
71
|
formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
|
|
64
72
|
}
|
|
@@ -77,7 +85,7 @@ export class KwikIDFormsBuilderComponent {
|
|
|
77
85
|
else if (checkObjectKeyExists(activeFormConfig.formContent, "path") &&
|
|
78
86
|
checkObjectKeyExists(this.userConfig, "backend") &&
|
|
79
87
|
checkObjectKeyExists(this.userConfig.backend, "CONFIG_BASE_URL")) {
|
|
80
|
-
const url = `${(
|
|
88
|
+
const url = `${(_e = (_d = this.userConfig) === null || _d === void 0 ? void 0 : _d.backend) === null || _e === void 0 ? void 0 : _e.CONFIG_BASE_URL}${activeFormConfig.props.path}`;
|
|
81
89
|
const formConfigFromPath = yield this.fetchFormConfig(url);
|
|
82
90
|
formConfig = Object.assign(Object.assign({}, activeFormConfig), formConfigFromPath);
|
|
83
91
|
}
|
|
@@ -123,7 +131,7 @@ export class KwikIDFormsBuilderComponent {
|
|
|
123
131
|
}
|
|
124
132
|
}
|
|
125
133
|
/** @nocollapse */ KwikIDFormsBuilderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDFormsBuilderComponent, deps: [{ token: i1.KwikUILoaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
-
/** @nocollapse */ KwikIDFormsBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsBuilderComponent, selector: "kwikid-forms-builder", inputs: { userConfig: "userConfig" }, ngImport: i0, template: "<div class=\"container\">\n <kwikid-builder-forms-list\n [activeFormConfig]=\"this.activeFormConfig\"\n [formsList]=\"this.formsList\"\n (getFormsList)=\"this.handleGetFormsList($event)\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n ></kwikid-builder-forms-list>\n <kwikid-builder-form-editor\n [activeFormConfig]=\"activeFormConfig\"\n (onClickSaveActiveFormConfig)=\"\n this.handleOnClickSaveActiveFormConfig($event)\n \"\n ></kwikid-builder-form-editor>\n</div>\n\n<kwikui-loader></kwikui-loader>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}input[type=text],input[type=number]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;appearance:auto!important}input[type=checkbox]{appearance:auto!important;width:1rem;height:1rem}select{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}textarea{overflow-wrap:anywhere;resize:none;unicode-bidi:embed;white-space:pre-wrap}button{display:inline-block;padding:8px 12px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer}button:hover{background-color:#0069d9}button:active{background-color:#0056b3}button:focus{outline:none}button.secondary{padding:7px 11px;border:1px solid #007bff;background-color:#fff;color:#007bff}button.secondary:hover{background-color:#b7daff}button.secondary:active{background-color:#b7daff}button.secondary:focus{outline:none}.field-container{display:flex}.field-container label{color:gray}.field-container.checkbox{flex-direction:row;align-items:center;justify-content:center;padding:8px 12px;margin:auto}.field-container.options,.field-container.number,.field-container.text{flex-direction:column}.disclaimer{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#121212;width:100%;height:100%}.disclaimer>*:not(:last-child){margin-bottom:1.5rem}.disclaimer .icon{width:3rem;height:3rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.disclaimer.no-form-selected h1{transform:scaleX(-1)}.disclaimer h1{font-size:5rem;font-weight:100}.disclaimer p{font-size:1rem}\n", ":host{all:unset;position:relative;width:100%;height:100%}.container{width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;padding:1rem}.container>*:not(:last-child){margin-right:1rem}\n"], components: [{ type: i2.KwikIDBuilderFormsListComponent, selector: "kwikid-builder-forms-list", inputs: ["activeFormConfig", "formsList"], outputs: ["onClickSetActiveForm", "getFormsList"] }, { type: i3.KwikIDBuilderFormEditorComponent, selector: "kwikid-builder-form-editor", inputs: ["activeFormConfig"], outputs: ["onClickSaveActiveFormConfig"] }, { type: i1.KwikUILoaderComponent, selector: "kwikui-loader" }] });
|
|
134
|
+
/** @nocollapse */ KwikIDFormsBuilderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDFormsBuilderComponent, selector: "kwikid-forms-builder", inputs: { userConfig: "userConfig", reduxData: "reduxData" }, ngImport: i0, template: "<div class=\"container\">\n <kwikid-builder-forms-list\n [activeFormConfig]=\"this.activeFormConfig\"\n [formsList]=\"this.formsList\"\n (getFormsList)=\"this.handleGetFormsList($event)\"\n (onClickSetActiveForm)=\"this.handleOnClickSetActiveForm($event)\"\n ></kwikid-builder-forms-list>\n <kwikid-builder-form-editor\n [activeFormConfig]=\"activeFormConfig\"\n (onClickSaveActiveFormConfig)=\"\n this.handleOnClickSaveActiveFormConfig($event)\n \"\n ></kwikid-builder-form-editor>\n</div>\n\n<kwikui-loader></kwikui-loader>\n", styles: ["::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}input[type=text],input[type=number]{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;appearance:auto!important}input[type=checkbox]{appearance:auto!important;width:1rem;height:1rem}select{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}textarea{overflow-wrap:anywhere;resize:none;unicode-bidi:embed;white-space:pre-wrap}button{display:inline-block;padding:8px 12px;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer}button:hover{background-color:#0069d9}button:active{background-color:#0056b3}button:focus{outline:none}button.secondary{padding:7px 11px;border:1px solid #007bff;background-color:#fff;color:#007bff}button.secondary:hover{background-color:#b7daff}button.secondary:active{background-color:#b7daff}button.secondary:focus{outline:none}.field-container{display:flex}.field-container label{color:gray}.field-container.checkbox{flex-direction:row;align-items:center;justify-content:center;padding:8px 12px;margin:auto}.field-container.options,.field-container.number,.field-container.text{flex-direction:column}.disclaimer{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:center;color:#121212;width:100%;height:100%}.disclaimer>*:not(:last-child){margin-bottom:1.5rem}.disclaimer .icon{width:3rem;height:3rem;display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center}.disclaimer.no-form-selected h1{transform:scaleX(-1)}.disclaimer h1{font-size:5rem;font-weight:100}.disclaimer p{font-size:1rem}\n", ":host{all:unset;position:relative;width:100%;height:100%}.container{width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;padding:1rem}.container>*:not(:last-child){margin-right:1rem}\n"], components: [{ type: i2.KwikIDBuilderFormsListComponent, selector: "kwikid-builder-forms-list", inputs: ["activeFormConfig", "formsList"], outputs: ["onClickSetActiveForm", "getFormsList"] }, { type: i3.KwikIDBuilderFormEditorComponent, selector: "kwikid-builder-form-editor", inputs: ["activeFormConfig"], outputs: ["onClickSaveActiveFormConfig"] }, { type: i1.KwikUILoaderComponent, selector: "kwikui-loader" }] });
|
|
127
135
|
__decorate([
|
|
128
136
|
logMethod
|
|
129
137
|
], KwikIDFormsBuilderComponent.prototype, "fetchFormConfig", null);
|
|
@@ -148,5 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
148
156
|
}]
|
|
149
157
|
}], ctorParameters: function () { return [{ type: i1.KwikUILoaderService }]; }, propDecorators: { userConfig: [{
|
|
150
158
|
type: Input
|
|
159
|
+
}], reduxData: [{
|
|
160
|
+
type: Input
|
|
151
161
|
}], fetchFormConfig: [], handleGetFormsList: [], handleOnClickSetActiveForm: [], handleOnClickSaveActiveFormConfig: [], toggleLoader: [] } });
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2J1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvYnVpbGRlci9idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsU0FBUyxFQUNWLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBT3pELE1BQU0sT0FBTywyQkFBMkI7SUFRdEMsWUFBbUIsYUFBa0M7UUFBbEMsa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBTnJELGVBQVUsR0FBUSxFQUFFLENBQUM7UUFFckIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLHFCQUFnQixHQUFRLFNBQVMsQ0FBQztJQUVzQixDQUFDO0lBRXpELFFBQVE7UUFDTixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBELElBQ0UsZUFBZSxDQUFDLFdBQVcsQ0FBQztZQUM1QixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsRUFDakU7WUFDQSxJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FDNUMsQ0FBQztTQUNIO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFD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UUFFekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQ2hELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3JDLE9BQU8sZ0JBQWdCLENBQUM7YUFDekI7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFlBQVksQ0FBQyxNQUFNO1FBQ2pCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixVQUFVLEVBQUUsYUFBYTthQUMxQixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7OzRJQXZKVSwyQkFBMkI7Z0lBQTNCLDJCQUEyQixrR0NmeEMsK2lCQWdCQTtBRDZCRTtJQURDLFNBQVM7a0VBS1Q7QUFNRDtJQURDLFNBQVM7cUVBR1Q7QUFHRDtJQURDLFNBQVM7NkVBZ0ZUO0FBTUQ7SUFEQyxTQUFTO29GQVVUO0FBR0Q7SUFEQyxTQUFTOytEQVVUOzRGQXZKVSwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsZUFBZSxFQUFFLDBCQUEwQixDQUFDO2lCQUN6RDswR0FHQyxVQUFVO3NCQURULEtBQUs7Z0JBNkJBLGVBQWUsTUFVckIsa0JBQWtCLE1BS1osMEJBQTBCLE1BcUZoQyxpQ0FBaUMsTUFZakMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBjaGVja09iamVjdEtleUV4aXN0cyxcbiAgZ2V0T2JqZWN0RnJvbUxvY2FsU3RvcmFnZSxcbiAgaXNOb3RFbXB0eVZhbHVlLFxuICBsb2dNZXRob2Rcbn0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5pbXBvcnQgeyBLd2lrVUlMb2FkZXJTZXJ2aWNlIH0gZnJvbSBcImt3aWt1aVwiO1xuaW1wb3J0IHsgY29udmVydEZvcm1MaXN0Q29uZmlnIH0gZnJvbSBcIi4vYnVpbGRlci5oZWxwZXJcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImt3aWtpZC1mb3Jtcy1idWlsZGVyXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYnVpbGRlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vc2hhcmVkLnNjc3NcIiwgXCIuL2J1aWxkZXIuY29tcG9uZW50LnNjc3NcIl1cbn0pXG5leHBvcnQgY2xhc3MgS3dpa0lERm9ybXNCdWlsZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgdXNlckNvbmZpZzogYW55ID0ge307XG5cbiAgZm9ybXNMaXN0ID0gW107XG5cbiAgYWN0aXZlRm9ybUNvbmZpZzogYW55ID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkZXJTZXJ2aWNlOiBLd2lrVUlMb2FkZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGZvcm1TdGVwS2V5ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmb3JtS2V5XCIpO1xuXG4gICAgaWYgKFxuICAgICAgaXNOb3RFbXB0eVZhbHVlKGZvcm1TdGVwS2V5KSAmJlxuICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHModGhpcy51c2VyQ29uZmlnLnVzZXJGb3JtRmllbGRzLCBmb3JtU3RlcEtleSlcbiAgICApIHtcbiAgICAgIHRoaXMuZm9ybXNMaXN0ID0gY29udmVydEZvcm1MaXN0Q29uZmlnKFxuICAgICAgICB0aGlzLnVzZXJDb25maWcudXNlckZvcm1GaWVsZHNbZm9ybVN0ZXBLZXldXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnVzZXJDb25maWcudXNlckZvcm1GaWVsZHMpKSB7XG4gICAgICB0aGlzLmZvcm1zTGlzdCA9IGNvbnZlcnRGb3JtTGlzdENvbmZpZyh0aGlzLnVzZXJDb25maWcudXNlckZvcm1GaWVsZHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGB1c2VyRm9ybUZpZWxkcyBkb2Vzbid0IGhhdmUgYSBmb3JtIGRlZmluZWQgd2l0aCBrZXk6ICR7Zm9ybVN0ZXBLZXl9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGFzeW5jIGZldGNoRm9ybUNvbmZpZyh1cmw6IHN0cmluZykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7IG1ldGhvZDogXCJHRVRcIiB9KTtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1zIExpc3QgTGlzdGVuZXJzXG4gICAqL1xuICBAbG9nTWV0aG9kXG4gIGhhbmRsZUdldEZvcm1zTGlzdChlOiBhbnkpIHtcbiAgICB0aGlzLmZvcm1zTGlzdCA9IGUuZm9ybXNMaXN0O1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBhc3luYyBoYW5kbGVPbkNsaWNrU2V0QWN0aXZlRm9ybShzZWxlY3RlZEZvcm1LZXk6IHN0cmluZykge1xuICAgIHRoaXMudG9nZ2xlTG9hZGVyKHRydWUpO1xuXG4gICAgY29uc3QgYWN0aXZlRm9ybUNvbmZpZyA9IHRoaXMuZm9ybXNMaXN0LmZpbmQoKGZvcm0pID0+IHtcbiAgICAgIHJldHVybiBmb3JtLmtleSA9PT0gc2VsZWN0ZWRGb3JtS2V5O1xuICAgIH0pO1xuXG4gICAgbGV0IGZvcm1Db25maWc6IGFueTtcblxuICAgIGlmIChnZXRPYmplY3RGcm9tTG9jYWxTdG9yYWdlKGFjdGl2ZUZvcm1Db25maWcua2V5KSkge1xuICAgICAgZm9ybUNvbmZpZyA9IGdldE9iamVjdEZyb21Mb2NhbFN0b3JhZ2UoYWN0aXZlRm9ybUNvbmZpZy5rZXkpO1xuICAgIH0gZWxzZSBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoYWN0aXZlRm9ybUNvbmZpZywgXCJwcm9wc1wiKSkge1xuICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGFjdGl2ZUZvcm1Db25maWcucHJvcHMsIFwidXJsXCIpKSB7XG4gICAgICAgIGNvbnN0IGZvcm1Db25maWdGcm9tVXJsID0gYXdhaXQgdGhpcy5mZXRjaEZvcm1Db25maWcoXG4gICAgICAgICAgYWN0aXZlRm9ybUNvbmZpZy5wcm9wcy51cmxcbiAgICAgICAgKTtcbiAgICAgICAgZm9ybUNvbmZpZyA9IHtcbiAgICAgICAgICAuLi5hY3RpdmVGb3JtQ29uZmlnLFxuICAgICAgICAgIC4uLmZvcm1Db25maWdGcm9tVXJsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLnByb3BzLCBcInBhdGhcIikgJiZcbiAgICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHModGhpcy51c2VyQ29uZmlnLCBcImJhY2tlbmRcIikgJiZcbiAgICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHModGhpcy51c2VyQ29uZmlnLmJhY2tlbmQsIFwiQ09ORklHX0JBU0VfVVJMXCIpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy51c2VyQ29uZmlnPy5iYWNrZW5kPy5DT05GSUdfQkFTRV9VUkx9JHthY3RpdmVGb3JtQ29uZmlnLnByb3BzLnBhdGh9YDtcbiAgICAgICAgY29uc3QgZm9ybUNvbmZpZ0Zyb21QYXRoID0gYXdhaXQgdGhpcy5mZXRjaEZvcm1Db25maWcodXJsKTtcbiAgICAgICAgZm9ybUNvbmZpZyA9IHtcbiAgICAgICAgICAuLi5hY3RpdmVGb3JtQ29uZmlnLFxuICAgICAgICAgIC4uLmZvcm1Db25maWdGcm9tUGF0aFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLCBcImZpZWxkc1wiKSkge1xuICAgICAgICBmb3JtQ29uZmlnID0gYWN0aXZlRm9ybUNvbmZpZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgXCJObyBEaXJlY3QgVVJMLCBObyBQYXRoIHdpdGggQmFzZSBVUkwsIE5vIGZpZWxkcyBrZXkgZm91bmQgaW4gQWN0aXZlIEZvcm0ncyBDb25maWchXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGFjdGl2ZUZvcm1Db25maWcsIFwiZm9ybUNvbnRlbnRcIikpIHtcbiAgICAgIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLmZvcm1Db250ZW50LCBcInVybFwiKSkge1xuICAgICAgICBjb25zdCBmb3JtQ29uZmlnRnJvbVVybCA9IGF3YWl0IHRoaXMuZmV0Y2hGb3JtQ29uZmlnKFxuICAgICAgICAgIGFjdGl2ZUZvcm1Db25maWcuZm9ybUNvbnRlbnQudXJsXG4gICAgICAgICk7XG4gICAgICAgIGZvcm1Db25maWcgPSB7XG4gICAgICAgICAgLi4uYWN0aXZlRm9ybUNvbmZpZyxcbiAgICAgICAgICAuLi5mb3JtQ29uZmlnRnJvbVVybFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHMoYWN0aXZlRm9ybUNvbmZpZy5mb3JtQ29udGVudCwgXCJwYXRoXCIpICYmXG4gICAgICAgIGNoZWNrT2JqZWN0S2V5RXhpc3RzKHRoaXMudXNlckNvbmZpZywgXCJiYWNrZW5kXCIpICYmXG4gICAgICAgIGNoZWNrT2JqZWN0S2V5RXhpc3RzKHRoaXMudXNlckNvbmZpZy5iYWNrZW5kLCBcIkNPTkZJR19CQVNFX1VSTFwiKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMudXNlckNvbmZpZz8uYmFja2VuZD8uQ09ORklHX0JBU0VfVVJMfSR7YWN0aXZlRm9ybUNvbmZpZy5wcm9wcy5wYXRofWA7XG4gICAgICAgIGNvbnN0IGZvcm1Db25maWdGcm9tUGF0aCA9IGF3YWl0IHRoaXMuZmV0Y2hGb3JtQ29uZmlnKHVybCk7XG4gICAgICAgIGZvcm1Db25maWcgPSB7XG4gICAgICAgICAgLi4uYWN0aXZlRm9ybUNvbmZpZyxcbiAgICAgICAgICAuLi5mb3JtQ29uZmlnRnJvbVBhdGhcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoYWN0aXZlRm9ybUNvbmZpZywgXCJmaWVsZHNcIikpIHtcbiAgICAgICAgZm9ybUNvbmZpZyA9IGFjdGl2ZUZvcm1Db25maWc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIFwiTm8gRGlyZWN0IFVSTCwgTm8gUGF0aCB3aXRoIEJhc2UgVVJMLCBObyBmaWVsZHMga2V5IGZvdW5kIGluIEFjdGl2ZSBGb3JtJ3MgQ29uZmlnIVwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLCBcImZpZWxkc1wiKSkge1xuICAgICAgZm9ybUNvbmZpZyA9IGFjdGl2ZUZvcm1Db25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIFwiTm8gRGlyZWN0IFVSTCwgTm8gUGF0aCB3aXRoIEJhc2UgVVJMLCBObyBmaWVsZHMga2V5IGZvdW5kIGluIEFjdGl2ZSBGb3JtJ3MgQ29uZmlnIVwiXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRm9ybUNvbmZpZyA9IHtcbiAgICAgIC4uLmFjdGl2ZUZvcm1Db25maWcsXG4gICAgICAuLi5mb3JtQ29uZmlnXG4gICAgfTtcblxuICAgIHRoaXMudG9nZ2xlTG9hZGVyKGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtIEVkaXRvciBMaXN0ZW5lcnNcbiAgICovXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWc6IGFueSkge1xuICAgIHRoaXMuYWN0aXZlRm9ybUNvbmZpZyA9IGFjdGl2ZUZvcm1Db25maWc7XG5cbiAgICB0aGlzLmZvcm1zTGlzdCA9IHRoaXMuZm9ybXNMaXN0Lm1hcCgoZm9ybTogYW55KSA9PiB7XG4gICAgICBpZiAoZm9ybS5rZXkgPT09IGFjdGl2ZUZvcm1Db25maWcua2V5KSB7XG4gICAgICAgIHJldHVybiBhY3RpdmVGb3JtQ29uZmlnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm07XG4gICAgfSk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIHRvZ2dsZUxvYWRlcihsb2FkZXIpIHtcbiAgICBpZiAobG9hZGVyKSB7XG4gICAgICB0aGlzLmxvYWRlclNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGZ1bGxzY3JlZW46IHRydWUsXG4gICAgICAgIGxvYWRlclRleHQ6IFwiUGxlYXNlIHdhaXRcIlxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGVyU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDxrd2lraWQtYnVpbGRlci1mb3Jtcy1saXN0XG4gICAgW2FjdGl2ZUZvcm1Db25maWddPVwidGhpcy5hY3RpdmVGb3JtQ29uZmlnXCJcbiAgICBbZm9ybXNMaXN0XT1cInRoaXMuZm9ybXNMaXN0XCJcbiAgICAoZ2V0Rm9ybXNMaXN0KT1cInRoaXMuaGFuZGxlR2V0Rm9ybXNMaXN0KCRldmVudClcIlxuICAgIChvbkNsaWNrU2V0QWN0aXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKCRldmVudClcIlxuICA+PC9rd2lraWQtYnVpbGRlci1mb3Jtcy1saXN0PlxuICA8a3dpa2lkLWJ1aWxkZXItZm9ybS1lZGl0b3JcbiAgICBbYWN0aXZlRm9ybUNvbmZpZ109XCJhY3RpdmVGb3JtQ29uZmlnXCJcbiAgICAob25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnKT1cIlxuICAgICAgdGhpcy5oYW5kbGVPbkNsaWNrU2F2ZUFjdGl2ZUZvcm1Db25maWcoJGV2ZW50KVxuICAgIFwiXG4gID48L2t3aWtpZC1idWlsZGVyLWZvcm0tZWRpdG9yPlxuPC9kaXY+XG5cbjxrd2lrdWktbG9hZGVyPjwva3dpa3VpLWxvYWRlcj5cbiJdfQ==
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2J1aWxkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvYnVpbGRlci9idWlsZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xGLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUMxQixNQUFNLDBDQUEwQyxDQUFDO0FBRWxELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQU96RCxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDLFlBQW1CLGFBQWtDO1FBQWxDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVRyRCxlQUFVLEdBQVEsRUFBRSxDQUFDO1FBR3JCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFFcEIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLHFCQUFnQixHQUFRLFNBQVMsQ0FBQztJQUVzQixDQUFDO0lBRXpELFFBQVE7O1FBQ04sSUFBSSxDQUFDLFNBQVMscUJBQVEsQ0FBQyxNQUFBLElBQUksQ0FBQyxTQUFTLG1DQUFJLEVBQUUsQ0FBQyxDQUFFLENBQUM7UUFDL0MsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sV0FBVyxHQUFHLHlCQUF5QixDQUMzQyxTQUFTLEVBQ1QsSUFBSSxDQUFDLFNBQVMsRUFDZCxhQUFhLENBQ2QsQ0FBQztRQUVG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SUFEQyxTQUFTO3FFQUdUO0FBR0Q7SUFEQyxTQUFTOzZFQXdGVDtBQU1EO0lBREMsU0FBUztvRkFVVDtBQUdEO0lBREMsU0FBUzsrREFVVDs0RkF4S1UsMkJBQTJCO2tCQUx2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFdBQVcsRUFBRSwwQkFBMEI7b0JBQ3ZDLFNBQVMsRUFBRSxDQUFDLGVBQWUsRUFBRSwwQkFBMEIsQ0FBQztpQkFDekQ7MEdBR0MsVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFtQ0EsZUFBZSxNQVVyQixrQkFBa0IsTUFLWiwwQkFBMEIsTUE2RmhDLGlDQUFpQyxNQVlqQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGNoZWNrT2JqZWN0S2V5RXhpc3RzLCBpc05vdEVtcHR5VmFsdWUsIGxvZ01ldGhvZCB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuaW1wb3J0IHtcbiAgcmVzb2x2ZUZvcm1zU3RvcmFnZUNvbmZpZyxcbiAgcmVzb2x2ZUZvcm1zU3RvcmFnZU9iamVjdCxcbiAgcmVzb2x2ZUZvcm1zU3RvcmFnZVN0cmluZ1xufSBmcm9tIFwiLi4vcmVuZGVyZXIvaGVscGVycy9mb3Jtcy1zdG9yYWdlLmhlbHBlclwiO1xuaW1wb3J0IHsgS3dpa1VJTG9hZGVyU2VydmljZSB9IGZyb20gXCJrd2lrdWlcIjtcbmltcG9ydCB7IGNvbnZlcnRGb3JtTGlzdENvbmZpZyB9IGZyb20gXCIuL2J1aWxkZXIuaGVscGVyXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJrd2lraWQtZm9ybXMtYnVpbGRlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2J1aWxkZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3NoYXJlZC5zY3NzXCIsIFwiLi9idWlsZGVyLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEt3aWtJREZvcm1zQnVpbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHVzZXJDb25maWc6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHJlZHV4RGF0YTogYW55ID0ge307XG5cbiAgZm9ybXNMaXN0ID0gW107XG5cbiAgYWN0aXZlRm9ybUNvbmZpZzogYW55ID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2FkZXJTZXJ2aWNlOiBLd2lrVUlMb2FkZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVkdXhEYXRhID0geyAuLi4odGhpcy5yZWR1eERhdGEgPz8ge30pIH07XG4gICAgY29uc3Qgc3RvcmFnZUNvbmZpZyA9IHJlc29sdmVGb3Jtc1N0b3JhZ2VDb25maWcodGhpcy51c2VyQ29uZmlnKTtcbiAgICBjb25zdCBmb3JtU3RlcEtleSA9IHJlc29sdmVGb3Jtc1N0b3JhZ2VTdHJpbmcoXG4gICAgICBcImZvcm1LZXlcIixcbiAgICAgIHRoaXMucmVkdXhEYXRhLFxuICAgICAgc3RvcmFnZUNvbmZpZ1xuICAgICk7XG5cbiAgICBpZiAoXG4gICAgICBpc05vdEVtcHR5VmFsdWUoZm9ybVN0ZXBLZXkpICYmXG4gICAgICBjaGVja09iamVjdEtleUV4aXN0cyh0aGlzLnVzZXJDb25maWcudXNlckZvcm1GaWVsZHMsIGZvcm1TdGVwS2V5KVxuICAgICkge1xuICAgICAgdGhpcy5mb3Jtc0xpc3QgPSBjb252ZXJ0Rm9ybUxpc3RDb25maWcoXG4gICAgICAgIHRoaXMudXNlckNvbmZpZy51c2VyRm9ybUZpZWxkc1tmb3JtU3RlcEtleV1cbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMudXNlckNvbmZpZy51c2VyRm9ybUZpZWxkcykpIHtcbiAgICAgIHRoaXMuZm9ybXNMaXN0ID0gY29udmVydEZvcm1MaXN0Q29uZmlnKHRoaXMudXNlckNvbmZpZy51c2VyRm9ybUZpZWxkcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHVzZXJGb3JtRmllbGRzIGRvZXNuJ3QgaGF2ZSBhIGZvcm0gZGVmaW5lZCB3aXRoIGtleTogJHtmb3JtU3RlcEtleX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXN5bmMgZmV0Y2hGb3JtQ29uZmlnKHVybDogc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHsgbWV0aG9kOiBcIkdFVFwiIH0pO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogRm9ybXMgTGlzdCBMaXN0ZW5lcnNcbiAgICovXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlR2V0Rm9ybXNMaXN0KGU6IGFueSkge1xuICAgIHRoaXMuZm9ybXNMaXN0ID0gZS5mb3Jtc0xpc3Q7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGFzeW5jIGhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKHNlbGVjdGVkRm9ybUtleTogc3RyaW5nKSB7XG4gICAgdGhpcy50b2dnbGVMb2FkZXIodHJ1ZSk7XG5cbiAgICBjb25zdCBhY3RpdmVGb3JtQ29uZmlnID0gdGhpcy5mb3Jtc0xpc3QuZmluZCgoZm9ybSkgPT4ge1xuICAgICAgcmV0dXJuIGZvcm0ua2V5ID09PSBzZWxlY3RlZEZvcm1LZXk7XG4gICAgfSk7XG5cbiAgICBsZXQgZm9ybUNvbmZpZzogYW55O1xuXG4gICAgdGhpcy5yZWR1eERhdGEgPSB7IC4uLih0aGlzLnJlZHV4RGF0YSA/PyB7fSkgfTtcbiAgICBjb25zdCBzdG9yYWdlQ29uZmlnID0gcmVzb2x2ZUZvcm1zU3RvcmFnZUNvbmZpZyh0aGlzLnVzZXJDb25maWcpO1xuICAgIGNvbnN0IGNhY2hlZEZvcm1Db25maWcgPSByZXNvbHZlRm9ybXNTdG9yYWdlT2JqZWN0KFxuICAgICAgYWN0aXZlRm9ybUNvbmZpZy5rZXksXG4gICAgICB0aGlzLnJlZHV4RGF0YSxcbiAgICAgIHN0b3JhZ2VDb25maWdcbiAgICApO1xuXG4gICAgaWYgKGNhY2hlZEZvcm1Db25maWcpIHtcbiAgICAgIGZvcm1Db25maWcgPSBjYWNoZWRGb3JtQ29uZmlnO1xuICAgIH0gZWxzZSBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoYWN0aXZlRm9ybUNvbmZpZywgXCJwcm9wc1wiKSkge1xuICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGFjdGl2ZUZvcm1Db25maWcucHJvcHMsIFwidXJsXCIpKSB7XG4gICAgICAgIGNvbnN0IGZvcm1Db25maWdGcm9tVXJsID0gYXdhaXQgdGhpcy5mZXRjaEZvcm1Db25maWcoXG4gICAgICAgICAgYWN0aXZlRm9ybUNvbmZpZy5wcm9wcy51cmxcbiAgICAgICAgKTtcbiAgICAgICAgZm9ybUNvbmZpZyA9IHtcbiAgICAgICAgICAuLi5hY3RpdmVGb3JtQ29uZmlnLFxuICAgICAgICAgIC4uLmZvcm1Db25maWdGcm9tVXJsXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLnByb3BzLCBcInBhdGhcIikgJiZcbiAgICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHModGhpcy51c2VyQ29uZmlnLCBcImJhY2tlbmRcIikgJiZcbiAgICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHModGhpcy51c2VyQ29uZmlnLmJhY2tlbmQsIFwiQ09ORklHX0JBU0VfVVJMXCIpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy51c2VyQ29uZmlnPy5iYWNrZW5kPy5DT05GSUdfQkFTRV9VUkx9JHthY3RpdmVGb3JtQ29uZmlnLnByb3BzLnBhdGh9YDtcbiAgICAgICAgY29uc3QgZm9ybUNvbmZpZ0Zyb21QYXRoID0gYXdhaXQgdGhpcy5mZXRjaEZvcm1Db25maWcodXJsKTtcbiAgICAgICAgZm9ybUNvbmZpZyA9IHtcbiAgICAgICAgICAuLi5hY3RpdmVGb3JtQ29uZmlnLFxuICAgICAgICAgIC4uLmZvcm1Db25maWdGcm9tUGF0aFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLCBcImZpZWxkc1wiKSkge1xuICAgICAgICBmb3JtQ29uZmlnID0gYWN0aXZlRm9ybUNvbmZpZztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgXCJObyBEaXJlY3QgVVJMLCBObyBQYXRoIHdpdGggQmFzZSBVUkwsIE5vIGZpZWxkcyBrZXkgZm91bmQgaW4gQWN0aXZlIEZvcm0ncyBDb25maWchXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGFjdGl2ZUZvcm1Db25maWcsIFwiZm9ybUNvbnRlbnRcIikpIHtcbiAgICAgIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLmZvcm1Db250ZW50LCBcInVybFwiKSkge1xuICAgICAgICBjb25zdCBmb3JtQ29uZmlnRnJvbVVybCA9IGF3YWl0IHRoaXMuZmV0Y2hGb3JtQ29uZmlnKFxuICAgICAgICAgIGFjdGl2ZUZvcm1Db25maWcuZm9ybUNvbnRlbnQudXJsXG4gICAgICAgICk7XG4gICAgICAgIGZvcm1Db25maWcgPSB7XG4gICAgICAgICAgLi4uYWN0aXZlRm9ybUNvbmZpZyxcbiAgICAgICAgICAuLi5mb3JtQ29uZmlnRnJvbVVybFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY2hlY2tPYmplY3RLZXlFeGlzdHMoYWN0aXZlRm9ybUNvbmZpZy5mb3JtQ29udGVudCwgXCJwYXRoXCIpICYmXG4gICAgICAgIGNoZWNrT2JqZWN0S2V5RXhpc3RzKHRoaXMudXNlckNvbmZpZywgXCJiYWNrZW5kXCIpICYmXG4gICAgICAgIGNoZWNrT2JqZWN0S2V5RXhpc3RzKHRoaXMudXNlckNvbmZpZy5iYWNrZW5kLCBcIkNPTkZJR19CQVNFX1VSTFwiKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMudXNlckNvbmZpZz8uYmFja2VuZD8uQ09ORklHX0JBU0VfVVJMfSR7YWN0aXZlRm9ybUNvbmZpZy5wcm9wcy5wYXRofWA7XG4gICAgICAgIGNvbnN0IGZvcm1Db25maWdGcm9tUGF0aCA9IGF3YWl0IHRoaXMuZmV0Y2hGb3JtQ29uZmlnKHVybCk7XG4gICAgICAgIGZvcm1Db25maWcgPSB7XG4gICAgICAgICAgLi4uYWN0aXZlRm9ybUNvbmZpZyxcbiAgICAgICAgICAuLi5mb3JtQ29uZmlnRnJvbVBhdGhcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoYWN0aXZlRm9ybUNvbmZpZywgXCJmaWVsZHNcIikpIHtcbiAgICAgICAgZm9ybUNvbmZpZyA9IGFjdGl2ZUZvcm1Db25maWc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIFwiTm8gRGlyZWN0IFVSTCwgTm8gUGF0aCB3aXRoIEJhc2UgVVJMLCBObyBmaWVsZHMga2V5IGZvdW5kIGluIEFjdGl2ZSBGb3JtJ3MgQ29uZmlnIVwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhhY3RpdmVGb3JtQ29uZmlnLCBcImZpZWxkc1wiKSkge1xuICAgICAgZm9ybUNvbmZpZyA9IGFjdGl2ZUZvcm1Db25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIFwiTm8gRGlyZWN0IFVSTCwgTm8gUGF0aCB3aXRoIEJhc2UgVVJMLCBObyBmaWVsZHMga2V5IGZvdW5kIGluIEFjdGl2ZSBGb3JtJ3MgQ29uZmlnIVwiXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuYWN0aXZlRm9ybUNvbmZpZyA9IHtcbiAgICAgIC4uLmFjdGl2ZUZvcm1Db25maWcsXG4gICAgICAuLi5mb3JtQ29uZmlnXG4gICAgfTtcblxuICAgIHRoaXMudG9nZ2xlTG9hZGVyKGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3JtIEVkaXRvciBMaXN0ZW5lcnNcbiAgICovXG4gIEBsb2dNZXRob2RcbiAgaGFuZGxlT25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnKGFjdGl2ZUZvcm1Db25maWc6IGFueSkge1xuICAgIHRoaXMuYWN0aXZlRm9ybUNvbmZpZyA9IGFjdGl2ZUZvcm1Db25maWc7XG5cbiAgICB0aGlzLmZvcm1zTGlzdCA9IHRoaXMuZm9ybXNMaXN0Lm1hcCgoZm9ybTogYW55KSA9PiB7XG4gICAgICBpZiAoZm9ybS5rZXkgPT09IGFjdGl2ZUZvcm1Db25maWcua2V5KSB7XG4gICAgICAgIHJldHVybiBhY3RpdmVGb3JtQ29uZmlnO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZvcm07XG4gICAgfSk7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIHRvZ2dsZUxvYWRlcihsb2FkZXIpIHtcbiAgICBpZiAobG9hZGVyKSB7XG4gICAgICB0aGlzLmxvYWRlclNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGZ1bGxzY3JlZW46IHRydWUsXG4gICAgICAgIGxvYWRlclRleHQ6IFwiUGxlYXNlIHdhaXRcIlxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGVyU2VydmljZS5oaWRlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gIDxrd2lraWQtYnVpbGRlci1mb3Jtcy1saXN0XG4gICAgW2FjdGl2ZUZvcm1Db25maWddPVwidGhpcy5hY3RpdmVGb3JtQ29uZmlnXCJcbiAgICBbZm9ybXNMaXN0XT1cInRoaXMuZm9ybXNMaXN0XCJcbiAgICAoZ2V0Rm9ybXNMaXN0KT1cInRoaXMuaGFuZGxlR2V0Rm9ybXNMaXN0KCRldmVudClcIlxuICAgIChvbkNsaWNrU2V0QWN0aXZlRm9ybSk9XCJ0aGlzLmhhbmRsZU9uQ2xpY2tTZXRBY3RpdmVGb3JtKCRldmVudClcIlxuICA+PC9rd2lraWQtYnVpbGRlci1mb3Jtcy1saXN0PlxuICA8a3dpa2lkLWJ1aWxkZXItZm9ybS1lZGl0b3JcbiAgICBbYWN0aXZlRm9ybUNvbmZpZ109XCJhY3RpdmVGb3JtQ29uZmlnXCJcbiAgICAob25DbGlja1NhdmVBY3RpdmVGb3JtQ29uZmlnKT1cIlxuICAgICAgdGhpcy5oYW5kbGVPbkNsaWNrU2F2ZUFjdGl2ZUZvcm1Db25maWcoJGV2ZW50KVxuICAgIFwiXG4gID48L2t3aWtpZC1idWlsZGVyLWZvcm0tZWRpdG9yPlxuPC9kaXY+XG5cbjxrd2lrdWktbG9hZGVyPjwva3dpa3VpLWxvYWRlcj5cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { checkObjectKeyExists, isObject } from "kwikid-toolkit";
|
|
2
|
+
import { resolveFormsStorageConfig, resolveFormsStorageString } from "../helpers/forms-storage.helper";
|
|
2
3
|
import { convertFormFieldTypeDateToKwikUIFormat } from "../form-view/helpers/form-view.fields.helper";
|
|
3
4
|
export const getFormFields = (formConfig) => {
|
|
4
5
|
let fields = [];
|
|
@@ -60,8 +61,9 @@ export const updateLanguage = (object, language) => {
|
|
|
60
61
|
}
|
|
61
62
|
return object;
|
|
62
63
|
};
|
|
63
|
-
export const getLanguage = () => {
|
|
64
|
-
var _a, _b, _c
|
|
65
|
-
|
|
64
|
+
export const getLanguage = (reduxData = {}, userConfig) => {
|
|
65
|
+
var _a, _b, _c;
|
|
66
|
+
const config = resolveFormsStorageConfig(userConfig);
|
|
67
|
+
return ((_c = (_a = resolveFormsStorageString("language", reduxData, config)) !== null && _a !== void 0 ? _a : (_b = config.language) === null || _b === void 0 ? void 0 : _b.fallback) !== null && _c !== void 0 ? _c : "en");
|
|
66
68
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWNvbnZlcnRlci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9jb25maWctY29udmVydGVyL2NvbmZpZy1jb252ZXJ0ZXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUMxQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXRHLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQWUsRUFBUyxFQUFFO0lBQ3RELElBQUksTUFBTSxHQUFVLEVBQUUsQ0FBQztJQUV2QixJQUFJLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFBRTtRQUNqRCxNQUFNLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7S0FDdEM7U0FBTSxJQUFJLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTtRQUNyRCxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztLQUM1QjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLEtBQVUsRUFDVixHQUFXLEVBQ1gsS0FBVSxFQUNMLEVBQUU7SUFDUCxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1FBQ3JDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7S0FDcEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBVSxFQUFFLEdBQVcsRUFBRSxLQUFVLEVBQU8sRUFBRTtJQUMzRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBRW5CLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFVLEVBQU8sRUFBRTtJQUNuRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFVLEVBQU8sRUFBRTtJQUNyRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFVLEVBQUUsS0FBYyxFQUFPLEVBQUU7SUFDdkUsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBTyxFQUFFO0lBQzVDLElBQUksb0JBQW9CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQ3RDOzs7V0FHRztRQUVILE9BQU8sc0NBQXNDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzFEO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFVLEVBQU8sRUFBRTtJQUM1QyxJQUFJLG9CQUFvQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtRQUN0Qzs7O1dBR0c7UUFFSCxPQUFPLHNDQUFzQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUMxRDtJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBVyxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUM5RCxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNwQixJQUFJLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDdEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDcEI7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUN6QixZQUFxQyxFQUFFLEVBQ3ZDLFVBQWdCLEVBQ1IsRUFBRTs7SUFDVixNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxPQUFPLENBQ0wsTUFBQSxNQUFBLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLG1DQUN4RCxNQUFBLE1BQU0sQ0FBQyxRQUFRLDBDQUFFLFFBQVEsbUNBQ3pCLElBQUksQ0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2hlY2tPYmplY3RLZXlFeGlzdHMsIGlzT2JqZWN0IH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5pbXBvcnQge1xuICByZXNvbHZlRm9ybXNTdG9yYWdlQ29uZmlnLFxuICByZXNvbHZlRm9ybXNTdG9yYWdlU3RyaW5nXG59IGZyb20gXCIuLi9oZWxwZXJzL2Zvcm1zLXN0b3JhZ2UuaGVscGVyXCI7XG5pbXBvcnQgeyBjb252ZXJ0Rm9ybUZpZWxkVHlwZURhdGVUb0t3aWtVSUZvcm1hdCB9IGZyb20gXCIuLi9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlclwiO1xuXG5leHBvcnQgY29uc3QgZ2V0Rm9ybUZpZWxkcyA9IChmb3JtQ29uZmlnOiBhbnkpOiBhbnlbXSA9PiB7XG4gIGxldCBmaWVsZHM6IGFueVtdID0gW107XG5cbiAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm1Db25maWcsIFwibXVsdGlGb3JtXCIpKSB7XG4gICAgZmllbGRzID0gZm9ybUNvbmZpZy5tdWx0aUZvcm0uZmllbGRzO1xuICB9IGVsc2UgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm1Db25maWcsIFwiZmllbGRzXCIpKSB7XG4gICAgZmllbGRzID0gZm9ybUNvbmZpZy5maWVsZHM7XG4gIH1cblxuICByZXR1cm4gZmllbGRzO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldE1pc3NpbmdGaWVsZEtleVZhbHVlID0gKFxuICBmaWVsZDogYW55LFxuICBrZXk6IHN0cmluZyxcbiAgdmFsdWU6IGFueVxuKTogYW55ID0+IHtcbiAgaWYgKCFjaGVja09iamVjdEtleUV4aXN0cyhmaWVsZCwga2V5KSkge1xuICAgIGZpZWxkW2tleV0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZmllbGQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0RmllbGRLZXlWYWx1ZSA9IChmaWVsZDogYW55LCBrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGFueSA9PiB7XG4gIGZpZWxkW2tleV0gPSB2YWx1ZTtcblxuICByZXR1cm4gZmllbGQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0RmllbGRLZXlIaWRkZW4gPSAoZmllbGQ6IGFueSk6IGFueSA9PiB7XG4gIHJldHVybiBzZXRNaXNzaW5nRmllbGRLZXlWYWx1ZShmaWVsZCwgXCJoaWRkZW5cIiwgZmFsc2UpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEZpZWxkS2V5RGlzYWJsZWQgPSAoZmllbGQ6IGFueSk6IGFueSA9PiB7XG4gIHJldHVybiBzZXRNaXNzaW5nRmllbGRLZXlWYWx1ZShmaWVsZCwgXCJkaXNhYmxlZFwiLCB0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRGaWVsZEFzRm9ybUVsZW1lbnQgPSAoZmllbGQ6IGFueSwgdmFsdWU6IGJvb2xlYW4pOiBhbnkgPT4ge1xuICByZXR1cm4gc2V0RmllbGRLZXlWYWx1ZShmaWVsZCwgXCJpc0Zvcm1FbGVtZW50XCIsIHZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRNaW5EYXRlID0gKGZpZWxkOiBhbnkpOiBhbnkgPT4ge1xuICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZmllbGQsIFwibWluXCIpKSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyB0byBoYW5kbGVyIG9sZCB2ZXJzaW9uIG9mIGNvbmZpZy5cbiAgICAgKiAgUGxlYXNlIGRvbid0IGFkZCBcIm1pblwiIGF0IGZpZWxkIGxldmVsLCBhZGQgaXQgaW5zaWRlciBmaWVsZC5wcm9wZXJ0aWVzIG9ubHkuXG4gICAgICovXG5cbiAgICByZXR1cm4gY29udmVydEZvcm1GaWVsZFR5cGVEYXRlVG9Ld2lrVUlGb3JtYXQoZmllbGQubWluKTtcbiAgfVxuICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWF4RGF0ZSA9IChmaWVsZDogYW55KTogYW55ID0+IHtcbiAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZpZWxkLCBcIm1heFwiKSkge1xuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgdG8gaGFuZGxlciBvbGQgdmVyc2lvbiBvZiBjb25maWcuXG4gICAgICogIFBsZWFzZSBkb24ndCBhZGQgXCJtYXhcIiBhdCBmaWVsZCBsZXZlbCwgYWRkIGl0IGluc2lkZXIgZmllbGQucHJvcGVydGllcyBvbmx5LlxuICAgICAqL1xuXG4gICAgcmV0dXJuIGNvbnZlcnRGb3JtRmllbGRUeXBlRGF0ZVRvS3dpa1VJRm9ybWF0KGZpZWxkLm1heCk7XG4gIH1cbiAgcmV0dXJuIHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZUxhbmd1YWdlID0gKG9iamVjdDogYW55LCBsYW5ndWFnZTogc3RyaW5nKSA9PiB7XG4gIGlmIChpc09iamVjdChvYmplY3QpKSB7XG4gICAgaWYgKGxhbmd1YWdlICYmIGNoZWNrT2JqZWN0S2V5RXhpc3RzKG9iamVjdCwgbGFuZ3VhZ2UpKSB7XG4gICAgICBvYmplY3QgPSBvYmplY3RbbGFuZ3VhZ2VdO1xuICAgIH0gZWxzZSB7XG4gICAgICBvYmplY3QgPSBvYmplY3QuZW47XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9iamVjdDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMYW5ndWFnZSA9IChcbiAgcmVkdXhEYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuICB1c2VyQ29uZmlnPzogYW55XG4pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBjb25maWcgPSByZXNvbHZlRm9ybXNTdG9yYWdlQ29uZmlnKHVzZXJDb25maWcpO1xuICByZXR1cm4gKFxuICAgIHJlc29sdmVGb3Jtc1N0b3JhZ2VTdHJpbmcoXCJsYW5ndWFnZVwiLCByZWR1eERhdGEsIGNvbmZpZykgPz9cbiAgICBjb25maWcubGFuZ3VhZ2U/LmZhbGxiYWNrID8/XG4gICAgXCJlblwiXG4gICk7XG59O1xuIl19
|