@stemy/ngx-dynamic-form 19.1.14 → 19.2.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/fesm2022/stemy-ngx-dynamic-form-ui-nebular.mjs +4 -4
- package/fesm2022/stemy-ngx-dynamic-form-ui-nebular.mjs.map +1 -1
- package/fesm2022/stemy-ngx-dynamic-form.mjs +858 -1661
- package/fesm2022/stemy-ngx-dynamic-form.mjs.map +1 -1
- package/ngx-dynamic-form/common-types.d.ts +109 -26
- package/ngx-dynamic-form/components/dynamic-form/dynamic-form.component.d.ts +21 -0
- package/ngx-dynamic-form/components/dynamic-form-array/dynamic-form-array.component.d.ts +9 -0
- package/ngx-dynamic-form/components/dynamic-form-chips/dynamic-form-chips.component.d.ts +7 -0
- package/ngx-dynamic-form/components/dynamic-form-field/dynamic-form-field.component.d.ts +6 -0
- package/ngx-dynamic-form/components/dynamic-form-fieldset/dynamic-form-fieldset.component.d.ts +7 -0
- package/ngx-dynamic-form/components/dynamic-form-group/dynamic-form-group.component.d.ts +6 -0
- package/ngx-dynamic-form/components/dynamic-form-upload/dynamic-form-upload.component.d.ts +7 -0
- package/ngx-dynamic-form/directives/async-submit.directive.d.ts +17 -23
- package/ngx-dynamic-form/ngx-dynamic-form.imports.d.ts +5 -9
- package/ngx-dynamic-form/ngx-dynamic-form.module.d.ts +13 -11
- package/ngx-dynamic-form/services/dynamic-form-builder.service.d.ts +27 -0
- package/ngx-dynamic-form/services/dynamic-form.service.d.ts +28 -46
- package/ngx-dynamic-form/utils/customizer.d.ts +5 -12
- package/ngx-dynamic-form/utils/decorators.d.ts +10 -0
- package/ngx-dynamic-form/utils/misc.d.ts +2 -4
- package/ngx-dynamic-form/utils/validation.d.ts +13 -0
- package/package.json +21 -16
- package/public_api.d.ts +13 -18
- package/ui-nebular/index.d.ts +1 -5
- package/common-types.d.ts +0 -37
- package/components/base/dynamic-base-form-array.component.d.ts +0 -38
- package/components/base/dynamic-base-form-control-container.component.d.ts +0 -39
- package/components/base/dynamic-base-form-control.component.d.ts +0 -26
- package/components/base/dynamic-base-form-group.component.d.ts +0 -25
- package/components/base/dynamic-base-form.component.d.ts +0 -46
- package/components/base/dynamic-base-select.component.d.ts +0 -15
- package/directives/async-submit.directive.d.ts +0 -31
- package/esm2020/ngx-dynamic-form/common-types.mjs +0 -2
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-array.component.mjs +0 -104
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.mjs +0 -127
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-control.component.mjs +0 -57
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form-group.component.mjs +0 -75
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-form.component.mjs +0 -182
- package/esm2020/ngx-dynamic-form/components/base/dynamic-base-select.component.mjs +0 -66
- package/esm2020/ngx-dynamic-form/directives/async-submit.directive.mjs +0 -116
- package/esm2020/ngx-dynamic-form/ngx-dynamic-form.imports.mjs +0 -26
- package/esm2020/ngx-dynamic-form/ngx-dynamic-form.module.mjs +0 -116
- package/esm2020/ngx-dynamic-form/services/dynamic-form.service.mjs +0 -615
- package/esm2020/ngx-dynamic-form/utils/creators.mjs +0 -67
- package/esm2020/ngx-dynamic-form/utils/customizer.mjs +0 -28
- package/esm2020/ngx-dynamic-form/utils/dynamic-editor.model.mjs +0 -14
- package/esm2020/ngx-dynamic-form/utils/dynamic-form-array.model.mjs +0 -128
- package/esm2020/ngx-dynamic-form/utils/dynamic-form-group.model.mjs +0 -26
- package/esm2020/ngx-dynamic-form/utils/dynamic-select.model.mjs +0 -59
- package/esm2020/ngx-dynamic-form/utils/form-select-subject.mjs +0 -26
- package/esm2020/ngx-dynamic-form/utils/form-subject.mjs +0 -29
- package/esm2020/ngx-dynamic-form/utils/misc.mjs +0 -47
- package/esm2020/ngx-dynamic-form/utils/validation-errors.mjs +0 -22
- package/esm2020/ngx-dynamic-form/utils/validators.mjs +0 -56
- package/esm2020/public_api.mjs +0 -21
- package/esm2020/stemy-ngx-dynamic-form.mjs +0 -5
- package/fesm2015/stemy-ngx-dynamic-form.mjs +0 -1927
- package/fesm2015/stemy-ngx-dynamic-form.mjs.map +0 -1
- package/fesm2020/stemy-ngx-dynamic-form.mjs +0 -1893
- package/fesm2020/stemy-ngx-dynamic-form.mjs.map +0 -1
- package/fesm2022/stemy-ngx-dynamic-form-src-ngx-dynamic-form-nebular.mjs +0 -50
- package/fesm2022/stemy-ngx-dynamic-form-src-ngx-dynamic-form-nebular.mjs.map +0 -1
- package/imports.d.ts +0 -12
- package/ngx-dynamic-form/components/base/dynamic-base-form-array.component.d.ts +0 -38
- package/ngx-dynamic-form/components/base/dynamic-base-form-control-container.component.d.ts +0 -39
- package/ngx-dynamic-form/components/base/dynamic-base-form-control.component.d.ts +0 -26
- package/ngx-dynamic-form/components/base/dynamic-base-form-group.component.d.ts +0 -25
- package/ngx-dynamic-form/components/base/dynamic-base-form.component.d.ts +0 -46
- package/ngx-dynamic-form/components/base/dynamic-base-select.component.d.ts +0 -15
- package/ngx-dynamic-form/services/dynamic-form-layout.service.d.ts +0 -7
- package/ngx-dynamic-form/utils/creators.d.ts +0 -18
- package/ngx-dynamic-form/utils/dynamic-editor.model.d.ts +0 -11
- package/ngx-dynamic-form/utils/dynamic-form-array.model.d.ts +0 -69
- package/ngx-dynamic-form/utils/dynamic-form-group.model.d.ts +0 -14
- package/ngx-dynamic-form/utils/dynamic-select.model.d.ts +0 -39
- package/ngx-dynamic-form/utils/form-select-subject.d.ts +0 -6
- package/ngx-dynamic-form/utils/form-subject.d.ts +0 -10
- package/ngx-dynamic-form/utils/validators.d.ts +0 -8
- package/ngx-dynamic-form.imports.d.ts +0 -12
- package/ngx-dynamic-form.module.d.ts +0 -21
- package/services/dynamic-form.service.d.ts +0 -61
- package/src/ngx-dynamic-form/nebular/imports.d.ts +0 -4
- package/src/ngx-dynamic-form/nebular/index.d.ts +0 -5
- package/src/ngx-dynamic-form/nebular/ngx-dynamic-form.nebular.module.d.ts +0 -9
- package/src/ngx-dynamic-form/nebular/public_api.d.ts +0 -1
- package/stemy-ngx-dynamic-form.d.ts +0 -5
- package/ui-nebular/public_api.d.ts +0 -1
- package/utils/creators.d.ts +0 -18
- package/utils/customizer.d.ts +0 -14
- package/utils/dynamic-editor.model.d.ts +0 -11
- package/utils/dynamic-form-array.model.d.ts +0 -69
- package/utils/dynamic-form-group.model.d.ts +0 -14
- package/utils/dynamic-select.model.d.ts +0 -39
- package/utils/form-select-subject.d.ts +0 -6
- package/utils/form-subject.d.ts +0 -10
- package/utils/misc.d.ts +0 -11
- package/utils/validation-errors.d.ts +0 -11
- package/utils/validators.d.ts +0 -8
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { Injector, NgModule } from "@angular/core";
|
|
2
|
-
import { CommonModule } from "@angular/common";
|
|
3
|
-
import { FormsModule, NG_VALIDATORS, ReactiveFormsModule } from "@angular/forms";
|
|
4
|
-
import { DYNAMIC_FORM_CONTROL_MAP_FN, DYNAMIC_VALIDATORS, DynamicFormService as BaseDynamicFormService } from "@ng-dynamic-forms/core";
|
|
5
|
-
import { NgxUtilsModule } from "@stemy/ngx-utils";
|
|
6
|
-
import { validateItemsMaxLength, validateItemsMaxValue, validateItemsMinLength, validateItemsMinValue, validateJSON, validatePhone, validateRequiredTranslation } from "./utils/validators";
|
|
7
|
-
import { DynamicFormService } from "./services/dynamic-form.service";
|
|
8
|
-
import { components, defaultFormControlProvider, directives, pipes } from "./ngx-dynamic-form.imports";
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "./components/base/dynamic-base-form.component";
|
|
11
|
-
import * as i2 from "./components/base/dynamic-base-form-array.component";
|
|
12
|
-
import * as i3 from "./components/base/dynamic-base-form-control.component";
|
|
13
|
-
import * as i4 from "./components/base/dynamic-base-form-control-container.component";
|
|
14
|
-
import * as i5 from "./components/base/dynamic-base-form-group.component";
|
|
15
|
-
import * as i6 from "./components/base/dynamic-base-select.component";
|
|
16
|
-
import * as i7 from "./directives/async-submit.directive";
|
|
17
|
-
export class NgxDynamicFormModule {
|
|
18
|
-
static forRoot(config) {
|
|
19
|
-
return {
|
|
20
|
-
ngModule: NgxDynamicFormModule,
|
|
21
|
-
providers: [
|
|
22
|
-
DynamicFormService,
|
|
23
|
-
{
|
|
24
|
-
provide: BaseDynamicFormService,
|
|
25
|
-
useExisting: DynamicFormService
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
provide: DYNAMIC_FORM_CONTROL_MAP_FN,
|
|
29
|
-
useFactory: (config?.controlProvider || defaultFormControlProvider),
|
|
30
|
-
deps: [Injector]
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
NgxDynamicFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxDynamicFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
-
NgxDynamicFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxDynamicFormModule, declarations: [i1.DynamicBaseFormComponent, i2.DynamicBaseFormArrayComponent, i3.DynamicBaseFormControlComponent, i4.DynamicBaseFormControlContainerComponent, i5.DynamicBaseFormGroupComponent, i6.DynamicBaseSelectComponent, i7.AsyncSubmitDirective], imports: [CommonModule,
|
|
38
|
-
FormsModule,
|
|
39
|
-
ReactiveFormsModule,
|
|
40
|
-
NgxUtilsModule], exports: [i1.DynamicBaseFormComponent, i2.DynamicBaseFormArrayComponent, i3.DynamicBaseFormControlComponent, i4.DynamicBaseFormControlContainerComponent, i5.DynamicBaseFormGroupComponent, i6.DynamicBaseSelectComponent, i7.AsyncSubmitDirective, FormsModule,
|
|
41
|
-
ReactiveFormsModule,
|
|
42
|
-
NgxUtilsModule] });
|
|
43
|
-
NgxDynamicFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxDynamicFormModule, providers: [
|
|
44
|
-
...pipes,
|
|
45
|
-
{ provide: NG_VALIDATORS, useValue: validateJSON, multi: true },
|
|
46
|
-
{ provide: NG_VALIDATORS, useValue: validateRequiredTranslation, multi: true },
|
|
47
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMinLength, multi: true },
|
|
48
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMaxLength, multi: true },
|
|
49
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMinValue, multi: true },
|
|
50
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMaxValue, multi: true },
|
|
51
|
-
{
|
|
52
|
-
provide: DYNAMIC_VALIDATORS,
|
|
53
|
-
useValue: new Map([
|
|
54
|
-
["json", validateJSON],
|
|
55
|
-
["requiredTranslation", validateRequiredTranslation],
|
|
56
|
-
["phone", validatePhone],
|
|
57
|
-
["itemsMinLength", validateItemsMinLength],
|
|
58
|
-
["itemsMaxLength", validateItemsMaxLength],
|
|
59
|
-
["itemsMinValue", validateItemsMinValue],
|
|
60
|
-
["itemsMaxValue", validateItemsMaxValue],
|
|
61
|
-
])
|
|
62
|
-
}
|
|
63
|
-
], imports: [[
|
|
64
|
-
CommonModule,
|
|
65
|
-
FormsModule,
|
|
66
|
-
ReactiveFormsModule,
|
|
67
|
-
NgxUtilsModule
|
|
68
|
-
], FormsModule,
|
|
69
|
-
ReactiveFormsModule,
|
|
70
|
-
NgxUtilsModule] });
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: NgxDynamicFormModule, decorators: [{
|
|
72
|
-
type: NgModule,
|
|
73
|
-
args: [{
|
|
74
|
-
declarations: [
|
|
75
|
-
...components,
|
|
76
|
-
...directives,
|
|
77
|
-
...pipes
|
|
78
|
-
],
|
|
79
|
-
imports: [
|
|
80
|
-
CommonModule,
|
|
81
|
-
FormsModule,
|
|
82
|
-
ReactiveFormsModule,
|
|
83
|
-
NgxUtilsModule
|
|
84
|
-
],
|
|
85
|
-
exports: [
|
|
86
|
-
...components,
|
|
87
|
-
...directives,
|
|
88
|
-
...pipes,
|
|
89
|
-
FormsModule,
|
|
90
|
-
ReactiveFormsModule,
|
|
91
|
-
NgxUtilsModule
|
|
92
|
-
],
|
|
93
|
-
providers: [
|
|
94
|
-
...pipes,
|
|
95
|
-
{ provide: NG_VALIDATORS, useValue: validateJSON, multi: true },
|
|
96
|
-
{ provide: NG_VALIDATORS, useValue: validateRequiredTranslation, multi: true },
|
|
97
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMinLength, multi: true },
|
|
98
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMaxLength, multi: true },
|
|
99
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMinValue, multi: true },
|
|
100
|
-
{ provide: NG_VALIDATORS, useValue: validateItemsMaxValue, multi: true },
|
|
101
|
-
{
|
|
102
|
-
provide: DYNAMIC_VALIDATORS,
|
|
103
|
-
useValue: new Map([
|
|
104
|
-
["json", validateJSON],
|
|
105
|
-
["requiredTranslation", validateRequiredTranslation],
|
|
106
|
-
["phone", validatePhone],
|
|
107
|
-
["itemsMinLength", validateItemsMinLength],
|
|
108
|
-
["itemsMaxLength", validateItemsMaxLength],
|
|
109
|
-
["itemsMinValue", validateItemsMinValue],
|
|
110
|
-
["itemsMaxValue", validateItemsMaxValue],
|
|
111
|
-
])
|
|
112
|
-
}
|
|
113
|
-
]
|
|
114
|
-
}]
|
|
115
|
-
}] });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWR5bmFtaWMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbmd4LWR5bmFtaWMtZm9ybS9uZ3gtZHluYW1pYy1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUF1QixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUNILDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIsa0JBQWtCLElBQUksc0JBQXNCLEVBRy9DLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLGFBQWEsRUFDYiwyQkFBMkIsRUFDOUIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFFLDBCQUEwQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7O0FBNkNyRyxNQUFNLE9BQU8sb0JBQW9CO0lBRTdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBaUM7UUFDNUMsT0FBTztZQUNILFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNQLGtCQUFrQjtnQkFDbEI7b0JBQ0ksT0FBTyxFQUFFLHNCQUFzQjtvQkFDL0IsV0FBVyxFQUFFLGtCQUFrQjtpQkFDbEM7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtv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TyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQzt3QkFDdEU7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLElBQUksR0FBRyxDQUF1QztnQ0FDcEQsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO2dDQUN0QixDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDO2dDQUNwRCxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUM7Z0NBQ3hCLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUM7Z0NBQzFDLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUM7Z0NBQzFDLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDO2dDQUN4QyxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsQ0FBQzs2QkFDM0MsQ0FBQzt5QkFDTDtxQkFDSjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBOR19WQUxJREFUT1JTLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtcclxuICAgIERZTkFNSUNfRk9STV9DT05UUk9MX01BUF9GTixcclxuICAgIERZTkFNSUNfVkFMSURBVE9SUyxcclxuICAgIER5bmFtaWNGb3JtU2VydmljZSBhcyBCYXNlRHluYW1pY0Zvcm1TZXJ2aWNlLFxyXG4gICAgVmFsaWRhdG9yLFxyXG4gICAgVmFsaWRhdG9yRmFjdG9yeVxyXG59IGZyb20gXCJAbmctZHluYW1pYy1mb3Jtcy9jb3JlXCI7XHJcbmltcG9ydCB7Tmd4VXRpbHNNb2R1bGV9IGZyb20gXCJAc3RlbXkvbmd4LXV0aWxzXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgdmFsaWRhdGVJdGVtc01heExlbmd0aCxcclxuICAgIHZhbGlkYXRlSXRlbXNNYXhWYWx1ZSxcclxuICAgIHZhbGlkYXRlSXRlbXNNaW5MZW5ndGgsXHJcbiAgICB2YWxpZGF0ZUl0ZW1zTWluVmFsdWUsXHJcbiAgICB2YWxpZGF0ZUpTT04sXHJcbiAgICB2YWxpZGF0ZVBob25lLFxyXG4gICAgdmFsaWRhdGVSZXF1aXJlZFRyYW5zbGF0aW9uXHJcbn0gZnJvbSBcIi4vdXRpbHMvdmFsaWRhdG9yc1wiO1xyXG5pbXBvcnQge0R5bmFtaWNGb3JtU2VydmljZX0gZnJvbSBcIi4vc2VydmljZXMvZHluYW1pYy1mb3JtLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtjb21wb25lbnRzLCBkZWZhdWx0Rm9ybUNvbnRyb2xQcm92aWRlciwgZGlyZWN0aXZlcywgcGlwZXN9IGZyb20gXCIuL25neC1keW5hbWljLWZvcm0uaW1wb3J0c1wiO1xyXG5pbXBvcnQge0lEeW5hbWljRm9ybU1vZHVsZUNvbmZpZ30gZnJvbSBcIi4vY29tbW9uLXR5cGVzXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgLi4uY29tcG9uZW50cyxcclxuICAgICAgICAuLi5kaXJlY3RpdmVzLFxyXG4gICAgICAgIC4uLnBpcGVzXHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE5neFV0aWxzTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgICAgLi4uZGlyZWN0aXZlcyxcclxuICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE5neFV0aWxzTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgLi4ucGlwZXMsXHJcbiAgICAgICAge3Byb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZVZhbHVlOiB2YWxpZGF0ZUpTT04sIG11bHRpOiB0cnVlfSxcclxuICAgICAgICB7cHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlVmFsdWU6IHZhbGlkYXRlUmVxdWlyZWRUcmFuc2xhdGlvbiwgbXVsdGk6IHRydWV9LFxyXG4gICAgICAgIHtwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VWYWx1ZTogdmFsaWRhdGVJdGVtc01pbkxlbmd0aCwgbXVsdGk6IHRydWV9LFxyXG4gICAgICAgIHtwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VWYWx1ZTogdmFsaWRhdGVJdGVtc01heExlbmd0aCwgbXVsdGk6IHRydWV9LFxyXG4gICAgICAgIHtwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VWYWx1ZTogdmFsaWRhdGVJdGVtc01pblZhbHVlLCBtdWx0aTogdHJ1ZX0sXHJcbiAgICAgICAge3Byb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZVZhbHVlOiB2YWxpZGF0ZUl0ZW1zTWF4VmFsdWUsIG11bHRpOiB0cnVlfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IERZTkFNSUNfVkFMSURBVE9SUyxcclxuICAgICAgICAgICAgdXNlVmFsdWU6IG5ldyBNYXA8c3RyaW5nLCBWYWxpZGF0b3IgfCBWYWxpZGF0b3JGYWN0b3J5PihbXHJcbiAgICAgICAgICAgICAgICBbXCJqc29uXCIsIHZhbGlkYXRlSlNPTl0sXHJcbiAgICAgICAgICAgICAgICBbXCJyZXF1aXJlZFRyYW5zbGF0aW9uXCIsIHZhbGlkYXRlUmVxdWlyZWRUcmFuc2xhdGlvbl0sXHJcbiAgICAgICAgICAgICAgICBbXCJwaG9uZVwiLCB2YWxpZGF0ZVBob25lXSxcclxuICAgICAgICAgICAgICAgIFtcIml0ZW1zTWluTGVuZ3RoXCIsIHZhbGlkYXRlSXRlbXNNaW5MZW5ndGhdLFxyXG4gICAgICAgICAgICAgICAgW1wiaXRlbXNNYXhMZW5ndGhcIiwgdmFsaWRhdGVJdGVtc01heExlbmd0aF0sXHJcbiAgICAgICAgICAgICAgICBbXCJpdGVtc01pblZhbHVlXCIsIHZhbGlkYXRlSXRlbXNNaW5WYWx1ZV0sXHJcbiAgICAgICAgICAgICAgICBbXCJpdGVtc01heFZhbHVlXCIsIHZhbGlkYXRlSXRlbXNNYXhWYWx1ZV0sXHJcbiAgICAgICAgICAgIF0pXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmd4RHluYW1pY0Zvcm1Nb2R1bGUge1xyXG5cclxuICAgIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IElEeW5hbWljRm9ybU1vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmd4RHluYW1pY0Zvcm1Nb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogTmd4RHluYW1pY0Zvcm1Nb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAgRHluYW1pY0Zvcm1TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEJhc2VEeW5hbWljRm9ybVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtU2VydmljZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBEWU5BTUlDX0ZPUk1fQ09OVFJPTF9NQVBfRk4sXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKGNvbmZpZz8uY29udHJvbFByb3ZpZGVyIHx8IGRlZmF1bHRGb3JtQ29udHJvbFByb3ZpZGVyKSxcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|